blob: 6aad34ad9517f37424071dcac4859c400a93d1f5 [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
89 timer@fff10600 {
Marc Zyngier7ac9b9e2012-01-10 19:44:19 +000090 compatible = "arm,cortex-a9-twd-timer";
Rob Herring253d7ad2011-08-10 15:22:11 -050091 reg = <0xfff10600 0x20>;
Marc Zyngier7ac9b9e2012-01-10 19:44:19 +000092 interrupts = <1 13 0xf01>;
Rob Herring8d4d9f52012-03-13 18:19:19 -050093 clocks = <&a9periphclk>;
Rob Herring253d7ad2011-08-10 15:22:11 -050094 };
95
96 watchdog@fff10620 {
Marc Zyngier7ac9b9e2012-01-10 19:44:19 +000097 compatible = "arm,cortex-a9-twd-wdt";
Rob Herring253d7ad2011-08-10 15:22:11 -050098 reg = <0xfff10620 0x20>;
Marc Zyngier7ac9b9e2012-01-10 19:44:19 +000099 interrupts = <1 14 0xf01>;
Rob Herring8d4d9f52012-03-13 18:19:19 -0500100 clocks = <&a9periphclk>;
Rob Herring253d7ad2011-08-10 15:22:11 -0500101 };
102
103 intc: interrupt-controller@fff11000 {
104 compatible = "arm,cortex-a9-gic";
105 #interrupt-cells = <3>;
106 #size-cells = <0>;
107 #address-cells = <1>;
108 interrupt-controller;
Rob Herring253d7ad2011-08-10 15:22:11 -0500109 reg = <0xfff11000 0x1000>,
110 <0xfff10100 0x100>;
111 };
112
113 L2: l2-cache {
114 compatible = "arm,pl310-cache";
115 reg = <0xfff12000 0x1000>;
116 interrupts = <0 70 4>;
117 cache-unified;
118 cache-level = <2>;
119 };
120
121 pmu {
122 compatible = "arm,cortex-a9-pmu";
123 interrupts = <0 76 4 0 75 4 0 74 4 0 73 4>;
124 };
125
Rob Herring253d7ad2011-08-10 15:22:11 -0500126
Rob Herring69154d02012-06-11 21:32:14 -0500127 sregs@fff3c200 {
128 compatible = "calxeda,hb-sregs-l2-ecc";
129 reg = <0xfff3c200 0x100>;
130 interrupts = <0 71 4 0 72 4>;
131 };
132
Rob Herring253d7ad2011-08-10 15:22:11 -0500133 };
134};
Rob Herring7d6ab9b2012-10-25 11:59:09 -0500135
136/include/ "ecx-common.dtsi"