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