diff options
author | Andrew McRae <amcrae@google.com> | 2022-01-31 17:04:47 +1100 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2022-01-31 23:03:17 +0000 |
commit | 0908443a2d381ade5838abffdaddba1f9fc10ee9 (patch) | |
tree | b5a95735d7e25cc33880fd3394ecbf8c9ffabf7b | |
parent | fb1e761056f3bb22577bcb9d1177a6a9b0239a45 (diff) | |
download | chrome-ec-0908443a2d381ade5838abffdaddba1f9fc10ee9.tar.gz |
brya: Migrate GPIO access to Zephyr API
First phase of migrating GPIO access to Zephyr API.
BUG=b:216466985
TEST=zmake configure -b brya
BRANCH=none
Signed-off-by: Andrew McRae <amcrae@google.com>
Change-Id: I674e93fbe295604aa79eb9a93cf565c1d52567d8
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3426247
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
-rw-r--r-- | zephyr/projects/brya/brya/battery_present.c | 8 | ||||
-rw-r--r-- | zephyr/projects/brya/brya/gpio.dts | 14 | ||||
-rw-r--r-- | zephyr/projects/brya/brya/include/gpio_map.h | 2 | ||||
-rw-r--r-- | zephyr/projects/brya/brya/kblight_hooks.c | 9 |
4 files changed, 21 insertions, 12 deletions
diff --git a/zephyr/projects/brya/brya/battery_present.c b/zephyr/projects/brya/brya/battery_present.c index 5c37ea1663..e82b07492d 100644 --- a/zephyr/projects/brya/brya/battery_present.c +++ b/zephyr/projects/brya/brya/battery_present.c @@ -9,13 +9,13 @@ enum battery_present battery_hw_present(void) { - enum gpio_signal batt_pres; + const struct gpio_dt_spec *batt_pres; if (get_board_id() == 1) - batt_pres = GPIO_ID_1_EC_BATT_PRES_ODL; + batt_pres = GPIO_DT_FROM_NODELABEL(gpio_id_1_ec_batt_pres_odl); else - batt_pres = GPIO_EC_BATT_PRES_ODL; + batt_pres = GPIO_DT_FROM_NODELABEL(gpio_ec_batt_pres_odl); /* The GPIO is low when the battery is physically present */ - return gpio_get_level(batt_pres) ? BP_NO : BP_YES; + return gpio_pin_get_dt(batt_pres) ? BP_NO : BP_YES; } diff --git a/zephyr/projects/brya/brya/gpio.dts b/zephyr/projects/brya/brya/gpio.dts index c61e7cb574..a9138cc623 100644 --- a/zephyr/projects/brya/brya/gpio.dts +++ b/zephyr/projects/brya/brya/gpio.dts @@ -26,11 +26,19 @@ gpios = <&gpio7 3 GPIO_OUT_LOW>; enum-name = "GPIO_CHARGER_VAP_OTG_EN"; }; - ec_batt_pres_odl { + gpio_ec_batt_pres_odl: ec_batt_pres_odl { gpios = <&gpioa 3 GPIO_INPUT>; enum-name = "GPIO_BATT_PRES_ODL"; }; - id_1_ec_batt_pres_odl { + /* + * Same GPIO as gpio_ec_batt_pres_odl, + * but only enabled for board id 1. + */ + gpio_id_1_ec_kb_bl_en: id_1_ec_kb_bl_en { + gpios = <&gpioa 3 GPIO_OUT_LOW>; + no-auto-init; + }; + gpio_id_1_ec_batt_pres_odl: id_1_ec_batt_pres_odl { gpios = <&gpioe 1 GPIO_INPUT>; enum-name = "GPIO_ID_1_EC_BATT_PRES_ODL"; }; @@ -42,7 +50,7 @@ gpios = <&gpio3 6 GPIO_INPUT>; enum-name = "GPIO_EC_I2C_BAT_SDA"; }; - ec_kb_bl_en_l { + gpio_ec_kb_bl_en_l: ec_kb_bl_en_l { gpios = <&gpio8 6 GPIO_OUT_HIGH>; enum-name = "GPIO_EC_KB_BL_EN_L"; }; diff --git a/zephyr/projects/brya/brya/include/gpio_map.h b/zephyr/projects/brya/brya/include/gpio_map.h index 1de8102e31..ed317d8283 100644 --- a/zephyr/projects/brya/brya/include/gpio_map.h +++ b/zephyr/projects/brya/brya/include/gpio_map.h @@ -12,8 +12,6 @@ #define GPIO_ENTERING_RW GPIO_UNIMPLEMENTED #define GPIO_WP_L GPIO_UNIMPLEMENTED -#define GPIO_EC_BATT_PRES_ODL GPIO_BATT_PRES_ODL -#define GPIO_ID_1_EC_KB_BL_EN GPIO_EC_BATT_PRES_ODL #define GPIO_SEQ_EC_DSW_PWROK GPIO_PG_EC_DSW_PWROK #endif /* __ZEPHYR_GPIO_MAP_H */ diff --git a/zephyr/projects/brya/brya/kblight_hooks.c b/zephyr/projects/brya/brya/kblight_hooks.c index 6e5c4cde03..d6532060a7 100644 --- a/zephyr/projects/brya/brya/kblight_hooks.c +++ b/zephyr/projects/brya/brya/kblight_hooks.c @@ -13,9 +13,11 @@ static inline void kbd_backlight_enable(bool enable) { if (get_board_id() == 1) - gpio_set_level(GPIO_ID_1_EC_KB_BL_EN, enable); + gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_id_1_ec_kb_bl_en), + enable); else - gpio_set_level(GPIO_EC_KB_BL_EN_L, !enable); + gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_ec_kb_bl_en_l), + !enable); } /* Called on AP S3 -> S0 transition */ @@ -46,6 +48,7 @@ static void set_board_id_1_gpios(void) if (get_board_id() != 1) return; - gpio_set_flags(GPIO_ID_1_EC_KB_BL_EN, GPIO_OUT_LOW); + gpio_pin_configure_dt(GPIO_DT_FROM_NODELABEL(gpio_id_1_ec_kb_bl_en), + GPIO_OUT_LOW); } DECLARE_HOOK(HOOK_INIT, set_board_id_1_gpios, HOOK_PRIO_FIRST); |