2 * Copyright (c) 2012 Oleksandr Tymoshenko <gonzo@bluezbox.com>
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
13 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 /include/ "bcm2836.dtsi"
32 model = "Raspberry Pi 2 Model B";
33 compatible = "brcm,bcm2709";
35 memreserve = <0x08000000 0x08000000>; /* Set by VideoCore */
41 compatible = "arm,cortex-a7";
43 reg = <0xf00>; /* CPU ID=0xf00 */
44 clock-frequency = <800000000>; /* 800MHz */
47 compatible = "arm,cortex-a7";
49 reg = <0xf01>; /* CPU ID=0xf01 */
50 clock-frequency = <800000000>; /* 800MHz */
53 compatible = "arm,cortex-a7";
55 reg = <0xf02>; /* CPU ID=0xf02 */
56 clock-frequency = <800000000>; /* 800MHz */
59 compatible = "arm,cortex-a7";
61 reg = <0xf03>; /* CPU ID=0xf03 */
62 clock-frequency = <800000000>; /* 800MHz */
67 device_type = "memory";
68 reg = <0 0x8000000>; /* 128MB, Set by VideoCore */
73 revision = <0>; /* Set by VideoCore */
74 serial = <0 0>; /* Set by VideoCore */
81 broadcom,function = "ALT0";
85 broadcom,function = "ALT0";
89 broadcom,function = "ALT1";
94 broadcom,function = "ALT0";
98 broadcom,function = "ALT2";
102 pins_gpclk0_a: gpclk0_a {
103 broadcom,function = "ALT0";
106 pins_gpclk0_b: gpclk0_b {
107 broadcom,function = "ALT5";
110 pins_gpclk0_c: gpclk0_c {
111 broadcom,function = "ALT0";
114 pins_gpclk0_d: gpclk0_d {
115 broadcom,function = "ALT0";
119 pins_gpclk1_a: gpclk1_a {
120 broadcom,function = "ALT0";
123 pins_gpclk1_b: gpclk1_b {
124 broadcom,function = "ALT5";
127 pins_gpclk1_c: gpclk1_c {
128 broadcom,function = "ALT0";
131 pins_gpclk1_d: gpclk1_d {
132 broadcom,function = "ALT0";
136 pins_gpclk2_a: gpclk2_a {
137 broadcom,function = "ALT0";
140 pins_gpclk2_b: gpclk2_b {
141 broadcom,function = "ALT0";
145 pins_spi0_a: spi0_a {
146 broadcom,function = "ALT0";
149 pins_spi0_b: spi0_b {
150 broadcom,function = "ALT0";
154 pins_pwm0_a: pwm0_a {
155 broadcom,function = "ALT0";
158 pins_pwm0_b: pwm0_b {
159 broadcom,function = "ALT5";
162 pins_pwm0_c: pwm0_c {
163 broadcom,function = "ALT0";
166 pins_pwm1_a: pwm1_a {
167 broadcom,function = "ALT0";
170 pins_pwm1_b: pwm1_b {
171 broadcom,function = "ALT5";
174 pins_pwm1_c: pwm1_c {
175 broadcom,function = "ALT0";
178 pins_pwm1_d: pwm1_d {
179 broadcom,function = "ALT0";
183 pins_uart0_a: uart0_a {
184 broadcom,function = "ALT0";
187 pins_uart0_b: uart0_b {
188 broadcom,function = "ALT3";
191 pins_uart0_c: uart0_c {
192 broadcom,function = "ALT2";
195 pins_uart0_fc_a: uart0_fc_a {
196 broadcom,function = "ALT3";
199 pins_uart0_fc_b: uart0_fc_b {
200 broadcom,function = "ALT3";
203 pins_uart0_fc_c: uart0_fc_c {
204 broadcom,function = "ALT2";
209 broadcom,function = "ALT0";
213 broadcom,function = "ALT2";
216 /* Secondary Address Bus */
217 pins_sm_addr_a: sm_addr_a {
218 broadcom,function = "ALT1";
221 pins_sm_addr_b: sm_addr_b {
222 broadcom,function = "ALT1";
225 pins_sm_ctl_a: sm_ctl_a {
226 broadcom,function = "ALT1";
229 pins_sm_ctl_b: sm_ctl_b {
230 broadcom,function = "ALT1";
233 pins_sm_data_8bit_a: sm_data_8bit_a {
234 broadcom,function = "ALT1";
237 pins_sm_data_8bit_b: sm_data_8bit_b {
238 broadcom,function = "ALT1";
241 pins_sm_data_16bit: sm_data_16bit {
242 broadcom,function = "ALT1";
245 pins_sm_data_18bit: sm_data_18bit {
246 broadcom,function = "ALT1";
251 broadcom,function = "ALT3";
256 broadcom,function = "ALT3";
261 broadcom,function = "ALT4";
265 pins_uart1_a: uart1_a {
266 broadcom,function = "ALT5";
269 pins_uart1_b: uart1_b {
270 broadcom,function = "ALT5";
273 pins_uart1_c: uart1_c {
274 broadcom,function = "ALT5";
277 pins_uart1_fc_a: uart1_fc_a {
278 broadcom,function = "ALT5";
281 pins_uart1_fc_b: uart1_fc_b {
282 broadcom,function = "ALT5";
285 pins_uart1_fc_c: uart1_fc_c {
286 broadcom,function = "ALT5";
291 broadcom,function = "ALT4";
295 pins_arm_jtag_trst: arm_jtag_trst {
296 broadcom,function = "ALT4";
299 pins_arm_jtag_a: arm_jtag_a {
300 broadcom,function = "ALT5";
303 pins_arm_jtag_b: arm_jtag_b {
304 broadcom,function = "ALT4";
308 pins_reserved: reserved {
309 broadcom,function = "ALT3";
314 compatible = "usb,hub", "usb,device";
316 #address-cells = <1>;
319 compatible = "net,ethernet",
322 mac-address = [00 00 00 00 00 00];
330 compatible = "broadcom,bcm2835-fb", "broadcom,bcm2708-fb";
332 broadcom,vc-mailbox = <&vc_mbox>;
333 broadcom,vc-channel = <1>;
335 broadcom,width = <0>; /* Set by VideoCore */
336 broadcom,height = <0>; /* Set by VideoCore */
337 broadcom,depth = <0>; /* Set by VideoCore */
341 compatible = "gpio-leds";
345 gpios = <&gpio 35 0>;
350 gpios = <&gpio 47 0>;
355 compatible = "broadcom,bcm2835-power-mgr",
356 "broadcom,bcm2708-power-mgr",
358 #address-cells = <1>;
361 broadcom,vc-mailbox = <&vc_mbox>;
362 broadcom,vc-channel = <0>;
364 regulator-name = "VideoCore";
365 regulator-min-microvolt = <5000000>;
366 regulator-max-microvolt = <5000000>;
367 regulator-always-on = <1>;
369 sd_card_power: regulator@0 {
370 compatible = "broadcom,bcm2835-power-dev",
371 "broadcom,bcm2708-power-dev";
374 vin-supply = <&power>;
375 regulator-name = "SD Card";
376 regulator-min-microvolt = <3300000>;
377 regulator-max-microvolt = <3300000>;
380 /* This is for the controller itself, not the root port */
381 usb_hcd_power: regulator@3 {
382 compatible = "broadcom,bcm2835-power-dev",
383 "broadcom,bcm2708-power-dev";
386 vin-supply = <&power>;
387 regulator-name = "USB HCD";
388 regulator-min-microvolt = <5000000>;
389 regulator-max-microvolt = <5000000>;
398 bootargs = ""; /* Set by VideoCore */
404 cache_line_size = <&vchiq>, "cache-line-size:0";