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