/* SPDX-License-Identifier: Apache-2.0 */

#include <arm/armv7-m.dtsi>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/i2c/i2c.h>
#include "gpio_gecko.h"

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

		cpu@0 {
			compatible = "arm,cortex-m4f";
			reg = <0>;
		};
	};

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

	soc {
		flash-controller@400c0000 {
			compatible = "silabs,gecko-flash-controller";
			label = "FLASH_CTRL";
			reg = <0x400c0000 0x78>;
			interrupts = <35 0>;

			#address-cells = <1>;
			#size-cells = <1>;

			flash0: flash@0 {
				compatible = "soc-nv-flash";
				label = "FLASH_0";
				write-block-size = <4>;
			};
		};

		usart0: usart@4000c000 { /* USART0 */
			compatible = "silabs,gecko-usart";
			reg = <0x4000c000 0x400>;
			interrupts = <3 0>, <4 0>;
			interrupt-names = "rx", "tx";
			status = "disabled";
			label = "UART_0";
		};

		usart1: usart@4000c400 { /* USART1 */
			compatible = "silabs,gecko-usart";
			reg = <0x4000c400 0x400>;
			interrupts = <15 0>, <16 0>;
			interrupt-names = "rx", "tx";
			status = "disabled";
			label = "UART_1";
		};

		usart2: usart@4000c800 { /* USART2 */
			compatible = "silabs,gecko-usart";
			reg = <0x4000c800 0x400>;
			interrupts = <18 0>, <19 0>;
			interrupt-names = "rx", "tx";
			status = "disabled";
			label = "UART_2";
		};

		uart0: uart@4000e000 { /* UART0 */
			compatible = "silabs,gecko-uart";
			reg = <0x4000e000 0x400>;
			interrupts = <20 0>, <21 0>;
			interrupt-names = "rx", "tx";
			status = "disabled";
			label = "UART_3";
		};

		uart1: uart@4000e400 { /* UART1 */
			compatible = "silabs,gecko-uart";
			reg = <0x4000e400 0x400>;
			interrupts = <22 0>, <23 0>;
			interrupt-names = "rx", "tx";
			status = "disabled";
			label = "UART_4";
		};

		leuart0: leuart@40084000 { /* LEUART0 */
			compatible = "silabs,gecko-leuart";
			reg = <0x40084000 0x400>;
			interrupts = <24 0>;
			status = "disabled";
			label = "LEUART_0";
		};

		leuart1: leuart@40084400 { /* LEUART1 */
			compatible = "silabs,gecko-leuart";
			reg = <0x40084400 0x400>;
			interrupts = <25 0>;
			status = "disabled";
			label = "LEUART_1";
		};

		i2c0: i2c@4000a000 {
			compatible = "silabs,gecko-i2c";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x4000a000 0x400>;
			interrupts = <9 0>;
			label = "I2C_0";
			status = "disabled";
		};

		i2c1: i2c@4000a400 {
			compatible = "silabs,gecko-i2c";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x4000a400 0x400>;
			interrupts = <10 0>;
			label = "I2C_1";
			status = "disabled";
		};

		gpio@40006100 {
			compatible = "silabs,efm32-gpio";
			reg = <0x40006100 0xf00>;
			interrupts = <1 2 11 2>;
			interrupt-names = "GPIO_EVEN", "GPIO_ODD";
			label = "GPIO";

			ranges;
			#address-cells = <1>;
			#size-cells = <1>;

			gpioa: gpio@40006000 {
				compatible = "silabs,efm32-gpio-port";
				reg = <0x40006000 0x24>;
				label = "GPIO_A";
				gpio-controller;
				#gpio-cells = <2>;
			};

			gpiob: gpio@40006024 {
				compatible = "silabs,efm32-gpio-port";
				reg = <0x40006024 0x24>;
				label = "GPIO_B";
				gpio-controller;
				#gpio-cells = <2>;
			};

			gpioc: gpio@40006048 {
				compatible = "silabs,efm32-gpio-port";
				reg = <0x40006048 0x24>;
				label = "GPIO_C";
				gpio-controller;
				#gpio-cells = <2>;
			};

			gpiod: gpio@4000606c {
				compatible = "silabs,efm32-gpio-port";
				reg = <0x4000606c 0x24>;
				label = "GPIO_D";
				gpio-controller;
				#gpio-cells = <2>;
			};

			gpioe: gpio@40006090 {
				compatible = "silabs,efm32-gpio-port";
				reg = <0x40006090 0x24>;
				label = "GPIO_E";
				gpio-controller;
				#gpio-cells = <2>;
			};

			gpiof: gpio@400060b4 {
				compatible = "silabs,efm32-gpio-port";
				reg = <0x400060b4 0x24>;
				label = "GPIO_F";
				gpio-controller;
				#gpio-cells = <2>;
			};
		};
	};
};

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