summaryrefslogtreecommitdiff
path: root/zephyr/include
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-0531-4126/+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: emul: ln9310Aaron Massey2021-09-281-0/+10
| | | | | | | | | | | | | | | Add INT1_MSK registor to ln9310 emulator. BRANCH=none BUG=b:184856083 TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Aaron Massey <aaronmassey@chromium.org> Change-Id: I864d355767f0c2d091f830329e511be8d293fac4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3179310 Commit-Queue: Aaron Massey <aaronmassey@google.com> Tested-by: Aaron Massey <aaronmassey@google.com> Reviewed-by: Yuval Peress <peress@google.com>
* zephyr: convert fwctrl register to syscon driverYuval Peress2021-09-271-0/+4
| | | | | | | | | | | | | | | | 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: drivers: thermistors are device tree nodesAaron Massey2021-09-241-0/+308
| | | | | | | | | | | | | | | | | | | Thermistor drivers now query the device tree for configuration. Thermistor tests have been updated to be parameterized on all thermistors enabled in the device tree. BRANCH=none BUG=b:184374937 TEST= 1) zmake testall 2) make runhosttests Cq-Depend: chromium:3161332 Signed-off-by: Aaron Massey <aaronmassey@chromium.org> Change-Id: Ic5330cd5c33e79e192428ca857651de9a225856e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3133812 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Tested-by: Aaron Massey <aaronmassey@google.com> Commit-Queue: Aaron Massey <aaronmassey@google.com>
* zephyr: test: add a generic I2C mockYuval Peress2021-09-211-0/+35
| | | | | | | | | | | | | | | Add a simple mock with no state to test common i2c code. BRANCH=none BUG=b:200589041 TEST=zmake testall Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I99730361a298708278106deb58890a0ed2c9febf Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3171694 Tested-by: Yuval Peress <peress@google.com> Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Yuval Peress <peress@google.com>
* zephyr: test: lis2dw12 fail setting bdu on initYuval Peress2021-09-211-0/+10
| | | | | | | | | | | | | | BRANCH=none BUG=b:200046770 TEST=zmake configure --test zephyr/projects/drivers Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I5e109001cf19010c2a4edc68be9b043a14070480 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3170539 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Yuval Peress <peress@google.com> Tested-by: Yuval Peress <peress@google.com>
* zephyr: test: Test failed read on who-am-i register (lis2dw12)Yuval Peress2021-09-211-0/+9
| | | | | | | | | | | | | | | Test the init code path that fails reading who-am-i register. BRANCH=none BUG=b:200046770 TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I66c17d1d0f2e889c22ccecca8ecedd467174b764 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3170534 Commit-Queue: Yuval Peress <peress@google.com> Tested-by: Yuval Peress <peress@google.com> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: test: Add tests for lis2dw12 driverYuval Peress2021-09-171-0/+20
| | | | | | | | | | | | | | | | Add a single test for the lis2dw12 driver that checks the who-am-i register. BRANCH=none BUG=b:200046770 TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I8dba62f941d74cca025645b81512b4e0c9e04908 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3168035 Tested-by: Yuval Peress <peress@google.com> Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Yuval Peress <peress@google.com>
* zephyr: emul: lis2dw12: Add stubs for LIS2DW12 emulatorYuval Peress2021-09-171-0/+9
| | | | | | | | | | | | | BRANCH=none BUG=b:200046770 TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: If425d9760b8db9024478fb9a664ffa71e7c25eb7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3168034 Tested-by: Yuval Peress <peress@google.com> Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Yuval Peress <peress@google.com>
* zephyr: Test SYV682 5V_OC interrupt handlingAbe Levkoy2021-09-151-0/+10
| | | | | | | | | | | | | | | | | Simulate a 5V OC condition and verify that the driver turns VBUS off. Support status interrupt conditions and clear-on-read registers in SYV682x emulator. Increase line coverage of syv682x.c from 37.9% to 52.8%. BUG=b:190519131 TEST=zmake -l DEBUG configure --test zephyr/test/drivers BRANCH=none Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: I9c5b419057cf4ccb1531527a71760533240d1f47 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3059218 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: emul: ln9310Yuval Peress2021-09-141-0/+63
| | | | | | | | | | | | | | | | | | Add an LN9310 emulator. The emulator is mostly a stub right now with some limited functionality to update the battery cell type and chip version number. BRANCH=none BUG=b:184856083 TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I156393f4612bf69e31d4d28d88d74fa4dd1689fc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3156846 Commit-Queue: Yuval Peress <peress@google.com> Tested-by: Yuval Peress <peress@google.com> Reviewed-by: Tomasz Michalec <tmichalec@google.com> Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: shim/system: fix APIs of call BBRAM read and writestabilize-14217.B-mainTim Lin2021-09-131-193/+0
| | | | | | | | | | | | | | | | | | | | The APIs of BBRAM read and write have been renamed and moved to drivers/bbram. The related call routines of shim/system.c need to be fixed. BUG=b:195843756 BRANCH=none TEST=the board of asurada and it8xxx2_evb can boot EC and access bbram successfully after adding this CL. zmake testall --> pass Change-Id: I98e51a278a24eeb4bbc92343fe6fc97e3e758e8a Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3153117 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: driver: bbram: Migrate to upstream driverYuval Peress2021-09-101-11/+4
| | | | | | | | | | | | | | | | | Migrate the BBRAM driver to the upstream version. BRANCH=none BUG=b:195843756 TEST=zmake testall Cq-Depend: chromium:3147080 Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I441e58f94c4874e268aad36df2f036a88187801b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3147230 Tested-by: Yuval Peress <peress@google.com> Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Yuval Peress <peress@google.com>
* zephyr: emul: i2c: Add device label for better debugYuval Peress2021-09-071-0/+2
| | | | | | | | | | | | | | | | Improve the debug output by including the device label in the common configs. BRANCH=none BUG=none TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: Ic331e7842efdfae70d3f994a694c7723fdcd9640 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3144313 Reviewed-by: Tomasz Michalec <tm@semihalf.com> Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* zephyr: cros_system: export the declarations to header file.Tim Lin2021-09-031-0/+38
| | | | | | | | | | | | | | | Export these declarations that get DT parameters to the header file. BUG=b:198305804 BRANCH=none TEST=none Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com> Change-Id: I6580aa2b6ae69c3727da20840148c6bc66169c0e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3139529 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: emul: Use common I2C code in emulatorsTomasz Michalec2021-09-035-484/+58
| | | | | | | | | | | | | | | | | | | Align following emulators to use common I2C code: - bb_retimer - bma255 - bmi (both 160 and 260) - smart_battery - tcs3400 BUG=none BRANCH=none TEST=make configure --test zephyr/test/drivers Signed-off-by: Tomasz Michalec <tm@semihalf.com> Change-Id: I7515407b867487574a29dcae3456d96920a24979 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3140202 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: emul: Add common code for I2C emulatorsTomasz Michalec2021-09-031-0/+367
| | | | | | | | | | | | | | | | | | Emulators of I2C devices have similar handling of I2C messages, locking mechanism for multithread code, custom user functions and user triggered failing on specific register. These functionalities are exported to common code which will replace current functions in emulators of I2C devices. BUG=none BRANCH=none TEST=none Signed-off-by: Tomasz Michalec <tm@semihalf.com> Change-Id: Ib2c1a6596127dad1250d0051a312a837fc03ce20 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3140201 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: Add BB retimer emulatorTomasz Michalec2021-09-021-0/+188
| | | | | | | | | | | | | | | | | | Add BB retimer emulator on i2c bus. Emulator properties can be defined using device tree or runtime emulator API. Emulator checks if RO registers and reserved bits are accessed correctly. API allows to set custom read/write i2c messagess handlers to emulate complex behaviour. BUG=b:184856919 BRANCH=none TEST=none Signed-off-by: Tomasz Michalec <tm@semihalf.com> Change-Id: I4b641a90e6fb55e89aaee388c0ac04ab7bf367ba Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3110085 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Yuval Peress <peress@chromium.org>
* zephyr: it8xxx2: use half space (512KB) from flashDino Li2021-08-171-4/+4
| | | | | | | | | | | | | | | | This saved about 3 seconds erasing time while running software sync. This also pull configurations of flash/memory layout to chip level. BRANCH=none BUG=b:195954913 TEST=software sync successfully. (without erase timeout patch of depthcharge) Signed-off-by: Dino Li <Dino.Li@ite.com.tw> Change-Id: Ia7fa08fdf6bdde4c47ca8d852f8eeaa83f39dae5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3097250 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: npcx: Move npcx power-states node to npcx.dtsiWealian Liao2021-08-042-19/+20
| | | | | | | | | | | | | | | | | Currently, there is no different power-state for NPCX7/9. Move the power-states node to npcx.dtsi. BUG=none BRANCH=none TEST=zmake testall TEST=Check Lazor can enters sleep by 'idlestats' Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: I31688dcc42015a4648845b0df4a1712c65e5aaaa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3068842 Reviewed-by: Wai-Hong Tam <waihong@google.com> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Yuval Peress <peress@chromium.org>
* zephyr: shi: it8xxx2: create phandle of pinmux controlTim Lin2021-08-021-0/+4
| | | | | | | | | | | | | | | | | | | Create the pinmux phandle to the SHI driver node in the devicetree. When the pinmux_pin_set function in cros_shi_ite_init can refer to the setting of phandle. It is more flexible to use. BUG=b:187541831 BRANCH=none TEST=host command is normal. Cq-Depend: chromium:3041210 Cq-Depend: chromium:3056118 Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com> Change-Id: I0c71333563eb7da04d29b82767b6a6660d867eed Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3045026 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Add TCS3400 emulatorTomasz Michalec2021-07-271-0/+255
| | | | | | | | | | | | | | | | | | Add TCS3400 emulator which is emulated device on i2c bus. Emulator properties can be defined using device tree or runtime TCS emulator API. It allows to set custom handlers for write and read messages. Emulator is able to convert internal values to register values that can be obtained by driver through i2c interface. Conversion takes current state set by driver into account (gain and data acquisition time). BUG=b:184856080 BRANCH=none TEST=none Signed-off-by: Tomasz Michalec <tm@semihalf.com> Change-Id: I16f25de43e047df39f84ce86044736d50c9a49c8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3048094 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: fix MKBP_HOST_EVENT_WAKEUP_MASKDawid Niedzwiecki2021-07-231-0/+2
| | | | | | | | | | | | | | | | | | MKBP_HOST_EVENT_WAKEUP_MASK is right-shifted by 1 bit, so adjust defining it in the dts. The bug is impacting the waking up DUT with a host event, e.g. EC_HOST_EVENT_RTC which is used during the firmware_EventLog test. BUG=b:193495066 BRANCH=none TEST=Suspend DUT with powerd_dbus_suspend, and make sure the EC command "hostevent set 0x0000000002000000" wakes up the board. Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I253d0dc36cf216fe50a6473c3640fe906ef565e3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3031542 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: Add BMI260 emulatorTomasz Michalec2021-07-141-0/+7
| | | | | | | | | | | | | | Add extension to support BMI260 model. BUG=b:184856157 BRANCH=none TEST=none Signed-off-by: Tomasz Michalec <tm@semihalf.com> Change-Id: Iaffebdb5279001d085fd56868e81318528380380 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2997364 Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: Add BMI160 emulatorTomasz Michalec2021-07-141-0/+518
| | | | | | | | | | | | | | | | | | | | | Add BMI emulator which is emulated device on i2c bus. Emulated accelerometer and gyroscope properties are defined through device tree, but they can be changed in runtime through BMI emulator API. It allows to set custom handlers for write and read messages to emulate more complex scenarios or malfunctioning device. BMI emulator is designed to implement support for different BMI models as an extension to common emulator code. BUG=b:184856157 BRANCH=none TEST=none Signed-off-by: Tomasz Michalec <tm@semihalf.com> Change-Id: I63e9d3aca98c8923372437f7a66257a4c82817f2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2977559 Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: Add SYV682x emulator and testAbe Levkoy2021-07-021-0/+133
| | | | | | | | | | | | | | Just test enabling VBUS for now. BUG=b:190519131 TEST=zmake configure --test zephyr/test/drivers BRANCH=none Change-Id: I9759e709539ed041dd92c80ab1e49f896f8d6e65 Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2994648 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr/drivers: it8xxx2: add flash controllerTim Lin2021-07-021-2/+2
| | | | | | | | | | | | | | | | | Add it8xxx2 flash controller. BUG=b:187192628 BRANCH=none TEST: zmake -lDEBUG configure -b -B zephyr/build_ite \ zephyr/projects/it8xxx2_evb Cq-Depend: chromium:2952803 Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com> Change-Id: I2e7189709040ed160db4b735969380e9ad5bcd5c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2991398 Tested-by: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr/drivers: npcx: reorganizes the flash driver(3)Tim Lin2021-07-011-0/+116
| | | | | | | | | | | | | | | | | | | | | Move NPCX specific code crec_flash_physical_get_protect(), crec_flash_physical_get_protect_flags(), crec_flash_physical_protect_at_boot(), and crec_flash_physical_protect_now() from shim/flash.c to cros_flash/cros_flash_npcx.c. BUG=b:187192628 BRANCH=none TEST=zmake -lDEBUG configure -b -B zephyr/build_volteer \ zephyr/projects/volteer/volteer/ Cq-Depend: chromium:2994430 Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com> Change-Id: Id6ed382ad4578969838339c9eb874b323390c485 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2891674 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org> Tested-by: Keith Short <keithshort@chromium.org>
* zephyr/drivers: npcx: reorganizes the flash driver(1)Tim Lin2021-07-011-136/+0
| | | | | | | | | | | | | | | | | | | Move the flash protection routines flash_get_status1() through flash_write_prot_reg() from shim/flash.c to cros_flash/cros_flash_npcx.c. BUG=b:187192628 BRANCH=none TEST=none Cq-Depend: chromium:2891674 Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com> Change-Id: Iaca3a32cfb35a77df10b87745bdabc1ed1cd3c40 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2994429 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org> Tested-by: Keith Short <keithshort@chromium.org>
* zephyr: Add pi3usb9201 emulator and testEdward Hill2021-06-301-0/+55
| | | | | | | | | | | | BUG=b:184852906 BRANCH=none TEST=zmake configure --test zephyr/test/drivers Change-Id: Ie554b6957269c638357d82d6f5dcc2ceda08caab Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2961272 Commit-Queue: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: implement ro/rw packing for hayatoJack Rosenthal2021-06-301-0/+12
| | | | | | | | | | | | | | | | | | | | | | | The "npcx" packer in zmake was hard-coded for Nuvoton devices. Restructure into a new packer, BinmanPacker, which makes no Nuvoton assumptions, and subclass it for the NpcxPacker. Note: there's some file size check here which was coded for Nuvoton only. I think it's not actually necessary since binman already checks to see if the region overflowed, and will error if it did. The best thing to do here is to keep the existing behavior and evaluate if that Nuvoton-only size check can just be removed from zmake. BUG=b:192401039 BRANCH=none TEST=zmake testall TEST=inspected fmap of hayato image, note I don't have a device to test on right now Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Ic45a030d0dd02451834161305f048487f7b273e4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2995602 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: Add BMA255 emulatorTomasz Michalec2021-06-301-0/+275
| | | | | | | | | | | | | | | | | Add BMA255 emulator which is emulated device on i2c bus. Emulated accelerometer properties are defined through device tree, but they can be changed in runtime through BMA255 emulator API. It allows to set custom handlers for write and read messages to emulate more complex scenarios or malfunctioning device. BUG=b:184855546 BRANCH=none TEST=none Signed-off-by: Tomasz Michalec <tm@semihalf.com> Change-Id: I4def7fcc54edbf9cb346fda0f21f647a5ad5f8d5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2933301 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: dts: npcx: move SHI node to npcx.dtsiJun Lin2021-06-292-10/+10
| | | | | | | | | | | | | | | | | | SHI is supported in all npcx family chips. Its dts node should be declared in the common location (i.e. npcx.dtsi.) BRANCH=none BUG=b:192295048 TEST=build lazor TEST=with CL:2993220, build herobrine_npcx7 and herobrine_npcx9 with CONFIG_CROS_SHI_NPCX enabled Signed-off-by: Jun Lin <CHLin56@nuvoton.com> Change-Id: I6b6d9ba9a666d86a0993fa59c3cb7ff8249b7595 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2993926 Tested-by: CH Lin <chlin56@nuvoton.com> Reviewed-by: Wai-Hong Tam <waihong@google.com> Commit-Queue: Wai-Hong Tam <waihong@google.com>
* zephyr: add support for mkbp wake event maskSam Hurst2021-06-281-0/+71
| | | | | | | | | | | | | | | Add support in the devicetree for masking mkbp events to prevent said events from waking up a suspended system. BUG=b:190503252 BRANCH=none TEST=make buildall TEST=zmake testall Signed-off-by: Sam Hurst <shurst@google.com> Change-Id: Ib53b8f96c2fb4704e25ce4fb62eb277a16d92cd9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2985820
* zephyr: dts: Move cros_kb_raw node to npcx.dtsiWealian Liao2021-06-071-0/+40
| | | | | | | | | | | | | | | | | | | | | | | cros-kb-raw@400a3000 is a npcx chip node. Move it to npcx.dtsi & overwrite the pin control setting in the corresponding dts file. For the status property in cros_kb_raw, npcx kbsan only has one hardware instance. NPCX cros_kb_raw driver doesn't use status property to enable the device. Remove status setting in cros_kb_raw node. Compared with 'gpio.inc' for boards based on trogdor, the keyboard doesn't use KSO13, 14. Remove KSO13, 14 in 'trogdor.dts'. BUG=none BRANCH=none TEST=zmake testall TEST=Check all keys work on volteer & lazor by "ksstate on". Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: Ie352b91ee13b18fa9079001ab7c3685f059ba299 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2931750 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* Zephyr: brya: add basic template for brya boardYuval Peress2021-05-261-0/+15
| | | | | | | | | | | | | Verify that npcx9 configuration and drivers work. BRANCH=none BUG=b:188605676 TEST=flash brya, check that LEDs work and console turns on Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I334ffc504da81ee6a6bb11b245b01a364ea05c6a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2909754 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* Zephyr: npcx: Move fiu0 to a common locationYuval Peress2021-05-251-0/+9
| | | | | | | | | | | | | | | The fiu0 node is common to all npcx family chips. So it can live in npcx.dtsi. BRANCH=none BUG=b:188605676 TEST=build kohaku, trogdor, and volteer Cq-Depend: chromium:2916719 Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: Ied2ceaf04c32a2bf748c37bf70c303d3a6c94aab Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2909753 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: npcx: rename cros/nuvoton/npcx.dtsi to npcx7Yuval Peress2021-05-252-39/+54
| | | | | | | | | | | | | | | | | The the upstream changes to support npcx9 there have been some changes to the nuvoton dtsi structure. These allow us to now depend on the more generic npcx7.dtsi instead of the specific npcx7m6fb.dtsi. It also moves some of the common code of the npcx family away from the more specific npcx7. BRANCH=none BUG=b:188605676 TEST=build volteer, trogdor, and kohaku Change-Id: I552bad25c2d9392059ab5dcb0684a2bdac01d545 Signed-off-by: Yuval Peress <peress@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2909752 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: add clock to support it8xxx2 cros_kb_row driverRuibin Chang2021-05-211-0/+40
| | | | | | | | | | | | | | | Add clock to support it8xxx2 cros_kb_row driver. BUG=b:187192587 BRANCH=none TEST=on hayato, read pll_reg_to_freq is same as setting. Cq-Depend: chromium:2909732 Change-Id: I9fd9f6ca5c6796ad9aee22a5cf7dc23564d2a814 Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2813880 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: npcx: Move ecst configuration options to upstreamWealian Liao2021-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | NPCX series ROM code changes the chip basic setting by firmware binary header for loading the firmware from flash to RAM. All the NPCX series chips could use it, so those configuration options are moved to upstream. The ecst chip version automatic select by CONFIG_SOC_NPCX7MNX. Currently, the project setting doesn't set to the expected chip part number. Change the following project to select the target chip & configure ecst header: - volteer: npcx7m7fc - trogdor: npcx7m6fc - kohaku: npcx7m6fc BUG=b:184448653 BRANCH=none TEST=zmake testall TEST=volteer boot to OS Cq-Depend: chromium:2872415 Signed-off-by: Yuval Peress <peress@chromium.org> Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: Ieed6c21536401f70950ddd1f18d243b127d896ed Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2867128 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org> Tested-by: Keith Short <keithshort@chromium.org>
* zephyr: Add Smart Battery emulatorTomasz Michalec2021-05-181-0/+243
| | | | | | | | | | | | | | | | | | | | Add Smart Battery emulator which is emulated device on i2c bus. Emulated battery properties are defined through device tree, but they can be changed in runtime through Smart Battery emulator API. It allows to set custom handlers for write and read messages to emulate more complex scenarios or malfunctioning device. BUG=b:184855975 BRANCH=none TEST=none Signed-off-by: Tomasz Michalec <tm@semihalf.com> Change-Id: Ia94a0a122123e3259882dfdc80d067c61c98379b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2903206 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Commit-Queue: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
* zephyr: add support for it8xxx2 cros_kb_row driverRuibin Chang2021-05-182-0/+65
| | | | | | | | | | | | | | | | | | Add support for it8xxx2 cros_kb_row driver. BUG=b:187192587 BRANCH=none TEST=on hayato, console cmd "ksstate" then press key: [115.097839 KB state: -- -- -- 02 -- -- 02 -- -- -- -- -- --] [116.462371 KB state: -- -- -- -- -- -- 02 -- -- -- -- -- --] [116.499633 KB state: -- -- -- -- -- -- -- -- -- -- -- -- --] Cq-Depend: chromium:2902165 Change-Id: I067b95bf2dfe4978e5370ce27382c67db100467b Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2784322 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: Rework CBI to be used as a driverDawid Niedzwiecki2021-05-141-0/+102
| | | | | | | | | | | | | | | | | | Rework the CBI support in Zephyr to be used via driver API. Change also approach what to do with SSFC - let sensor drivers decide how to handle alternative sensors. BUG=b:183990188 BRANCH=none TEST=Add alternative motion sensors to the device tree, modify CBI SSFC with 'cbi set 8 value 4', reboot EC and verify that the new sensors are used with the 'accelinfo' command. Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I701af96bfa7a17333220530a5c63b8e8aaeb0d6b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2862727 Reviewed-by: Yuval Peress <peress@chromium.org>
* zephyr: drop programmatic generation of binman device-tree inputJack Rosenthal2021-05-013-0/+54
| | | | | | | | | | | | | | | | | | | | | | | Move the binman device-tree input into the Zephyr build system's DTS, which allows overriding parts of the binman settings on a board/project specific basis using device-tree. In the process, we need to move the flash offset and size to device-tree instead of Kconfig, because Kconfig is not including during device-tree preprocessing. This is overall, a net-good change, as this should never been Kconfig in the first place. This assumes the existing Kconfig defaults of 512 KB of flash with 256 KB sections, however can still be overridden via device-tree. BUG=b:184388037 BRANCH=none TEST=zmake testall manually investigate the flash output for lazor using dump_fmap Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I424ea15454d5cd02947642116673bebcad3406cd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2860987 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: npcx: Add power management supportKeith Short2021-04-292-0/+48
| | | | | | | | | | | | | | Add power management support for the NPCX family. BUG=b:184653704 BRANCH=none TEST=zmake testall TEST=Verify deep sleep on Volteer (with next CL) and measure power. Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I86eef50c13742e7ca717da38a92636e589af6c58 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2855527 Reviewed-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com>
* zephyr: it8xxx.dtsi: Add include/cros/ite/it8xxx2.dtsiDenis Brockus2021-04-231-0/+65
| | | | | | | | | | | | | | BUG=b:185202623 BRANCH=none TEST=none Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Id9933dd5027d9059af3aa030f678421ee232ba9f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2848432 Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: shi: npcx: Improve SHI driverstabilize-RUST-13932.B-mainJun Lin2021-04-231-1/+1
| | | | | | | | | | | | | | | | | | | | | This CL fixes some potential leaks for the SHI driver: 1. Replace irq_lock/irq_unlock with __disable_irq/__enable_irq because irq_lock/irq_unlock leave some system exceptions still enabled. These may block the SHI driver's execution which requires hard timing. 2. Change the interrupt priority of SHI from 2 to 1. BRANCH=none BUG=b:182600858 TEST=Verify the SHI function on Lazor Signed-off-by: Jun Lin <CHLin56@nuvoton.com> Change-Id: If0ea355b5f300054ce8f7ae53de12f99a6d6aba6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2835526 Tested-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Tested-by: CH Lin <chlin56@nuvoton.com> Reviewed-by: Wai-Hong Tam <waihong@google.com> Commit-Queue: CH Lin <chlin56@nuvoton.com>
* zephyr: npcx: Fixed the name of nodes in device-tree filesWealian Liao2021-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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: Add chip info API in cros_system driverMulin Chao2021-04-081-0/+89
| | | | | | | | | | | | | | | | | | | | | Add the following chip_info API in cros_system driver for getting the chip information: 1. cros_system_chip_vendor() 2. cros_system_chip_name() 3. cros_system_chip_revision() BUG=none BRANCH=none TEST=build & boot ec on volteer Signed-off-by: Mulin Chao <mlchao@nuvoton.com> Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: I06718ff26f9cbee26cc9dbdcbbd02a0cc901d397 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2807477 Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: driver: SHI: remove SHI version controlJun Lin2021-04-021-1/+0
| | | | | | | | | | | | | | | | | | | | | In NPCX7mnFA, the old SHI module and the new SHI module co-exist in this chip. We need to set DEVALTF.bit7 to enable the new version of the SHI module. In the latter npcx7 variants and npcx9 chips, only the new SHI module is supported. Because NPCX7mnFA chip variants are not included in the zephyr repo. We can remove the version control setttng. BUG=b:182600858 BRANCH=none TEST=Test host command "version" and "Hello" on npcx7_evb and the host emulator. Signed-off-by: Jun Lin <CHLin56@nuvoton.com> Change-Id: I43b2fb5294f39e2bf04a0794c9d54e87c8e0ce33 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2799335 Tested-by: CH Lin <chlin56@nuvoton.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>