xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/axm55xx.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-or-later
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * arch/arm/boot/dts/axm55xx.dtsi
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright (C) 2013 LSI
6*4882a593Smuzhiyun */
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h>
9*4882a593Smuzhiyun#include <dt-bindings/clock/lsi,axm5516-clks.h>
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun/ {
12*4882a593Smuzhiyun	#address-cells = <2>;
13*4882a593Smuzhiyun	#size-cells = <2>;
14*4882a593Smuzhiyun	interrupt-parent = <&gic>;
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun	aliases {
17*4882a593Smuzhiyun		serial0	  = &serial0;
18*4882a593Smuzhiyun		serial1   = &serial1;
19*4882a593Smuzhiyun		serial2	  = &serial2;
20*4882a593Smuzhiyun		serial3	  = &serial3;
21*4882a593Smuzhiyun		timer	  = &timer0;
22*4882a593Smuzhiyun	};
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun	clocks {
25*4882a593Smuzhiyun		compatible = "simple-bus";
26*4882a593Smuzhiyun		#address-cells = <2>;
27*4882a593Smuzhiyun		#size-cells = <2>;
28*4882a593Smuzhiyun		ranges;
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun		clk_ref0: clk_ref0 {
31*4882a593Smuzhiyun			compatible = "fixed-clock";
32*4882a593Smuzhiyun			#clock-cells = <0>;
33*4882a593Smuzhiyun			clock-frequency = <125000000>;
34*4882a593Smuzhiyun		};
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun		clk_ref1: clk_ref1 {
37*4882a593Smuzhiyun			compatible = "fixed-clock";
38*4882a593Smuzhiyun			#clock-cells = <0>;
39*4882a593Smuzhiyun			clock-frequency = <125000000>;
40*4882a593Smuzhiyun		};
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun		clk_ref2: clk_ref2 {
43*4882a593Smuzhiyun			compatible = "fixed-clock";
44*4882a593Smuzhiyun			#clock-cells = <0>;
45*4882a593Smuzhiyun			clock-frequency = <125000000>;
46*4882a593Smuzhiyun		};
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun		clks: clock-controller@2010020000 {
49*4882a593Smuzhiyun			compatible = "lsi,axm5516-clks";
50*4882a593Smuzhiyun			#clock-cells = <1>;
51*4882a593Smuzhiyun			reg = <0x20 0x10020000 0 0x20000>;
52*4882a593Smuzhiyun		};
53*4882a593Smuzhiyun	};
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun	gic: interrupt-controller@2001001000 {
56*4882a593Smuzhiyun		compatible = "arm,cortex-a15-gic";
57*4882a593Smuzhiyun		#interrupt-cells = <3>;
58*4882a593Smuzhiyun		#address-cells = <0>;
59*4882a593Smuzhiyun		interrupt-controller;
60*4882a593Smuzhiyun		reg = <0x20 0x01001000 0 0x1000>,
61*4882a593Smuzhiyun		      <0x20 0x01002000 0 0x2000>,
62*4882a593Smuzhiyun		      <0x20 0x01004000 0 0x2000>,
63*4882a593Smuzhiyun		      <0x20 0x01006000 0 0x2000>;
64*4882a593Smuzhiyun		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) |
65*4882a593Smuzhiyun				IRQ_TYPE_LEVEL_HIGH)>;
66*4882a593Smuzhiyun	};
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun	timer {
69*4882a593Smuzhiyun		compatible = "arm,armv7-timer";
70*4882a593Smuzhiyun		interrupts =
71*4882a593Smuzhiyun			<GIC_PPI 13
72*4882a593Smuzhiyun				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
73*4882a593Smuzhiyun			<GIC_PPI 14
74*4882a593Smuzhiyun				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
75*4882a593Smuzhiyun			<GIC_PPI 11
76*4882a593Smuzhiyun				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
77*4882a593Smuzhiyun			<GIC_PPI 10
78*4882a593Smuzhiyun				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
79*4882a593Smuzhiyun	};
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun	pmu {
83*4882a593Smuzhiyun		compatible = "arm,cortex-a15-pmu";
84*4882a593Smuzhiyun		interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
85*4882a593Smuzhiyun	};
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun	soc {
88*4882a593Smuzhiyun		compatible = "simple-bus";
89*4882a593Smuzhiyun		device_type = "soc";
90*4882a593Smuzhiyun		#address-cells = <2>;
91*4882a593Smuzhiyun		#size-cells = <2>;
92*4882a593Smuzhiyun		interrupt-parent = <&gic>;
93*4882a593Smuzhiyun		ranges;
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun		syscon: syscon@2010030000 {
96*4882a593Smuzhiyun			compatible = "lsi,axxia-syscon", "syscon";
97*4882a593Smuzhiyun			reg = <0x20 0x10030000 0 0x2000>;
98*4882a593Smuzhiyun		};
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun		reset: reset@2010031000 {
101*4882a593Smuzhiyun			compatible = "lsi,axm55xx-reset";
102*4882a593Smuzhiyun			syscon = <&syscon>;
103*4882a593Smuzhiyun		};
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun		amba {
106*4882a593Smuzhiyun			compatible = "simple-bus";
107*4882a593Smuzhiyun			#address-cells = <2>;
108*4882a593Smuzhiyun			#size-cells = <2>;
109*4882a593Smuzhiyun			ranges;
110*4882a593Smuzhiyun
111*4882a593Smuzhiyun			serial0: uart@2010080000 {
112*4882a593Smuzhiyun				compatible = "arm,pl011", "arm,primecell";
113*4882a593Smuzhiyun				reg = <0x20 0x10080000 0 0x1000>;
114*4882a593Smuzhiyun				interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
115*4882a593Smuzhiyun				clocks = <&clks AXXIA_CLK_PER>;
116*4882a593Smuzhiyun				clock-names = "apb_pclk";
117*4882a593Smuzhiyun				status = "disabled";
118*4882a593Smuzhiyun			};
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun			serial1: uart@2010081000 {
121*4882a593Smuzhiyun				compatible = "arm,pl011", "arm,primecell";
122*4882a593Smuzhiyun				reg = <0x20 0x10081000 0 0x1000>;
123*4882a593Smuzhiyun				interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
124*4882a593Smuzhiyun				clocks = <&clks AXXIA_CLK_PER>;
125*4882a593Smuzhiyun				clock-names = "apb_pclk";
126*4882a593Smuzhiyun				status = "disabled";
127*4882a593Smuzhiyun			};
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun			serial2: uart@2010082000 {
130*4882a593Smuzhiyun				compatible = "arm,pl011", "arm,primecell";
131*4882a593Smuzhiyun				reg = <0x20 0x10082000 0 0x1000>;
132*4882a593Smuzhiyun				interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
133*4882a593Smuzhiyun				clocks = <&clks AXXIA_CLK_PER>;
134*4882a593Smuzhiyun				clock-names = "apb_pclk";
135*4882a593Smuzhiyun				status = "disabled";
136*4882a593Smuzhiyun			};
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun			serial3: uart@2010083000 {
139*4882a593Smuzhiyun				compatible = "arm,pl011", "arm,primecell";
140*4882a593Smuzhiyun				reg = <0x20 0x10083000 0 0x1000>;
141*4882a593Smuzhiyun				interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
142*4882a593Smuzhiyun				clocks = <&clks AXXIA_CLK_PER>;
143*4882a593Smuzhiyun				clock-names = "apb_pclk";
144*4882a593Smuzhiyun				status = "disabled";
145*4882a593Smuzhiyun			};
146*4882a593Smuzhiyun
147*4882a593Smuzhiyun			timer0: timer@2010091000 {
148*4882a593Smuzhiyun				compatible = "arm,sp804", "arm,primecell";
149*4882a593Smuzhiyun				reg = <0x20 0x10091000 0 0x1000>;
150*4882a593Smuzhiyun				interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
151*4882a593Smuzhiyun					     <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
152*4882a593Smuzhiyun					     <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
153*4882a593Smuzhiyun					     <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
154*4882a593Smuzhiyun					     <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
155*4882a593Smuzhiyun					     <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
156*4882a593Smuzhiyun					     <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
157*4882a593Smuzhiyun					     <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
158*4882a593Smuzhiyun					     <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
159*4882a593Smuzhiyun				clocks = <&clks AXXIA_CLK_PER>;
160*4882a593Smuzhiyun				clock-names = "apb_pclk";
161*4882a593Smuzhiyun				status = "okay";
162*4882a593Smuzhiyun			};
163*4882a593Smuzhiyun
164*4882a593Smuzhiyun			gpio0: gpio@2010092000 {
165*4882a593Smuzhiyun				#gpio-cells = <2>;
166*4882a593Smuzhiyun				compatible = "arm,pl061", "arm,primecell";
167*4882a593Smuzhiyun				gpio-controller;
168*4882a593Smuzhiyun				reg = <0x20 0x10092000 0x00 0x1000>;
169*4882a593Smuzhiyun				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
170*4882a593Smuzhiyun					     <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
171*4882a593Smuzhiyun					     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
172*4882a593Smuzhiyun					     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
173*4882a593Smuzhiyun					     <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
174*4882a593Smuzhiyun					     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
175*4882a593Smuzhiyun					     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
176*4882a593Smuzhiyun					     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
177*4882a593Smuzhiyun				clocks = <&clks AXXIA_CLK_PER>;
178*4882a593Smuzhiyun				clock-names = "apb_pclk";
179*4882a593Smuzhiyun				status = "disabled";
180*4882a593Smuzhiyun			};
181*4882a593Smuzhiyun
182*4882a593Smuzhiyun			gpio1: gpio@2010093000 {
183*4882a593Smuzhiyun				#gpio-cells = <2>;
184*4882a593Smuzhiyun				compatible = "arm,pl061", "arm,primecell";
185*4882a593Smuzhiyun				gpio-controller;
186*4882a593Smuzhiyun				reg = <0x20 0x10093000 0x00 0x1000>;
187*4882a593Smuzhiyun				interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
188*4882a593Smuzhiyun				clocks = <&clks AXXIA_CLK_PER>;
189*4882a593Smuzhiyun				clock-names = "apb_pclk";
190*4882a593Smuzhiyun				status = "disabled";
191*4882a593Smuzhiyun			};
192*4882a593Smuzhiyun		};
193*4882a593Smuzhiyun	};
194*4882a593Smuzhiyun};
195*4882a593Smuzhiyun
196*4882a593Smuzhiyun/*
197*4882a593Smuzhiyun  Local Variables:
198*4882a593Smuzhiyun  mode: C
199*4882a593Smuzhiyun  End:
200*4882a593Smuzhiyun*/
201