summaryrefslogtreecommitdiff
path: root/zephyr/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
...
* zephyr: Add two more Parade PS8xxx chips to the buildSimon Glass2021-03-241-0/+4
| | | | | | | | | | | | | Parade PS8751 and PS8805 are needed by lazor so add support for them in the Zephyr build. BUG=b:183296099 BRANCH=none TEST=build zephyr for lazor Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Ic93a0568d1c505cb496dd92c128d0b05ddef93cd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2777637
* zephyr: shim the MKBP-protocol keyboard supportWai-Hong Tam2021-03-241-0/+2
| | | | | | | | | | | | | | | | | The MKBP protocol is usually used on ARM-based platforms for keyboard communication. It sends the raw scan code, like (row, col), to the AP and the kernel driver will map the scan code to a key. BRANCH=None BUG=b:183445211 TEST=Built the image correctly. With the following CLs, tested the keyboard working on Lazor. Change-Id: I9453c3e6f6629fc11135e56bdfe909635844932c Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2782365 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: Add BQ25710 and BQ25720 kconfigCaveh Jalali2021-03-241-0/+4
| | | | | | | | | | | | | | | This adds the BQ25710 and BQ25720 charger chips to zephyr's kconfig structure. BRANCH=none BUG=b:173575131 TEST=buildall passes Change-Id: I0fdd08d4104991bf630221efd11c9da932e7db38 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2762527 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: Add support for hardware charge-rampingSimon Glass2021-03-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | Allow this option to be selected, turning it into a choice between the two options. Make hardware ramping the default since it seems to be preferred. It was apparently not supported on volteer only due to a bug in the charger chip. Also move the software-ramp requirement for ISL9241 to Kconfig. We cannot 'select' a choice item like PLATFORM_EC_CHARGE_RAMP_SW in PLATFORM_EC_CHARGER_ISL9241, so use a 'depends on' instead. Update volteer to use software ramping since the default has changed. BUG=b:183296099 BRANCH=none TEST=build zephyr for lazor build for volteer and check that CONFIG_PLATFORM_EC_CHARGE_RAMP_SW=y Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Ic3ffd21cd10aa896a4c6dbe1d98d75776c89aefe Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2774917 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: Add support for ISL9237/8 chargersSimon Glass2021-03-221-0/+4
| | | | | | | | | | | | | | | | Enable the isl923x driver in the zephyr build. Update the volteer charger since the default has changed. This needs a Narrow VDC setting so add that as well. BUG=b:183296099 BRANCH=none TEST=build zephyr (no changes) Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I1991b78263c2311c3d1f8c4f30f8d3bd823a39ac Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2774915 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: lazor: enable power sequencingJack Rosenthal2021-03-221-0/+2
| | | | | | | | | | | | | | | | | | | | Enable SC7180 power sequencing code. Currently, depthcharge starts and then times out on some host commands, and the AP issues a reboot. We're going to need the SPI host interface up and going in Zephyr to get any further, so may as well submit this for now. BUG=b:183054226 BRANCH=none TEST=used serial firmware to verify that depthcharge starts, times out on some host commands, and then reboots Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I860088360480946b644fd1bb276a29266c57c614 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2774368 Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@google.com>
* zephyr: add support for ln9310 driverJack Rosenthal2021-03-221-0/+2
| | | | | | | | | | | | | | | | Add Kconfig option for enabling the LN9310 switched capacitor converted used on Lazor. This is a dependency of the SC7180 power sequencing for Lazor (other trogdor boards will have differing switched capacitor drivers). BUG=b:183054226 BRANCH=none TEST=compile with LN9310 driver on lazor (follow-up CL) Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I1138885e4a5e162f9a5e623f6ffe0e1e41d12523 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2774365 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: complete the NPCX FW header settingWealian Liao2021-03-151-10/+19
| | | | | | | | | | | | | | | | | | This CL includes the following: 1. Add core clock to spi clock ratio header option. 2. CMakeLists uses the wrong config name. Fix it. BUG=None. BRANCH=None. TEST=Check the firmware header can set by kconfig. Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: I106c0b6b5987444a77cf07878736374378bc25f2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2747554 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: add DPTF supportKeith Short2021-03-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | Add a Kconfig option to enable DPTF support. Adds support for the following ACPI entries: EC_ACPI_MEM_FAN_DUTY (0x04) EC_ACPI_MEM_TEMP_ID (0x05) EC_ACPI_MEM_TEMP_THRESHOLD (0x06) EC_ACPI_MEM_TEMP_COMMIT (0x07) BUG=b:179886912 BRANCH=none TEST=zmake testall TEST=Boot zephyr-ec on Volteer, observe that ACPI warnings for ignored read/writes for DPTF commands are fixed. Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I40cbe79e57c3d4687d828ec46fe0d51034e96bfc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2757028 Reviewed-by: Simon Glass <sjg@chromium.org> Commit-Queue: Simon Glass <sjg@chromium.org>
* zephyr: don't make ec_features.c depend on ACPIJack Rosenthal2021-03-111-2/+2
| | | | | | | | | | | | | | | | ACPI is a concept of the x86 world only, but ARM devices require ec_features.c as well. Compile ec_features.c under the common CONFIG_PLATFORM_EC option. BUG=b:182398910 BRANCH=none TEST=compile lazor with host commands Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Ic06d6ed26015de9ef7e26f6f5554ac3fb4e92f47 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2749423 Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: add shim fanDawid Niedzwiecki2021-03-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add fan support to Zephyr. The fan is controlled with PWM and the fan speed is measured with the tachometer. Fan properties are defied in the dts file. The struct fan_t fans[] array and enum fan_channel are generated automatically according to named-fans node in the device tree. The implementation is based on the npxc driver, but it is platform-independent. It assumes that there are PWM channel to control the fan and the tachometer sensor to measure RPM (in RPM mode). If it is not the case in the future, the shim may be split per chip. Enable fan related console commands - fanduty, fanset, faninfo, fanauto and host commands - EC_CMD_PWM_GET_FAN_TARGET_RPM, EC_CMD_PWM_SET_FAN_TARGET_RPM, EC_CMD_PWM_SET_FAN_DUTY, EC_CMD_THERMAL_AUTO_FAN_CTRL. BUG=b:174851463 BRANCH=none TEST=build Zephyr TEST=Run "fanset"/"fanduty" commands and check with "faninfo" if the fan follows the command. Then run "fanauto" and verify that the fan controls the temperature correctly. Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I52255848e271fb5b204cd1eb8a797e2fbc81130d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2729375 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: Add chargen command supportFabio Baltieri2021-03-041-0/+3
| | | | | | | | | | | | | | | | This adds support for the chargen command. The command is used to test the console output to verify that no data has been lost. To do that, it uses the low level UART APIs, so the normal shell operation is temporarily suspended while the command is running. BRANCH=none BUG=b:177604307 TEST=tested the command in both zerphyr and ECOS builds Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: I7e41902ab7d841ebb7b9e14c52337ad18e10ad7f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2707104 Reviewed-by: Yuval Peress <peress@chromium.org>
* TCPMv2: PD Timers - Base Timer frameworkDenis Brockus2021-03-011-0/+1
| | | | | | | | | | | | | | | | | Add in the basic framework. There are optimizations for using less timers but want to get the basics working before I invest more time in this. BUG=b:178029034 BRANCH=none TEST=make-runtests Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Icf93e3074b02cc3e0f7ee62e026b0d8ba10c7709 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2707804 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: efs2: Enable EFS2 for volteerYuval Peress2021-02-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | Enable efs2 running at boot for volteer using the CONFIG_PLATFORM_EC_VBOOT flag. When enabled, prior to starting any tasks, the RO image will compute the hash of the RW image and send it to the cr50 for verification. Note that the cr50 verification will fail right now until we update chromeos-bootimage-0.0.3.ebuild's add_ec() function to compute the hash using the zephyr build's output. This final change will be needed because zmake does not produce build/${BOARD}/R(O|W)/ec.R(O|W).flat BRANCH=none BUG=b:164421798 TEST=zmake testall TEST=build volteer, flash, see TX data to cr50 and correct response. Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I2c8b3f726a843297cec3fc08306d8edaaa1999f7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2721498 Commit-Queue: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: add Vivaldi keyboard supportFabio Baltieri2021-02-251-0/+2
| | | | | | | | | | | | | | Add support for building common/keyboard_vivaldi.c. This is enabled by default in ECOS as long as CONFIG_KEYBOARD_PROTOCOL_8042 is enabled too. BRANCH=none BUG=b:177604307 TEST=build and verified that the map is set and HC command is received Change-Id: I881cdfc0a14432a97ced27be757b4c30daf002b8 Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2712967 Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: enable md & rw console commandWealian Liao2021-02-251-0/+2
| | | | | | | | | | | | | | | | | | | This enables the memory accessing console command (e.g., md, rw) in Zephyr. The commands are used to access the ec memory space for driver developing & bug investigating. BUG=b:177604307 BRANCH=None. TEST=read the npcx firmware header by 'rw 0x64000000' & get the following 'read 0x64000000 = 0x2a3b4d5e' Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: I560be52fb1e09a3e72c8619ee9cdf0c1b9dcbcf9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2714723 Reviewed-by: Fabio Baltieri <fabiobaltieri@google.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: add shim thermal supportDawid Niedzwiecki2021-02-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add thermal support to Zephyr which includes handling temperature threshold for certain events. The thresholds are defined in the dts file as temperature sensor parameters - there are limits per temperature sensor. The struct ec_thermal_config thermal_params[] array with all parameters is generated automatically based on named_temp_sensors node. Enable "thermalget" and "thermalset" console commands along with EC_CMD_THERMAL_GET_THRESHOLD and EC_CMD_THERMAL_SET_THRESHOLD host commands. Also, add a few functions to utils needed to verify if an event occurred (falling/rising edge). BUG=b:179886912 BRANCH=none TEST=build Zephyr TEST=Run "thermalget" command to check current thresholds. Change the thresholds with "thermalset" to verify if AP throttling is requested. Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I5f527ceecab2427b3034fd8baa62bb8482f99ff3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2698845 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: add PD console command supportFabio Baltieri2021-02-231-0/+2
| | | | | | | | | | | | | | | This adds support for actually building the code for "ec" and "pdcable" commands. The matching config were enabled, but the file was left out of the build. BRANCH=none BUG=b:177604307 TEST=tested the commands on volteer Change-Id: I996f4a4ab99f8ed36b090c8b7ffa3d8d0bee63dc Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2712968 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: move gpio_commands.c to CONFIG_PLATFORM_EC listJack Rosenthal2021-02-181-1/+1
| | | | | | | | | | | | | | | | | | | Adding ${PLATFORM_EC}/common/gpio_commands.c is the only file in this CMakeLists.txt which can get compiled without CONFIG_PLATFORM_EC=y. This fixes it so that that including the platform/ec module in the build should do nothing unless CONFIG_PLATFORM_EC=y, which is important for non-EC projects (i.e., chameleon). BUG=b:180545676 BRANCH=none TEST=zmake testall TEST=build chameleon with zmake (requires follow-on CLs) Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I604378b969f143e7b3f20a7858470330e093244f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2702318 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: add shim temperature sensorsDawid Niedzwiecki2021-02-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Add temperature sensors shim. Use platform/ec the temperature sensors drivers. Generate needed global variables/types: enum temp_sensor_id and temp_sensors from dts. Each temperature sensor type has its own compatible property to assign a correct read function in the temp_sensor_t temp_sensors[] array. Themrmisors has also adc property to point an ADC channel connected to the sensor. Enable "temps" console command and EC_CMD_TEMP_SENSOR_GET_INFO host command. BUG=b:174851465 BRANCH=none TEST=build Zephyr TEST=Run "temps" command, it should return the current temperature measurements Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: Ie680ec0771ea3da598066eb98db80944a93daca5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2687218 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: clean up CONFIG_ZEPHYR thingJack Rosenthal2021-02-111-0/+4
| | | | | | | | | | | | | | | | Move CONFIG_ZEPHYR from Kconfig to CMakeLists.txt since it really makes no sense in Kconfig (should always be set to y). This allows us to pluck it out of config_chip.h as well. BUG=none BRANCH=none TEST=zmake testall Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Iafb20c4b373e2c344e7c856d454080b7f008f1d9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2690987 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: move CHROMIUM_EC definition to CMakeListsJack Rosenthal2021-02-111-0/+5
| | | | | | | | | | | | | | | | | | Move the definition of CHROMIUM_EC from config_chip.h to CMakeLists.txt, which allows ec_commands.h to be included without config.h. This clears up an occasional build hiccup we would hit when shimming new modules. BUG=b:180008545 BRANCH=none TEST=zmake buildall Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Id1ee8a9ab65a19e083158d3b9e6cc9f2fc377de4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2690986 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: implement console read/snapshot host commandsJack Rosenthal2021-02-111-0/+2
| | | | | | | | | | | | | | | | | | | | | Implement an optional console output buffer, and wire it up to the associated host commands. We don't use the EC's uart buffering module for this, as it implements a UART buffer which also is used for transmit buffering (we don't do that, and instead immediately send to printk). We don't use Zephyr's ring buffer structure for this as we need to track multiple heads due to the semantics of snapshots. BUG=b:178033156 BRANCH=none TEST="ectool console" on volteer Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Ib1d39e32e8bad5b23b98034c33f56534a8c89fcb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2685412 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: enable console channelsJack Rosenthal2021-02-111-0/+2
| | | | | | | | | | | | | | | | Delete our shim implementations of cprintf, cprints, cputs, and cflush, and bring in console_output.c and uart_printf.c instead. This requires implementing a few more uart_* functions BUG=b:178033156,b:179408111 BRANCH=none TEST=manually test the "chan" console command on volteer Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Id0ac950af8521068b942c38bc95a193cd0695b90 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2686258 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: fix version console commandYuval Peress2021-02-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the data seen by the version console command. Since the version data structure is suppose to be at the same offset from the start of the image, running `version` in the ec terminal previously did not yield any values for the RW image (the .rodata.ver section was at a different offset for RW vs RO). - Add a new fixed-sections.ld file that adds the .fixed section. - Include it into all our builds at the start of the sections. - Add a new macro in common.h to allow us to specify that a section should be at a fixed location (FIXED_SECTION). - Use that macro to put the version information in that location. Sample output: 21-02-09 12:59:45.531 version 21-02-09 12:59:46.638 Chip: chromeos emu 21-02-09 12:59:46.642 Board: 1 21-02-09 12:59:46.647 RO: _v2.0.7390+2d340147c 21-02-09 12:59:46.672 RW: _v2.0.7390+2d340147c 21-02-09 12:59:46.675 Build: _v2.0.7390+2d340147c 21-02-09 12:59:46.680 2021-02-09 12:58:26 BRANCH=none BUG=b:164421798 TEST=build volteer, flash, run `version` command. TEST=zmake testall Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: Id19a07d16b5e307d81e8a411b933d9e9a674eb27 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2685339 Commit-Queue: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: volteer: update header information using KconfigYuval Peress2021-02-091-0/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make npcx builds done by zephyr have valid format, this means: 1. Only the first section (RO) should have the header. 2. The header should use the chip information or add new Kconfig values if needed. 3. This should not be done per board (one centralized place). Move the cmake logic to generate the header via ecst.py script ( located in the zephyr repository and is used to generate the header for the npcx chips) to a common place: zephyr/CMakeLists.txt. With that change, the board-specific CMakeLists.txt is now removed, to be replaced with a call to set ECST_CHIP_ARG. This value must be set because zephyr only defines SOC_NPCX7M6FB while our specific chip is different. For the same reason, both volteer and kohaku require overriding zephyr's default CONFIG_FLASH_SIZE for the npcx7m6fb. Additionally, each build (RO/RW) will no longer generate the final output using the board's name. This will help zmake find the image with the header without requiring additional arguments. BRANCH=none BUG=b:164421798 TEST=build volteer, flash the joined binary, see it boot TEST=build kohaku Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I418c138e33812c411503f8260fdaa85059a737c9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2682173 Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: add shim ADCDawid Niedzwiecki2021-02-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Add ADC shim to connect the platform/ec ADC API to the Zephyr ADC API. Generate needed global variables/types: enum adc_channel and adc_channels from dts. Once ADC_CMD config is enabled, it replaces the "adc" Zephyr console function. The shim assues only ADC_0 module. More specific channel options can be added to named-adc.yaml e.g. shift or gain. BUG=b:175881324 BRANCH=none TEST=build Zephyr TEST=Run "adc" command, it should return current levels in mv of configured channels Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: Ic9c03223e611f916bebc1296cbee614401098994 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2673418 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: Kconfig: add backlight lid supportFabio Baltieri2021-02-081-0/+2
| | | | | | | | | | | | | | | | Add an option for CONFIG_BACKLIGHT_LID. This is used for switching on and off the backlight based on the lid switch, and also enables the EC_CMD_SWITCH_ENABLE_BKLIGHT host command. BUG=b:177604307 BRANCH=none TEST=volteer P2, closed/opened lid, backlight turns off/on Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: I7cfc93ef602219020a24c2aefdc21d98dc36cf36 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2679697 Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Add Kconfig option to include spi_flash_reg.cYuval Peress2021-02-081-0/+2
| | | | | | | | | | | | | | Add spi_flash_reg.c into the build by default when using flash memory. BRANCH=none BUG=b:174873770 TEST=zmake testall Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: If797b019e36ece698bdd727d8bce049b5f60db41 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2678930 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: sort CMakeLists sourcesYuval Peress2021-02-081-4/+3
| | | | | | | | | | | | | | | Sort a few out-of-order configs in zephyr/CMakeLists.txt. This is done in a separate CL to avoid clutter with the following change. BRANCH=none BUG=none TEST=zmake testall Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I154cbaea36bfce5fca40f035ff1fd9c7fe361a14 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2678929 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: Add support for retimer firmware updatesSimon Glass2021-02-061-0/+2
| | | | | | | | | | | | | | Enable CONFIG_USBC_RETIMER_FW_UPDATE so that retimer chips can be updated on boot. BUG=b:175434113 BRANCH=none TEST=build zephyr for volteer, see that the new code is included Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Ie620f322d32bae46c00ff4e8d5477261a7dbe279 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2678926 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: Support volume buttonsSimon Glass2021-02-051-0/+3
| | | | | | | | | | | | | | Add support for volume buttons in Zephyr. BUG=b:167405015 BRANCH=none TEST=with other CLs, build for volteer and see that the new code is included Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Id8bd57c4dc36037fc5e4181291623a6f358b8381 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2674955 Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Add support for PD loggingSimon Glass2021-02-051-0/+3
| | | | | | | | | | | | | | | | | | | Enable support for this command. It is not actually used on volteer but seems to be commonly used. BUG=b:175434113 BRANCH=none TEST=build and boot zephyr on volteer and see no errors from EC_CMD_PD_GET_LOG_ENTRY command (0x115) Also test ectool: localhost ~ # ectool pdlog 2020-04-27 18:24:56.460 P0 SNK Charger PD 19776mV / 3000mA, max 20000mV / 3000mA Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I30951537ac48c0929cb668cdd2af1e1675696378 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2676611 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: add KCconfig for CONFIG_SWITCHKeith Short2021-02-041-0/+3
| | | | | | | | | | | | | | | | | | | | The CONFIG_SWITCH option is needed to report that state of all switches to the AP. BUG=none BRANCH=none TEST=make buildall TEST=zmake testall TEST=EC can boot AP all the way to the kernel (requires disabling charger tasks first) Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: Ifa6d7de36a2f7a9fefa81d6d555c93057c461187 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2676604 Tested-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: Add support for VBOOT_HASHSimon Glass2021-02-041-0/+5
| | | | | | | | | | | | | | | | Enable this feature as well as SHA256 hashing, which is needed for it to work. For now we only have software support for hashing. BUG=b:164421798 BRANCH=none TEST=boot on volteer and see that command 0x2a is handled without error: 21-02-01 15:28:53.911 [12.719400 HC 0x2a] 21-02-01 15:28:54.643 [13.451300 HC 0x15] Change-Id: Idf7bdf1311bfb9a38f7875bb8ea19b5d780e965f Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2665081 Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Bring in common/peripheral.cSimon Glass2021-02-041-0/+1
| | | | | | | | | | | | | | | | | | This file is intended to be in the core build. Bring it into the Zephyr build. Also define CONFIG_CROS_BOARD_INFO, used in that file, since it should depend on CONFIG_PLATFORM_EC_CBI. BUG=b:178124020 BRANCH=none TEST=make BOARD=volteer -j30 boot zephyr for volteer and see that it brings in the new code Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Ie8dd7a74b05c23a5d04781fb2d9bfb1a1cfe1866 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2644178 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Yuval Peress <peress@chromium.org>
* zephyr: Add keyboard backlight supportKeith Short2021-02-011-0/+3
| | | | | | | | | | | | | | Add KConfig options for keyboard backlight support. BUG=b:17760430, b:177851031 BRANCH=none TEST=make buildall, zmake testall TEST=Run "kblight" command on Volteer Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I7da36a7a685285562152e560f3dbe5da1b1ba04f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2636483 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: Add PWM LED supportKeith Short2021-02-011-0/+3
| | | | | | | | | | | | | | | Enable CONFIG_LED_COMMON and CONFIG_LED_PWM options for Zephyr BUG=b:174851299 BRANCH=none TEST=make buildall TEST=zmake testall TEST=Verify power and charging LEDs on Volteer. Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I90d5272921a254a1651baffbff00864f3ff02b84 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2636482 Reviewed-by: Simon Glass <sjg@chromium.org>
* Zephyr: Add LID_ANGLE_UPDATE supportHyungwoo Yang2021-01-291-1/+2
| | | | | | | | | | | | | | | | Add Lig Angle Update supports which is used to manage peripheral devices based on the measured lid angle. BUG=b:173507858 BRANCH=none TEST=make buildall -j8 build volteer on zephyr Change-Id: I02a467293dec459a8c8ae330059688059b2336ac Signed-off-by: Hyungwoo Yang <hyungwoo.yang@intel.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2657436 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: add PWM shimKeith Short2021-01-291-0/+1
| | | | | | | | | | | | | | Adds PWM shim to connect the platform/ec PWM API to the Zephyr PWM API. BUG=b:174850923 BRANCH=none TEST=make buildall TEST=Run "pwmduty" command against Volteer LEDs Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I49047734bc1a3fb3d4010f0040145171275c5657 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2623163 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: Add support for panic outputJack Rosenthal2021-01-261-0/+1
| | | | | | | | | | | | | | | Add basic panic implementation for Zephyr. Not using any fancy shared or always-on memory for now ... need to resolve how that will be handled later. BUG=b:178011288 BRANCH=none TEST=run various crash commands on volteer, observe output Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Ia1ce386f738283a2a2b9b60ef7e0bf97f8317837 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2645687
* zephyr: add MKBP supportHyungwoo Yang2021-01-261-0/+2
| | | | | | | | | | | | | | Add MKBP support to zephyr. BUG=b:173507858 BRANCH=none TEST=make buildall -j8 build volteer on zephyr Signed-off-by: Hyungwoo Yang <hyungwoo.yang@intel.corp-partner.google.com> Change-Id: I9b7d979241b0df5dc0fa5d9741f05dc9875189ab Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2639854 Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Add support for CMD_AP_RESET_LOGSimon Glass2021-01-221-0/+3
| | | | | | | | | | | | | | | | Add the options for this along with the the host command that presses it into service. BUG=b:178104134 BRANCH=none TEST=build for zephyr See that host command 121 is processed without error now: 21-01-21 12:14:50.829 [7.981900 HC 0x121] Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I63b8586a6e2065cbfba8de81d3690cd2f7082c9a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2643617 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: add bmi260, bma2x2,and tcs3400 supportHyungwoo Yang2021-01-221-1/+11
| | | | | | | | | | | | | | Add BMI260, BMA2x2, and TCS3400 support to zephyr. BUG=b:173508071,b:173508128,b:173507878 BRANCH=none TEST=make buildall -j8 build volteer on zephyr Signed-off-by: Hyungwoo Yang <hyungwoo.yang@intel.corp-partner.google.com> Change-Id: Ibc22ed08b4f6db6cf70e3a62c3d16ef750e69de2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2639733 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: add motion sense supportHyungwoo Yang2021-01-221-1/+10
| | | | | | | | | | | | | | | | | | | Add support for motion sense in zephyr. This change adds basic functions for motion sense task to do meaningful work. sensor_map.h included by board.h will be used to get board specific sensor configuration. BUG=b:173507858 BRANCH=none TEST=make buildall -j8 build volteer on zephyr Signed-off-by: Hyungwoo Yang <hyungwoo.yang@intel.corp-partner.google.com> Change-Id: I906316d2e97428cf46b9a15071666c8e3b039b18 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2638909 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> Tested-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: Add support for CPU throttlingSimon Glass2021-01-221-0/+3
| | | | | | | | | | | | | | Add the required Kconfig options to allow this code to be built for Zephyr. Update the mutex since Zephyr needs this to be inited. BUG=b:173787365 BRANCH=none TEST=make BOARD=volteer build zephyr on volteer Change-Id: Ib25808faf82b3f1b2f426ad5f09acb37f1b79d65 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2631100
* zephyr: power: add shim option for S0ixJack Rosenthal2021-01-221-0/+2
| | | | | | | | | | | | | Add a shim option for enabling S0ix and host sleep tracking. BUG=b:177609422 BRANCH=none TEST=power sequence kohaku Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I2a41ec509339879c6a372bdc7d2d6d2e2bb651ae Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2633821 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: Add support for vstoreSimon Glass2021-01-201-0/+2
| | | | | | | | | | | | | | | | | | | This is needed for the AP firmware to store a hash during boot. Add it to the build. BUG=b:177686660 BRANCH=none TEST=make BOARD=volteer -j30 boot volteer and see that command 4b is handled without error: [1.540100 HC 0x4b] [1.540800 HC 0x49] Change-Id: Idb4a5b602995adb3911906f5b09d0bccf8cf8d46 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2633653 Tested-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: Enable all the USB-C host commandsSimon Glass2021-01-161-1/+2
| | | | | | | | | | | | | | | | | | | A single Kconfig is actually supposed to control two sets of host commands. The files have similar names but different commands. This was missed in the initial commit. Add the other file. BUG=b:175434113 BRANCH=none TEST=make BOARD=volteer -j30 With a zephyr-chrome CL, build volteer on zephyr Change-Id: I3044a5b0e8516d97108ae11bea4910bffe215e06 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2633825 Commit-Queue: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: drop zephyr-chrome moduleJack Rosenthal2021-01-161-0/+1
| | | | | | | | | | | | | | | Remove zephyr-chrome module from zmake and enable the last directory in our CMakeLists.txt (drivers). BUG=b:177003034 BRANCH=none TEST=zmake testall Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I551f59e6ce118d2939111126151984b65ce08c91 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2633655 Commit-Queue: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>