xref: /freebsd/sys/contrib/device-tree/src/arm/broadcom/bcm2711-rpi-cm4-io.dts (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2f126890aSEmmanuel Vadot/dts-v1/;
3*7d0873ebSEmmanuel Vadot#include <dt-bindings/leds/common.h>
4f126890aSEmmanuel Vadot#include "bcm2711-rpi-cm4.dtsi"
5f126890aSEmmanuel Vadot#include "bcm283x-rpi-led-deprecated.dtsi"
6f126890aSEmmanuel Vadot#include "bcm283x-rpi-usb-host.dtsi"
7f126890aSEmmanuel Vadot
8f126890aSEmmanuel Vadot/ {
9f126890aSEmmanuel Vadot	model = "Raspberry Pi Compute Module 4 IO Board";
10f126890aSEmmanuel Vadot};
11f126890aSEmmanuel Vadot
12f126890aSEmmanuel Vadot&ddc0 {
13f126890aSEmmanuel Vadot	status = "okay";
14f126890aSEmmanuel Vadot};
15f126890aSEmmanuel Vadot
16f126890aSEmmanuel Vadot&ddc1 {
17f126890aSEmmanuel Vadot	status = "okay";
18f126890aSEmmanuel Vadot};
19f126890aSEmmanuel Vadot
20f126890aSEmmanuel Vadot&gpio {
21f126890aSEmmanuel Vadot	/*
22f126890aSEmmanuel Vadot	 * Parts taken from rpi_SCH_4b_4p0_reduced.pdf and
23f126890aSEmmanuel Vadot	 * the official GPU firmware DT blob.
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			  "TXD1",
45f126890aSEmmanuel Vadot			  "RXD1",
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			  "RGMII_MDIO",
59f126890aSEmmanuel Vadot			  "RGMIO_MDC",
60f126890aSEmmanuel Vadot			  /* Used by BT module */
61f126890aSEmmanuel Vadot			  "CTS0",
62f126890aSEmmanuel Vadot			  "RTS0",
63f126890aSEmmanuel Vadot			  "TXD0",
64f126890aSEmmanuel Vadot			  "RXD0",
65f126890aSEmmanuel Vadot			  /* Used by Wifi */
66f126890aSEmmanuel Vadot			  "SD1_CLK",
67f126890aSEmmanuel Vadot			  "SD1_CMD",
68f126890aSEmmanuel Vadot			  "SD1_DATA0",
69f126890aSEmmanuel Vadot			  "SD1_DATA1",
70f126890aSEmmanuel Vadot			  "SD1_DATA2",
71f126890aSEmmanuel Vadot			  "SD1_DATA3",
72f126890aSEmmanuel Vadot			  /* Shared with SPI flash */
73f126890aSEmmanuel Vadot			  "PWM0_MISO",
74f126890aSEmmanuel Vadot			  "PWM1_MOSI",
75f126890aSEmmanuel Vadot			  "STATUS_LED_G_CLK",
76f126890aSEmmanuel Vadot			  "SPIFLASH_CE_N",
77f126890aSEmmanuel Vadot			  "SDA0",
78f126890aSEmmanuel Vadot			  "SCL0",
79f126890aSEmmanuel Vadot			  "RGMII_RXCLK",
80f126890aSEmmanuel Vadot			  "RGMII_RXCTL",
81f126890aSEmmanuel Vadot			  "RGMII_RXD0",
82f126890aSEmmanuel Vadot			  "RGMII_RXD1",
83f126890aSEmmanuel Vadot			  "RGMII_RXD2",
84f126890aSEmmanuel Vadot			  "RGMII_RXD3",
85f126890aSEmmanuel Vadot			  "RGMII_TXCLK",
86f126890aSEmmanuel Vadot			  "RGMII_TXCTL",
87f126890aSEmmanuel Vadot			  "RGMII_TXD0",
88f126890aSEmmanuel Vadot			  "RGMII_TXD1",
89f126890aSEmmanuel Vadot			  "RGMII_TXD2",
90f126890aSEmmanuel Vadot			  "RGMII_TXD3";
91f126890aSEmmanuel Vadot};
92f126890aSEmmanuel Vadot
93f126890aSEmmanuel Vadot&hdmi0 {
94f126890aSEmmanuel Vadot	status = "okay";
95f126890aSEmmanuel Vadot};
96f126890aSEmmanuel Vadot
97f126890aSEmmanuel Vadot&hdmi1 {
98f126890aSEmmanuel Vadot	status = "okay";
99f126890aSEmmanuel Vadot};
100f126890aSEmmanuel Vadot
101f126890aSEmmanuel Vadot&genet {
102f126890aSEmmanuel Vadot	status = "okay";
103f126890aSEmmanuel Vadot};
104f126890aSEmmanuel Vadot
105*7d0873ebSEmmanuel Vadot&i2c0_1 {
106*7d0873ebSEmmanuel Vadot	rtc@51 {
107*7d0873ebSEmmanuel Vadot		/* Attention: An alarm resets the machine */
108*7d0873ebSEmmanuel Vadot		compatible = "nxp,pcf85063a";
109*7d0873ebSEmmanuel Vadot		reg = <0x51>;
110*7d0873ebSEmmanuel Vadot		quartz-load-femtofarads = <7000>;
111*7d0873ebSEmmanuel Vadot	};
112*7d0873ebSEmmanuel Vadot};
113*7d0873ebSEmmanuel Vadot
114*7d0873ebSEmmanuel Vadot&phy1 {
115*7d0873ebSEmmanuel Vadot	leds {
116*7d0873ebSEmmanuel Vadot		#address-cells = <1>;
117*7d0873ebSEmmanuel Vadot		#size-cells = <0>;
118*7d0873ebSEmmanuel Vadot
119*7d0873ebSEmmanuel Vadot		/* LED2 */
120*7d0873ebSEmmanuel Vadot		led@1 {
121*7d0873ebSEmmanuel Vadot			reg = <1>;
122*7d0873ebSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
123*7d0873ebSEmmanuel Vadot			function = LED_FUNCTION_LAN;
124*7d0873ebSEmmanuel Vadot			default-state = "keep";
125*7d0873ebSEmmanuel Vadot		};
126*7d0873ebSEmmanuel Vadot
127*7d0873ebSEmmanuel Vadot		/* LED3 */
128*7d0873ebSEmmanuel Vadot		led@2 {
129*7d0873ebSEmmanuel Vadot			reg = <2>;
130*7d0873ebSEmmanuel Vadot			color = <LED_COLOR_ID_AMBER>;
131*7d0873ebSEmmanuel Vadot			function = LED_FUNCTION_LAN;
132*7d0873ebSEmmanuel Vadot			default-state = "keep";
133*7d0873ebSEmmanuel Vadot		};
134*7d0873ebSEmmanuel Vadot	};
135*7d0873ebSEmmanuel Vadot};
136*7d0873ebSEmmanuel Vadot
137f126890aSEmmanuel Vadot&led_act {
138f126890aSEmmanuel Vadot	gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
139f126890aSEmmanuel Vadot};
140f126890aSEmmanuel Vadot
141f126890aSEmmanuel Vadot&leds {
142f126890aSEmmanuel Vadot	led-pwr {
143f126890aSEmmanuel Vadot		label = "PWR";
144f126890aSEmmanuel Vadot		gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
145f126890aSEmmanuel Vadot		default-state = "keep";
146f126890aSEmmanuel Vadot		linux,default-trigger = "default-on";
147f126890aSEmmanuel Vadot	};
148f126890aSEmmanuel Vadot};
149f126890aSEmmanuel Vadot
150f126890aSEmmanuel Vadot&pixelvalve0 {
151f126890aSEmmanuel Vadot	status = "okay";
152f126890aSEmmanuel Vadot};
153f126890aSEmmanuel Vadot
154f126890aSEmmanuel Vadot&pixelvalve1 {
155f126890aSEmmanuel Vadot	status = "okay";
156f126890aSEmmanuel Vadot};
157f126890aSEmmanuel Vadot
158f126890aSEmmanuel Vadot&pixelvalve2 {
159f126890aSEmmanuel Vadot	status = "okay";
160f126890aSEmmanuel Vadot};
161f126890aSEmmanuel Vadot
162f126890aSEmmanuel Vadot&pixelvalve4 {
163f126890aSEmmanuel Vadot	status = "okay";
164f126890aSEmmanuel Vadot};
165f126890aSEmmanuel Vadot
166f126890aSEmmanuel Vadot&vc4 {
167f126890aSEmmanuel Vadot	status = "okay";
168f126890aSEmmanuel Vadot};
169f126890aSEmmanuel Vadot
170f126890aSEmmanuel Vadot&vec {
171f126890aSEmmanuel Vadot	status = "disabled";
172f126890aSEmmanuel Vadot};
173