Skip to content

Commit

Permalink
ARM: bcm2835: Add device tree for Raspberry Pi model B+
Browse files Browse the repository at this point in the history
The model B and B+ differ in the GPIO lines for ACT and PWR leds, and the
I2S interface.

Signed-off-by: Matthias Klein <matthias.klein@linux.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
  • Loading branch information
Matthias Klein authored and Arnd Bergmann committed Nov 20, 2014
1 parent 498149d commit ba2a1d6
Show file tree
Hide file tree
Showing 4 changed files with 85 additions and 43 deletions.
1 change: 1 addition & 0 deletions arch/arm/boot/dts/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4ek.dtb
dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b-plus.dtb
dtb-$(CONFIG_ARCH_BCM_CYGNUS) += \
bcm911360_entphn.dtb \
bcm911360k.dtb \
Expand Down
30 changes: 30 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/dts-v1/;
/include/ "bcm2835-rpi.dtsi"

/ {
compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
model = "Raspberry Pi Model B+";

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 = <4>; /* alt0 */
};
};
46 changes: 3 additions & 43 deletions arch/arm/boot/dts/bcm2835-rpi-b.dts
Original file line number Diff line number Diff line change
@@ -1,63 +1,23 @@
/dts-v1/;
/include/ "bcm2835.dtsi"
/include/ "bcm2835-rpi.dtsi"

/ {
compatible = "raspberrypi,model-b", "brcm,bcm2835";
model = "Raspberry Pi Model B";

memory {
reg = <0 0x10000000>;
};

leds {
compatible = "gpio-leds";

act {
label = "ACT";
gpios = <&gpio 16 1>;
default-state = "keep";
linux,default-trigger = "heartbeat";
};
};
};

&gpio {
pinctrl-names = "default";
pinctrl-0 = <&gpioout &alt0 &alt2 &alt3>;

gpioout: gpioout {
brcm,pins = <6>;
brcm,function = <1>; /* GPIO out */
};

alt0: alt0 {
brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15 40 45>;
brcm,function = <4>; /* alt0 */
};

alt3: alt3 {
brcm,pins = <48 49 50 51 52 53>;
brcm,function = <7>; /* alt3 */
};
pinctrl-0 = <&gpioout &alt0 &i2s_alt2 &alt3>;

/* I2S interface */
alt2: alt2 {
i2s_alt2: i2s_alt2 {
brcm,pins = <28 29 30 31>;
brcm,function = <6>; /* alt2 */
};
};

&i2c0 {
status = "okay";
clock-frequency = <100000>;
};

&i2c1 {
status = "okay";
clock-frequency = <100000>;
};

&sdhci {
status = "okay";
bus-width = <4>;
};
51 changes: 51 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/include/ "bcm2835.dtsi"

/ {
memory {
reg = <0 0x10000000>;
};

leds {
compatible = "gpio-leds";

act {
label = "ACT";
default-state = "keep";
linux,default-trigger = "heartbeat";
};
};
};

&gpio {
pinctrl-names = "default";

gpioout: gpioout {
brcm,pins = <6>;
brcm,function = <1>; /* GPIO out */
};

alt0: alt0 {
brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15 40 45>;
brcm,function = <4>; /* alt0 */
};

alt3: alt3 {
brcm,pins = <48 49 50 51 52 53>;
brcm,function = <7>; /* alt3 */
};
};

&i2c0 {
status = "okay";
clock-frequency = <100000>;
};

&i2c1 {
status = "okay";
clock-frequency = <100000>;
};

&sdhci {
status = "okay";
bus-width = <4>;
};

0 comments on commit ba2a1d6

Please sign in to comment.