xref: /freebsd/sys/contrib/device-tree/src/arm/broadcom/bcm2835-rpi-a.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-usb-host.dtsi"
8f126890aSEmmanuel Vadot
9f126890aSEmmanuel Vadot/ {
10f126890aSEmmanuel Vadot	compatible = "raspberrypi,model-a", "brcm,bcm2835";
11f126890aSEmmanuel Vadot	model = "Raspberry Pi Model A";
12f126890aSEmmanuel Vadot
13f126890aSEmmanuel Vadot	memory@0 {
14f126890aSEmmanuel Vadot		device_type = "memory";
15f126890aSEmmanuel Vadot		reg = <0 0x10000000>;
16f126890aSEmmanuel Vadot	};
17f126890aSEmmanuel Vadot};
18f126890aSEmmanuel Vadot
19f126890aSEmmanuel Vadot&gpio {
20f126890aSEmmanuel Vadot	/*
21f126890aSEmmanuel Vadot	 * Taken from Raspberry-Pi-Rev-1.0-Model-AB-Schematics.pdf
22f126890aSEmmanuel Vadot	 * RPI00021 sheet 02
23f126890aSEmmanuel Vadot	 *
24f126890aSEmmanuel Vadot	 * Legend:
25f126890aSEmmanuel Vadot	 * "FOO" = GPIO line named "FOO" on the schematic
26f126890aSEmmanuel Vadot	 * "FOO_N" = GPIO line named "FOO" on schematic, active low
27f126890aSEmmanuel Vadot	 */
28f126890aSEmmanuel Vadot	gpio-line-names = "SDA0",
29f126890aSEmmanuel Vadot			  "SCL0",
30f126890aSEmmanuel Vadot			  "SDA1",
31f126890aSEmmanuel Vadot			  "SCL1",
32f126890aSEmmanuel Vadot			  "GPIO_GCLK",
33f126890aSEmmanuel Vadot			  "CAM_GPIO1",
34f126890aSEmmanuel Vadot			  "LAN_RUN",
35f126890aSEmmanuel Vadot			  "SPI_CE1_N",
36f126890aSEmmanuel Vadot			  "SPI_CE0_N",
37f126890aSEmmanuel Vadot			  "SPI_MISO",
38f126890aSEmmanuel Vadot			  "SPI_MOSI",
39f126890aSEmmanuel Vadot			  "SPI_SCLK",
40f126890aSEmmanuel Vadot			  "", /* GPIO12 */
41f126890aSEmmanuel Vadot			  "", /* GPIO13 */
42f126890aSEmmanuel Vadot			  /* Serial port */
43f126890aSEmmanuel Vadot			  "TXD0",
44f126890aSEmmanuel Vadot			  "RXD0",
45f126890aSEmmanuel Vadot			  "STATUS_LED_N",
46f126890aSEmmanuel Vadot			  "GPIO17",
47f126890aSEmmanuel Vadot			  "GPIO18",
48f126890aSEmmanuel Vadot			  "", /* GPIO19 */
49f126890aSEmmanuel Vadot			  "", /* GPIO20 */
50f126890aSEmmanuel Vadot			  "GPIO21",
51f126890aSEmmanuel Vadot			  "GPIO22",
52f126890aSEmmanuel Vadot			  "GPIO23",
53f126890aSEmmanuel Vadot			  "GPIO24",
54f126890aSEmmanuel Vadot			  "GPIO25",
55f126890aSEmmanuel Vadot			  "", /* GPIO26 */
56f126890aSEmmanuel Vadot			  "CAM_GPIO0",
57f126890aSEmmanuel Vadot			  /* Binary number representing build/revision */
58f126890aSEmmanuel Vadot			  "CONFIG0",
59f126890aSEmmanuel Vadot			  "CONFIG1",
60f126890aSEmmanuel Vadot			  "CONFIG2",
61f126890aSEmmanuel Vadot			  "CONFIG3",
62f126890aSEmmanuel Vadot			  "", /* GPIO32 */
63f126890aSEmmanuel Vadot			  "", /* GPIO33 */
64f126890aSEmmanuel Vadot			  "", /* GPIO34 */
65f126890aSEmmanuel Vadot			  "", /* GPIO35 */
66f126890aSEmmanuel Vadot			  "", /* GPIO36 */
67f126890aSEmmanuel Vadot			  "", /* GPIO37 */
68f126890aSEmmanuel Vadot			  "", /* GPIO38 */
69f126890aSEmmanuel Vadot			  "", /* GPIO39 */
70f126890aSEmmanuel Vadot			  "PWM0_OUT",
71f126890aSEmmanuel Vadot			  "", /* GPIO41 */
72f126890aSEmmanuel Vadot			  "", /* GPIO42 */
73f126890aSEmmanuel Vadot			  "", /* GPIO43 */
74f126890aSEmmanuel Vadot			  "", /* GPIO44 */
75f126890aSEmmanuel Vadot			  "PWM1_OUT",
76f126890aSEmmanuel Vadot			  "HDMI_HPD_P",
77f126890aSEmmanuel Vadot			  "SD_CARD_DET",
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_alt2>;
88f126890aSEmmanuel Vadot
89f126890aSEmmanuel Vadot	/* I2S interface */
90f126890aSEmmanuel Vadot	i2s_alt2: i2s_alt2 {
91f126890aSEmmanuel Vadot		brcm,pins = <28 29 30 31>;
92f126890aSEmmanuel Vadot		brcm,function = <BCM2835_FSEL_ALT2>;
93f126890aSEmmanuel Vadot	};
94f126890aSEmmanuel Vadot};
95f126890aSEmmanuel Vadot
96f126890aSEmmanuel Vadot&hdmi {
97f126890aSEmmanuel Vadot	hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
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 16 GPIO_ACTIVE_LOW>;
104f126890aSEmmanuel Vadot};
105f126890aSEmmanuel Vadot
106f126890aSEmmanuel Vadot&pwm {
107f126890aSEmmanuel Vadot	pinctrl-names = "default";
108f126890aSEmmanuel Vadot	pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>;
109f126890aSEmmanuel Vadot	status = "okay";
110f126890aSEmmanuel Vadot};
111f126890aSEmmanuel Vadot
112f126890aSEmmanuel Vadot&sdhost {
113f126890aSEmmanuel Vadot	pinctrl-names = "default";
114f126890aSEmmanuel Vadot	pinctrl-0 = <&sdhost_gpio48>;
115f126890aSEmmanuel Vadot	bus-width = <4>;
116f126890aSEmmanuel Vadot	status = "okay";
117f126890aSEmmanuel Vadot};
118f126890aSEmmanuel Vadot
119f126890aSEmmanuel Vadot&uart0 {
120f126890aSEmmanuel Vadot	pinctrl-names = "default";
121f126890aSEmmanuel Vadot	pinctrl-0 = <&uart0_gpio14>;
122f126890aSEmmanuel Vadot	status = "okay";
123f126890aSEmmanuel Vadot};
124