summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Clear OWNERS for factory/firmware branchfirmware-tidus-6301.109.BBrian Norris2021-09-102-10/+1
| | | | | | | | | | | | BUG=none TEST=none Change-Id: I0f03f432ada1064ffba9595be78ca7ab4d25ecd1 Signed-off-by: Brian Norris <briannorris@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3155263 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Owners-Override: Jora Jacobi <jora@google.com> Tested-by: Jack Rosenthal <jrosenth@chromium.org>
* lulu, cid : Change battery error LED behavior.Grover Yen2015-03-032-4/+8
| | | | | | | | | | | | | | | Change battery error LED behavior from "500ms on, 500ms off" to "1 second on, 3 seconds off" BUG=chrome-os-partner:35115 BRANCH=none TEST=Detach battery to simulate battery error and then confirm LED behavior. Change-Id: I16d469ca7ebe27a98a9c446951165827845f02c8 Signed-off-by: Grover Yen <Grover_Yen@wistron.com> Reviewed-on: https://chromium-review.googlesource.com/253987 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* lulu: Implement battery cut-off function.Grover Yen2015-02-251-3/+7
| | | | | | | | | | | | | Modify cut-off command to meet battery spec. BUG=chrome-os-partner:37028 BRANCH=none TEST=Apply "batterycutoff" command of ectool to confirm. Change-Id: I301555ea6709e3450e79f10e57a0ea4ca8276553 Signed-off-by: Grover Yen <Grover_Yen@wistron.com> Reviewed-on: https://chromium-review.googlesource.com/250232 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* cid: Implement battery cut-off function.Grover Yen2015-02-251-3/+7
| | | | | | | | | | | | | Modify cut-off command to meet battery spec. BUG=chrome-os-partner:37028 BRANCH=none TEST=Apply "batterycutoff" command of ectool to confirm. Change-Id: I09d60ac26edd52f266c4913dcd76e5dfc7841282 Signed-off-by: Grover Yen <Grover_Yen@wistron.com> Reviewed-on: https://chromium-review.googlesource.com/250227 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* lulu: Implement keyboard backlight control.Grover Yen2015-01-133-0/+18
| | | | | | | | | | | | | Apply PN6 for keyboard backlight. BUG=chrome-os-partner:35115 BRANCH=none TEST=make -j buildall, make -j tests Change-Id: Ie5b706f782c75854c44e104d88b7b3dd616bd1e0 Signed-off-by: Grover Yen <Grover_Yen@wistron.com> Reviewed-on: https://chromium-review.googlesource.com/238157 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* lulu: Implement LED control.Grover Yen2015-01-132-74/+29
| | | | | | | | | | | | | Implement LED control for lulu. BUG=chrome-os-partner:35115 BRANCH=none TEST=make -j buildall, make -j tests Change-Id: I792586118e18b74c42643a6dcfb1f66331c225cb Signed-off-by: Grover Yen <Grover_Yen@wistron.com> Reviewed-on: https://chromium-review.googlesource.com/238154 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* cid: Implement LED control.Grover Yen2015-01-132-74/+29
| | | | | | | | | | | | | Implement LED control for cid. BUG=chrome-os-partner:35115 BRANCH=none TEST=make -j buildall, make -j tests Change-Id: Ie86b2dd28c9c2d309d65bd09c16104e0d7817b6e Signed-off-by: Grover Yen <Grover_Yen@wistron.com> Reviewed-on: https://chromium-review.googlesource.com/238320 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* cid: Initial boardGrover Yen2015-01-078-0/+617
| | | | | | | | | | | | | Copy from auron with string changes. BUG=none BRANCH=none TEST=make -l buildall, make -j tests Change-Id: I1564891ecb8574e41104dced7700091708650d85 Signed-off-by: Grover Yen <Grover_Yen@wistron.com> Reviewed-on: https://chromium-review.googlesource.com/237979 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* lulu: Initial boardGrover Yen2015-01-078-0/+617
| | | | | | | | | | | | | Copy from auron with string changes. BUG=none BRANCH=none TEST=make -j buildall, make -j tests Change-Id: Ib9c894a7a06cd3840a66c448c49c848a8abc27b2 Signed-off-by: Grover Yen <Grover_Yen@wistron.com> Reviewed-on: https://chromium-review.googlesource.com/237686 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* Auron, Paine, Yuna: Modify the Tj max temperatureHsu Henry2015-01-053-3/+3
| | | | | | | | | | | | | The Tj max of Broadwell should be 105C. BUG=chrome-os-partner:34114 BRANCH=auron, paine, yuna TEST="iotools rdmsr 0 0x1a2" return 0x690000, the Tj max should be 105C. Change-Id: I3fe0a7a219761e259fef3b2571169561e08eb140 Signed-off-by: Henry Hsu <Henry.Hsu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/238131 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* Paine, Yuna: Upate thermal table v0 12Hsu Henry2015-01-052-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | on off RPM step0 0 step1 38 33 3200 step2 45 40 3700 step3 52 47 4000 step4 56 51 4400 step5 58 53 4900 step6 70 65 5500 step7 95 90 6500 ec shutdown point: 105 Where the temperature scale is celsius degree. BUG=chrome-os-partner:34418 BRANCH=paine, yuna TEST=Use the hacked code to return the fake temperature, check all the steps with yuna. The fan behavior works properly. Change-Id: Ibd2faecd47799bb66d4fafdda76f3db27814062a Signed-off-by: Henry Hsu <Henry.Hsu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/237641 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* Paine, Yuna: Fan table implement.Hsu Henry2014-12-124-6/+140
| | | | | | | | | | | | | | | | | | | | | | | Yuna, Paine define the thermal table for fan. The table is below: on off RPM step0 0 step1 43 37 3200 step2 48 43 3700 step3 52 47 4000 step4 56 51 4400 step5 60 55 4900 step6 70 65 5500 step7 95 90 6500 Where the temperature scale is celsius degree. BUG=chrome-os-partner:34418 BRANCH=paine, yuna TEST=Use the hacked code to return the fake temperature, check all the steps with yuna. The fan behavior works properly. Change-Id: Id4f5957d63a81046539bc96a95e30b6b022803fe Signed-off-by: Henry Hsu <Henry.Hsu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/233828 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* Paine, Yuna: Add 10ms delay between SUSP_VR and RSMRST#Hsu Henry2014-12-081-0/+3
| | | | | | | | | | | | | BUG=chrome-os-partner:34411 BRANCH=Paine, Yuna TEST=The offset between the two signals is around 13ms by using oscilloscope to measure it. Change-Id: I69677165e5ddea81d02464f5fcdee343862a733b Signed-off-by: Henry Hsu <Henry.Hsu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/233860 Reviewed-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* Yuna: Update battery spec for 54Wh battery.Hsu Henry2014-12-051-2/+23
| | | | | | | | | | | | | | Update the parameter from the spec for 54Wh battery. Use bat_id pin separate the two battery. BUG=chrome-os-partner:32709 BRANCH=yuna TEST=none Change-Id: I7bd4c61f1d02652d1010a3efcb3f985fb66adaad Signed-off-by: Henry Hsu <Henry.Hsu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/233116 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* Yuna: Update battery spec for 48Wh battery.Hsu Henry2014-12-032-8/+8
| | | | | | | | | | | | | | | Update the parameter from the spec for 48Wh battery. Also add the bat_id pin to identify 48Wh and 54Wh battries if yuna need the 54Wh battery pack. BUG=chrome-os-partner:32709 BRANCH=yuna TEST=none Change-Id: I7a04bf2b8c8b099d5202b6fdf23cd89aae4fd744 Signed-off-by: Henry Hsu <Henry.Hsu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/232173 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* Paine: keyboard fix to support old and new reset IC.Hsu Henry2014-11-201-0/+12
| | | | | | | | | | | | | | | Paine use newer keyboard reset ic. Some workaround is needed for old machine with old reset ic. BUG=chrome-os-partner:33806 BRANCH=paine TEST=flash the ec, the keys "3, e, d, c , ..." work in CrOS with old machine. Change-Id: I9167a3b0977013123e776b1cb71004e69d7dbb5a Signed-off-by: Henry Hsu <Henry.Hsu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/230981 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* Paine: invert the keyboard column 2Hsu Henry2014-11-201-0/+1
| | | | | | | | | | | | | Paine use newer keyboard reset ic. The keyboard column 2 should be inverted. BUG=chrome-os-partner:33806 BRANCH=paine TEST=none Change-Id: I922f51efac8e2d0a4bb33c603f0acf263cdef40f Signed-off-by: Henry Hsu <Henry.Hsu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/230980 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* Paine, Yuna: Make the blink point same as UI.Hsu Henry2014-11-142-6/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the led behavior based on customer SPEC. Also change some point based on UI. The UI use percentage = remaining capacity / full charge capacity. display percentage = (percentage - shutdown factor) / (full factor - shutdown factor) where shutdown factor = 0.04 and full factor = 0.97 . If AC plug in, the UI percentage will be 100% when display percnetage large than 97%. The approximate value is calculated below. UI 100% => the percnetage 0.965*0.93+0.04 = 0.93745. Use 937‰. UI 10% => the percentage 0.104*0.93+0.04 = 0.13672. Use 137‰. UI 3% => the percentage 0.034*.93+0.04 = 0.07016. Use 71‰. BUG=chrome-os-partner:32802 BRANCH=paine, yuna TEST=See below. UI % AC battery led note 100 in blue <=10 out amber 1s on/3s off low battery <=3 out amber 1s on/1s off critical low battery Change-Id: Ieff72771dbe7f8e21950be1fbfd2392129dd1ed2 Signed-off-by: Henry Hsu <Henry.Hsu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/227416 Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: Do not try to wake the battery after battery cut-offVic Yang2014-11-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When the battery cut-off command is issued with external power present, the battery can end up in one of the following two states: 1. The battery stays responsive but is waiting for the external power to go away. 2. The battery decides to cut itself off right away. In case 1, we are already avoiding charging the battery again, so we're good. However, in case 2, the charge state machine mistakenly thinks the battery is dead and tries to revive it. Fix this by checking if the battery is cut off before starting to revive it. BRANCH=None BUG=chrome-os-partner:33372 TEST=Cut off the battery with external power connected. Wait for a while and then disconnect external power. Check the battery is sure cut off. Repeat for several times. Change-Id: I9d0194446a87a47ef5c0024607a267aee3566268 Original-Change-Id: Icf343b168a556a490bc1786802a8a6e230863a28 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/227521 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/229161 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: math: use CONFIG_FPU when using float.Gwendal Grignou2014-11-114-1/+17
| | | | | | | | | | | | | | | | | | ifdef code than needs CONFIG_FPU (acos and friends) BRANCH=ToT BUG=chrome-os-partner:32050 TEST=define CONFIG_FPU on host board and use it. Change-Id: I6bb6c280e6f8af882b52e95c1b01dd26e31d286e Original-Change-Id: I1c4ed16c23450bb4059d26044f4c1fe45b33674e Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/226414 Reviewed-by: Alec Berg <alecaberg@chromium.org> Reviewed-by: Sheng-liang Song <ssl@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/229170 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: core: Add subcommands to MOTION_SENSE_CMDGwendal Grignou2014-11-112-6/+56
| | | | | | | | | | | | | | | | | | These subcommands allow accessing sensor (accel+gyro) over i2c. BRANCH=ToT BUG=chrome-os-partner:31071 TEST=Compile. Change-Id: Ic19aac1b6f54ef844e242c5d19dfe63bf8e49d9d Original-Change-Id: Ic6c3e9bf9c23f369de9f540c50daab7f2e4582ee Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/225653 Reviewed-on: https://chromium-review.googlesource.com/229156 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: usb: fix undefined USB endpointsVincent Palatin2014-11-111-4/+8
| | | | | | | | | | | | | | | | | | | | | | | When calling the ep_undefined function, the linker was not considering it as a Thumb function and not setting the LSB in the address pointer. This was causing an exception at runtime. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=all BUG=none TEST=inspect assembly Change-Id: I176e584d36b61edd6efd6a6064482f67872be6e6 Original-Change-Id: I8f4d1e351081032e138f593f0b61294031fc09b1 Reviewed-on: https://chromium-review.googlesource.com/226093 Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Commit-Queue: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/229160 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: it8380dev: add pwm control moduleDino Li2014-11-118-22/+294
| | | | | | | | | | | | | | | | | | | | | Add pwm control module for emulation board. Signed-off-by: Dino Li <dino.li@ite.com.tw> BRANCH=none BUG=none TEST=console manual test, pwm channels output correctly. Change-Id: Ic5144c07743f859c280dbc08ec6b42eff6e661cc Original-Change-Id: I6eb1a9e4fdcb9279e9d0cbd67f7a92afed21c889 Reviewed-on: https://chromium-review.googlesource.com/223921 Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Commit-Queue: Dino Li <dino.li@ite.com.tw> Tested-by: Dino Li <dino.li@ite.com.tw> Reviewed-on: https://chromium-review.googlesource.com/229109 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: MKBP event signalling implementationVic Yang2014-11-1111-1/+241
| | | | | | | | | | | | | | | | | | | | | | | | This implements a new API for EC modules to define MKBP event sources and send MKBP event to the AP. Also, a new host command EC_CMD_GET_NEXT_EVENT is added for the AP to query the pending MKBP events. Each event type may have custom event data sent along with the event. BRANCH=None BUG=chrome-os-partner:33194 TEST=Enable MKBP event on Ryu. Set a host event from EC console, run 'ectool nextevent', and see MKBP event 0x01 (HOST_EVENT) and the set host event. Change-Id: Ic3ceff8b5ff6f3d8df7b74b74d535112fe4c09fb Signed-off-by: Vic Yang <victoryang@chromium.org> Original-Change-Id: I28a1b7e826bcc102bbe39016c9bb3e37d125664c Reviewed-on: https://chromium-review.googlesource.com/224905 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/229107 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: EC: Ensure the udelay function waits at least the time indicated.Kenji Chen2014-11-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Udelay function might get delay less than the time indicated by the input parameter. udelay(4) sometimes get the tick like, 6->7->7-> 8->8->9->A and then the udelay return. But, the sampling point of 6 could be at the end of 6(close to 7) and the point of A could be right at the beginning of A(close to A). This function could get delay from (us - 1) to (us + 1). This change is to ensure the delay at least over the parameter, us. BRANCH=master BUG=None TEST=Build an EC FW iamge and run on Rambi to ensure at the time duration indicated by the parameter is elaspsed and satisfied. Signed-off-by: Kenji Chen <kenji.chen@intel.com> Original-Change-Id: I797f80c577d7e29e75a304aec1e02d2c750f8a23 Reviewed-on: https://chromium-review.googlesource.com/224660 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Mohammed Habibulla <moch@chromium.org> Change-Id: Iacd0485511e9e01325bd7b11943880ea067be795 Reviewed-on: https://chromium-review.googlesource.com/229154 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: EC:KBC: Wait until LPC host senses the IRQ and gets the character.Kenji Chen2014-11-111-1/+6
| | | | | | | | | | | | | | | | | | | BRANCH=master BUG=chrome-os-partner:29139 TEST=Buiid an EC FW image and run on Rambi to test if key loss is improved and any side effect somes with this change. Need more test units to confirm this. Signed-off-by: Kenji Chen <kenji.chen@intel.com> Original-Change-Id: I2399e33d2ca3defe8cd9b1f94ab0af1db7f84635 Reviewed-on: https://chromium-review.googlesource.com/225557 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Mohammed Habibulla <moch@chromium.org> Change-Id: Ia7acdbaec729f8ddff9228ebabbee716c012ba53 Reviewed-on: https://chromium-review.googlesource.com/229108 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: USB-console: Don't wait in interrupt contextsAnton Staaf2014-11-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the USB console code would wait for up to 30 ms for the USB packet buffer to become available for transmission, even if it was called from an interrupt context. This doesn't work because, even if we were OK with waiting this long in interrupt contexts, which we are not, we rightly assert that we are not in an interrupt context in task_wait_event, which usleep calls. This solution is a quick fix to only wait when not called from within an interrupt context. The correct solution is likely to decouple the printf code from directly calling the console driver code, instead we should place a queue between the driver and printf logic. Signed-off-by: Anton Staaf <robotboy@chromium.org> BRANCH=None BUG=None TEST=make buildall -j Enable USB console on discovery board and manually test. Change-Id: I8f6f820fefc970d84db2b637a1504193be4fd9ce Original-Change-Id: I5b6f7bbb77f75132c75935f8fda01e652a236ae0 Reviewed-on: https://chromium-review.googlesource.com/225867 Tested-by: Anton Staaf <robotboy@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Commit-Queue: Anton Staaf <robotboy@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/229155 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: usb: allow reading descriptors larger than 64 bytesVincent Palatin2014-11-111-29/+50
| | | | | | | | | | | | | | | | | | | | | | | | | When a control transfer requests a descriptor larger than 64 bytes, we need to do several IN transfers to get the proper packet sequence : SETUP IN IN IN .. IN OUT(null) Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=samus BUG=chrome-os-partner:32652 TEST=set USB_STR_VERSION to "012345678901234567890123456789ABCDEF", then do "lsusb -v" on the host and check the USB transfers with the protocol analyzer. Change-Id: I5ddeede41bd39acf3619a620c7046c9fcad5bc7a Original-Change-Id: I6940095008cb2a34c6896b337c5eda4fa267adc1 Reviewed-on: https://chromium-review.googlesource.com/222700 Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Todd Broch <tbroch@chromium.org> Commit-Queue: Vincent Palatin <vpalatin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/229151 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: usb: Groundwork for USB BOS & Billboard class descriptors.Todd Broch2014-11-114-3/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The BOS (Binary Device Object Store) descriptor was added to the USB specification (3.0) to allow a richer set of device capability specific descriptors. The Billboard class is meant to expose (read-only) the status of USB devices capable of alternate mode functions. It's required to use the BOS descriptor type and at a high level looks like: - BOS Device Descriptor (5bytes) - Container ID Device Capability Descriptor (20bytes) - Billboard Device Capability Descriptor (44byte + 4 * numSVIDs) This CL adds: 1. Ability for Get Descriptor on BOS descriptors. Note hidden behind CONFIG_USB_BOS as these descriptors change USB device requirements to: - bcdUSB >= 0201 - no interface descriptors 2. structures for all BOS, Container & Billboard descriptor elements complete w/ CamelCase. BRANCH=none BUG=chrome-os-partner:32652 TEST=compiles with CONFIG_USB & CONFIG_USB_BOS enabled. Change-Id: I86c8ab80d16837b1eeb71cf83d3319da79682b08 Original-Change-Id: I1b24bc728f2ebba7d91840801d2ebe576e240e7c Signed-off-by: Todd Broch <tbroch@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/221570 Reviewed-on: https://chromium-review.googlesource.com/229152 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: temp_metrics: add "--" when invoking ectool tmp006calSameer Nanda2014-11-111-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | ectool has switched over to using getopt for command line options parsing. This breaks temp_metrics' invocation of "ectool tmp006cal" command since some of the coefficients are negative and therefore start with "-". getopt treats that as another command line option causing ectool to barf. BUG=chromium:422160 TEST=On a Pixel issue "sudo start temp_metrics" and check /var/log/messages to ensure that no new messages such as "init: temp_metrics main process ended, respawning" show up. BRANCH=none Change-Id: I7c5a594908c20521f0eb2cbd81cdf001eb598df7 Original-Change-Id: I42232b3027ec6339814d226f1d8ab493e3420eea Signed-off-by: Sameer Nanda <snanda@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222845 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/229104 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: charge_manager: Add module for managing battery charge limitsShawn Nematbakhsh2014-11-113-0/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | charge_manager is intended to manage charge limits from various tasks (typically PD charge tasks and USB / BC 1.2 charge tasks). These tasks can update the charge limit of a port by calling charge_manager_update (thread-safe function). If the charge limit has changed, charge_manager_refresh will be queued as a deferred task, which will select the "best" charge port and set the proper charge limit. In order to use charge_manager, a board needs to do the following: 1. Declare PD_PORT_COUNT in usb_pd_config.h 2. Implement board_set_charge_limit 3. Implement board_set_active_charge_port 4. Call charge_manager_update whenever the available charge on a port changes. BUG=chrome-os-partner:31361 TEST=Manual on samus_pd, with subsequent commit. Insert and remove various chargers, check console to verify PD charger always has priority and correct current limit is set based upon 'best' charger. BRANCH=samus Change-Id: Icc189523190a7e69766f2afe9ab40ce9b2c042ab Original-Change-Id: Iede120b69e0b46ed329bcf9b7e07c39ba5e9f77b Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222723 Reviewed-by: Alec Berg <alecaberg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/229153 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: pi3usb9281: Add function for translating registers to current limitShawn Nematbakhsh2014-11-112-0/+25
| | | | | | | | | | | | | | | | | | | Decode Pericom registers to current limits. BUG=chrome-os-partner:32003 TEST=Manual on samus_pd. Insert 1A Apple charger, verify current limit is correctly detected as 1A. BRANCH=samus Change-Id: Ib78f6c32b73d4bb7fbbf3b1dd285dfdad8c67e78 Original-Change-Id: I310d9f22cef80e97c1734e6a56f0034ebe01df31 Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222638 Reviewed-by: Alec Berg <alecaberg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/229150 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: Paine, Yuna: Support force lid openHenry Hsu2014-11-063-1/+56
| | | | | | | | | | | | | | | | | Factory test process need lid switch no function or keep lid opened BUG=chrome-os-partner:33304 BRANCH=paine,yuna TEST=Run command "ectool forcelidopen 1" and "reboot". Then lid close quickly, the system boot as lid opened. Deault value or run command "ectool forcelidopen 0" make the device normal. Change-Id: I94527b7ef7f9efe779c6b86f3eab651f99af6000 Signed-off-by: Henry Hsu <Henry.Hsu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/220740 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/227363
* Paine: Update battery specHsu Henry2014-10-221-6/+6
| | | | | | | | | | | | | Update the parameter from the spec. BUG=chrome-os-partner:33083 BRANCH=paine TEST=flash ec, the "ectool batterycutoff" works with the two battery. Change-Id: Ifcdde2d9e2dd4fdaf3ffa2b5bb4c007fcdc3826e Signed-off-by: Henry Hsu <Henry.Hsu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/224598 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* Yuna, Paine: Kept the wifi power/radio state when suspendHsu Henry2014-10-212-0/+4
| | | | | | | | | | | | BUG=chrome-os-partner:32934 BRANCH=yuna,paine TEST=When suspend, check PP3300_WLAN_EN & WLAN_OFF_L are high by EC console. Change-Id: I6e2754457c629a5b6980b86df1c3469d4d42e479 Signed-off-by: Henry Hsu <Henry.Hsu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/224644 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* Paine, yuna: add flash tool supportHsu Henry2014-10-173-1/+12
| | | | | | | | | | | | | | | Add flash tool support for paine and yuna. Also remove i2c stress test suppurt. BUG=none BRANCH=paine,yuna TEST=Run "flash_ec --board paine" "flash_ec --board yuna" with servo board. Change-Id: I5a5468cffde7c2ae8c55f9d6ff1d8c6afe3b7c2e Signed-off-by: Henry Hsu <Henry.Hsu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/223227 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* Paine: add led support.Hsu Henry2014-10-141-8/+22
| | | | | | | | | | | | | | | | | | | | | | Implement the led behavior based on customer SPEC. BUG=chrome-os-partner:32802 BRANCH=paine TEST=See below. RSOC AC battery led note <97 in amber charging >=97 in blue near full/idle <97 out off discharge >=10 <10 out amber 1s on/3s off low battery <3 out amber 1s on/1s off critical low battery Run "ectool chargecontrol idle" make the led "2s on amber, 2s on blue". Disconnect the battery, the led "amber 1s on/1s off". Change-Id: Id0dc3dc0507309ee050d760fc50344ef64688d73 Signed-off-by: Henry Hsu <Henry.Hsu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/223014 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* Yuna: add led support.Hsu Henry2014-10-131-8/+22
| | | | | | | | | | | | | | | | | | | | | | | Implement the led behavior based on customer SPEC. BUG=chrome-os-partner:32802 BRANCH=yuna TEST=See below. RSOC AC battery led note <97 in amber charging >=97 in blue near full/idle <97 out off discharge >=10 <10 out amber 1s on/3s off low battery <3 out amber 1s on/1s off critical low battery Run "ectool chargecontrol idle" make the led "2s on amber, 2s on blue". Disconnect the battery, the led "amber 1s on/1s off". Change-Id: I047a52dacf87935ea9e04be8b7fbb1695d32edb2 Signed-off-by: Henry Hsu <Henry.Hsu@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/223050 Reviewed-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: Disable LEARN option during charger initMohammed Habibulla2014-10-105-1/+35
| | | | | | | | | | | | | | | | | When charger is initialized disable the LEARN option i.e. reenable charging on AC power BUG=chrome-os-partner:32320 TEST=set DUT to discharge on AC and then reflash EC. Ensure that charging begins again. BRANCH=none Change-Id: Icb28d25416ae8bd573f904387885ae6d86130881 Original-Change-Id: I3e83db27ab49548d5491548fa624899865c11bfb Signed-off-by: Mohammed Habibulla <moch@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222644 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222865
* CHERRY-PICK: Slow down time when running unit testsVic Yang2014-10-103-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | When a timing sensitive test run on a heavily loaded system, sometimes a task runs for longer than it usually does and causes the test to fail. All the timing requirements in the unit tests are trying to verify the various delays in our codebase, and mostly we don't care about the time taken by active running code (as they are very quick.) To improve the stability of tests, let's slow down the time. To a test, it's as if the code runs faster. If a test uses udelay() and exceeds the 10-second time limit, we can make that single test faster by setting the time scale. BUG=None TEST=Repeatedly run 'make runtests' BRANCH=None Change-Id: Ie890e16310197a46c9c0f0f81f73a1b307d9ecdc Original-Change-Id: I9bc5c77e0d34d04c8630d495387a751ef29c7bd5 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/220717 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222870 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: Don't hibernate on low battery if hiberante is not supportedVic Yang2014-10-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | If CONFIG_HIBERNATE is explicitly undefined for a board, the EC shouldn't hibernate when the battery is running low. Otherwise, the EC reboots because of the lack of hibernate support, and this actually burns more power. BUG=chrome-os-partner:32727, chrome-os-partner:32779 TEST=Drain the battery to 2% and verify the EC is behaving. BRANCH=None Change-Id: Ia614590a30bf27bf1a57870ffb430b909bd75ee8 Original-Change-Id: I2f9f5fd8fb4b5be4d8da113da4ef26c062869a07 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222615 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222859 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: ectool: Add hostcmd support to set fan duty cycle for each fan ↵Mohammed Habibulla2014-10-103-16/+86
| | | | | | | | | | | | | | | | | | separately ectool fanduty <percent> - set all fans to <percent> duty cycle ectool fanduty <fan> <percent> - set <fan> to <percent> duty cycle BUG=chrome-os-partner:23803 TEST=Tested the above EC commands on Auron BRANCH=none Change-Id: I4864b7bd65076ec480e5657daefaf165110f3976 Original-Change-Id: I06ca1552bd8f3412f6e90245da302c9f86ab6103 Signed-off-by: Mohammed Habibulla <moch@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/221505 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222863
* CHERRY-PICK: ectool: hostcmd support to set fans auto control individuallyMohammed Habibulla2014-10-103-20/+66
| | | | | | | | | | | | | | | ectool autofanctrl 1 - set auto fan control for fan 1 BUG=chrome-os-partner:23803 TEST=Tested the above EC command on Auron BRANCH=none Change-Id: I25e33b1d7c89f66d2559f3740c7ebe654a57c83d Original-Change-Id: Idcd3690ad98d7965420f26f7cc445207fe73704d Signed-off-by: Mohammed Habibulla <moch@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/221816 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222871
* CHERRY-PICK: ectool: Fix help string for pwmsetfanrpmMohammed Habibulla2014-10-101-2/+2
| | | | | | | | | | | | BUG=none TEST='ectool pwmsetfanrpm' prints correct help command BRANCH=none Change-Id: Ia2fc80f68c6c73d6fa7348e7f1630f70df4450be Original-Change-Id: I6b1ecc7a581bb916563177f878f6361841e3ed90 Signed-off-by: Mohammed Habibulla <moch@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/221957 Reviewed-on: https://chromium-review.googlesource.com/222864
* CHERRY-PICK: ectool: replace thermal_threshold_version with ↵Mohammed Habibulla2014-10-101-58/+12
| | | | | | | | | | | | | | | ec_cmd_version_supported BUG=none TEST='ectool thermalget' works as expected BRANCH=none Change-Id: I31cd96996c1027308557285c4aa27419185dd2cd Original-Change-Id: Ie225ef0aaeae913162e8cd6c56193dedd9f56f2f Signed-off-by: Mohammed Habibulla <moch@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/221745 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222872
* CHERRY-PICK: ectool: add new host command to get number of fansMohammed Habibulla2014-10-101-8/+33
| | | | | | | | | | | | | BUG=chrome-os-partner:23803 TEST="ectool pwmgetnumfans" returns correct number of fans on Auron BRANCH=none Change-Id: I241d4417a9d8deeaec2d7ec40753b5f429cf5950 Original-Change-Id: I2a1930a8f0965b08558bfb3c6424c571a6149bbb Signed-off-by: Mohammed Habibulla <moch@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/220960 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222861
* CHERRY-PICK: ectool: Add host command support to set fan RPM for each fan ↵Mohammed Habibulla2014-10-103-21/+96
| | | | | | | | | | | | | | | | | | | | | separately First case is for legacy support ectool pwmsetfanrpm <targetrpm> - set all fans to <targetrpm> ectool pwmsetfanrpm <fan> <targetrpm> - set <fan> to <targetrpm> BUG=chrome-os-partner:23803 TEST=Tested the above EC commands on Auron BRANCH=none CQ-DEPEND=CL:220960 Change-Id: I5d63fd9cb6d24882ce2f197dc47111b9092c6853 Original-Change-Id: I8f447f53289abaa9c5cc1285f9f0921328fbf32c Signed-off-by: Mohammed Habibulla <moch@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/221291 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222862
* CHERRY-PICK: ectool: Fix fanduty helpMohammed Habibulla2014-10-101-1/+1
| | | | | | | | | | | | | BUG=none BRANCH=none TEST=none Change-Id: I21ef415363f20369dae0f202cd84e9384aeecfd4 Original-Change-Id: Iff09a24064d4245d2660dd307084cd701d03676b Signed-off-by: Mohammed Habibulla <moch@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/221202 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222857
* CHERRY-PICK: Allow to disable default DMA interrupt handlersVincent Palatin2014-10-102-0/+5
| | | | | | | | | | | | | | | | | | | | | | The default DMA interrupt handlers are somewhat slow and not really flexible, allow to override them in board if needed. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=none TEST=none Change-Id: Id0ba824a15f132b57c1e38ed58a33fbed43e5b8c Original-Change-Id: I909bfab265ccaa4f3b61d0a2a69bf7dfc0414be2 Reviewed-on: https://chromium-review.googlesource.com/215671 Reviewed-by: Alec Berg <alecaberg@chromium.org> Commit-Queue: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222848 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>
* CHERRY-PICK: charge_state_v2: Send host event if charge state changesDuncan Laurie2014-10-102-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If there is any delay between AC status and the battery charge status it is possible for the power_manager to read the battery state when the AC status event is sent and still see that the battery is not yet charging. This can cause lag in the UI battery icon because the AP is not notified when the battery charge state changes. In order for the host to be able to differentiate the dynamic battery state changing (re-read ACPI _BST by sending Notify 0x80) from the static battery info (re-read ACPI _BIX/_BIF by sending Notify 0x81) it needs a separate host event. BUG=chrome-os-partner:32196 BRANCH=samus TEST=Test AC instertion and removal while watching state on the host to ensure that an event is sent to the host which triggers power manager to re-read the battery status and notice that the charge state has changed if there is any delay after the AC status event: watch -n 0.1 "cat /sys/class/power_supply/AC/online; cat /sys/class/power_supply/BAT0/status; tail -10 /var/log/power_manager/powerd.LATEST" Change-Id: I304a326053a0b7b53a1364138bb6c5eccbf00957 Original-Change-Id: I18ce70719dc231c43c474cefad2068f949675a2b Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/220257 Reviewed-by: Alec Berg <alecaberg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222849 Reviewed-by: Mohammed Habibulla <moch@chromium.org> Commit-Queue: Mohammed Habibulla <moch@chromium.org> Tested-by: Mohammed Habibulla <moch@chromium.org>