summaryrefslogtreecommitdiff
path: root/zephyr
Commit message (Collapse)AuthorAgeFilesLines
* usb-ep: Add config option to define VIDScott Collyer2021-05-022-0/+15
| | | | | | | | | | | | | | | | | This value was previously hardcoded to Google's VID. However, some products with USB-EP support may require a different VID to correctly support fwupd. BUG=b:181920029 BRANCH=quiche TEST=verified that fwupd works on baklava Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: I23c36507a90428ab46cd5efde7d79581207bde74 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2848424 Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org>
* zephyr: zmake: resolve the build directory in build phaseJack Rosenthal2021-05-011-0/+1
| | | | | | | | | | | | | | | | | | If "zmake build" is passed a relative directory (as is the case with the chromeos-base/chromeos-zephyr ebuild), we need to resolve it to the absolute path before using it in a binman invocation, as binman is invoked in a different working directory than "zmake build" was started from. BUG=b:181337770 BRANCH=none TEST=emerge-trogdor-zephyr chromeos-zephyr Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Idd9896f240013760f40cf40387f01bfc291a6f57 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2865026 Commit-Queue: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: lazor: Include board-specific hibernate codeWai-Hong Tam2021-05-014-2/+9
| | | | | | | | | | | | | | | | Include the board-specific hibernate code in CrOS EC directory. Add and rename the hibernate-related GPIO enums. BRANCH=None BUG=b:183745774 TEST=Built the Zephyr image and tested EC hibernate on Lazor. Verified all wake sources: power button, lid open, ACOK, and EC reset Change-Id: I2f7371e033f45227c0e53290608862e5192434f2 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2861058 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zmake: Stop logging the date and logger name.Jeremy Bettis2021-05-011-1/+1
| | | | | | | | | | | | | | | | Instead of logging `date Logger/LEVEL: message`, just log `LEVEL: message`. BUG=b:184298184 TEST=zmake testall BRANCH=None Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Ic88b0e05e51acd3ee68662f18c9cdf41615442df Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2863942 Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* zephyr: drop programmatic generation of binman device-tree inputJack Rosenthal2021-05-019-137/+120
| | | | | | | | | | | | | | | | | | | | | | | Move the binman device-tree input into the Zephyr build system's DTS, which allows overriding parts of the binman settings on a board/project specific basis using device-tree. In the process, we need to move the flash offset and size to device-tree instead of Kconfig, because Kconfig is not including during device-tree preprocessing. This is overall, a net-good change, as this should never been Kconfig in the first place. This assumes the existing Kconfig defaults of 512 KB of flash with 256 KB sections, however can still be overridden via device-tree. BUG=b:184388037 BRANCH=none TEST=zmake testall manually investigate the flash output for lazor using dump_fmap Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I424ea15454d5cd02947642116673bebcad3406cd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2860987 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: zmake: Change 2nd underscore for a hyphen in version formatJack Rosenthal2021-04-302-3/+3
| | | | | | | | | | | | | | | According to CL:2861267, this is apparently a load-bearing underscore, and should look more like the old CroS EC version format for factory process, GoldenEye, etc. to work out better. BUG=b:181337770 BRANCH=none TEST=unit tests Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Iab293eade1f8252f58e670175b946730405eb498 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2862904 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: it8xxx2_evb: enable power buttontim2021-04-302-2/+6
| | | | | | | | | | | | | | | | | Enable the power button module and interrupt. BUG=b:185202623 BRANCH=none TEST=trigger GPIO_POWER_BUTTON_L, see UART print [12.660000 power button pressed] [12.969000 power button released] Signed-off-by: tim <tim2.lin@ite.corp-partner.google.com> Change-Id: I538acf6ead3eb06abdf84ed14a52c81412a342e2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2850301 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: it8xxx2_evb: enable lid switchtim2021-04-302-1/+5
| | | | | | | | | | | | | | | | | | Enable the lid switch GPIO and module. BUG=b:185202623 BRANCH=none TEST=trigger GPIO_LID_OPEN, observe UART prints [21.986000 event set 0x0000000000000001] [22.374000 lid open] [22.378000 event set 0x0000000000000002] [23.265000 lid close] Signed-off-by: tim <tim2.lin@ite.corp-partner.google.com> Change-Id: Ib7121240309a02de9ee7c342ff7c6005d5fa522b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2850300 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: volteer: Add CBI SSFC definitionDawid Niedzwiecki2021-04-302-0/+79
| | | | | | | | | | | | | | | | | Add CBI SSFC fields definition. Proper sensors (for a specific value) will be added to 'devices' property, when they are present in the motionsense.dts file. BUG=b:183990188 BRANCH=none TEST=Modify CBI SSFC with 'cbi set 8 value 4', reboot EC and verify that the new sensors are used with the 'accelinfo' command. Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I58e6d5307327490c7ed0fd17faa13fa092d0b3b0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2854295 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: it8xxx2_evb: enable PLATFORM_EC_HOSTCMDtim2021-04-301-16/+14
| | | | | | | | | | | | | | | | | Enable host command support. Replaced the board of hayato's EC with it81202_evb and the host command can be received and responded. BUG=b:185202623 BRANCH=none TEST=console command: hcdebug every hcdebug command is present. Signed-off-by: tim <tim2.lin@ite.corp-partner.google.com> Change-Id: I4b38d7f1a329e804a81f3bc1b803a2ea75aff3db Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2850299 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: zmake: support version in FRID/FWIDJack Rosenthal2021-04-292-8/+31
| | | | | | | | | | | | | | | | | | | | | | | Add version information to FRID/FWID using get_version_string. Note: static version option is not plumbed yet to main function, will handle in follow up CL later (non-critical feature). Note: version is not copied into build yet, will do that in a follow-up CL too, which will get rid of our cmake call to get_version.sh. BUG=b:184832251 BRANCH=none TEST=zmake configure -b -B /tmp/lazor projects/trogdor/lazor dump_fmap -x /tmp/lazor/outputs/zephyr.bin RO_FRID RW_FWID observe contents of RO_FRID RW_FWID Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I95e960b6d13360ac4dbad928da9580909b0e2ec7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2857915 Commit-Queue: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: hooks: use static initialization for hooks structuresFabio Baltieri2021-04-292-58/+12
| | | | | | | | | | | | | | | | | | | | | | This uses K_DELAYED_WORK_DEFINE to initialize the delayed work structures statically. This allows to drop the handler and initializer functions. The only hacky bit is the routine function casting to make the compiler happy with the ECOS void (*)(void) functions. Another side effect is that this brings back the k_delayed_work structures into RAM, but looking at how that works I think it's the right thing to do, since it contains some data that is modified by the workqueue code. BUG=b:183748844 BRANCH=none TEST=build and run on volteer Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: Id08263ddbfb911caaa70a29c5ddd4de3b075ed65 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2859968 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: volteer: Update pin setup for power savingKeith Short2021-04-293-3/+22
| | | | | | | | | | | | | | | Update all the GPIO pin configurations to match the Chromium EC implementation. BUG=b:184653704 BRANCH=none TEST=zmake testall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: Icc64ed88e15f40717ebee79b537daffaa18349db Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2855529 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: volteer: Enable power managementKeith Short2021-04-291-0/+6
| | | | | | | | | | | | | | | | | Enable power management on Volteer. With this CL stack, the measured EC power when the AP is in S0ix is 4.82 mW. BUG=b:184653704 BRANCH=none TEST=zmake testall TEST=Enable S0ix on AP, measure EC power Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: If1b1af52353123d7c35fcfe1d407cd0c407dcd89 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2855528 Reviewed-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: npcx: Add power management supportKeith Short2021-04-297-1/+120
| | | | | | | | | | | | | | Add power management support for the NPCX family. BUG=b:184653704 BRANCH=none TEST=zmake testall TEST=Verify deep sleep on Volteer (with next CL) and measure power. Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I86eef50c13742e7ca717da38a92636e589af6c58 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2855527 Reviewed-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com>
* zephyr: delbin: Enable MPU supportKeith Short2021-04-291-0/+2
| | | | | | | | | | | | | | | | | | | Due to a bug upstream (pending fix in https://github.com/zephyrproject-rtos/zephyr/pull/34622), the ARM MPU must be enabled for the NPCX power management code to compile. ARM MPU support is desired behavior so this doesn't need to be reverted after the Zephyr PR lands. BUG=b:184653704 BRANCH=none TEST=zmake testall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: Ia33cdfdd447a65f43de2ed995bd80fe53b312a86 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2855526 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: Add ADC bindings headerKeith Short2021-04-292-1/+3
| | | | | | | | | | | | | | Add the ADC devicetree binding header to the trogdor and volteer devicetrees. BUG=b:186305651 BRANCH=none TEST=zmake testall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I3eaf51e968ec1468dde701643e85cf333f9b44d8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2855525 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: adc: Add call to setup ADC channelsKeith Short2021-04-293-11/+83
| | | | | | | | | | | | | | | | | | The ADC shim driver needs to call adc_channel_setup() for all defined ADC channels so that the pin configuration is correct. This change saves 2mW of power in deep sleep mode on the NPCX7. BUG=b:186305651 BRANCH=none TEST=zmake testall TEST=Measure S0ix power on Volteer Cq-Depend: chromium:2855276 Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: If293f7b1bc73facd619c050243c845dd8b3b54f6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2855524 Reviewed-by: Yuval Peress <peress@chromium.org>
* zephyr: add sleepmask commandKeith Short2021-04-292-0/+47
| | | | | | | | | | | | | Add KConfig options to enable the "sleepmask" console command. BUG=b:186307921 BRANCH=none TEST=zmake testall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I36c01317bc593242e549e154c26caff13000d766 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2829983 Reviewed-by: Yuval Peress <peress@chromium.org>
* zephyr: hooks: fix compiler warningFabio Baltieri2021-04-291-2/+2
| | | | | | | | | | | | | | | | | Fixes: /mnt/host/source/src/platform/ec/zephyr/shim/src/hooks.c:43:5: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'void (*)(void)' [-Wformat=] BUG=none BRANCH=none TEST=build and run on volteer Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: Id5ae3fc6d269eb03579f1c97379ce445107bf6aa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2858967 Reviewed-by: Yuval Peress <peress@chromium.org>
* zephyr: zmake: add utility to compute version stringJack Rosenthal2021-04-292-0/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a function, get_version_string, which generates a version string to be used in FRID, FWID, or in headers for the build. The format selected was: LAST_COMPONENT_OF_PROJECT_DIR "_v" ZEPHYR_MAJOR_VERSION "." ZEPHYR_MINOR_VERSION "." TOTAL_COMMITS "_" VCS_HASHES Where VCS_HASHES is the (sorted) list of modules + Zephyr OS commit hashes, like so: mod1:02fd7a,mod2:b5991f,os:2c65cb There is also an option for a "static" version, like in CrOS EC OS, which is not affected by Git repository state. This is useful for comparing builds across commits. In this case, TOTAL_COMMITS is fixed to zero, and VCS_HASHES is set to "STATIC". Note: This is mostly just an initial pass at the version string format, and shouldn't be considered "final" yet. We can make further iterations on the format as we deem necessary. BUG=b:184832251 BRANCH=none TEST=unit tests Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I7560c7d677f5d5ec5cf26ff6048eea91843515c3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2857914 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: Add CBI SSFC supportDawid Niedzwiecki2021-04-296-1/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some boards support different motion sensors based on the CBI SSFC field stored in EEPROM. The decision about which sensor is made in runtime thus all drivers have to be built-in. Define structure of the SSFC in the device tree("named-cbi-ssfc"), that allows using generic driver instead of board-specific code as it is done in CrosEC. Every SSFC field value("named-cbi-ssfc-value") is associated with an alternative sensor(or sensors) which will be used (instead of the one pointed by 'alternative-for' property) if the value in EEPROM matches. BUG=b:183990188 BRANCH=none TEST=Add alternative motion sensors to the device tree, modify CBI SSFC with 'cbi set 8 value 4', reboot EC and verify that the new sensors are used with the 'accelinfo' command. Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I3b5f3c171005885d96b1fdf14e844aaf862b6818 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2851896 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: shim: use the standard sysworkq for deferred tasksFabio Baltieri2021-04-283-39/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Zephyr defines a default system wide work queue and allows to add extra queues, the default queue is only compiled in if used by anything. The shim queue was the only one originally used until vboot started to use the sysworkq as well, which added that to the build as well. The API documentation[1] explicitly discourages custom workqueues if not strictly necessary. In this case the system one is only used once and then it's effectively dedicated to the hooks, so there should be effectively no change is using that one as the only queue, and we get rid of a custom queue structure, initialization and thread. Kernel stacks before: 0x200c2928 ec_hooks (real size 704): unused 144 usage 560 / 704 (79 %) 0x200c3488 sysworkq (real size 288): unused 80 usage 208 / 288 (72 %) Kernel stacks after: 0x200c76f8 sysworkq (real size 704): unused 176 usage 528 / 704 (75 %) SRAM should go down by about 520 bytes. [1] https://docs.zephyrproject.org/latest/reference/kernel/threads/workqueue.html#system-workqueue BUG=b:183748844 BRANCH=none TEST=build and run on volteer TEST=kernel stacks on volteer Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: Ia8ab59bf3e6a5e28fe36ec1e94c65483c4645baa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2854850 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: Kconfig: disable CONFIG_TIMESLICINGFabio Baltieri2021-04-282-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a Kconfig file for overriding Zephyr defaults and adds an entry to disable CONFIG_TIMESLICING. The feature is compiled in by default but not enabled, and we don't enable it at runtime. Compiling it out saves a few bytes. Before: FLASH: 233760 B 512 KB 44.59% SRAM: 48344 B 62 KB 76.15% After: FLASH: 233344 B 512 KB 44.51% SRAM: 48328 B 62 KB 76.12% BUG=b:183748844 BRANCH=none TEST=build and run on volteer Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: I5587a553197ca0101e9d7047f6ce7a988dd0b36d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2854844 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Yuval Peress <peress@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org> Commit-Queue: Yuval Peress <peress@chromium.org>
* zephyr: Kconfig.stacks: add missing licence headerFabio Baltieri2021-04-281-0/+4
| | | | | | | | | | | | | | Add the licence header, was left out from the original commit. BUG=none BRANCH=none TEST=none, it's just a comment Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: Id6aad5920ad3140cfac7bb2445c8e7ad5a38b93f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2854843 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: it8xxx2_evb: populate gpiostim2021-04-281-0/+96
| | | | | | | | | | | | | Populate named-gpios dts from boards/it8xxx2_evb/gpio.inc. BUG=b:185202623 BRANCH=none TEST="gpioget" on it8xxx2_evb Signed-off-by: tim <tim2.lin@ite.corp-partner.google.com> Change-Id: Ibad5cdb51b388bba13dd8fa45f750c43321ef383 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2850298 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* config: rename CONFIG_FLASH to CONFIG_FLASH_CROSJeremy Bettis2021-04-277-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4ac1d81e1430dbfbfba1376a23ab19dfa845d7ef. The config name collides with the same config name in zephyr. Also, renames zephyr Kconfig CONFIG_PLATFORM_EC_FLASH to CONFIG_PLATFORM_EC_FLASH_CROS as the corresponding change at Kconfig side. BUG=chromium:1202406,b:180980668 TEST=make -j16 runhosttests buildall && zmake testall && \ /mnt/host/source/src/platform/ec/zephyr/firmware_builder.py --metrics \ /tmp/tmplt8ty8ci test ; echo $? BRANCH=none Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I5b5e58b30d936b5232e049827f458d9a2ed06340 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2855320 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: asurada: Enable GPIOsDenis Brockus2021-04-273-2/+366
| | | | | | | | | | | | | | | | Enable GPIO and include GPIO DTS BUG=b:180980668 BRANCH=none TEST=ec console "gpioget" Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Ied6fddfb69071fae246e1331c055b2fb61d34825 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2854335 Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Yuval Peress <peress@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* zephyr: lazor: Fix alt motion sensorsDawid Niedzwiecki2021-04-271-24/+30
| | | | | | | | | | | | | | | | Move the alternative motion sensor to 'motionsense-sensor-alt' node, which is used to create 'motion_sensors_alt' array and 'sensor_alt_id' enum. BUG=b:183990188 BRANCH=none TEST=zmake testall Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I9dff17c9efaa97d288a9ed6a18f5f633a85d85b8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2853595 Reviewed-by: Yuval Peress <peress@chromium.org> Commit-Queue: Yuval Peress <peress@chromium.org>
* zephyr: shim: do not return from main if thread monitoring is enabledFabio Baltieri2021-04-271-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Returning from main causes the corresponding thread structure to be skipped from the thread list, so that it does not get displayed by commands such as "kernel stacks". The structure is statically allocated though, so it is convenient to keep it active when thread monitoring is enabled so that the corresponding stack can be tuned. After this patch: uart:~$ kernel stacks ... 0x200c76f8 main (real size 1024): unused 148 usage 876 / 1024 (85 %) ... BUG=b:183748844 BRANCH=none TEST=kernel stacks Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: Iee34fac36f5e8989e9d7c761b7cc6b9a14a7b987 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2853598 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Yuval Peress <peress@chromium.org> Commit-Queue: Yuval Peress <peress@chromium.org>
* zephyr: volteer: Change PWM clock source formatWealian Liao2021-04-271-4/+4
| | | | | | | | | | | | | | | | | NPCX providers new PWM source clock select format: clock-bus = "NPCX_CLOCK_BUS_LFCLK"; Change to use new source clock select format. BUG=b:186003989 BRANCH=none TEST=Check all pwm select to correct source clock by 'rw'. Cq-Depend: chromium:2852736 Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: Ic8d40941452d65386061646a9002a44f9b472ef4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2852366 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: initial bringup for it8xxx2_evbtim2021-04-2710-0/+216
| | | | | | | | | | | | | | | | Initial bringup for it8xxx2_evb. The function includes UART console and basic commands. BUG=b:185202623 BRANCH=none TEST=EC boots on it8xxx2_evb. Console commands test: version Signed-off-by: tim <tim2.lin@ite.corp-partner.google.com> Change-Id: I96839f96b8128460a123fe0344b4ae077b6e8761 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2752568 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* zephyr/drivers: it8xxx2: fix the priority of cros_bbram drivertim2021-04-272-1/+11
| | | | | | | | | | | | | | | | This CL fix the priority of cros_bbram driver which should be higher than SYSTEM_PRE_INIT_PRIORITY. BUG=b:185202623 BRANCH=none TEST=console command: reboot The memory dump of bbram will be written the flag of EC_RESET_FLAG_SOFT after rebooting. Signed-off-by: tim <tim2.lin@ite.corp-partner.google.com> Change-Id: Iea829450ff3bbef5f848cc70198f942a0872e6c3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2847519 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* mkbp: Separate MKBP_INFO host command from the keyboard driverBoris Mittelberg2021-04-271-1/+2
| | | | | | | | | | | | Detaching protocol-related info command from the keyboard driver. BUG=b:170966461 BRANCH=main,firmware-dedede-13606.B,firmware-volteer-13672.B-main TEST=None Signed-off-by: Boris Mittelberg <bmbm@google.com> Change-Id: I7943f7537bdf003145e9bd909a14f9451d922a5a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2796381
* mkbp: Separate FIFO from the keyboard driverBoris Mittelberg2021-04-271-1/+2
| | | | | | | | | | | | | | Move protocol-related functionality out from the keyboard driver. This change is required to allow passing button events via MKBP on devices with non-MKBP keyboards. It reorganizes the code without changing the logic. BUG=b:170966461 BRANCH=main,firmware-dedede-13606.B,firmware-volteer-13672.B-main TEST=None Signed-off-by: Boris Mittelberg <bmbm@google.com> Change-Id: Ifb5b9d8e605f491313ee1dfe2c9950eb52152aa8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2669355
* zephyr: npcx: Fix PSL hibernateWealian Liao2021-04-271-1/+1
| | | | | | | | | | | | | | | | | NPCX uses wrong config to switch hibernate PSL & disable RAM so volteer doesn't enter hibernate PSL after disable RAM submitted. Change to use CONFIG_PLATFORM_EC_HIBERNATE_PSL to fix it. BRANCH=none BUG=none TEST=Check EC can wakeup by powerbtn on lazor(disable RAM) & volteer(PSL). Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: Iad44d68789705e9b9e729e98b1e054eae298ceb8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2850305 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: volteer: Set fan PWM to output open-drainWealian Liao2021-04-261-0/+1
| | | | | | | | | | | | | | | | | CROS Volteer fan PWM has PWM_CONFIG_OPEN_DRAIN flag which sets the PWM to output open drain. Set Zephyr Volteer fan PWM to output open-drain to meet the original setting. BUG=none BRANCH=none TEST=Check pwm5 set to output open-drain by 'rw'. Cq-Depend: chromium:2845386 Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: I43c5b4b95b04f4a38bf123f3691b165f541ad7e0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2847863 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: enable motionsense for delbinHyungwoo Yang2021-04-267-1/+231
| | | | | | | | | | | | | This change enables motionsense for delbin BUG=none BRANCH=none TEST=build delbin zephyr Signed-off-by: Hyungwoo Yang <hyungwoo.yang@intel.corp-partner.google.com> Change-Id: Ic11615fdf71fa14d8e77ebac45b38704e3f6cba0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2841143 Reviewed-by: Yuval Peress <peress@chromium.org>
* zephyr: sensors: Fix alternate sensors typoDawid Niedzwiecki2021-04-261-1/+1
| | | | | | | | | | | | | | Fix typo in the motionsense_sensor header. BUG=b:183990188 BRANCH=none TEST=zmake testall Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I3b7ef0a459bf0d5ff6b610f6700eb348db0641ed Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2850960 Reviewed-by: Yuval Peress <peress@chromium.org> Commit-Queue: Yuval Peress <peress@chromium.org>
* Revert "config: rename CONFIG_FLASH to CONFIG_FLASH_CROS"stabilize-13935.B-mainJack Rosenthal2021-04-245-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4e074a16c5703f0cdd7b7d780a8ae1bea53a445a. Reason for revert: responsible for CQ failures (crbug.com/1202406) BUG=chromium:1202406 BRANCH=none TEST=CQ Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Original change's description: > config: rename CONFIG_FLASH to CONFIG_FLASH_CROS > > The config name collides with the same config name in zephyr. > > Also, renames zephyr Kconfig CONFIG_PLATFORM_EC_FLASH to > CONFIG_PLATFORM_EC_FLASH_CROS as the corresponding change at Kconfig > side. > > BUG=b:180980668 > TEST=make buildall > BRANCH=none > > Change-Id: Ibac008ddff8c041aae04dca0bbf973823abe7640 > Signed-off-by: Eric Yilun Lin <yllin@chromium.org> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2816622 > Tested-by: Eric Yilun Lin <yllin@google.com> > Reviewed-by: Keith Short <keithshort@chromium.org> > Commit-Queue: Keith Short <keithshort@chromium.org> Bug: b:180980668 Change-Id: Idc5e799d3b0ea8cc76dbbb49a91b3758ce6e9719 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2847274 Auto-Submit: Jack Rosenthal <jrosenth@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: Update banner to match Chromium OSKeith Short2021-04-233-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the boot banner to match Chromium OS. This also modifies the version output to include "_zephyr" after the board name to clearly identify the image type. Boot banner: Booting Zephyr OS build zephyr-v2.5.0-31-g6fcd6373e58a --- UART initialized after reboot --- [Image: RO, volteer_zephyr_v2.0.8350-190d6f 2021-04-08 11:15:09 keithshort@mtbaldy] [Reset cause: reset-pin] uart:~$ version Chip: Nuvoton NPCX796FC 02 Board: 1 RO: volteer_zephyr_v2.0.8350-190d6f RW: volteer_zephyr_v2.0.8350-190d6f Build: volteer_zephyr_v2.0.8350-190d6f 2021-04-08 11:15:09 keithshort@mtbaldy BUG=none BRANCH=none TEST=zmake testall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: Ia136c4e025aba95217f1d8c51de39255fef54f7b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2822208 Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* config: rename CONFIG_FLASH to CONFIG_FLASH_CROSEric Yilun Lin2021-04-235-8/+8
| | | | | | | | | | | | | | | | | | | The config name collides with the same config name in zephyr. Also, renames zephyr Kconfig CONFIG_PLATFORM_EC_FLASH to CONFIG_PLATFORM_EC_FLASH_CROS as the corresponding change at Kconfig side. BUG=b:180980668 TEST=make buildall BRANCH=none Change-Id: Ibac008ddff8c041aae04dca0bbf973823abe7640 Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2816622 Tested-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: initial bringup for asuradaDenis Brockus2021-04-2310-0/+206
| | | | | | | | | | | | | | | | | EC should boot with UART active BUG=b:180980668 BRANCH=none TEST=zmake configure -b $PROJ_HAYATO Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Idae8453c5803442c2f9853c45462a7eb74d5c268 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2844770 Tested-by: Denis Brockus <dbrockus@chromium.org> Tested-by: Jack Rosenthal <jrosenth@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: lazor: Add kx022 sensorYuval Peress2021-04-231-3/+33
| | | | | | | | | | | | | | | | Add the kx022 as an alternate sensor for the bma255. The logic for swapping the sensors will come in future CLs associated with b:183990188. BRANCH=none BUG=b:183990188, b:185966444 TEST=zmake testall Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I681624034f63657dfcc0a352b31a0bbed61bd8db Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2846416 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: sensors: Add alternate sensors supportYuval Peress2021-04-233-7/+66
| | | | | | | | | | | | | | | | | | | | | In some boards there's a runtime decision for which sensor to use. In order to support this we'll need an instance of the alternate sensors as well as a mapping for them. Add an optional phandle `alternate-for` to the base sensors bindings. When used, the sensor will be excluded from the primary motion_sensors array and added instead to the motion_sensors_alt array. BRANCH=none BUG=b:183990188, b:185966444 TEST=zmake testall Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I6f6e3a9659a381c45fd97fbce9fecb2a807f7fa2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2846415 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: driver: kx022: Add CONFIG_ACCEL_KX022Yuval Peress2021-04-231-0/+5
| | | | | | | | | | | | | | The config value is needed by the common accel_kionix.c module. BRANCH=none BUG=b:185966444 TEST=zmake testall Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I4c9f5c05e1801b3c26eaaaba48dbf8dd107dd386 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2848430 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: lazor: Add sensors to lazorYuval Peress2021-04-237-3/+199
| | | | | | | | | | | | | | | | | | | Enable the motionsense task in lazor and along with it the GMR tablet mode and lid angle calculations. BRANCH=none BUG=b:185966444 TEST=zmake testall TEST=Flash on lazor and check sensors (done by keith since I don't have a board). Change-Id: Iccd1e6e0d503f759255cf3d9c162922788e915a0 Signed-off-by: Yuval Peress <peress@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2830532 Tested-by: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: driver: bmi160: add CONFIG_ACCELGYRO_BMI160Yuval Peress2021-04-231-0/+5
| | | | | | | | | | | | | | | The config option was missing and is needed by the accelgyro_bmi_common.c. BRANCH=none BUG=b:185966444 TEST=zmake testall Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I258ea8c93d367415eebdb71d9db397069b26e371 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2848428 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: shim: chip/it9xxx2: add pinmux shimDenis Brockus2021-04-232-0/+33
| | | | | | | | | | | | | | | | | | | | This is a temporary piece of code that will be adjusted and/or removed when driver/pinmux/pinmux_ite_it8xxx2.c is released. The temporary code allows UART to work, so it is being added for now. BUG=b:185202623 BRANCH=none TEST=none Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I3f100f6a4cefea86f1e00a0a542ccd7f38f44878 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2848434 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> Tested-by: Jack Rosenthal <jrosenth@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org>
* zephyr: shim: chip/it8xxx2: add system shimDenis Brockus2021-04-233-0/+92
| | | | | | | | | | | | | | | BUG=b:185202623 BRANCH=none TEST=none Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Ia6e3821bb23b5aa928aa62ebc06abc0b1e9f8618 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2848433 Tested-by: Denis Brockus <dbrockus@chromium.org> Tested-by: Jack Rosenthal <jrosenth@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>