summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Marheine <pmarheine@chromium.org>2021-12-01 10:19:48 +1100
committerCommit Bot <commit-bot@chromium.org>2021-12-03 00:00:45 +0000
commit22b33cc0cde07b5f247d0c093c7f4f4e126379e6 (patch)
tree9073d34b8f6eda00bb98b194aad25dfe2244338b
parenta1bfe80a94eb3386057d80e5d765db8cea15d0fd (diff)
downloadchrome-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.dtsi3
-rw-r--r--zephyr/include/cros/nuvoton/npcx.dtsi3
-rw-r--r--zephyr/shim/src/espi.c10
-rw-r--r--zephyr/test/drivers/overlay.dts1
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 {