summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* flash_fp_mcu: Fix FPMCU flashing on Nami (14375.0.0 and later)stabilize-14388.62.B-mainstabilize-14388.61.B-mainstabilize-14388.52.B-mainrelease-R98-14388.B-mainPatryk Duda2021-12-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Starting from R98-14375.0.0 the default overlay for Nami switched from 4.4 kernel to 5.4 kernel (https://chrome-internal-review.googlesource.com/c/4237358). Update DEVICE constant in nami config script to /dev/spidev1.0 which is correct value for 5.4 kernel. BUG=b:208680160 b:210526861 BRANCH=none TEST=Run 'flash_fp_mcu --noservices' on board from Nami family Signed-off-by: Patryk Duda <pdk@semihalf.com> Change-Id: I3f819c4a6fb291fd4308a9895590446e9de1ab31 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3358575 Reviewed-by: Josie Nordrum <josienordrum@google.com> Commit-Queue: Josie Nordrum <josienordrum@google.com> (cherry picked from commit b1e74a6d16d5b9fd39c3b3646c50b90eebd5efa7) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3358580 Commit-Queue: Patryk Duda <patrykd@google.com> Tested-by: Patryk Duda <patrykd@google.com>
* adlrvp: configure USB_C1_HPD PCA9675 I/O expander gpioDeepti Deshatty2021-12-081-0/+1
| | | | | | | | | | | | | | | | | | | Adlrvpn type-c port 1 has Aux switch for usb/dp mode. Switch connects or disconnects type-c port SBU lines to the SoC. USB_C1_HPD controls the Aux usb/dp switch. Hence set USB_C1_HPD to GPIO_OUT_LOW which ensures switch is in closed state. BUG=none BRANCH=none TEST=Verified USB and DP on adlrvpn type-c port1 Signed-off-by: Deepti Deshatty <deepti.deshatty@intel.corp-partner.google.com> Change-Id: I3f4fb23450bf58bd3cd488c91075b11a5b09abba Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3282977 Reviewed-by: Poornima Tom <poornima.tom@intel.com> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: lis2dw12: Finish init() testsTristan Honscheid2021-12-082-0/+82
| | | | | | | | | | | | | | | Add tests for the remainder of the LIS2DW12 init() function. Also added the CTRL3 register to the emulator since this is accessed in the init routine. BRANCH=None BUG=b:200046770 TEST=zmake -D configure --test test-drivers; make runhosttests Signed-off-by: Tristan Honscheid <honscheid@google.com> Change-Id: Iacb767f384474801c69159476a5ce446df1f9ae0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3318820 Reviewed-by: Aaron Massey <aaronmassey@google.com>
* zephyr: lis2dw12: Add test for read() functionTristan Honscheid2021-12-081-1/+103
| | | | | | | | | | | | | Tests reading and processing samples from the accelerometer. BRANCH=None BUG=b:200046770 TEST=zmake -D configure --test test-drivers; make runhosttests Signed-off-by: Tristan Honscheid <honscheid@google.com> Change-Id: I56e324471c64b48a3aa47879826f8aaee968707f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3318819 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: emul: set/read accel data support for LIS2DW12 emulatorTristan Honscheid2021-12-083-0/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support to the LIS2DW12 emulator for the following. This is needed by an upcoming driver unit test for reading data from the sensor * Add support for reading the status and output data registers via I2C. Multi-byte reads are supported for the data regs. All of these will assert if written to because they are listed as read-only. * Add two new emulator control functions: * lis2dw12_emul_set_accel_reading - Allows the test to set a fake accelerometer reading. The X, Y, Z values are copied in to the internal register store in the appropriate format. The data ready bit in the status register is set. * lis2dw12_emul_clear_accel_reading - Reset the data registers to 0 and clear the data ready flag. * Add macro definitions for the min and max acceleromter values. These are used for validating readings passed to lis2dw12_emul_set_accel_reading(). BRANCH=None BUG=b:200046770 TEST=zmake -D configure --test test-drivers; make runhosttests Signed-off-by: Tristan Honscheid <honscheid@google.com> Change-Id: I56c93677e3e5d067f070d9b3fd98e2b25f80eac7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3318818 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: lis2dw12: Test set_data_rate()Tristan Honscheid2021-12-081-0/+116
| | | | | | | | | | | | | | | Unit test for the LIS2DW12 set_data_rate function. Covers turning the device off by setting a rate of 0, and exercises the rounding and clamping functionality. BRANCH=None BUG=b:200046770 TEST=zmake -D configure --test test-drivers; make runhosttests Signed-off-by: Tristan Honscheid <honscheid@google.com> Change-Id: I1ba28a7b192b4921593085b922269adc172ba6ad Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3311183 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: lis2dw12: Add convenience functions to emulatorTristan Honscheid2021-12-082-0/+77
| | | | | | | | | | | | | | | Add some functions for peeking at the registers in the LIS2DW12 emulator and helpers for accessing the ODR, MODE, and LPMODE bits in the control register. These will be used for an upcoming driver test BRANCH=None BUG=b:200046770 TEST=zmake -D configure --test test-drivers; make runhosttests Signed-off-by: Tristan Honscheid <honscheid@google.com> Change-Id: Ia4134c3a8b2edac1f9929bb3fca52f37d3fc8496 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3311182 Reviewed-by: Yuval Peress <peress@google.com>
* zephyr: lis2dw12: Remove redundant min data rate clampTristan Honscheid2021-12-081-3/+0
| | | | | | | | | | | | | | | | The set_data_rate() function checks if the requested data rate is below the minimum supported by the chip, but this check happens after the odr_to_normalize() and odr_to_reg() have clamped it. So this check is redundant and unreachable. BRANCH=None BUG=b:200046770 TEST=zmake -D configure --test test-drivers; make runhosttests Signed-off-by: Tristan Honscheid <honscheid@google.com> Change-Id: Ib3f85e251ec0a8f15891a7ceec1844695c37278a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3311181 Reviewed-by: Sam Hurst <shurst@google.com>
* zephyr: brya: Enable PMIC mp2964 configurationRajesh Kumar2021-12-085-0/+26
| | | | | | | | | | | | | This enables the configuration for power management IC MP2964. BUG=b:209023139 BRANCH=none TEST=make configure -B ~/tmp/brya/ brya -b Signed-off-by: Rajesh Kumar <rajesh3.kumar@intel.com> Change-Id: I2bf39eea0db05103ca82e096cba07941b2f23ee4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3315227 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: lis2dw12: Test set_range functionTristan Honscheid2021-12-082-1/+44
| | | | | | | | | | | | | | Add a test for the set_range function. There's a possible bug in this function that is documented in b:207691864 BRANCH=None BUG=b:200046770 TEST=zmake -D configure --test test-drivers; make runhosttests Signed-off-by: Tristan Honscheid <honscheid@google.com> Change-Id: If11144b74307ef62ef4149fb8e6401f0bdb1f8c8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3311180 Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: lis2dw12: Add tests for set_power_mode()Tristan Honscheid2021-12-083-13/+49
| | | | | | | | | | | | | | | | | | | | | | * Export set_power_mode() in case of unit tests. We need direct access to this function in order to exercise all of this cases, because it is only ever called within the driver using fixed args that don't hit all cases. * Rename set_power_mode() to lis2dw12_set_power_mode to prevent naming collisions * Add a test BRANCH=None BUG=b:200046770 TEST=zmake -D configure --test test-drivers; make runhosttests Signed-off-by: Tristan Honscheid <honscheid@google.com> Change-Id: I96b102c5a1a4c2524b775a32587afe16675a3cd1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3296683 Reviewed-by: Aaron Massey <aaronmassey@google.com> Tested-by: Tristan Honscheid <honscheid@google.com> Commit-Queue: Tristan Honscheid <honscheid@google.com>
* ampton: add second source battery informationjames_chao2021-12-082-0/+29
| | | | | | | | | | | | BUG=b:207102217 BRANCH=main,octopus TEST=Check the dut power on normally with new battery Signed-off-by: james_chao <james_chao@asus.corp-partner.google.com> Change-Id: I599433fbb6b4743285122c34cff94cce3d7da949 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3289580 Reviewed-by: Henry Sun <henrysun@google.com> Reviewed-by: Diana Z <dzigterman@chromium.org>
* flash_fp_mcu: Drop -kernelnext from platform nameStephen Boyd2021-12-081-0/+1
| | | | | | | | | | | | | | | | If we're running flash_fp_mcu on a board that has a kernelnext variant, then it's essentially the same platform, but using a new kernel. Let's just drop the variant name so that everything else works like before and the flashing script can be run on new kernel variant testing boards. BRANCH=None BUG=b:201110424 TEST=tast run $strongbad_kernelnext_dut firmware.FpFlashFpMcuHello Change-Id: Id35f9f06b4a3ecc27891a6d22a8958cc99b36b04 Signed-off-by: Stephen Boyd <swboyd@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3318784 Reviewed-by: Alexandru Stan <amstan@chromium.org>
* zephyr: Cleanup boolean shell config supportJack Rosenthal2021-12-081-5/+0
| | | | | | | | | | | | | | Cleanup support that was still around for v2.7 branch. BUG=b:205884929 BRANCH=none TEST=zmake testall Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I373b000208178d26323ffeca7efdc9e7de468e02 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3322237 Reviewed-by: Tristan Honscheid <honscheid@google.com> Commit-Queue: Tristan Honscheid <honscheid@google.com>
* Blipper: Disable vol keys functionMike Lee2021-12-082-1/+6
| | | | | | | | | | | | | | | | | Blipper does not have side volume buttons, and needs to disable the volume button function, otherwise the EC will think that the volume buttons are always triggered. BUG=b:208951409 BRANCH=dedede TEST=press power button can shutdown at firmware screen. Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Change-Id: I8a606ac6cca7ec891ac71a84aca6197c6303f8ab Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3316156 Reviewed-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-by: Henry Sun <henrysun@google.com> Commit-Queue: Henry Sun <henrysun@google.com>
* redrix: Blinking with each side LED while battery error.Devin Lu2021-12-081-2/+9
| | | | | | | | | | | | | This patch fixes the battery error LED should be blinking on each side. BUG=b:208912133 BRANCH=none TEST=Verify LED blink quickly while battery error on each side. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: Ifaa2c5a09b32bdd1329839e6031d127fda2e66f8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3322216 Reviewed-by: Boris Mittelberg <bmbm@google.com>
* atomic: use atomic_t where it is possibleDawid Niedzwiecki2021-12-0824-31/+38
| | | | | | | | | | | | | | | | | | | | | | | There are several places where atomic_t can be a type variables that are use with atomic_* operation, so use it. It sometimes has an impact on the asm code, but it is not significant. The change will be useful for incoming commits related to modifying atomic_t caused by a change in Zephyr upstream (atomic_t from int to long). BUG=b:207082842 TEST=make buildall && zmake testall BRANCH=main Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I5c7fa6b74b84454b22074a2a00b5f10003ee9843 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3306358 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Tom Hughes <tomhughes@chromium.org> Commit-Queue: Dawid Niedzwiecki <dawidn@google.com>
* zephyr test: Verify SYV682x device connectionAbe Levkoy2021-12-081-0/+24
| | | | | | | | | | | | | | | Verify that device connection and disconnection succeeds and enables and disables force VBUS discharge as appropriate. BUG=b:190519131 TEST=zmake configure --test zephyr/test/drivers BRANCH=none Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: I49074b25a47430126416d23fcdc31511e28d6c2d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3315229 Reviewed-by: Yuval Peress <peress@google.com> Commit-Queue: Yuval Peress <peress@google.com>
* zephyr: update to new power management APIKeith Short2021-12-081-1/+1
| | | | | | | | | | | | | | | | Rename PM_STATE_INFO_DT_ITEMS_LIST to PM_STATE_INFO_LIST_FROM_DT_CPU to match latest API from Zephyr. BUG=b:209504852 BRANCH=none Cq-Depend: chromium:3316689 TEST=firmware-zephyr-cq Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I3a85d65496bf720d7d1cc78906dcc9f0bb7f04a5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3318722 Reviewed-by: Fabio Baltieri <fabiobaltieri@google.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Yuval Peress <peress@google.com>
* zephyr: herobrine: enable CONFIG_BOARD_RESET_AFTER_POWER_ONSam Hurst2021-12-081-0/+1
| | | | | | | | | | | | | | | | | Enable the CONFIG_BOARD_RESET_AFTER_POWER_ON on herobrine so the system boots properly with a dead battery. BRANCH=main BUG=b:205883173 TEST=System boots properly with a dead battery Signed-off-by: Sam Hurst <shurst@google.org> Change-Id: I72df7373162de64b610684a1d387406a43506752 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3321383 Tested-by: Sam Hurst <shurst@google.com> Reviewed-by: Wai-Hong Tam <waihong@google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Sam Hurst <shurst@google.com>
* nissa: Create zephyr image for reworked dedede with IT81302Andrew McRae2021-12-087-0/+201
| | | | | | | | | | | | | | Create a Zephyr image for testing a IT81302 EC on a JSL reference platform. BUG=b:204231736 TEST=make -g buildall; zmake configure -b drawcia_riscv BRANCH=none Signed-off-by: Andrew McRae <amcrae@google.com> Change-Id: I5e3a916c701fcb6c03b524df46e3dd4db5f4ec17 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3316158 Reviewed-by: Keith Short <keithshort@chromium.org>
* pazquel: correct configuration for ps8805Bob Moragues2021-12-081-0/+1
| | | | | | | | | | | | BUG=b:208556654 TEST=Verify PS8805 firmware update in factory flow BRANCH=trogdor Signed-off-by: Bob Moragues <moragues@chromium.org> Change-Id: Icc5bb8c0f07d6ef2ff7763621fc13a05a17b6575 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3314292 Reviewed-by: Wai-Hong Tam <waihong@google.com> Reviewed-by: Henry Sun <henrysun@google.com>
* Dewatt: fix orientation of Base accel BMI260Sue Chen2021-12-081-3/+3
| | | | | | | | | | | | | | | | orientation -1, 0, 0 0, 1, 0 0, 0, -1 BUG=b:209523571 BRANCH=none TEST=The lid angle and display are correct. Signed-off-by: Sue Chen <sue.chen@quanta.corp-partner.google.com> Change-Id: I3e1168e5211e63f1f1ddf91233bc9a2ec6443ec6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3319619 Reviewed-by: Diana Z <dzigterman@chromium.org>
* zephyr: use a chosen device for raw keyboard shimPeter Marheine2021-12-084-33/+22
| | | | | | | | | | | | | | | | | Rather than assuming the keyboard is named cros_kb_raw, get the device from a chosen cros-ec,raw-kb node instead. To make this work whether the keyboard is in use or not, also move the cros_kb_raw node to live in the main it8xxx2.dtsi file, rather than being duplicated for those boards that use it. BUG=b:205615358 TEST=zmake testall BRANCH=none Signed-off-by: Peter Marheine <pmarheine@chromium.org> Change-Id: Id0e6208e03a3cfa06a38c63b34282736fc3a3489 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3312505 Reviewed-by: Keith Short <keithshort@chromium.org>
* AmptonE: Add motion sensor interrupt processMichael5 Chen12021-12-083-1/+11
| | | | | | | | | | | | | | | | Add motion interrupt process for icm42607 BUG=b:206526996 BRANCH=firmware-octopus-11297.B TEST=manual 1. watch ectool motionsense 2. watch ectool motionsense lid_angle Signed-off-by: Michael5 Chen1 <michael5_chen1@pegatron.corp-partner.google.com> Change-Id: I5875ca2a5391a3762eddfa9d2de0266737b6fe6e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3319989 Reviewed-by: Henry Sun <henrysun@google.com> Reviewed-by: Diana Z <dzigterman@chromium.org>
* zephyr: use a chosen device for bbram shimPeter Marheine2021-12-087-49/+32
| | | | | | | | | | | | | | | | | | | | Rather than assume the bbram device is named 'bbram', get the device from a chosen cros-ec,bbram node instead. To accommodate this in testing, this also converts the system test that exercises bbram shimming to use a Zephyr emulated bbram device rather than rolling its own that replaces the one in the shim only. An unused include file is also removed. BUG=b:205615358 TEST=zmake testall BRANCH=none Change-Id: I68c31b7be6b63c065ada65aba3b49ec0e6df7448 Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3312509 Reviewed-by: Yuval Peress <peress@google.com> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: brya: Enable RTC configurationRajesh Kumar2021-12-082-0/+4
| | | | | | | | | | | | | | | This enables the support to print out the RTC value on console to help correlate EC and kernel logs. BUG=b:209023135 BRANCH=none TEST=make configure -B ~/tmp/brya/ brya -b Signed-off-by: Rajesh Kumar <rajesh3.kumar@intel.com> Change-Id: If4f6720322d1a6388f8ec264187dfee5eb0cbd5b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3315219 Reviewed-by: Tanu Malhotra <tanu.malhotra@intel.com> Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* gingerbread: set USB 3.1 gen 2 ports to 1.5A current limitScott Collyer2021-12-081-1/+7
| | | | | | | | | | | | | | | | | This CL fixes adds to a previous CL when change the current limit via the gpio.inc initialization value. This adds the same change in board.c for devices which have RO locked and the 990mA default set. BUG=b:206059703 BRANCH=quiche TEST=verify levels are set high in RW Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: If2612de3b9360e256215bd70693e53addcc902f2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3321396 Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org>
* Zephyr: Guybrush: Configure hibernateDiana Z2021-12-072-0/+25
| | | | | | | | | | | | | | | Configure the PSL_IN pins for hibernate. BRANCH=None BUG=b:195137794,b:208706360 TEST=load onto guybrush, and verify the EC can go into hibernate and all wake sources are able to wake from it Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I470e5bd945f1a7e33c6940e04bdff8f791ca28f6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3311884 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* Zephyr: Guybrush: Actually enable tab completionDiana Z2021-12-071-0/+1
| | | | | | | | | | | | | | | | Add the CONFIG_SHELL_TAB option to actually enable tab completion in the shell. BRANCH=None BUG=None TEST=load on guybrush and observe the wonder that is automatic tab completion Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I8866fdfc60011570a45aa74944e1d88c48164cc4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3321391 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* flash_ec: check for ccd in servo_type for is_ccdMary Ruthven2021-12-071-2/+1
| | | | | | | | | | | | | | | All ccd servos contain "ccd" in the servo_type. check for "ccd" instead of checking for specific ccd types. BUG=b:209445520 BRANCH=none TEST=flash hatch with servo micro and ccd. Change-Id: Ia272b6a86f03e780ccf7696d1174603defabfbda Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3321395 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org>
* nissa: Add temperature sensor configAndrew McRae2021-12-072-1/+33
| | | | | | | | | | | | | Add ADC temperature sensor config to Nivviks BUG=b:209515631 TEST=zmake configure -b nivviks BRANCH=none Signed-off-by: Andrew McRae <amcrae@google.com> Change-Id: I04c9f6dfcb74abeb237fbe6aa2e16c9e569d24d1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3319622 Reviewed-by: Wai-Hong Tam <waihong@google.com>
* TCPMv2: Refactor retimer update for USB MUX taskDiana Z2021-12-071-6/+34
| | | | | | | | | | | | | | | | | | | Now that mux sets may be completed in the USB_MUX task on boards which enable it, refactor the retimer update mux get to wait when sets are pending. When sets are pending, the HOOKS task can come in later and fill in the last_result with the mux state. Additionally, set and validate cur_port any time an op comes in and is then processed by the PD task. BRANCH=None BUG=b:208355638 TEST=on brya, ensure retimer FW update passes Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ied8ed1d90d1a2ea90b79ff4021ed77b858a65431 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3315216 Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* ectool: Fix ec_rate command invocationShobhit Srivastava2021-12-071-7/+10
| | | | | | | | | | | | | | The ec_rate host command expects the sensor number to be passed as an argument. However the ectool was not sending that value BUG=b:208966957 TEST=ectool motionsense ec_rate <sensor num> displays ec rate Signed-off-by: Shobhit Srivastava <shobhit.srivastava@intel.com> Change-Id: I30c3ebadf245c209c1d471e9ddc24fa111a51b05 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3314491 Reviewed-by: Boris Mittelberg <bmbm@google.com> Commit-Queue: YH Lin <yueherngl@chromium.org>
* zephyr: kingler: enable shell auto-completeEric Yilun Lin2021-12-071-0/+2
| | | | | | | | | | | | | | BUG=b:203739613 TEST=i2c scan <TAB> and see outputs BRANCH=none Change-Id: I578f70b8251f0a4b8d8b354231a6179dbf5714fa Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3319982 Tested-by: Eric Yilun Lin <yllin@google.com> Auto-Submit: Eric Yilun Lin <yllin@google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* zephyr: kingler: correct battery typeEric Yilun Lin2021-12-071-2/+2
| | | | | | | | | | | | | | | | Fix the copied battery info. BUG=b:203739613 TEST=zmake configure -b kingler BRANCH=none Change-Id: Ic412c489231742c6d8bf0a13312efe4b4353147f Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3312507 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Eric Yilun Lin <yllin@google.com> Tested-by: Eric Yilun Lin <yllin@google.com> Auto-Submit: Eric Yilun Lin <yllin@google.com>
* ppc/syv682x: change the type sink_ocp_count to atomic_tDawid Niedzwiecki2021-12-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | sink_ocp_count is used with atomic_* calls, so change its type to atomic_t. Since atomic_t is a signed type, the commit changes asm code where fifo_entries is compared e.g. sink_ocp_count[port] < OCP_COUNT_LIMIT changes the comparison instruction for cortex-m from bgeu to bge (unsigned vs signed comparison). There are similar changes for other architectures. There is no risk of overflow which would cause an invalid result of the comparison(OCP_COUNT_LIMIT=3). The change will be useful for incoming commits related to modifying atomic_t caused by a change in Zephyr upstream (atomic_t from int to long). BUG=b:207082842 TEST=make buildall && zmake testall BRANCH=main Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I79e76cf413afca7cf4686988db042ffca59618c3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3306357 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Dawid Niedzwiecki <dawidn@google.com>
* mkbp: change the type fifo_entries to atomic_tDawid Niedzwiecki2021-12-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fifo_entries is used many times with atomic_* calls, so change its type to atomic_t. Since atomic_t is a signed type, the commit changes asm code where fifo_entries is compared e.g. if (fifo_entries >= fifo_max_depth) { changes the comparison instruction for cortex-m from bhi.n to bgt.n (signed vs unsigned comparison). There are similar changes for other architectures. It is not an issue, because the maximum value of fifo_entries is FIFO_DEPTH=16 and fifo_max_depth is uint8_t, so there is no risk of overflow which would cause an invalid result of the comparison. The change will be useful for incoming commits related to modifying atomic_t caused by a change in Zephyr upstream (atomic_t from int to long). BUG=b:207082842 TEST=make buildall && zmake testall BRANCH=main Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I5890eae25601514bd48043ac1feadd2d21f9539c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3301715 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Dawid Niedzwiecki <dawidn@google.com>
* task: use atomic_t for some variablesDawid Niedzwiecki2021-12-076-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | Use the atomic_t variable type for tasks_ready, tasks_enabled and waiters in struct mutex. The generated asm code is different around the line: char is_ready = ((uint32_t)tasks_ready & BIT(i)) ? 'R' : ' '; for all cores, so cast tasks_ready to an unsigned variable to make sure is works as intended regardless of architecture. The change will be useful for incoming commits related to modifying atomic_t caused by a change in Zephyr upstream (atomic_t from int to long). BUG=b:207082842 TEST=make buildall && zmake testall BRANCH=main Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I0a55c71947401e4137b30fc62adba84d867f56f8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3301710 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Dawid Niedzwiecki <dawidn@google.com>
* usb: use atomic_t where possibleDawid Niedzwiecki2021-12-0713-58/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | There are many places where atomic_t can be used and passed to atomic_* function without casting, so change that. Since atomic is a signed type, do not modify the type timer_active, timer_disabled and dpm_dp_flag, because mixing types in the shift operations create differences in asm code. It shouldn't change the generated code. The change will be useful for incoming commits related to modifying atomic_t caused by a change in Zephyr upstream (atomic_t from int to long). BUG=b:207082842 TEST=make buildall && zmake testall BRANCH=main Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: Ia1e5447c8c47ca3deccbe5c250ac4d45ceb5b133 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3302208 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Dawid Niedzwiecki <dawidn@google.com>
* cherry: disable PD logstabilize-14385.B-mainTing Shen2021-12-072-2/+1
| | | | | | | | | | | | | | | | | | | | We found that disabling *all* console outputs makes PD response time 30% faster. Since we can't disable all outputs, try to remove a few redundant things first. BUG=b:193753475 TEST=Measure the delay between Source_Cap and Request message. 15ms after this patch. BRANCH=none Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I59047e9fb83eefe0f5d1c587401309dc2ffb7ef3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3310298 Reviewed-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Rong Chang <rongchang@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
* phaser: undef hibernate psl and keep KSI1/3 high in deep sleepreno.wang2021-12-072-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | It's workaround to reduce keyboard's "Silver Migration". From keyboard vendor's feedback, there are two factors to cause "Silver Migration". 1. A voltage potential between trace 2. The presence of an electrolyte , such as moisture. The reason cause voltage potential between KSIxx trace is EC enter ec hibernate PSL and turn EC's VCC1 power off. Besides KSI2, the other KSIxx will be turn off. KSI2 is powered by H1. To avoid voltage potential is keep KSI1, KSI2, and KSI3 on. That means not to enter ec hibernate PSL. BUG=b:203442963 BRANCH=None TEST=make -j BOARD=taeko, KSxx keep 3.3V under DC mode after calling system_hibernate(). Signed-off-by: reno.wang <reno.wang@lcfc.corp-partner.google.com> Change-Id: I44a99f9df22e6d21729540507b1947e12cc3189d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3252568 Reviewed-by: Henry Sun <henrysun@google.com> Reviewed-by: Diana Z <dzigterman@chromium.org>
* zephyr: use a chosen device for watchdog shimPeter Marheine2021-12-073-5/+4
| | | | | | | | | | | | | | This uses a chosen cros-ec,watchdog DT node to locate the watchdog device to shim, rather than assuming it is called twd0. BUG=b:205615358 TEST=zmake buildall BRANCH=none Signed-off-by: Peter Marheine <pmarheine@chromium.org> Change-Id: Id6e2dcc8d75740797d6630134c0d4413ac7338ee Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3312504 Reviewed-by: Keith Short <keithshort@chromium.org>
* Dewatt: Fix board fw configSue Chen2021-12-071-17/+3
| | | | | | | | | | | | | | The C1 mux only use PS8818. All skus are convertible now. BUG=b:208167982, b:204347734 BRANCH=none TEST=Can initialize successfully C1 MUX PS8818 and motion sensors with empty fw_config. Signed-off-by: Sue Chen <sue.chen@quanta.corp-partner.google.com> Change-Id: I44dc387c50e0cb2c7f7dc4f99ff0fb8841143d52 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3315763 Reviewed-by: Rob Barnes <robbarnes@google.com>
* it8xxx2: Move non-core config to per-project configAndrew McRae2021-12-077-60/+62
| | | | | | | | | | | | | | | | | | Move non-base configuration from default it8xxx2 configuration to project level configuration: - keyboard enabling - keyboard scanning - wake mask - cros kb shim BUG=b:209324248 TEST=zmake configure -b {krabby,kinger} BRANCH=none Signed-off-by: Andrew McRae <amcrae@google.com> Change-Id: I9db3aab59f68602afdf5274a7eb4c9a77e778bf0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3316164 Reviewed-by: Sam Hurst <shurst@google.com>
* Dewatt: fix LED behavior for Ver1 boardSue Chen2021-12-071-8/+31
| | | | | | | | | | | | | | | Ver1 board: GPIOC4(PWM2) -> Blue LED GPIO80(PWM3) -> Amber LED BUG=b:208179462 BRANCH=none TEST=LED behavior is correct for all states. Signed-off-by: Sue Chen <sue.chen@quanta.corp-partner.google.com> Change-Id: I6f07b69119583675651a76cf9f0f67caff5afad1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3312918 Reviewed-by: Rob Barnes <robbarnes@google.com>
* Dewatt: Modify LED color and LED behavior definitionSue Chen2021-12-071-9/+10
| | | | | | | | | | | | | | | | | | | | | | Modify the color of EC_PWM_LED_FULL_L to blue, LED spec: Charging Amber on (S0/S3/S5) Full Charged Blue on (S0/S3/S5) Discharge in S3 Amber on 1sec, off 3sec Discharge in S5 Off Error Amber on 1sec, off 1sec Discharge in S0 Blue on Factory mode Blue on 2sec, Amber on 2 sec BUG=b:208179462 BRANCH=none TEST=LED behavior is correct for all states. Signed-off-by: Sue Chen <sue.chen@quanta.corp-partner.google.com> Change-Id: I9549c6b5c290b9d73fa9b18ec8d40480591c9a6e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3312516 Reviewed-by: Rob Barnes <robbarnes@google.com>
* AmptonE: Implement EC motion sensorMichael5 Chen12021-12-072-1/+77
| | | | | | | | | | | | | | | | Implement gyro sensor ICM42607 and lid sensor KX022. BUG=b:206526996 BRANCH=firmware-octopus-11297.B TEST=manual 1. watch ectool motionsense 2. watch ectool lid_angle Signed-off-by: Michael5 Chen1 <michael5_chen1@pegatron.corp-partner.google.com> Change-Id: Ib33d59dc359e1c4b189a6515ab6e31c5bc84e690 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3314480 Reviewed-by: Henry Sun <henrysun@google.com> Reviewed-by: Diana Z <dzigterman@chromium.org>
* redrix: Update charging LEDs behaviorDevin Lu2021-12-071-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | This patch updates the LEDs behavior. Change as below: 1. battery error: Original - Blinking white quickly. (0.5 sec ON, 0.5 sec OFF) New - Blinking amber quickly. (0.5 sec ON, 0.5 sec OFF) 2. battery low: Original - Blinking white slowly on right side led. (1 sec ON, 1 sec OFF) New - Blinking amber slowly on both side leds. (1 sec ON, 1 sec OFF) BUG=b:208912133 BRANCH=none TEST=Verify LEDs worked indeed. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: I2ce233d57eb168b47d8dbcb724890e6e5f196f77 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3314261 Commit-Queue: Boris Mittelberg <bmbm@google.com> Reviewed-by: Boris Mittelberg <bmbm@google.com>
* bq257x0: Fix step size of minimum system voltagereno.wang2021-12-071-2/+2
| | | | | | | | | | | | | | | The step size of minimum system voltage for bq25710 is 256mv and bq25720 is 100mv. BRANCH=none BUG=b:209343612 TEST=buildall passes Signed-off-by: reno.wang <reno.wang@lcfc.corp-partner.google.com> Change-Id: I1b07a2a5122703046ef4158b6eae645c4861fdc0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3315766 Reviewed-by: Boris Mittelberg <bmbm@google.com> Commit-Queue: Boris Mittelberg <bmbm@google.com>