summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* chip/mt_scp: Fix return typeTom Hughes2021-09-241-1/+1
| | | | | | | | | | | | | | | | | | clang complains that the types do not match: chip/mt_scp/mt8183/ipi.c:349:9: error: implicit conversion from enumeration type 'enum ec_error_list' to different enumeration type 'enum ec_status' [-Werror,-Wenum-conversion] BRANCH=none BUG=b:172020503 TEST=make buildall -j TEST=CC=arm-none-eabi-clang make BOARD=kukui_scp -j Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I14e850f5e2ace5c3f3e59c7bc2aa90b3eaf92a9d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3182620 Reviewed-by: Edward Hill <ecgh@chromium.org>
* zephyr: drivers: thermistors are device tree nodesAaron Massey2021-09-2421-493/+642
| | | | | | | | | | | | | | | | | | | 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>
* host sleep: fix infinite timeoutBoris Mittelberg2021-09-241-1/+3
| | | | | | | | | | | | | | | | | | | | Add the corner case when default == infinite BUG=b:187532888 BRANCH=none TEST=manual: 1. `/usr/share/vboot/bin/make_dev_ssd.sh --edit --part=2` 2. Add `intel_idle.max_cstate=1` 3. reboot 4. (EC) `sleeptimeout infinite` 5. `echo freeze > /sys/power/state` 6. System doesn't wake up Signed-off-by: Boris Mittelberg <bmbm@google.com> Change-Id: I5903ddd09262254a485eb9d09731bcd687b6d650 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3180260 Reviewed-by: Rajat Jain <rajatja@google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* ec: Fail on uninitialized variablesJeremy Bettis2021-09-243-4/+10
| | | | | | | | | | | | | | | | | | | | | | | The zephyr toolchain has -Werror=maybe-uninitialized enabled by default, so enable it for all gcc EC builds to prevent possible uninitialized vars from sneaking into the codebase. For clang builds, use -Werror=uninitialized instead. BRANCH=None BUG=None TEST=in docker: make -j CRYPTOC_DIR="${MODULES_DIR}/cryptoc" \ FTDIVERSION=1 HOSTGCOV='gcov' \ CROSS_COMPILE_arm=/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi- \ coverage in chroot; make try_build_boards buildall_only Change-Id: I3efb4b2958f2037606195743d768870e1d0b18b9 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3171939 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>
* driver/tcpm/it83xx: turn both cc pins off when disable VconnRuibin Chang2021-09-241-9/+17
| | | | | | | | | | | | | | | | | | | | | If the pd port has previous connection and supplies Vconn, then RO jumping to RW reset the system, we never know which cc is the previous Vconn pin, so we always turn both cc pins off when disable Vconn power switch. BUG=b:199461325 BRANCH=none TEST=on board haboki, RO jump to RW, check Vconn low and pd can nego Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw> Change-Id: I526af287d3f52ca27c38f342553aac9b3a241d84 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3178341 Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Zick Wei <zick.wei@quanta.corp-partner.google.com> Tested-by: Zick Wei <zick.wei@quanta.corp-partner.google.com> Commit-Queue: Diana Z <dzigterman@chromium.org>
* 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>
* driver/tcpm/it8xxx2: turn both cc pins off when disable VconnRuibin Chang2021-09-241-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | If the pd port has previous connection and supplies Vconn, then RO jumping to RW reset the system, we never know which cc is the previous Vconn pin, so we always turn both cc pins off when disable Vconn power switch. This change is leveraged from it83xx (CL:3178341), although Vconn is controlled by ppc on asurada series and asurada series don't happen the bug, but we still need this change for the future that if there is a project control Vconn by GPIO. BUG=none BRANCH=none TEST=make board hayato Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw> Change-Id: I66e7961d5ba412c18948a433103c17b79e7c5e08 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3180703 Reviewed-by: Eric Yilun Lin <yllin@google.com> Commit-Queue: Eric Yilun Lin <yllin@google.com>
* bugzzy : tune usb muxYongBeum.Ha2021-09-241-0/+7
| | | | | | | | | | | | | | | tune usb mux for port c1. BUG=b:198258596 BRANCH=None TEST=make -j BOARD=bugzzy Signed-off-by: YongBeum.Ha <ybha@samsung.corp-partner.google.com> Change-Id: I1bd9eab824cd9a3c3c87c4639be315943acc5ec1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3139527 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Henry Sun <henrysun@google.com>
* ps8743 : add definition to tune usb muxYongBeum.Ha2021-09-241-0/+27
| | | | | | | | | | | | | | | add register and value definition to tune usb and dp. BUG=b:198258596 BRANCH=None TEST=make -j BOARD=bugzzy Signed-off-by: YongBeum.Ha <ybha@samsung.corp-partner.google.com> Change-Id: I82808af8c2f53783a3157417063cf40e2df70ad6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3139526 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Henry Sun <henrysun@google.com>
* bugzzy : correct sensor on lidYongBeum.Ha2021-09-242-2/+1
| | | | | | | | | | | | | | | | sensor setting on lid is wrong. correct setting on lid from GMR to LIS2DS BUG=b:200831783 BRANCH=None TEST=make -j BOARD=bugzzy Signed-off-by: YongBeum.Ha <ybha@samsung.corp-partner.google.com> Change-Id: I784cf9c234f37c1513321efc92243b112d45b162 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3177803 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Henry Sun <henrysun@google.com>
* bugzzy : add enable signal for USB AYongBeum.Ha2021-09-243-1/+11
| | | | | | | | | | | | | | | add power enable signal for USB A port BUG=b:192170188 BRANCH=None TEST=make -j BOARD=bugzzy Signed-off-by: YongBeum.Ha <ybha@samsung.corp-partner.google.com> Change-Id: Ib0392f4caacd2f7a7607653def89ed1cbd9e069e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3144984 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Henry Sun <henrysun@google.com>
* taeko/taeland: add fan controlamber.chen2021-09-233-21/+3
| | | | | | | | | | | | | BUG=b:194774929 BRANCH=main TEST=make -j BOARD=taeko Signed-off-by: amber.chen <amber.chen@lcfc.corp-partner.google.com> Change-Id: Iaefd277fe17dcf3bebbcd304f6eb7fb33f72cab7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3146779 Reviewed-by: YH Lin <yueherngl@chromium.org> Reviewed-by: Boris Mittelberg <bmbm@google.com> Commit-Queue: Boris Mittelberg <bmbm@google.com>
* brask: Change maximum power for typecDavid Huang2021-09-231-2/+2
| | | | | | | | | | | | | | Add typec support power to 100W. BUG=b:197702356 BRANCH=None TEST=make buildall success. Signed-off-by: David Huang <david.huang@quanta.corp-partner.google.com> Change-Id: I8e8527cdfe80a59e05cef6a2aa7962c6fe90a255 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3178340 Reviewed-by: caveh jalali <caveh@chromium.org> Commit-Queue: caveh jalali <caveh@chromium.org>
* 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>
* brya: Modify thermal_paramsOwen_Ou2021-09-232-26/+27
| | | | | | | | | | | | | | | | | Modify brya's thermal_params. BUG=b:181271666 BRANCH=none TEST=make -j BOARD=brya and flash brya p2 can boot. Signed-off-by: Owen_Ou <Owen_Ou@compal.corp-partner.google.com> Change-Id: I00c3991e2b27d1ac16489bed43204d388a557ae5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3132312 Tested-by: Owen Ou <owen_ou@compal.corp-partner.google.com> Auto-Submit: Owen Ou <owen_ou@compal.corp-partner.google.com> Commit-Queue: caveh jalali <caveh@chromium.org> Reviewed-by: Boris Mittelberg <bmbm@google.com> Reviewed-by: SamSP Liu <samsp_liu@compal.corp-partner.google.com>
* Moonbuggy: Update thermal tableSue Chen2021-09-231-5/+5
| | | | | | | | | | | | | | | BUG=b:188596619 BRANCH=puff TEST=none Signed-off-by: Sue Chen <sue.chen@quanta.corp-partner.google.com> Change-Id: I79f79ef06c98dd3e83ba17b65aaf3ce1bc6de071 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3143408 Reviewed-by: Jeff Chase <jnchase@google.com> Reviewed-by: Joe Tessler <jrt@chromium.org> Reviewed-by: Matthew Ziegelbaum <ziegs@chromium.org> Tested-by: Joe Tessler <jrt@chromium.org> Commit-Queue: Jeff Chase <jnchase@google.com>
* 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>
* core/cortex-m: Disable warning in vecttable.c when building with clangTom Hughes2021-09-231-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | The vecttable logic explicitly routes unused IRQs to IRQ_UNUSED_OFFSET, and then assigns it to "null" at the very end. The result is something like: [8] = __attribute__((used, weak, alias("default_handler"))) irq_55_handler(void); [8] = __attribute__((used, weak, alias("default_handler"))) irq_56_handler(void); ... [8] = (void*)0 This is intentional so that it works with a varying values for CONFIG_IRQ_COUNT. BRANCH=none BUG=b:172020503 TEST=make buildall -j Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I3ba4eeaa46cd2c50c65c922f4c0c463ce1bb585e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3172038 Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
* test/utils: Switch to run-time test to fix clang buildTom Hughes2021-09-231-1/+4
| | | | | | | | | | | | | | | | | | | | | The BUILD_ASSERT that was used fails to compile with clang: error: static_assert expression is not an integral constant expression BUILD_ASSERT(str1 != str3) BRANCH=none BUG=b:172020503 TEST=make buildall -j TEST=./test/run_device_tests.py --board dartmonkey --compiler clang --tests=utils --remote 127.0.0.1:2551 TEST=./test/run_device_tests.py --board dartmonkey --compiler gcc --tests=utils --remote 127.0.0.1:2551 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Id93ea45b653b86fd5a79ed565e1fa94ffd317723 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3174596 Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
* driver: lsm6dsm: remove load_fifo_sensor_state_tGwendal Grignou2021-09-232-38/+0
| | | | | | | | | | | | | | | | Remove load_fifo_sensor_state_t since timestamp spreading is done in common code. Fixes: 4e6d315948 ("common: motion_sense: Spread timestamps in motion sense fifo") BUG=b:172342141 BRANCH=none TEST=buildall Change-Id: If47fdd5dc800e6b75bdea4fcef80cf6874debdaa Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3150052 Reviewed-by: Yuval Peress <peress@google.com>
* 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>
* nipperkin: support HDMI power controlZick Wei2021-09-232-2/+22
| | | | | | | | | | | | | | | | This patch add gpio: EN_PWR_HDMI, HDMI_DATA_EN control, set low when suspend, set high when resume. BUG=b:193395015 BRANCH=none TEST=check GPIO status in s0 and suspend. Signed-off-by: Zick Wei <zick.wei@quanta.corp-partner.google.com> Change-Id: I21155b5f572ed9d5a9ca01eb5dd9fc91c12b6344 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3167614 Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Devin Lu <Devin.Lu@quantatw.com> Commit-Queue: Rob Barnes <robbarnes@google.com>
* tomato: board rev2 gpio updateTing Shen2021-09-232-7/+7
| | | | | | | | | | | | | | | | | | | GPA4/GPA5: kb backlight -> Programming I2C GPA3: Test point -> KB_BL_PWM GPA6: Test point -> EN_KB_BL Since the PWM pin changed, this CL breaks kb backlight on old boards. BUG=b:199829459 TEST=pass factory test BRANCH=main Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I33c42708b7694aeb625ea5b0879b3ac08ec81f67 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3160457 Reviewed-by: Eric Yilun Lin <yllin@google.com> Tested-by: Sue Chen <sue.chen@quanta.corp-partner.google.com> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* Revert "DP/TBT/USB4: Retimer WA resolved Brya TBT lane bonding issue in AP mode"madhusudanarao amara2021-09-233-46/+0
| | | | | | | | | | | | | | | | | | | | This reverts commit f0985f8a11585f6a704aa94a8354bd5b934619ac. Reason for revert: Issue is resolved after setting the Force BB Retimer GPIO (GPP_E4) to 0. It is a coreboot change. BUG=b:195375738 BRANCH=None TEST=TBT enumerated no lane bonding issue is observed with above coreboot code change with reverted EC WA. Signed-off-by: madhusudanarao amara <madhusudanarao.amara@intel.corp-partner.google.com> Change-Id: I09a8a53aec9ba3757189a091606922bc7a133ba7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3162936 Reviewed-by: Deepti Deshatty <deepti.deshatty@intel.corp-partner.google.com> Reviewed-by: caveh jalali <caveh@chromium.org> Reviewed-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Commit-Queue: caveh jalali <caveh@chromium.org>
* primus: update thermal tableTerry Chen2021-09-231-3/+15
| | | | | | | | | | | | | | | Update thermal table(V1) for settings provided by thermal team on 2021-09-23. BUG=b:200836803 TEST=make -j BOARD=primus TEST=test pass by thermal team Signed-off-by: Terry Chen <terry_chen@wistron.corp-partner.google.com> Change-Id: I1f72e26d9d6ae9b48738688e4331ebcd05949f18 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3177900 Reviewed-by: caveh jalali <caveh@chromium.org> Commit-Queue: caveh jalali <caveh@chromium.org>
* cherry: enable CONFIG_USB_PORT_POWER_DUMB_CUSTOM_HOOKTing Shen2021-09-233-1/+5
| | | | | | | | | | | | | | | | | | | CL:3023017 does not work as expected because usb_port_power_dump module still controls the power power. This CL disables the hooks in usb_port_power_dump and enables the interrupt function usb_a0_interrupt instead. BUG=b:193499785 TEST=verify USB-A port works after this change BRANCH=main Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I56196f2a062d6b3358a9a4330e7f33ab546f5d1b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3174606 Reviewed-by: Rong Chang <rongchang@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@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>
* motion_sense: Fix ap_event_interval calculation.Gwendal Grignou2021-09-231-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [CONFIG_AP].ec_rate, populated with sysfs entry |hwfifo_timeout|, is used to calculate |ap_event_interval| the delay before sending a new event to the AP. When load_fifo() still existed (CL:938146), it was critical that a sample was available before gathering the data. When ODR and |hwfifo_timeout| are closed, |ap_event_interval| is increased by 5%. Now, since samples are collected after an interrupt triggers due to at least one element in the sensor FIFO or are scheduled based on the sensor data rate (forced mode), we are guaranteed to have an event. We should actually decreate |ap_event_interval| by 5% to be sure an event is triggered. When both an interrupt based sensor and a force sensor are at running at the same ODR, they will probably not be in phase, but there will be opportunity to send event to the host. One sensor will have a fix delay, guaranteed to be less than its ODR. BUG=b:195264765,b:129159505,b:73557414 BRANCH=many. TEST=Without the change, on gaybrush, we can see that events are sent 2 by 2, event when the AP asks for them immediately. Using 'iioservice_simpleclient --device_id=3 --channels="timestamp" --frequency=49 --samples=40' (50Hz ODR): : Before : After Latency tolerance: 0.070408 s : 0.070408 s Max latency : 0.024089 s : 0.004047 s Min latency : 0.003339 s : 0.003167 s Median latency : 0.02319 s : 0.003565 s Mean latency : 0.013644 s : 0.003567 s Change-Id: I9035dd535ff2895be5011335c5f44bd069c9421e Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3172269 Reviewed-by: Rob Barnes <robbarnes@google.com> Reviewed-by: Diana Z <dzigterman@chromium.org>
* board/guybrush-dewat: Minor cleanupGwendal Grignou2021-09-233-36/+35
| | | | | | | | | | | | | | | Remove g_bmi323 static variable, use same structure as bmi160. Fill motion_sensors array with index in order. BUG=b:195264765 BRANCH=none TEST=compile Change-Id: I2c16fa64db7786bf5ff977cd6626c3d9de9b66b4 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3172268 Reviewed-by: Rob Barnes <robbarnes@google.com> Reviewed-by: Diana Z <dzigterman@chromium.org>
* driver: bmi3xx: simplify irq handlerGwendal Grignou2021-09-232-261/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove unnecessary structure: - bmi3_fifo_data, bmi3xx_drv_data - put static buffer in local bmi3_fifo_frame - Tighten interrupt routine - Use word to avoid intermediate copy - Trust fifo configuration from fifo_enable. - Process FIFO until interrupt indicates it is empty. - Simplify bmi3_parse_fifo_data - Use loop to avoid code duplication. - Remove intermediate variable. - Use word to process FIFO. - Remove blank lines, use inverted christmas tree convention. - Use constant when appropriate. - Set FIFO watermark to 3 words to catch single acceleromter event when gyroscope is disabled. BUG=b:195264765,b:178398789 BRANCH=none TEST=Run `tast run guybrushlocal hardware.SensorIioserviceHard' in loop. Change-Id: I55da91a557b8c51f707dc29b4867cc715dce2cca Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3170618 Reviewed-by: Diana Z <dzigterman@chromium.org>
* Revert "driver: bmi3xx: Set FIFO watermark to 6 words"Gwendal Grignou2021-09-231-1/+1
| | | | | | | | | | | | | | | | | | This reverts commit 5786cdd32f9d8ba7da8b2d9764b06dfeb991f5ff. FIFO is not always 6 words: When the gyroscope is disabled, the FIFO will only contains 3 words. BUG=b:178398789,b:195264765 BRANCH=none TEST=Compile Cq-Depend: chromium:3170618 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Change-Id: I1cc0f6e31bb06a2ea11a815ea1f360766fb5d474 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3172267 Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Rob Barnes <robbarnes@google.com>
* Blipper: Add beetley related configurationwuzhongtian2021-09-235-24/+251
| | | | | | | | | | | | | | | | | Add the relevant configuration of beetley to the blipper ec code BUG=b:199479277 BRANCH=dedede TEST=make BOARD=blipper pass,and we have done some tests on the modified Blipper device,the basic functions are normal. Signed-off-by: wuzhongtian <wuzhongtian@huaqin.corp-partner.google.com> Change-Id: Ie6e246755779201faa12f6f48670b018b816351f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3151049 Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-by: Shou-Chieh Hsu <shouchieh@chromium.org> Tested-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Commit-Queue: Shou-Chieh Hsu <shouchieh@chromium.org>
* board: Do not enable gyroscope by defaultGwendal Grignou2021-09-237-60/+1
| | | | | | | | | | | | | | | | | | | | | Enable gyroscope only when the AP needs it. It is not used by the EC. For lid calculation, set frequency at 10HZ, the drivers will calculate higher frequencies when needed. Modify other boards as well: Use awk '/\.type = MOTIONSENSE_TYPE_GYRO,/ { check_config=1 } \ /\.config = / { if (check_config) { print FILENAME,$0 } } \ /\.type = MOTIONSENSE_TYPE_[^G]/ { check_config=0 }' board/*/sensors.c | \ cut -d ' ' -f 1' to locate the impacted files (board.c as well). BUG=none BRANCH=none TEST=Check rotation is still working on brya Change-Id: I45d82d00c30e35541df80d1b7805f8302b3d98ff Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3170174 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-225-4/+27
| | | | | | | | | | | | | | | | | | | 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-224-2/+50
| | | | | | | | | | | | | | | | | | | 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>
* mchp: Check parameter us in void usleep(unsigned us)martin yan2021-09-221-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Check parameter us in void usleep(unsigned us) under common, to avoid triggering ASSERT(us), it may be a good idea to figure out which caller to pass 0 parameter, but it may be difficult during run-time. remove ASSERT(us) in this usleep() routine BUG=none BRANCH=none TEST=Tested on ADL RVP and MCHP1727 MECC system without parameter 0 checking, ASSERT(us) is triggered as POR: [0.482657 power_chipset_init: power_signal=0x0] [0.484735 SW 0x01] ASSERTION FAILURE 'us' in usleep() at common/timer.c:184 === PROCESS EXCEPTION: 00 ====== xPSR: 000cfb43 === r0 :000000b8 r1 :000e9aa6 r2 :000e9ad0 r3 :000d1a51 r4 :dead6663 r5 :000000b8 r6 :000765f4 r7 :00040314 r8 :00118e00 r9 :000e4aa8 r10:000e456c r11:00000000 r12:00000000 sp :0011b420 lr :00000030 pc :00000030 after checking is added, ASSERT(us) is not hit Signed-off-by: martin yan <martin.yan@microchip.corp-partner.google.com> Change-Id: I2f58ea132da7bf7a5dd315a69675013617eb0a64 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3138620 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
* cherry: redesign RT1718S GPIO 1/2 behaviorTing Shen2021-09-223-48/+10
| | | | | | | | | | | | | | | | | | | | | | | Reimplement the logic of GPIO 1/2 such that the state of these pins does not tied together anymore. Instead, board_set_active_charge_port controls GPIO 1 only, and pd_power_supply_* functions controls GPIO 2 only. Also give these pins a readable name. BUG=b:198707662 TEST=1) pass faft_pd on port C1 2) able to boot with C1 plugged AC power and without battery BRANCH=none Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: Id33160a0c3ed202cdfe3666c2444098a3031229f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3168036 Reviewed-by: Rong Chang <rongchang@chromium.org> Reviewed-by: Eric Yilun Lin <yllin@google.com> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
* iteflash: fix sigactionDonald Huang2021-09-221-1/+5
| | | | | | | | | | | | | | | Clear sigaction to 0. BUG=none BRANCH=none TEST=Check it ok by cherry platform. Signed-off-by: Donald Huang <donald.huang@ite.com.tw> Change-Id: I5d08158bd1aa8262e2abe6917ac7c4732d22fd46 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3162463 Tested-by: Donald Huang <donald.huang@ite.corp-partner.google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* cappy2: Apply HOSTCMD_BATTERY_V2 to get battery infowangganxiang2021-09-221-0/+3
| | | | | | | | | | | | | | | | | Since the static information may be read error when the battery is initialized, so the battery information in share memory need update. BUG=b:199102576 BRANCH=keeby TEST=make BOARD=cappy2 pass Signed-off-by: wangganxiang <wangganxiang@huaqin.corp-partner.google.com> Change-Id: I408627ca9a61f8e5edd95297c09f165c5ac32524 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3168452 Reviewed-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Reviewed-by: Henry Sun <henrysun@google.com> Commit-Queue: Henry Sun <henrysun@google.com>
* ccgxxf: Add correct I2C address flagsstabilize-14235.B-mainVijay Hiremath2021-09-221-2/+1
| | | | | | | | | | | | | | | | CCGXXF exposes I2C addresses 0x0B for 1st port & 0x1B for second port hence corrected the I2C address flags in header file. BUG=none BRANCH=none TEST=Able to initialize second Type-C port Change-Id: I9dc955d1035b1f488e92a47cdac49bdd6154f4ae Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3172253 Reviewed-by: Tanu Malhotra <tanu.malhotra@intel.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
* byra: Disable ACPI messages on EC console by defaultGwendal Grignou2021-09-221-2/+5
| | | | | | | | | | | | | | | | | | When using sensors a lot of messages are sent, overwhelming the EC console port. BUG=none BRANCH=master TEST=When running "tast run <ip hardware.SensorIioserviceHard", check the EC console is not overflown with message like: 21-09-17 23:01:41.981 [444.007624 ACPI query = 27] 21-09-17 23:01:42.053 [444.086884 event set 0x0000000004000000] 21-09-17 23:01:42.057 [444.087864 event clear 0x0000000004000000] Change-Id: I825831d83ce468d719b4303abadec4e2e0a0d1af Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3170173 Reviewed-by: Keith Short <keithshort@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>
* efs2: Add overridable packet mode functionVijay Hiremath2021-09-212-6/+11
| | | | | | | | | | | | | | | | | | To support multiple OS and to reduce the BOM stuffing options on Intel RVP, Packet mode GPIO is added on I/O expander hence added overridable function. BUG=b:200189880 BRANCH=none TEST=make buildall -j Change-Id: Ieea1129614258393f7c73712ed28ed50b9fbf8fb Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3087618 Reviewed-by: Li Feng <li1.feng@intel.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>