// SPDX-License-Identifier: GPL-2.0
/*
 * Device tree for Energy Micro EFM32 Giant Gecko SoC.
 *
 * Documentation available from
 * http://www.silabs.com/Support%20Documents/TechnicalDocs/EFM32GG-RM.pdf
 */

#include "armv7-m.dtsi"
#include "dt-bindings/clock/efm32-cmu.h"

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

	aliases {
		i2c0 = &i2c0;
		i2c1 = &i2c1;
		serial0 = &uart0;
		serial1 = &uart1;
		serial2 = &uart2;
		serial3 = &uart3;
		serial4 = &uart4;
		spi0 = &spi0;
		spi1 = &spi1;
		spi2 = &spi2;
	};

	soc {
		adc: adc@40002000 {
			compatible = "energymicro,efm32-adc";
			reg = <0x40002000 0x400>;
			interrupts = <7>;
			clocks = <&cmu clk_HFPERCLKADC0>;
			status = "disabled";
		};

		gpio: gpio@40006000 {
			compatible = "energymicro,efm32-gpio";
			reg = <0x40006000 0x1000>;
			interrupts = <1 11>;
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <1>;
			clocks = <&cmu clk_HFPERCLKGPIO>;
			status = "ok";
		};

		i2c0: i2c@4000a000 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "energymicro,efm32-i2c";
			reg = <0x4000a000 0x400>;
			interrupts = <9>;
			clocks = <&cmu clk_HFPERCLKI2C0>;
			clock-frequency = <100000>;
			status = "disabled";
		};

		i2c1: i2c@4000a400 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "energymicro,efm32-i2c";
			reg = <0x4000a400 0x400>;
			interrupts = <10>;
			clocks = <&cmu clk_HFPERCLKI2C1>;
			clock-frequency = <100000>;
			status = "disabled";
		};

		spi0: spi@4000c000 { /* USART0 */
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "energymicro,efm32-spi";
			reg = <0x4000c000 0x400>;
			interrupts = <3 4>;
			clocks = <&cmu clk_HFPERCLKUSART0>;
			status = "disabled";
		};

		spi1: spi@4000c400 { /* USART1 */
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "energymicro,efm32-spi";
			reg = <0x4000c400 0x400>;
			interrupts = <15 16>;
			clocks = <&cmu clk_HFPERCLKUSART1>;
			status = "disabled";
		};

		spi2: spi@4000c800 { /* USART2 */
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "energymicro,efm32-spi";
			reg = <0x4000c800 0x400>;
			interrupts = <18 19>;
			clocks = <&cmu clk_HFPERCLKUSART2>;
			status = "disabled";
		};

		uart0: uart@4000c000 { /* USART0 */
			compatible = "energymicro,efm32-uart";
			reg = <0x4000c000 0x400>;
			interrupts = <3 4>;
			clocks = <&cmu clk_HFPERCLKUSART0>;
			status = "disabled";
		};

		uart1: uart@4000c400 { /* USART1 */
			compatible = "energymicro,efm32-uart";
			reg = <0x4000c400 0x400>;
			interrupts = <15 16>;
			clocks = <&cmu clk_HFPERCLKUSART1>;
			status = "disabled";
		};

		uart2: uart@4000c800 { /* USART2 */
			compatible = "energymicro,efm32-uart";
			reg = <0x4000c800 0x400>;
			interrupts = <18 19>;
			clocks = <&cmu clk_HFPERCLKUSART2>;
			status = "disabled";
		};

		uart3: uart@4000e000 { /* UART0 */
			compatible = "energymicro,efm32-uart";
			reg = <0x4000e000 0x400>;
			interrupts = <20 21>;
			clocks = <&cmu clk_HFPERCLKUART0>;
			status = "disabled";
		};

		uart4: uart@4000e400 { /* UART1 */
			compatible = "energymicro,efm32-uart";
			reg = <0x4000e400 0x400>;
			interrupts = <22 23>;
			clocks = <&cmu clk_HFPERCLKUART1>;
			status = "disabled";
		};

		timer0: timer@40010000 {
			compatible = "energymicro,efm32-timer";
			reg = <0x40010000 0x400>;
			interrupts = <2>;
			clocks = <&cmu clk_HFPERCLKTIMER0>;
		};

		timer1: timer@40010400 {
			compatible = "energymicro,efm32-timer";
			reg = <0x40010400 0x400>;
			interrupts = <12>;
			clocks = <&cmu clk_HFPERCLKTIMER1>;
		};

		timer2: timer@40010800 {
			compatible = "energymicro,efm32-timer";
			reg = <0x40010800 0x400>;
			interrupts = <13>;
			clocks = <&cmu clk_HFPERCLKTIMER2>;
		};

		timer3: timer@40010c00 {
			compatible = "energymicro,efm32-timer";
			reg = <0x40010c00 0x400>;
			interrupts = <14>;
			clocks = <&cmu clk_HFPERCLKTIMER3>;
		};

		cmu: cmu@400c8000 {
			compatible = "efm32gg,cmu";
			reg = <0x400c8000 0x400>;
			interrupts = <32>;
			#clock-cells = <1>;
		};
	};
};
