diff options
author | Peter Marheine <pmarheine@chromium.org> | 2021-12-01 10:19:48 +1100 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-12-03 00:00:45 +0000 |
commit | 22b33cc0cde07b5f247d0c093c7f4f4e126379e6 (patch) | |
tree | 9073d34b8f6eda00bb98b194aad25dfe2244338b | |
parent | a1bfe80a94eb3386057d80e5d765db8cea15d0fd (diff) | |
download | chrome-ec-22b33cc0cde07b5f247d0c093c7f4f4e126379e6.tar.gz |
zephyr: use a chosen device for eSPI shim
Rather than assume the eSPI controller the ECOS shim should bind to is
called espi0, instead get a chosen cros-ec,espi device at build-time.
BUG=b:205615358
TEST=zmake testall
BRANCH=none
Signed-off-by: Peter Marheine <pmarheine@chromium.org>
Change-Id: I46f43494e64af0550c4f54f716a63d16a1f96651
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3312503
Commit-Queue: Keith Short <keithshort@chromium.org>
Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r-- | zephyr/include/cros/ite/it8xxx2.dtsi | 3 | ||||
-rw-r--r-- | zephyr/include/cros/nuvoton/npcx.dtsi | 3 | ||||
-rw-r--r-- | zephyr/shim/src/espi.c | 10 | ||||
-rw-r--r-- | zephyr/test/drivers/overlay.dts | 1 |
4 files changed, 8 insertions, 9 deletions
diff --git a/zephyr/include/cros/ite/it8xxx2.dtsi b/zephyr/include/cros/ite/it8xxx2.dtsi index df6207117a..e6915be45d 100644 --- a/zephyr/include/cros/ite/it8xxx2.dtsi +++ b/zephyr/include/cros/ite/it8xxx2.dtsi @@ -7,8 +7,9 @@ / { chosen { - cros-ec,flash = &fiu0; cros-ec,adc = &adc0; + cros-ec,espi = &espi0; + cros-ec,flash = &fiu0; }; named-bbram-regions { diff --git a/zephyr/include/cros/nuvoton/npcx.dtsi b/zephyr/include/cros/nuvoton/npcx.dtsi index 1a59a1cb8d..a749fca9e2 100644 --- a/zephyr/include/cros/nuvoton/npcx.dtsi +++ b/zephyr/include/cros/nuvoton/npcx.dtsi @@ -11,8 +11,9 @@ / { chosen { - cros-ec,flash = &fiu0; cros-ec,adc = &adc0; + cros-ec,espi = &espi0; + cros-ec,flash = &fiu0; }; named-bbram-regions { diff --git a/zephyr/shim/src/espi.c b/zephyr/shim/src/espi.c index f3d80e2071..d214f8c05c 100644 --- a/zephyr/shim/src/espi.c +++ b/zephyr/shim/src/espi.c @@ -153,8 +153,7 @@ static void espi_reset_handler(const struct device *dev, } #endif /* CONFIG_PLATFORM_EC_CHIPSET_RESET_HOOK */ -#define ESPI_NODE DT_NODELABEL(espi0) -static const struct device *espi_dev; +#define espi_dev DEVICE_DT_GET(DT_CHOSEN(cros_ec_espi)) int espi_vw_set_wire(enum espi_vw_signal signal, uint8_t level) @@ -540,11 +539,8 @@ int zephyr_shim_setup_espi(void) .max_freq = 50, }; - espi_dev = DEVICE_DT_GET(ESPI_NODE); - if (!device_is_ready(espi_dev)) { - LOG_ERR("Error: device %s is not ready", espi_dev->name); - return -1; - } + if (!device_is_ready(espi_dev)) + k_oops(); /* Configure eSPI */ if (espi_config(espi_dev, &cfg)) { diff --git a/zephyr/test/drivers/overlay.dts b/zephyr/test/drivers/overlay.dts index 3d56485094..868adc262e 100644 --- a/zephyr/test/drivers/overlay.dts +++ b/zephyr/test/drivers/overlay.dts @@ -10,6 +10,7 @@ / { chosen { cros-ec,adc = &adc0; + cros-ec,espi = &espi0; }; aliases { |