rpi2.dts revision 307767
1/* 2 * Copyright (c) 2012 Oleksandr Tymoshenko <gonzo@bluezbox.com> 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 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. 12 * 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 23 * SUCH DAMAGE. 24 * 25 * $FreeBSD: stable/11/sys/boot/fdt/dts/arm/rpi2.dts 307767 2016-10-22 02:37:59Z gonzo $ 26 */ 27/dts-v1/; 28 29/include/ "bcm2836.dtsi" 30 31/ { 32 model = "Raspberry Pi 2 Model B"; 33 compatible = "brcm,bcm2709"; 34 35 memreserve = <0x08000000 0x08000000>; /* Set by VideoCore */ 36 37 cpus { 38 #address-cells = <1>; 39 #size-cells = <0>; 40 cpu@0 { 41 compatible = "arm,cortex-a7"; 42 device_type = "cpu"; 43 reg = <0xf00>; /* CPU ID=0xf00 */ 44 clock-frequency = <800000000>; /* 800MHz */ 45 }; 46 cpu@1 { 47 compatible = "arm,cortex-a7"; 48 device_type = "cpu"; 49 reg = <0xf01>; /* CPU ID=0xf01 */ 50 clock-frequency = <800000000>; /* 800MHz */ 51 }; 52 cpu@2 { 53 compatible = "arm,cortex-a7"; 54 device_type = "cpu"; 55 reg = <0xf02>; /* CPU ID=0xf02 */ 56 clock-frequency = <800000000>; /* 800MHz */ 57 }; 58 cpu@3 { 59 compatible = "arm,cortex-a7"; 60 device_type = "cpu"; 61 reg = <0xf03>; /* CPU ID=0xf03 */ 62 clock-frequency = <800000000>; /* 800MHz */ 63 }; 64 }; 65 66 memory { 67 device_type = "memory"; 68 reg = <0 0x8000000>; /* 128MB, Set by VideoCore */ 69 70 }; 71 72 system { 73 revision = <0>; /* Set by VideoCore */ 74 serial = <0 0>; /* Set by VideoCore */ 75 }; 76 77 axi { 78 gpio: gpio { 79 /* BSC0 */ 80 pins_bsc0_a: bsc0_a { 81 broadcom,function = "ALT0"; 82 }; 83 84 pins_bsc0_b: bsc0_b { 85 broadcom,function = "ALT0"; 86 }; 87 88 pins_bsc0_c: bsc0_c { 89 broadcom,function = "ALT1"; 90 }; 91 92 /* BSC1 */ 93 pins_bsc1_a: bsc1_a { 94 broadcom,function = "ALT0"; 95 }; 96 97 pins_bsc1_b: bsc1_b { 98 broadcom,function = "ALT2"; 99 }; 100 101 /* GPCLK0 */ 102 pins_gpclk0_a: gpclk0_a { 103 broadcom,function = "ALT0"; 104 }; 105 106 pins_gpclk0_b: gpclk0_b { 107 broadcom,function = "ALT5"; 108 }; 109 110 pins_gpclk0_c: gpclk0_c { 111 broadcom,function = "ALT0"; 112 }; 113 114 pins_gpclk0_d: gpclk0_d { 115 broadcom,function = "ALT0"; 116 }; 117 118 /* GPCLK1 */ 119 pins_gpclk1_a: gpclk1_a { 120 broadcom,function = "ALT0"; 121 }; 122 123 pins_gpclk1_b: gpclk1_b { 124 broadcom,function = "ALT5"; 125 }; 126 127 pins_gpclk1_c: gpclk1_c { 128 broadcom,function = "ALT0"; 129 }; 130 131 pins_gpclk1_d: gpclk1_d { 132 broadcom,function = "ALT0"; 133 }; 134 135 /* GPCLK2 */ 136 pins_gpclk2_a: gpclk2_a { 137 broadcom,function = "ALT0"; 138 }; 139 140 pins_gpclk2_b: gpclk2_b { 141 broadcom,function = "ALT0"; 142 }; 143 144 /* SPI0 */ 145 pins_spi0_a: spi0_a { 146 broadcom,function = "ALT0"; 147 }; 148 149 pins_spi0_b: spi0_b { 150 broadcom,function = "ALT0"; 151 }; 152 153 /* PWM */ 154 pins_pwm0_a: pwm0_a { 155 broadcom,function = "ALT0"; 156 }; 157 158 pins_pwm0_b: pwm0_b { 159 broadcom,function = "ALT5"; 160 }; 161 162 pins_pwm0_c: pwm0_c { 163 broadcom,function = "ALT0"; 164 }; 165 166 pins_pwm1_a: pwm1_a { 167 broadcom,function = "ALT0"; 168 }; 169 170 pins_pwm1_b: pwm1_b { 171 broadcom,function = "ALT5"; 172 }; 173 174 pins_pwm1_c: pwm1_c { 175 broadcom,function = "ALT0"; 176 }; 177 178 pins_pwm1_d: pwm1_d { 179 broadcom,function = "ALT0"; 180 }; 181 182 /* UART0 */ 183 pins_uart0_a: uart0_a { 184 broadcom,function = "ALT0"; 185 }; 186 187 pins_uart0_b: uart0_b { 188 broadcom,function = "ALT3"; 189 }; 190 191 pins_uart0_c: uart0_c { 192 broadcom,function = "ALT2"; 193 }; 194 195 pins_uart0_fc_a: uart0_fc_a { 196 broadcom,function = "ALT3"; 197 }; 198 199 pins_uart0_fc_b: uart0_fc_b { 200 broadcom,function = "ALT3"; 201 }; 202 203 pins_uart0_fc_c: uart0_fc_c { 204 broadcom,function = "ALT2"; 205 }; 206 207 /* PCM */ 208 pins_pcm_a: pcm_a { 209 broadcom,function = "ALT0"; 210 }; 211 212 pins_pcm_b: pcm_b { 213 broadcom,function = "ALT2"; 214 }; 215 216 /* Secondary Address Bus */ 217 pins_sm_addr_a: sm_addr_a { 218 broadcom,function = "ALT1"; 219 }; 220 221 pins_sm_addr_b: sm_addr_b { 222 broadcom,function = "ALT1"; 223 }; 224 225 pins_sm_ctl_a: sm_ctl_a { 226 broadcom,function = "ALT1"; 227 }; 228 229 pins_sm_ctl_b: sm_ctl_b { 230 broadcom,function = "ALT1"; 231 }; 232 233 pins_sm_data_8bit_a: sm_data_8bit_a { 234 broadcom,function = "ALT1"; 235 }; 236 237 pins_sm_data_8bit_b: sm_data_8bit_b { 238 broadcom,function = "ALT1"; 239 }; 240 241 pins_sm_data_16bit: sm_data_16bit { 242 broadcom,function = "ALT1"; 243 }; 244 245 pins_sm_data_18bit: sm_data_18bit { 246 broadcom,function = "ALT1"; 247 }; 248 249 /* BSCSL */ 250 pins_bscsl: bscsl { 251 broadcom,function = "ALT3"; 252 }; 253 254 /* SPISL */ 255 pins_spisl: spisl { 256 broadcom,function = "ALT3"; 257 }; 258 259 /* SPI1 */ 260 pins_spi1: spi1 { 261 broadcom,function = "ALT4"; 262 }; 263 264 /* UART1 */ 265 pins_uart1_a: uart1_a { 266 broadcom,function = "ALT5"; 267 }; 268 269 pins_uart1_b: uart1_b { 270 broadcom,function = "ALT5"; 271 }; 272 273 pins_uart1_c: uart1_c { 274 broadcom,function = "ALT5"; 275 }; 276 277 pins_uart1_fc_a: uart1_fc_a { 278 broadcom,function = "ALT5"; 279 }; 280 281 pins_uart1_fc_b: uart1_fc_b { 282 broadcom,function = "ALT5"; 283 }; 284 285 pins_uart1_fc_c: uart1_fc_c { 286 broadcom,function = "ALT5"; 287 }; 288 289 /* SPI2 */ 290 pins_spi2: spi2 { 291 broadcom,function = "ALT4"; 292 }; 293 294 /* ARM JTAG */ 295 pins_arm_jtag_trst: arm_jtag_trst { 296 broadcom,function = "ALT4"; 297 }; 298 299 pins_arm_jtag_a: arm_jtag_a { 300 broadcom,function = "ALT5"; 301 }; 302 303 pins_arm_jtag_b: arm_jtag_b { 304 broadcom,function = "ALT4"; 305 }; 306 307 /* Reserved */ 308 pins_reserved: reserved { 309 broadcom,function = "ALT3"; 310 }; 311 }; 312 usb { 313 hub { 314 compatible = "usb,hub", "usb,device"; 315 reg = <0x00000001>; 316 #address-cells = <1>; 317 #size-cells = <0>; 318 ethernet { 319 compatible = "net,ethernet", 320 "usb,device"; 321 reg = <0x00000001>; 322 mac-address = [00 00 00 00 00 00]; 323 }; 324 }; 325 326 }; 327 }; 328 329 display { 330 compatible = "broadcom,bcm2835-fb", "broadcom,bcm2708-fb"; 331 332 broadcom,vc-mailbox = <&vc_mbox>; 333 broadcom,vc-channel = <1>; 334 335 broadcom,width = <0>; /* Set by VideoCore */ 336 broadcom,height = <0>; /* Set by VideoCore */ 337 broadcom,depth = <0>; /* Set by VideoCore */ 338 }; 339 340 rpi_ft5406 { 341 compatible = "rpi,rpi-ft5406"; 342 status = "okay"; 343 }; 344 345 leds { 346 compatible = "gpio-leds"; 347 348 pwr { 349 label = "pwr"; 350 gpios = <&gpio 35 0>; 351 }; 352 353 act { 354 label = "act"; 355 gpios = <&gpio 47 0>; 356 }; 357 }; 358 359 power: regulator { 360 compatible = "broadcom,bcm2835-power-mgr", 361 "broadcom,bcm2708-power-mgr", 362 "simple-bus"; 363 #address-cells = <1>; 364 #size-cells = <0>; 365 366 broadcom,vc-mailbox = <&vc_mbox>; 367 broadcom,vc-channel = <0>; 368 369 regulator-name = "VideoCore"; 370 regulator-min-microvolt = <5000000>; 371 regulator-max-microvolt = <5000000>; 372 regulator-always-on = <1>; 373 374 sd_card_power: regulator@0 { 375 compatible = "broadcom,bcm2835-power-dev", 376 "broadcom,bcm2708-power-dev"; 377 reg = <0>; 378 379 vin-supply = <&power>; 380 regulator-name = "SD Card"; 381 regulator-min-microvolt = <3300000>; 382 regulator-max-microvolt = <3300000>; 383 }; 384 385 /* This is for the controller itself, not the root port */ 386 usb_hcd_power: regulator@3 { 387 compatible = "broadcom,bcm2835-power-dev", 388 "broadcom,bcm2708-power-dev"; 389 reg = <3>; 390 391 vin-supply = <&power>; 392 regulator-name = "USB HCD"; 393 regulator-min-microvolt = <5000000>; 394 regulator-max-microvolt = <5000000>; 395 }; 396 }; 397 398 aliases { 399 uart0 = &uart0; 400 }; 401 402 chosen { 403 bootargs = ""; /* Set by VideoCore */ 404 stdin = "uart0"; 405 stdout = "uart0"; 406 }; 407 408 __overrides__ { 409 cache_line_size = <&vchiq>, "cache-line-size:0"; 410 }; 411}; 412