-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: bcm2835: Add devicetree for bcm2836 and Raspberry Pi 2 B
The Pi 2 B ends up like a Pi 1 B+, with the same peripherals and pinout, but the CPU and memory layout changed to use the 2836. Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Loading branch information
Eric Anholt
authored and
Arnd Bergmann
committed
Dec 31, 2015
1 parent
4b8c390
commit 80534f0
Showing
3 changed files
with
115 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
/dts-v1/; | ||
#include "bcm2836.dtsi" | ||
#include "bcm2835-rpi.dtsi" | ||
|
||
/ { | ||
compatible = "raspberrypi,2-model-b", "brcm,bcm2836"; | ||
model = "Raspberry Pi 2 Model B"; | ||
|
||
memory { | ||
reg = <0 0x40000000>; | ||
}; | ||
|
||
leds { | ||
act { | ||
gpios = <&gpio 47 0>; | ||
}; | ||
|
||
pwr { | ||
label = "PWR"; | ||
gpios = <&gpio 35 0>; | ||
default-state = "keep"; | ||
linux,default-trigger = "default-on"; | ||
}; | ||
}; | ||
}; | ||
|
||
&gpio { | ||
pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>; | ||
|
||
/* I2S interface */ | ||
i2s_alt0: i2s_alt0 { | ||
brcm,pins = <18 19 20 21>; | ||
brcm,function = <BCM2835_FSEL_ALT0>; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
#include "bcm283x.dtsi" | ||
|
||
/ { | ||
compatible = "brcm,bcm2836"; | ||
|
||
soc { | ||
ranges = <0x7e000000 0x3f000000 0x1000000>, | ||
<0x40000000 0x40000000 0x00001000>; | ||
dma-ranges = <0xc0000000 0x00000000 0x3f000000>; | ||
|
||
local_intc: local_intc { | ||
compatible = "brcm,bcm2836-l1-intc"; | ||
reg = <0x40000000 0x100>; | ||
interrupt-controller; | ||
#interrupt-cells = <1>; | ||
interrupt-parent = <&local_intc>; | ||
}; | ||
|
||
arm-pmu { | ||
compatible = "arm,cortex-a7-pmu"; | ||
interrupt-parent = <&local_intc>; | ||
interrupts = <9>; | ||
}; | ||
}; | ||
|
||
timer { | ||
compatible = "arm,armv7-timer"; | ||
interrupt-parent = <&local_intc>; | ||
interrupts = <0>, // PHYS_SECURE_PPI | ||
<1>, // PHYS_NONSECURE_PPI | ||
<3>, // VIRT_PPI | ||
<2>; // HYP_PPI | ||
always-on; | ||
}; | ||
|
||
cpus: cpus { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
v7_cpu0: cpu@0 { | ||
device_type = "cpu"; | ||
compatible = "arm,cortex-a7"; | ||
reg = <0xf00>; | ||
clock-frequency = <800000000>; | ||
}; | ||
|
||
v7_cpu1: cpu@1 { | ||
device_type = "cpu"; | ||
compatible = "arm,cortex-a7"; | ||
reg = <0xf01>; | ||
clock-frequency = <800000000>; | ||
}; | ||
|
||
v7_cpu2: cpu@2 { | ||
device_type = "cpu"; | ||
compatible = "arm,cortex-a7"; | ||
reg = <0xf02>; | ||
clock-frequency = <800000000>; | ||
}; | ||
|
||
v7_cpu3: cpu@3 { | ||
device_type = "cpu"; | ||
compatible = "arm,cortex-a7"; | ||
reg = <0xf03>; | ||
clock-frequency = <800000000>; | ||
}; | ||
}; | ||
}; | ||
|
||
/* Make the BCM2835-style global interrupt controller be a child of the | ||
* CPU-local interrupt controller. | ||
*/ | ||
&intc { | ||
compatible = "brcm,bcm2836-armctrl-ic"; | ||
reg = <0x7e00b200 0x200>; | ||
interrupt-parent = <&local_intc>; | ||
interrupts = <8>; | ||
}; |