xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/pxa910.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun *  Copyright (C) 2012 Marvell Technology Group Ltd.
4*4882a593Smuzhiyun *  Author: Haojian Zhuang <haojian.zhuang@marvell.com>
5*4882a593Smuzhiyun */
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun#include <dt-bindings/clock/marvell,pxa910.h>
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun/ {
10*4882a593Smuzhiyun	#address-cells = <1>;
11*4882a593Smuzhiyun	#size-cells = <1>;
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun	aliases {
14*4882a593Smuzhiyun		serial0 = &uart1;
15*4882a593Smuzhiyun		serial1 = &uart2;
16*4882a593Smuzhiyun		serial2 = &uart3;
17*4882a593Smuzhiyun		i2c0 = &twsi1;
18*4882a593Smuzhiyun		i2c1 = &twsi2;
19*4882a593Smuzhiyun	};
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun	soc {
22*4882a593Smuzhiyun		#address-cells = <1>;
23*4882a593Smuzhiyun		#size-cells = <1>;
24*4882a593Smuzhiyun		compatible = "simple-bus";
25*4882a593Smuzhiyun		interrupt-parent = <&intc>;
26*4882a593Smuzhiyun		ranges;
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun		L2: l2-cache {
29*4882a593Smuzhiyun			compatible = "marvell,tauros2-cache";
30*4882a593Smuzhiyun			marvell,tauros2-cache-features = <0x3>;
31*4882a593Smuzhiyun		};
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun		axi@d4200000 {	/* AXI */
34*4882a593Smuzhiyun			compatible = "mrvl,axi-bus", "simple-bus";
35*4882a593Smuzhiyun			#address-cells = <1>;
36*4882a593Smuzhiyun			#size-cells = <1>;
37*4882a593Smuzhiyun			reg = <0xd4200000 0x00200000>;
38*4882a593Smuzhiyun			ranges;
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun			intc: interrupt-controller@d4282000 {
41*4882a593Smuzhiyun				compatible = "mrvl,mmp-intc";
42*4882a593Smuzhiyun				interrupt-controller;
43*4882a593Smuzhiyun				#interrupt-cells = <1>;
44*4882a593Smuzhiyun				reg = <0xd4282000 0x1000>;
45*4882a593Smuzhiyun				mrvl,intc-nr-irqs = <64>;
46*4882a593Smuzhiyun			};
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun		};
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun		apb@d4000000 {	/* APB */
51*4882a593Smuzhiyun			compatible = "mrvl,apb-bus", "simple-bus";
52*4882a593Smuzhiyun			#address-cells = <1>;
53*4882a593Smuzhiyun			#size-cells = <1>;
54*4882a593Smuzhiyun			reg = <0xd4000000 0x00200000>;
55*4882a593Smuzhiyun			ranges;
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun			timer0: timer@d4014000 {
58*4882a593Smuzhiyun				compatible = "mrvl,mmp-timer";
59*4882a593Smuzhiyun				reg = <0xd4014000 0x100>;
60*4882a593Smuzhiyun				interrupts = <13>;
61*4882a593Smuzhiyun			};
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun			timer1: timer@d4016000 {
64*4882a593Smuzhiyun				compatible = "mrvl,mmp-timer";
65*4882a593Smuzhiyun				reg = <0xd4016000 0x100>;
66*4882a593Smuzhiyun				interrupts = <29>;
67*4882a593Smuzhiyun				status = "disabled";
68*4882a593Smuzhiyun			};
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun			uart1: serial@d4017000 {
71*4882a593Smuzhiyun				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
72*4882a593Smuzhiyun				reg = <0xd4017000 0x1000>;
73*4882a593Smuzhiyun				reg-shift = <2>;
74*4882a593Smuzhiyun				interrupts = <27>;
75*4882a593Smuzhiyun				clocks = <&soc_clocks PXA910_CLK_UART0>;
76*4882a593Smuzhiyun				resets = <&soc_clocks PXA910_CLK_UART0>;
77*4882a593Smuzhiyun				status = "disabled";
78*4882a593Smuzhiyun			};
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun			uart2: serial@d4018000 {
81*4882a593Smuzhiyun				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
82*4882a593Smuzhiyun				reg = <0xd4018000 0x1000>;
83*4882a593Smuzhiyun				reg-shift = <2>;
84*4882a593Smuzhiyun				interrupts = <28>;
85*4882a593Smuzhiyun				clocks = <&soc_clocks PXA910_CLK_UART1>;
86*4882a593Smuzhiyun				resets = <&soc_clocks PXA910_CLK_UART1>;
87*4882a593Smuzhiyun				status = "disabled";
88*4882a593Smuzhiyun			};
89*4882a593Smuzhiyun
90*4882a593Smuzhiyun			uart3: serial@d4036000 {
91*4882a593Smuzhiyun				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
92*4882a593Smuzhiyun				reg = <0xd4036000 0x1000>;
93*4882a593Smuzhiyun				reg-shift = <2>;
94*4882a593Smuzhiyun				interrupts = <59>;
95*4882a593Smuzhiyun				clocks = <&soc_clocks PXA910_CLK_UART2>;
96*4882a593Smuzhiyun				resets = <&soc_clocks PXA910_CLK_UART2>;
97*4882a593Smuzhiyun				status = "disabled";
98*4882a593Smuzhiyun			};
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun			gpio@d4019000 {
101*4882a593Smuzhiyun				compatible = "marvell,mmp-gpio";
102*4882a593Smuzhiyun				#address-cells = <1>;
103*4882a593Smuzhiyun				#size-cells = <1>;
104*4882a593Smuzhiyun				reg = <0xd4019000 0x1000>;
105*4882a593Smuzhiyun				gpio-controller;
106*4882a593Smuzhiyun				#gpio-cells = <2>;
107*4882a593Smuzhiyun				interrupts = <49>;
108*4882a593Smuzhiyun				interrupt-names = "gpio_mux";
109*4882a593Smuzhiyun				clocks = <&soc_clocks PXA910_CLK_GPIO>;
110*4882a593Smuzhiyun				resets = <&soc_clocks PXA910_CLK_GPIO>;
111*4882a593Smuzhiyun				interrupt-controller;
112*4882a593Smuzhiyun				#interrupt-cells = <2>;
113*4882a593Smuzhiyun				ranges;
114*4882a593Smuzhiyun
115*4882a593Smuzhiyun				gcb0: gpio@d4019000 {
116*4882a593Smuzhiyun					reg = <0xd4019000 0x4>;
117*4882a593Smuzhiyun				};
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun				gcb1: gpio@d4019004 {
120*4882a593Smuzhiyun					reg = <0xd4019004 0x4>;
121*4882a593Smuzhiyun				};
122*4882a593Smuzhiyun
123*4882a593Smuzhiyun				gcb2: gpio@d4019008 {
124*4882a593Smuzhiyun					reg = <0xd4019008 0x4>;
125*4882a593Smuzhiyun				};
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun				gcb3: gpio@d4019100 {
128*4882a593Smuzhiyun					reg = <0xd4019100 0x4>;
129*4882a593Smuzhiyun				};
130*4882a593Smuzhiyun			};
131*4882a593Smuzhiyun
132*4882a593Smuzhiyun			twsi1: i2c@d4011000 {
133*4882a593Smuzhiyun				compatible = "mrvl,mmp-twsi";
134*4882a593Smuzhiyun				#address-cells = <1>;
135*4882a593Smuzhiyun				#size-cells = <0>;
136*4882a593Smuzhiyun				reg = <0xd4011000 0x1000>;
137*4882a593Smuzhiyun				interrupts = <7>;
138*4882a593Smuzhiyun				clocks = <&soc_clocks PXA910_CLK_TWSI0>;
139*4882a593Smuzhiyun				resets = <&soc_clocks PXA910_CLK_TWSI0>;
140*4882a593Smuzhiyun				mrvl,i2c-fast-mode;
141*4882a593Smuzhiyun				status = "disabled";
142*4882a593Smuzhiyun			};
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun			twsi2: i2c@d4037000 {
145*4882a593Smuzhiyun				compatible = "mrvl,mmp-twsi";
146*4882a593Smuzhiyun				#address-cells = <1>;
147*4882a593Smuzhiyun				#size-cells = <0>;
148*4882a593Smuzhiyun				reg = <0xd4037000 0x1000>;
149*4882a593Smuzhiyun				interrupts = <54>;
150*4882a593Smuzhiyun				clocks = <&soc_clocks PXA910_CLK_TWSI1>;
151*4882a593Smuzhiyun				resets = <&soc_clocks PXA910_CLK_TWSI1>;
152*4882a593Smuzhiyun				status = "disabled";
153*4882a593Smuzhiyun			};
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun			rtc: rtc@d4010000 {
156*4882a593Smuzhiyun				compatible = "mrvl,mmp-rtc";
157*4882a593Smuzhiyun				reg = <0xd4010000 0x1000>;
158*4882a593Smuzhiyun				interrupts = <5>, <6>;
159*4882a593Smuzhiyun				interrupt-names = "rtc 1Hz", "rtc alarm";
160*4882a593Smuzhiyun				clocks = <&soc_clocks PXA910_CLK_RTC>;
161*4882a593Smuzhiyun				resets = <&soc_clocks PXA910_CLK_RTC>;
162*4882a593Smuzhiyun				status = "disabled";
163*4882a593Smuzhiyun			};
164*4882a593Smuzhiyun		};
165*4882a593Smuzhiyun
166*4882a593Smuzhiyun		soc_clocks: clocks{
167*4882a593Smuzhiyun			compatible = "marvell,pxa910-clock";
168*4882a593Smuzhiyun			reg = <0xd4050000 0x1000>,
169*4882a593Smuzhiyun			      <0xd4282800 0x400>,
170*4882a593Smuzhiyun			      <0xd4015000 0x1000>,
171*4882a593Smuzhiyun			      <0xd403b000 0x1000>;
172*4882a593Smuzhiyun			reg-names = "mpmu", "apmu", "apbc", "apbcp";
173*4882a593Smuzhiyun			#clock-cells = <1>;
174*4882a593Smuzhiyun			#reset-cells = <1>;
175*4882a593Smuzhiyun		};
176*4882a593Smuzhiyun	};
177*4882a593Smuzhiyun};
178