xref: /OK3568_Linux_fs/kernel/arch/mips/boot/dts/ingenic/jz4780.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun#include <dt-bindings/clock/jz4780-cgu.h>
3*4882a593Smuzhiyun#include <dt-bindings/clock/ingenic,tcu.h>
4*4882a593Smuzhiyun#include <dt-bindings/dma/jz4780-dma.h>
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun/ {
7*4882a593Smuzhiyun	#address-cells = <1>;
8*4882a593Smuzhiyun	#size-cells = <1>;
9*4882a593Smuzhiyun	compatible = "ingenic,jz4780";
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun	cpus {
12*4882a593Smuzhiyun		#address-cells = <1>;
13*4882a593Smuzhiyun		#size-cells = <0>;
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun		cpu0: cpu@0 {
16*4882a593Smuzhiyun			device_type = "cpu";
17*4882a593Smuzhiyun			compatible = "ingenic,xburst-fpu1.0-mxu1.1";
18*4882a593Smuzhiyun			reg = <0>;
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun			clocks = <&cgu JZ4780_CLK_CPU>;
21*4882a593Smuzhiyun			clock-names = "cpu";
22*4882a593Smuzhiyun		};
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun		cpu1: cpu@1 {
25*4882a593Smuzhiyun			device_type = "cpu";
26*4882a593Smuzhiyun			compatible = "ingenic,xburst-fpu1.0-mxu1.1";
27*4882a593Smuzhiyun			reg = <1>;
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun			clocks = <&cgu JZ4780_CLK_CORE1>;
30*4882a593Smuzhiyun			clock-names = "cpu";
31*4882a593Smuzhiyun		};
32*4882a593Smuzhiyun	};
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun	cpuintc: interrupt-controller {
35*4882a593Smuzhiyun		#address-cells = <0>;
36*4882a593Smuzhiyun		#interrupt-cells = <1>;
37*4882a593Smuzhiyun		interrupt-controller;
38*4882a593Smuzhiyun		compatible = "mti,cpu-interrupt-controller";
39*4882a593Smuzhiyun	};
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun	intc: interrupt-controller@10001000 {
42*4882a593Smuzhiyun		compatible = "ingenic,jz4780-intc";
43*4882a593Smuzhiyun		reg = <0x10001000 0x50>;
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun		interrupt-controller;
46*4882a593Smuzhiyun		#interrupt-cells = <1>;
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun		interrupt-parent = <&cpuintc>;
49*4882a593Smuzhiyun		interrupts = <2>;
50*4882a593Smuzhiyun	};
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun	ext: ext {
53*4882a593Smuzhiyun		compatible = "fixed-clock";
54*4882a593Smuzhiyun		#clock-cells = <0>;
55*4882a593Smuzhiyun	};
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun	rtc: rtc {
58*4882a593Smuzhiyun		compatible = "fixed-clock";
59*4882a593Smuzhiyun		#clock-cells = <0>;
60*4882a593Smuzhiyun		clock-frequency = <32768>;
61*4882a593Smuzhiyun	};
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun	cgu: jz4780-cgu@10000000 {
64*4882a593Smuzhiyun		compatible = "ingenic,jz4780-cgu";
65*4882a593Smuzhiyun		reg = <0x10000000 0x100>;
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun		clocks = <&ext>, <&rtc>;
68*4882a593Smuzhiyun		clock-names = "ext", "rtc";
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun		#clock-cells = <1>;
71*4882a593Smuzhiyun	};
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun	tcu: timer@10002000 {
74*4882a593Smuzhiyun		compatible = "ingenic,jz4780-tcu",
75*4882a593Smuzhiyun			     "ingenic,jz4770-tcu",
76*4882a593Smuzhiyun			     "simple-mfd";
77*4882a593Smuzhiyun		reg = <0x10002000 0x1000>;
78*4882a593Smuzhiyun		#address-cells = <1>;
79*4882a593Smuzhiyun		#size-cells = <1>;
80*4882a593Smuzhiyun		ranges = <0x0 0x10002000 0x1000>;
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun		#clock-cells = <1>;
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun		clocks = <&cgu JZ4780_CLK_RTCLK>,
85*4882a593Smuzhiyun			 <&cgu JZ4780_CLK_EXCLK>,
86*4882a593Smuzhiyun			 <&cgu JZ4780_CLK_PCLK>;
87*4882a593Smuzhiyun		clock-names = "rtc", "ext", "pclk";
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun		interrupt-controller;
90*4882a593Smuzhiyun		#interrupt-cells = <1>;
91*4882a593Smuzhiyun
92*4882a593Smuzhiyun		interrupt-parent = <&intc>;
93*4882a593Smuzhiyun		interrupts = <27 26 25>;
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun		watchdog: watchdog@0 {
96*4882a593Smuzhiyun			compatible = "ingenic,jz4780-watchdog";
97*4882a593Smuzhiyun			reg = <0x0 0xc>;
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun			clocks = <&tcu TCU_CLK_WDT>;
100*4882a593Smuzhiyun			clock-names = "wdt";
101*4882a593Smuzhiyun		};
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun		pwm: pwm@40 {
104*4882a593Smuzhiyun			compatible = "ingenic,jz4780-pwm", "ingenic,jz4740-pwm";
105*4882a593Smuzhiyun			reg = <0x40 0x80>;
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun			#pwm-cells = <3>;
108*4882a593Smuzhiyun
109*4882a593Smuzhiyun			clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>,
110*4882a593Smuzhiyun				 <&tcu TCU_CLK_TIMER2>, <&tcu TCU_CLK_TIMER3>,
111*4882a593Smuzhiyun				 <&tcu TCU_CLK_TIMER4>, <&tcu TCU_CLK_TIMER5>,
112*4882a593Smuzhiyun				 <&tcu TCU_CLK_TIMER6>, <&tcu TCU_CLK_TIMER7>;
113*4882a593Smuzhiyun			clock-names = "timer0", "timer1", "timer2", "timer3",
114*4882a593Smuzhiyun				      "timer4", "timer5", "timer6", "timer7";
115*4882a593Smuzhiyun		};
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun		ost: timer@e0 {
118*4882a593Smuzhiyun			compatible = "ingenic,jz4780-ost", "ingenic,jz4770-ost";
119*4882a593Smuzhiyun			reg = <0xe0 0x20>;
120*4882a593Smuzhiyun
121*4882a593Smuzhiyun			clocks = <&tcu TCU_CLK_OST>;
122*4882a593Smuzhiyun			clock-names = "ost";
123*4882a593Smuzhiyun
124*4882a593Smuzhiyun			interrupts = <15>;
125*4882a593Smuzhiyun		};
126*4882a593Smuzhiyun	};
127*4882a593Smuzhiyun
128*4882a593Smuzhiyun	rtc_dev: rtc@10003000 {
129*4882a593Smuzhiyun		compatible = "ingenic,jz4780-rtc";
130*4882a593Smuzhiyun		reg = <0x10003000 0x4c>;
131*4882a593Smuzhiyun
132*4882a593Smuzhiyun		interrupt-parent = <&intc>;
133*4882a593Smuzhiyun		interrupts = <32>;
134*4882a593Smuzhiyun
135*4882a593Smuzhiyun		clocks = <&cgu JZ4780_CLK_RTCLK>;
136*4882a593Smuzhiyun		clock-names = "rtc";
137*4882a593Smuzhiyun	};
138*4882a593Smuzhiyun
139*4882a593Smuzhiyun	pinctrl: pin-controller@10010000 {
140*4882a593Smuzhiyun		compatible = "ingenic,jz4780-pinctrl";
141*4882a593Smuzhiyun		reg = <0x10010000 0x600>;
142*4882a593Smuzhiyun
143*4882a593Smuzhiyun		#address-cells = <1>;
144*4882a593Smuzhiyun		#size-cells = <0>;
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun		gpa: gpio@0 {
147*4882a593Smuzhiyun			compatible = "ingenic,jz4780-gpio";
148*4882a593Smuzhiyun			reg = <0>;
149*4882a593Smuzhiyun
150*4882a593Smuzhiyun			gpio-controller;
151*4882a593Smuzhiyun			gpio-ranges = <&pinctrl 0 0 32>;
152*4882a593Smuzhiyun			#gpio-cells = <2>;
153*4882a593Smuzhiyun
154*4882a593Smuzhiyun			interrupt-controller;
155*4882a593Smuzhiyun			#interrupt-cells = <2>;
156*4882a593Smuzhiyun
157*4882a593Smuzhiyun			interrupt-parent = <&intc>;
158*4882a593Smuzhiyun			interrupts = <17>;
159*4882a593Smuzhiyun		};
160*4882a593Smuzhiyun
161*4882a593Smuzhiyun		gpb: gpio@1 {
162*4882a593Smuzhiyun			compatible = "ingenic,jz4780-gpio";
163*4882a593Smuzhiyun			reg = <1>;
164*4882a593Smuzhiyun
165*4882a593Smuzhiyun			gpio-controller;
166*4882a593Smuzhiyun			gpio-ranges = <&pinctrl 0 32 32>;
167*4882a593Smuzhiyun			#gpio-cells = <2>;
168*4882a593Smuzhiyun
169*4882a593Smuzhiyun			interrupt-controller;
170*4882a593Smuzhiyun			#interrupt-cells = <2>;
171*4882a593Smuzhiyun
172*4882a593Smuzhiyun			interrupt-parent = <&intc>;
173*4882a593Smuzhiyun			interrupts = <16>;
174*4882a593Smuzhiyun		};
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun		gpc: gpio@2 {
177*4882a593Smuzhiyun			compatible = "ingenic,jz4780-gpio";
178*4882a593Smuzhiyun			reg = <2>;
179*4882a593Smuzhiyun
180*4882a593Smuzhiyun			gpio-controller;
181*4882a593Smuzhiyun			gpio-ranges = <&pinctrl 0 64 32>;
182*4882a593Smuzhiyun			#gpio-cells = <2>;
183*4882a593Smuzhiyun
184*4882a593Smuzhiyun			interrupt-controller;
185*4882a593Smuzhiyun			#interrupt-cells = <2>;
186*4882a593Smuzhiyun
187*4882a593Smuzhiyun			interrupt-parent = <&intc>;
188*4882a593Smuzhiyun			interrupts = <15>;
189*4882a593Smuzhiyun		};
190*4882a593Smuzhiyun
191*4882a593Smuzhiyun		gpd: gpio@3 {
192*4882a593Smuzhiyun			compatible = "ingenic,jz4780-gpio";
193*4882a593Smuzhiyun			reg = <3>;
194*4882a593Smuzhiyun
195*4882a593Smuzhiyun			gpio-controller;
196*4882a593Smuzhiyun			gpio-ranges = <&pinctrl 0 96 32>;
197*4882a593Smuzhiyun			#gpio-cells = <2>;
198*4882a593Smuzhiyun
199*4882a593Smuzhiyun			interrupt-controller;
200*4882a593Smuzhiyun			#interrupt-cells = <2>;
201*4882a593Smuzhiyun
202*4882a593Smuzhiyun			interrupt-parent = <&intc>;
203*4882a593Smuzhiyun			interrupts = <14>;
204*4882a593Smuzhiyun		};
205*4882a593Smuzhiyun
206*4882a593Smuzhiyun		gpe: gpio@4 {
207*4882a593Smuzhiyun			compatible = "ingenic,jz4780-gpio";
208*4882a593Smuzhiyun			reg = <4>;
209*4882a593Smuzhiyun
210*4882a593Smuzhiyun			gpio-controller;
211*4882a593Smuzhiyun			gpio-ranges = <&pinctrl 0 128 32>;
212*4882a593Smuzhiyun			#gpio-cells = <2>;
213*4882a593Smuzhiyun
214*4882a593Smuzhiyun			interrupt-controller;
215*4882a593Smuzhiyun			#interrupt-cells = <2>;
216*4882a593Smuzhiyun
217*4882a593Smuzhiyun			interrupt-parent = <&intc>;
218*4882a593Smuzhiyun			interrupts = <13>;
219*4882a593Smuzhiyun		};
220*4882a593Smuzhiyun
221*4882a593Smuzhiyun		gpf: gpio@5 {
222*4882a593Smuzhiyun			compatible = "ingenic,jz4780-gpio";
223*4882a593Smuzhiyun			reg = <5>;
224*4882a593Smuzhiyun
225*4882a593Smuzhiyun			gpio-controller;
226*4882a593Smuzhiyun			gpio-ranges = <&pinctrl 0 160 32>;
227*4882a593Smuzhiyun			#gpio-cells = <2>;
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun			interrupt-controller;
230*4882a593Smuzhiyun			#interrupt-cells = <2>;
231*4882a593Smuzhiyun
232*4882a593Smuzhiyun			interrupt-parent = <&intc>;
233*4882a593Smuzhiyun			interrupts = <12>;
234*4882a593Smuzhiyun		};
235*4882a593Smuzhiyun	};
236*4882a593Smuzhiyun
237*4882a593Smuzhiyun	spi_gpio {
238*4882a593Smuzhiyun		compatible = "spi-gpio";
239*4882a593Smuzhiyun		#address-cells = <1>;
240*4882a593Smuzhiyun		#size-cells = <0>;
241*4882a593Smuzhiyun		num-chipselects = <2>;
242*4882a593Smuzhiyun
243*4882a593Smuzhiyun		gpio-miso = <&gpe 14 0>;
244*4882a593Smuzhiyun		gpio-sck = <&gpe 15 0>;
245*4882a593Smuzhiyun		gpio-mosi = <&gpe 17 0>;
246*4882a593Smuzhiyun		cs-gpios = <&gpe 16 0>, <&gpe 18 0>;
247*4882a593Smuzhiyun
248*4882a593Smuzhiyun		spidev@0 {
249*4882a593Smuzhiyun			compatible = "spidev";
250*4882a593Smuzhiyun			reg = <0>;
251*4882a593Smuzhiyun			spi-max-frequency = <1000000>;
252*4882a593Smuzhiyun		};
253*4882a593Smuzhiyun	};
254*4882a593Smuzhiyun
255*4882a593Smuzhiyun	uart0: serial@10030000 {
256*4882a593Smuzhiyun		compatible = "ingenic,jz4780-uart";
257*4882a593Smuzhiyun		reg = <0x10030000 0x100>;
258*4882a593Smuzhiyun
259*4882a593Smuzhiyun		interrupt-parent = <&intc>;
260*4882a593Smuzhiyun		interrupts = <51>;
261*4882a593Smuzhiyun
262*4882a593Smuzhiyun		clocks = <&ext>, <&cgu JZ4780_CLK_UART0>;
263*4882a593Smuzhiyun		clock-names = "baud", "module";
264*4882a593Smuzhiyun
265*4882a593Smuzhiyun		status = "disabled";
266*4882a593Smuzhiyun	};
267*4882a593Smuzhiyun
268*4882a593Smuzhiyun	uart1: serial@10031000 {
269*4882a593Smuzhiyun		compatible = "ingenic,jz4780-uart";
270*4882a593Smuzhiyun		reg = <0x10031000 0x100>;
271*4882a593Smuzhiyun
272*4882a593Smuzhiyun		interrupt-parent = <&intc>;
273*4882a593Smuzhiyun		interrupts = <50>;
274*4882a593Smuzhiyun
275*4882a593Smuzhiyun		clocks = <&ext>, <&cgu JZ4780_CLK_UART1>;
276*4882a593Smuzhiyun		clock-names = "baud", "module";
277*4882a593Smuzhiyun
278*4882a593Smuzhiyun		status = "disabled";
279*4882a593Smuzhiyun	};
280*4882a593Smuzhiyun
281*4882a593Smuzhiyun	uart2: serial@10032000 {
282*4882a593Smuzhiyun		compatible = "ingenic,jz4780-uart";
283*4882a593Smuzhiyun		reg = <0x10032000 0x100>;
284*4882a593Smuzhiyun
285*4882a593Smuzhiyun		interrupt-parent = <&intc>;
286*4882a593Smuzhiyun		interrupts = <49>;
287*4882a593Smuzhiyun
288*4882a593Smuzhiyun		clocks = <&ext>, <&cgu JZ4780_CLK_UART2>;
289*4882a593Smuzhiyun		clock-names = "baud", "module";
290*4882a593Smuzhiyun
291*4882a593Smuzhiyun		status = "disabled";
292*4882a593Smuzhiyun	};
293*4882a593Smuzhiyun
294*4882a593Smuzhiyun	uart3: serial@10033000 {
295*4882a593Smuzhiyun		compatible = "ingenic,jz4780-uart";
296*4882a593Smuzhiyun		reg = <0x10033000 0x100>;
297*4882a593Smuzhiyun
298*4882a593Smuzhiyun		interrupt-parent = <&intc>;
299*4882a593Smuzhiyun		interrupts = <48>;
300*4882a593Smuzhiyun
301*4882a593Smuzhiyun		clocks = <&ext>, <&cgu JZ4780_CLK_UART3>;
302*4882a593Smuzhiyun		clock-names = "baud", "module";
303*4882a593Smuzhiyun
304*4882a593Smuzhiyun		status = "disabled";
305*4882a593Smuzhiyun	};
306*4882a593Smuzhiyun
307*4882a593Smuzhiyun	uart4: serial@10034000 {
308*4882a593Smuzhiyun		compatible = "ingenic,jz4780-uart";
309*4882a593Smuzhiyun		reg = <0x10034000 0x100>;
310*4882a593Smuzhiyun
311*4882a593Smuzhiyun		interrupt-parent = <&intc>;
312*4882a593Smuzhiyun		interrupts = <34>;
313*4882a593Smuzhiyun
314*4882a593Smuzhiyun		clocks = <&ext>, <&cgu JZ4780_CLK_UART4>;
315*4882a593Smuzhiyun		clock-names = "baud", "module";
316*4882a593Smuzhiyun
317*4882a593Smuzhiyun		status = "disabled";
318*4882a593Smuzhiyun	};
319*4882a593Smuzhiyun
320*4882a593Smuzhiyun	i2c0: i2c@10050000 {
321*4882a593Smuzhiyun		compatible = "ingenic,jz4780-i2c";
322*4882a593Smuzhiyun		#address-cells = <1>;
323*4882a593Smuzhiyun		#size-cells = <0>;
324*4882a593Smuzhiyun
325*4882a593Smuzhiyun		reg = <0x10050000 0x1000>;
326*4882a593Smuzhiyun
327*4882a593Smuzhiyun		interrupt-parent = <&intc>;
328*4882a593Smuzhiyun		interrupts = <60>;
329*4882a593Smuzhiyun
330*4882a593Smuzhiyun		clocks = <&cgu JZ4780_CLK_SMB0>;
331*4882a593Smuzhiyun		clock-frequency = <100000>;
332*4882a593Smuzhiyun		pinctrl-names = "default";
333*4882a593Smuzhiyun		pinctrl-0 = <&pins_i2c0_data>;
334*4882a593Smuzhiyun
335*4882a593Smuzhiyun		status = "disabled";
336*4882a593Smuzhiyun	};
337*4882a593Smuzhiyun
338*4882a593Smuzhiyun	i2c1: i2c@10051000 {
339*4882a593Smuzhiyun		compatible = "ingenic,jz4780-i2c";
340*4882a593Smuzhiyun		#address-cells = <1>;
341*4882a593Smuzhiyun		#size-cells = <0>;
342*4882a593Smuzhiyun		reg = <0x10051000 0x1000>;
343*4882a593Smuzhiyun
344*4882a593Smuzhiyun		interrupt-parent = <&intc>;
345*4882a593Smuzhiyun		interrupts = <59>;
346*4882a593Smuzhiyun
347*4882a593Smuzhiyun		clocks = <&cgu JZ4780_CLK_SMB1>;
348*4882a593Smuzhiyun		clock-frequency = <100000>;
349*4882a593Smuzhiyun		pinctrl-names = "default";
350*4882a593Smuzhiyun		pinctrl-0 = <&pins_i2c1_data>;
351*4882a593Smuzhiyun
352*4882a593Smuzhiyun		status = "disabled";
353*4882a593Smuzhiyun	};
354*4882a593Smuzhiyun
355*4882a593Smuzhiyun	i2c2: i2c@10052000 {
356*4882a593Smuzhiyun		compatible = "ingenic,jz4780-i2c";
357*4882a593Smuzhiyun		#address-cells = <1>;
358*4882a593Smuzhiyun		#size-cells = <0>;
359*4882a593Smuzhiyun		reg = <0x10052000 0x1000>;
360*4882a593Smuzhiyun
361*4882a593Smuzhiyun		interrupt-parent = <&intc>;
362*4882a593Smuzhiyun		interrupts = <58>;
363*4882a593Smuzhiyun
364*4882a593Smuzhiyun		clocks = <&cgu JZ4780_CLK_SMB2>;
365*4882a593Smuzhiyun		clock-frequency = <100000>;
366*4882a593Smuzhiyun		pinctrl-names = "default";
367*4882a593Smuzhiyun		pinctrl-0 = <&pins_i2c2_data>;
368*4882a593Smuzhiyun
369*4882a593Smuzhiyun		status = "disabled";
370*4882a593Smuzhiyun	};
371*4882a593Smuzhiyun
372*4882a593Smuzhiyun	i2c3: i2c@10053000 {
373*4882a593Smuzhiyun		compatible = "ingenic,jz4780-i2c";
374*4882a593Smuzhiyun		#address-cells = <1>;
375*4882a593Smuzhiyun		#size-cells = <0>;
376*4882a593Smuzhiyun		reg = <0x10053000 0x1000>;
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun		interrupt-parent = <&intc>;
379*4882a593Smuzhiyun		interrupts = <57>;
380*4882a593Smuzhiyun
381*4882a593Smuzhiyun		clocks = <&cgu JZ4780_CLK_SMB3>;
382*4882a593Smuzhiyun		clock-frequency = <100000>;
383*4882a593Smuzhiyun		pinctrl-names = "default";
384*4882a593Smuzhiyun		pinctrl-0 = <&pins_i2c3_data>;
385*4882a593Smuzhiyun
386*4882a593Smuzhiyun		status = "disabled";
387*4882a593Smuzhiyun	};
388*4882a593Smuzhiyun
389*4882a593Smuzhiyun	i2c4: i2c@10054000 {
390*4882a593Smuzhiyun		compatible = "ingenic,jz4780-i2c";
391*4882a593Smuzhiyun		#address-cells = <1>;
392*4882a593Smuzhiyun		#size-cells = <0>;
393*4882a593Smuzhiyun		reg = <0x10054000 0x1000>;
394*4882a593Smuzhiyun
395*4882a593Smuzhiyun		interrupt-parent = <&intc>;
396*4882a593Smuzhiyun		interrupts = <56>;
397*4882a593Smuzhiyun
398*4882a593Smuzhiyun		clocks = <&cgu JZ4780_CLK_SMB4>;
399*4882a593Smuzhiyun		clock-frequency = <100000>;
400*4882a593Smuzhiyun		pinctrl-names = "default";
401*4882a593Smuzhiyun		pinctrl-0 = <&pins_i2c4_data>;
402*4882a593Smuzhiyun
403*4882a593Smuzhiyun		status = "disabled";
404*4882a593Smuzhiyun	};
405*4882a593Smuzhiyun
406*4882a593Smuzhiyun	nemc: nemc@13410000 {
407*4882a593Smuzhiyun		compatible = "ingenic,jz4780-nemc", "simple-mfd";
408*4882a593Smuzhiyun		reg = <0x13410000 0x10000>;
409*4882a593Smuzhiyun		#address-cells = <2>;
410*4882a593Smuzhiyun		#size-cells = <1>;
411*4882a593Smuzhiyun		ranges = <0 0 0x13410000 0x10000>,
412*4882a593Smuzhiyun			 <1 0 0x1b000000 0x1000000>,
413*4882a593Smuzhiyun			 <2 0 0x1a000000 0x1000000>,
414*4882a593Smuzhiyun			 <3 0 0x19000000 0x1000000>,
415*4882a593Smuzhiyun			 <4 0 0x18000000 0x1000000>,
416*4882a593Smuzhiyun			 <5 0 0x17000000 0x1000000>,
417*4882a593Smuzhiyun			 <6 0 0x16000000 0x1000000>;
418*4882a593Smuzhiyun
419*4882a593Smuzhiyun		clocks = <&cgu JZ4780_CLK_NEMC>;
420*4882a593Smuzhiyun
421*4882a593Smuzhiyun		status = "disabled";
422*4882a593Smuzhiyun
423*4882a593Smuzhiyun		efuse: efuse@d0 {
424*4882a593Smuzhiyun			reg = <0 0xd0 0x30>;
425*4882a593Smuzhiyun			compatible = "ingenic,jz4780-efuse";
426*4882a593Smuzhiyun
427*4882a593Smuzhiyun			clocks = <&cgu JZ4780_CLK_AHB2>;
428*4882a593Smuzhiyun
429*4882a593Smuzhiyun			#address-cells = <1>;
430*4882a593Smuzhiyun			#size-cells = <1>;
431*4882a593Smuzhiyun
432*4882a593Smuzhiyun			eth0_addr: eth-mac-addr@22 {
433*4882a593Smuzhiyun				reg = <0x22 0x6>;
434*4882a593Smuzhiyun			};
435*4882a593Smuzhiyun		};
436*4882a593Smuzhiyun	};
437*4882a593Smuzhiyun
438*4882a593Smuzhiyun	dma: dma@13420000 {
439*4882a593Smuzhiyun		compatible = "ingenic,jz4780-dma";
440*4882a593Smuzhiyun		reg = <0x13420000 0x400>, <0x13421000 0x40>;
441*4882a593Smuzhiyun		#dma-cells = <2>;
442*4882a593Smuzhiyun
443*4882a593Smuzhiyun		interrupt-parent = <&intc>;
444*4882a593Smuzhiyun		interrupts = <10>;
445*4882a593Smuzhiyun
446*4882a593Smuzhiyun		clocks = <&cgu JZ4780_CLK_PDMA>;
447*4882a593Smuzhiyun	};
448*4882a593Smuzhiyun
449*4882a593Smuzhiyun	mmc0: mmc@13450000 {
450*4882a593Smuzhiyun		compatible = "ingenic,jz4780-mmc";
451*4882a593Smuzhiyun		reg = <0x13450000 0x1000>;
452*4882a593Smuzhiyun
453*4882a593Smuzhiyun		interrupt-parent = <&intc>;
454*4882a593Smuzhiyun		interrupts = <37>;
455*4882a593Smuzhiyun
456*4882a593Smuzhiyun		clocks = <&cgu JZ4780_CLK_MSC0>;
457*4882a593Smuzhiyun		clock-names = "mmc";
458*4882a593Smuzhiyun
459*4882a593Smuzhiyun		cap-sd-highspeed;
460*4882a593Smuzhiyun		cap-mmc-highspeed;
461*4882a593Smuzhiyun		cap-sdio-irq;
462*4882a593Smuzhiyun		dmas = <&dma JZ4780_DMA_MSC0_RX 0xffffffff>,
463*4882a593Smuzhiyun		       <&dma JZ4780_DMA_MSC0_TX 0xffffffff>;
464*4882a593Smuzhiyun		dma-names = "rx", "tx";
465*4882a593Smuzhiyun
466*4882a593Smuzhiyun		status = "disabled";
467*4882a593Smuzhiyun	};
468*4882a593Smuzhiyun
469*4882a593Smuzhiyun	mmc1: mmc@13460000 {
470*4882a593Smuzhiyun		compatible = "ingenic,jz4780-mmc";
471*4882a593Smuzhiyun		reg = <0x13460000 0x1000>;
472*4882a593Smuzhiyun
473*4882a593Smuzhiyun		interrupt-parent = <&intc>;
474*4882a593Smuzhiyun		interrupts = <36>;
475*4882a593Smuzhiyun
476*4882a593Smuzhiyun		clocks = <&cgu JZ4780_CLK_MSC1>;
477*4882a593Smuzhiyun		clock-names = "mmc";
478*4882a593Smuzhiyun
479*4882a593Smuzhiyun		cap-sd-highspeed;
480*4882a593Smuzhiyun		cap-mmc-highspeed;
481*4882a593Smuzhiyun		cap-sdio-irq;
482*4882a593Smuzhiyun		dmas = <&dma JZ4780_DMA_MSC1_RX 0xffffffff>,
483*4882a593Smuzhiyun		       <&dma JZ4780_DMA_MSC1_TX 0xffffffff>;
484*4882a593Smuzhiyun		dma-names = "rx", "tx";
485*4882a593Smuzhiyun
486*4882a593Smuzhiyun		status = "disabled";
487*4882a593Smuzhiyun	};
488*4882a593Smuzhiyun
489*4882a593Smuzhiyun	bch: bch@134d0000 {
490*4882a593Smuzhiyun		compatible = "ingenic,jz4780-bch";
491*4882a593Smuzhiyun		reg = <0x134d0000 0x10000>;
492*4882a593Smuzhiyun
493*4882a593Smuzhiyun		clocks = <&cgu JZ4780_CLK_BCH>;
494*4882a593Smuzhiyun
495*4882a593Smuzhiyun		status = "disabled";
496*4882a593Smuzhiyun	};
497*4882a593Smuzhiyun};
498