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

#include <freq.h>
#include <arm/armv7-m.dtsi>
#include <zephyr/dt-bindings/adc/adc.h>
#include <zephyr/dt-bindings/gpio/gpio.h>
#include <zephyr/dt-bindings/pwm/pwm.h>
#include <zephyr/dt-bindings/clock/gd32f403-clocks.h>
#include <zephyr/dt-bindings/reset/gd32f403.h>

/ {
	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu0: cpu@0 {
			compatible = "arm,cortex-m4f";
			clock-frequency = <DT_FREQ_M(168)>;
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <1>;

			mpu: mpu@e000ed90 {
				compatible = "arm,armv7m-mpu";
				reg = <0xe000ed90 0x40>;
				arm,num-mpu-regions = <8>;
			};
		};
	};

	soc {
		sram0: memory@20000000 {
			compatible = "mmio-sram";
		};

		rcu: reset-clock-controller@40021000 {
			compatible = "gd,gd32-rcu";
			reg = <0x40021000 0x400>;
			status = "okay";

			cctl: clock-controller {
				compatible = "gd,gd32-cctl";
				#clock-cells = <1>;
				status = "okay";
			};

			rctl: reset-controller {
				compatible = "gd,gd32-rctl";
				#reset-cells = <1>;
				status = "okay";
			};
		};

		fmc: flash-controller@40022000 {
			compatible = "gd,gd32-flash-controller";
			reg = <0x40022000 0x400>;
			#address-cells = <1>;
			#size-cells = <1>;

			flash0: flash@8000000 {
				compatible = "gd,gd32-nv-flash-v2", "soc-nv-flash";
				write-block-size = <2>;
				max-erase-time-ms = <300>;
				bank0-page-size = <DT_SIZE_K(2)>;
				bank1-page-size = <DT_SIZE_K(4)>;
			};
		};

		usart0: usart@40013800 {
			compatible = "gd,gd32-usart";
			reg = <0x40013800 0x400>;
			interrupts = <37 0>;
			clocks = <&cctl GD32_CLOCK_USART0>;
			resets = <&rctl GD32_RESET_USART0>;
			status = "disabled";
		};

		usart1: usart@40004400 {
			compatible = "gd,gd32-usart";
			reg = <0x40004400 0x400>;
			interrupts = <38 0>;
			clocks = <&cctl GD32_CLOCK_USART1>;
			resets = <&rctl GD32_RESET_USART1>;
			status = "disabled";
		};

		usart2: usart@40004800 {
			compatible = "gd,gd32-usart";
			reg = <0x40004800 0x400>;
			interrupts = <39 0>;
			clocks = <&cctl GD32_CLOCK_USART2>;
			resets = <&rctl GD32_RESET_USART2>;
			status = "disabled";
		};

		uart3: usart@40004c00 {
			compatible = "gd,gd32-usart";
			reg = <0x40004c00 0x400>;
			interrupts = <52 0>;
			clocks = <&cctl GD32_CLOCK_UART3>;
			resets = <&rctl GD32_RESET_UART3>;
			status = "disabled";
		};

		uart4: usart@40005000 {
			compatible = "gd,gd32-usart";
			reg = <0x40005000 0x400>;
			interrupts = <53 0>;
			clocks = <&cctl GD32_CLOCK_UART4>;
			resets = <&rctl GD32_RESET_UART4>;
			status = "disabled";
		};

		spi0: spi@40013000 {
			compatible = "gd,gd32-spi";
			reg = <0x40013000 0x400>;
			interrupts = <35 0>;
			clocks = <&cctl GD32_CLOCK_SPI0>;
			resets = <&rctl GD32_RESET_SPI0>;
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};

		spi1: spi@40003800 {
			compatible = "gd,gd32-spi";
			reg = <0x40003800 0x400>;
			interrupts = <36 0>;
			clocks = <&cctl GD32_CLOCK_SPI1>;
			resets = <&rctl GD32_RESET_SPI1>;
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};

		spi2: spi@40003c00 {
			compatible = "gd,gd32-spi";
			reg = <0x40003c00 0x400>;
			interrupts = <51 0>;
			clocks = <&cctl GD32_CLOCK_SPI2>;
			resets = <&rctl GD32_RESET_SPI2>;
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};

		adc0: adc@40012400 {
			compatible = "gd,gd32-adc";
			reg = <0x40012400 0x400>;
			interrupts = <18 0>;
			clocks = <&cctl GD32_CLOCK_ADC0>;
			resets = <&rctl GD32_RESET_ADC0>;
			channels = <16>;
			status = "disabled";
			#io-channel-cells = <1>;
		};

		adc1: adc@40012800 {
			compatible = "gd,gd32-adc";
			reg = <0x40012800 0x400>;
			interrupts = <18 0>;
			clocks = <&cctl GD32_CLOCK_ADC1>;
			resets = <&rctl GD32_RESET_ADC1>;
			channels = <16>;
			status = "disabled";
			#io-channel-cells = <1>;
		};

		adc2: adc@40013c00 {
			compatible = "gd,gd32-adc";
			reg = <0x40013c00 0x400>;
			interrupts = <47 0>;
			clocks = <&cctl GD32_CLOCK_ADC2>;
			resets = <&rctl GD32_RESET_ADC2>;
			channels = <16>;
			status = "disabled";
			#io-channel-cells = <1>;
		};

		exti: interrupt-controller@40010400 {
			compatible = "gd,gd32-exti";
			interrupt-controller;
			#interrupt-cells = <1>;
			reg = <0x40010400 0x400>;
			num-lines = <19>;
			interrupts = <6 0>, <7 0>, <8 0>, <9 0>, <10 0>, <23 0>,
				     <40 0>;
			interrupt-names = "line0", "line1", "line2",
					  "line3", "line4", "line5-9",
					  "line10-15";
			status = "okay";
		};

		afio: afio@40010000 {
			compatible = "gd,gd32-afio";
			reg = <0x40010000 0x400>;
			clocks = <&cctl GD32_CLOCK_AFIO>;
			status = "okay";
		};

		fwdgt: watchdog@40003000 {
			compatible = "gd,gd32-fwdgt";
			reg = <0x40003000 0x400>;
			status = "disabled";
		};

		wwdgt: watchdog@40002c00 {
			compatible = "gd,gd32-wwdgt";
			reg = <0x40002C00 0x400>;
			clocks = <&cctl GD32_CLOCK_WWDGT>;
			resets = <&rctl GD32_RESET_WWDGT>;
			interrupts = <0 0>;
			status = "disabled";
		};

		pinctrl: pin-controller@40010800 {
			compatible = "gd,gd32-pinctrl-afio";
			reg = <0x40010800 0x1c00>;
			#address-cells = <1>;
			#size-cells = <1>;
			status = "okay";

			gpioa: gpio@40010800 {
				compatible = "gd,gd32-gpio";
				gpio-controller;
				#gpio-cells = <2>;
				reg = <0x40010800 0x400>;
				clocks = <&cctl GD32_CLOCK_GPIOA>;
				resets = <&rctl GD32_RESET_GPIOA>;
				status = "disabled";
			};

			gpiob: gpio@40010c00 {
				compatible = "gd,gd32-gpio";
				gpio-controller;
				#gpio-cells = <2>;
				reg = <0x40010c00 0x400>;
				clocks = <&cctl GD32_CLOCK_GPIOB>;
				resets = <&rctl GD32_RESET_GPIOB>;
				status = "disabled";
			};

			gpioc: gpio@40011000 {
				compatible = "gd,gd32-gpio";
				gpio-controller;
				#gpio-cells = <2>;
				reg = <0x40011000 0x400>;
				clocks = <&cctl GD32_CLOCK_GPIOC>;
				resets = <&rctl GD32_RESET_GPIOC>;
				status = "disabled";
			};

			gpiod: gpio@40011400 {
				compatible = "gd,gd32-gpio";
				gpio-controller;
				#gpio-cells = <2>;
				reg = <0x40011400 0x400>;
				clocks = <&cctl GD32_CLOCK_GPIOD>;
				resets = <&rctl GD32_RESET_GPIOD>;
				status = "disabled";
			};

			gpioe: gpio@40011800 {
				compatible = "gd,gd32-gpio";
				gpio-controller;
				#gpio-cells = <2>;
				reg = <0x40011800 0x400>;
				clocks = <&cctl GD32_CLOCK_GPIOE>;
				resets = <&rctl GD32_RESET_GPIOE>;
				status = "disabled";
			};

			gpiof: gpio@40011c00 {
				compatible = "gd,gd32-gpio";
				gpio-controller;
				#gpio-cells = <2>;
				reg = <0x40011c00 0x400>;
				clocks = <&cctl GD32_CLOCK_GPIOF>;
				resets = <&rctl GD32_RESET_GPIOF>;
				status = "disabled";
			};

			gpiog: gpio@40012000 {
				compatible = "gd,gd32-gpio";
				gpio-controller;
				#gpio-cells = <2>;
				reg = <0x40012000 0x400>;
				clocks = <&cctl GD32_CLOCK_GPIOG>;
				resets = <&rctl GD32_RESET_GPIOG>;
				status = "disabled";
			};
		};

		timer0: timer@40012c00 {
			compatible = "gd,gd32-timer";
			reg = <0x40012c00 0x400>;
			interrupts = <24 0>, <25 0>, <26 0>, <27 0>;
			interrupt-names = "brk", "up", "trgcom", "cc";
			clocks = <&cctl GD32_CLOCK_TIMER0>;
			resets = <&rctl GD32_RESET_TIMER0>;
			is-advanced;
			channels = <4>;
			status = "disabled";

			pwm {
				compatible = "gd,gd32-pwm";
				status = "disabled";
				#pwm-cells = <3>;
			};
		};

		timer2: timer@40000400 {
			compatible = "gd,gd32-timer";
			reg = <0x40000400 0x400>;
			interrupts = <29 0>;
			interrupt-names = "global";
			clocks = <&cctl GD32_CLOCK_TIMER2>;
			resets = <&rctl GD32_RESET_TIMER2>;
			channels = <4>;
			status = "disabled";

			pwm {
				compatible = "gd,gd32-pwm";
				status = "disabled";
				#pwm-cells = <3>;
			};
		};

		timer3: timer@40000800 {
			compatible = "gd,gd32-timer";
			reg = <0x40000800 0x400>;
			interrupts = <30 0>;
			interrupt-names = "global";
			clocks = <&cctl GD32_CLOCK_TIMER3>;
			resets = <&rctl GD32_RESET_TIMER3>;
			channels = <4>;
			status = "disabled";

			pwm {
				compatible = "gd,gd32-pwm";
				status = "disabled";
				#pwm-cells = <3>;
			};
		};

		timer5: timer@40001000 {
			compatible = "gd,gd32-timer";
			reg = <0x40001000 0x400>;
			interrupts = <54 0>;
			interrupt-names = "global";
			clocks = <&cctl GD32_CLOCK_TIMER5>;
			resets = <&rctl GD32_RESET_TIMER5>;
			channels = <0>;
			status = "disabled";
		};

		timer6: timer@40001400 {
			compatible = "gd,gd32-timer";
			reg = <0x40001400 0x400>;
			interrupts = <55 0>;
			interrupt-names = "global";
			clocks = <&cctl GD32_CLOCK_TIMER6>;
			resets = <&rctl GD32_RESET_TIMER6>;
			channels = <0>;
			status = "disabled";
		};

		timer7: timer@40013400 {
			compatible = "gd,gd32-timer";
			reg = <0x40013400 0x400>;
			interrupts = <43 0>, <44 0>, <45 0>, <46 0>;
			interrupt-names = "brk", "up", "trgcom", "cc";
			clocks = <&cctl GD32_CLOCK_TIMER7>;
			resets = <&rctl GD32_RESET_TIMER7>;
			is-advanced;
			channels = <4>;
			status = "disabled";

			pwm {
				compatible = "gd,gd32-pwm";
				status = "disabled";
				#pwm-cells = <3>;
			};
		};

		timer8: timer@40014c00 {
			compatible = "gd,gd32-timer";
			reg = <0x40014c00 0x400>;
			interrupts = <24 0>;
			interrupt-names = "global";
			clocks = <&cctl GD32_CLOCK_TIMER8>;
			resets = <&rctl GD32_RESET_TIMER8>;
			channels = <2>;
			status = "disabled";

			pwm {
				compatible = "gd,gd32-pwm";
				status = "disabled";
				#pwm-cells = <3>;
			};
		};

		timer9: timer@40015000 {
			compatible = "gd,gd32-timer";
			reg = <0x40015000 0x400>;
			interrupts = <25 0>;
			interrupt-names = "global";
			clocks = <&cctl GD32_CLOCK_TIMER9>;
			resets = <&rctl GD32_RESET_TIMER9>;
			channels = <1>;
			status = "disabled";

			pwm {
				compatible = "gd,gd32-pwm";
				status = "disabled";
				#pwm-cells = <3>;
			};
		};

		timer10: timer@40015400 {
			compatible = "gd,gd32-timer";
			reg = <0x40015400 0x400>;
			interrupts = <26 0>;
			interrupt-names = "global";
			clocks = <&cctl GD32_CLOCK_TIMER10>;
			resets = <&rctl GD32_RESET_TIMER10>;
			channels = <1>;
			status = "disabled";

			pwm {
				compatible = "gd,gd32-pwm";
				status = "disabled";
				#pwm-cells = <3>;
			};
		};

		timer11: timer@40001800 {
			compatible = "gd,gd32-timer";
			reg = <0x40001800 0x400>;
			interrupts = <43 0>;
			interrupt-names = "global";
			clocks = <&cctl GD32_CLOCK_TIMER11>;
			resets = <&rctl GD32_RESET_TIMER11>;
			channels = <2>;
			status = "disabled";

			pwm {
				compatible = "gd,gd32-pwm";
				status = "disabled";
				#pwm-cells = <3>;
			};
		};

		timer12: timer@40001c00 {
			compatible = "gd,gd32-timer";
			reg = <0x40001c00 0x400>;
			interrupts = <44 0>;
			interrupt-names = "global";
			clocks = <&cctl GD32_CLOCK_TIMER12>;
			resets = <&rctl GD32_RESET_TIMER12>;
			channels = <1>;
			status = "disabled";

			pwm {
				compatible = "gd,gd32-pwm";
				status = "disabled";
				#pwm-cells = <3>;
			};
		};

		timer13: timer@40002000 {
			compatible = "gd,gd32-timer";
			reg = <0x40002000 0x400>;
			interrupts = <45 0>;
			interrupt-names = "global";
			clocks = <&cctl GD32_CLOCK_TIMER13>;
			resets = <&rctl GD32_RESET_TIMER13>;
			channels = <1>;
			status = "disabled";

			pwm {
				compatible = "gd,gd32-pwm";
				status = "disabled";
				#pwm-cells = <3>;
			};
		};

		dma0: dma@40020000 {
			compatible = "gd,gd32-dma";
			reg = <0x40020000 0x400>;
			interrupts = <11 0>, <12 0>, <13 0>, <14 0>,
				     <15 0>, <16 0>, <17 0>;
			clocks = <&cctl GD32_CLOCK_DMA0>;
			dma-channels = <7>;
			gd,mem2mem;
			#dma-cells = <2>;
			status = "disabled";
		};

		dma1: dma@40020400 {
			compatible = "gd,gd32-dma";
			reg = <0x40020400 0x400>;
			interrupts = <56 0>, <57 0>, <58 0>, <59 0>,
				     <60 0>;
			clocks = <&cctl GD32_CLOCK_DMA1>;
			dma-channels = <5>;
			gd,mem2mem;
			#dma-cells = <2>;
			status = "disabled";
		};
	};
};

&nvic {
	arm,num-irq-priority-bits = <4>;
};
