summaryrefslogtreecommitdiff
path: root/zephyr/projects/trogdor/lazor
Commit message (Collapse)AuthorAgeFilesLines
* ish: Trim down the release branchstabilize-wristpin-14469.59.B-ishstabilize-voshyr-14637.B-ishstabilize-quickfix-14695.187.B-ishstabilize-quickfix-14695.124.B-ishstabilize-quickfix-14526.91.B-ishstabilize-14695.85.B-ishstabilize-14695.107.B-ishstabilize-14682.B-ishstabilize-14633.B-ishstabilize-14616.B-ishstabilize-14589.B-ishstabilize-14588.98.B-ishstabilize-14588.14.B-ishstabilize-14588.123.B-ishstabilize-14536.B-ishstabilize-14532.B-ishstabilize-14528.B-ishstabilize-14526.89.B-ishstabilize-14526.84.B-ishstabilize-14526.73.B-ishstabilize-14526.67.B-ishstabilize-14526.57.B-ishstabilize-14498.B-ishstabilize-14496.B-ishstabilize-14477.B-ishstabilize-14469.9.B-ishstabilize-14469.8.B-ishstabilize-14469.58.B-ishstabilize-14469.41.B-ishstabilize-14442.B-ishstabilize-14438.B-ishstabilize-14411.B-ishstabilize-14396.B-ishstabilize-14395.B-ishstabilize-14388.62.B-ishstabilize-14388.61.B-ishstabilize-14388.52.B-ishstabilize-14385.B-ishstabilize-14345.B-ishstabilize-14336.B-ishstabilize-14333.B-ishrelease-R99-14469.B-ishrelease-R98-14388.B-ishrelease-R102-14695.B-ishrelease-R101-14588.B-ishrelease-R100-14526.B-ishfirmware-cherry-14454.B-ishfirmware-brya-14505.B-ishfirmware-brya-14505.71.B-ishfactory-kukui-14374.B-ishfactory-guybrush-14600.B-ishfactory-cherry-14455.B-ishfactory-brya-14517.B-ishJack Rosenthal2021-11-0511-1159/+0
| | | | | | | | | | | | | | | | | | | | | | In the interest of making long-term branch maintenance incur as little technical debt on us as possible, we should not maintain any files on the branch we are not actually using. This has the added effect of making it extremely clear when merging CLs from the main branch when changes have the possibility to affect us. The follow-on CL adds a convenience script to actually pull updates from the main branch and generate a CL for the update. BUG=b:204206272 BRANCH=ish TEST=make BOARD=arcada_ish && make BOARD=drallion_ish Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I17e4694c38219b5a0823e0a3e55a28d1348f4b18 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3262038 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* zephyr: create led.c file local to Lazor projectParth Malkan2021-09-282-3/+158
| | | | | | | | | | | | | | Add led.c file locally to zephyr lazor project and unlink from CrOs led.c file BRANCH=None BUG=b:201007290 TEST=builds Signed-off-by: Parth Malkan <parthmalkan@google.com> Change-Id: Ibf3223da8889233cbc7cb3b21e78c6ea0773201a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3183184 Reviewed-by: Wai-Hong Tam <waihong@google.com>
* zephyr: convert fwctrl register to syscon driverYuval Peress2021-09-271-0/+2
| | | | | | | | | | | | | | | | Note that currently CONFIG_SYSCON=y is required. There's an ongoing PR (https://github.com/zephyrproject-rtos/zephyr/pull/38762) to remove that requirement in favor of simply detecting an enabled node in DT via the compatible string. BRANCH=none BUG=b:179900857, b:165777478, b:200642229 TEST=zmake testall Signed-off-by: Yuval Peress <peress@google.com> Change-Id: Idad1f53afbda503e0e0b2fdf2931d5267a391d4d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3177749 Reviewed-by: Sam Hurst <shurst@google.com>
* zephyr: lazor: add history and kernel threads commandsMichał Barnaś2021-09-221-0/+8
| | | | | | | | | | | | | | Enable commands for displaying shell history and threads statistics. BRANCH=main BUG=b:190224781 TEST=Check if "history" and "kernel threads" commands work Change-Id: Iedfaa3856c065120966f4d683646fa51218f1e0a Signed-off-by: Michał Barnaś <mb@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3174057 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* NPCX: RTC: Add CONFIG_CROS_RTC_NPCX=y to prj.confSam Hurst2021-09-071-0/+1
| | | | | | | | | | | | | | | The CONFIG_CROS_RTC_NPCX config defaults to 'n'. Explicitly add CONFIG_CROS_RTC_NPCX=y to herobrine_npcx7, lazor, and trogor devices. BRANCH=none BUG=b:194710429 TEST=none Signed-off-by: Sam Hurst <shurst@google.com> Change-Id: I7a551f5574a645ea5e1495c19ec6ed09c4866ea5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3144534 Reviewed-by: Wai-Hong Tam <waihong@google.com>
* zephyr: define lazor's batteries in device treeMichał Barnaś2021-09-032-14/+7
| | | | | | | | | | | | | | | | | | | This commit adds lazor's batteries definitions to device tree and removes old battery.c usage in Zephyr. BRANCH=main BUG=b:183544739 TEST=Compile and flash CrOS EC firmware to lazor. It should work the same as without this commit. TEST=Compile and flash Zephyr, battery should be detected correctly and its model should be logged in EC console. Change-Id: I937f7b56cb5acdea949a655cc2a107f360cbf535 Signed-off-by: Michał Barnaś <mb@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3107387 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org> Tested-by: Keith Short <keithshort@chromium.org>
* zephyr: zmake: implement multiple toolchain support/probingJack Rosenthal2021-09-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our GitLab builder uses different toolchains than the supported ones we use for development. At present, this means that the GitLab CI needs to call -t for each build with the desired toolchain, preventing us from using the more general commands "zmake coverage" or "zmake testall". Extend the idea of toolchain in our config files to be "supported toolchains" instead (i.e., multiple toolchains can be supported instead of one. We do this by refactoring our toolchain support code to consist of two related methods: - "probe" returns True if the toolchain is detected on the system, or False otherwise - "get_toolchain_config" returns the BuildConfig associated with the toolchain for the system, mirroring the functionality previously implemented in lambda functions. Also dropped support for arm-none-eabi, as I believe this was only used early on during scarlet development, and am not aware of any current users. BUG=b:178731498 BRANCH=none TEST=./run_tests.sh TEST=zmake testall Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I9b2ad508ae6703f0c3b56518fc32606c0ff1777c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3134668 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: add lazor definitions of sku id and board version in dtMichał Barnaś2021-08-181-6/+30
| | | | | | | | | | | | | | | | | Add pins definitions in device tree file used to build zephyr BRANCH=main BUG=b:194136536 TEST=Build zephyr for lazor and verify if sku id and board version in EC console are correct. Change-Id: Ibdc1dcb456b5cecd48ddafeafff0f765ffa45081 Signed-off-by: Michał Barnaś <mb@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3077541 Reviewed-by: Wai-Hong Tam <waihong@google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Wai-Hong Tam <waihong@google.com> Tested-by: Wai-Hong Tam <waihong@google.com>
* zephyr: Fix keyscan_configWealian Liao2021-08-121-2/+0
| | | | | | | | | | | | | | | | DT_DRV_COMPAT doesn't have the compatible node. Fix it to use cros_keyscan. BRANCH=none BUG=none TEST=zmake testall TEST=check volteer & lazor key by "ksstate on" Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: Ib1280f64ac2fa42539fb93d24922626c9adf2278 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3088960 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: rename kconfig PLATFORM_EC_VBOOTJack Rosenthal2021-08-111-2/+2
| | | | | | | | | | | | | | | | | | | Rename CONFIG_PLATFORM_EC_VBOOT to CONFIG_PLATFORM_EC_VBOOT_EFS2, since this is what is actually toggled by the config. EFS2 is only a small component of verified boot, and we have many boards which don't actually use it (e.g., trogdor family) for verified boot, making the existing name very confusing. BUG=none BRANCH=none TEST=zmake testall Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I68ea5815b4a001c680fc78196bb7a02815799b52 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3088164 Commit-Queue: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: drop v2.5 support from all projectsJack Rosenthal2021-08-111-1/+0
| | | | | | | | | | | | | | | | Remove support for v2.5 for all projects which still indicate it's supported. BUG=b:195571108 BRANCH=none TEST=zmake testall Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I5c22e382545741181866a4e88cb3d486a392f2f5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3086365 Reviewed-by: Fabio Baltieri <fabiobaltieri@google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: lazor: add keyscan parametersKeith Short2021-08-102-1/+30
| | | | | | | | | | | | | Add the keyscan parameters specific to the Lazor board. BUG=b:195945894 BRANCH=none TEST=zmake testall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I07718e093c2ac1c12f6af854d4656fb4f224db32 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3083723 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* lid_angle: Create a common callback for lid angle changesWai-Hong Tam2021-08-052-31/+0
| | | | | | | | | | | | | | | | | | | | | | Each board defines its own callback lid_angle_peripheral_enable(). The implementation is very similar. Create a common implementation and reduce the duplicated code. This CL removes the board callbacks which are identifical to the common callback. If it is slightly different, keep it and add the __override tag. The check of TEST_BUILD is unnecessary as the board callback is not linked in the test build. BRANCH=None BUG=b:194922043 TEST=Build all the images. Change-Id: I73d381730f35b80eff69399cdfc5fb54f839aee0 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3069175 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* zephyr: trogdor: Configure unused pinsWai-Hong Tam2021-07-271-0/+29
| | | | | | | | | | | | | | | Configure the unused pins, which are NC in hardware. BRANCH=None BUG=b:191803008 TEST=Built the lazor, trogdor, and herobrine_npcx7 images successfully. Booted the lazor image on the lazor board. Change-Id: Ia62c8e9f6e89cbf7505d23acbcc8247968607dbb Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3053104 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: move all the boards directories under zephyr/boardsJack Rosenthal2021-07-161-2/+0
| | | | | | | | | | | | | | | | | | | | Move all the boards directories together under zephyr/boards from their scattered locations under projects/. This is the first step towards de-coupling the concept of a Zephyr board from baseboard/board/model, as it currently is. Further work will be required to actually unify these directories and delete the baseboard-specific names from our tree. BUG=b:193814903 BRANCH=none TEST=zmake testall Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I33a344af6890b2c2c54f1e91f0f0fa85caaf19d3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3035222 Commit-Queue: Yuval Peress <peress@chromium.org> Reviewed-by: Yuval Peress <peress@chromium.org>
* qcom: Move enabling/disabling 3.3V rail to the board levelWai-Hong Tam2021-07-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | In the next generation, the 3.3V rail is not controlled by EC anymore. Move the control logic to the board level. The 3.3V rail should be enabled before the power on sequence, so use the hook chipset pre-init hook. Disable it on the chipset shutdown complete hook. For Trogdor, do it on the baseboard level. For Herobrine, do it on the board level, Herobrine-NPCX7, only. Herobrine-NPCX9 and other future boards don't need it. BRANCH=None BUG=b:187980397, b:192253134 TEST=Tested the Lazor EC-OS and Zephyr images and booted to AP. TEST=Tested the Herobrine-NPCX7 EC-OS and Zephyr images and booted to AP. Change-Id: I7e025123f8997629b9b0db46e30ea9c716bdbf99 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2993213 Reviewed-by: Keith Short <keithshort@chromium.org>
* system: Clean up system_get_board_version()Philip Chen2021-07-091-1/+0
| | | | | | | | | | | | | | | | | | | Refactor system_get_board_version() a bit so that we can remove CONFIG_BOARD_VERSION_CUSTOM and CONFIG_BOARD_VERSION from config.h. BRANCH=None BUG=b:186264627 TEST=make buildall -j TEST=zmake testall Cq-Depend: chromium:3015243 Change-Id: Id5ab809493c297b7d330ea13dcd6934ec00042a6 Signed-off-by: Philip Chen <philipchen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3004112 Commit-Queue: Philip Chen <philipchen@chromium.org> Tested-by: Philip Chen <philipchen@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* zephyr: lazor: Enable mkbp wake event masksSam Hurst2021-06-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Enable the following host mkbp wake masks: EC_HOST_EVENT_LID_OPEN EC_HOST_EVENT_POWER_BUTTON EC_HOST_EVENT_AC_CONNECTED EC_HOST_EVENT_AC_DISCONNECTED EC_HOST_EVENT_HANG_DETECT EC_HOST_EVENT_RTC EC_HOST_EVENT_MODE_CHANGE EC_HOST_EVENT_DEVICE EC_MKBP_EVENT_KEY_MATRIX EC_MKBP_EVENT_HOST_EVENT EC_MKBP_EVENT_SENSOR_FIFO BRANCH=None BUG=b:190503252 TEST=make buildall TEST=zmake testall Signed-off-by: Sam Hurst <shurst@google.com> Change-Id: I40c2206892e9d4109821227eee1ff017ba501462 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2985821 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@google.com>
* zephyr: fix CQ when migrating to 2.6Yuval Peress2021-06-231-0/+1
| | | | | | | | | | | | | | | As it turns out the CQ can't checkout both 2.5 and 2.6. For now each project will need to support both. BRANCH=none BUG=b:190731415, b:191892353 TEST=emerge-volteer-zephyr chromeos-base/chromeos-zephyr Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: Ib73777560ad40b5d45f79d30525ced26e1acfb41 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2983841 Reviewed-by: Jora Jacobi <jora@google.com> Commit-Queue: Jora Jacobi <jora@google.com>
* zephyr: lazor: uptick zephyr version to 2.6Yuval Peress2021-06-231-1/+1
| | | | | | | | | | | | BRANCH=none BUG=b:190731415 TEST=flash EC and verify sysjump TEST=flash EC and verify it boots to OS Change-Id: Ibe83899b95342524b70c6cd982544d51ffd262df Signed-off-by: Yuval Peress <peress@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2976755 Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: lazor: Enable configs to match the original CrOS EC settingWai-Hong Tam2021-06-221-0/+7
| | | | | | | | | | | | | | | | | | | | | | Enable the following configs: * keyboard backlight control * power sequence sleep failure detection * resume-init and suspend-complete hooks The following configs are not enabled because not enough code RAM: * accel sensor spoof mode * sysrq event emulation BRANCH=None BUG=b:190224781, b:183054226 TEST=Checked the following console commands showing up: kblight, sleeptimeout Change-Id: I2bd12f27d1688da64917ada978edb65e817aeafa Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941802 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: add GPIO VBOB_EN enum nameWai-Hong Tam2021-06-111-0/+1
| | | | | | | | | | | | | | | 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: 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>
* zephyr: lazor: Enable I2C_PASSTHRU_RESTRICTED configDawid Niedzwiecki2021-06-093-1/+21
| | | | | | | | | | | | | | | | | Enable the I2C_PASSTHRU_RESTRICTED config for Lazor. Define board_allow_i2c_passthru function in platform-specific code. BUG=b:188885798 BRANCH=none TEST=Verify that I2C_PASSTHRU command works properly e.g. DUT displays the battery level correctly. Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: Icf8a13f1c3aaecc660322a2153654c70c1accd7b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2939675 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: lazor: enable Virtual Battery driverDawid Niedzwiecki2021-05-311-0/+1
| | | | | | | | | | | | | | | | Enable I2C_VIRTUAL_BATTERY config for lazor. This is one of a few steps to fix getting data about the battery by the host. Also, set I2C_PORT_VIRTUAL_BATTERY to I2C_PORT_BATTERY, but it might be changed in the future. BUG=b:188885798 BRANCH=none TEST=zmake testall Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I12da1b57b6e2cf0b98822c71243ccd1667d73506 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2919907 Reviewed-by: Yuval Peress <peress@chromium.org>
* zephyr: lazor: Enable Tablet Mode Switch configDawid Niedzwiecki2021-05-181-0/+1
| | | | | | | | | | | | | | | | | Enable the Tablet Mode Switch config to fix activating Tablet Mode on Lazor. BUG=b:188147017 BRANCH=none TEST=Build and flash Zephyr on Lazor, boot to OS and verify that Chormebook switches to the Tablet Mode after 'tabletmode on' console command. Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I95c7fa645dd5e8325147d7548fa99f2a1ddcccaa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2900217 Commit-Queue: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: lazor: Use correct power signal interrupt handlersWai-Hong Tam2021-05-181-3/+4
| | | | | | | | | | | | | | | | | | | | | | The SC7180 power signals, like AP_RST_L, WARM_RESET, and POWER_GOOD need special interrupt handlers. Missing them will cause: * AP warm reset doesn't notify the reset hook; * AP firmware flashing may fail. BRANCH=None BUG=b:183054226 TEST=Toggling the WARM_RESET, like `dut-control warm_reset:off`, EC UART shows the message: Long warm reset ended, cold resetting to restore confidence. TEST=Execute AP warm reset, check it triggers CHIPSET reset hook. Change-Id: Id6ea38abb1a10017bf603852908ac6d5dd6f78f4 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2901239 Reviewed-by: Alexandru M Stan <amstan@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: lazor: fix touchpadDawid Niedzwiecki2021-05-141-0/+1
| | | | | | | | | | | | | | | Add GPIO_TRACKPAD_INT_GATE pin to let the OS manage the trackpad. BUG=b:188127604 BRANCH=none TEST=Build and flash firmware for Lazar, boot to OS, verify that touchpad works. Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I526b9bc440456fdcb700c04d91c5976189840484 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2897237 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* mkbp: EC buttons and switches via MKBPBoris Mittelberg2021-05-101-0/+1
| | | | | | | | | | | | | | Allowing EC buttons and switches to be signaled via MKBP protocol, using CONFIG_MKBP_INPUT_DEVICES. Default behaviour is unchanged. BUG=b:170966461 BRANCH=main,firmware-dedede-13606.B,firmware-volteer-13672.B-main TEST=None Signed-off-by: Boris Mittelberg <bmbm@google.com> Cq-Depend: chromium:2824044 Change-Id: Ib96f98ecb3717a8ee8963be69fb7d7eb72e6d132 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2796382
* zephyr: lazor: Include board-specific hibernate codeWai-Hong Tam2021-05-013-2/+7
| | | | | | | | | | | | | | | | Include the board-specific hibernate code in CrOS EC directory. Add and rename the hibernate-related GPIO enums. BRANCH=None BUG=b:183745774 TEST=Built the Zephyr image and tested EC hibernate on Lazor. Verified all wake sources: power button, lid open, ACOK, and EC reset Change-Id: I2f7371e033f45227c0e53290608862e5192434f2 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2861058 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: lazor: Fix alt motion sensorsDawid Niedzwiecki2021-04-271-24/+30
| | | | | | | | | | | | | | | | Move the alternative motion sensor to 'motionsense-sensor-alt' node, which is used to create 'motion_sensors_alt' array and 'sensor_alt_id' enum. BUG=b:183990188 BRANCH=none TEST=zmake testall Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I9dff17c9efaa97d288a9ed6a18f5f633a85d85b8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2853595 Reviewed-by: Yuval Peress <peress@chromium.org> Commit-Queue: Yuval Peress <peress@chromium.org>
* zephyr: lazor: Add kx022 sensorYuval Peress2021-04-231-3/+33
| | | | | | | | | | | | | | | | Add the kx022 as an alternate sensor for the bma255. The logic for swapping the sensors will come in future CLs associated with b:183990188. BRANCH=none BUG=b:183990188, b:185966444 TEST=zmake testall Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I681624034f63657dfcc0a352b31a0bbed61bd8db Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2846416 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: lazor: Add sensors to lazorYuval Peress2021-04-235-2/+187
| | | | | | | | | | | | | | | | | | | Enable the motionsense task in lazor and along with it the GMR tablet mode and lid angle calculations. BRANCH=none BUG=b:185966444 TEST=zmake testall TEST=Flash on lazor and check sensors (done by keith since I don't have a board). Change-Id: Iccd1e6e0d503f759255cf3d9c162922788e915a0 Signed-off-by: Yuval Peress <peress@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2830532 Tested-by: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: lazor: add board specific lid angle implementationYuval Peress2021-04-222-0/+33
| | | | | | | | | | | | | | | Add implementation for the board specific lid_angle_peripheral_enable function (taken from board/lazor/board.c). BRANCH=none BUG=b:185966444 TEST=zmake testall Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I9067eeb8fb7b156e6fa690b007d777cd5e760d8d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2842711 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: lazor: Fix GPIO interrupt tableDawid Niedzwiecki2021-04-161-10/+15
| | | | | | | | | | | | | | | | | | We use GPIO edge falling interrupts for some events. These one were initialized incorrectly with EC GPIO flags instead of Zephyr GPIO flags, thus the interrupts were not triggered. Change GPIO_INT_* to GPIO_INT_EDGE_* for all of them. BUG=b:182398910 BRANCH=none TEST=Build Zephyr EC for Lazor, flash Limozeen board and boot to OS, Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: Id10aa010071d44f2d714eb9673ec7cad300bdf60 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2825909 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: lazor: add the write-protection switch interruptWai-Hong Tam2021-04-161-0/+1
| | | | | | | | | | | | | | | | | | Add the write-protection switch interrupt. The switch state can be updated in time. BRANCH=None BUG=b:182398910 TEST=Changed the write-protection switch in Cr50 console. Checked the interrupts were triggered and showed the messages: [225.050900 SW 0x05] # The WP bitmask is 0x4. [230.853700 SW 0x01] Change-Id: I8bd801ac872b9f7b91895e504069f91921c9592f Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2831051 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: lazor: Set the hibernate wake-up gpiosMulin Chao2021-04-141-4/+14
| | | | | | | | | | | | | | | | | | | | | | Lazor uses power down RAM & deep sleep as hibernate implementation. This sets the wake-up pins for non-psl hibernate. BUG=b:183745774 BRANCH=none TEST=hibernate & wake-up form 1. lid 2. power button 3. reset pin 4. AC adaptor 5. RTC wake-up by "hibernate 5" Signed-off-by: Mulin Chao <mlchao@nuvoton.com> Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: I2ad0a4f0f3dfd3d0f41e57fc215ad7a01e08aa9e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2821117 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: npcx: Add non-psl hibernate implementationMulin Chao2021-04-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Implements non-psl hibernate mechanism for cros_system driver. First, we plan a little hibernate function locates in the last 32K ram block in npcx7 series. Then power down the other ram blocks and go to deep sleep mode for better power consumptions. Please notice do not use global or call the other functions in this hibernate utility since we have turned off the other ram blocks. BUG=b:177904393, b:183745774 BRANCH=none TEST=zmake testall TEST=All wake-up GPIOs can wake-up ec from hibernating on npcx7 evb. Signed-off-by: Mulin Chao <mlchao@nuvoton.com> Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: I48f95b0e616ad27f77a6d0ada8251ec438427741 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2821116 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: lazor: Enable tasks for USB PD port 1Simon Glass2021-04-131-0/+3
| | | | | | | | | | | | | | | | | | | Enable these tasks so that charging can work on that port. Also drop CONFIG_PLATFORM_EC_USB_PD_USB32_DRD since this is not needed on lazor. BUG=b:183296099 BRANCH=none TEST=Build lazor on zephyr; no obvious changes when run Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I503f49b5e00d6d105dce7dcabf84ffa9f999b7c5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2822397 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@google.com> Commit-Queue: Wai-Hong Tam <waihong@google.com>
* zephyr: lazor: Tweak some USB-C configsSimon Glass2021-04-131-0/+2
| | | | | | | | | | | | | | Some of the choices are incorrect here due to the defaults not lining up with what lazor wants. Fix them. BUG=b:183296099 BRANCH=none TEST=Build lazor on zephyr; no obvious changes when run Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Id42c6db80276ba110fe12afa70823709b0b42888 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2822392 Reviewed-by: Wai-Hong Tam <waihong@google.com>
* zephyr: lazor: enable verified-boot hashing functionWai-Hong Tam2021-04-131-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Verified-boot (EC software sync) asks the hash of the EC RW to check if it is a correct version. Enable the hashing function. BRANCH=None BUG=b:184981521 TEST=Modified GBB flags in the AP firmware to allow EC software sync. Checked the hash was different and performed update: check_ec_hash: Hexp RW(active): ece8070d7fba2eff80eb8c936ba3dca9b... check_ec_hash: Hmir: ece8070d7fba2eff80eb8c936ba3dca90... check_ec_hash: Heff RW(active): 5270d6de9dbca79be7cb27ef9e5fd0535... check_ec_hash: Heff != Hexp. Schedule update After updated, the hash was correct: check_ec_hash: Hexp RW(active): ece8070d7fba2eff80eb8c936ba3dca9b... check_ec_hash: Hmir: ece8070d7fba2eff80eb8c936ba3dca9b... vboot_hash_image: No valid hash (status=0 size=0). Compute one... check_ec_hash: Heff RW(active): ece8070d7fba2eff80eb8c936ba3dca9b... update_ec: Updated RW(active) successfully Change-Id: I8071579e69a38f8950aa0e70bb4bee4419d11be9 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2821853 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: npcx: Fixed the name of nodes in device-tree filesWealian Liao2021-04-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | CL:2819147 fixed the name of nodes in devoce-tree file following rules: If object is 'phandles', use underscores for object name. If not, such as 'node' or 'property', use hyphens for object name. Modify the related files for build pass. BUG=none BRANCH=none TEST=zmake testall Cq-Depend: chromium:2819147 Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: I70284ecb168234493d04b8b26433ec7009232132 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2817684 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: lazor: Add LED supportDawid Niedzwiecki2021-04-123-0/+8
| | | | | | | | | | | | | | | | | | Add GPIOs to control the LED and add board/lazor/led.c to the compiled list. The color of the LED will be changing when the charging is supported. BUG=b:182398910 BRANCH=none TEST=Verfiy the LED color according to the charging state. If the charging is not supported, disable led_set_color function and set the color manually with gpioset GPIO_EC_CHG_LED_Y/B_C1 0/1. Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I910c58efa6b3771bacb264398acdcf171071f04a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2817478 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: gpio: Move named GPIO entries to devicetreeYuval Peress2021-04-082-47/+54
| | | | | | | | | | | | | | | | Migrate NAMED_GPIO() to devicetree enums. This allows us to create common boards and share the GPIO mappings in dts files. BRANCH=none BUG=none TEST=zmake testall Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I41c6151569a04628ac6dcc597f05e529327b7b46 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2804495 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Fabio Baltieri <fabiobaltieri@google.com>
* zephyr: i2c mapping using an enumYuval Peress2021-04-081-25/+0
| | | | | | | | | | | | | | | | | | | | Currently, every project will need to provide a custom mapping header for i2c as well as gpios. We'd like to move that overhead to the dts files, which will make the board dts a lot more reusable as well as clean up the bringup of new boards. Add to the i2c_ports enum from the dts named i2c port list. Each enum is only added if a node exists using that enum. This also allowes for verifying that the enum is only used once. BRANCH=none BUG=b:184786824 TEST=build and flashed volteer TEST=zmake testall Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I42cc098a9badac57a3781fa9dfaf32c0ec0c5aca Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2780838
* zephyr: lazor: enable RTC host commandsWai-Hong Tam2021-04-071-0/+1
| | | | | | | | | | | | | | | | The RTC host commands are enabled by another config PLATFORM_EC_HOSTCMD_RTC. Enable it on Lazor. BRANCH=None BUG=b:182398910, b:178230662 TEST=Tested on Lazor. Disabled any network connection. Powered down AP for a while. Booted AP again and checked the time is accurate. Change-Id: Id4c2d32747b5a970ff1354c1597c1356143e36ff Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2808795 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: lazor: Enable the last two charger optionsSimon Glass2021-04-031-0/+2
| | | | | | | | | | | | | | | Enable these options to hopefully reach parity with ECOS in this area. BUG=b:183296099 BRANCH=none TEST=build for lazor (no test yet) Change-Id: I04539d7eb258cf71ff462f210a4070c506565b1f Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2789806 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@google.com> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: lazor: Add support for the ccd_mode_odl interruptSimon Glass2021-04-031-1/+4
| | | | | | | | | | | | | | | | | | This is used on lazor so add it to the map. BUG=b:183296099 BRANCH=none TEST=with another CL, build for lazor and check that the init compile compiles Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I981b36b738b7429416a3dcadc5c9d79fad4e6749 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2789804 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@google.com>
* zephyr: lazor: Add various charger featuresSimon Glass2021-04-031-3/+18
| | | | | | | | | | | | | | | | | Enable various charger features to bring this board closer to parity with the ECOS build. ADC is needed also to support PCON. BUG=b:183296099 BRANCH=none TEST=build for lazor and check the various options in in /tmp/z/trog/build-ro/zephyr/.config Change-Id: I013f6033a5f115ab75cd9aadd2ef6f03008594e5 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2788841 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@google.com>
* zephyr: Add support for setting charger sense-resistorsSimon Glass2021-04-011-0/+2
| | | | | | | | | | | | | | | | | We need a different value for lazor, so move this to Kconfig. We may at some point move this to device tree. BUG=b:183296099, b:175881762 BRANCH=none TEST=with other CLs, build zephyr for lazor and see that the option is present build config for volteer and make sure it has not changed Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I7b5fa6a03ba24028006f6a1a8516e9244308fe76 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2788833 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>