xref: /OK3568_Linux_fs/kernel/arch/arc/boot/dts/abilis_tb101.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Abilis Systems TB101 SOC device tree
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright (C) Abilis Systems 2013
6*4882a593Smuzhiyun *
7*4882a593Smuzhiyun * Author: Christian Ruppert <christian.ruppert@abilis.com>
8*4882a593Smuzhiyun */
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun/include/ "abilis_tb10x.dtsi"
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun/ {
14*4882a593Smuzhiyun	soc100 {
15*4882a593Smuzhiyun		bus-frequency	= <166666666>;
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun		pll0: oscillator {
18*4882a593Smuzhiyun			clock-frequency  = <1000000000>;
19*4882a593Smuzhiyun		};
20*4882a593Smuzhiyun		cpu_clk: clkdiv_cpu {
21*4882a593Smuzhiyun			clock-mult = <1>;
22*4882a593Smuzhiyun			clock-div = <2>;
23*4882a593Smuzhiyun		};
24*4882a593Smuzhiyun		ahb_clk: clkdiv_ahb {
25*4882a593Smuzhiyun			clock-mult = <1>;
26*4882a593Smuzhiyun			clock-div = <6>;
27*4882a593Smuzhiyun		};
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun		iomux: iomux@ff10601c {
30*4882a593Smuzhiyun			/* Port 1 */
31*4882a593Smuzhiyun			pctl_tsin_s0: pctl-tsin-s0 {   /* Serial TS-in 0 */
32*4882a593Smuzhiyun				abilis,function = "mis0";
33*4882a593Smuzhiyun			};
34*4882a593Smuzhiyun			pctl_tsin_s1: pctl-tsin-s1 {   /* Serial TS-in 1 */
35*4882a593Smuzhiyun				abilis,function = "mis1";
36*4882a593Smuzhiyun			};
37*4882a593Smuzhiyun			pctl_gpio_a: pctl-gpio-a {     /* GPIO bank A */
38*4882a593Smuzhiyun				abilis,function = "gpioa";
39*4882a593Smuzhiyun			};
40*4882a593Smuzhiyun			pctl_tsin_p1: pctl-tsin-p1 {   /* Parallel TS-in 1 */
41*4882a593Smuzhiyun				abilis,function = "mip1";
42*4882a593Smuzhiyun			};
43*4882a593Smuzhiyun			/* Port 2 */
44*4882a593Smuzhiyun			pctl_tsin_s2: pctl-tsin-s2 {   /* Serial TS-in 2 */
45*4882a593Smuzhiyun				abilis,function = "mis2";
46*4882a593Smuzhiyun			};
47*4882a593Smuzhiyun			pctl_tsin_s3: pctl-tsin-s3 {   /* Serial TS-in 3 */
48*4882a593Smuzhiyun				abilis,function = "mis3";
49*4882a593Smuzhiyun			};
50*4882a593Smuzhiyun			pctl_gpio_c: pctl-gpio-c {     /* GPIO bank C */
51*4882a593Smuzhiyun				abilis,function = "gpioc";
52*4882a593Smuzhiyun			};
53*4882a593Smuzhiyun			pctl_tsin_p3: pctl-tsin-p3 {   /* Parallel TS-in 3 */
54*4882a593Smuzhiyun				abilis,function = "mip3";
55*4882a593Smuzhiyun			};
56*4882a593Smuzhiyun			/* Port 3 */
57*4882a593Smuzhiyun			pctl_tsin_s4: pctl-tsin-s4 {   /* Serial TS-in 4 */
58*4882a593Smuzhiyun				abilis,function = "mis4";
59*4882a593Smuzhiyun			};
60*4882a593Smuzhiyun			pctl_tsin_s5: pctl-tsin-s5 {   /* Serial TS-in 5 */
61*4882a593Smuzhiyun				abilis,function = "mis5";
62*4882a593Smuzhiyun			};
63*4882a593Smuzhiyun			pctl_gpio_e: pctl-gpio-e {     /* GPIO bank E */
64*4882a593Smuzhiyun				abilis,function = "gpioe";
65*4882a593Smuzhiyun			};
66*4882a593Smuzhiyun			pctl_tsin_p5: pctl-tsin-p5 {   /* Parallel TS-in 5 */
67*4882a593Smuzhiyun				abilis,function = "mip5";
68*4882a593Smuzhiyun			};
69*4882a593Smuzhiyun			/* Port 4 */
70*4882a593Smuzhiyun			pctl_tsin_s6: pctl-tsin-s6 {   /* Serial TS-in 6 */
71*4882a593Smuzhiyun				abilis,function = "mis6";
72*4882a593Smuzhiyun			};
73*4882a593Smuzhiyun			pctl_tsin_s7: pctl-tsin-s7 {   /* Serial TS-in 7 */
74*4882a593Smuzhiyun				abilis,function = "mis7";
75*4882a593Smuzhiyun			};
76*4882a593Smuzhiyun			pctl_gpio_g: pctl-gpio-g {     /* GPIO bank G */
77*4882a593Smuzhiyun				abilis,function = "gpiog";
78*4882a593Smuzhiyun			};
79*4882a593Smuzhiyun			pctl_tsin_p7: pctl-tsin-p7 {   /* Parallel TS-in 7 */
80*4882a593Smuzhiyun				abilis,function = "mip7";
81*4882a593Smuzhiyun			};
82*4882a593Smuzhiyun			/* Port 5 */
83*4882a593Smuzhiyun			pctl_gpio_j: pctl-gpio-j {     /* GPIO bank J */
84*4882a593Smuzhiyun				abilis,function = "gpioj";
85*4882a593Smuzhiyun			};
86*4882a593Smuzhiyun			pctl_gpio_k: pctl-gpio-k {     /* GPIO bank K */
87*4882a593Smuzhiyun				abilis,function = "gpiok";
88*4882a593Smuzhiyun			};
89*4882a593Smuzhiyun			pctl_ciplus: pctl-ciplus {     /* CI+ interface */
90*4882a593Smuzhiyun				abilis,function = "ciplus";
91*4882a593Smuzhiyun			};
92*4882a593Smuzhiyun			pctl_mcard: pctl-mcard {       /* M-Card interface */
93*4882a593Smuzhiyun				abilis,function = "mcard";
94*4882a593Smuzhiyun			};
95*4882a593Smuzhiyun			pctl_stc0: pctl-stc0 {         /* Smart card I/F 0 */
96*4882a593Smuzhiyun				abilis,function = "stc0";
97*4882a593Smuzhiyun			};
98*4882a593Smuzhiyun			pctl_stc1: pctl-stc1 {         /* Smart card I/F 1 */
99*4882a593Smuzhiyun				abilis,function = "stc1";
100*4882a593Smuzhiyun			};
101*4882a593Smuzhiyun			/* Port 6 */
102*4882a593Smuzhiyun			pctl_tsout_p: pctl-tsout-p {   /* Parallel TS-out */
103*4882a593Smuzhiyun				abilis,function = "mop";
104*4882a593Smuzhiyun			};
105*4882a593Smuzhiyun			pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */
106*4882a593Smuzhiyun				abilis,function = "mos0";
107*4882a593Smuzhiyun			};
108*4882a593Smuzhiyun			pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */
109*4882a593Smuzhiyun				abilis,function = "mos1";
110*4882a593Smuzhiyun			};
111*4882a593Smuzhiyun			pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */
112*4882a593Smuzhiyun				abilis,function = "mos2";
113*4882a593Smuzhiyun			};
114*4882a593Smuzhiyun			pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */
115*4882a593Smuzhiyun				abilis,function = "mos3";
116*4882a593Smuzhiyun			};
117*4882a593Smuzhiyun			/* Port 7 */
118*4882a593Smuzhiyun			pctl_uart0: pctl-uart0 {       /* UART 0 */
119*4882a593Smuzhiyun				abilis,function = "uart0";
120*4882a593Smuzhiyun			};
121*4882a593Smuzhiyun			pctl_uart1: pctl-uart1 {       /* UART 1 */
122*4882a593Smuzhiyun				abilis,function = "uart1";
123*4882a593Smuzhiyun			};
124*4882a593Smuzhiyun			pctl_gpio_l: pctl-gpio-l {     /* GPIO bank L */
125*4882a593Smuzhiyun				abilis,function = "gpiol";
126*4882a593Smuzhiyun			};
127*4882a593Smuzhiyun			pctl_gpio_m: pctl-gpio-m {     /* GPIO bank M */
128*4882a593Smuzhiyun				abilis,function = "gpiom";
129*4882a593Smuzhiyun			};
130*4882a593Smuzhiyun			/* Port 8 */
131*4882a593Smuzhiyun			pctl_spi3: pctl-spi3 {
132*4882a593Smuzhiyun				abilis,function = "spi3";
133*4882a593Smuzhiyun			};
134*4882a593Smuzhiyun			pctl_jtag: pctl-jtag {
135*4882a593Smuzhiyun				abilis,function = "jtag";
136*4882a593Smuzhiyun			};
137*4882a593Smuzhiyun			/* Port 9 */
138*4882a593Smuzhiyun			pctl_spi1: pctl-spi1 {
139*4882a593Smuzhiyun				abilis,function = "spi1";
140*4882a593Smuzhiyun			};
141*4882a593Smuzhiyun			pctl_gpio_n: pctl-gpio-n {
142*4882a593Smuzhiyun				abilis,function = "gpion";
143*4882a593Smuzhiyun			};
144*4882a593Smuzhiyun			/* Unmuxed GPIOs */
145*4882a593Smuzhiyun			pctl_gpio_b: pctl-gpio-b {
146*4882a593Smuzhiyun				abilis,function = "gpiob";
147*4882a593Smuzhiyun			};
148*4882a593Smuzhiyun			pctl_gpio_d: pctl-gpio-d {
149*4882a593Smuzhiyun				abilis,function = "gpiod";
150*4882a593Smuzhiyun			};
151*4882a593Smuzhiyun			pctl_gpio_f: pctl-gpio-f {
152*4882a593Smuzhiyun				abilis,function = "gpiof";
153*4882a593Smuzhiyun			};
154*4882a593Smuzhiyun			pctl_gpio_h: pctl-gpio-h {
155*4882a593Smuzhiyun				abilis,function = "gpioh";
156*4882a593Smuzhiyun			};
157*4882a593Smuzhiyun			pctl_gpio_i: pctl-gpio-i {
158*4882a593Smuzhiyun				abilis,function = "gpioi";
159*4882a593Smuzhiyun			};
160*4882a593Smuzhiyun		};
161*4882a593Smuzhiyun
162*4882a593Smuzhiyun		gpioa: gpio@ff140000 {
163*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
164*4882a593Smuzhiyun			interrupt-controller;
165*4882a593Smuzhiyun			#interrupt-cells = <1>;
166*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
167*4882a593Smuzhiyun			interrupts = <27 2>;
168*4882a593Smuzhiyun			reg = <0xff140000 0x1000>;
169*4882a593Smuzhiyun			gpio-controller;
170*4882a593Smuzhiyun			#gpio-cells = <2>;
171*4882a593Smuzhiyun			abilis,ngpio = <3>;
172*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
173*4882a593Smuzhiyun			gpio-ranges-group-names = "gpioa";
174*4882a593Smuzhiyun		};
175*4882a593Smuzhiyun		gpiob: gpio@ff141000 {
176*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
177*4882a593Smuzhiyun			interrupt-controller;
178*4882a593Smuzhiyun			#interrupt-cells = <1>;
179*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
180*4882a593Smuzhiyun			interrupts = <27 2>;
181*4882a593Smuzhiyun			reg = <0xff141000 0x1000>;
182*4882a593Smuzhiyun			gpio-controller;
183*4882a593Smuzhiyun			#gpio-cells = <2>;
184*4882a593Smuzhiyun			abilis,ngpio = <2>;
185*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
186*4882a593Smuzhiyun			gpio-ranges-group-names = "gpiob";
187*4882a593Smuzhiyun		};
188*4882a593Smuzhiyun		gpioc: gpio@ff142000 {
189*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
190*4882a593Smuzhiyun			interrupt-controller;
191*4882a593Smuzhiyun			#interrupt-cells = <1>;
192*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
193*4882a593Smuzhiyun			interrupts = <27 2>;
194*4882a593Smuzhiyun			reg = <0xff142000 0x1000>;
195*4882a593Smuzhiyun			gpio-controller;
196*4882a593Smuzhiyun			#gpio-cells = <2>;
197*4882a593Smuzhiyun			abilis,ngpio = <3>;
198*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
199*4882a593Smuzhiyun			gpio-ranges-group-names = "gpioc";
200*4882a593Smuzhiyun		};
201*4882a593Smuzhiyun		gpiod: gpio@ff143000 {
202*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
203*4882a593Smuzhiyun			interrupt-controller;
204*4882a593Smuzhiyun			#interrupt-cells = <1>;
205*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
206*4882a593Smuzhiyun			interrupts = <27 2>;
207*4882a593Smuzhiyun			reg = <0xff143000 0x1000>;
208*4882a593Smuzhiyun			gpio-controller;
209*4882a593Smuzhiyun			#gpio-cells = <2>;
210*4882a593Smuzhiyun			abilis,ngpio = <2>;
211*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
212*4882a593Smuzhiyun			gpio-ranges-group-names = "gpiod";
213*4882a593Smuzhiyun		};
214*4882a593Smuzhiyun		gpioe: gpio@ff144000 {
215*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
216*4882a593Smuzhiyun			interrupt-controller;
217*4882a593Smuzhiyun			#interrupt-cells = <1>;
218*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
219*4882a593Smuzhiyun			interrupts = <27 2>;
220*4882a593Smuzhiyun			reg = <0xff144000 0x1000>;
221*4882a593Smuzhiyun			gpio-controller;
222*4882a593Smuzhiyun			#gpio-cells = <2>;
223*4882a593Smuzhiyun			abilis,ngpio = <3>;
224*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
225*4882a593Smuzhiyun			gpio-ranges-group-names = "gpioe";
226*4882a593Smuzhiyun		};
227*4882a593Smuzhiyun		gpiof: gpio@ff145000 {
228*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
229*4882a593Smuzhiyun			interrupt-controller;
230*4882a593Smuzhiyun			#interrupt-cells = <1>;
231*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
232*4882a593Smuzhiyun			interrupts = <27 2>;
233*4882a593Smuzhiyun			reg = <0xff145000 0x1000>;
234*4882a593Smuzhiyun			gpio-controller;
235*4882a593Smuzhiyun			#gpio-cells = <2>;
236*4882a593Smuzhiyun			abilis,ngpio = <2>;
237*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
238*4882a593Smuzhiyun			gpio-ranges-group-names = "gpiof";
239*4882a593Smuzhiyun		};
240*4882a593Smuzhiyun		gpiog: gpio@ff146000 {
241*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
242*4882a593Smuzhiyun			interrupt-controller;
243*4882a593Smuzhiyun			#interrupt-cells = <1>;
244*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
245*4882a593Smuzhiyun			interrupts = <27 2>;
246*4882a593Smuzhiyun			reg = <0xff146000 0x1000>;
247*4882a593Smuzhiyun			gpio-controller;
248*4882a593Smuzhiyun			#gpio-cells = <2>;
249*4882a593Smuzhiyun			abilis,ngpio = <3>;
250*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
251*4882a593Smuzhiyun			gpio-ranges-group-names = "gpiog";
252*4882a593Smuzhiyun		};
253*4882a593Smuzhiyun		gpioh: gpio@ff147000 {
254*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
255*4882a593Smuzhiyun			interrupt-controller;
256*4882a593Smuzhiyun			#interrupt-cells = <1>;
257*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
258*4882a593Smuzhiyun			interrupts = <27 2>;
259*4882a593Smuzhiyun			reg = <0xff147000 0x1000>;
260*4882a593Smuzhiyun			gpio-controller;
261*4882a593Smuzhiyun			#gpio-cells = <2>;
262*4882a593Smuzhiyun			abilis,ngpio = <2>;
263*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
264*4882a593Smuzhiyun			gpio-ranges-group-names = "gpioh";
265*4882a593Smuzhiyun		};
266*4882a593Smuzhiyun		gpioi: gpio@ff148000 {
267*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
268*4882a593Smuzhiyun			interrupt-controller;
269*4882a593Smuzhiyun			#interrupt-cells = <1>;
270*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
271*4882a593Smuzhiyun			interrupts = <27 2>;
272*4882a593Smuzhiyun			reg = <0xff148000 0x1000>;
273*4882a593Smuzhiyun			gpio-controller;
274*4882a593Smuzhiyun			#gpio-cells = <2>;
275*4882a593Smuzhiyun			abilis,ngpio = <12>;
276*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
277*4882a593Smuzhiyun			gpio-ranges-group-names = "gpioi";
278*4882a593Smuzhiyun		};
279*4882a593Smuzhiyun		gpioj: gpio@ff149000 {
280*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
281*4882a593Smuzhiyun			interrupt-controller;
282*4882a593Smuzhiyun			#interrupt-cells = <1>;
283*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
284*4882a593Smuzhiyun			interrupts = <27 2>;
285*4882a593Smuzhiyun			reg = <0xff149000 0x1000>;
286*4882a593Smuzhiyun			gpio-controller;
287*4882a593Smuzhiyun			#gpio-cells = <2>;
288*4882a593Smuzhiyun			abilis,ngpio = <32>;
289*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
290*4882a593Smuzhiyun			gpio-ranges-group-names = "gpioj";
291*4882a593Smuzhiyun		};
292*4882a593Smuzhiyun		gpiok: gpio@ff14a000 {
293*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
294*4882a593Smuzhiyun			interrupt-controller;
295*4882a593Smuzhiyun			#interrupt-cells = <1>;
296*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
297*4882a593Smuzhiyun			interrupts = <27 2>;
298*4882a593Smuzhiyun			reg = <0xff14a000 0x1000>;
299*4882a593Smuzhiyun			gpio-controller;
300*4882a593Smuzhiyun			#gpio-cells = <2>;
301*4882a593Smuzhiyun			abilis,ngpio = <22>;
302*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
303*4882a593Smuzhiyun			gpio-ranges-group-names = "gpiok";
304*4882a593Smuzhiyun		};
305*4882a593Smuzhiyun		gpiol: gpio@ff14b000 {
306*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
307*4882a593Smuzhiyun			interrupt-controller;
308*4882a593Smuzhiyun			#interrupt-cells = <1>;
309*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
310*4882a593Smuzhiyun			interrupts = <27 2>;
311*4882a593Smuzhiyun			reg = <0xff14b000 0x1000>;
312*4882a593Smuzhiyun			gpio-controller;
313*4882a593Smuzhiyun			#gpio-cells = <2>;
314*4882a593Smuzhiyun			abilis,ngpio = <4>;
315*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
316*4882a593Smuzhiyun			gpio-ranges-group-names = "gpiol";
317*4882a593Smuzhiyun		};
318*4882a593Smuzhiyun		gpiom: gpio@ff14c000 {
319*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
320*4882a593Smuzhiyun			interrupt-controller;
321*4882a593Smuzhiyun			#interrupt-cells = <1>;
322*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
323*4882a593Smuzhiyun			interrupts = <27 2>;
324*4882a593Smuzhiyun			reg = <0xff14c000 0x1000>;
325*4882a593Smuzhiyun			gpio-controller;
326*4882a593Smuzhiyun			#gpio-cells = <2>;
327*4882a593Smuzhiyun			abilis,ngpio = <4>;
328*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
329*4882a593Smuzhiyun			gpio-ranges-group-names = "gpiom";
330*4882a593Smuzhiyun		};
331*4882a593Smuzhiyun		gpion: gpio@ff14d000 {
332*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
333*4882a593Smuzhiyun			interrupt-controller;
334*4882a593Smuzhiyun			#interrupt-cells = <1>;
335*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
336*4882a593Smuzhiyun			interrupts = <27 2>;
337*4882a593Smuzhiyun			reg = <0xff14d000 0x1000>;
338*4882a593Smuzhiyun			gpio-controller;
339*4882a593Smuzhiyun			#gpio-cells = <2>;
340*4882a593Smuzhiyun			abilis,ngpio = <5>;
341*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
342*4882a593Smuzhiyun			gpio-ranges-group-names = "gpion";
343*4882a593Smuzhiyun		};
344*4882a593Smuzhiyun	};
345*4882a593Smuzhiyun};
346