xref: /freebsd-src/sys/contrib/device-tree/src/arm/calxeda/highbank.dts (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright 2011-2012 Calxeda, Inc.
4*f126890aSEmmanuel Vadot */
5*f126890aSEmmanuel Vadot
6*f126890aSEmmanuel Vadot/dts-v1/;
7*f126890aSEmmanuel Vadot
8*f126890aSEmmanuel Vadot/* First 4KB has pen for secondary cores. */
9*f126890aSEmmanuel Vadot/memreserve/ 0x00000000 0x0001000;
10*f126890aSEmmanuel Vadot
11*f126890aSEmmanuel Vadot/ {
12*f126890aSEmmanuel Vadot	model = "Calxeda Highbank";
13*f126890aSEmmanuel Vadot	compatible = "calxeda,highbank";
14*f126890aSEmmanuel Vadot	#address-cells = <1>;
15*f126890aSEmmanuel Vadot	#size-cells = <1>;
16*f126890aSEmmanuel Vadot
17*f126890aSEmmanuel Vadot	cpus {
18*f126890aSEmmanuel Vadot		#address-cells = <1>;
19*f126890aSEmmanuel Vadot		#size-cells = <0>;
20*f126890aSEmmanuel Vadot
21*f126890aSEmmanuel Vadot		cpu@900 {
22*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9";
23*f126890aSEmmanuel Vadot			device_type = "cpu";
24*f126890aSEmmanuel Vadot			reg = <0x900>;
25*f126890aSEmmanuel Vadot			next-level-cache = <&L2>;
26*f126890aSEmmanuel Vadot			clocks = <&a9pll>;
27*f126890aSEmmanuel Vadot			clock-names = "cpu";
28*f126890aSEmmanuel Vadot			operating-points = <
29*f126890aSEmmanuel Vadot				/* kHz    ignored */
30*f126890aSEmmanuel Vadot				 1300000  1000000
31*f126890aSEmmanuel Vadot				 1200000  1000000
32*f126890aSEmmanuel Vadot				 1100000  1000000
33*f126890aSEmmanuel Vadot				  800000  1000000
34*f126890aSEmmanuel Vadot				  400000  1000000
35*f126890aSEmmanuel Vadot				  200000  1000000
36*f126890aSEmmanuel Vadot			>;
37*f126890aSEmmanuel Vadot			clock-latency = <100000>;
38*f126890aSEmmanuel Vadot		};
39*f126890aSEmmanuel Vadot
40*f126890aSEmmanuel Vadot		cpu@901 {
41*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9";
42*f126890aSEmmanuel Vadot			device_type = "cpu";
43*f126890aSEmmanuel Vadot			reg = <0x901>;
44*f126890aSEmmanuel Vadot			next-level-cache = <&L2>;
45*f126890aSEmmanuel Vadot			clocks = <&a9pll>;
46*f126890aSEmmanuel Vadot			clock-names = "cpu";
47*f126890aSEmmanuel Vadot			operating-points = <
48*f126890aSEmmanuel Vadot				/* kHz    ignored */
49*f126890aSEmmanuel Vadot				 1300000  1000000
50*f126890aSEmmanuel Vadot				 1200000  1000000
51*f126890aSEmmanuel Vadot				 1100000  1000000
52*f126890aSEmmanuel Vadot				  800000  1000000
53*f126890aSEmmanuel Vadot				  400000  1000000
54*f126890aSEmmanuel Vadot				  200000  1000000
55*f126890aSEmmanuel Vadot			>;
56*f126890aSEmmanuel Vadot			clock-latency = <100000>;
57*f126890aSEmmanuel Vadot		};
58*f126890aSEmmanuel Vadot
59*f126890aSEmmanuel Vadot		cpu@902 {
60*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9";
61*f126890aSEmmanuel Vadot			device_type = "cpu";
62*f126890aSEmmanuel Vadot			reg = <0x902>;
63*f126890aSEmmanuel Vadot			next-level-cache = <&L2>;
64*f126890aSEmmanuel Vadot			clocks = <&a9pll>;
65*f126890aSEmmanuel Vadot			clock-names = "cpu";
66*f126890aSEmmanuel Vadot			operating-points = <
67*f126890aSEmmanuel Vadot				/* kHz    ignored */
68*f126890aSEmmanuel Vadot				 1300000  1000000
69*f126890aSEmmanuel Vadot				 1200000  1000000
70*f126890aSEmmanuel Vadot				 1100000  1000000
71*f126890aSEmmanuel Vadot				  800000  1000000
72*f126890aSEmmanuel Vadot				  400000  1000000
73*f126890aSEmmanuel Vadot				  200000  1000000
74*f126890aSEmmanuel Vadot			>;
75*f126890aSEmmanuel Vadot			clock-latency = <100000>;
76*f126890aSEmmanuel Vadot		};
77*f126890aSEmmanuel Vadot
78*f126890aSEmmanuel Vadot		cpu@903 {
79*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9";
80*f126890aSEmmanuel Vadot			device_type = "cpu";
81*f126890aSEmmanuel Vadot			reg = <0x903>;
82*f126890aSEmmanuel Vadot			next-level-cache = <&L2>;
83*f126890aSEmmanuel Vadot			clocks = <&a9pll>;
84*f126890aSEmmanuel Vadot			clock-names = "cpu";
85*f126890aSEmmanuel Vadot			operating-points = <
86*f126890aSEmmanuel Vadot				/* kHz    ignored */
87*f126890aSEmmanuel Vadot				 1300000  1000000
88*f126890aSEmmanuel Vadot				 1200000  1000000
89*f126890aSEmmanuel Vadot				 1100000  1000000
90*f126890aSEmmanuel Vadot				  800000  1000000
91*f126890aSEmmanuel Vadot				  400000  1000000
92*f126890aSEmmanuel Vadot				  200000  1000000
93*f126890aSEmmanuel Vadot			>;
94*f126890aSEmmanuel Vadot			clock-latency = <100000>;
95*f126890aSEmmanuel Vadot		};
96*f126890aSEmmanuel Vadot	};
97*f126890aSEmmanuel Vadot
98*f126890aSEmmanuel Vadot	memory@0 {
99*f126890aSEmmanuel Vadot		name = "memory";
100*f126890aSEmmanuel Vadot		device_type = "memory";
101*f126890aSEmmanuel Vadot		reg = <0x00000000 0xff900000>;
102*f126890aSEmmanuel Vadot	};
103*f126890aSEmmanuel Vadot
104*f126890aSEmmanuel Vadot	soc {
105*f126890aSEmmanuel Vadot		ranges = <0x00000000 0x00000000 0xffffffff>;
106*f126890aSEmmanuel Vadot
107*f126890aSEmmanuel Vadot		memory-controller@fff00000 {
108*f126890aSEmmanuel Vadot			compatible = "calxeda,hb-ddr-ctrl";
109*f126890aSEmmanuel Vadot			reg = <0xfff00000 0x1000>;
110*f126890aSEmmanuel Vadot			interrupts = <0 91 4>;
111*f126890aSEmmanuel Vadot		};
112*f126890aSEmmanuel Vadot
113*f126890aSEmmanuel Vadot		timer@fff10600 {
114*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9-twd-timer";
115*f126890aSEmmanuel Vadot			reg = <0xfff10600 0x20>;
116*f126890aSEmmanuel Vadot			interrupts = <1 13 0xf01>;
117*f126890aSEmmanuel Vadot			clocks = <&a9periphclk>;
118*f126890aSEmmanuel Vadot		};
119*f126890aSEmmanuel Vadot
120*f126890aSEmmanuel Vadot		watchdog@fff10620 {
121*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9-twd-wdt";
122*f126890aSEmmanuel Vadot			reg = <0xfff10620 0x20>;
123*f126890aSEmmanuel Vadot			interrupts = <1 14 0xf01>;
124*f126890aSEmmanuel Vadot			clocks = <&a9periphclk>;
125*f126890aSEmmanuel Vadot		};
126*f126890aSEmmanuel Vadot
127*f126890aSEmmanuel Vadot		intc: interrupt-controller@fff11000 {
128*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9-gic";
129*f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
130*f126890aSEmmanuel Vadot			interrupt-controller;
131*f126890aSEmmanuel Vadot			reg = <0xfff11000 0x1000>,
132*f126890aSEmmanuel Vadot			      <0xfff10100 0x100>;
133*f126890aSEmmanuel Vadot		};
134*f126890aSEmmanuel Vadot
135*f126890aSEmmanuel Vadot		L2: cache-controller {
136*f126890aSEmmanuel Vadot			compatible = "arm,pl310-cache";
137*f126890aSEmmanuel Vadot			reg = <0xfff12000 0x1000>;
138*f126890aSEmmanuel Vadot			interrupts = <0 70 4>;
139*f126890aSEmmanuel Vadot			cache-unified;
140*f126890aSEmmanuel Vadot			cache-level = <2>;
141*f126890aSEmmanuel Vadot		};
142*f126890aSEmmanuel Vadot
143*f126890aSEmmanuel Vadot		pmu {
144*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9-pmu";
145*f126890aSEmmanuel Vadot			interrupts = <0 76 4>, <0 75 4>, <0 74 4>, <0 73 4>;
146*f126890aSEmmanuel Vadot		};
147*f126890aSEmmanuel Vadot
148*f126890aSEmmanuel Vadot
149*f126890aSEmmanuel Vadot		sregs@fff3c200 {
150*f126890aSEmmanuel Vadot			compatible = "calxeda,hb-sregs-l2-ecc";
151*f126890aSEmmanuel Vadot			reg = <0xfff3c200 0x100>;
152*f126890aSEmmanuel Vadot			interrupts = <0 71 4>, <0 72 4>;
153*f126890aSEmmanuel Vadot		};
154*f126890aSEmmanuel Vadot
155*f126890aSEmmanuel Vadot	};
156*f126890aSEmmanuel Vadot};
157*f126890aSEmmanuel Vadot
158*f126890aSEmmanuel Vadot/include/ "ecx-common.dtsi"
159