xref: /freebsd/sys/contrib/device-tree/src/arm/broadcom/bcm2835-rpi-b-plus.dts (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2f126890aSEmmanuel Vadot/dts-v1/;
3f126890aSEmmanuel Vadot#include "bcm2835.dtsi"
4f126890aSEmmanuel Vadot#include "bcm2835-rpi.dtsi"
5f126890aSEmmanuel Vadot#include "bcm2835-rpi-common.dtsi"
6f126890aSEmmanuel Vadot#include "bcm283x-rpi-led-deprecated.dtsi"
7f126890aSEmmanuel Vadot#include "bcm283x-rpi-smsc9514.dtsi"
8f126890aSEmmanuel Vadot#include "bcm283x-rpi-usb-host.dtsi"
9f126890aSEmmanuel Vadot
10f126890aSEmmanuel Vadot/ {
11f126890aSEmmanuel Vadot	compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
12f126890aSEmmanuel Vadot	model = "Raspberry Pi Model B+";
13f126890aSEmmanuel Vadot
14f126890aSEmmanuel Vadot	memory@0 {
15f126890aSEmmanuel Vadot		device_type = "memory";
16f126890aSEmmanuel Vadot		reg = <0 0x20000000>;
17f126890aSEmmanuel Vadot	};
18f126890aSEmmanuel Vadot};
19f126890aSEmmanuel Vadot
20f126890aSEmmanuel Vadot&gpio {
21f126890aSEmmanuel Vadot	/*
22f126890aSEmmanuel Vadot	 * Taken from Raspberry-Pi-B-Plus-V1.2-Schematics.pdf
23f126890aSEmmanuel Vadot	 * RPI-BPLUS sheet 1
24f126890aSEmmanuel Vadot	 *
25f126890aSEmmanuel Vadot	 * Legend:
26f126890aSEmmanuel Vadot	 * "FOO" = GPIO line named "FOO" on the schematic
27f126890aSEmmanuel Vadot	 * "FOO_N" = GPIO line named "FOO" on schematic, active low
28f126890aSEmmanuel Vadot	 */
29f126890aSEmmanuel Vadot	gpio-line-names = "ID_SDA",
30f126890aSEmmanuel Vadot			  "ID_SCL",
31f126890aSEmmanuel Vadot			  "SDA1",
32f126890aSEmmanuel Vadot			  "SCL1",
33f126890aSEmmanuel Vadot			  "GPIO_GCLK",
34f126890aSEmmanuel Vadot			  "GPIO5",
35f126890aSEmmanuel Vadot			  "GPIO6",
36f126890aSEmmanuel Vadot			  "SPI_CE1_N",
37f126890aSEmmanuel Vadot			  "SPI_CE0_N",
38f126890aSEmmanuel Vadot			  "SPI_MISO",
39f126890aSEmmanuel Vadot			  "SPI_MOSI",
40f126890aSEmmanuel Vadot			  "SPI_SCLK",
41f126890aSEmmanuel Vadot			  "GPIO12",
42f126890aSEmmanuel Vadot			  "GPIO13",
43f126890aSEmmanuel Vadot			  /* Serial port */
44f126890aSEmmanuel Vadot			  "TXD0",
45f126890aSEmmanuel Vadot			  "RXD0",
46f126890aSEmmanuel Vadot			  "GPIO16",
47f126890aSEmmanuel Vadot			  "GPIO17",
48f126890aSEmmanuel Vadot			  "GPIO18",
49f126890aSEmmanuel Vadot			  "GPIO19",
50f126890aSEmmanuel Vadot			  "GPIO20",
51f126890aSEmmanuel Vadot			  "GPIO21",
52f126890aSEmmanuel Vadot			  "GPIO22",
53f126890aSEmmanuel Vadot			  "GPIO23",
54f126890aSEmmanuel Vadot			  "GPIO24",
55f126890aSEmmanuel Vadot			  "GPIO25",
56f126890aSEmmanuel Vadot			  "GPIO26",
57f126890aSEmmanuel Vadot			  "GPIO27",
58f126890aSEmmanuel Vadot			  "SDA0",
59f126890aSEmmanuel Vadot			  "SCL0",
60f126890aSEmmanuel Vadot			  "", /* GPIO30 */
61f126890aSEmmanuel Vadot			  "LAN_RUN", /* GPIO31 */
62f126890aSEmmanuel Vadot			  "CAM_GPIO1", /* GPIO32 */
63f126890aSEmmanuel Vadot			  "", /* GPIO33 */
64f126890aSEmmanuel Vadot			  "", /* GPIO34 */
65f126890aSEmmanuel Vadot			  "PWR_LOW_N", /* GPIO35 */
66f126890aSEmmanuel Vadot			  "", /* GPIO36 */
67f126890aSEmmanuel Vadot			  "", /* GPIO37 */
68f126890aSEmmanuel Vadot			  "USB_LIMIT", /* GPIO38 */
69f126890aSEmmanuel Vadot			  "", /* GPIO39 */
70f126890aSEmmanuel Vadot			  "PWM0_OUT", /* GPIO40 */
71f126890aSEmmanuel Vadot			  "CAM_GPIO0", /* GPIO41 */
72f126890aSEmmanuel Vadot			  "", /* GPIO42 */
73f126890aSEmmanuel Vadot			  "", /* GPIO43 */
74f126890aSEmmanuel Vadot			  "ETH_CLK", /* GPIO44 */
75f126890aSEmmanuel Vadot			  "PWM1_OUT", /* GPIO45 */
76f126890aSEmmanuel Vadot			  "HDMI_HPD_N",
77f126890aSEmmanuel Vadot			  "STATUS_LED",
78f126890aSEmmanuel Vadot			  /* Used by SD Card */
79f126890aSEmmanuel Vadot			  "SD_CLK_R",
80f126890aSEmmanuel Vadot			  "SD_CMD_R",
81f126890aSEmmanuel Vadot			  "SD_DATA0_R",
82f126890aSEmmanuel Vadot			  "SD_DATA1_R",
83f126890aSEmmanuel Vadot			  "SD_DATA2_R",
84f126890aSEmmanuel Vadot			  "SD_DATA3_R";
85f126890aSEmmanuel Vadot
86*aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
87f126890aSEmmanuel Vadot	pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
88f126890aSEmmanuel Vadot
89f126890aSEmmanuel Vadot	/* I2S interface */
90f126890aSEmmanuel Vadot	i2s_alt0: i2s_alt0 {
91f126890aSEmmanuel Vadot		brcm,pins = <18 19 20 21>;
92f126890aSEmmanuel Vadot		brcm,function = <BCM2835_FSEL_ALT0>;
93f126890aSEmmanuel Vadot	};
94f126890aSEmmanuel Vadot};
95f126890aSEmmanuel Vadot
96f126890aSEmmanuel Vadot&hdmi {
97f126890aSEmmanuel Vadot	hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
98f126890aSEmmanuel Vadot	power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
99f126890aSEmmanuel Vadot	status = "okay";
100f126890aSEmmanuel Vadot};
101f126890aSEmmanuel Vadot
102f126890aSEmmanuel Vadot&led_act {
103f126890aSEmmanuel Vadot	gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
104f126890aSEmmanuel Vadot};
105f126890aSEmmanuel Vadot
106f126890aSEmmanuel Vadot&leds {
107f126890aSEmmanuel Vadot	led-pwr {
108f126890aSEmmanuel Vadot		label = "PWR";
109f126890aSEmmanuel Vadot		gpios = <&gpio 35 GPIO_ACTIVE_HIGH>;
110f126890aSEmmanuel Vadot		default-state = "keep";
111f126890aSEmmanuel Vadot		linux,default-trigger = "default-on";
112f126890aSEmmanuel Vadot	};
113f126890aSEmmanuel Vadot};
114f126890aSEmmanuel Vadot
115f126890aSEmmanuel Vadot&pwm {
116f126890aSEmmanuel Vadot	pinctrl-names = "default";
117f126890aSEmmanuel Vadot	pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>;
118f126890aSEmmanuel Vadot	status = "okay";
119f126890aSEmmanuel Vadot};
120f126890aSEmmanuel Vadot
121f126890aSEmmanuel Vadot&sdhost {
122f126890aSEmmanuel Vadot	pinctrl-names = "default";
123f126890aSEmmanuel Vadot	pinctrl-0 = <&sdhost_gpio48>;
124f126890aSEmmanuel Vadot	bus-width = <4>;
125f126890aSEmmanuel Vadot	status = "okay";
126f126890aSEmmanuel Vadot};
127f126890aSEmmanuel Vadot
128f126890aSEmmanuel Vadot&uart0 {
129f126890aSEmmanuel Vadot	pinctrl-names = "default";
130f126890aSEmmanuel Vadot	pinctrl-0 = <&uart0_gpio14>;
131f126890aSEmmanuel Vadot	status = "okay";
132f126890aSEmmanuel Vadot};
133