/* 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@400e0000 {
			compatible = "silabs,gecko-flash-controller";
			label = "FLASH_CTRL";
			reg = <0x400e0000 0x78>;
			interrupts = <24 0>;

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

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

		usart0: usart@40010000 { /* USART0 */
			compatible = "silabs,gecko-usart";
			reg = <0x40010000 0x400>;
			interrupts = <11 0>, <12 0>;
			interrupt-names = "rx", "tx";
			status = "disabled";
			label = "USART_0";
		};

		usart1: usart@40010400 { /* USART1 */
			compatible = "silabs,gecko-usart";
			reg = <0x40010400 0x400>;
			interrupts = <19 0>, <20 0>;
			interrupt-names = "rx", "tx";
			status = "disabled";
			label = "USART_1";
		};

		leuart0: leuart@4004a000 { /* LEUART0 */
			compatible = "silabs,gecko-leuart";
			reg = <0x4004a000 0x400>;
			interrupts = <21 0>;
			status = "disabled";
			label = "LEUART_0";
		};

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

		gpio: gpio@4000a400 {
			compatible = "silabs,efr32xg1-gpio";
			reg = <0x4000a400 0xc00>;
			interrupts = <9 2 17 2>;
			interrupt-names = "GPIO_EVEN", "GPIO_ODD";
			label = "GPIO";

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

			gpioa: gpio@4000a000 {
				compatible = "silabs,efr32xg1-gpio-port";
				reg = <0x4000a000 0x30>;
				label = "GPIO_A";
				gpio-controller;
				#gpio-cells = <2>;
			};

			gpiob: gpio@4000a030 {
				compatible = "silabs,efr32xg1-gpio-port";
				reg = <0x4000a030 0x30>;
				label = "GPIO_B";
				gpio-controller;
				#gpio-cells = <2>;
			};

			gpioc: gpio@4000a060 {
				compatible = "silabs,efr32xg1-gpio-port";
				reg = <0x4000a060 0x30>;
				label = "GPIO_C";
				gpio-controller;
				#gpio-cells = <2>;
			};

			gpiod: gpio@4000a090 {
				compatible = "silabs,efr32xg1-gpio-port";
				reg = <0x4000a090 0x30>;
				label = "GPIO_D";
				gpio-controller;
				#gpio-cells = <2>;
			};

			gpioe: gpio@4000a0c0 {
				compatible = "silabs,efr32xg1-gpio-port";
				reg = <0x4000a0c0 0x30>;
				label = "GPIO_E";
				gpio-controller;
				#gpio-cells = <2>;
			};

			gpiof: gpio@4000a0f0 {
				compatible = "silabs,efr32xg1-gpio-port";
				reg = <0x4000af0 0x30>;
				label = "GPIO_F";
				gpio-controller;
				#gpio-cells = <2>;
			};
		};
	};
};

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