blob: ed14aeac056679059d823b8502a122e28ab1ddaa [file] [log] [blame]
Rob Herring253d7ad2011-08-10 15:22:11 -05001/*
Rob Herring8d4d9f52012-03-13 18:19:19 -05002 * Copyright 2011-2012 Calxeda, Inc.
Rob Herring253d7ad2011-08-10 15:22:11 -05003 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms and conditions of the GNU General Public License,
6 * version 2, as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11 * more details.
12 *
13 * You should have received a copy of the GNU General Public License along with
14 * this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17/dts-v1/;
18
19/* First 4KB has pen for secondary cores. */
20/memreserve/ 0x00000000 0x0001000;
21
22/ {
23 model = "Calxeda Highbank";
24 compatible = "calxeda,highbank";
25 #address-cells = <1>;
26 #size-cells = <1>;
Rob Herring8d4d9f52012-03-13 18:19:19 -050027 clock-ranges;
Rob Herring253d7ad2011-08-10 15:22:11 -050028
29 cpus {
30 #address-cells = <1>;
31 #size-cells = <0>;
32
Rob Herring3943dee2012-12-30 10:15:03 -060033 cpu@900 {
Rob Herring253d7ad2011-08-10 15:22:11 -050034 compatible = "arm,cortex-a9";
Rob Herring36ff67b2012-12-30 10:15:02 -060035 device_type = "cpu";
Rob Herring3943dee2012-12-30 10:15:03 -060036 reg = <0x900>;
Rob Herring253d7ad2011-08-10 15:22:11 -050037 next-level-cache = <&L2>;
Rob Herring8d4d9f52012-03-13 18:19:19 -050038 clocks = <&a9pll>;
39 clock-names = "cpu";
Mark Langsdorf6754f552013-01-28 16:13:15 +000040 operating-points = <
41 /* kHz ignored */
42 1300000 1000000
43 1200000 1000000
44 1100000 1000000
45 800000 1000000
46 400000 1000000
47 200000 1000000
48 >;
49 clock-latency = <100000>;
Rob Herring253d7ad2011-08-10 15:22:11 -050050 };
51
Rob Herring3943dee2012-12-30 10:15:03 -060052 cpu@901 {
Rob Herring253d7ad2011-08-10 15:22:11 -050053 compatible = "arm,cortex-a9";
Rob Herring36ff67b2012-12-30 10:15:02 -060054 device_type = "cpu";
Rob Herring3943dee2012-12-30 10:15:03 -060055 reg = <0x901>;
Rob Herring253d7ad2011-08-10 15:22:11 -050056 next-level-cache = <&L2>;
Rob Herring8d4d9f52012-03-13 18:19:19 -050057 clocks = <&a9pll>;
58 clock-names = "cpu";
Rob Herring253d7ad2011-08-10 15:22:11 -050059 };
60
Rob Herring3943dee2012-12-30 10:15:03 -060061 cpu@902 {
Rob Herring253d7ad2011-08-10 15:22:11 -050062 compatible = "arm,cortex-a9";
Rob Herring36ff67b2012-12-30 10:15:02 -060063 device_type = "cpu";
Rob Herring3943dee2012-12-30 10:15:03 -060064 reg = <0x902>;
Rob Herring253d7ad2011-08-10 15:22:11 -050065 next-level-cache = <&L2>;
Rob Herring8d4d9f52012-03-13 18:19:19 -050066 clocks = <&a9pll>;
67 clock-names = "cpu";
Rob Herring253d7ad2011-08-10 15:22:11 -050068 };
69
Rob Herring3943dee2012-12-30 10:15:03 -060070 cpu@903 {
Rob Herring253d7ad2011-08-10 15:22:11 -050071 compatible = "arm,cortex-a9";
Rob Herring36ff67b2012-12-30 10:15:02 -060072 device_type = "cpu";
Rob Herring3943dee2012-12-30 10:15:03 -060073 reg = <0x903>;
Rob Herring253d7ad2011-08-10 15:22:11 -050074 next-level-cache = <&L2>;
Rob Herring8d4d9f52012-03-13 18:19:19 -050075 clocks = <&a9pll>;
76 clock-names = "cpu";
Rob Herring253d7ad2011-08-10 15:22:11 -050077 };
78 };
79
80 memory {
81 name = "memory";
82 device_type = "memory";
83 reg = <0x00000000 0xff900000>;
84 };
85
Rob Herring253d7ad2011-08-10 15:22:11 -050086 soc {
Rob Herring7d6ab9b2012-10-25 11:59:09 -050087 ranges = <0x00000000 0x00000000 0xffffffff>;
Rob Herring253d7ad2011-08-10 15:22:11 -050088
Rob Herring982ac2a2013-07-23 14:04:44 -050089 memory-controller@fff00000 {
90 compatible = "calxeda,hb-ddr-ctrl";
91 reg = <0xfff00000 0x1000>;
92 interrupts = <0 91 4>;
93 };
94
Rob Herring253d7ad2011-08-10 15:22:11 -050095 timer@fff10600 {
Marc Zyngier7ac9b9e2012-01-10 19:44:19 +000096 compatible = "arm,cortex-a9-twd-timer";
Rob Herring253d7ad2011-08-10 15:22:11 -050097 reg = <0xfff10600 0x20>;
Marc Zyngier7ac9b9e2012-01-10 19:44:19 +000098 interrupts = <1 13 0xf01>;
Rob Herring8d4d9f52012-03-13 18:19:19 -050099 clocks = <&a9periphclk>;
Rob Herring253d7ad2011-08-10 15:22:11 -0500100 };
101
102 watchdog@fff10620 {
Marc Zyngier7ac9b9e2012-01-10 19:44:19 +0000103 compatible = "arm,cortex-a9-twd-wdt";
Rob Herring253d7ad2011-08-10 15:22:11 -0500104 reg = <0xfff10620 0x20>;
Marc Zyngier7ac9b9e2012-01-10 19:44:19 +0000105 interrupts = <1 14 0xf01>;
Rob Herring8d4d9f52012-03-13 18:19:19 -0500106 clocks = <&a9periphclk>;
Rob Herring253d7ad2011-08-10 15:22:11 -0500107 };
108
109 intc: interrupt-controller@fff11000 {
110 compatible = "arm,cortex-a9-gic";
111 #interrupt-cells = <3>;
112 #size-cells = <0>;
113 #address-cells = <1>;
114 interrupt-controller;
Rob Herring253d7ad2011-08-10 15:22:11 -0500115 reg = <0xfff11000 0x1000>,
116 <0xfff10100 0x100>;
117 };
118
119 L2: l2-cache {
120 compatible = "arm,pl310-cache";
121 reg = <0xfff12000 0x1000>;
122 interrupts = <0 70 4>;
123 cache-unified;
124 cache-level = <2>;
125 };
126
127 pmu {
128 compatible = "arm,cortex-a9-pmu";
129 interrupts = <0 76 4 0 75 4 0 74 4 0 73 4>;
130 };
131
Rob Herring253d7ad2011-08-10 15:22:11 -0500132
Rob Herring69154d02012-06-11 21:32:14 -0500133 sregs@fff3c200 {
134 compatible = "calxeda,hb-sregs-l2-ecc";
135 reg = <0xfff3c200 0x100>;
136 interrupts = <0 71 4 0 72 4>;
137 };
138
Rob Herring253d7ad2011-08-10 15:22:11 -0500139 };
140};
Rob Herring7d6ab9b2012-10-25 11:59:09 -0500141
142/include/ "ecx-common.dtsi"