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 */
49 device_type = "memory";
50 reg = <0 0x8000000>; /* 128MB, Set by VideoCore */
55 revision = <0>; /* Set by VideoCore */
56 serial = <0 0>; /* Set by VideoCore */
63 broadcom,function = "ALT0";
67 broadcom,function = "ALT0";
71 broadcom,function = "ALT1";
76 broadcom,function = "ALT0";
80 broadcom,function = "ALT2";
84 pins_gpclk0_a: gpclk0_a {
85 broadcom,function = "ALT0";
88 pins_gpclk0_b: gpclk0_b {
89 broadcom,function = "ALT5";
92 pins_gpclk0_c: gpclk0_c {
93 broadcom,function = "ALT0";
96 pins_gpclk0_d: gpclk0_d {
97 broadcom,function = "ALT0";
101 pins_gpclk1_a: gpclk1_a {
102 broadcom,function = "ALT0";
105 pins_gpclk1_b: gpclk1_b {
106 broadcom,function = "ALT5";
109 pins_gpclk1_c: gpclk1_c {
110 broadcom,function = "ALT0";
113 pins_gpclk1_d: gpclk1_d {
114 broadcom,function = "ALT0";
118 pins_gpclk2_a: gpclk2_a {
119 broadcom,function = "ALT0";
122 pins_gpclk2_b: gpclk2_b {
123 broadcom,function = "ALT0";
127 pins_spi0_a: spi0_a {
128 broadcom,function = "ALT0";
131 pins_spi0_b: spi0_b {
132 broadcom,function = "ALT0";
136 pins_pwm0_a: pwm0_a {
137 broadcom,function = "ALT0";
140 pins_pwm0_b: pwm0_b {
141 broadcom,function = "ALT5";
144 pins_pwm0_c: pwm0_c {
145 broadcom,function = "ALT0";
148 pins_pwm1_a: pwm1_a {
149 broadcom,function = "ALT0";
152 pins_pwm1_b: pwm1_b {
153 broadcom,function = "ALT5";
156 pins_pwm1_c: pwm1_c {
157 broadcom,function = "ALT0";
160 pins_pwm1_d: pwm1_d {
161 broadcom,function = "ALT0";
165 pins_uart0_a: uart0_a {
166 broadcom,function = "ALT0";
169 pins_uart0_b: uart0_b {
170 broadcom,function = "ALT3";
173 pins_uart0_c: uart0_c {
174 broadcom,function = "ALT2";
177 pins_uart0_fc_a: uart0_fc_a {
178 broadcom,function = "ALT3";
181 pins_uart0_fc_b: uart0_fc_b {
182 broadcom,function = "ALT3";
185 pins_uart0_fc_c: uart0_fc_c {
186 broadcom,function = "ALT2";
191 broadcom,function = "ALT0";
195 broadcom,function = "ALT2";
198 /* Secondary Address Bus */
199 pins_sm_addr_a: sm_addr_a {
200 broadcom,function = "ALT1";
203 pins_sm_addr_b: sm_addr_b {
204 broadcom,function = "ALT1";
207 pins_sm_ctl_a: sm_ctl_a {
208 broadcom,function = "ALT1";
211 pins_sm_ctl_b: sm_ctl_b {
212 broadcom,function = "ALT1";
215 pins_sm_data_8bit_a: sm_data_8bit_a {
216 broadcom,function = "ALT1";
219 pins_sm_data_8bit_b: sm_data_8bit_b {
220 broadcom,function = "ALT1";
223 pins_sm_data_16bit: sm_data_16bit {
224 broadcom,function = "ALT1";
227 pins_sm_data_18bit: sm_data_18bit {
228 broadcom,function = "ALT1";
233 broadcom,function = "ALT3";
238 broadcom,function = "ALT3";
243 broadcom,function = "ALT4";
247 pins_uart1_a: uart1_a {
248 broadcom,function = "ALT5";
251 pins_uart1_b: uart1_b {
252 broadcom,function = "ALT5";
255 pins_uart1_c: uart1_c {
256 broadcom,function = "ALT5";
259 pins_uart1_fc_a: uart1_fc_a {
260 broadcom,function = "ALT5";
263 pins_uart1_fc_b: uart1_fc_b {
264 broadcom,function = "ALT5";
267 pins_uart1_fc_c: uart1_fc_c {
268 broadcom,function = "ALT5";
273 broadcom,function = "ALT4";
277 pins_arm_jtag_trst: arm_jtag_trst {
278 broadcom,function = "ALT4";
281 pins_arm_jtag_a: arm_jtag_a {
282 broadcom,function = "ALT5";
285 pins_arm_jtag_b: arm_jtag_b {
286 broadcom,function = "ALT4";
290 pins_reserved: reserved {
291 broadcom,function = "ALT3";
296 compatible = "usb,hub", "usb,device";
298 #address-cells = <1>;
301 compatible = "net,ethernet",
304 mac-address = [00 00 00 00 00 00];
312 compatible = "broadcom,bcm2835-fb", "broadcom,bcm2708-fb";
314 broadcom,vc-mailbox = <&vc_mbox>;
315 broadcom,vc-channel = <1>;
317 broadcom,width = <0>; /* Set by VideoCore */
318 broadcom,height = <0>; /* Set by VideoCore */
319 broadcom,depth = <0>; /* Set by VideoCore */
323 compatible = "gpio-leds";
327 gpios = <&gpio 35 0>;
332 gpios = <&gpio 47 0>;
337 compatible = "broadcom,bcm2835-power-mgr",
338 "broadcom,bcm2708-power-mgr",
340 #address-cells = <1>;
343 broadcom,vc-mailbox = <&vc_mbox>;
344 broadcom,vc-channel = <0>;
346 regulator-name = "VideoCore";
347 regulator-min-microvolt = <5000000>;
348 regulator-max-microvolt = <5000000>;
349 regulator-always-on = <1>;
351 sd_card_power: regulator@0 {
352 compatible = "broadcom,bcm2835-power-dev",
353 "broadcom,bcm2708-power-dev";
356 vin-supply = <&power>;
357 regulator-name = "SD Card";
358 regulator-min-microvolt = <3300000>;
359 regulator-max-microvolt = <3300000>;
362 /* This is for the controller itself, not the root port */
363 usb_hcd_power: regulator@3 {
364 compatible = "broadcom,bcm2835-power-dev",
365 "broadcom,bcm2708-power-dev";
368 vin-supply = <&power>;
369 regulator-name = "USB HCD";
370 regulator-min-microvolt = <5000000>;
371 regulator-max-microvolt = <5000000>;
380 bootargs = ""; /* Set by VideoCore */