boards: arm: gd32f403z_eval: add leds and keys
Add definitions for board LEDs and keys now that a GPIO driver exists.
The GPIO driver has also been enabled in the board defconfig, since it
is required to run some basic samples (e.g. blinky).
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
diff --git a/boards/arm/gd32f403z_eval/doc/index.rst b/boards/arm/gd32f403z_eval/doc/index.rst
index cbdecf4..8cbac8d 100644
--- a/boards/arm/gd32f403z_eval/doc/index.rst
+++ b/boards/arm/gd32f403z_eval/doc/index.rst
@@ -58,6 +58,11 @@
+-----------+------------+-----------------------+
| Interface | Controller | Driver/Component |
+===========+============+=======================+
+| EXTI | on-chip | EXTI interrupt |
+| | | controller |
++-----------+------------+-----------------------+
+| GPIO | on-chip | gpio |
++-----------+------------+-----------------------+
| NVIC | on-chip | nested vectored |
| | | interrupt controller |
+-----------+------------+-----------------------+
diff --git a/boards/arm/gd32f403z_eval/gd32f403z_eval.dts b/boards/arm/gd32f403z_eval/gd32f403z_eval.dts
index 29ba67b..c10b817 100644
--- a/boards/arm/gd32f403z_eval/gd32f403z_eval.dts
+++ b/boards/arm/gd32f403z_eval/gd32f403z_eval.dts
@@ -18,6 +18,64 @@
zephyr,console = &usart0;
zephyr,shell-uart = &usart0;
};
+
+ leds {
+ compatible = "gpio-leds";
+ led2: led2 {
+ gpios = <&gpiof 0 GPIO_ACTIVE_HIGH>;
+ label = "LED2";
+ };
+ led3: led3 {
+ gpios = <&gpiof 1 GPIO_ACTIVE_HIGH>;
+ label = "LED3";
+ };
+ led4: led4 {
+ gpios = <&gpiof 2 GPIO_ACTIVE_HIGH>;
+ label = "LED4";
+ };
+ led5: led5 {
+ gpios = <&gpiof 3 GPIO_ACTIVE_HIGH>;
+ label = "LED5";
+ };
+ };
+
+ gpio_keys {
+ compatible = "gpio-keys";
+ wakeup_key: wakeup_key {
+ label = "WAKEUP_KEY";
+ gpios = <&gpioa 0 GPIO_ACTIVE_LOW>;
+ };
+ tamper_key: tamper_key {
+ label = "TAMPER_KEY";
+ gpios = <&gpioc 13 GPIO_ACTIVE_LOW>;
+ };
+ user_key1: user_key1 {
+ label = "USER_KEY1";
+ gpios = <&gpiof 5 GPIO_ACTIVE_LOW>;
+ };
+ user_key2: user_key2 {
+ label = "USER_KEY2";
+ gpios = <&gpiof 4 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ aliases {
+ led0 = &led2;
+ led1 = &led3;
+ sw0 = &user_key1;
+ };
+};
+
+&gpioa {
+ status = "okay";
+};
+
+&gpioc {
+ status = "okay";
+};
+
+&gpiof {
+ status = "okay";
};
&usart0 {
diff --git a/boards/arm/gd32f403z_eval/gd32f403z_eval_defconfig b/boards/arm/gd32f403z_eval/gd32f403z_eval_defconfig
index 245a7e3..f9b77ad 100644
--- a/boards/arm/gd32f403z_eval/gd32f403z_eval_defconfig
+++ b/boards/arm/gd32f403z_eval/gd32f403z_eval_defconfig
@@ -12,3 +12,5 @@
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
CONFIG_SERIAL=y
+
+CONFIG_GPIO=y