Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ba2a1d69 authored by Matthias Klein's avatar Matthias Klein Committed by Arnd Bergmann
Browse files

ARM: bcm2835: Add device tree for Raspberry Pi model B+



The model B and B+ differ in the GPIO lines for ACT and PWR leds, and the
I2S interface.

Signed-off-by: default avatarMatthias Klein <matthias.klein@linux.com>
Tested-by: default avatarStephen Warren <swarren@nvidia.com>
Signed-off-by: default avatarLee Jones <lee@kernel.org>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 498149dd
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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 \
+30 −0
Original line number Diff line number Diff line
/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 */
	};
};
+3 −43
Original line number Diff line number Diff line
/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 −0
Original line number Diff line number Diff line
/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>;
};