summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuval Peress <peress@chromium.org>2021-04-06 00:10:56 -0600
committerCommit Bot <commit-bot@chromium.org>2021-04-08 07:39:47 +0000
commit74b190af723b38f3766b0bab63cf9e26f8fa7be3 (patch)
tree86e87324c64aa23d3915d9a115eb8b13c55bebc8
parentf48f2ee331ead2bf641279d37ee091217e0d141c (diff)
downloadchrome-ec-74b190af723b38f3766b0bab63cf9e26f8fa7be3.tar.gz
zephyr: gpio: Move named GPIO entries to devicetree
Migrate NAMED_GPIO() to devicetree enums. This allows us to create common boards and share the GPIO mappings in dts files. BRANCH=none BUG=none TEST=zmake testall Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: I41c6151569a04628ac6dcc597f05e529327b7b46 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2804495 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Fabio Baltieri <fabiobaltieri@google.com>
-rw-r--r--zephyr/dts/bindings/gpio/gpio-enum-name.yaml98
-rw-r--r--zephyr/dts/bindings/gpio/named-gpios.yaml1
-rw-r--r--zephyr/projects/kohaku/boards/arm/kohaku/kohaku.dts25
-rw-r--r--zephyr/projects/kohaku/include/gpio_map.h22
-rw-r--r--zephyr/projects/trogdor/lazor/gpio.dts54
-rw-r--r--zephyr/projects/trogdor/lazor/include/gpio_map.h47
-rw-r--r--zephyr/projects/volteer/delbin/gpio.dts29
-rw-r--r--zephyr/projects/volteer/delbin/include/gpio_map.h25
-rw-r--r--zephyr/projects/volteer/volteer/gpio.dts74
-rw-r--r--zephyr/projects/volteer/volteer/include/gpio_map.h69
-rw-r--r--zephyr/shim/include/zephyr_gpio_signal.h5
-rw-r--r--zephyr/shim/src/gpio.c20
12 files changed, 297 insertions, 172 deletions
diff --git a/zephyr/dts/bindings/gpio/gpio-enum-name.yaml b/zephyr/dts/bindings/gpio/gpio-enum-name.yaml
new file mode 100644
index 0000000000..33ba278d53
--- /dev/null
+++ b/zephyr/dts/bindings/gpio/gpio-enum-name.yaml
@@ -0,0 +1,98 @@
+description: Named GPIOs parent node
+properties:
+ enum-name:
+ type: string
+ description:
+ Enum used in code.
+ enum:
+ - GPIO_AC_PRESENT
+ - GPIO_AP_RST_L
+ - GPIO_AP_SUSPEND
+ - GPIO_BATT_PRES_ODL
+ - GPIO_BOARD_VERSION1
+ - GPIO_BOARD_VERSION2
+ - GPIO_BOARD_VERSION3
+ - GPIO_CCD_MODE_ODL
+ - GPIO_CPU_PROCHOT
+ - GPIO_DA9313_GPIO0
+ - GPIO_DEPRECATED_AP_RST_REQ
+ - GPIO_DP_HOT_PLUG_DET
+ - GPIO_DP_MUX_OE_L
+ - GPIO_DP_MUX_SEL
+ - GPIO_EC_ALS_RGB_INT_L
+ - GPIO_EC_BATT_PRES_ODL
+ - GPIO_EC_I2C0_SENSOR_SCL
+ - GPIO_EC_I2C0_SENSOR_SDA
+ - GPIO_EC_IMU_INT_L
+ - GPIO_EC_INT_L
+ - GPIO_EC_PCH_SYS_PWROK
+ - GPIO_EC_PCH_WAKE_ODL
+ - GPIO_EC_PROCHOT_IN_L
+ - GPIO_EC_WP_L
+ - GPIO_EN_A_RAILS
+ - GPIO_EN_PP3300_A
+ - GPIO_EN_PP5000
+ - GPIO_EN_PP5000_A
+ - GPIO_EN_PP5000_FAN
+ - GPIO_EN_PP5000_USBA
+ - GPIO_EN_PPVAR_VCCIN
+ - GPIO_EN_USB_A_5V
+ - GPIO_ENABLE_BACKLIGHT
+ - GPIO_ENTERING_RW
+ - GPIO_KBD_KSO2
+ - GPIO_LID_OPEN
+ - GPIO_PACKET_MODE_EN
+ - GPIO_PCH_DSW_PWROK
+ - GPIO_PCH_PWRBTN_L
+ - GPIO_PCH_RSMRST_L
+ - GPIO_PCH_RTCRST
+ - GPIO_PCH_SLP_S0_L
+ - GPIO_PCH_SLP_S3_L
+ - GPIO_PCH_SLP_S4_L
+ - GPIO_PCH_SLP_SUS_L
+ - GPIO_PCH_SYS_PWROK
+ - GPIO_PG_EC_ALL_SYS_PWRGD
+ - GPIO_PG_EC_DSW_PWROK
+ - GPIO_PG_EC_RSMRST_ODL
+ - GPIO_PMIC_KPD_PWR_ODL
+ - GPIO_PMIC_RESIN_L
+ - GPIO_POWER_BUTTON_L
+ - GPIO_POWER_GOOD
+ - GPIO_PP5000_A_PG_OD
+ - GPIO_PS_HOLD
+ - GPIO_QSIP_ON
+ - GPIO_RSMRST_L_PGOOD
+ - GPIO_SKU_ID0
+ - GPIO_SKU_ID1
+ - GPIO_SKU_ID2
+ - GPIO_SLP_SUS_L
+ - GPIO_SWITCHCAP_ON
+ - GPIO_SWITCHCAP_ON_L
+ - GPIO_SWITCHCAP_PG_INT_L
+ - GPIO_SYS_RESET_L
+ - GPIO_TABLET_MODE_L
+ - GPIO_USB_A0_OC_ODL
+ - GPIO_USB_C0_BC12_INT_L
+ - GPIO_USB_C0_BC12_INT_ODL
+ - GPIO_USB_C0_OC_ODL
+ - GPIO_USB_C0_PD_INT_ODL
+ - GPIO_USB_C0_PD_RST_L
+ - GPIO_USB_C0_PPC_INT_ODL
+ - GPIO_USB_C0_SWCTL_INT_ODL
+ - GPIO_USB_C0_TCPC_INT_ODL
+ - GPIO_USB_C1_BC12_INT_L
+ - GPIO_USB_C1_BC12_INT_ODL
+ - GPIO_USB_C1_FRS_EN
+ - GPIO_USB_C1_LS_EN
+ - GPIO_USB_C1_MIX_INT_ODL
+ - GPIO_USB_C1_OC_ODL
+ - GPIO_USB_C1_PD_INT_ODL
+ - GPIO_USB_C1_PD_RST_L
+ - GPIO_USB_C1_PPC_INT_ODL
+ - GPIO_USB_C1_RT_RST_ODL
+ - GPIO_USB_C1_SWCTL_INT_ODL
+ - GPIO_USB_C1_TCPC_INT_ODL
+ - GPIO_VOLUME_DOWN_L
+ - GPIO_VOLUME_UP_L
+ - GPIO_WARM_RESET_L
+ - GPIO_WP_L
diff --git a/zephyr/dts/bindings/gpio/named-gpios.yaml b/zephyr/dts/bindings/gpio/named-gpios.yaml
index 10c79c5f70..563c841f54 100644
--- a/zephyr/dts/bindings/gpio/named-gpios.yaml
+++ b/zephyr/dts/bindings/gpio/named-gpios.yaml
@@ -4,6 +4,7 @@ compatible: "named-gpios"
child-binding:
description: Named GPIOs child node
+ include: gpio-enum-name.yaml
properties:
gpios:
type: phandle-array
diff --git a/zephyr/projects/kohaku/boards/arm/kohaku/kohaku.dts b/zephyr/projects/kohaku/boards/arm/kohaku/kohaku.dts
index df8149d8bc..1117a59482 100644
--- a/zephyr/projects/kohaku/boards/arm/kohaku/kohaku.dts
+++ b/zephyr/projects/kohaku/boards/arm/kohaku/kohaku.dts
@@ -37,42 +37,52 @@
lid_open {
gpios = <&gpiod 2 GPIO_INPUT>;
+ enum-name = "GPIO_LID_OPEN";
label = "LID_OPEN";
};
wp_l {
gpios = <&gpioa 1 GPIO_INPUT>;
+ enum-name = "GPIO_WP_L";
label = "WP_L";
};
power_button_l {
gpios = <&gpio0 1 GPIO_INPUT>;
+ enum-name = "GPIO_POWER_BUTTON_L";
label = "POWER_BUTTON_L";
};
acok_od {
gpios = <&gpio0 0 GPIO_INPUT>;
+ enum-name = "GPIO_AC_PRESENT";
label = "ACOK_OD";
};
slp_s0_l {
gpios = <&gpiod 5 GPIO_INPUT>;
+ enum-name = "GPIO_PCH_SLP_S0_L";
label = "SLP_S0_L";
};
slp_s3_l {
gpios = <&gpioa 5 GPIO_INPUT>;
+ enum-name = "GPIO_PCH_SLP_S3_L";
label = "SLP_S3_L";
};
slp_s4_l {
gpios = <&gpiod 4 GPIO_INPUT>;
+ enum-name = "GPIO_PCH_SLP_S4_L";
label = "SLP_S4_L";
};
pg_ec_rsmrst_l {
gpios = <&gpioe 2 GPIO_INPUT>;
+ enum-name = "GPIO_RSMRST_L_PGOOD";
label = "PG_EC_RSMRST_L";
};
pg_ec_all_sys_pwrgd {
gpios = <&gpiof 4 GPIO_INPUT>;
+ enum-name = "GPIO_PG_EC_ALL_SYS_PWRGD";
label = "PG_EC_ALL_SYS_PWRGD";
};
pp5000_a_pg_od {
gpios = <&gpiod 7 GPIO_INPUT>;
+ enum-name = "GPIO_PP5000_A_PG_OD";
label = "PP5000_A_PG_OD";
};
base_sixaxis_int_l {
@@ -121,38 +131,52 @@
};
sys_reset_l {
gpios = <&gpioc 5 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_SYS_RESET_L";
label = "SYS_RESET_L";
};
entering_rw {
gpios = <&gpioe 3 GPIO_OUT_LOW>;
+ enum-name = "GPIO_ENTERING_RW";
label = "ENTERING_RW";
};
pch_wake_l {
gpios = <&gpio7 4 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_EC_PCH_WAKE_ODL";
label = "PCH_WAKE_L";
};
pch_pwrbtn_l {
gpios = <&gpioc 1 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_PCH_PWRBTN_L";
label = "PCH_PWRBTN_L";
};
en_pp5000_a {
gpios = <&gpioa 4 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EN_PP5000_A";
label = "EN_PP5000_A";
};
+ en_pp5000 {
+ gpios = <&gpioa 4 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EN_PP5000";
+ label = "EN_PP5000";
+ };
gpio_edp_bklten_od {
gpios = <&gpiod 3 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_ENABLE_BACKLIGHT";
label = "EDP_BKLTEN_OD";
};
en_a_rails {
gpios = <&gpioa 3 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EN_A_RAILS";
label = "EN_A_RAILS";
};
ec_pch_rsmrst_l {
gpios = <&gpioa 6 GPIO_OUT_LOW>;
+ enum-name = "GPIO_PCH_RSMRST_L";
label = "EC_PCH_RSMRST_L";
};
ec_prochot_odl {
gpios = <&gpio6 3 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_CPU_PROCHOT";
label = "EC_PROCHOT_ODL";
};
ec_prochot_in_od {
@@ -161,6 +185,7 @@
};
ec_pch_sys_pwrok {
gpios = <&gpio3 7 GPIO_OUT_LOW>;
+ enum-name = "GPIO_PCH_SYS_PWROK";
label = "EC_PCH_SYS_PWROK";
};
cpu_c10_gate_l {
diff --git a/zephyr/projects/kohaku/include/gpio_map.h b/zephyr/projects/kohaku/include/gpio_map.h
index 16f197f657..05fc93d5d5 100644
--- a/zephyr/projects/kohaku/include/gpio_map.h
+++ b/zephyr/projects/kohaku/include/gpio_map.h
@@ -9,28 +9,6 @@
#include <devicetree.h>
#include <gpio_signal.h>
-#define GPIO_AC_PRESENT NAMED_GPIO(acok_od)
-#define GPIO_CPU_PROCHOT NAMED_GPIO(ec_prochot_odl)
-#define GPIO_EC_PCH_WAKE_ODL NAMED_GPIO(pch_wake_l)
-#define GPIO_EN_A_RAILS NAMED_GPIO(en_a_rails)
-#define GPIO_EN_PP5000_A NAMED_GPIO(en_pp5000_a)
-#define GPIO_EN_PP5000 NAMED_GPIO(en_pp5000_a)
-#define GPIO_ENABLE_BACKLIGHT NAMED_GPIO(gpio_edp_bklten_od)
-#define GPIO_ENTERING_RW NAMED_GPIO(entering_rw)
-#define GPIO_LID_OPEN NAMED_GPIO(lid_open)
-#define GPIO_PCH_PWRBTN_L NAMED_GPIO(pch_pwrbtn_l)
-#define GPIO_PCH_RSMRST_L NAMED_GPIO(ec_pch_rsmrst_l)
-#define GPIO_PCH_SLP_S0_L NAMED_GPIO(slp_s0_l)
-#define GPIO_PCH_SLP_S3_L NAMED_GPIO(slp_s3_l)
-#define GPIO_PCH_SLP_S4_L NAMED_GPIO(slp_s4_l)
-#define GPIO_PCH_SYS_PWROK NAMED_GPIO(ec_pch_sys_pwrok)
-#define GPIO_PG_EC_ALL_SYS_PWRGD NAMED_GPIO(pg_ec_all_sys_pwrgd)
-#define GPIO_POWER_BUTTON_L NAMED_GPIO(power_button_l)
-#define GPIO_PP5000_A_PG_OD NAMED_GPIO(pp5000_a_pg_od)
-#define GPIO_RSMRST_L_PGOOD NAMED_GPIO(pg_ec_rsmrst_l)
-#define GPIO_SYS_RESET_L NAMED_GPIO(sys_reset_l)
-#define GPIO_WP_L NAMED_GPIO(wp_l)
-
/* Cometlake power sequencing requires this definition */
#define PP5000_PGOOD_POWER_SIGNAL_MASK POWER_SIGNAL_MASK(X86_PP5000_A_PGOOD)
diff --git a/zephyr/projects/trogdor/lazor/gpio.dts b/zephyr/projects/trogdor/lazor/gpio.dts
index 951e199b0e..418edf29dc 100644
--- a/zephyr/projects/trogdor/lazor/gpio.dts
+++ b/zephyr/projects/trogdor/lazor/gpio.dts
@@ -9,82 +9,102 @@
usb_c0_pd_int_odl {
gpios = <&gpioe 0 GPIO_INPUT>;
+ enum-name = "GPIO_USB_C0_PD_INT_ODL";
label = "USB_C0_PD_INT_ODL";
};
usb_c1_pd_int_odl {
gpios = <&gpiof 5 GPIO_INPUT>;
+ enum-name = "GPIO_USB_C1_PD_INT_ODL";
label = "USB_C1_PD_INT_ODL";
};
usb_c0_swctl_int_odl {
gpios = <&gpio0 3 GPIO_INPUT>;
+ enum-name = "GPIO_USB_C0_SWCTL_INT_ODL";
label = "USB_C0_SWCTL_INT_ODL";
};
usb_c1_swctl_int_odl {
gpios = <&gpio4 0 GPIO_INPUT>;
+ enum-name = "GPIO_USB_C1_SWCTL_INT_ODL";
label = "USB_C1_SWCTL_INT_ODL";
};
usb_c0_bc12_int_l {
gpios = <&gpio6 1 (GPIO_INPUT | GPIO_PULL_UP)>;
+ enum-name = "GPIO_USB_C0_BC12_INT_L";
label = "USB_C0_BC12_INT_L";
};
usb_c1_bc12_int_l {
gpios = <&gpio8 2 (GPIO_INPUT | GPIO_PULL_UP)>;
+ enum-name = "GPIO_USB_C1_BC12_INT_L";
label = "USB_C1_BC12_INT_L";
};
usb_a0_oc_odl {
gpios = <&gpiod 1 (GPIO_INPUT | GPIO_PULL_UP)>;
+ enum-name = "GPIO_USB_A0_OC_ODL";
label = "USB_A0_OC_ODL";
};
acok_od {
gpios = <&gpio0 0 GPIO_INPUT>;
+ enum-name = "GPIO_AC_PRESENT";
label = "ACOK_OD";
};
ccd_mode_odl {
gpios = <&gpioe 3 GPIO_INPUT>;
+ enum-name = "GPIO_CCD_MODE_ODL";
label = "CCD_MODE_ODL";
};
ec_pwr_btn_odl {
gpios = <&gpio0 1 GPIO_INPUT>;
+ enum-name = "GPIO_POWER_BUTTON_L";
label = "EC_PWR_BTN_ODL";
};
ec_voldn_btn_odl {
gpios = <&gpio7 0 (GPIO_INPUT | GPIO_PULL_UP)>;
+ enum-name = "GPIO_VOLUME_DOWN_L";
label = "EC_VOLDN_BTN_ODL";
};
ec_volup_btn_odl {
gpios = <&gpiof 2 (GPIO_INPUT | GPIO_PULL_UP)>;
+ enum-name = "GPIO_VOLUME_UP_L";
label = "EC_VOLUP_BTN_ODL";
};
ec_wp_odl {
gpios = <&gpioa 1 GPIO_INPUT>;
+ enum-name = "GPIO_WP_L";
label = "EC_WP_ODL";
};
lid_open_ec {
gpios = <&gpiod 2 GPIO_INPUT>;
+ enum-name = "GPIO_LID_OPEN";
label = "LID_OPEN_EC";
};
ap_rst_l {
gpios = <&gpioc 1 GPIO_INPUT>;
+ enum-name = "GPIO_AP_RST_L";
label = "AP_RST_L";
};
ps_hold {
gpios = <&gpioa 4 (GPIO_INPUT | GPIO_PULL_DOWN)>;
+ enum-name = "GPIO_PS_HOLD";
label = "PS_HOLD";
};
ap_suspend {
gpios = <&gpio5 7 GPIO_INPUT>;
+ enum-name = "GPIO_AP_SUSPEND";
label = "AP_SUSPEND";
};
deprecated_ap_rst_req {
gpios = <&gpioc 2 (GPIO_INPUT | GPIO_PULL_DOWN)>;
+ enum-name = "GPIO_DEPRECATED_AP_RST_REQ";
label = "DEPRECATED_AP_RST_REQ";
};
power_good {
gpios = <&gpio5 4 (GPIO_INPUT | GPIO_PULL_DOWN)>;
+ enum-name = "GPIO_POWER_GOOD";
label = "POWER_GOOD";
};
warm_reset_l {
gpios = <&gpiof 4 GPIO_INPUT>;
+ enum-name = "GPIO_WARM_RESET_L";
label = "WARM_RESET_L";
};
ap_ec_spi_cs_l {
@@ -101,34 +121,46 @@
};
da9313_gpio0 {
gpios = <&gpioe 2 GPIO_INPUT>;
+ enum-name = "GPIO_DA9313_GPIO0";
label = "DA9313_GPIO0";
};
+ switchcap_pg_int_l {
+ gpios = <&gpioe 2 GPIO_INPUT>;
+ enum-name = "GPIO_SWITCHCAP_PG_INT_L";
+ label = "SWITCHCAP_PG_INT_L";
+ };
ec_rst_odl {
gpios = <&gpio0 2 GPIO_INPUT>;
label = "EC_RST_ODL";
};
ec_entering_rw {
gpios = <&gpioe 1 GPIO_OUT_LOW>;
+ enum-name = "GPIO_ENTERING_RW";
label = "EC_ENTERING_RW";
};
ec_batt_pres_odl {
gpios = <&gpioe 5 GPIO_INPUT>;
+ enum-name = "GPIO_BATT_PRES_ODL";
label = "EC_BATT_PRES_ODL";
};
pm845_resin_l {
gpios = <&gpio3 2 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_PMIC_RESIN_L";
label = "PM845_RESIN_L";
};
pmic_kpd_pwr_odl {
gpios = <&gpiod 6 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_PMIC_KPD_PWR_ODL";
label = "PMIC_KPD_PWR_ODL";
};
ec_int_l {
gpios = <&gpioa 2 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_EC_INT_L";
label = "EC_INT_L";
};
qsip_on {
gpios = <&gpio5 0 GPIO_OUT_LOW>;
+ enum-name = "GPIO_QSIP_ON";
label = "QSIP_ON";
};
hibernate_l {
@@ -137,22 +169,31 @@
};
switchcap_on {
gpios = <&gpiod 5 GPIO_OUT_LOW>;
+ enum-name = "GPIO_SWITCHCAP_ON";
label = "SWITCHCAP_ON";
};
+ switchcap_on_l {
+ gpios = <&gpiod 5 GPIO_OUT_LOW>;
+ enum-name = "GPIO_SWITCHCAP_ON_L";
+ label = "SWITCHCAP_ON_L";
+ };
vbob_en {
gpios = <&gpiod 3 GPIO_OUT_LOW>;
label = "VBOB_EN";
};
en_pp3300_a {
gpios = <&gpioa 6 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EN_PP3300_A";
label = "EN_PP3300_A";
};
en_pp5000_a {
gpios = <&gpio6 7 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EN_PP5000";
label = "EN_PP5000_A";
};
ec_bl_disable_l {
gpios = <&gpiob 6 GPIO_OUT_LOW>;
+ enum-name = "GPIO_ENABLE_BACKLIGHT";
label = "EC_BL_DISABLE_L";
};
lid_accel_int_l {
@@ -165,26 +206,32 @@
};
usb_c0_pd_rst_l {
gpios = <&gpiof 1 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_USB_C0_PD_RST_L";
label = "USB_C0_PD_RST_L";
};
usb_c1_pd_rst_l {
gpios = <&gpioe 4 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_USB_C1_PD_RST_L";
label = "USB_C1_PD_RST_L";
};
dp_mux_oe_l {
gpios = <&gpio9 6 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_DP_MUX_OE_L";
label = "DP_MUX_OE_L";
};
dp_mux_sel {
gpios = <&gpio4 5 GPIO_OUT_LOW>;
+ enum-name = "GPIO_DP_MUX_SEL";
label = "DP_MUX_SEL";
};
dp_hot_plug_det {
gpios = <&gpio9 5 GPIO_OUT_LOW>;
+ enum-name = "GPIO_DP_HOT_PLUG_DET";
label = "DP_HOT_PLUG_DET";
};
en_usb_a_5v {
gpios = <&gpio8 6 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EN_USB_A_5V";
label = "EN_USB_A_5V";
};
usb_a_cdp_ilim_en {
@@ -273,26 +320,32 @@
};
brd_id0 {
gpios = <&gpioc 7 GPIO_INPUT>;
+ enum-name = "GPIO_BOARD_VERSION1";
label = "BRD_ID0";
};
brd_id1 {
gpios = <&gpio9 3 GPIO_INPUT>;
+ enum-name = "GPIO_BOARD_VERSION2";
label = "BRD_ID1";
};
brd_id2 {
gpios = <&gpio6 3 GPIO_INPUT>;
+ enum-name = "GPIO_BOARD_VERSION3";
label = "BRD_ID2";
};
sku_id0 {
gpios = <&gpiof 0 GPIO_INPUT>;
+ enum-name = "GPIO_SKU_ID0";
label = "SKU_ID0";
};
sku_id1 {
gpios = <&gpio4 1 GPIO_INPUT>;
+ enum-name = "GPIO_SKU_ID1";
label = "SKU_ID1";
};
sku_id2 {
gpios = <&gpiod 4 GPIO_INPUT>;
+ enum-name = "GPIO_SKU_ID2";
label = "SKU_ID2";
};
arm_x86 {
@@ -301,6 +354,7 @@
};
ec_kso_02_inv {
gpios = <&gpio1 7 GPIO_OUT_LOW>;
+ enum-name = "GPIO_KBD_KSO2";
label = "EC_KSO_02_INV";
};
};
diff --git a/zephyr/projects/trogdor/lazor/include/gpio_map.h b/zephyr/projects/trogdor/lazor/include/gpio_map.h
index 08cd2641b0..0d6211c6fb 100644
--- a/zephyr/projects/trogdor/lazor/include/gpio_map.h
+++ b/zephyr/projects/trogdor/lazor/include/gpio_map.h
@@ -9,53 +9,6 @@
#include <devicetree.h>
#include <gpio_signal.h>
-#define GPIO_AC_PRESENT NAMED_GPIO(acok_od)
-#define GPIO_AP_RST_L NAMED_GPIO(ap_rst_l)
-#define GPIO_AP_SUSPEND NAMED_GPIO(ap_suspend)
-#define GPIO_BATT_PRES_ODL NAMED_GPIO(ec_batt_pres_odl)
-#define GPIO_BOARD_VERSION1 NAMED_GPIO(brd_id0)
-#define GPIO_BOARD_VERSION2 NAMED_GPIO(brd_id1)
-#define GPIO_BOARD_VERSION3 NAMED_GPIO(brd_id2)
-#define GPIO_CCD_MODE_ODL NAMED_GPIO(ccd_mode_odl)
-#define GPIO_DA9313_GPIO0 NAMED_GPIO(da9313_gpio0)
-#define GPIO_DP_HOT_PLUG_DET NAMED_GPIO(dp_hot_plug_det)
-#define GPIO_DP_MUX_SEL NAMED_GPIO(dp_mux_sel)
-#define GPIO_DP_MUX_OE_L NAMED_GPIO(dp_mux_oe_l)
-#define GPIO_DEPRECATED_AP_RST_REQ NAMED_GPIO(deprecated_ap_rst_req)
-#define GPIO_ENTERING_RW NAMED_GPIO(ec_entering_rw)
-#define GPIO_EN_PP3300_A NAMED_GPIO(en_pp3300_a)
-#define GPIO_EN_PP5000 NAMED_GPIO(en_pp5000_a)
-#define GPIO_EN_USB_A_5V NAMED_GPIO(en_usb_a_5v)
-#define GPIO_USB_C0_PD_INT_ODL NAMED_GPIO(usb_c0_pd_int_odl)
-#define GPIO_USB_C1_PD_INT_ODL NAMED_GPIO(usb_c1_pd_int_odl)
-#define GPIO_LID_OPEN NAMED_GPIO(lid_open_ec)
-#define GPIO_PMIC_KPD_PWR_ODL NAMED_GPIO(pmic_kpd_pwr_odl)
-#define GPIO_PMIC_RESIN_L NAMED_GPIO(pm845_resin_l)
-#define GPIO_POWER_BUTTON_L NAMED_GPIO(ec_pwr_btn_odl)
-#define GPIO_POWER_GOOD NAMED_GPIO(power_good)
-#define GPIO_PS_HOLD NAMED_GPIO(ps_hold)
-#define GPIO_QSIP_ON NAMED_GPIO(qsip_on)
-#define GPIO_SKU_ID0 NAMED_GPIO(sku_id0)
-#define GPIO_SKU_ID1 NAMED_GPIO(sku_id1)
-#define GPIO_SKU_ID2 NAMED_GPIO(sku_id2)
-#define GPIO_SWITCHCAP_ON NAMED_GPIO(switchcap_on)
-#define GPIO_SWITCHCAP_ON_L NAMED_GPIO(switchcap_on)
-#define GPIO_SWITCHCAP_PG_INT_L NAMED_GPIO(da9313_gpio0)
-#define GPIO_USB_A0_OC_ODL NAMED_GPIO(usb_a0_oc_odl)
-#define GPIO_USB_C0_BC12_INT_L NAMED_GPIO(usb_c0_bc12_int_l)
-#define GPIO_USB_C1_BC12_INT_L NAMED_GPIO(usb_c1_bc12_int_l)
-#define GPIO_USB_C0_PD_RST_L NAMED_GPIO(usb_c0_pd_rst_l)
-#define GPIO_USB_C1_PD_RST_L NAMED_GPIO(usb_c1_pd_rst_l)
-#define GPIO_USB_C0_SWCTL_INT_ODL NAMED_GPIO(usb_c0_swctl_int_odl)
-#define GPIO_USB_C1_SWCTL_INT_ODL NAMED_GPIO(usb_c1_swctl_int_odl)
-#define GPIO_WARM_RESET_L NAMED_GPIO(warm_reset_l)
-#define GPIO_WP_L NAMED_GPIO(ec_wp_odl)
-#define GPIO_EC_INT_L NAMED_GPIO(ec_int_l)
-#define GPIO_KBD_KSO2 NAMED_GPIO(ec_kso_02_inv)
-#define GPIO_ENABLE_BACKLIGHT NAMED_GPIO(ec_bl_disable_l)
-#define GPIO_VOLUME_DOWN_L NAMED_GPIO(ec_voldn_btn_odl)
-#define GPIO_VOLUME_UP_L NAMED_GPIO(ec_volup_btn_odl)
-
/*
* Set EC_CROS_GPIO_INTERRUPTS to a space-separated list of GPIO_INT items.
*
diff --git a/zephyr/projects/volteer/delbin/gpio.dts b/zephyr/projects/volteer/delbin/gpio.dts
index 03f4b3ffd3..c29b8a95c3 100644
--- a/zephyr/projects/volteer/delbin/gpio.dts
+++ b/zephyr/projects/volteer/delbin/gpio.dts
@@ -9,42 +9,57 @@
ec_lid_open {
gpios = <&gpiod 2 GPIO_INPUT>;
+ enum-name = "GPIO_LID_OPEN";
label = "EC_LID_OPEN";
};
ec_wp_l {
gpios = <&gpioa 1 GPIO_INPUT>;
+ enum-name = "GPIO_WP_L";
label = "EC_WP_L";
};
h1_ec_pwr_btn_odl {
gpios = <&gpio0 1 GPIO_INPUT>;
+ enum-name = "GPIO_POWER_BUTTON_L";
label = "H1_EC_PWR_BTN_ODL";
};
acok_od {
gpios = <&gpio0 0 GPIO_INPUT>;
+ enum-name = "GPIO_AC_PRESENT";
label = "ACOK_OD";
};
slp_s0_l {
gpios = <&gpiod 5 GPIO_INPUT>;
+ enum-name = "GPIO_PCH_SLP_S0_L";
label = "SLP_S0_L";
};
slp_s3_l {
gpios = <&gpioa 5 GPIO_INPUT>;
+ enum-name = "GPIO_PCH_SLP_S3_L";
label = "SLP_S3_L";
};
slp_sus_l {
gpios = <&gpiod 7 GPIO_INPUT>;
+ enum-name = "GPIO_SLP_SUS_L";
label = "SLP_SUS_L";
};
pg_ec_rsmrst_odl {
gpios = <&gpioe 2 GPIO_INPUT>;
+ enum-name = "GPIO_PG_EC_RSMRST_ODL";
label = "PG_EC_RSMRST_ODL";
};
+ rsmrst_l_pgood {
+ gpios = <&gpioe 2 GPIO_INPUT>;
+ enum-name = "GPIO_RSMRST_L_PGOOD";
+ label = "RSMRST_L_PGOOD";
+ };
dsw_pwrok {
gpios = <&gpioc 7 GPIO_INPUT>;
+ enum-name = "GPIO_PG_EC_DSW_PWROK";
label = "DSW_PWROK";
};
pg_ec_all_sys_pwrgd {
gpios = <&gpiof 4 GPIO_INPUT>;
+ enum-name = "GPIO_PG_EC_ALL_SYS_PWRGD";
label = "PG_EC_ALL_SYS_PWRGD";
};
ec_imu_int_l {
@@ -93,14 +108,17 @@
};
en_pp3300_a {
gpios = <&gpioa 3 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EN_PP3300_A";
label = "EN_PP3300_A";
};
en_pp5000_a {
gpios = <&gpioa 4 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EN_PP5000";
label = "EN_PP5000_A";
};
en_ppvar_vccin {
gpios = <&gpio4 3 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EN_PPVAR_VCCIN";
label = "EN_PPVAR_VCCIN";
};
ec_rst_odl {
@@ -109,38 +127,47 @@
};
ec_pch_sys_pwrok {
gpios = <&gpio3 7 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EC_PCH_SYS_PWROK";
label = "EC_PCH_SYS_PWROK";
};
ec_pch_rsmrst_odl {
gpios = <&gpioa 6 GPIO_ODR_LOW>;
+ enum-name = "GPIO_PCH_RSMRST_L";
label = "EC_PCH_RSMRST_ODL";
};
ec_pch_pwr_btn_odl {
gpios = <&gpioc 1 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_PCH_PWRBTN_L";
label = "EC_PCH_PWR_BTN_ODL";
};
ec_pch_rtcrst {
gpios = <&gpio7 6 GPIO_OUT_LOW>;
+ enum-name = "GPIO_PCH_RTCRST";
label = "EC_PCH_RTCRST";
};
ec_pch_wake_odl {
gpios = <&gpio7 4 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_EC_PCH_WAKE_ODL";
label = "EC_PCH_WAKE_ODL";
};
ec_entering_rw {
gpios = <&gpioe 3 GPIO_OUT_LOW>;
+ enum-name = "GPIO_ENTERING_RW";
label = "EC_ENTERING_RW";
};
ec_prochot_odl {
gpios = <&gpio6 3 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_CPU_PROCHOT";
label = "EC_PROCHOT_ODL";
};
ec_prochot_in_l {
gpios = <&gpiof 0 GPIO_INPUT>;
+ enum-name = "GPIO_EC_PROCHOT_IN_L";
label = "EC_PROCHOT_IN_L";
};
sys_rst_odl {
gpios = <&gpioc 5 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_SYS_RESET_L";
label = "SYS_RST_ODL";
};
ec_pch_int_odl {
@@ -225,6 +252,7 @@
};
ec_edp_bl_en {
gpios = <&gpiod 3 GPIO_OUT_HIGH>;
+ enum-name = "GPIO_ENABLE_BACKLIGHT";
label = "EC_EDP_BL_EN";
};
ec_i2c0_sensor_scl {
@@ -293,6 +321,7 @@
};
ec_kso_02_inv {
gpios = <&gpio1 7 GPIO_OUT_LOW>;
+ enum-name = "GPIO_KBD_KSO2";
label = "EC_KSO_02_INV";
};
};
diff --git a/zephyr/projects/volteer/delbin/include/gpio_map.h b/zephyr/projects/volteer/delbin/include/gpio_map.h
index a9720151a5..0dce0d3be8 100644
--- a/zephyr/projects/volteer/delbin/include/gpio_map.h
+++ b/zephyr/projects/volteer/delbin/include/gpio_map.h
@@ -9,32 +9,7 @@
#include <devicetree.h>
#include <gpio_signal.h>
-#define GPIO_AC_PRESENT NAMED_GPIO(acok_od)
-#define GPIO_CPU_PROCHOT NAMED_GPIO(ec_prochot_odl)
-#define GPIO_EC_PCH_SYS_PWROK NAMED_GPIO(ec_pch_sys_pwrok)
-#define GPIO_EC_PCH_WAKE_ODL NAMED_GPIO(ec_pch_wake_odl)
-#define GPIO_EC_PROCHOT_IN_L NAMED_GPIO(ec_prochot_in_l)
-#define GPIO_ENABLE_BACKLIGHT NAMED_GPIO(ec_edp_bl_en)
-#define GPIO_ENTERING_RW NAMED_GPIO(ec_entering_rw)
-#define GPIO_EN_PP3300_A NAMED_GPIO(en_pp3300_a)
-#define GPIO_EN_PP5000 NAMED_GPIO(en_pp5000_a)
-#define GPIO_EN_PPVAR_VCCIN NAMED_GPIO(en_ppvar_vccin)
-#define GPIO_KBD_KSO2 NAMED_GPIO(ec_kso_02_inv)
-#define GPIO_LID_OPEN NAMED_GPIO(ec_lid_open)
-#define GPIO_PCH_PWRBTN_L NAMED_GPIO(ec_pch_pwr_btn_odl)
-#define GPIO_PCH_RSMRST_L NAMED_GPIO(ec_pch_rsmrst_odl)
-#define GPIO_PCH_RTCRST NAMED_GPIO(ec_pch_rtcrst)
-#define GPIO_PCH_SLP_S0_L NAMED_GPIO(slp_s0_l)
-#define GPIO_PCH_SLP_S3_L NAMED_GPIO(slp_s3_l)
#define GPIO_PCH_DSW_PWROK GPIO_UNIMPLEMENTED
-#define GPIO_PG_EC_ALL_SYS_PWRGD NAMED_GPIO(pg_ec_all_sys_pwrgd)
-#define GPIO_PG_EC_DSW_PWROK NAMED_GPIO(dsw_pwrok)
-#define GPIO_PG_EC_RSMRST_ODL NAMED_GPIO(pg_ec_rsmrst_odl)
-#define GPIO_POWER_BUTTON_L NAMED_GPIO(h1_ec_pwr_btn_odl)
-#define GPIO_RSMRST_L_PGOOD NAMED_GPIO(pg_ec_rsmrst_odl)
-#define GPIO_SLP_SUS_L NAMED_GPIO(slp_sus_l)
-#define GPIO_SYS_RESET_L NAMED_GPIO(sys_rst_odl)
-#define GPIO_WP_L NAMED_GPIO(ec_wp_l)
#ifdef CONFIG_PLATFORM_EC_POWERSEQ
#define POWER_SIGNAL_INT(gpio, edge) \
diff --git a/zephyr/projects/volteer/volteer/gpio.dts b/zephyr/projects/volteer/volteer/gpio.dts
index cd4e780253..c5934b77b2 100644
--- a/zephyr/projects/volteer/volteer/gpio.dts
+++ b/zephyr/projects/volteer/volteer/gpio.dts
@@ -9,54 +9,82 @@
ec_lid_open {
gpios = <&gpiod 2 GPIO_INPUT>;
+ enum-name = "GPIO_LID_OPEN";
label = "EC_LID_OPEN";
};
ec_wp_l {
gpios = <&gpioa 1 GPIO_INPUT>;
+ enum-name = "GPIO_EC_WP_L";
label = "EC_WP_L";
};
+ wp_l {
+ gpios = <&gpioa 1 GPIO_INPUT>;
+ enum-name = "GPIO_WP_L";
+ label = "WP_L";
+ };
h1_ec_pwr_btn_odl {
gpios = <&gpio0 1 GPIO_INPUT>;
+ enum-name = "GPIO_POWER_BUTTON_L";
label = "H1_EC_PWR_BTN_ODL";
};
acok_od {
gpios = <&gpio0 0 GPIO_INPUT>;
+ enum-name = "GPIO_AC_PRESENT";
label = "ACOK_OD";
};
slp_s0_l {
gpios = <&gpiod 5 GPIO_INPUT>;
+ enum-name = "GPIO_PCH_SLP_S0_L";
label = "SLP_S0_L";
};
slp_s3_l {
gpios = <&gpioa 5 GPIO_INPUT>;
+ enum-name = "GPIO_PCH_SLP_S3_L";
label = "SLP_S3_L";
};
+ pch_slp_sus_l {
+ gpios = <&gpiod 7 GPIO_INPUT>;
+ enum-name = "GPIO_PCH_SLP_SUS_L";
+ label = "PCH_SLP_SUS_L";
+ };
slp_sus_l {
gpios = <&gpiod 7 GPIO_INPUT>;
+ enum-name = "GPIO_SLP_SUS_L";
label = "SLP_SUS_L";
};
pg_ec_rsmrst_odl {
gpios = <&gpioe 2 GPIO_INPUT>;
+ enum-name = "GPIO_PG_EC_RSMRST_ODL";
label = "PG_EC_RSMRST_ODL";
};
+ rsmrst_l_pgood {
+ gpios = <&gpioe 2 GPIO_INPUT>;
+ enum-name = "GPIO_RSMRST_L_PGOOD";
+ label = "RSMRST_L_PGOOD";
+ };
pg_ec_dsw_pwrok {
gpios = <&gpioc 7 GPIO_INPUT>;
+ enum-name = "GPIO_PG_EC_DSW_PWROK";
label = "PG_EC_DSW_PWROK";
};
pg_ec_all_sys_pwrgd {
gpios = <&gpiof 4 GPIO_INPUT>;
+ enum-name = "GPIO_PG_EC_ALL_SYS_PWRGD";
label = "PG_EC_ALL_SYS_PWRGD";
};
gpio_ec_imu_int_l: ec_imu_int_l {
gpios = <&gpio5 6 GPIO_INPUT>;
+ enum-name = "GPIO_EC_IMU_INT_L";
label = "EC_IMU_INT_L";
};
gpio_ec_als_rgb_int_l: ec_als_rgb_int_l {
gpios = <&gpiod 4 GPIO_INPUT>;
+ enum-name = "GPIO_EC_ALS_RGB_INT_L";
label = "EC_ALS_RGB_INT_L";
};
tablet_mode_l {
gpios = <&gpio9 5 GPIO_INPUT>;
+ enum-name = "GPIO_TABLET_MODE_L";
label = "TABLET_MODE_L";
};
ec_accel_int {
@@ -65,55 +93,79 @@
};
usb_c0_tcpc_int_odl {
gpios = <&gpioe 0 GPIO_INPUT>;
+ enum-name = "GPIO_USB_C0_TCPC_INT_ODL";
label = "USB_C0_TCPC_INT_ODL";
};
usb_c1_tcpc_int_odl {
gpios = <&gpioa 2 GPIO_INPUT>;
+ enum-name = "GPIO_USB_C1_TCPC_INT_ODL";
label = "USB_C1_TCPC_INT_ODL";
};
usb_c0_ppc_int_odl {
gpios = <&gpio6 2 GPIO_INPUT>;
+ enum-name = "GPIO_USB_C0_PPC_INT_ODL";
label = "USB_C0_PPC_INT_ODL";
};
usb_c1_ppc_int_odl {
gpios = <&gpiof 5 GPIO_INPUT>;
+ enum-name = "GPIO_USB_C1_PPC_INT_ODL";
label = "USB_C1_PPC_INT_ODL";
};
usb_c0_bc12_int_odl {
gpios = <&gpioe 4 GPIO_INPUT>;
+ enum-name = "GPIO_USB_C0_BC12_INT_ODL";
label = "USB_C0_BC12_INT_ODL";
};
gpio_usb_c1_mix_int_odl: usb_c1_mix_int_odl {
#gpio-cells = <0>;
gpios = <&gpio0 3 GPIO_INPUT>;
+ enum-name = "GPIO_USB_C1_MIX_INT_ODL";
label = "USB_C1_MIX_INT_ODL";
};
+ usb_c1_bc12_int_odl {
+ #gpio-cells = <0>;
+ gpios = <&gpio0 3 GPIO_INPUT>;
+ enum-name = "GPIO_USB_C1_BC12_INT_ODL";
+ label = "USB_C1_BC12_INT_ODL";
+ };
usb_c1_frs_en {
gpios = <&gpio9 4 GPIO_OUT_LOW>;
+ enum-name = "GPIO_USB_C1_FRS_EN";
label = "USB_C1_FRS_EN";
};
ec_voldn_btn_odl {
gpios = <&gpio9 3 (GPIO_INPUT | GPIO_PULL_UP)>;
+ enum-name = "GPIO_VOLUME_DOWN_L";
label = "EC_VOLDN_BTN_ODL";
};
ec_volup_btn_odl {
gpios = <&gpio9 7 (GPIO_INPUT | GPIO_PULL_UP)>;
+ enum-name = "GPIO_VOLUME_UP_L";
label = "EC_VOLUP_BTN_ODL";
};
en_pp3300_a {
gpios = <&gpioa 3 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EN_PP3300_A";
label = "EN_PP3300_A";
};
+ en_pp5000 {
+ gpios = <&gpioa 4 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EN_PP5000";
+ label = "EN_PP5000";
+ };
en_pp5000_a {
gpios = <&gpioa 4 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EN_PP5000_A";
label = "EN_PP5000_A";
};
en_ppvar_vccin {
gpios = <&gpio4 3 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EN_PPVAR_VCCIN";
label = "EN_PPVAR_VCCIN";
};
ec_pch_dsw_pwrok {
gpios = <&gpioc 0 GPIO_OUT_LOW>;
+ enum-name = "GPIO_PCH_DSW_PWROK";
label = "EC_PCH_DSW_PWROK";
};
ec_rst_odl {
@@ -122,46 +174,57 @@
};
ec_pch_sys_pwrok {
gpios = <&gpio3 7 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EC_PCH_SYS_PWROK";
label = "EC_PCH_SYS_PWROK";
};
ec_pch_rsmrst_odl {
gpios = <&gpioa 6 GPIO_ODR_LOW>;
+ enum-name = "GPIO_PCH_RSMRST_L";
label = "EC_PCH_RSMRST_ODL";
};
ec_pch_pwr_btn_odl {
gpios = <&gpioc 1 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_PCH_PWRBTN_L";
label = "EC_PCH_PWR_BTN_ODL";
};
ec_pch_rtcrst {
gpios = <&gpio7 6 GPIO_OUT_LOW>;
+ enum-name = "GPIO_PCH_RTCRST";
label = "EC_PCH_RTCRST";
};
ec_pch_wake_odl {
gpios = <&gpio7 4 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_EC_PCH_WAKE_ODL";
label = "EC_PCH_WAKE_ODL";
};
ec_entering_rw {
gpios = <&gpioe 3 GPIO_OUT_LOW>;
+ enum-name = "GPIO_ENTERING_RW";
label = "EC_ENTERING_RW";
};
ec_prochot_odl {
gpios = <&gpio6 3 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_CPU_PROCHOT";
label = "EC_PROCHOT_ODL";
};
ec_prochot_in_l {
gpios = <&gpiof 0 GPIO_INPUT>;
+ enum-name = "GPIO_EC_PROCHOT_IN_L";
label = "EC_PROCHOT_IN_L";
};
sys_rst_odl {
gpios = <&gpioc 5 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_SYS_RESET_L";
label = "SYS_RST_ODL";
};
ec_pch_int_odl {
gpios = <&gpiob 0 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_EC_INT_L";
label = "EC_PCH_INT_ODL";
};
en_pp5000_usba {
gpios = <&gpioc 6 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EN_PP5000_USBA";
label = "EN_PP5000_USBA";
};
usb_a_low_pwr_od {
@@ -176,14 +239,17 @@
gpio_usb_c1_rt_rst_odl: usb_c1_rt_rst_odl {
#gpio-cells = <0>;
gpios = <&gpio8 3 GPIO_ODR_LOW>;
+ enum-name = "GPIO_USB_C1_RT_RST_ODL";
label = "USB_C1_RT_RST_ODL";
};
usb_c0_oc_odl {
gpios = <&gpiob 1 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_USB_C0_OC_ODL";
label = "USB_C0_OC_ODL";
};
usb_c1_oc_odl {
gpios = <&gpio5 0 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_USB_C1_OC_ODL";
label = "USB_C1_OC_ODL";
};
usb_c1_rt_int_odl {
@@ -192,6 +258,7 @@
};
ec_h1_packet_mode {
gpios = <&gpio7 5 GPIO_OUT_LOW>;
+ enum-name = "GPIO_PACKET_MODE_EN";
label = "EC_H1_PACKET_MODE";
};
m2_ssd_pln {
@@ -213,6 +280,7 @@
gpio_unused_gpio41: unused_gpio41 {
#gpio-cells = <0>;
gpios = <&gpio4 1 (GPIO_INPUT | GPIO_PULL_UP)>;
+ enum-name = "GPIO_USB_C1_LS_EN";
label = "UNUSED_GPIO41";
};
unused_gpiof2 {
@@ -237,14 +305,17 @@
};
ec_edp_bl_en {
gpios = <&gpiod 3 GPIO_OUT_HIGH>;
+ enum-name = "GPIO_ENABLE_BACKLIGHT";
label = "EC_EDP_BL_EN";
};
ec_i2c0_sensor_scl {
gpios = <&gpiob 5 GPIO_INPUT>;
+ enum-name = "GPIO_EC_I2C0_SENSOR_SCL";
label = "EC_I2C0_SENSOR_SCL";
};
ec_i2c0_sensor_sda {
gpios = <&gpiob 4 GPIO_INPUT>;
+ enum-name = "GPIO_EC_I2C0_SENSOR_SDA";
label = "EC_I2C0_SENSOR_SDA";
};
ec_i2c1_usb_c0_scl {
@@ -289,14 +360,17 @@
};
ec_batt_pres_odl {
gpios = <&gpioe 1 GPIO_INPUT>;
+ enum-name = "GPIO_EC_BATT_PRES_ODL";
label = "EC_BATT_PRES_ODL";
};
gpio_en_pp5000_fan: en_pp5000_fan {
gpios = <&gpio6 1 GPIO_OUT_LOW>;
+ enum-name = "GPIO_EN_PP5000_FAN";
label = "EN_PP5000_FAN";
};
ec_kso_02_inv {
gpios = <&gpio1 7 GPIO_OUT_LOW>;
+ enum-name = "GPIO_KBD_KSO2";
label = "EC_KSO_02_INV";
};
};
diff --git a/zephyr/projects/volteer/volteer/include/gpio_map.h b/zephyr/projects/volteer/volteer/include/gpio_map.h
index 0b2f33f86d..d1de4eed76 100644
--- a/zephyr/projects/volteer/volteer/include/gpio_map.h
+++ b/zephyr/projects/volteer/volteer/include/gpio_map.h
@@ -21,74 +21,7 @@
* Note we only need to create aliases for GPIOs that are referenced in common
* platform/ec code.
*/
-#define GPIO_AC_PRESENT NAMED_GPIO(acok_od)
-#define GPIO_CPU_PROCHOT NAMED_GPIO(ec_prochot_odl)
-#define GPIO_EC_ALS_RGB_INT_L NAMED_GPIO(ec_als_rgb_int_l)
-#define GPIO_EC_BATT_PRES_ODL NAMED_GPIO(ec_batt_pres_odl)
-#define GPIO_EC_INT_L NAMED_GPIO(ec_pch_int_odl)
-#define GPIO_EC_IMU_INT_L NAMED_GPIO(ec_imu_int_l)
-#define GPIO_EC_PCH_SYS_PWROK NAMED_GPIO(ec_pch_sys_pwrok)
-#define GPIO_EC_PCH_WAKE_ODL NAMED_GPIO(ec_pch_wake_odl)
-#define GPIO_EC_WP_L NAMED_GPIO(ec_wp_l)
-#define GPIO_EN_PP3300_A NAMED_GPIO(en_pp3300_a)
-#define GPIO_EN_PP5000 NAMED_GPIO(en_pp5000_a)
-#define GPIO_EN_PP5000_A NAMED_GPIO(en_pp5000_a)
-#define GPIO_EN_PPVAR_VCCIN NAMED_GPIO(en_ppvar_vccin)
-#define GPIO_ENABLE_BACKLIGHT NAMED_GPIO(ec_edp_bl_en)
-#define GPIO_ENTERING_RW NAMED_GPIO(ec_entering_rw)
-#define GPIO_KBD_KSO2 NAMED_GPIO(ec_kso_02_inv)
-#define GPIO_LID_OPEN NAMED_GPIO(ec_lid_open)
-#define GPIO_PACKET_MODE_EN NAMED_GPIO(ec_h1_packet_mode)
-#define GPIO_PCH_DSW_PWROK NAMED_GPIO(ec_pch_dsw_pwrok)
-#define GPIO_PCH_PWRBTN_L NAMED_GPIO(ec_pch_pwr_btn_odl)
-#define GPIO_PCH_RSMRST_L NAMED_GPIO(ec_pch_rsmrst_odl)
-#define GPIO_PCH_RTCRST NAMED_GPIO(ec_pch_rtcrst)
-#define GPIO_PCH_SLP_S0_L NAMED_GPIO(slp_s0_l)
-#define GPIO_PCH_SLP_S3_L NAMED_GPIO(slp_s3_l)
-#define GPIO_PCH_SLP_SUS_L NAMED_GPIO(slp_sus_l)
-#define GPIO_PG_EC_ALL_SYS_PWRGD NAMED_GPIO(pg_ec_all_sys_pwrgd)
-#define GPIO_PG_EC_DSW_PWROK NAMED_GPIO(pg_ec_dsw_pwrok)
-#define GPIO_PG_EC_RSMRST_ODL NAMED_GPIO(pg_ec_rsmrst_odl)
-#define GPIO_POWER_BUTTON_L NAMED_GPIO(h1_ec_pwr_btn_odl)
-#define GPIO_RSMRST_L_PGOOD NAMED_GPIO(pg_ec_rsmrst_odl)
-#define GPIO_SLP_SUS_L NAMED_GPIO(slp_sus_l)
-#define GPIO_SYS_RESET_L NAMED_GPIO(sys_rst_odl)
-#define GPIO_TABLET_MODE_L NAMED_GPIO(tablet_mode_l)
-#define GPIO_VOLUME_DOWN_L NAMED_GPIO(ec_voldn_btn_odl)
-#define GPIO_VOLUME_UP_L NAMED_GPIO(ec_volup_btn_odl)
-#define GPIO_WP_L NAMED_GPIO(ec_wp_l)
-#define CONFIG_TEMP_SENSOR_POWER_GPIO NAMED_GPIO(pg_ec_dsw_pwrok)
-
-/* USB-C interrupts */
-#define GPIO_USB_C0_TCPC_INT_ODL NAMED_GPIO(usb_c0_tcpc_int_odl)
-#define GPIO_USB_C1_TCPC_INT_ODL NAMED_GPIO(usb_c1_tcpc_int_odl)
-
-#define GPIO_USB_C0_PPC_INT_ODL NAMED_GPIO(usb_c0_ppc_int_odl)
-#define GPIO_USB_C1_PPC_INT_ODL NAMED_GPIO(usb_c1_ppc_int_odl)
-
-#define GPIO_USB_C0_BC12_INT_ODL NAMED_GPIO(usb_c0_bc12_int_odl)
-#define GPIO_USB_C1_MIX_INT_ODL NAMED_GPIO(usb_c1_mix_int_odl)
-
-#define GPIO_USB_C0_OC_ODL NAMED_GPIO(usb_c0_oc_odl)
-#define GPIO_USB_C1_OC_ODL NAMED_GPIO(usb_c1_oc_odl)
-
-/* USB and USBC Signals */
-#define GPIO_EN_PP5000_USBA NAMED_GPIO(en_pp5000_usba)
-#define GPIO_USB_C1_FRS_EN NAMED_GPIO(usb_c1_frs_en)
-#define GPIO_USB_C1_RT_RST_ODL \
- NAMED_GPIO_NODELABEL(usb_c1_bb_retimer, reset_gpios)
-
-/* Fan control */
-#define GPIO_EN_PP5000_FAN NAMED_GPIO(en_pp5000_fan)
-
-/* Don't have a load switch for retimer */
-/* TODO(b/176559881): How to do unimplemented GPIOs? */
-#define GPIO_USB_C1_LS_EN \
- NAMED_GPIO_NODELABEL(usb_c1_bb_retimer, ls_en_gpios)
-
-#define GPIO_USB_C1_BC12_INT_ODL GPIO_USB_C1_MIX_INT_ODL
-
-#define GPIO_EC_PROCHOT_IN_L NAMED_GPIO(ec_prochot_in_l)
+#define CONFIG_TEMP_SENSOR_POWER_GPIO GPIO_PG_EC_DSW_PWROK
/* Helper macros for generating CROS_EC_GPIO_INTERRUPTS */
#ifdef CONFIG_PLATFORM_EC_POWERSEQ
diff --git a/zephyr/shim/include/zephyr_gpio_signal.h b/zephyr/shim/include/zephyr_gpio_signal.h
index c2b64e117b..ff047476d9 100644
--- a/zephyr/shim/include/zephyr_gpio_signal.h
+++ b/zephyr/shim/include/zephyr_gpio_signal.h
@@ -11,8 +11,9 @@
#include <devicetree.h>
#include <toolchain.h>
-#define GPIO_SIGNAL(id) DT_CAT(GPIO_, id)
-#define GPIO_SIGNAL_WITH_COMMA(id) GPIO_SIGNAL(id),
+#define GPIO_SIGNAL(id) DT_ENUM_UPPER_TOKEN(id, enum_name)
+#define GPIO_SIGNAL_WITH_COMMA(id) \
+ COND_CODE_1(DT_NODE_HAS_PROP(id, enum_name), (GPIO_SIGNAL(id), ), ())
enum gpio_signal {
GPIO_UNIMPLEMENTED = -1,
#if DT_NODE_EXISTS(DT_PATH(named_gpios))
diff --git a/zephyr/shim/src/gpio.c b/zephyr/shim/src/gpio.c
index 020cb54d31..37cfe3e3b4 100644
--- a/zephyr/shim/src/gpio.c
+++ b/zephyr/shim/src/gpio.c
@@ -27,13 +27,17 @@ struct gpio_config {
gpio_flags_t init_flags;
};
-#define GPIO_CONFIG(id) \
- { \
- .name = DT_LABEL(id), \
- .dev_name = DT_LABEL(DT_PHANDLE(id, gpios)), \
- .pin = DT_GPIO_PIN(id, gpios), \
- .init_flags = DT_GPIO_FLAGS(id, gpios), \
- },
+#define GPIO_CONFIG(id) \
+ COND_CODE_1( \
+ DT_NODE_HAS_PROP(id, enum_name), \
+ ( \
+ { \
+ .name = DT_LABEL(id), \
+ .dev_name = DT_LABEL(DT_PHANDLE(id, gpios)), \
+ .pin = DT_GPIO_PIN(id, gpios), \
+ .init_flags = DT_GPIO_FLAGS(id, gpios), \
+ }, ), \
+ ())
static const struct gpio_config configs[] = {
#if DT_NODE_EXISTS(DT_PATH(named_gpios))
DT_FOREACH_CHILD(DT_PATH(named_gpios), GPIO_CONFIG)
@@ -46,7 +50,7 @@ struct gpio_data {
const struct device *dev;
};
-#define GPIO_DATA(id) {},
+#define GPIO_DATA(id) COND_CODE_1(DT_NODE_HAS_PROP(id, enum_name), ({}, ), ())
static struct gpio_data data[] = {
#if DT_NODE_EXISTS(DT_PATH(named_gpios))
DT_FOREACH_CHILD(DT_PATH(named_gpios), GPIO_DATA)