summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew McRae <amcrae@google.com>2022-01-31 17:04:47 +1100
committerCommit Bot <commit-bot@chromium.org>2022-01-31 23:03:17 +0000
commit0908443a2d381ade5838abffdaddba1f9fc10ee9 (patch)
treeb5a95735d7e25cc33880fd3394ecbf8c9ffabf7b
parentfb1e761056f3bb22577bcb9d1177a6a9b0239a45 (diff)
downloadchrome-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.c8
-rw-r--r--zephyr/projects/brya/brya/gpio.dts14
-rw-r--r--zephyr/projects/brya/brya/include/gpio_map.h2
-rw-r--r--zephyr/projects/brya/brya/kblight_hooks.c9
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);