Linux Audio

Check our new training course

Embedded Linux training

Mar 31-Apr 8, 2025
Register
Loading...
v6.2
  1// SPDX-License-Identifier: GPL-2.0-or-later
  2
  3/dts-v1/;
  4
  5#include <dt-bindings/clock/clps711x-clock.h>
  6
  7/ {
  8	#address-cells = <1>;
  9	#size-cells = <1>;
 10	model = "Cirrus Logic EP7209";
 11	compatible = "cirrus,ep7209";
 12
 13	chosen { };
 14
 15	aliases {
 16		gpio0 = &porta;
 17		gpio1 = &portb;
 18		gpio3 = &portd;
 19		gpio4 = &porte;
 20		serial0 = &uart1;
 21		serial1 = &uart2;
 22		spi0 = &spi;
 23		timer0 = &timer1;
 24		timer1 = &timer2;
 25	};
 26
 27	cpus {
 28		#address-cells = <0>;
 29		#size-cells = <0>;
 30
 31		cpu {
 32			device_type = "cpu";
 33			compatible = "arm,arm720t";
 34		};
 35	};
 36
 37	soc {
 38		#address-cells = <1>;
 39		#size-cells = <1>;
 40		compatible = "simple-bus";
 41		interrupt-parent = <&intc>;
 42		ranges;
 43
 44		clks: clks@80000000 {
 45			#clock-cells = <1>;
 46			compatible = "cirrus,ep7209-clk";
 47			reg = <0x80000000 0xc000>;
 48			startup-frequency = <73728000>;
 49		};
 50
 51		intc: intc@80000000 {
 52			compatible = "cirrus,ep7209-intc";
 53			reg = <0x80000000 0x4000>;
 54			interrupt-controller;
 55			#interrupt-cells = <1>;
 56		};
 57
 58		porta: gpio@80000000 {
 59			compatible = "cirrus,ep7209-gpio";
 60			reg = <0x80000000 0x1 0x80000040 0x1>;
 61			gpio-controller;
 62			#gpio-cells = <2>;
 63		};
 64
 65		portb: gpio@80000001 {
 66			compatible = "cirrus,ep7209-gpio";
 67			reg = <0x80000001 0x1 0x80000041 0x1>;
 68			gpio-controller;
 69			#gpio-cells = <2>;
 70		};
 71
 72		portd: gpio@80000003 {
 73			compatible = "cirrus,ep7209-gpio";
 74			reg = <0x80000003 0x1 0x80000043 0x1>;
 75			gpio-controller;
 76			#gpio-cells = <2>;
 77		};
 78
 79		porte: gpio@80000083 {
 80			compatible = "cirrus,ep7209-gpio";
 81			reg = <0x80000083 0x1 0x800000c3 0x1>;
 82			gpio-controller;
 83			#gpio-cells = <2>;
 84		};
 85
 86		syscon1: syscon@80000100 {
 87			compatible = "cirrus,ep7209-syscon1", "syscon";
 88			reg = <0x80000100 0x80>;
 89		};
 90
 91		bus: bus@80000180 {
 92			#address-cells = <2>;
 93			#size-cells = <1>;
 94			compatible = "cirrus,ep7209-bus", "simple-bus";
 95			clocks = <&clks CLPS711X_CLK_BUS>;
 96			reg = <0x80000180 0x80>;
 97			ranges = <
 98				0 0 0x00000000 0x10000000
 99				1 0 0x10000000 0x10000000
100				2 0 0x20000000 0x10000000
101				3 0 0x30000000 0x10000000
102				4 0 0x40000000 0x10000000
103				5 0 0x50000000 0x10000000
104				6 0 0x60000000 0x0000c000
105				7 0 0x70000000 0x00000080
106			>;
107		};
108
109		fb: fb@800002c0 {
110			compatible = "cirrus,ep7209-fb";
111			reg = <0x800002c0 0xd44>, <0x60000000 0xc000>;
112			clocks = <&clks CLPS711X_CLK_BUS>;
113			syscon = <&syscon1>;
114			status = "disabled";
115		};
116
117		timer1: timer@80000300 {
118			compatible = "cirrus,ep7209-timer";
119			reg = <0x80000300 0x4>;
120			clocks = <&clks CLPS711X_CLK_TIMER1>;
121			interrupts = <8>;
122		};
123
124		timer2: timer@80000340 {
125			compatible = "cirrus,ep7209-timer";
126			reg = <0x80000340 0x4>;
127			clocks = <&clks CLPS711X_CLK_TIMER2>;
128			interrupts = <9>;
129		};
130
131		pwm: pwm@80000400 {
132			compatible = "cirrus,ep7209-pwm";
133			reg = <0x80000400 0x4>;
134			clocks = <&clks CLPS711X_CLK_PWM>;
135			#pwm-cells = <1>;
136		};
137
138		uart1: serial@80000480 {
139			compatible = "cirrus,ep7209-uart";
140			reg = <0x80000480 0x80>;
141			interrupts = <12 13>;
142			clocks = <&clks CLPS711X_CLK_UART>;
143			syscon = <&syscon1>;
144		};
145
146		spi: spi@80000500 {
147			#address-cells = <1>;
148			#size-cells = <0>;
149			compatible = "cirrus,ep7209-spi";
150			reg = <0x80000500 0x4>;
151			interrupts = <15>;
152			clocks = <&clks CLPS711X_CLK_SPI>;
153			syscon = <&syscon3>;
154			status = "disabled";
155		};
156
157		syscon2: syscon@80001100 {
158			compatible = "cirrus,ep7209-syscon2", "syscon";
159			reg = <0x80001100 0x80>;
160		};
161
162		uart2: serial@80001480 {
163			compatible = "cirrus,ep7209-uart";
164			reg = <0x80001480 0x80>;
165			interrupts = <28 29>;
166			clocks = <&clks CLPS711X_CLK_UART>;
167			syscon = <&syscon2>;
168		};
169
170		dai: dai@80002000 {
171			#sound-dai-cells = <0>;
172			compatible = "cirrus,ep7209-dai";
173			reg = <0x80002000 0x604>;
174			clocks = <&clks CLPS711X_CLK_PLL>;
175			clock-names = "pll";
176			interrupts = <32>;
177			syscon = <&syscon3>;
178			status = "disabled";
179		};
180
181		syscon3: syscon@80002200 {
182			compatible = "cirrus,ep7209-syscon3", "syscon";
183			reg = <0x80002200 0x40>;
184		};
185	};
186
187	keypad: keypad {
188		compatible = "cirrus,ep7209-keypad";
189		interrupt-parent = <&intc>;
190		interrupts = <16>;
191		syscon = <&syscon1>;
192		status = "disabled";
193	};
194
195	mctrl: mctrl {
196		compatible = "cirrus,ep7209-mctrl-gpio";
197		gpio,syscon-dev = <&syscon1 0 0>;
198		gpio-controller;
199		#gpio-cells = <2>;
200	};
201};
v5.4
  1// SPDX-License-Identifier: GPL-2.0-or-later
  2
  3/dts-v1/;
  4
  5#include <dt-bindings/clock/clps711x-clock.h>
  6
  7/ {
  8	#address-cells = <1>;
  9	#size-cells = <1>;
 10	model = "Cirrus Logic EP7209";
 11	compatible = "cirrus,ep7209";
 12
 
 
 13	aliases {
 14		gpio0 = &porta;
 15		gpio1 = &portb;
 16		gpio3 = &portd;
 17		gpio4 = &porte;
 18		serial0 = &uart1;
 19		serial1 = &uart2;
 20		spi0 = &spi;
 21		timer0 = &timer1;
 22		timer1 = &timer2;
 23	};
 24
 25	cpus {
 26		#address-cells = <0>;
 27		#size-cells = <0>;
 28
 29		cpu {
 30			device_type = "cpu";
 31			compatible = "arm,arm720t";
 32		};
 33	};
 34
 35	soc {
 36		#address-cells = <1>;
 37		#size-cells = <1>;
 38		compatible = "simple-bus";
 39		interrupt-parent = <&intc>;
 40		ranges;
 41
 42		clks: clks@80000000 {
 43			#clock-cells = <1>;
 44			compatible = "cirrus,ep7209-clk";
 45			reg = <0x80000000 0xc000>;
 46			startup-frequency = <73728000>;
 47		};
 48
 49		intc: intc@80000000 {
 50			compatible = "cirrus,ep7209-intc";
 51			reg = <0x80000000 0x4000>;
 52			interrupt-controller;
 53			#interrupt-cells = <1>;
 54		};
 55
 56		porta: gpio@80000000 {
 57			compatible = "cirrus,ep7209-gpio";
 58			reg = <0x80000000 0x1 0x80000040 0x1>;
 59			gpio-controller;
 60			#gpio-cells = <2>;
 61		};
 62
 63		portb: gpio@80000001 {
 64			compatible = "cirrus,ep7209-gpio";
 65			reg = <0x80000001 0x1 0x80000041 0x1>;
 66			gpio-controller;
 67			#gpio-cells = <2>;
 68		};
 69
 70		portd: gpio@80000003 {
 71			compatible = "cirrus,ep7209-gpio";
 72			reg = <0x80000003 0x1 0x80000043 0x1>;
 73			gpio-controller;
 74			#gpio-cells = <2>;
 75		};
 76
 77		porte: gpio@80000083 {
 78			compatible = "cirrus,ep7209-gpio";
 79			reg = <0x80000083 0x1 0x800000c3 0x1>;
 80			gpio-controller;
 81			#gpio-cells = <2>;
 82		};
 83
 84		syscon1: syscon@80000100 {
 85			compatible = "cirrus,ep7209-syscon1", "syscon";
 86			reg = <0x80000100 0x80>;
 87		};
 88
 89		bus: bus@80000180 {
 90			#address-cells = <2>;
 91			#size-cells = <1>;
 92			compatible = "cirrus,ep7209-bus", "simple-bus";
 93			clocks = <&clks CLPS711X_CLK_BUS>;
 94			reg = <0x80000180 0x80>;
 95			ranges = <
 96				0 0 0x00000000 0x10000000
 97				1 0 0x10000000 0x10000000
 98				2 0 0x20000000 0x10000000
 99				3 0 0x30000000 0x10000000
100				4 0 0x40000000 0x10000000
101				5 0 0x50000000 0x10000000
102				6 0 0x60000000 0x0000c000
103				7 0 0x70000000 0x00000080
104			>;
105		};
106
107		fb: fb@800002c0 {
108			compatible = "cirrus,ep7209-fb";
109			reg = <0x800002c0 0xd44>, <0x60000000 0xc000>;
110			clocks = <&clks CLPS711X_CLK_BUS>;
 
111			status = "disabled";
112		};
113
114		timer1: timer@80000300 {
115			compatible = "cirrus,ep7209-timer";
116			reg = <0x80000300 0x4>;
117			clocks = <&clks CLPS711X_CLK_TIMER1>;
118			interrupts = <8>;
119		};
120
121		timer2: timer@80000340 {
122			compatible = "cirrus,ep7209-timer";
123			reg = <0x80000340 0x4>;
124			clocks = <&clks CLPS711X_CLK_TIMER2>;
125			interrupts = <9>;
126		};
127
128		pwm: pwm@80000400 {
129			compatible = "cirrus,ep7209-pwm";
130			reg = <0x80000400 0x4>;
131			clocks = <&clks CLPS711X_CLK_PWM>;
132			#pwm-cells = <1>;
133		};
134
135		uart1: uart@80000480 {
136			compatible = "cirrus,ep7209-uart";
137			reg = <0x80000480 0x80>;
138			interrupts = <12 13>;
139			clocks = <&clks CLPS711X_CLK_UART>;
140			syscon = <&syscon1>;
141		};
142
143		spi: spi@80000500 {
144			#address-cells = <1>;
145			#size-cells = <0>;
146			compatible = "cirrus,ep7209-spi";
147			reg = <0x80000500 0x4>;
148			interrupts = <15>;
149			clocks = <&clks CLPS711X_CLK_SPI>;
 
150			status = "disabled";
151		};
152
153		syscon2: syscon@80001100 {
154			compatible = "cirrus,ep7209-syscon2", "syscon";
155			reg = <0x80001100 0x80>;
156		};
157
158		uart2: uart@80001480 {
159			compatible = "cirrus,ep7209-uart";
160			reg = <0x80001480 0x80>;
161			interrupts = <28 29>;
162			clocks = <&clks CLPS711X_CLK_UART>;
163			syscon = <&syscon2>;
164		};
165
166		dai: dai@80002000 {
167			#sound-dai-cells = <0>;
168			compatible = "cirrus,ep7209-dai";
169			reg = <0x80002000 0x604>;
170			clocks = <&clks CLPS711X_CLK_PLL>;
171			clock-names = "pll";
172			interrupts = <32>;
 
173			status = "disabled";
174		};
175
176		syscon3: syscon@80002200 {
177			compatible = "cirrus,ep7209-syscon3", "syscon";
178			reg = <0x80002200 0x40>;
179		};
180	};
181
 
 
 
 
 
 
 
 
182	mctrl: mctrl {
183		compatible = "cirrus,ep7209-mctrl-gpio";
 
184		gpio-controller;
185		#gpio-cells = <2>;
186	};
187};