/*
 * Copyright (c) 2022, Teslabs Engineering S.L.
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <arm/gigadevice/gd32e50x/gd32e507xe.dtsi>
#include "gd32e507z_eval-pinctrl.dtsi"
#include <zephyr/dt-bindings/input/input-event-codes.h>

/ {
	model = "GigaDevice GD32E507Z-EVAL";
	compatible = "gd,gd32e507z-eval";

	chosen {
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
		zephyr,console = &usart0;
		zephyr,shell-uart = &usart0;
	};

	leds {
		compatible = "gpio-leds";
		led1: led1 {
			gpios = <&gpiog 10 GPIO_ACTIVE_HIGH>;
		};
		led2: led2 {
			gpios = <&gpiog 11 GPIO_ACTIVE_HIGH>;
		};
		led3: led3 {
			gpios = <&gpiog 12 GPIO_ACTIVE_HIGH>;
		};
		led4: led4 {
			gpios = <&gpiog 13 GPIO_ACTIVE_HIGH>;
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		key_a: key_a {
			label = "KEY_A";
			gpios = <&gpioa 0 GPIO_ACTIVE_LOW>;
			zephyr,code = <INPUT_KEY_A>;
		};
		key_b: key_b {
			label = "KEY_B";
			gpios = <&gpioc 13 GPIO_ACTIVE_LOW>;
			zephyr,code = <INPUT_KEY_B>;
		};
		key_c: key_c {
			label = "KEY_C";
			gpios = <&gpiof 13 GPIO_ACTIVE_LOW>;
			zephyr,code = <INPUT_KEY_C>;
		};
		key_d: key_d {
			label = "KEY_D";
			gpios = <&gpiof 14 GPIO_ACTIVE_LOW>;
			zephyr,code = <INPUT_KEY_D>;
		};
		key_cet: key_cet {
			label = "KEY_CET";
			gpios = <&gpiof 15 GPIO_ACTIVE_LOW>;
			zephyr,code = <INPUT_KEY_0>;
		};
	};

	pwmleds {
		compatible = "pwm-leds";

		/* NOTE: bridge TIMER0_CH0 (PA8) and LED1 (PG10)*/
		pwm_led: pwm_led {
			pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
		};
	};

	aliases {
		led0 = &led1;
		sw0 = &key_a;
		pwm-led0 = &pwm_led;
	};
};

&gpioa {
	status = "okay";
};

&gpioc {
	status = "okay";
};

&gpiof {
	status = "okay";
};

&gpiog {
	status = "okay";
};

&usart0 {
	status = "okay";
	current-speed = <115200>;
	pinctrl-0 = <&usart0_default>;
	pinctrl-names = "default";
};

&timer0 {
	status = "okay";
	prescaler = <256>;

	pwm0: pwm {
		status = "okay";
		pinctrl-0 = <&pwm0_default>;
		pinctrl-names = "default";
	};
};
