summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* asurada: add least to boot AP battery percentstabilize-14029.B-mainEric Yilun Lin2021-06-151-0/+1
| | | | | | | | | | | | | | BUG=none TEST=make BARDO=hayato BRANCH=asurada Change-Id: I82be5b51508c91077f26fd014a666a7db4769ee8 Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2954987 Tested-by: Eric Yilun Lin <yllin@google.com> Auto-Submit: Eric Yilun Lin <yllin@google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* asurada: enable HOST_SLEEP_STATE to smooth suspend trasnsitionEric Yilun Lin2021-06-152-0/+73
| | | | | | | | | | | | | | | | | | | | | | | MT8192 previously didn't enable the command due to it already has AP_IN_SLEEP_L, but we found that if we don't have the command, EC might have rare chance to interrupt AP with hostevent when AP in transition to S3, and cause the suspend failure. This CL enables CONFIG_POWER_TRACK_HOST_SLEEP_STATE so the EC is able to handle the AP's hint to disable non-wakeup hostevent when it's transisting to S3. BUG=b:186709406 TEST=ensure EC received the AP's note BRANCH=asurada Change-Id: I7a2a7eefc7620817ca446fd24370375130daf6be Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2954984 Tested-by: Eric Yilun Lin <yllin@google.com> Auto-Submit: Eric Yilun Lin <yllin@google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* zephyr: shim: move mpu code under core/cortex-mFabio Baltieri2021-06-143-1/+1
| | | | | | | | | | | | | | The MPU code is cortex-m specific, so move it out of shim/src and into shim/core/cortex-m. BRANCH=none BUG=b:180039888 TEST=build & run on volteer Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: Ic77d6f58751822e3dad461f9236f5b43da764164 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2961189 Reviewed-by: Yuval Peress <peress@chromium.org>
* zephyr: shim: add mpu enable and disable supportFabio Baltieri2021-06-143-56/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for allowing the EC code to control the MPU setup. ECOS code used to handle configuration as well as MPU enable/disable. Zephyr has its own way of handling MPU configuration, so that part of the EC code is compiled out, instead make sure that the fixed MPU regions (that cover code & data) are disabled before the EC code starts, and then enable them when mpu_enable() is called Zephyr APIs do not expose any memory protection funciontality outside of the arch specific code, so this sets the MPU regiers directly. That's not very elegant, but it's done in a sample application as well [1], so it should be an acceptable approach. Disabling the MPU unit entirely could also be an option, but only doing the fixed regions has the advantage of leaving the stack protection and null pointer detection regions enabled. [1] https://github.com/zephyrproject-rtos/zephyr/blob/main/samples/application_development/code_relocation/src/main.c BRANCH=none BUG=b:180039888 TEST=actually tried to write in the static region, verified it fauls after sysjump disable Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: I020c347e5f1b929500d4cf1c4c400dcd67e78dfa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2950168 Reviewed-by: Yuval Peress <peress@chromium.org>
* guybrush: Add PS8811 driverRob Barnes2021-06-146-6/+92
| | | | | | | | | | | | | | | Add PS8811 USB A retimer driver. Reusing USB mux structure even though the retimer does not have a mux. BUG=b:176987937 TEST=Build and run BRANCH=None Signed-off-by: Rob Barnes <robbarnes@google.com> Change-Id: Ie11a105f344e6acc1312cda517fdfe54ecb8c8ea Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2946307 Commit-Queue: Diana Z <dzigterman@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* PCHG: Flash multiple binaries in one update sessionDaisuke Nojiri2021-06-141-39/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CTN730 firmware consists of separate binaries and currently each binary is flashed in a separate session. This does not work if two binaries need to be updated at the same time because each session writes a new version (after closing the session) and CTN730 refuses to open a session if the version number is the same. This patch makes ectool write multiple binaries in one update session. Example session: localhost ~ # ectool pchg 0 update 0x1041 0x201200 /tmp/user_ee.bin \ 0x207000 /tmp/WLC_Host_UserApp_CRC.bin Opened update session (port=0 ver=0x1041 bsize=128): Writing /tmp/user_ee.bin (3072 bytes). ******************************************************************** Writing /tmp/WLC_Host_UserApp_CRC.bin (90624 bytes). ******************************************************************** Firmware is updated successfully (CRC32=0x5ef03e4d). localhost ~ # ectool pchg 0 reset Reset port 0 complete. localhost ~ # ectool pchg 0 State: ENABLED (2) Battery: 0% Errors: 0x0 FW Version: 0x1041 Dropped events: 0 BUG=b:182600604, b:173235954 BRANCH=trogdor TEST=See the description above. Change-Id: I554ae560947e896ae73979c85d637f32d3e114af Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2952836 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* flash_ec: support servo_v4p1_with_servo_microEric Yilun Lin2021-06-121-5/+7
| | | | | | | | | | | | | | | | | | There were some glob issues in the code so it can't flash with the servo_v4p1_with_servo_micro config. BUG=none TEST=flash_ec to hayato with servo_v4p1_with_servo_micro and servo_v4_with_servo_micro BRANCH=none Change-Id: If8fcb3046e4eeb492eac3a981484b7fbc276bcf5 Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2954985 Tested-by: Eric Yilun Lin <yllin@google.com> Auto-Submit: Eric Yilun Lin <yllin@google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Eric Yilun Lin <yllin@google.com>
* flash_fp_mcu: Add debug spi bytes activityCraig Hesling2021-06-121-0/+33
| | | | | | | | | | | | | | | | | | | | In an effort to understand why we see "Device or resource busy" when binding the raw spidev driver, we add a few byte count prints to indicate if spi activity occurred between certain operations. This should be removed when a fix for the linked bug is determined. BRANCH=none BUG=b:190744837 TEST=# On Hatch and Zork scp util/flash_fp_mcu ${DUT_HOSTNAME}:/usr/local/bin/flash_fp_mcu ssh ${DUT_HOSTNAME} flash_fp_mcu --hello Signed-off-by: Craig Hesling <hesling@chromium.org> Change-Id: I400ca76ee3451f1e155d7912a7c25613d9f68846 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2954304 Reviewed-by: Patryk Duda <patrykd@google.com> Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
* flash_fp_mcu: Abort if raw driver bind failsCraig Hesling2021-06-121-0/+5
| | | | | | | | | | | | | | | | This helps simplify the errors being reported. BRANCH=none BUG=b:190744837 TEST=# On Hatch and Zork scp util/flash_fp_mcu ${DUT_HOSTNAME}:/usr/local/bin/flash_fp_mcu ssh ${DUT_HOSTNAME} flash_fp_mcu --hello Change-Id: I74d57ec0d7fc4bda3fae144fe649124af5c61ba9 Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2954919 Reviewed-by: Patryk Duda <patrykd@google.com> Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
* bb_retimer: Reduce retry delay to 10msCaveh Jalali2021-06-121-2/+2
| | | | | | | | | | | | | | | | This reduces the delay between poll intervals of the burnside bridge register accesses. A 10 ms delay is typically sufficient to achieve a successful register read if the first register read failed. BRANCH=none BUG=none TEST=with added timestamps, observed register accesses succeed after a 10ms delay. Change-Id: I33941b26ef093b0a6c2f38d1f5223991c9b9d4ba Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2955609 Reviewed-by: Boris Mittelberg <bmbm@google.com>
* brya: Check burnside bridge RESET signal statusCaveh Jalali2021-06-121-0/+14
| | | | | | | | | | | | | | | | | | This adds a level check of the burnside bridge reset signal GPIO. The signal is connected to a GPIO on the nct3808 which becomes uncontrollable when a debug accessory is connected and forces the BB into reset. We can check for this case by reading back the level of the GPIO and return an error when the desired signal level has not been achieved. BRANCH=none BUG=b:181743576,b:188826559 TEST=buildall passes, PD still works on brya Change-Id: Ia21cbc699f857542600cc5946868e9c58cfa6cf9 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2955608 Reviewed-by: Boris Mittelberg <bmbm@google.com>
* bb_retimer: Return status from bb_retimer_power_handle()Caveh Jalali2021-06-126-10/+18
| | | | | | | | | | | | | | | | | | | | | | | This allows the implementation of bb_retimer_power_handle() to return a status value indicating whether the request was successful. The default implementation simply controls a GPIO and is expected to succeed unconditionally. More complex implementations may run into failure cases that leave the BB unreachable. When this happens, device initialization returns an error so the caller can take mitigating action. USB MUX operations tend to be called from timing sensitive code paths in the TCPM, so careful error handling helps avoid cascading problems like PD negotiation failures. BRANCH=none BUG=b:181743576,b:188826559 TEST=buildall passes, PD still works on brya Change-Id: If79078be26e47d758e2cd6cc385ff2b34fecff63 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2954198 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Boris Mittelberg <bmbm@google.com>
* brya: Implement board_is_dts_portCaveh Jalali2021-06-111-0/+5
| | | | | | | | | | | | | | | | | Brya only has one DTS (CCD) port. We do not want debug accessory support enabled on non-CCD ports as that can have undesirable side-effects. In particular, with debug accessory support enabled on the nct38xx TCPC, some of its GPIOs revert to their primary function in the presence of a debug accessory resulting in undesirable system behavior. BRANCH=none BUG=b:188851792 TEST=brya only reports "Debug accessory detected" on C0 Change-Id: I1cfaf9b51df8e6783db0215fbc6f3cac9e2dd9f1 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2954197 Reviewed-by: Boris Mittelberg <bmbm@google.com>
* Limozeen: buck IC solutionSue Chen2021-06-113-43/+52
| | | | | | | | | | | | | | | | | LAZOR model uses DA9313. The other model uses I2C to check that the dut has LN9310 or buck IC. Set VBOB_EN instead of SWITCH_ON_L for buck IC. BUG=b:190250108 BRANCH=trogdor TEST=Make sure dut can power on. Signed-off-by: Sue Chen <sue.chen@quanta.corp-partner.google.com> Change-Id: Ib70d7e37323747e270c44658bb38ccfa48532a80 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2943986 Reviewed-by: Wai-Hong Tam <waihong@google.com> Tested-by: Wai-Hong Tam <waihong@google.com> Commit-Queue: Wai-Hong Tam <waihong@google.com>
* zephyr: add GPIO VBOB_EN enum nameWai-Hong Tam2021-06-112-0/+2
| | | | | | | | | | | | | | | Some code in EC OS will use this GPIO, i.e. CL:2943986. Make the Zephyr CQ pass. BRANCH=None BUG=b:190250108 TEST=Build the Zephyr image. Change-Id: Ib98c09916a2c7860653689a4c4d0d66bd4f64fdf Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2957073 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: Conditionally remove the task nameKeith Short2021-06-111-0/+15
| | | | | | | | | | | | | | | | | | The names stored in the shimmed task list are not accessible unless CONFIG_THREAD_NAME is defined. Compile out the task names unless CONFIG_THREAD_NAME is enabled. This provides a modest 300 byte savings. BUG=none BRANCH=none TEST=zmake testall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: Iaf6bc8a1a7311ed42221a89fc9520e962cdf1b7f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2956829 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: Fix the hook task priority checkKeith Short2021-06-111-3/+7
| | | | | | | | | | | | | | | | | | | | On Zephyr, hook calls are run on two threads: HOOKS_TICK and HOOKS_SECOND run in the HOOKS shimmed task, deferred calls run in the system work queue. Both threads must be lower priority (indicated by a larger numeric value) than all the other shimmed tasks. Verify these threads have a priority value of at least (TASK_ID_COUNT - 1). BUG=b:190413210 BRANCH=none TEST=zmake testall TEST=On lazor, verify false error about hooks task priority is gone Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: Icb09b866ba8ac6f1ec4c17de79ea281db4954d0e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2956828 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: volteer: Delete configs set to NPCX defaultsKeith Short2021-06-111-34/+0
| | | | | | | | | | | | | | | Delete the Kconfig options that are now setup by default for the NPCX7 chipset. BUG=none BRANCH=none TEST=zmake testall TEST=boot zephyr on volteer Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I1e358964fac27aa15be849ce01357944d8fa906e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2954922 Reviewed-by: Yuval Peress <peress@chromium.org>
* zephyr: kohaku: Delete configs set to NPCX defaultsKeith Short2021-06-111-31/+1
| | | | | | | | | | | | | | Delete the Kconfig options that are now setup by default for the NPCX7 chipset. BUG=none BRANCH=none TEST=zmake testall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I7bfca4a85e2b469e0f9e6d59f873851ca081cf29 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2954921 Reviewed-by: Yuval Peress <peress@chromium.org>
* zephyr: trogdor: delete NPCX common configsKeith Short2021-06-111-32/+1
| | | | | | | | | | | | | | | Delete the Kconfig options that are now setup by default for the NPCX7 chipset. BUG=none BRANCH=none TEST=zmake testall TEST=build and run zephyr on lazor Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: Ia815bfddb56fc1113a1bc6664317328ade4a83ff Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2951221 Reviewed-by: Yuval Peress <peress@chromium.org>
* zephyr: npcx: Move common config defaultsKeith Short2021-06-112-0/+134
| | | | | | | | | | | | | | | Create Kconfig.npcx7 to set the config defaults that are required by the NPCX7 chipset. BUG=none BRANCH=none TEST=zmake testall TEST=Build and run lazor Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I41cad23dfe7c57438b6126e0210c9f7223dfc834 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2951220 Reviewed-by: Yuval Peress <peress@chromium.org>
* guybrush: Add fan thresholds to CPU temp sensorRob Barnes2021-06-111-2/+6
| | | | | | | | | | | | | | | If the SOC temp sensor fails for any reason, the CPU temp sensor should be used as a backup to trigger the fan. Mostly guessing on thresholds here. These values should be adjusted during thremal tuning. BUG=b:190831599 TEST=Disable SOC sensor, see fan trigger when CPU temp reached 60 BRANCH=None Signed-off-by: Rob Barnes <robbarnes@google.com> Change-Id: I6f95dccd07bc588e629b8447be3149edaf2611e7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2956830 Reviewed-by: Diana Z <dzigterman@chromium.org>
* trogdor: Workaround for boards without HIBERNATE_L pull-upWai-Hong Tam2021-06-112-0/+18
| | | | | | | | | | | | | | | | | | | Some hardware doesn't have the external pull-up fix for the bugs, like b/164256614, b/177611071. It requires rework to stuff the resistor. For people who has difficulty to do the rework, this CL is a software workaround, which makes the GPIO push-pull, instead of open-drain. BRANCH=Trogdor BUG=b:190818143 TEST=Booted the Coachz rev-1 board, the I2C bus didn't get wedged. Change-Id: I82116b855db49ec7c93d90727c7837a58cda8d3e Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2956832 Tested-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Stephen Boyd <swboyd@chromium.org> Reviewed-by: Douglas Anderson <dianders@chromium.org>
* zephyr: Fix warning about duplicated CONFIG_I2CKeith Short2021-06-111-1/+1
| | | | | | | | | | | | | | | | | CONFIG_I2C is defined by the Kconfig system and added to the generated file <autoconf.h>. Remove the explicit definition of CONFIG_I2C to fix the warning. BUG=none BRANCH=none TEST=zmake testall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I4a034bc8234ee0bcc9454e2aceceade8a35c5257 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2954920 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Yuval Peress <peress@chromium.org>
* zephyr: Support DP hotplug detect with a GPIOSimon Glass2021-06-112-0/+30
| | | | | | | | | | | | | | | | Add Kconfig support for USB_PD_DP_HPD_GPIO and the associated option so we can support this feature. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Iffee7fea469ac85fb9b41715fdd5bb767994584e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941883 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* zephyr: Allow use of the custom bc12_ports[] arraySimon Glass2021-06-112-1/+17
| | | | | | | | | | | | | | | | At present we don't support this feature on Zephyr. It is needed for Asurada so add a proper Kconfig for it. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Ifb4c79f3feeb7541339632bbccc575fa106ffb78 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941882 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* zephyr: Add help for the ITE TCPM driversSimon Glass2021-06-111-3/+8
| | | | | | | | | | | | | | | | | | These Kconfigs are missing the help text. Add some. Also drop the unnecessary and confusing 'default n' lines nearby. Once people see these in the code, they will multiply. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I8d6a327a2fbd57a0f25244e85424692c0d808b3f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941821 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* zephyr: Tidy up PLATFORM_EC_USB_PORT_POWER_DUMB_CUSTOM_HOOKSimon Glass2021-06-111-4/+3
| | | | | | | | | | | | | | | | This Kconfig should use tabs for indentation, rather than spaces. Fix it. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I25eed9ece49cdfe477e5107b6689d8a3890a82a9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941820 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* zephyr: Add support for MAINTAIN_VBATSimon Glass2021-06-112-0/+12
| | | | | | | | | | | | | | | Add a Kconfig for this feature so that it can be used on Zephyr. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I699fe81b3f4ad8c03b90a0c8371a927df5bc3e78 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941819 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* zephyr: Add support for OTG powerSimon Glass2021-06-112-2/+27
| | | | | | | | | | | | | | | | | Add Kconfigs for this feature so it can be enabled on Zephyr. The driver determines the availability of this feature but it must be specifically enabled by the board. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Iaeae49039b8a76c2dd42804127644920480697a7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941818 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* zephyr: asurada: Correct ec_batt_pres_odlSimon Glass2021-06-112-1/+4
| | | | | | | | | | | | | | | This has the wrong enum. Fix it. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Ie465d662c463e043e2123d91f21f6771552ae025 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941816 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: asurada: Create a common baseboard headerSimon Glass2021-06-112-15/+39
| | | | | | | | | | | | | | | | | Move some definitions to a common file so we can use them from both ECOS and Zephyr. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I43d3d09e47d185d8980724e8f1ea100f15417455 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941815 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Yuval Peress <peress@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* Homestar: When the base state changes, update the virtual switchWai-Hong Tam2021-06-112-1/+3
| | | | | | | | | | | | | | | | | | Do the similar thing like crrev.com/c/2884609. When the base state changes, update the virtual switch. It sends a mode change event to notify AP and then AP will query the latest virtual switch of the base state. BRANCH=Trogdor BUG=b:190736240 TEST=Built the image without error. The change has been tested on another device. Should be safe. Change-Id: Ibae150091d65367d92abe1ae665e71b5caf8429a Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2953873 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* Homestar: Enable the basestate console commandWai-Hong Tam2021-06-111-0/+2
| | | | | | | | | | | | | | | The basestate console command is used by tests to emulate the base detach or attach state. Enable it to pass the tests. BRANCH=Trogdor BUG=b:190736240 TEST=Built the image without error. The change has been tested on another device. Should be safe. Change-Id: Ica32802a9c2a2e62b280f83d0275f0c8d873ac81 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2953872 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* primus: Configure PWM channelScott Chao2021-06-114-17/+18
| | | | | | | | | | | BUG=b:190518315 BRANCH=None TEST=make -j BOARD=primus Signed-off-by: Scott Chao <scott_chao@wistron.corp-partner.google.com> Change-Id: Iaee111a963f3e9a6a353d14e9fdefdfb755828ee Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2938782 Reviewed-by: Boris Mittelberg <bmbm@google.com>
* copano: gyro sensor add 2nd source KX022Jacky Wang2021-06-112-2/+38
| | | | | | | | | | | | | | | | Gyro sensor add 2nd source KX022. BUG=b:190644307 BRANCH=firmware-volteer-13672.B TEST=make BOARD=copano 1. Set CBI SSFC 0x10 and using command "ectool motionsense" for sensor kxo22. 2. Using command "ectool motionsense" for sensor BMA253. Signed-off-by: Jacky Wang <jacky5_wang@pegatron.corp-partner.google.com> Change-Id: I73a5b915dcb67df58780a01873f81fe5719299d0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2952286 Reviewed-by: Zhuohao Lee <zhuohao@chromium.org>
* zephyr: lazor: Clean up includesDawid Niedzwiecki2021-06-111-1/+1
| | | | | | | | | | | | | | | | Don't include config_chip.h directly in the platform-specific i2c.c source file, use i2c.h instead. It will remove the build warning. BUG=b:188885798 BRANCH=none TEST='zmake testall' and make sure there are no warnings Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I1309cd4e1888df2125c66c9bde56520e3485b201 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2953282 Reviewed-by: Yuval Peress <peress@chromium.org> Commit-Queue: Yuval Peress <peress@chromium.org>
* guybrush: Reuse USB mux structure for USBA retimersRob Barnes2021-06-111-17/+43
| | | | | | | | | | | | | | | Reuse the USB mux structure for USB A retimers. These retimers do not have an internal mux, so many fields do not apply. This change makes it simpler to create generic methods. BUG=None TEST=Build and run BRANCH=None Signed-off-by: Rob Barnes <robbarnes@google.com> Change-Id: Idb2eef25bdd820febb18ef3b7af48c21f4c545d8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2946306 Reviewed-by: Diana Z <dzigterman@chromium.org>
* limozeen: Refine the BRD_ID checkDavid Huang2021-06-111-2/+4
| | | | | | | | | | | | | | | | Limozeen's BRD_ID is not monotonically increasing. The earliest revision is 4. The next BRD_ID after 7 is 0. Not support PPC workaround when BRD_ID 0 on limozeen. BUG=b:190250108 BRANCH=trogdor TEST=make buildall success. Signed-off-by: David Huang <david.huang@quanta.corp-partner.google.com> Change-Id: I16d7ff081306812c14aa31ce2b19af8e2d50ff76 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2952802 Reviewed-by: Wai-Hong Tam <waihong@google.com> Commit-Queue: Wai-Hong Tam <waihong@google.com>
* zephyr: lazor: remove the WLC I2C bus from dtsWai-Hong Tam2021-06-111-5/+0
| | | | | | | | | | | | | | | | The WLC I2C bus on Lazor is used for other purposes: GPIO and NC. Remove the bus from dts, such that it won't appear in the i2c_ports[]. The `i2cscan` won't scan this bus. BUG=b:182398910 BRANCH=None TEST=Tested the `i2cscan` command (need to enable a CONFIG). Change-Id: Id1d029c380726e8846f93a04a666441a537421de Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2954724 Reviewed-by: Keith Short <keithshort@chromium.org>
* common/usbc: Allow boards to determine DTS (CCD) portCaveh Jalali2021-06-113-4/+22
| | | | | | | | | | | | | | | | | | | | | | This adds support for a board specific function to determine if a particular port supports DTS (Debug and Test System) - more commonly known as the CCD port. Typically, only one port supports CCD and we should not enter debug accessory mode on non-CCD ports. The default implementation simply returns true which is equivalent to the original behavior. Boards can override board_is_dts_port() to limit entering debug accessory mode to specific ports. BRANCH=none BUG=b:188851792 TEST=buildall passes Change-Id: I10ad3cbed68478b23379b5f7ec6eff6ebae11084 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2954196 Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* PCHG: Handle WLC_CHG_CTRL_DEVICE_STATE_DEVICE_DOCKEDDaisuke Nojiri2021-06-114-21/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We'll extend the period for a stylus to be statically charged so that EEPROM corruption can be avoided by not entering negotiated mode with a depleted battery. During this static charge period, the user currently doesn't see any charging indication. To prevent users from removing a stylus, we'll add a new state 'device docked' to ctn730. The EC firmware is updated to handle this new state as follows: - PCHG_STATE_DETECTED will be reused to indicate a device is in proximity but not ready for communication. - PCHG_STATE_CONNECTED will be added to indicate a device is ready for digital communication. This is formerly called DETECTED. - CTN730 driver produces PCHG_EVENT_DETECTED on 'docked' event and PCHG_EVENT_CONNECTED on 'detected' event. - When DEVICE_UNDOCKED is received in PCHG_STATE_DETECTED, transition to PCHG_STATE_ENABLED. BUG=b:189323070, b:173235954 BRANCH=trogdor TEST=Verify unpowered listener board can be detected. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Change-Id: I7fa83f6dd31cf74eab7c158e557ddc09f8976798 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2920628 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Coachz: Remove PCHG from RODaisuke Nojiri2021-06-114-1/+7
| | | | | | | | | | | | | | Peripheral devices don't need to be charged until EC jumps to RW. This patch removes PCHG from the RO copy. BUG=b:173235954 BRANCH=trogdor TEST=Charge stylus on Coachz. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Change-Id: I8156d1408bf69f4c1fccecaf3a77eaec29fa2c99 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2795065 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* zephyr: npcx: get valid bit-depth of RAM_PD registers via DT macroMulin Chao2021-06-101-5/+9
| | | | | | | | | | | | | | | | | Use DT macro to get valid bit-depth of RAM_PD registers instead of a constant value. Since it is a general solution for saving power in no-psl mode, this CL replaces the prefix 'NPCX7_' with 'NPCX_'. BUG=b:188409672 BRANCH=none TEST=Build and flash on lazor and npcx9 evb. Hibernate lazor platform by typing 'hibernate' console command. Then, wake it up via lid open. Signed-off-by: Mulin Chao <mlchao@nuvoton.com> Change-Id: Iaf19761cc16f992cfcf06077ac222637e2544e5f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2948708 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* guybrush: Remove CONFIG_KEYBOARD_DEBUGRob Barnes2021-06-101-1/+0
| | | | | | | | | | | | | | Keyboard is stable, this debug config is no longer needed. BUG=b:186679368 TEST=Boot guybrush, no keyboard debug messages BRANCH=None Signed-off-by: Rob Barnes <robbarnes@google.com> Change-Id: Id6c42a1adca2af88dbea155583239ab5a85e9065 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2954319 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Diana Z <dzigterman@chromium.org>
* Chronicler: Implement LED behaviorYu-An Chen2021-06-105-117/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Chronicler have two charging leds on left side and right side. Each side have two colors amber and white. The led behavior define as following: 1. Charging led: led on with charging port active, other port is off. 2. Charging: Amber. 3. Discharging: Off. 4. Battery Error: Blinking white (0.4 sec on, 0.4 sec off) 5. Fuel < 10%: Blinking white on right side port (1 sec on, 1 sec off) 6. Force idle for factory: Blinking amber (1 sec on, 1 sec off) 7. S0ix without charging state: Blinking both side LED white (1 sec on, 1 sec off) BUG=b:190019962 BRANCH=volteer TEST=make sure led behavior intended. make sure ectool led left white/amber/off/auto work correctly. make sure ectool led right white/amber/off/auto work correctly. Signed-off-by: Yu-An Chen <yu-an.chen@quanta.corp-partner.google.com> Change-Id: I90626a233fe0ec53a3ad9ecbb57f7b47de57ce18 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2936838 Tested-by: Yu-An Chen <yu-an.chen@quanta.corp-partner.google.com> Auto-Submit: Yu-An Chen <yu-an.chen@quanta.corp-partner.google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* mchp: Add ADC MAX reading value for MEC172xmartin yan2021-06-101-0/+5
| | | | | | | | | | | | | | | | | | | Update ADC_READ_MAX for MEC172x, its ADC is 12BIT resolution in default BRANCH=none BUG=b:190518298 TEST=Tested on ADL RVP via UART console > temps Ambient : 300 K = 27 C 34% DDR : 299 K = 26 C 31% Skin : 301 K = 28 C 37% VR : 297 K = 24 C 25% Signed-off-by: martin yan <martin.yan@microchip.corp-partner.google.com> Change-Id: If657d79d989b017fb34df437e28ceed291c9e1d3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2935558 Reviewed-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* mchp: Update stack size MACROsmartin yan2021-06-101-5/+6
| | | | | | | | | | | | | | | | add ULTRA_TASK_STACK_SIZE and TRENTA_TASK_STACK_SIZE for PD tasks which requires larger stack size, and reduce other stack sizes which were configured for development purpose BRANCH=none BUG=none TEST=make buildall -j Signed-off-by: martin yan <martin.yan@microchip.corp-partner.google.com> Change-Id: Ib055253a9a8e45da46b81f8f1ea2e60a8f738484 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2945630 Reviewed-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* zmake: test final file output sizeYuval Peress2021-06-102-1/+102
| | | | | | | | | | | | | | | | | | | | | | Zephyr's build allows the image to consume the full flash size (CONFIG_FLASH_SIZE) since it doesn't assume anything about how chromium lays out the images (using RO/RW). This means that in systems with 512Kb of flash space, images taking up more than 256Kb will successfully build (even though the final image will be larger than 512Kb). Add a check in the output packers for the final size. This test ignores by default the .elf extension. BRANCH=none BUG=b:190435084 TEST=Added unit tests TEST=build brya Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I94f1657d0ff44d79920ae5e8e7f11edf1580de05 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2948169 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* cret/raa489000: Control ASGATE statestabilize-14026.B-mainjohnwc_yeh2021-06-102-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | There is 0.1V leakage from Charger to Vbus when a charger is removed in S5. Control ASGATE state to prevent the leakage. This commit uses the charger side registers to control the ASGATE when selecting our active charge port. This is done in addition to the existing implementation which uses the TCPCI registers to control ASGATE. BUG=b:189299803 BRANCH=dedede TEST=Build and flash Cret, the leakage has been improved from 0.1V to 0.001V Signed-off-by: johnwc_yeh <johnwc_yeh@compal.corp-partner.google.com> Change-Id: Ib81ca651b0708149fae7b4df27f66107b47f8490 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2948604 Reviewed-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>