xref: /freebsd/sys/contrib/device-tree/src/arm/marvell/pxa168.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,pxa168.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		axi@d4200000 {	/* AXI */
29*f126890aSEmmanuel Vadot			compatible = "mrvl,axi-bus", "simple-bus";
30*f126890aSEmmanuel Vadot			#address-cells = <1>;
31*f126890aSEmmanuel Vadot			#size-cells = <1>;
32*f126890aSEmmanuel Vadot			reg = <0xd4200000 0x00200000>;
33*f126890aSEmmanuel Vadot			ranges;
34*f126890aSEmmanuel Vadot
35*f126890aSEmmanuel Vadot			intc: interrupt-controller@d4282000 {
36*f126890aSEmmanuel Vadot				compatible = "mrvl,mmp-intc";
37*f126890aSEmmanuel Vadot				interrupt-controller;
38*f126890aSEmmanuel Vadot				#interrupt-cells = <1>;
39*f126890aSEmmanuel Vadot				reg = <0xd4282000 0x1000>;
40*f126890aSEmmanuel Vadot				mrvl,intc-nr-irqs = <64>;
41*f126890aSEmmanuel Vadot			};
42*f126890aSEmmanuel Vadot
43*f126890aSEmmanuel Vadot		};
44*f126890aSEmmanuel Vadot
45*f126890aSEmmanuel Vadot		apb@d4000000 {	/* APB */
46*f126890aSEmmanuel Vadot			compatible = "mrvl,apb-bus", "simple-bus";
47*f126890aSEmmanuel Vadot			#address-cells = <1>;
48*f126890aSEmmanuel Vadot			#size-cells = <1>;
49*f126890aSEmmanuel Vadot			reg = <0xd4000000 0x00200000>;
50*f126890aSEmmanuel Vadot			ranges;
51*f126890aSEmmanuel Vadot
52*f126890aSEmmanuel Vadot			timer0: timer@d4014000 {
53*f126890aSEmmanuel Vadot				compatible = "mrvl,mmp-timer";
54*f126890aSEmmanuel Vadot				reg = <0xd4014000 0x100>;
55*f126890aSEmmanuel Vadot				interrupts = <13>;
56*f126890aSEmmanuel Vadot				clocks = <&soc_clocks PXA168_CLK_TIMER>;
57*f126890aSEmmanuel Vadot				resets = <&soc_clocks PXA168_CLK_TIMER>;
58*f126890aSEmmanuel Vadot			};
59*f126890aSEmmanuel Vadot
60*f126890aSEmmanuel Vadot			uart1: serial@d4017000 {
61*f126890aSEmmanuel Vadot				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
62*f126890aSEmmanuel Vadot				reg = <0xd4017000 0x1000>;
63*f126890aSEmmanuel Vadot				reg-shift = <2>;
64*f126890aSEmmanuel Vadot				interrupts = <27>;
65*f126890aSEmmanuel Vadot				clocks = <&soc_clocks PXA168_CLK_UART0>;
66*f126890aSEmmanuel Vadot				resets = <&soc_clocks PXA168_CLK_UART0>;
67*f126890aSEmmanuel Vadot				status = "disabled";
68*f126890aSEmmanuel Vadot			};
69*f126890aSEmmanuel Vadot
70*f126890aSEmmanuel Vadot			uart2: serial@d4018000 {
71*f126890aSEmmanuel Vadot				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
72*f126890aSEmmanuel Vadot				reg = <0xd4018000 0x1000>;
73*f126890aSEmmanuel Vadot				reg-shift = <2>;
74*f126890aSEmmanuel Vadot				interrupts = <28>;
75*f126890aSEmmanuel Vadot				clocks = <&soc_clocks PXA168_CLK_UART1>;
76*f126890aSEmmanuel Vadot				resets = <&soc_clocks PXA168_CLK_UART1>;
77*f126890aSEmmanuel Vadot				status = "disabled";
78*f126890aSEmmanuel Vadot			};
79*f126890aSEmmanuel Vadot
80*f126890aSEmmanuel Vadot			uart3: serial@d4026000 {
81*f126890aSEmmanuel Vadot				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
82*f126890aSEmmanuel Vadot				reg = <0xd4026000 0x1000>;
83*f126890aSEmmanuel Vadot				reg-shift = <2>;
84*f126890aSEmmanuel Vadot				interrupts = <29>;
85*f126890aSEmmanuel Vadot				clocks = <&soc_clocks PXA168_CLK_UART2>;
86*f126890aSEmmanuel Vadot				resets = <&soc_clocks PXA168_CLK_UART2>;
87*f126890aSEmmanuel Vadot				status = "disabled";
88*f126890aSEmmanuel Vadot			};
89*f126890aSEmmanuel Vadot
90*f126890aSEmmanuel Vadot			gpio@d4019000 {
91*f126890aSEmmanuel Vadot				compatible = "marvell,mmp-gpio";
92*f126890aSEmmanuel Vadot				#address-cells = <1>;
93*f126890aSEmmanuel Vadot				#size-cells = <1>;
94*f126890aSEmmanuel Vadot				reg = <0xd4019000 0x1000>;
95*f126890aSEmmanuel Vadot				gpio-controller;
96*f126890aSEmmanuel Vadot				#gpio-cells = <2>;
97*f126890aSEmmanuel Vadot				interrupts = <49>;
98*f126890aSEmmanuel Vadot				clocks = <&soc_clocks PXA168_CLK_GPIO>;
99*f126890aSEmmanuel Vadot				resets = <&soc_clocks PXA168_CLK_GPIO>;
100*f126890aSEmmanuel Vadot				interrupt-names = "gpio_mux";
101*f126890aSEmmanuel Vadot				interrupt-controller;
102*f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
103*f126890aSEmmanuel Vadot				ranges;
104*f126890aSEmmanuel Vadot
105*f126890aSEmmanuel Vadot				gcb0: gpio@d4019000 {
106*f126890aSEmmanuel Vadot					reg = <0xd4019000 0x4>;
107*f126890aSEmmanuel Vadot				};
108*f126890aSEmmanuel Vadot
109*f126890aSEmmanuel Vadot				gcb1: gpio@d4019004 {
110*f126890aSEmmanuel Vadot					reg = <0xd4019004 0x4>;
111*f126890aSEmmanuel Vadot				};
112*f126890aSEmmanuel Vadot
113*f126890aSEmmanuel Vadot				gcb2: gpio@d4019008 {
114*f126890aSEmmanuel Vadot					reg = <0xd4019008 0x4>;
115*f126890aSEmmanuel Vadot				};
116*f126890aSEmmanuel Vadot
117*f126890aSEmmanuel Vadot				gcb3: gpio@d4019100 {
118*f126890aSEmmanuel Vadot					reg = <0xd4019100 0x4>;
119*f126890aSEmmanuel Vadot				};
120*f126890aSEmmanuel Vadot			};
121*f126890aSEmmanuel Vadot
122*f126890aSEmmanuel Vadot			twsi1: i2c@d4011000 {
123*f126890aSEmmanuel Vadot				compatible = "mrvl,mmp-twsi";
124*f126890aSEmmanuel Vadot				#address-cells = <1>;
125*f126890aSEmmanuel Vadot				#size-cells = <0>;
126*f126890aSEmmanuel Vadot				reg = <0xd4011000 0x1000>;
127*f126890aSEmmanuel Vadot				interrupts = <7>;
128*f126890aSEmmanuel Vadot				clocks = <&soc_clocks PXA168_CLK_TWSI0>;
129*f126890aSEmmanuel Vadot				resets = <&soc_clocks PXA168_CLK_TWSI0>;
130*f126890aSEmmanuel Vadot				mrvl,i2c-fast-mode;
131*f126890aSEmmanuel Vadot				status = "disabled";
132*f126890aSEmmanuel Vadot			};
133*f126890aSEmmanuel Vadot
134*f126890aSEmmanuel Vadot			twsi2: i2c@d4025000 {
135*f126890aSEmmanuel Vadot				compatible = "mrvl,mmp-twsi";
136*f126890aSEmmanuel Vadot				#address-cells = <1>;
137*f126890aSEmmanuel Vadot				#size-cells = <0>;
138*f126890aSEmmanuel Vadot				reg = <0xd4025000 0x1000>;
139*f126890aSEmmanuel Vadot				interrupts = <58>;
140*f126890aSEmmanuel Vadot				clocks = <&soc_clocks PXA168_CLK_TWSI1>;
141*f126890aSEmmanuel Vadot				resets = <&soc_clocks PXA168_CLK_TWSI1>;
142*f126890aSEmmanuel Vadot				status = "disabled";
143*f126890aSEmmanuel Vadot			};
144*f126890aSEmmanuel Vadot
145*f126890aSEmmanuel Vadot			rtc: rtc@d4010000 {
146*f126890aSEmmanuel Vadot				compatible = "mrvl,mmp-rtc";
147*f126890aSEmmanuel Vadot				reg = <0xd4010000 0x1000>;
148*f126890aSEmmanuel Vadot				interrupts = <5>, <6>;
149*f126890aSEmmanuel Vadot				interrupt-names = "rtc 1Hz", "rtc alarm";
150*f126890aSEmmanuel Vadot				clocks = <&soc_clocks PXA168_CLK_RTC>;
151*f126890aSEmmanuel Vadot				resets = <&soc_clocks PXA168_CLK_RTC>;
152*f126890aSEmmanuel Vadot				status = "disabled";
153*f126890aSEmmanuel Vadot			};
154*f126890aSEmmanuel Vadot		};
155*f126890aSEmmanuel Vadot
156*f126890aSEmmanuel Vadot		soc_clocks: clocks {
157*f126890aSEmmanuel Vadot			compatible = "marvell,pxa168-clock";
158*f126890aSEmmanuel Vadot			reg = <0xd4050000 0x1000>,
159*f126890aSEmmanuel Vadot			      <0xd4282800 0x400>,
160*f126890aSEmmanuel Vadot			      <0xd4015000 0x1000>;
161*f126890aSEmmanuel Vadot			reg-names = "mpmu", "apmu", "apbc";
162*f126890aSEmmanuel Vadot			#clock-cells = <1>;
163*f126890aSEmmanuel Vadot			#reset-cells = <1>;
164*f126890aSEmmanuel Vadot		};
165*f126890aSEmmanuel Vadot	};
166*f126890aSEmmanuel Vadot};
167