db8500.dtsi 7.2 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/*
 * Copyright 2012 Linaro Ltd
 *
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 *
 * http://www.opensource.org/licenses/gpl-license.html
 * http://www.gnu.org/copyleft/gpl.html
 */

/include/ "skeleton.dtsi"

/ {
	soc-u9500 {
		#address-cells = <1>;
		#size-cells = <1>;
18
		compatible = "stericsson,db8500";
19
		interrupt-parent = <&intc>;
20
		ranges;
21

22 23 24 25 26 27 28 29 30
		intc: interrupt-controller@a0411000 {
			compatible = "arm,cortex-a9-gic";
			#interrupt-cells = <3>;
			#address-cells = <1>;
			interrupt-controller;
			reg = <0xa0411000 0x1000>,
			      <0xa0410100 0x100>;
		};

31 32 33 34 35 36 37 38
		L2: l2-cache {
			compatible = "arm,pl310-cache";
			reg = <0xa0412000 0x1000>;
			interrupts = <0 13 4>;
			cache-unified;
			cache-level = <2>;
		};

39 40 41 42 43
		pmu {
			compatible = "arm,cortex-a9-pmu";
			interrupts = <0 7 0x4>;
		};

44 45 46 47 48 49
		timer@a0410600 {
			compatible = "arm,cortex-a9-twd-timer";
			reg = <0xa0410600 0x20>;
			interrupts = <1 13 0x304>;
		};

50 51 52 53 54 55 56 57
		rtc@80154000 {
			compatible = "stericsson,db8500-rtc";
			reg = <0x80154000 0x1000>;
			interrupts = <0 18 0x4>;
		};

		gpio0: gpio@8012e000 {
			compatible = "stericsson,db8500-gpio",
58
				"st,nomadik-gpio";
59 60
			reg =  <0x8012e000 0x80>;
			interrupts = <0 119 0x4>;
61 62
			interrupt-controller;
			#interrupt-cells = <2>;
63 64
			supports-sleepmode;
			gpio-controller;
65 66
			#gpio-cells = <2>;
			gpio-bank = <0>;
67 68 69 70
		};

		gpio1: gpio@8012e080 {
			compatible = "stericsson,db8500-gpio",
71
				"st,nomadik-gpio";
72 73
			reg =  <0x8012e080 0x80>;
			interrupts = <0 120 0x4>;
74 75
			interrupt-controller;
			#interrupt-cells = <2>;
76 77
			supports-sleepmode;
			gpio-controller;
78 79
			#gpio-cells = <2>;
			gpio-bank = <1>;
80 81 82 83
		};

		gpio2: gpio@8000e000 {
			compatible = "stericsson,db8500-gpio",
84
				"st,nomadik-gpio";
85 86
			reg =  <0x8000e000 0x80>;
			interrupts = <0 121 0x4>;
87 88
			interrupt-controller;
			#interrupt-cells = <2>;
89 90
			supports-sleepmode;
			gpio-controller;
91 92
			#gpio-cells = <2>;
			gpio-bank = <2>;
93 94 95 96
		};

		gpio3: gpio@8000e080 {
			compatible = "stericsson,db8500-gpio",
97
				"st,nomadik-gpio";
98 99
			reg =  <0x8000e080 0x80>;
			interrupts = <0 122 0x4>;
100 101
			interrupt-controller;
			#interrupt-cells = <2>;
102 103
			supports-sleepmode;
			gpio-controller;
104 105
			#gpio-cells = <2>;
			gpio-bank = <3>;
106 107 108 109
		};

		gpio4: gpio@8000e100 {
			compatible = "stericsson,db8500-gpio",
110
				"st,nomadik-gpio";
111 112
			reg =  <0x8000e100 0x80>;
			interrupts = <0 123 0x4>;
113 114
			interrupt-controller;
			#interrupt-cells = <2>;
115 116
			supports-sleepmode;
			gpio-controller;
117 118
			#gpio-cells = <2>;
			gpio-bank = <4>;
119 120 121 122
		};

		gpio5: gpio@8000e180 {
			compatible = "stericsson,db8500-gpio",
123
				"st,nomadik-gpio";
124 125
			reg =  <0x8000e180 0x80>;
			interrupts = <0 124 0x4>;
126 127
			interrupt-controller;
			#interrupt-cells = <2>;
128 129
			supports-sleepmode;
			gpio-controller;
130 131
			#gpio-cells = <2>;
			gpio-bank = <5>;
132 133 134 135
		};

		gpio6: gpio@8011e000 {
			compatible = "stericsson,db8500-gpio",
136
				"st,nomadik-gpio";
137 138
			reg =  <0x8011e000 0x80>;
			interrupts = <0 125 0x4>;
139 140
			interrupt-controller;
			#interrupt-cells = <2>;
141 142
			supports-sleepmode;
			gpio-controller;
143 144
			#gpio-cells = <2>;
			gpio-bank = <6>;
145 146 147 148
		};

		gpio7: gpio@8011e080 {
			compatible = "stericsson,db8500-gpio",
149
				"st,nomadik-gpio";
150 151
			reg =  <0x8011e080 0x80>;
			interrupts = <0 126 0x4>;
152 153
			interrupt-controller;
			#interrupt-cells = <2>;
154 155
			supports-sleepmode;
			gpio-controller;
156 157
			#gpio-cells = <2>;
			gpio-bank = <7>;
158 159 160 161
		};

		gpio8: gpio@a03fe000 {
			compatible = "stericsson,db8500-gpio",
162
				"st,nomadik-gpio";
163 164
			reg =  <0xa03fe000 0x80>;
			interrupts = <0 127 0x4>;
165 166
			interrupt-controller;
			#interrupt-cells = <2>;
167 168
			supports-sleepmode;
			gpio-controller;
169 170
			#gpio-cells = <2>;
			gpio-bank = <8>;
171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189
		};

		usb@a03e0000 {
			compatible = "stericsson,db8500-musb",
				"mentor,musb";
			reg = <0xa03e0000 0x10000>;
			interrupts = <0 23 0x4>;
		};

		dma-controller@801C0000 {
			compatible = "stericsson,db8500-dma40",
					"stericsson,dma40";
			reg = <0x801C0000 0x1000 0x40010000 0x800>;
			interrupts = <0 25 0x4>;
		};

		prcmu@80157000 {
			compatible = "stericsson,db8500-prcmu";
			reg = <0x80157000 0x1000>;
190
			interrupts = <0 47 0x4>;
191
			#address-cells = <1>;
192 193 194
			#size-cells = <1>;
			ranges;

195
			prcmu-timer-4@80157450 {
196 197 198
				compatible = "stericsson,db8500-prcmu-timer-4";
				reg = <0x80157450 0xC>;
			};
199 200 201 202 203 204 205 206 207

			ab8500@5 {
				compatible = "stericsson,ab8500";
				reg = <5>; /* mailbox 5 is i2c */
				interrupts = <0 40 0x4>;
			};
		};

		i2c@80004000 {
208
			compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
209 210 211 212 213 214 215
			reg = <0x80004000 0x1000>;
			interrupts = <0 21 0x4>;
			#address-cells = <1>;
			#size-cells = <0>;
		};

		i2c@80122000 {
216
			compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
217 218 219 220 221 222 223
			reg = <0x80122000 0x1000>;
			interrupts = <0 22 0x4>;
			#address-cells = <1>;
			#size-cells = <0>;
		};

		i2c@80128000 {
224
			compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
225 226 227 228 229 230 231
			reg = <0x80128000 0x1000>;
			interrupts = <0 55 0x4>;
			#address-cells = <1>;
			#size-cells = <0>;
		};

		i2c@80110000 {
232
			compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
233 234 235 236 237 238 239
			reg = <0x80110000 0x1000>;
			interrupts = <0 12 0x4>;
			#address-cells = <1>;
			#size-cells = <0>;
		};

		i2c@8012a000 {
240
			compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
241 242 243 244 245 246 247 248 249 250 251 252 253
			reg = <0x8012a000 0x1000>;
			interrupts = <0 51 0x4>;
			#address-cells = <1>;
			#size-cells = <0>;
		};

		ssp@80002000 {
			compatible = "arm,pl022", "arm,primecell";
			reg = <80002000 0x1000>;
			interrupts = <0 14 0x4>;
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
254 255

			// Add one of these for each child device
256 257
			cs-gpios = <&gpio0 31 0x4 &gpio4 14 0x4 &gpio4 16 0x4
				    &gpio6 22 0x4 &gpio7 0 0x4>;
258

259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315
		};

		uart@80120000 {
			compatible = "arm,pl011", "arm,primecell";
			reg = <0x80120000 0x1000>;
			interrupts = <0 11 0x4>;
			status = "disabled";
		};
		uart@80121000 {
			compatible = "arm,pl011", "arm,primecell";
			reg = <0x80121000 0x1000>;
			interrupts = <0 19 0x4>;
			status = "disabled";
		};
		uart@80007000 {
			compatible = "arm,pl011", "arm,primecell";
			reg = <0x80007000 0x1000>;
			interrupts = <0 26 0x4>;
			status = "disabled";
		};

		sdi@80126000 {
			compatible = "arm,pl18x", "arm,primecell";
			reg = <0x80126000 0x1000>;
			interrupts = <0 60 0x4>;
			status = "disabled";
		};
		sdi@80118000 {
			compatible = "arm,pl18x", "arm,primecell";
			reg = <0x80118000 0x1000>;
			interrupts = <0 50 0x4>;
			status = "disabled";
		};
		sdi@80005000 {
			compatible = "arm,pl18x", "arm,primecell";
			reg = <0x80005000 0x1000>;
			interrupts = <0 41 0x4>;
			status = "disabled";
		};
		sdi@80119000 {
			compatible = "arm,pl18x", "arm,primecell";
			reg = <0x80119000 0x1000>;
			interrupts = <0 59 0x4>;
			status = "disabled";
		};
		sdi@80114000 {
			compatible = "arm,pl18x", "arm,primecell";
			reg = <0x80114000 0x1000>;
			interrupts = <0 99 0x4>;
			status = "disabled";
		};
		sdi@80008000 {
			compatible = "arm,pl18x", "arm,primecell";
			reg = <0x80114000 0x1000>;
			interrupts = <0 100 0x4>;
			status = "disabled";
		};
316 317 318 319 320 321 322 323 324

		external-bus@50000000 {
			compatible = "simple-bus";
			reg = <0x50000000 0x4000000>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0 0x50000000 0x4000000>;
			status = "disabled";
		};
325 326
	};
};