summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* motion: Add config variable to fill LPC sense dataGwendal Grignou2019-03-013-7/+13
| | | | | | | | | | | | | | | | | | Writing sense data in LPC area is required for: - X86 host - unit tests. Add a CONFIG_ variable to make it explicit. BUG=b:120346412 BRANCH=None TEST=Buildall, emerge-* chromeos-ec Change-Id: Ib3db6ec4e53cba3057162d300de943b6c86bfcfe Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1491913 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* hatch: Remove CONFIG_USB_PD_VBUS_MEASURE_NOT_PRESENTPhilip Chen2019-03-011-1/+0
| | | | | | | | | | | | | | CL:1479877 has enabled bq25710 charger to measure VBUS. BUG=b:124968142 BRANCH=none TEST=build Change-Id: Id08797e6c668acc96a4fc6c7805e1bd01885b0be Signed-off-by: Philip Chen <philipchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1496159 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Scott Collyer <scollyer@chromium.org>
* config: Enable CONFIG_USB_PD_VBUS_MEASURE_CHARGER for bq25710Philip Chen2019-03-011-1/+2
| | | | | | | | | | | | | | | | With CL:1479876, bq25710 supports VBUS measurement, and thus CONFIG_USB_PD_VBUS_MEASURE_CHARGER should be turned on for boards using bq25710. BUG=b:124968142 BRANCH=none TEST=verify VBUS measurement via 'ectool usbpdpower' Change-Id: I2166ec89d140895599dc740215d9aeb039b70178 Signed-off-by: Philip Chen <philipchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1479877 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Scott Collyer <scollyer@chromium.org>
* bq25710: Add support for Vbus measurement by ADCPhilip Chen2019-03-012-35/+83
| | | | | | | | | | | | | | | | This CL factors out some existing ADC code to bq25710_adc_start() and then use it to implement charger_get_vbus_voltage(). BUG=b:124968142 BRANCH=none TEST=verify VBUS measurement via 'ectool usbpdpower' Change-Id: Ifd3108d459bef02acd20d6a6959fd586fc3a9ca6 Signed-off-by: Philip Chen <philipchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1479876 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Scott Collyer <scollyer@chromium.org>
* ec: typo correctionsJack Rosenthal2019-03-011-2/+2
| | | | | | | | | | | | | | | | | | | This corrects a typo reported by a user. (counnect -> connect) As well, another typo in a comment. (detays -> delays). Thanks dnojiri@ BUG=chromium:731005 BRANCH=none TEST=Manually verified the change did not break build Change-Id: Ie9be8cdee1b847c9a2fd5aa9a924e7b4e35f8230 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1487011 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Raul E Rangel <rrangel@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* Ampton: Correct HPD GPIOsDiana Z2019-03-011-2/+2
| | | | | | | | | | | | | | | | | | Since ampton is using parade as its USB mux on both ports, both HPD lines are inputs. This misconfiguration didn't cause any issues with the EC driving the GPIOs high because they were set as open drain, but does make it impossible to read the HPD level with "gpioget". BRANCH=octopus BUG=None TEST=on apel, verified that gpioget now returns correct level for HPD pins when displays are plugged and unplugged Change-Id: I0ef628cf7ea68884f97a080ba825d780f7feee41 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1492853 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Jett Rink <jettrink@chromium.org>
* cr50: Update error codes returned from U2F_SIGN.Louis Collard2019-03-011-1/+1
| | | | | | | | | | | | | | | | The U2F spec requires us to differentiate between failure to sign due to lack of user presence, and invalid key handles. This change updates the error codes returned to allow this. BUG=b:123161715 BRANCH=none TEST=local tests on soraka Change-Id: I654afbe76eb3673c2f8da14988211874f9c4f4e9 Signed-off-by: Louis Collard <louiscollard@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1485033 Reviewed-by: Andrey Pronin <apronin@chromium.org>
* Flapjack: Remove unnecessary console commands to create flash spaceDaisuke Nojiri2019-03-011-0/+7
| | | | | | | | | | | | | | | | | | | | | | | The following commands will be removed. CONFIG_CMD_APTHROTTLE CONFIG_CMD_DEVICE_EVENT CONFIG_CMD_I2C_XFER CONFIG_CMD_IDLE_STATS CONFIG_CMD_HCDEBUG Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b/126733372 BRANCH=none TEST=buildall Change-Id: I506b04c8d54d383bd9646e485ddc810d5fe155f3 Reviewed-on: https://chromium-review.googlesource.com/1495474 Commit-Ready: Kirtika Ruchandani <kirtika@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Kirtika Ruchandani <kirtika@chromium.org>
* cleanup: updating comment for ISHJett Rink2019-03-011-1/+1
| | | | | | | | | | | | | | ISH should stand for integrated sensor hub not Intel sensor hub BRANCH=none BUG=none TEST=builds Change-Id: I9e96eea8deb2d95a4d54b42b1253cb44793089a5 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1495234 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Gwendal Grignou <gwendal@google.com>
* ec: cleanup: Add CONFIG_RTCJack Rosenthal2019-03-018-6/+15
| | | | | | | | | | | | | | | | | | This allows the chipset task to print RTC information, without requiring CONFIG_CMD_RTC to be enabled. BUG=chromium:649851 BRANCH=none TEST=Built and flashed on grunt (careena), confirmed RTC state printed when the power state was changed, but without RTC command present Change-Id: I6b11c4d2822117c57febdacf299a865710ed1edd Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1490672 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Raul E Rangel <rrangel@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* ec: Add print-chip-variant targetJack Rosenthal2019-03-011-0/+4
| | | | | | | | | | | | | | | | In order to properly place ISH firmware at the correct path, the chromeos-ish ebuild needs information on the CHIP_VARIANT make variable. This adds a simple target to print the value of that variable. BUG=b:122371717 BRANCH=none TEST=ran Makefile with BOARD set and target, got correct value Change-Id: I882660aea19bf92e74072740d7d30574e81b0cb5 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1487112 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Jett Rink <jettrink@chromium.org>
* COMMIT-QUEUE: add cheza and flapjack to pre-cqBrian Norris2019-03-011-1/+2
| | | | | | | | | | | | | | | I've seen these fail a few times in the last few weeks in the CQ. That shouldn't happen. BRANCH=none BUG=none TEST=none Change-Id: I7ac16973ee2d11a8e5ea272f20d2ee4d9209b557 Signed-off-by: Brian Norris <briannorris@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1495396 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Fleex: Implement new polymer battery parametermatt_wang2019-02-282-0/+177
| | | | | | | | | | | | | | | | | | | | | Fleex support BYD/LGC/SIMPLO/SWD new polymer battery This patch makes EC configure battery parameters differently based on manufacturer name. BUG=b:122944526 BRANCH=octopus TEST=Verify BYD/LGC/SIMPLO/SWD polymer battery can charge/discharge and can do battery-cutoff via ectool "batterycutoff" and can wake up from drain battery/battery-cutoff Change-Id: Id5db1653cb4d2c36143b45abfa2472fe20c1edfb Signed-off-by: matt_wang <matt_wang@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/1490797 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Matt Wang <matt_wang@compal.corp-partner.google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Matt Wang <matt_wang@compal.corp-partner.google.com> Reviewed-by: Jett Rink <jettrink@chromium.org>
* ec: Fix response size returned by new U2F functions.Louis Collard2019-02-281-7/+23
| | | | | | | | | | | | | | | There were several bugs in how the response size was set, this change fixes them. BUG=b:123161715 BRANCH=none TEST=test_that firmware_Cr50U2fCommands Change-Id: Id532099746c43a7b6a21d0342d668a033e20d4d6 Signed-off-by: Louis Collard <louiscollard@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1475103 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Andrey Pronin <apronin@chromium.org>
* ec: Update U2F_ATTEST function for new-style key handles.Louis Collard2019-02-282-24/+36
| | | | | | | | | | | | | | | | | | | | | | The existing implementation of this function was intended for old-style key handles, and needs to be replaced with a new implementation for new-style key handles that incorporate user secrets. For bonus points, the existing implementatation is actually broken, and performs no verification, so will blindly attest to anything, which is Not Good. BUG=b:124237003 BRANCH=none TEST=test_that firmware_Cr50U2fCommands Change-Id: I9b4a487707acf81da39e6495adb42e277f2fdb4a Signed-off-by: Louis Collard <louiscollard@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1475102 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Marius Schilder <mschilder@chromium.org> Reviewed-by: Andrey Pronin <apronin@chromium.org>
* motion: Wake up motion task when sampling rate changesGwendal Grignou2019-02-281-0/+4
| | | | | | | | | | | | | | | | | | | | Wake up motion task to evacuate pending samples to the host as soon as the sampling rate changes. It is required for CST testSanitizedContinuousEventsUidIdle to pass, it assumes only new samples will be present. BUG=b:111422556,b:124085261 BRANCH=eve TEST=cheets_CTS_P.9.0_r2.x86.CtsSensorTestCases passes on eve-arcnext. (cherry picked from commit e18316ecc7f7f6d7226fc741570a94c5024d42e8) Reviewed-on: https://chromium-review.googlesource.com/1217604 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Change-Id: I34e51c0db42fe1a8d5abc91c6d80bcce974da099 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1470773 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
* motion: Change ODR only within the motion sensor taskGwendal Grignou2019-02-281-41/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When changing ODR for one sensor, we insert a timestamp in the FIFO. That timestamp can be misinterpreted by other sensor while in batch mode, condensing all events in a small timezone. Also, it can lead the motionsense stack to insert timestamp from the past. (cherry picked from commit f62f2ebbecb131956a5edc4bf60c094bc67972a1) Conflicts: common/motion_sense.c Integrate changes on top of CL/1450288. Now there is guarantee the ODR "flush" event is between 2 streams of sensor data with different ODR. BUG=b:111422556,chromium:562245,b:124085261 BRANCH=none TEST=Check cheets_CTS_P.9.0_r2.x86.CtsSensorTestCases pass on meep. Reviewed-on: https://chromium-review.googlesource.com/1204692 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Change-Id: If76aa3abcedbe463321ccbb1c183dc16edda8693 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1470772 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Enrico Granata <egranata@chromium.org>
* motion_sense: send ODR events to the APEnrico Granata2019-02-282-6/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commits enables the EC to send a motion sense event to the AP when a sensor's ODR is changed. This is done in a way that is backwards compatible on the AP side, in order to enable previous kernels to continue to work (albeit at a loss of new functionality) with up-to-date ECs. Since clients are not required to use a FLUSH when changing ODR, it is possible for the sensor ring to get in a state where it is spreading based on out-of-date delay information, which we observed leading to spreading of overly large intervals, and thus too far into the future. This patch ameliorates that by causing an ODR change to implicitly flush the batching history. BUG=b:123700100 TEST=run CTS sensor tests, observe the sensor ring not spreading too far into the future due to a period change BRANCH=bobba Change-Id: I5a881e9fc5ddb1dbe6690c455d43dc20bffe889a Signed-off-by: Enrico Granata <egranata@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1450288 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
* driver: lsm6dsm: Drop samples only when ODR changesGwendal Grignou2019-02-281-7/+21
| | | | | | | | | | | | | | | To pass android.hardware.cts.SensorIntegrationTests Only drop samples when necessary. BUG=b:124085261 TEST=Testing with cheets_CTS_P.9.0_r5.x86.CtsSensorTestCases BRANCH=none Change-Id: I4a191fe1e661fa5943ce2a025e2d4555b343b93e Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1461222 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Diana Z <dzigterman@chromium.org>
* math: Add/expose some vector operationGwendal Grignou2019-02-282-4/+41
| | | | | | | | | | | | | Expose dot procdut and cros product for vector operations. BUG=b:120346412 BRANCH=none TEST=compile, check unit tests. Change-Id: Ief50f31aa6105dc2f0d92caf8b7473a7e141eb45 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1387923 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
* driver: bmi160: Force calling irq_handler after mag initializationGwendal Grignou2019-02-281-0/+7
| | | | | | | | | | | | | | | | Without it, accelinit 3 lock the FIFO. BUG=chromium:917868 BRANCH=eve TEST=Check with ./mems_start_collection.sh fifo samples of the accelerometer are printed out after initalizing the magnetometer with accel_init 3. Change-Id: Iadab1b3ae506b3360ee8fe7663ee2c74e9f5bc18 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1390941 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* driver: bmi160: Add temporary variable in decode_headerGwendal Grignou2019-02-281-7/+9
| | | | | | | | | | | | | | | | Use a single variable instead of (s+i) to point to the sensor we are working on. BUG=chromium:917868 BRANCH=eve TEST=With ./mems_start_collection.sh, check samples are collected. Change-Id: Ib05059bea776aec978a8feb350f2dacb8aae7311 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1390940 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Enrico Granata <egranata@chromium.org>
* eve: Set BMI160 INT2 as outputGwendal Grignou2019-02-281-0/+1
| | | | | | | | | | | | | This pin is not used, set it as output to clean FIFO messages. BUG=chromium:917868 BRANCH=eve TEST=Check fifo headers. Change-Id: Ib2b783ea65b1ecb56e831440367d043b86022e51 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1390939 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
* eve: Set power state for sensors properlyGwendal Grignou2019-02-281-2/+2
| | | | | | | | | | | | | | | | | | | BMI160 and BMM150 are powered by PP3300_DSW, so they are up all the time. No need to reinitialize them when moving to S0. BUG=chromium:917868 BRANCH=eve TEST=Using ToT firmware on eve, check gyro and magnetometer are not initialized when device boots. Change-Id: I7f46b82aaf8cc92bb60c7963d04dd04043cdaadb Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1390938 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Duncan Laurie <dlaurie@google.com>
* FIXUP: sensor: Adjust max_frequency based on EC performanceGwendal Grignou2019-02-283-8/+4
| | | | | | | | | | | | | | | Remove unnecessary code, sensor maximal ODR is guaranteed to be smaller than EC support maximial ODR. BUG=b:118205424,b:118851581,chromium:615059 BRANCH=none TEST=Check the limits have not change and an error is reported when frequency is set to high in sysfs. Change-Id: Ia10bf2cc58c5609c4fded16a0bff3018916a2346 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1390937 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
* ampton: cleanup: Put all sensor defines togetherGwendal Grignou2019-02-281-9/+9
| | | | | | | | | | | | | | BUG=none BRANCH=octopus TEST=compile, verify that .config is the same before and after the patch. Change-Id: I414e6835927f0062bc2785c645458aa5a485c9e5 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1387922 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* driver: bmi160: Add setting calibration scaleGwendal Grignou2019-02-271-8/+40
| | | | | | | | | | | | | | Implement get_scale, set_scale and apply the scale when normalizing. BUG=b:112957338 BRANCH=nocturne TEST=Check calibscale is taken into account on bmi160. Change-Id: I2c72053b026fe09798cd1009e77cc36c3c4fdac2 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1279186 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Enrico Granata <egranata@chromium.org>
* Ampton: tune the gyro axis and directionJames_Chao2019-02-271-1/+7
| | | | | | | | | | | | BUG=b:126135808 BRANCH=octopus TEST=run the CTS verifier, check the axis and direction is correct Change-Id: I2b6e598e07a5245b452aff8f46c425b72f30b841 Signed-off-by: James_Chao <james_chao@asus.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/1490833 Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
* cr50: Update U2F key generation to meet FIPS requirements.Louis Collard2019-02-272-3/+23
| | | | | | | | | | | | | | | | | This change adds a new random salt generated and persisted during first use of U2F to DRBG initialization. Also marks the key handle as 'additional input' rather than including in initial inialization value. BUG=b:112603199 BRANCH=none TEST=test firmware_Cr50U2fCommands Change-Id: Ied2d994dc2e3ed2741188fd8039ae8c255218e67 Signed-off-by: Louis Collard <louiscollard@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1478536 Reviewed-by: Andrey Pronin <apronin@chromium.org>
* fpsensor: compilation error if RNG is not supportedNicolas Norvez2019-02-271-2/+2
| | | | | | | | | | | | | | FP operations require a working RNG, error if the corresponding config hasn't been set. BUG=b:124770147 TEST=make with CONFIG_RNG unset, observe failure to build BRANCH=None Change-Id: I776f9d7012fd627a16a9dea687619f1ff9077d7d Signed-off-by: Nicolas Norvez <norvez@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1481652 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* stm32: spi: fix link to bug in commentsNicolas Norvez2019-02-271-3/+3
| | | | | | | | | | | | | Wrong link makes it harder to find the issue at hand, fix the URL BRANCH=none BUG=b:35539666 TEST=none Change-Id: I71bb069c43e540d101cdb60d6fa6f5d4e90a4d13 Signed-off-by: Nicolas Norvez <norvez@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1481661 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* audio_codec: Implement NPCX version of audio host command functionsCheng-Yi Chiang2019-02-272-0/+163
| | | | | | | | | | | | | | | | | | | | | This CL implements the host sub command functions for the audio codec by adding calls to the appropriate wov driver API functions. BRANCH=none BUG=b:116766596 TEST=On cheza verifed recording works using the following kernel commands and the loading the audio file into audacity. amixer -c 0 cset iface=MIXER,name='MultiMedia1 Mixer SEC_MI2S_TX' on amixer -c0 cset numid=27 30,30 arecord -D hw:0,0 -f dat /tmp/rec.wav -d 5 Change-Id: Ifda8f94ce6bbe35a715b04b1fb8cbec8d9c3922c Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/1356185 Commit-Ready: Gwendal Grignou <gwendal@chromium.org> Tested-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@google.com>
* ec_commands: Add interface for I2S support for NPCXGwendal Grignou2019-02-271-0/+90
| | | | | | | | | | | | | Add interface to allow sending I2S commands to EC. BRANCH=none BUG=b:116766596 TEST=Compile Change-Id: I8caa29b3a1e1c8a13ca30c7140d5ed143d0dd8ab Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1473514 Reviewed-by: Wai-Hong Tam <waihong@google.com>
* hatch: Add support for OPT3001 ALSScott Collyer2019-02-272-1/+44
| | | | | | | | | | | | | | | | | | This CL adds support for the OPT3001 to hatch. BUG=b:124337208 BRANCH=none TEST=Verfied that when shining phone light on sensor the numbers went very high (~30k) and when covering sensor values dropped in low 100s. Change-Id: I43842050273eb5c3e4e13d04a7ca679e5a875d91 Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/1483894 Commit-Ready: Scott Collyer <scollyer@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org> Tested-by: Zack Yang <zack_yang@compal.corp-partner.google.com> Reviewed-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* hatch: Add support for BMA253 lid accel sensor and lid angle detectionScott Collyer2019-02-273-1/+63
| | | | | | | | | | | | | | | | | | | | | This CL adds the config options required for the BMA253 lid accel sensor. It also adds the configuration table, mutex, and rotation matrix. BUG=b:124337208 BRANCH=none TEST=Verified the sensor readings using 'accelinfo on 10000' and the numbers change on the desired axis when the sensor is moved. The signs can't be verified yet because it's not properly mounted on P0. Change-Id: I2943a82a91472d105d97dba76917f40817f5624e Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/1468865 Commit-Ready: Scott Collyer <scollyer@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org> Tested-by: Zack Yang <zack_yang@compal.corp-partner.google.com> Reviewed-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* hatch: Add support for base accelgyro bmi160 sensorScott Collyer2019-02-275-1/+106
| | | | | | | | | | | | | | | | | | | | | | This CL adds the motion_sensor_t table, config options, gpio interrupt signal, and rotation matrix required for the bmi160 base accel/gyro sensor. BUG=b:124337208 BRANCH=none TEST=Verfied with 'ectool motionsense' that sensor readings are present and that values move in the expected direction as I rotated the unit along it's X and Y axis. Also verified the gyro sensor returns non-zero values when moving the system. Change-Id: I57c323916662a4ee0b9aa3fc00c3a4bf18aaef40 Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/1464393 Commit-Ready: Scott Collyer <scollyer@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org> Tested-by: Zack Yang <zack_yang@compal.corp-partner.google.com> Reviewed-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* ish: fix LAPIC error by sending EOI to IOAPIC RTERong Chang2019-02-272-0/+132
| | | | | | | | | | | | | | | | | | | | | | | | | ISH APIC has a bug when sending multiple IOAPIC interrupts to LAPIC at the same time, there's a small chance that the IRR (interrupt request register) states are not sync between LAPIC and IOAPIC REDTBL (redirection table). LAPIC raises internal error with error code 'receive illegal vector' in ESR. This CL handles above LAPIC local vector table error condition by comparing LAPIC IRR bits with IOAPIC REDTBL entries. And sends EOI (end of interrupt) to IOAPIC RTE if corresponding vector in LAPIC IRR was not set. BRANCH=none BUG=b:112750896,b:124128140 TEST=manual Cherry pick stress test program CL:1372875 and load on Atlas. Place a touch tester on TP and connect to ground. Chech console LAPIC error count and IOAPIC pending count. Change-Id: I1cddc91b2eca35719a83415f1548379574219a58 Signed-off-by: Rong Chang <rongchang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1411953 Reviewed-by: Jett Rink <jettrink@chromium.org>
* kukui_scp: Increase UART TX buffer size to 8192Nicolas Boichat2019-02-271-0/+3
| | | | | | | | | | | BRANCH=none BUG=none TEST=make BOARD=kukui_scp -j Change-Id: If7defac8ef7e90c0d710e0be8c524bee26813736 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1478534 Reviewed-by: Yilun Lin <yllin@chromium.org>
* kukui_scp: Let the AP setup the UART pinmux correctlyNicolas Boichat2019-02-271-13/+3
| | | | | | | | | | | | | This helps make our images compatible between P1 and P2. BRANCH=none BUG=b:124341259 TEST=Flash kukui_scp on P1 and P2, UART works in both cases. Change-Id: I8f08c37deaa4425ddf82dd6ddba18a9b60c6d147 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1488272 Reviewed-by: Yilun Lin <yllin@chromium.org>
* Makefile: Clarify/fix PDIR assignementNicolas Boichat2019-02-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous version has this: PDIR=$(subst /board/$(BOARD),,$(BDIR)) which is a little confusing as, when no public board overlay is set, BDIR is only set to PBDIR _after_ this statement (but the logic works as Makefile = recursively expands). Also, this does not set PDIR correctly if both PBDIR and BDIR are set (board overlay in both public and private). It is much simpler to just use, as PBDIR is set correctly in both cases, at that point in the function: PDIR:=$(subst /board/$(BOARD),,$(PBDIR)) BRANCH=none BUG=b:124804731 TEST=On m/master make buildall -j; mv build build.old After this CL: make buildall -j ls build/*/*/ec.*.smap | sed -e 's|build/||' | \ xargs -I{} diff build/{} build.old/{} => no difference Change-Id: I0a7a0c631b9b72dfcbf11d7cfd78bbaf3e21f1d5 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1485035 Reviewed-by: Yilun Lin <yllin@chromium.org>
* power/mt8183: Do not react to watchdog interrupt if PMIC is offNicolas Boichat2019-02-271-2/+7
| | | | | | | | | | | | | | | | | | | | | | When the PMIC is shut down, the watchdog line will naturally fall as well. From measurements, this takes about 70ms+, so the EC will have enough time to do the power sequencing and mask watchdog interrupts, unless something exceptional happens. The exceptional case is easy to handle anyway, so let's do that. BRANCH=none BUG=b:124474520 TEST=With msleep(10) in power_handle_state and printout in the else branch of chipset_watchdog_interrupt => AP poweroff does not cause a watchdog reset. TEST=stop daisydog; echo > /dev/watchdog => system resets after a few seconds Change-Id: I532b1968abb90bd9e96856020faf16080fe67af3 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1490793 Reviewed-by: Yilun Lin <yllin@chromium.org>
* power/mt8183: Detect AP-initiated PMIC shutdown and stay S5/G3Nicolas Boichat2019-02-271-1/+12
| | | | | | | | | | | | | | | Without this change, EC would go to POWER_S5 state, and immediately go back to S3, which resets the system. BRANCH=none BUG=b:126295807 TEST=poweroff in AP console, systems goes to G3 (without requiring forced PMIC shutdown) and stays there Change-Id: Icbff7eb3962e26a6e2e9cb061f53665b9d94423b Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1490791 Reviewed-by: Yilun Lin <yllin@chromium.org>
* flapjack: Enable backlight channel for Flapjackstabilize-11839.Bstabilize-11839.3.BJessy jiang2019-02-273-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | flapjack requires to enable LED Bias to control LCD backlight. For C18 boards, three channels are required, and each channel has a current of 24 mA. For C19 boards, four channels are required, each channel having a current of 23.5mA. BUG=b:124465980 BRANCH=none TEST=1:)When the system boots, the backlight will light up. 2:)Use the ectool commands to check the channel and current. channle: ectool i2cread 8 0 104 0xA0 current: ectool i2cread 8 0 104 0xA5 If it's C18 board, get 0xfa in channel command and 0xc8 in current command. If it's C19 board, get 0xfe in channel command and 0xc4 in current command. If the SKU value of the board is empty or incorrect, the default value is the data of the C18 board. Change-Id: I2e51feec830c4cfd46e3eaec0f9db0e1cfdd620c Reviewed-on: https://chromium-review.googlesource.com/1475094 Commit-Ready: Jessy Jiang <jiangchao5@huaqin.corp-partner.google.com> Tested-by: Jessy Jiang <jiangchao5@huaqin.corp-partner.google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* uldivmod.S: fix assembly so that it compiles with clangTom Hughes2019-02-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Compared the disassembly between compiling with gcc before this change and compiling with clang after the change: arm-none-eabi-objdump --disassemble build/nocturne_fp/RW/core/cortex-m/uldivmod.o --- gcc-uldivmod.txt 2019-02-12 14:54:47.283162092 -0800 +++ clang-uldivmod.txt 2019-02-12 14:52:50.098690222 -0800 @@ -103,5 +103,5 @@ 000000b8 <__aeabi_ldiv0>: b8: 4c01 ldr r4, [pc, #4] ; (c0 <__aeabi_ldiv0+0x8>) ba: f7ff fffe bl 0 <exception_panic> - be: 0000 .short 0x0000 + be: bf00 nop c0: dead6660 .word 0xdead6660 BRANCH=nocturne,nami BUG=chromium:931797 TEST=compare disassembly (see above) Change-Id: I9ab7eb18ffa9bf3e319cdd1f81047577218a0dad Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1470777 Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
* Battery: add support battery-cutoff SMBus block write functionmatt_wang2019-02-264-11/+94
| | | | | | | | | | | | | | | | | | | Implements battery-cutoff SMBus write block function BUG=b:122944526 BRANCH=None TEST=Verify battery cuff on fleex via SMBus block write. Change-Id: Ib52146cd3042c4a6d2dbafadd430591936230891 Signed-off-by: matt_wang <matt_wang@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/1470462 Commit-Ready: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Tested-by: Elmo Lan <elmo_lan@compal.corp-partner.google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Elmo Lan <elmo_lan@compal.corp-partner.google.com>
* OZ554: set power up sequence.Ryan Zhang2019-02-262-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | 1. Spec says backlight should be turned on after 500ms after eDP signals are ready. 2. There's no way to get exact eDP ready time, therefore, give one second delay. power up __/---------------- eDP ______/------------ backlight _____________/----- |- t1 -| : >=500 ms |- t2 -| : 1 second is enough BUG=b:120237453 BRANCH=ToT TEST=Test results is in crosbug 120237453, comment #31 Signed-off-by: Ryan Zhang <ryan.zhang@quanta.corp-partner.google.com> Change-Id: I63e4536a9d8a7e5febf4ee76f05cbe7c014c7faa Reviewed-on: https://chromium-review.googlesource.com/1389975 Commit-Ready: Ryan Zhang <ryan.zhang@quanta.corp-partner.google.com> Tested-by: Ryan Zhang <ryan.zhang@quanta.corp-partner.google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* ish: add reboot supportJett Rink2019-02-262-9/+15
| | | | | | | | | | | | | | | Make the `reboot` EC commands (console and host) operational BRANCH=none BUG=none TEST=`reboot` on ISH console will power cycle ISH Change-Id: I2dfb4437bf110493cea91087c65b62df5d08be05 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/1483278 Reviewed-by: Li1 Feng <li1.feng@intel.com> Reviewed-by: Edward Hill <ecgh@chromium.org> Commit-Queue: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
* ish: add reset prep interrupt handleyangcao2019-02-264-0/+71
| | | | | | | | | | | | | | | | | Upon reset prep interrupt from PMC, ISH HW will do warm reset. Before full stack of power management in place, this workaround will help fix S5 issue. BRANCH=none BUG=b:123528909 TEST=run "reboot" from host, ISH reboots too. Change-Id: I421ec25a198eb91672ffe770566a4edbe4855fee Signed-off-by: yangcao <yang.a.cao@intel.com> Signed-off-by: li feng <li1.feng@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/1476299 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
* arcada_ish: add sensor and heci tasksJett Rink2019-02-263-8/+98
| | | | | | | | | | | | | | Add sensor configuration for LSM6DS3 and heci host command task to transfer sensor data to AP BRANCH=none BUG=b:122281217 TEST=arcada_ish can pass sensor data through iio sysfs interface using CL stack and under-development kernel driver Change-Id: Ic9250f6781b8501afe99e2999940020a2437e664 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/1460085
* ish: adjust timers for ISH 4/5 32kHz clockJett Rink2019-02-262-127/+178
| | | | | | | | | | | | | | | | | | | | | | | The main timer for ISH 4/5 is a 32kHz clock so we need to adjust the current hardware timer interface to scale it correctly. Also, the timer has problems staying armed without 1) ensuring the timer is at least 25 ticks in the future 2) waiting for the status register to specify that the timer1 updates have actually been written to the hardware BRANCH=none BUG=b:123762212 TEST=events are firing correctly on arcacda_ish in motion sense task with testing CL. Otherwise polling would stall completely Change-Id: I5d3a32df96e0290dc0381738689cc3f2d5fd430f Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/1457597 Reviewed-by: Edward Hill <ecgh@chromium.org> Commit-Queue: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>