Linux Audio

Check our new training course

Loading...
v4.17
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * Device tree for Energy Micro EFM32 Giant Gecko SoC.
  4 *
  5 * Documentation available from
  6 * http://www.silabs.com/Support%20Documents/TechnicalDocs/EFM32GG-RM.pdf
  7 */
  8
  9#include "armv7-m.dtsi"
 10#include "dt-bindings/clock/efm32-cmu.h"
 11
 12/ {
 13	#address-cells = <1>;
 14	#size-cells = <1>;
 15
 16	aliases {
 17		i2c0 = &i2c0;
 18		i2c1 = &i2c1;
 19		serial0 = &uart0;
 20		serial1 = &uart1;
 21		serial2 = &uart2;
 22		serial3 = &uart3;
 23		serial4 = &uart4;
 24		spi0 = &spi0;
 25		spi1 = &spi1;
 26		spi2 = &spi2;
 27	};
 28
 29	soc {
 30		adc: adc@40002000 {
 31			compatible = "energymicro,efm32-adc";
 32			reg = <0x40002000 0x400>;
 33			interrupts = <7>;
 34			clocks = <&cmu clk_HFPERCLKADC0>;
 35			status = "disabled";
 36		};
 37
 38		gpio: gpio@40006000 {
 39			compatible = "energymicro,efm32-gpio";
 40			reg = <0x40006000 0x1000>;
 41			interrupts = <1 11>;
 42			gpio-controller;
 43			#gpio-cells = <2>;
 44			interrupt-controller;
 45			#interrupt-cells = <1>;
 46			clocks = <&cmu clk_HFPERCLKGPIO>;
 47			status = "ok";
 48		};
 49
 50		i2c0: i2c@4000a000 {
 51			#address-cells = <1>;
 52			#size-cells = <0>;
 53			compatible = "energymicro,efm32-i2c";
 54			reg = <0x4000a000 0x400>;
 55			interrupts = <9>;
 56			clocks = <&cmu clk_HFPERCLKI2C0>;
 57			clock-frequency = <100000>;
 58			status = "disabled";
 59		};
 60
 61		i2c1: i2c@4000a400 {
 62			#address-cells = <1>;
 63			#size-cells = <0>;
 64			compatible = "energymicro,efm32-i2c";
 65			reg = <0x4000a400 0x400>;
 66			interrupts = <10>;
 67			clocks = <&cmu clk_HFPERCLKI2C1>;
 68			clock-frequency = <100000>;
 69			status = "disabled";
 70		};
 71
 72		spi0: spi@4000c000 { /* USART0 */
 73			#address-cells = <1>;
 74			#size-cells = <0>;
 75			compatible = "energymicro,efm32-spi";
 76			reg = <0x4000c000 0x400>;
 77			interrupts = <3 4>;
 78			clocks = <&cmu clk_HFPERCLKUSART0>;
 79			status = "disabled";
 80		};
 81
 82		spi1: spi@4000c400 { /* USART1 */
 83			#address-cells = <1>;
 84			#size-cells = <0>;
 85			compatible = "energymicro,efm32-spi";
 86			reg = <0x4000c400 0x400>;
 87			interrupts = <15 16>;
 88			clocks = <&cmu clk_HFPERCLKUSART1>;
 89			status = "disabled";
 90		};
 91
 92		spi2: spi@4000c800 { /* USART2 */
 93			#address-cells = <1>;
 94			#size-cells = <0>;
 95			compatible = "energymicro,efm32-spi";
 96			reg = <0x4000c800 0x400>;
 97			interrupts = <18 19>;
 98			clocks = <&cmu clk_HFPERCLKUSART2>;
 99			status = "disabled";
100		};
101
102		uart0: uart@4000c000 { /* USART0 */
103			compatible = "energymicro,efm32-uart";
104			reg = <0x4000c000 0x400>;
105			interrupts = <3 4>;
106			clocks = <&cmu clk_HFPERCLKUSART0>;
107			status = "disabled";
108		};
109
110		uart1: uart@4000c400 { /* USART1 */
111			compatible = "energymicro,efm32-uart";
112			reg = <0x4000c400 0x400>;
113			interrupts = <15 16>;
114			clocks = <&cmu clk_HFPERCLKUSART1>;
115			status = "disabled";
116		};
117
118		uart2: uart@4000c800 { /* USART2 */
119			compatible = "energymicro,efm32-uart";
120			reg = <0x4000c800 0x400>;
121			interrupts = <18 19>;
122			clocks = <&cmu clk_HFPERCLKUSART2>;
123			status = "disabled";
124		};
125
126		uart3: uart@4000e000 { /* UART0 */
127			compatible = "energymicro,efm32-uart";
128			reg = <0x4000e000 0x400>;
129			interrupts = <20 21>;
130			clocks = <&cmu clk_HFPERCLKUART0>;
131			status = "disabled";
132		};
133
134		uart4: uart@4000e400 { /* UART1 */
135			compatible = "energymicro,efm32-uart";
136			reg = <0x4000e400 0x400>;
137			interrupts = <22 23>;
138			clocks = <&cmu clk_HFPERCLKUART1>;
139			status = "disabled";
140		};
141
142		timer0: timer@40010000 {
143			compatible = "energymicro,efm32-timer";
144			reg = <0x40010000 0x400>;
145			interrupts = <2>;
146			clocks = <&cmu clk_HFPERCLKTIMER0>;
147		};
148
149		timer1: timer@40010400 {
150			compatible = "energymicro,efm32-timer";
151			reg = <0x40010400 0x400>;
152			interrupts = <12>;
153			clocks = <&cmu clk_HFPERCLKTIMER1>;
154		};
155
156		timer2: timer@40010800 {
157			compatible = "energymicro,efm32-timer";
158			reg = <0x40010800 0x400>;
159			interrupts = <13>;
160			clocks = <&cmu clk_HFPERCLKTIMER2>;
161		};
162
163		timer3: timer@40010c00 {
164			compatible = "energymicro,efm32-timer";
165			reg = <0x40010c00 0x400>;
166			interrupts = <14>;
167			clocks = <&cmu clk_HFPERCLKTIMER3>;
168		};
169
170		cmu: cmu@400c8000 {
171			compatible = "efm32gg,cmu";
172			reg = <0x400c8000 0x400>;
173			interrupts = <32>;
174			#clock-cells = <1>;
175		};
176	};
177};
v3.15
 
  1/*
  2 * Device tree for Energy Micro EFM32 Giant Gecko SoC.
  3 *
  4 * Documentation available from
  5 * http://www.silabs.com/Support%20Documents/TechnicalDocs/EFM32GG-RM.pdf
  6 */
 
  7#include "armv7-m.dtsi"
  8#include "dt-bindings/clock/efm32-cmu.h"
  9
 10/ {
 
 
 
 11	aliases {
 12		i2c0 = &i2c0;
 13		i2c1 = &i2c1;
 14		serial0 = &uart0;
 15		serial1 = &uart1;
 16		serial2 = &uart2;
 17		serial3 = &uart3;
 18		serial4 = &uart4;
 19		spi0 = &spi0;
 20		spi1 = &spi1;
 21		spi2 = &spi2;
 22	};
 23
 24	soc {
 25		adc: adc@40002000 {
 26			compatible = "efm32,adc";
 27			reg = <0x40002000 0x400>;
 28			interrupts = <7>;
 29			clocks = <&cmu clk_HFPERCLKADC0>;
 30			status = "disabled";
 31		};
 32
 33		gpio: gpio@40006000 {
 34			compatible = "efm32,gpio";
 35			reg = <0x40006000 0x1000>;
 36			interrupts = <1 11>;
 37			gpio-controller;
 38			#gpio-cells = <2>;
 39			interrupt-controller;
 40			#interrupt-cells = <1>;
 41			clocks = <&cmu clk_HFPERCLKGPIO>;
 42			status = "ok";
 43		};
 44
 45		i2c0: i2c@4000a000 {
 46			#address-cells = <1>;
 47			#size-cells = <0>;
 48			compatible = "efm32,i2c";
 49			reg = <0x4000a000 0x400>;
 50			interrupts = <9>;
 51			clocks = <&cmu clk_HFPERCLKI2C0>;
 52			clock-frequency = <100000>;
 53			status = "disabled";
 54		};
 55
 56		i2c1: i2c@4000a400 {
 57			#address-cells = <1>;
 58			#size-cells = <0>;
 59			compatible = "efm32,i2c";
 60			reg = <0x4000a400 0x400>;
 61			interrupts = <10>;
 62			clocks = <&cmu clk_HFPERCLKI2C1>;
 63			clock-frequency = <100000>;
 64			status = "disabled";
 65		};
 66
 67		spi0: spi@4000c000 { /* USART0 */
 68			#address-cells = <1>;
 69			#size-cells = <0>;
 70			compatible = "efm32,spi";
 71			reg = <0x4000c000 0x400>;
 72			interrupts = <3 4>;
 73			clocks = <&cmu clk_HFPERCLKUSART0>;
 74			status = "disabled";
 75		};
 76
 77		spi1: spi@4000c400 { /* USART1 */
 78			#address-cells = <1>;
 79			#size-cells = <0>;
 80			compatible = "efm32,spi";
 81			reg = <0x4000c400 0x400>;
 82			interrupts = <15 16>;
 83			clocks = <&cmu clk_HFPERCLKUSART1>;
 84			status = "disabled";
 85		};
 86
 87		spi2: spi@4000c800 { /* USART2 */
 88			#address-cells = <1>;
 89			#size-cells = <0>;
 90			compatible = "efm32,spi";
 91			reg = <0x4000c800 0x400>;
 92			interrupts = <18 19>;
 93			clocks = <&cmu clk_HFPERCLKUSART2>;
 94			status = "disabled";
 95		};
 96
 97		uart0: uart@4000c000 { /* USART0 */
 98			compatible = "efm32,uart";
 99			reg = <0x4000c000 0x400>;
100			interrupts = <3 4>;
101			clocks = <&cmu clk_HFPERCLKUSART0>;
102			status = "disabled";
103		};
104
105		uart1: uart@4000c400 { /* USART1 */
106			compatible = "efm32,uart";
107			reg = <0x4000c400 0x400>;
108			interrupts = <15 16>;
109			clocks = <&cmu clk_HFPERCLKUSART1>;
110			status = "disabled";
111		};
112
113		uart2: uart@4000c800 { /* USART2 */
114			compatible = "efm32,uart";
115			reg = <0x4000c800 0x400>;
116			interrupts = <18 19>;
117			clocks = <&cmu clk_HFPERCLKUSART2>;
118			status = "disabled";
119		};
120
121		uart3: uart@4000e000 { /* UART0 */
122			compatible = "efm32,uart";
123			reg = <0x4000e000 0x400>;
124			interrupts = <20 21>;
125			clocks = <&cmu clk_HFPERCLKUART0>;
126			status = "disabled";
127		};
128
129		uart4: uart@4000e400 { /* UART1 */
130			compatible = "efm32,uart";
131			reg = <0x4000e400 0x400>;
132			interrupts = <22 23>;
133			clocks = <&cmu clk_HFPERCLKUART1>;
134			status = "disabled";
135		};
136
137		timer0: timer@40010000 {
138			compatible = "efm32,timer";
139			reg = <0x40010000 0x400>;
140			interrupts = <2>;
141			clocks = <&cmu clk_HFPERCLKTIMER0>;
142		};
143
144		timer1: timer@40010400 {
145			compatible = "efm32,timer";
146			reg = <0x40010400 0x400>;
147			interrupts = <12>;
148			clocks = <&cmu clk_HFPERCLKTIMER1>;
149		};
150
151		timer2: timer@40010800 {
152			compatible = "efm32,timer";
153			reg = <0x40010800 0x400>;
154			interrupts = <13>;
155			clocks = <&cmu clk_HFPERCLKTIMER2>;
156		};
157
158		timer3: timer@40010c00 {
159			compatible = "efm32,timer";
160			reg = <0x40010c00 0x400>;
161			interrupts = <14>;
162			clocks = <&cmu clk_HFPERCLKTIMER3>;
163		};
164
165		cmu: cmu@400c8000 {
166			compatible = "efm32gg,cmu";
167			reg = <0x400c8000 0x400>;
168			interrupts = <32>;
169			#clock-cells = <1>;
170		};
171	};
172};