xref: /OK3568_Linux_fs/kernel/arch/arc/boot/dts/abilis_tb100.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Abilis Systems TB100 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			/* Port 6 */
96*4882a593Smuzhiyun			pctl_tsout_p: pctl-tsout-p {   /* Parallel TS-out */
97*4882a593Smuzhiyun				abilis,function = "mop";
98*4882a593Smuzhiyun			};
99*4882a593Smuzhiyun			pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */
100*4882a593Smuzhiyun				abilis,function = "mos0";
101*4882a593Smuzhiyun			};
102*4882a593Smuzhiyun			pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */
103*4882a593Smuzhiyun				abilis,function = "mos1";
104*4882a593Smuzhiyun			};
105*4882a593Smuzhiyun			pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */
106*4882a593Smuzhiyun				abilis,function = "mos2";
107*4882a593Smuzhiyun			};
108*4882a593Smuzhiyun			pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */
109*4882a593Smuzhiyun				abilis,function = "mos3";
110*4882a593Smuzhiyun			};
111*4882a593Smuzhiyun			/* Port 7 */
112*4882a593Smuzhiyun			pctl_uart0: pctl-uart0 {       /* UART 0 */
113*4882a593Smuzhiyun				abilis,function = "uart0";
114*4882a593Smuzhiyun			};
115*4882a593Smuzhiyun			pctl_uart1: pctl-uart1 {       /* UART 1 */
116*4882a593Smuzhiyun				abilis,function = "uart1";
117*4882a593Smuzhiyun			};
118*4882a593Smuzhiyun			pctl_gpio_l: pctl-gpio-l {     /* GPIO bank L */
119*4882a593Smuzhiyun				abilis,function = "gpiol";
120*4882a593Smuzhiyun			};
121*4882a593Smuzhiyun			pctl_gpio_m: pctl-gpio-m {     /* GPIO bank M */
122*4882a593Smuzhiyun				abilis,function = "gpiom";
123*4882a593Smuzhiyun			};
124*4882a593Smuzhiyun			/* Port 8 */
125*4882a593Smuzhiyun			pctl_spi3: pctl-spi3 {
126*4882a593Smuzhiyun				abilis,function = "spi3";
127*4882a593Smuzhiyun			};
128*4882a593Smuzhiyun			/* Port 9 */
129*4882a593Smuzhiyun			pctl_spi1: pctl-spi1 {
130*4882a593Smuzhiyun				abilis,function = "spi1";
131*4882a593Smuzhiyun			};
132*4882a593Smuzhiyun			pctl_gpio_n: pctl-gpio-n {
133*4882a593Smuzhiyun				abilis,function = "gpion";
134*4882a593Smuzhiyun			};
135*4882a593Smuzhiyun			/* Unmuxed GPIOs */
136*4882a593Smuzhiyun			pctl_gpio_b: pctl-gpio-b {
137*4882a593Smuzhiyun				abilis,function = "gpiob";
138*4882a593Smuzhiyun			};
139*4882a593Smuzhiyun			pctl_gpio_d: pctl-gpio-d {
140*4882a593Smuzhiyun				abilis,function = "gpiod";
141*4882a593Smuzhiyun			};
142*4882a593Smuzhiyun			pctl_gpio_f: pctl-gpio-f {
143*4882a593Smuzhiyun				abilis,function = "gpiof";
144*4882a593Smuzhiyun			};
145*4882a593Smuzhiyun			pctl_gpio_h: pctl-gpio-h {
146*4882a593Smuzhiyun				abilis,function = "gpioh";
147*4882a593Smuzhiyun			};
148*4882a593Smuzhiyun			pctl_gpio_i: pctl-gpio-i {
149*4882a593Smuzhiyun				abilis,function = "gpioi";
150*4882a593Smuzhiyun			};
151*4882a593Smuzhiyun		};
152*4882a593Smuzhiyun
153*4882a593Smuzhiyun		gpioa: gpio@ff140000 {
154*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
155*4882a593Smuzhiyun			interrupt-controller;
156*4882a593Smuzhiyun			#interrupt-cells = <1>;
157*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
158*4882a593Smuzhiyun			interrupts = <27 2>;
159*4882a593Smuzhiyun			reg = <0xff140000 0x1000>;
160*4882a593Smuzhiyun			gpio-controller;
161*4882a593Smuzhiyun			#gpio-cells = <2>;
162*4882a593Smuzhiyun			abilis,ngpio = <3>;
163*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
164*4882a593Smuzhiyun			gpio-ranges-group-names = "gpioa";
165*4882a593Smuzhiyun		};
166*4882a593Smuzhiyun		gpiob: gpio@ff141000 {
167*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
168*4882a593Smuzhiyun			interrupt-controller;
169*4882a593Smuzhiyun			#interrupt-cells = <1>;
170*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
171*4882a593Smuzhiyun			interrupts = <27 2>;
172*4882a593Smuzhiyun			reg = <0xff141000 0x1000>;
173*4882a593Smuzhiyun			gpio-controller;
174*4882a593Smuzhiyun			#gpio-cells = <2>;
175*4882a593Smuzhiyun			abilis,ngpio = <2>;
176*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
177*4882a593Smuzhiyun			gpio-ranges-group-names = "gpiob";
178*4882a593Smuzhiyun		};
179*4882a593Smuzhiyun		gpioc: gpio@ff142000 {
180*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
181*4882a593Smuzhiyun			interrupt-controller;
182*4882a593Smuzhiyun			#interrupt-cells = <1>;
183*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
184*4882a593Smuzhiyun			interrupts = <27 2>;
185*4882a593Smuzhiyun			reg = <0xff142000 0x1000>;
186*4882a593Smuzhiyun			gpio-controller;
187*4882a593Smuzhiyun			#gpio-cells = <2>;
188*4882a593Smuzhiyun			abilis,ngpio = <3>;
189*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
190*4882a593Smuzhiyun			gpio-ranges-group-names = "gpioc";
191*4882a593Smuzhiyun		};
192*4882a593Smuzhiyun		gpiod: gpio@ff143000 {
193*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
194*4882a593Smuzhiyun			interrupt-controller;
195*4882a593Smuzhiyun			#interrupt-cells = <1>;
196*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
197*4882a593Smuzhiyun			interrupts = <27 2>;
198*4882a593Smuzhiyun			reg = <0xff143000 0x1000>;
199*4882a593Smuzhiyun			gpio-controller;
200*4882a593Smuzhiyun			#gpio-cells = <2>;
201*4882a593Smuzhiyun			abilis,ngpio = <2>;
202*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
203*4882a593Smuzhiyun			gpio-ranges-group-names = "gpiod";
204*4882a593Smuzhiyun		};
205*4882a593Smuzhiyun		gpioe: gpio@ff144000 {
206*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
207*4882a593Smuzhiyun			interrupt-controller;
208*4882a593Smuzhiyun			#interrupt-cells = <1>;
209*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
210*4882a593Smuzhiyun			interrupts = <27 2>;
211*4882a593Smuzhiyun			reg = <0xff144000 0x1000>;
212*4882a593Smuzhiyun			gpio-controller;
213*4882a593Smuzhiyun			#gpio-cells = <2>;
214*4882a593Smuzhiyun			abilis,ngpio = <3>;
215*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
216*4882a593Smuzhiyun			gpio-ranges-group-names = "gpioe";
217*4882a593Smuzhiyun		};
218*4882a593Smuzhiyun		gpiof: gpio@ff145000 {
219*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
220*4882a593Smuzhiyun			interrupt-controller;
221*4882a593Smuzhiyun			#interrupt-cells = <1>;
222*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
223*4882a593Smuzhiyun			interrupts = <27 2>;
224*4882a593Smuzhiyun			reg = <0xff145000 0x1000>;
225*4882a593Smuzhiyun			gpio-controller;
226*4882a593Smuzhiyun			#gpio-cells = <2>;
227*4882a593Smuzhiyun			abilis,ngpio = <2>;
228*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
229*4882a593Smuzhiyun			gpio-ranges-group-names = "gpiof";
230*4882a593Smuzhiyun		};
231*4882a593Smuzhiyun		gpiog: gpio@ff146000 {
232*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
233*4882a593Smuzhiyun			interrupt-controller;
234*4882a593Smuzhiyun			#interrupt-cells = <1>;
235*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
236*4882a593Smuzhiyun			interrupts = <27 2>;
237*4882a593Smuzhiyun			reg = <0xff146000 0x1000>;
238*4882a593Smuzhiyun			gpio-controller;
239*4882a593Smuzhiyun			#gpio-cells = <2>;
240*4882a593Smuzhiyun			abilis,ngpio = <3>;
241*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
242*4882a593Smuzhiyun			gpio-ranges-group-names = "gpiog";
243*4882a593Smuzhiyun		};
244*4882a593Smuzhiyun		gpioh: gpio@ff147000 {
245*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
246*4882a593Smuzhiyun			interrupt-controller;
247*4882a593Smuzhiyun			#interrupt-cells = <1>;
248*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
249*4882a593Smuzhiyun			interrupts = <27 2>;
250*4882a593Smuzhiyun			reg = <0xff147000 0x1000>;
251*4882a593Smuzhiyun			gpio-controller;
252*4882a593Smuzhiyun			#gpio-cells = <2>;
253*4882a593Smuzhiyun			abilis,ngpio = <2>;
254*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
255*4882a593Smuzhiyun			gpio-ranges-group-names = "gpioh";
256*4882a593Smuzhiyun		};
257*4882a593Smuzhiyun		gpioi: gpio@ff148000 {
258*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
259*4882a593Smuzhiyun			interrupt-controller;
260*4882a593Smuzhiyun			#interrupt-cells = <1>;
261*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
262*4882a593Smuzhiyun			interrupts = <27 2>;
263*4882a593Smuzhiyun			reg = <0xff148000 0x1000>;
264*4882a593Smuzhiyun			gpio-controller;
265*4882a593Smuzhiyun			#gpio-cells = <2>;
266*4882a593Smuzhiyun			abilis,ngpio = <12>;
267*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
268*4882a593Smuzhiyun			gpio-ranges-group-names = "gpioi";
269*4882a593Smuzhiyun		};
270*4882a593Smuzhiyun		gpioj: gpio@ff149000 {
271*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
272*4882a593Smuzhiyun			interrupt-controller;
273*4882a593Smuzhiyun			#interrupt-cells = <1>;
274*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
275*4882a593Smuzhiyun			interrupts = <27 2>;
276*4882a593Smuzhiyun			reg = <0xff149000 0x1000>;
277*4882a593Smuzhiyun			gpio-controller;
278*4882a593Smuzhiyun			#gpio-cells = <2>;
279*4882a593Smuzhiyun			abilis,ngpio = <32>;
280*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
281*4882a593Smuzhiyun			gpio-ranges-group-names = "gpioj";
282*4882a593Smuzhiyun		};
283*4882a593Smuzhiyun		gpiok: gpio@ff14a000 {
284*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
285*4882a593Smuzhiyun			interrupt-controller;
286*4882a593Smuzhiyun			#interrupt-cells = <1>;
287*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
288*4882a593Smuzhiyun			interrupts = <27 2>;
289*4882a593Smuzhiyun			reg = <0xff14a000 0x1000>;
290*4882a593Smuzhiyun			gpio-controller;
291*4882a593Smuzhiyun			#gpio-cells = <2>;
292*4882a593Smuzhiyun			abilis,ngpio = <22>;
293*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
294*4882a593Smuzhiyun			gpio-ranges-group-names = "gpiok";
295*4882a593Smuzhiyun		};
296*4882a593Smuzhiyun		gpiol: gpio@ff14b000 {
297*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
298*4882a593Smuzhiyun			interrupt-controller;
299*4882a593Smuzhiyun			#interrupt-cells = <1>;
300*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
301*4882a593Smuzhiyun			interrupts = <27 2>;
302*4882a593Smuzhiyun			reg = <0xff14b000 0x1000>;
303*4882a593Smuzhiyun			gpio-controller;
304*4882a593Smuzhiyun			#gpio-cells = <2>;
305*4882a593Smuzhiyun			abilis,ngpio = <4>;
306*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
307*4882a593Smuzhiyun			gpio-ranges-group-names = "gpiol";
308*4882a593Smuzhiyun		};
309*4882a593Smuzhiyun		gpiom: gpio@ff14c000 {
310*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
311*4882a593Smuzhiyun			interrupt-controller;
312*4882a593Smuzhiyun			#interrupt-cells = <1>;
313*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
314*4882a593Smuzhiyun			interrupts = <27 2>;
315*4882a593Smuzhiyun			reg = <0xff14c000 0x1000>;
316*4882a593Smuzhiyun			gpio-controller;
317*4882a593Smuzhiyun			#gpio-cells = <2>;
318*4882a593Smuzhiyun			abilis,ngpio = <4>;
319*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
320*4882a593Smuzhiyun			gpio-ranges-group-names = "gpiom";
321*4882a593Smuzhiyun		};
322*4882a593Smuzhiyun		gpion: gpio@ff14d000 {
323*4882a593Smuzhiyun			compatible = "abilis,tb10x-gpio";
324*4882a593Smuzhiyun			interrupt-controller;
325*4882a593Smuzhiyun			#interrupt-cells = <1>;
326*4882a593Smuzhiyun			interrupt-parent = <&tb10x_ictl>;
327*4882a593Smuzhiyun			interrupts = <27 2>;
328*4882a593Smuzhiyun			reg = <0xff14d000 0x1000>;
329*4882a593Smuzhiyun			gpio-controller;
330*4882a593Smuzhiyun			#gpio-cells = <2>;
331*4882a593Smuzhiyun			abilis,ngpio = <5>;
332*4882a593Smuzhiyun			gpio-ranges = <&iomux 0 0 0>;
333*4882a593Smuzhiyun			gpio-ranges-group-names = "gpion";
334*4882a593Smuzhiyun		};
335*4882a593Smuzhiyun	};
336*4882a593Smuzhiyun};
337