diff options
-rw-r--r-- | zephyr/projects/corsola/gpio_kingler.dts | 30 | ||||
-rw-r--r-- | zephyr/projects/corsola/gpio_krabby.dts | 28 | ||||
-rw-r--r-- | zephyr/projects/corsola/include/gpio_map.h | 8 | ||||
-rw-r--r-- | zephyr/projects/corsola/interrupts_krabby.dts | 7 | ||||
-rw-r--r-- | zephyr/projects/corsola/src/board_chipset.c | 4 | ||||
-rw-r--r-- | zephyr/projects/corsola/src/hibernate.c | 2 | ||||
-rw-r--r-- | zephyr/projects/corsola/src/kingler/usbc_config.c | 20 | ||||
-rw-r--r-- | zephyr/projects/corsola/src/krabby/hooks.c | 4 | ||||
-rw-r--r-- | zephyr/projects/corsola/src/krabby/usbc_config.c | 14 | ||||
-rw-r--r-- | zephyr/projects/corsola/src/usb_pd_policy.c | 10 | ||||
-rw-r--r-- | zephyr/projects/corsola/src/usbc_config.c | 9 | ||||
-rw-r--r-- | zephyr/projects/corsola/src/variant_db_detection.c | 28 |
12 files changed, 103 insertions, 61 deletions
diff --git a/zephyr/projects/corsola/gpio_kingler.dts b/zephyr/projects/corsola/gpio_kingler.dts index 58aac30941..3afe4231ce 100644 --- a/zephyr/projects/corsola/gpio_kingler.dts +++ b/zephyr/projects/corsola/gpio_kingler.dts @@ -39,7 +39,7 @@ GPIO_ACTIVE_LOW)>; enum-name = "GPIO_AP_IN_SLEEP_L"; }; - en_ulp { + gpio_en_ulp: en_ulp { gpios = <&gpioc 6 GPIO_OUT_LOW>; enum-name = "GPIO_EN_ULP"; }; @@ -133,7 +133,7 @@ gpios = <&gpio0 1 GPIO_INPUT>; enum-name = "GPIO_POWER_BUTTON_L"; }; - en_5v_usm { + gpio_en_5v_usm: en_5v_usm { gpios = <&gpio0 2 GPIO_OUT_LOW>; enum-name = "GPIO_EN_5V_USM"; }; @@ -162,19 +162,19 @@ gpios = <&gpio7 0 GPIO_INPUT>; enum-name = "GPIO_PG_PP5000_Z2_OD"; }; - ec_x_gpio1 { + gpio_ec_x_gpio1: ec_x_gpio1 { gpios = <&gpio6 2 GPIO_OUT_LOW>; enum-name = "GPIO_EC_X_GPIO1"; }; - dp_aux_path_sel { + dp_aux_path_sel: dp_aux_path_sel { gpios = <&gpio6 3 GPIO_OUT_LOW>; enum-name = "GPIO_DP_AUX_PATH_SEL"; }; - ec_bl_en_od { + gpio_ec_bl_en_od: ec_bl_en_od { gpios = <&gpio4 0 (GPIO_ODR_LOW | GPIO_VOLTAGE_1P8)>; enum-name = "GPIO_EC_BL_EN_OD"; }; - ec_x_gpio3 { + gpio_ec_x_gpio3: ec_x_gpio3 { gpios = <&gpiod 3 GPIO_OUT_LOW>; enum-name = "GPIO_EC_X_GPIO3"; }; @@ -182,7 +182,7 @@ gpios = <&gpio7 3 GPIO_INPUT>; enum-name = "GPIO_USB_C0_TCPC_INT_ODL"; }; - usb_c0_tcpc_rst { + gpio_usb_c0_tcpc_rst: usb_c0_tcpc_rst { gpios = <&gpioc 0 GPIO_OUT_LOW>; enum-name = "GPIO_USB_C0_TCPC_RST"; }; @@ -190,7 +190,7 @@ gpios = <&gpio6 0 GPIO_OUT_LOW>; enum-name = "GPIO_EN_PP5000_USB_A0_VBUS"; }; - hdmi_prsnt_odl { + gpio_hdmi_prsnt_odl: hdmi_prsnt_odl { gpios = <&gpio3 7 GPIO_INPUT>; enum-name = "GPIO_HDMI_PRSNT_ODL"; }; @@ -210,7 +210,7 @@ gpios = <&gpioc 7 GPIO_INPUT>; enum-name = "GPIO_USB_A0_FAULT_ODL"; }; - ec_ap_dp_hpd_odl { + ec_ap_dp_hpd_odl: ec_ap_dp_hpd_odl { gpios = <&gpio6 1 (GPIO_ODR_HIGH | GPIO_VOLTAGE_1P8)>; enum-name = "GPIO_EC_AP_DP_HPD_ODL"; }; @@ -232,6 +232,18 @@ }; }; + /* + * aliases for sub-board GPIOs + */ + aliases { + gpio-en-hdmi-pwr = &gpio_ec_x_gpio1; + gpio-usb-c1-frs-en = &gpio_ec_x_gpio1; + gpio-usb-c1-ppc-int-odl = &gpio_x_ec_gpio2; + gpio-ps185-ec-dp-hpd = &gpio_x_ec_gpio2; + gpio-usb-c1-dp-in-hpd = &gpio_ec_x_gpio3; + gpio-ps185-pwrdn-odl = &gpio_ec_x_gpio3; + }; + def-lvol-io-list { compatible = "nuvoton,npcx-lvolctrl-def"; lvol-io-pads = < diff --git a/zephyr/projects/corsola/gpio_krabby.dts b/zephyr/projects/corsola/gpio_krabby.dts index 0d04068fd5..a19ca3d021 100644 --- a/zephyr/projects/corsola/gpio_krabby.dts +++ b/zephyr/projects/corsola/gpio_krabby.dts @@ -48,7 +48,7 @@ gpios = <&gpiod 6 GPIO_INPUT>; enum-name = "GPIO_VOLUME_UP_L"; }; - ap_xhci_init_done: ap_xhci_init_done { + gpio_ap_xhci_init_done: ap_xhci_init_done { gpios = <&gpioj 5 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>; enum-name = "GPIO_AP_XHCI_INIT_DONE"; }; @@ -63,7 +63,7 @@ spi0_cs: spi0_cs { gpios = <&gpiom 5 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>; }; - x_ec_gpio2: x_ec_gpio2 { + gpio_x_ec_gpio2: x_ec_gpio2 { gpios = <&gpiob 2 (GPIO_INPUT | GPIO_ODR_HIGH)>; enum-name = "GPIO_X_EC_GPIO2"; }; @@ -83,7 +83,7 @@ gpios = <&gpioc 6 GPIO_OUT_HIGH>; enum-name = "GPIO_EN_PP5000_Z2"; }; - en_ulp: en_ulp { + gpio_en_ulp: en_ulp { gpios = <&gpioe 3 GPIO_OUT_LOW>; enum-name = "GPIO_EN_ULP"; }; @@ -91,7 +91,7 @@ gpios = <&gpiog 1 GPIO_ODR_LOW>; enum-name = "GPIO_SYS_RST_ODL"; }; - ec_bl_en_od: ec_bl_en_od { + gpio_ec_bl_en_od: ec_bl_en_od { gpios = <&gpiob 5 (GPIO_ODR_LOW | GPIO_VOLTAGE_1P8)>; enum-name = "GPIO_EC_BL_EN_OD"; }; @@ -137,7 +137,7 @@ gpios = <&gpioc 5 GPIO_OUT_LOW>; enum-name = "GPIO_ENTERING_RW"; }; - en_5v_usm: en_5v_usm { + gpio_en_5v_usm: en_5v_usm { gpios = <&gpiog 3 GPIO_OUT_LOW>; enum-name = "GPIO_EN_5V_USM"; }; @@ -193,20 +193,32 @@ gpios = <&gpioa 5 GPIO_INPUT>; enum-name = "GPIO_I2C_F_SDA"; }; - ec_x_gpio1: ec_x_gpio1 { + gpio_ec_x_gpio1: ec_x_gpio1 { gpios = <&gpioh 4 GPIO_OUT_LOW>; enum-name = "GPIO_EC_X_GPIO1"; }; - ec_x_gpio3: ec_x_gpio3 { + gpio_ec_x_gpio3: ec_x_gpio3 { gpios = <&gpioj 1 GPIO_INPUT>; enum-name = "GPIO_EC_X_GPIO3"; }; - hdmi_prsnt_odl: hdmi_prsnt_odl { + gpio_hdmi_prsnt_odl: hdmi_prsnt_odl { gpios = <&gpioj 3 GPIO_INPUT>; enum-name = "GPIO_HDMI_PRSNT_ODL"; }; }; + /* + * aliases for sub-board GPIOs + */ + aliases { + gpio-en-hdmi-pwr = &gpio_ec_x_gpio1; + gpio-usb-c1-frs-en = &gpio_ec_x_gpio1; + gpio-usb-c1-ppc-int-odl = &gpio_x_ec_gpio2; + gpio-ps185-ec-dp-hpd = &gpio_x_ec_gpio2; + gpio-usb-c1-dp-in-hpd = &gpio_ec_x_gpio3; + gpio-ps185-pwrdn-odl = &gpio_ec_x_gpio3; + }; + ec-mkbp-host-event-wakeup-mask { compatible = "ec-wake-mask-event"; wakeup-mask = <( diff --git a/zephyr/projects/corsola/include/gpio_map.h b/zephyr/projects/corsola/include/gpio_map.h index 262951f00b..9831a32579 100644 --- a/zephyr/projects/corsola/include/gpio_map.h +++ b/zephyr/projects/corsola/include/gpio_map.h @@ -12,14 +12,6 @@ #define GPIO_ENTERING_RW GPIO_UNIMPLEMENTED -/* daughterboard GPIO remap */ -#define GPIO_EN_HDMI_PWR GPIO_EC_X_GPIO1 -#define GPIO_USB_C1_FRS_EN GPIO_EC_X_GPIO1 -#define GPIO_USB_C1_PPC_INT_ODL GPIO_X_EC_GPIO2 -#define GPIO_PS185_EC_DP_HPD GPIO_X_EC_GPIO2 -#define GPIO_USB_C1_DP_IN_HPD GPIO_EC_X_GPIO3 -#define GPIO_PS185_PWRDN_ODL GPIO_EC_X_GPIO3 - #ifdef CONFIG_PLATFORM_EC_USB_PD_TCPM_RT1718S #define GPIO_EN_USB_C1_SINK RT1718S_GPIO1 #define GPIO_EN_USB_C1_SOURCE RT1718S_GPIO2 diff --git a/zephyr/projects/corsola/interrupts_krabby.dts b/zephyr/projects/corsola/interrupts_krabby.dts index 1750e01dd0..45a2ef4936 100644 --- a/zephyr/projects/corsola/interrupts_krabby.dts +++ b/zephyr/projects/corsola/interrupts_krabby.dts @@ -68,7 +68,7 @@ handler = "extpower_interrupt"; }; int_usba: usba { - irq-pin = <&ap_xhci_init_done>; + irq-pin = <&gpio_ap_xhci_init_done>; flags = <GPIO_INT_EDGE_BOTH>; handler = "usb_a0_interrupt"; }; @@ -82,6 +82,11 @@ flags = <GPIO_INT_EDGE_BOTH>; handler = "spi_event"; }; + int_x_ec_gpio2: x_ec_gpio2 { + irq-pin = <&gpio_x_ec_gpio2>; + flags = <GPIO_INT_EDGE_BOTH>; + handler = "x_ec_interrupt"; + }; int_base_imu: base_imu { irq-pin = <&base_imu_int_l>; flags = <GPIO_INT_EDGE_FALLING>; diff --git a/zephyr/projects/corsola/src/board_chipset.c b/zephyr/projects/corsola/src/board_chipset.c index 7e06a49792..22d5de5346 100644 --- a/zephyr/projects/corsola/src/board_chipset.c +++ b/zephyr/projects/corsola/src/board_chipset.c @@ -12,13 +12,13 @@ /* Called on AP S3 -> S0 transition */ static void board_chipset_resume(void) { - gpio_set_level(GPIO_EC_BL_EN_OD, 1); + gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_ec_bl_en_od), 1); } DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_chipset_resume, HOOK_PRIO_DEFAULT); /* Called on AP S0 -> S3 transition */ static void board_chipset_suspend(void) { - gpio_set_level(GPIO_EC_BL_EN_OD, 0); + gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_ec_bl_en_od), 0); } DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT); diff --git a/zephyr/projects/corsola/src/hibernate.c b/zephyr/projects/corsola/src/hibernate.c index efe36b28ae..e70047b7ab 100644 --- a/zephyr/projects/corsola/src/hibernate.c +++ b/zephyr/projects/corsola/src/hibernate.c @@ -15,7 +15,7 @@ __override void board_hibernate_late(void) isl9238c_hibernate(CHARGER_SOLO); #endif - gpio_set_level(GPIO_EN_ULP, 1); + gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_en_ulp), 1); /* should not reach here */ __builtin_unreachable(); diff --git a/zephyr/projects/corsola/src/kingler/usbc_config.c b/zephyr/projects/corsola/src/kingler/usbc_config.c index e0cc32f9a6..37ce89e781 100644 --- a/zephyr/projects/corsola/src/kingler/usbc_config.c +++ b/zephyr/projects/corsola/src/kingler/usbc_config.c @@ -200,9 +200,9 @@ void board_reset_pd_mcu(void) /* reset C0 ANX3447 */ /* Assert reset */ - gpio_set_level(GPIO_USB_C0_TCPC_RST, 1); + gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_usb_c0_tcpc_rst), 1); msleep(1); - gpio_set_level(GPIO_USB_C0_TCPC_RST, 0); + gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_usb_c0_tcpc_rst), 0); /* After TEST_R release, anx7447/3447 needs 2ms to finish eFuse * loading. */ @@ -290,12 +290,14 @@ uint16_t tcpc_get_alert_status(void) { uint16_t status = 0; - if (!gpio_get_level(GPIO_USB_C0_TCPC_INT_ODL)) { - if (!gpio_get_level(GPIO_USB_C0_TCPC_RST)) + if (!gpio_pin_get_dt( + GPIO_DT_FROM_NODELABEL(gpio_usb_c0_tcpc_int_odl))) { + if (!gpio_pin_get_dt( + GPIO_DT_FROM_NODELABEL(gpio_usb_c0_tcpc_rst))) status |= PD_STATUS_TCPC_ALERT_0; } - if (!gpio_get_level(GPIO_USB_C1_TCPC_INT_ODL)) + if (!gpio_pin_get_dt(GPIO_DT_FROM_NODELABEL(gpio_usb_c1_tcpc_int_odl))) return status |= PD_STATUS_TCPC_ALERT_1; return status; } @@ -305,10 +307,10 @@ void tcpc_alert_event(enum gpio_signal signal) int port; switch (signal) { - case GPIO_USB_C0_TCPC_INT_ODL: + case GPIO_SIGNAL(DT_NODELABEL(gpio_usb_c0_tcpc_int_odl)): port = 0; break; - case GPIO_USB_C1_TCPC_INT_ODL: + case GPIO_SIGNAL(DT_NODELABEL(gpio_usb_c1_tcpc_int_odl)): port = 1; break; default: @@ -321,10 +323,10 @@ void tcpc_alert_event(enum gpio_signal signal) void ppc_interrupt(enum gpio_signal signal) { switch (signal) { - case GPIO_USB_C0_PPC_INT_ODL: + case GPIO_SIGNAL(DT_NODELABEL(gpio_usb_c0_ppc_int_odl)): ppc_chips[0].drv->interrupt(0); break; - case GPIO_USB_C1_PPC_INT_ODL: + case GPIO_SIGNAL(DT_ALIAS(gpio_usb_c1_ppc_int_odl)): ppc_chips[1].drv->interrupt(1); break; default: diff --git a/zephyr/projects/corsola/src/krabby/hooks.c b/zephyr/projects/corsola/src/krabby/hooks.c index cea6667650..59d56fec1d 100644 --- a/zephyr/projects/corsola/src/krabby/hooks.c +++ b/zephyr/projects/corsola/src/krabby/hooks.c @@ -8,12 +8,12 @@ static void board_suspend(void) { - gpio_set_level(GPIO_EN_5V_USM, 0); + gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_en_5v_usm), 0); } DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_suspend, HOOK_PRIO_DEFAULT); static void board_resume(void) { - gpio_set_level(GPIO_EN_5V_USM, 1); + gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_en_5v_usm), 1); } DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_resume, HOOK_PRIO_DEFAULT); diff --git a/zephyr/projects/corsola/src/krabby/usbc_config.c b/zephyr/projects/corsola/src/krabby/usbc_config.c index 28ce147b1a..933a5fbcea 100644 --- a/zephyr/projects/corsola/src/krabby/usbc_config.c +++ b/zephyr/projects/corsola/src/krabby/usbc_config.c @@ -47,13 +47,13 @@ struct ppc_config_t ppc_chips[CONFIG_USB_PD_PORT_MAX_COUNT] = { .i2c_port = I2C_PORT_PPC0, .i2c_addr_flags = SYV682X_ADDR0_FLAGS, .drv = &syv682x_drv, - .frs_en = GPIO_USB_C0_PPC_FRSINFO, + .frs_en = GPIO_SIGNAL(DT_NODELABEL(usb_c0_ppc_frsinfo)), }, { .i2c_port = I2C_PORT_PPC1, .i2c_addr_flags = SYV682X_ADDR0_FLAGS, .drv = &syv682x_drv, - .frs_en = GPIO_USB_C1_FRS_EN, + .frs_en = GPIO_SIGNAL(DT_ALIAS(gpio_usb_c1_frs_en)), }, }; unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips); @@ -144,16 +144,18 @@ DECLARE_HOOK(HOOK_INIT, board_usb_mux_init, HOOK_PRIO_INIT_I2C + 1); void ppc_interrupt(enum gpio_signal signal) { - if (signal == GPIO_USB_C1_PPC_INT_ODL) + if (signal == GPIO_SIGNAL(DT_ALIAS(gpio_usb_c1_ppc_int_odl))) syv682x_interrupt(1); } int ppc_get_alert_status(int port) { if (port == 0) - return gpio_get_level(GPIO_USB_C0_PPC_BC12_INT_ODL) == 0; + return gpio_pin_get_dt( + GPIO_DT_FROM_NODELABEL(usb_c0_ppc_bc12_int_odl)) == 0; if (port == 1 && corsola_get_db_type() == CORSOLA_DB_TYPEC) - return gpio_get_level(GPIO_USB_C1_PPC_INT_ODL) == 0; + return gpio_pin_get_dt( + GPIO_DT_FROM_ALIAS(gpio_usb_c1_ppc_int_odl)) == 0; return 0; } @@ -284,7 +286,7 @@ static int board_ps8743_mux_set(const struct usb_mux *me, * * Enable/Disable IN_HPD on the DB. */ - gpio_set_level(GPIO_USB_C1_DP_IN_HPD, + gpio_pin_set_dt(GPIO_DT_FROM_ALIAS(gpio_usb_c1_dp_in_hpd), mux_state & USB_PD_MUX_DP_ENABLED); return ps8743_write(me, PS8743_REG_MODE, reg); diff --git a/zephyr/projects/corsola/src/usb_pd_policy.c b/zephyr/projects/corsola/src/usb_pd_policy.c index bfaa6f0c55..88eb297694 100644 --- a/zephyr/projects/corsola/src/usb_pd_policy.c +++ b/zephyr/projects/corsola/src/usb_pd_policy.c @@ -27,7 +27,7 @@ int pd_check_vconn_swap(int port) int svdm_get_hpd_gpio(int port) { /* HPD is low active, inverse the result */ - return !gpio_get_level(GPIO_EC_AP_DP_HPD_ODL); + return !gpio_pin_get_dt(GPIO_DT_FROM_NODELABEL(ec_ap_dp_hpd_odl)); } void svdm_set_hpd_gpio(int port, int en) @@ -36,7 +36,7 @@ void svdm_set_hpd_gpio(int port, int en) * HPD is low active, inverse the en * TODO: C0&C1 shares the same HPD, implement FCFS policy. */ - gpio_set_level(GPIO_EC_AP_DP_HPD_ODL, !en); + gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(ec_ap_dp_hpd_odl), !en); } /** @@ -78,8 +78,10 @@ __override int svdm_dp_attention(int port, uint32_t *payload) return 0; /* nak */ } - if (lvl) - gpio_set_level_verbose(CC_USBPD, GPIO_DP_AUX_PATH_SEL, port); + if (lvl) { + gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(dp_aux_path_sel), port); + CPRINTS("Set DP_AUX_PATH_SEL: %d", port); + } if (chipset_in_state(CHIPSET_STATE_ANY_SUSPEND) && (irq || lvl)) diff --git a/zephyr/projects/corsola/src/usbc_config.c b/zephyr/projects/corsola/src/usbc_config.c index 5db1ab8a94..0aabc53b8f 100644 --- a/zephyr/projects/corsola/src/usbc_config.c +++ b/zephyr/projects/corsola/src/usbc_config.c @@ -70,7 +70,8 @@ BUILD_ASSERT(ARRAY_SIZE(usb_port_enable) == USB_PORT_COUNT); void usb_a0_interrupt(enum gpio_signal signal) { - enum usb_charge_mode mode = gpio_get_level(signal) ? + enum usb_charge_mode mode = gpio_pin_get_dt( + GPIO_DT_FROM_NODELABEL(gpio_ap_xhci_init_done)) ? USB_CHARGE_MODE_ENABLED : USB_CHARGE_MODE_DISABLED; for (int i = 0; i < USB_PORT_COUNT; i++) @@ -100,7 +101,8 @@ int debounced_hpd; static void ps185_hdmi_hpd_deferred(void) { - const int new_hpd = gpio_get_level(GPIO_PS185_EC_DP_HPD); + const int new_hpd = gpio_pin_get_dt( + GPIO_DT_FROM_ALIAS(gpio_ps185_ec_dp_hpd)); /* HPD status not changed, probably a glitch, just return. */ if (debounced_hpd == new_hpd) @@ -108,7 +110,8 @@ static void ps185_hdmi_hpd_deferred(void) debounced_hpd = new_hpd; - gpio_set_level(GPIO_EC_AP_DP_HPD_ODL, !debounced_hpd); + gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(ec_ap_dp_hpd_odl), + !debounced_hpd); CPRINTS(debounced_hpd ? "HDMI plug" : "HDMI unplug"); } DECLARE_DEFERRED(ps185_hdmi_hpd_deferred); diff --git a/zephyr/projects/corsola/src/variant_db_detection.c b/zephyr/projects/corsola/src/variant_db_detection.c index 340d54a196..d5e79b5680 100644 --- a/zephyr/projects/corsola/src/variant_db_detection.c +++ b/zephyr/projects/corsola/src/variant_db_detection.c @@ -7,6 +7,7 @@ #include "console.h" #include "gpio.h" +#include "gpio/gpio_int.h" #include "hooks.h" #include "variant_db_detection.h" @@ -19,20 +20,31 @@ static void corsola_db_config(enum corsola_db_type type) switch (type) { case CORSOLA_DB_HDMI: /* EC_X_GPIO1 */ - gpio_set_flags(GPIO_EN_HDMI_PWR, GPIO_OUT_HIGH); + gpio_pin_configure_dt(GPIO_DT_FROM_ALIAS(gpio_en_hdmi_pwr), + GPIO_OUT_HIGH); /* X_EC_GPIO2 */ - gpio_set_flags(GPIO_PS185_EC_DP_HPD, GPIO_INT_BOTH); + gpio_pin_configure_dt(GPIO_DT_FROM_ALIAS(gpio_ps185_ec_dp_hpd), + GPIO_INPUT); + gpio_enable_dt_interrupt( + GPIO_INT_FROM_NODELABEL(int_x_ec_gpio2)); /* EC_X_GPIO3 */ - gpio_set_flags(GPIO_PS185_PWRDN_ODL, GPIO_ODR_HIGH); + gpio_pin_configure_dt(GPIO_DT_FROM_ALIAS(gpio_ps185_pwrdn_odl), + GPIO_ODR_HIGH); return; case CORSOLA_DB_TYPEC: /* EC_X_GPIO1 */ - gpio_set_flags(GPIO_USB_C1_FRS_EN, GPIO_OUT_LOW); + gpio_pin_configure_dt(GPIO_DT_FROM_ALIAS(gpio_usb_c1_frs_en), + GPIO_OUT_LOW); /* X_EC_GPIO2 */ - gpio_set_flags(GPIO_USB_C1_PPC_INT_ODL, - GPIO_INT_BOTH | GPIO_PULL_UP); + gpio_pin_configure_dt( + GPIO_DT_FROM_ALIAS(gpio_usb_c1_ppc_int_odl), + GPIO_INPUT | GPIO_PULL_UP); + gpio_enable_dt_interrupt( + GPIO_INT_FROM_NODELABEL(int_x_ec_gpio2)); /* EC_X_GPIO3 */ - gpio_set_flags(GPIO_USB_C1_DP_IN_HPD, GPIO_OUT_LOW); + gpio_pin_configure_dt( + GPIO_DT_FROM_ALIAS(gpio_usb_c1_dp_in_hpd), + GPIO_OUT_LOW); return; default: break; @@ -47,7 +59,7 @@ enum corsola_db_type corsola_get_db_type(void) if (db != CORSOLA_DB_NONE) return db; - if (!gpio_get_level(GPIO_HDMI_PRSNT_ODL)) + if (!gpio_pin_get_dt(GPIO_DT_FROM_NODELABEL(gpio_hdmi_prsnt_odl))) db = CORSOLA_DB_HDMI; else db = CORSOLA_DB_TYPEC; |