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

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

/ {
	chosen {
		zephyr,flash-controller = &msc;
	};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

			gpioa: gpio@40006000 {
				compatible = "silabs,gecko-gpio-port";
				reg = <0x40006000 0x24>;
				peripheral-id = <0>;
				gpio-controller;
				#gpio-cells = <2>;
				status = "disabled";
			};

			gpiob: gpio@40006024 {
				compatible = "silabs,gecko-gpio-port";
				reg = <0x40006024 0x24>;
				peripheral-id = <1>;
				gpio-controller;
				#gpio-cells = <2>;
				status = "disabled";
			};

			gpioc: gpio@40006048 {
				compatible = "silabs,gecko-gpio-port";
				reg = <0x40006048 0x24>;
				peripheral-id = <2>;
				gpio-controller;
				#gpio-cells = <2>;
				status = "disabled";
			};

			gpiod: gpio@4000606c {
				compatible = "silabs,gecko-gpio-port";
				reg = <0x4000606c 0x24>;
				peripheral-id = <3>;
				gpio-controller;
				#gpio-cells = <2>;
				status = "disabled";
			};

			gpioe: gpio@40006090 {
				compatible = "silabs,gecko-gpio-port";
				reg = <0x40006090 0x24>;
				peripheral-id = <4>;
				gpio-controller;
				#gpio-cells = <2>;
				status = "disabled";
			};

			gpiof: gpio@400060b4 {
				compatible = "silabs,gecko-gpio-port";
				reg = <0x400060b4 0x24>;
				peripheral-id = <5>;
				gpio-controller;
				#gpio-cells = <2>;
				status = "disabled";
			};
		};
	};
};

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