summaryrefslogtreecommitdiff
path: root/zephyr
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-05585-62279/+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-283-0/+29
| | | | | | | | | | | | | | | 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>
* common/i2c: Implement i2cspeed console commandCaveh Jalali2021-09-282-0/+15
| | | | | | | | | | | | | | | | | | This adds the "i2cspeed port [speed]" console command. If only the port number is given, then the current port bus speed is reported. With 2 arguments, the port bus speed is changed. Valid speeds are 100, 400, 1000 and the unit is kHz. BRANCH=none BUG=b:201039003 TEST=with follow-on patches, switched I2C bus speed between 400 kHz and 1 MHz. Change-Id: I7ca6b2c7a8fd9abe8e8ec77e4d1702529b297fe8 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3181504 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: Add watchdog reinstall mechanismWealian Liao2021-09-281-0/+7
| | | | | | | | | | | | | | | | | After the sysjump, the watchdog has been installed by the last image. The watchdog install function return -EBUSY while the watchdog has already been set up. This CL adds watchdog running check & reinstall watchdog for sysjump. BUG=none BRANCH=none TEST=RO/RW use the different timeout setting & test the timeout. Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: Ibe36d50c030afcfe79eb804ca05c7b426468cb07 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3180705 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* zephyr: Change NPCX BBRAM status information to LOG_INFWealian Liao2021-09-281-4/+3
| | | | | | | | | | | | | | | | | | NPCX BBRAM module provides VBAT/VSBY/VCC power drop information. The status bit will set when the chip power-up or hibernate PSL wake-up, which provides the false error alarm. This CL changes the power drop information to LOG_INF. BUG=none BRANCH=none TEST=Check the log with LOG_LEVEL_INF. Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: I36bafedbc694333236ae8824310cfdfcceab7ac8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3180704 Reviewed-by: Aaron Massey <aaronmassey@google.com> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@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-2712-13/+54
| | | | | | | | | | | | | | | | 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: NPCX EVB: disable unused I2C controllersKeith Short2021-09-271-0/+20
| | | | | | | | | | | | | | | Upstream Zephyr now requires that both the I2C port and I2C controller are explicitly enabled. BUG=b:200292035 BRANCH=none TEST=zmake testall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I32cae81567fc9420c293e06128653039a69f6d75 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3188562 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* SSFC: Framework to support two charger sourcesParth Malkan2021-09-241-1/+2
| | | | | | | | | | | | | | | | | | Many platforms have requirements to support more than one charge source (eg. pirika). It can't be supported by just enabling two different CONFIGS as that can lead to conflicts. Eg.USD_PD_VBUS_DETECT_TCPC vs USB_PD_VBUS_DETECT_DISCHARGE. This change provides a framework that supports two different charger sources in the same build. Please see the CL for relevant logs. BRANCH=None BUG=b:194375840 TEST=make -j buildall Signed-off-by: Parth Malkan <parthmalkan@google.com> Change-Id: I309cc5930233983e615d90a4290fc749abf7aa2d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3088232 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* zephyr: drivers: thermistors are device tree nodesAaron Massey2021-09-2417-489/+607
| | | | | | | | | | | | | | | | | | | 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: dts: Add vendor-prefixes.txt fileJack Rosenthal2021-09-241-0/+8
| | | | | | | | | | | | | | | | | | | | | | Starting with Zephyr v2.7, device-tree compatible string vendor prefixes are checked, and warnings are generated if a vendor prefix is unknown. Zephyr's CMake build system can recognize custom vendor prefix extensions at any ${DTS_ROOT} under the path "dts/bindings/vendor-prefixes.txt". We use the "cros-ec" vendor prefix widely in the Chromium EC, so add this as a known prefix. BUG=b:198824039 BRANCH=none TEST=warnings clear up in v2.7 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Ia4be6349edd178507bf4d6e663aa16dfef13c05f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3180266 Reviewed-by: Aaron Massey <aaronmassey@google.com>
* zephyr: Bring no_libgcc back to v2.7Jack Rosenthal2021-09-231-0/+7
| | | | | | | | | | | | | | | | | | | no_libgcc support was removed in upstream Zephyr OS, and we still depend on it to make coreboot-sdk work, as well as to add EC software panic handling for divide by zero. This hack emulates how no_libgcc used to function by removing -lgcc from the linker flags if no_libgcc is set. BUG=b:198824039 BRANCH=none TEST=compile volteer with v2.7_rc2 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I9e67277dd9f1f1b0dc36687b5255a99f82117a3b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3179311 Commit-Queue: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* Guybrush: Add keyboard and volume buttonsstabilize-14238.B-mainDiana Z2021-09-233-3/+10
| | | | | | | | | | | | | | Add configuration for the keyboard and volume buttons. BRANCH=None BUG=b:195137794 TEST=load on guybrush, confirm volume up and down prints Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I89306402474ec72455ff999f9da8a35b3eb4139a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3176403 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: guybrush: enable I2C controllersKeith Short2021-09-231-0/+32
| | | | | | | | | | | | | | | Explicitly enable all used I2C controllers. CL:3176841 disables the NPCX I2C controllers by default to save flash and RAM space. BUG=b:200292035 BRANCH=none TEST=zmake testall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: If2bbfbaee2e8392040776a9c87f0464274a7f2dd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3177580 Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* RTC: Zephyr IDT1337AG RTC driverSam Hurst2021-09-235-0/+566
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Zephyr IDT1337AG RTC driver BRANCH=none BUG=b:197743934 TEST=ectool rtcset 30000 ectool rtcget Current time: 0x00007535 (30005) ectool rtcsetalarm 10 after ~10 (measured with a timer) printed on ec console: [160.248900 event set 0x0000000002000000] I tested the alarm up to one hour. Hibernation test: rtc_alarm 10 hibernate [339.906200 system hibernating] *** Booting Zephyr OS build zephyr-v2.6.0-110-g862339fbeda5 *** [Image: RO, herobrine_npcx9_v2.6.73690-ec:c87457 [Reset cause: power-on hibernate] Signed-off-by: Sam Hurst <shurst@google.com> Change-Id: If5b936af2555915582ca38fee751f57bb2b8d10f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3173093 Reviewed-by: Wai-Hong Tam <waihong@google.com> Reviewed-by: Keith Short <keithshort@chromium.org>
* Guybrush: Correct zephyr power interruptsDiana Z2021-09-231-1/+1
| | | | | | | | | | | | | | | Correct the S5 PGOOD interrupt to go to the baseboard function to process it. BRANCH=None BUG=b:195137794 TEST=builds, continues to "boot" to S0 Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I0fb631eb67b662698b889171c399d968da788cb8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3176393 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: shim: implement a generic led_get_brightness_rangeFabio Baltieri2021-09-224-3/+26
| | | | | | | | | | | | | | | | | | | Implement a generic led_get_brightness_range function using static values from the device tree. This is currently ignoring led_id, but no pwm_led based device is using it right now anyway, so this could cover all existing use cases. BRANCH=none BUG=b:177452529 TEST=called the function, verified the values in runtime Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: I67dc7564eb6724e401961261ff5cc5892899ad5f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3170401 Reviewed-by: Yuval Peress <peress@google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: fix support for multiple fansMichał Barnaś2021-09-221-4/+4
| | | | | | | | | | | | | | | | | This commit fixes macros used to create named-fans instances. It will enable to have multiple named-fans declared in devicetree without raising "multiple definitions" error during compilation. BRANCH=main BUG=none TEST=Add named-fans instance in device tree and build firmware. Compilation with 2 or more names-fans should work correctly. Change-Id: If5c9a74f743749efc3a2872b0ced98500e96ca52 Signed-off-by: Michał Barnaś <mb@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3176200 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: test: remove unused functionYuval Peress2021-09-221-11/+0
| | | | | | | | | | | | | | | | Function was left over from a different approach to a test. BRANCH=none BUG=none TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I1fd3a1cf7da6725672cc35165e83bd60197358f0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3176386 Tested-by: Yuval Peress <peress@google.com> Auto-Submit: Yuval Peress <peress@google.com> Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* zephyr: shell: add alias for kernel threads commandMichał Barnaś2021-09-221-0/+9
| | | | | | | | | | | | | | | Add taskinfo command as alias for "kernel threads" for backward compatibility with CrOS EC. BRANCH=main BUG=b:190224781 TEST=Check that taskinfo correctly executes "kernel threads" command Change-Id: Ibdce9d8342fb7a99577b1f8d031c419fa485e7b0 Signed-off-by: Michał Barnaś <mb@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3174058 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* 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>
* zephyr: shim: define led_color_map from the devicetreeFabio Baltieri2021-09-223-1/+49
| | | | | | | | | | | | | | | | | | | This adds a set of properties for color mapping in the device tree for the pwm-leds device, and maps them to the internal "struct pwm_led_color_map". BRANCH=none BUG=b:177452529 TEST=compared the structure on gdb TEST=build and run on volteer Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: Ib3a704afccad40eab7115371dbf72c568f5602d9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3170400 Reviewed-by: Yuval Peress <peress@google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: shim: add an example for the leds property and make it requiredFabio Baltieri2021-09-221-0/+17
| | | | | | | | | | | | | | | Add a complete example for the cros-ec,pwm-leds leds property, and mark it as required since the whole LED functionality depends on it. BRANCH=none BUG=none TEST=build and run Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: I6d875b1a3a436baa77b6c15b8018e4b37102bb46 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3174051 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: test: fix setup useYuval Peress2021-09-221-1/+1
| | | | | | | | | | | | | | BRANCH=none BUG=none TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: Iae8c1a044b07849a2829fb43999621225824a2e7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3175621 Tested-by: Yuval Peress <peress@google.com> Auto-Submit: Yuval Peress <peress@google.com> Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* zephyr: shim: atomic_clear_bits should return a valueDenis Brockus2021-09-211-2/+2
| | | | | | | | | | | | | | | | | | | | | All of the other atomic operations return an atomic_val_t value. This should be so for atomic_clear_bits as well. The standard return value is the field value prior to applying the operation to it. BUG=b:141363146 BRANCH=none TEST=zmake configure -b $PROJ_HAYATO Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I7a64fddb1174e57ed0e04ef1502310d8494e860d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3173092 Auto-Submit: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* Revert "npcx: correct the image copies indication bits for npcx9"caveh jalali2021-09-211-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 20222d48571fa44c76fdb0ededd0ed042e9f8244. Reason for revert: brya thinks it's in EC-RW when it's really still in EC-RO. Original change's description: > npcx: correct the image copies indication bits for npcx9 > > In npcx5/7, we use two reserved bits in the BSC1 register (offset 0x07 > of the MDC register) to indicate what the current image copy is. > In npcx9, these two bits are used by the booter. We need to change them > to another two empty scratch bits which are not used by the booter. > > BUG=b:165777478 > BRANCH=none > TEST=pass "make buildall" > TEST=check the related bits changed by "sysump ro" and "sysjump rw" > > Signed-off-by: Jun Lin <CHLin56@nuvoton.com> > Change-Id: I6bcfe6d8752c6fa10022a21956d2e0ceb7f9418e > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3153119 > Tested-by: CH Lin <chlin56@nuvoton.com> > Reviewed-by: caveh jalali <caveh@chromium.org> > Auto-Submit: CH Lin <chlin56@nuvoton.com> > Commit-Queue: caveh jalali <caveh@chromium.org> Bug: b:165777478 Change-Id: I24cdfec0d5c8cd998f087525ae21b2a3daea43a7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3172266 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Tested-by: caveh jalali <caveh@chromium.org> Commit-Queue: caveh jalali <caveh@chromium.org>
* zephyr: test: Add test for st_raw_read_nYuval Peress2021-09-214-0/+79
| | | | | | | | | | | | | | | | | Enable mocking and add a test using the I2C mock emulator for the st_raw_read_n function. BRANCH=none BUG=b:200589041 TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I2554f1eab898942bc6d68860beba2e1eb02b5aa0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3171695 Tested-by: Yuval Peress <peress@google.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Yuval Peress <peress@google.com>
* zephyr: test: add a generic I2C mockYuval Peress2021-09-216-0/+141
| | | | | | | | | | | | | | | 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-213-3/+60
| | | | | | | | | | | | | | 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 lis2dw12_init timeoutYuval Peress2021-09-211-0/+16
| | | | | | | | | | | | | BRANCH=none BUG=b:200046770 TEST=zmake configure --test zephyr/projects/drivers Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: Icae6ca1a5b5a222893380975880979e68c3d941b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3170537 Commit-Queue: Yuval Peress <peress@google.com> Tested-by: Yuval Peress <peress@google.com> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: test: Test failed write on soft reset register (lis2dw12)Yuval Peress2021-09-212-0/+30
| | | | | | | | | | | | | | | Test the init code path that fails writing the soft reset register. BRANCH=none BUG=b:200046770 TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: Ic395c7dd749c4203800b72afbb024919a71d0eae Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3170535 Commit-Queue: Yuval Peress <peress@google.com> Tested-by: Yuval Peress <peress@google.com> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: test: Test failed read on who-am-i register (lis2dw12)Yuval Peress2021-09-213-4/+38
| | | | | | | | | | | | | | | 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: i2c: Translate zephyr error to ecos errorsYuval Peress2021-09-215-148/+209
| | | | | | | | | | | | | BRANCH=none BUG=none TEST=zmake testall Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I80f53103b3bb873da5627dec116386741b496a94 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3171693 Tested-by: Yuval Peress <peress@google.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Yuval Peress <peress@google.com>
* Revert "zmake: Trim short version on full hashes"Jack Rosenthal2021-09-214-104/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 695b3c909c4846493eacd324e9c26933847372d1. Reason for revert: Broke CQ See https://ci.chromium.org/ui/p/chromeos/builders/postsubmit/trogdor-zephyr-postsubmit/314 Original change's description: > zmake: Trim short version on full hashes > > The ec_version.h contains both a long build string and also a 31 char > string. Change the short string to omit the commit count, and only > include full hashes, i.e. hayato_v2.6-ec:5bd1aa,os:ade7b4 not > hayato_v2.6.73670-ec:5bd1aa,os: > > Change test to be a real version string with hashes of the right length. > > BUG=None > BRANCH=None > TEST=./zephyr/zmake/run_tests.sh > > Change-Id: I18d73345036933594b8c74187796c3727f868629 > Signed-off-by: Jeremy Bettis <jbettis@google.com> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3160464 > Tested-by: Jeremy Bettis <jbettis@chromium.org> > Auto-Submit: Jeremy Bettis <jbettis@chromium.org> > Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> > Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Bug: None Change-Id: Ib4282f761c514c0ca2da6249d38ccc9cba852f6d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3172040 Auto-Submit: Jack Rosenthal <jrosenth@chromium.org> Tested-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
* zephyr: Explicitly enable the I2C controllerKeith Short2021-09-205-0/+132
| | | | | | | | | | | | | | | | | Explicitly enable the I2C controller node that is used on each board using the Nuvoton NPCX7 or NPCX9 chipset. This is a no-op at the moment, but prepares for an upstream change that will disable the I2C controller nodes by default. BUG=b:200292035 BRANCH=none TEST=zmake testall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I158ae44090a719ef20930350d89efd7903e6e531 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3169389 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zmake: Trim short version on full hashesJeremy Bettis2021-09-204-41/+104
| | | | | | | | | | | | | | | | | | | | | The ec_version.h contains both a long build string and also a 31 char string. Change the short string to omit the commit count, and only include full hashes, i.e. hayato_v2.6-ec:5bd1aa,os:ade7b4 not hayato_v2.6.73670-ec:5bd1aa,os: Change test to be a real version string with hashes of the right length. BUG=None BRANCH=None TEST=./zephyr/zmake/run_tests.sh Change-Id: I18d73345036933594b8c74187796c3727f868629 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3160464 Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* usbpd: implement new api to access PD discovery dataDeepti Deshatty2021-09-201-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | API pd_get_am_discovery() sets the lock (task access bit) to keep track of EC tasks accessing the pd port discovery data. If any of the task access bits are set,EC host task typec discovery handler will return EC_RES_BUSY to host, indicating discovery data is modified while copying port discovery data to the host. Hence the lock/task access bit should be set only when the port discovery data is modified by any tasks. Setting of lock/task access is removed from pd_get_am_discovery() and implemented new api pd_get_am_discovery_and_notify_access() for this. pd_get_am_discovery() proto type is changed to return 'constant pointer' which forces developers to use pd_get_am_discovery_and_notify_access() when they intend to access and modify discovery data. summary of changes implemented. - Remove setting of task access bit from pd_get_am_discovery(). - modify pd_get_am_discovery() prototype to return constant pointer. - implement new api pd_get_am_discovery_and_notify_access() - Replace calls to pd_get_am_discovery() with new api wherever discovery data is accessed and modified. BRANCH=none BUG=b:197466819 b:190390784 TEST=Verified 50 cold boot cycling with TBT device attached. Device detected in every cycle. Signed-off-by: Deepti Deshatty <deepti.deshatty@intel.corp-partner.google.com> Change-Id: I5b6f1f2b91d92ddbe58f3bf994f684abee948c02 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3139858 Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Commit-Queue: Abe Levkoy <alevkoy@chromium.org>
* zephyr: Restructure GPIO interrupt table to save RAMKeith Short2021-09-181-12/+38
| | | | | | | | | | | | | | | | | | Restructure the GPIO interrupt table to separate the constant data from the data that needs to be updated at runtime. On Herobrine, this saves 180 byts flash and 240 bytes RAM. BUG=b:199328071 BRANCH=none TEST=zmake testall TEST=Boot zephyr on herobrine Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I096aec5b00fd7dc661db326a278ab44a0a1286da Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3169563 Commit-Queue: Yuval Peress <peress@google.com> Reviewed-by: Yuval Peress <peress@google.com>
* zephyr: guybrush: Bringup power sequencingJack Rosenthal2021-09-178-7/+184
| | | | | | | | | | | | | | | | | Bringup power sequencing for AMD and enable for guybrush. Note that at the moment we had to copy-paste the power signals and related funcitons, the code was a bit too far from shimming without extensive editing. We can try and merge together later. BUG=b:195137794 BRANCH=none TEST=power sequence to S0, nothing useful on ap console (yet!) Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I9a577e24d80fe0ff992af4b847e14695b82f871d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3169568 Reviewed-by: Diana Z <dzigterman@chromium.org>
* zephyr: guybrush: Enable shell candyJack Rosenthal2021-09-171-0/+6
| | | | | | | | | | | | | Enable help, tab complete, and history for much tasty. BUG=b:195137794 BRANCH=none TEST=use the features Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Ia27b9a1b0338d5ada6db5ba3c1893cea398ca78c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3169567 Reviewed-by: Diana Z <dzigterman@chromium.org>
* zephyr: guybrush: Enable ESPI driverJack Rosenthal2021-09-172-0/+2
| | | | | | | | | | | | | | | Got it to compile with just one extra gpio. Not sure if it actually works yet. BUG=b:195137794 BRANCH=none TEST=compiles Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I8103ba697206ce5350c2d353dbd3e05cec76eb40 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3169566 Reviewed-by: Diana Z <dzigterman@chromium.org>
* zephyr: kconfig: Add options for AMD power sequencingJack Rosenthal2021-09-172-7/+8
| | | | | | | | | | | | | | Add config options for AMD power sequencing and wire up to guybrush. Note this doesn't toggle any more code to compile yet. BUG=b:195137794 BRANCH=none TEST=compile for guybrush Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Ifd17c6eec05335079bd52955c37f37407501e270 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3169565 Reviewed-by: Diana Z <dzigterman@chromium.org>
* zephyr: guybrush: Bringup power buttonJack Rosenthal2021-09-173-4/+7
| | | | | | | | | | | | | | | Enable power button interrupt and module. Don't have the x86 state machine going yet. BUG=b:195137794 BRANCH=none TEST=push the button, see the prints Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I5996a65fe40afd58027452e5b44a60becbbdfa0d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3169199 Reviewed-by: Diana Z <dzigterman@chromium.org>
* zephyr: guybrush: Enable extpower gpio detectionJack Rosenthal2021-09-172-3/+7
| | | | | | | | | | | | | | | | Bring up GPIOs for ACOK, and wire the interrupts. Note we needed to set certain Kconfigs to n due to incorrectly specified defaults. BUG=b:195137794 BRANCH=none TEST=compiles Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I64f935895a74a5df2dbcd1122623788f91ef89fa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3169198 Reviewed-by: Diana Z <dzigterman@chromium.org>
* zephyr: guybrush: Populate GPIOsJack Rosenthal2021-09-173-5/+313
| | | | | | | | | | | | | | | | | Initial population converted from gpio.inc. IOEX gpios not handled yet. Added lid switch support as a first (useful) gpio. BUG=b:195137794 BRANCH=none TEST=observe uart prints with lid open/close Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Ie4ac37d11ca01594b390b999516e93462b1e4691 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3169197 Reviewed-by: Diana Z <dzigterman@chromium.org>
* zephyr: Initial port for GuybrushJack Rosenthal2021-09-1710-0/+319
| | | | | | | | | | | BUG=b:195137794 BRANCH=none TEST=uart works Change-Id: Ib7e177cfd501f78afb6edf943f078466dca455a6 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3168392 Reviewed-by: Diana Z <dzigterman@chromium.org>
* zephyr: minor reorganization of GPIO shimKeith Short2021-09-171-18/+19
| | | | | | | | | | | | | | Move a comment and a function to make the next CL cleaner. BUG=none BRANCH=none TEST=none Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I83185db995b083f839709eb564353a66364e87d0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3169562 Commit-Queue: Yuval Peress <peress@google.com> Reviewed-by: Yuval Peress <peress@google.com>
* zephyr: brya: delete duplicate GPIO interrupt definitionKeith Short2021-09-171-3/+1
| | | | | | | | | | | | BUG=none BRANCH=none TEST=zmake configure -b zephyr/projects/brya/brya Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: If780dd6dfc92e0dabbe7c1aff19d2c0fe945c6d6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3169561 Commit-Queue: Yuval Peress <peress@google.com> Reviewed-by: Yuval Peress <peress@google.com>
* zephyr: test: Add tests for lis2dw12 driverYuval Peress2021-09-174-0/+115
| | | | | | | | | | | | | | | | 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-178-0/+146
| | | | | | | | | | | | | 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>