1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 2 /dts-v1/; 3 #include "bcm2711.dtsi" 3 #include "bcm2711.dtsi" 4 #include "bcm2711-rpi.dtsi" 4 #include "bcm2711-rpi.dtsi" 5 #include "bcm283x-rpi-led-deprecated.dtsi" 5 #include "bcm283x-rpi-led-deprecated.dtsi" 6 #include "bcm283x-rpi-usb-peripheral.dtsi" 6 #include "bcm283x-rpi-usb-peripheral.dtsi" 7 #include "bcm283x-rpi-wifi-bt.dtsi" 7 #include "bcm283x-rpi-wifi-bt.dtsi" 8 #include <dt-bindings/leds/common.h> << 9 8 10 / { 9 / { 11 compatible = "raspberrypi,4-model-b", 10 compatible = "raspberrypi,4-model-b", "brcm,bcm2711"; 12 model = "Raspberry Pi 4 Model B"; 11 model = "Raspberry Pi 4 Model B"; 13 12 14 chosen { 13 chosen { 15 /* 8250 auxiliary UART instead 14 /* 8250 auxiliary UART instead of pl011 */ 16 stdout-path = "serial1:115200n 15 stdout-path = "serial1:115200n8"; 17 }; 16 }; 18 17 19 cam1_reg: regulator-cam1 { << 20 compatible = "regulator-fixed" << 21 regulator-name = "cam1-reg"; << 22 enable-active-high; << 23 gpio = <&expgpio 5 GPIO_ACTIVE << 24 }; << 25 << 26 sd_io_1v8_reg: regulator-sd-io-1v8 { 18 sd_io_1v8_reg: regulator-sd-io-1v8 { 27 compatible = "regulator-gpio"; 19 compatible = "regulator-gpio"; 28 regulator-name = "vdd-sd-io"; 20 regulator-name = "vdd-sd-io"; 29 regulator-min-microvolt = <180 21 regulator-min-microvolt = <1800000>; 30 regulator-max-microvolt = <330 22 regulator-max-microvolt = <3300000>; 31 regulator-boot-on; 23 regulator-boot-on; 32 regulator-always-on; 24 regulator-always-on; 33 regulator-settling-time-us = < 25 regulator-settling-time-us = <5000>; 34 gpios = <&expgpio 4 GPIO_ACTIV 26 gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>; 35 states = <1800000 0x1>, 27 states = <1800000 0x1>, 36 <3300000 0x0>; 28 <3300000 0x0>; 37 status = "okay"; 29 status = "okay"; 38 }; 30 }; 39 31 40 sd_vcc_reg: regulator-sd-vcc { 32 sd_vcc_reg: regulator-sd-vcc { 41 compatible = "regulator-fixed" 33 compatible = "regulator-fixed"; 42 regulator-name = "vcc-sd"; 34 regulator-name = "vcc-sd"; 43 regulator-min-microvolt = <330 35 regulator-min-microvolt = <3300000>; 44 regulator-max-microvolt = <330 36 regulator-max-microvolt = <3300000>; 45 regulator-boot-on; 37 regulator-boot-on; 46 enable-active-high; 38 enable-active-high; 47 gpio = <&expgpio 6 GPIO_ACTIVE 39 gpio = <&expgpio 6 GPIO_ACTIVE_HIGH>; 48 }; 40 }; 49 }; 41 }; 50 42 51 &bt { 43 &bt { 52 shutdown-gpios = <&expgpio 0 GPIO_ACTI 44 shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>; 53 }; 45 }; 54 46 55 &ddc0 { 47 &ddc0 { 56 status = "okay"; 48 status = "okay"; 57 }; 49 }; 58 50 59 &ddc1 { 51 &ddc1 { 60 status = "okay"; 52 status = "okay"; 61 }; 53 }; 62 54 63 &expgpio { 55 &expgpio { 64 gpio-line-names = "BT_ON", 56 gpio-line-names = "BT_ON", /* 0 */ 65 "WL_ON", 57 "WL_ON", 66 "PWR_LED_OFF", 58 "PWR_LED_OFF", 67 "GLOBAL_RESET", 59 "GLOBAL_RESET", 68 "VDD_SD_IO_SEL", 60 "VDD_SD_IO_SEL", 69 "CAM_GPIO", 61 "CAM_GPIO", /* 5 */ 70 "SD_PWR_ON", 62 "SD_PWR_ON", 71 ""; 63 ""; 72 }; 64 }; 73 65 74 &gpio { 66 &gpio { 75 /* 67 /* 76 * Parts taken from rpi_SCH_4b_4p0_red 68 * Parts taken from rpi_SCH_4b_4p0_reduced.pdf and 77 * the official GPU firmware DT blob. 69 * the official GPU firmware DT blob. 78 * 70 * 79 * Legend: 71 * Legend: 80 * "FOO" = GPIO line named "FOO" on th 72 * "FOO" = GPIO line named "FOO" on the schematic 81 * "FOO_N" = GPIO line named "FOO" on 73 * "FOO_N" = GPIO line named "FOO" on schematic, active low 82 */ 74 */ 83 gpio-line-names = "ID_SDA", 75 gpio-line-names = "ID_SDA", /* 0 */ 84 "ID_SCL", 76 "ID_SCL", 85 "SDA1", 77 "SDA1", 86 "SCL1", 78 "SCL1", 87 "GPIO_GCLK", 79 "GPIO_GCLK", 88 "GPIO5", 80 "GPIO5", /* 5 */ 89 "GPIO6", 81 "GPIO6", 90 "SPI_CE1_N", 82 "SPI_CE1_N", 91 "SPI_CE0_N", 83 "SPI_CE0_N", 92 "SPI_MISO", 84 "SPI_MISO", 93 "SPI_MOSI", 85 "SPI_MOSI", /* 10 */ 94 "SPI_SCLK", 86 "SPI_SCLK", 95 "GPIO12", 87 "GPIO12", 96 "GPIO13", 88 "GPIO13", 97 /* Serial port */ 89 /* Serial port */ 98 "TXD1", 90 "TXD1", 99 "RXD1", 91 "RXD1", /* 15 */ 100 "GPIO16", 92 "GPIO16", 101 "GPIO17", 93 "GPIO17", 102 "GPIO18", 94 "GPIO18", 103 "GPIO19", 95 "GPIO19", 104 "GPIO20", 96 "GPIO20", /* 20 */ 105 "GPIO21", 97 "GPIO21", 106 "GPIO22", 98 "GPIO22", 107 "GPIO23", 99 "GPIO23", 108 "GPIO24", 100 "GPIO24", 109 "GPIO25", 101 "GPIO25", /* 25 */ 110 "GPIO26", 102 "GPIO26", 111 "GPIO27", 103 "GPIO27", 112 "RGMII_MDIO", 104 "RGMII_MDIO", 113 "RGMIO_MDC", 105 "RGMIO_MDC", 114 /* Used by BT module 106 /* Used by BT module */ 115 "CTS0", 107 "CTS0", /* 30 */ 116 "RTS0", 108 "RTS0", 117 "TXD0", 109 "TXD0", 118 "RXD0", 110 "RXD0", 119 /* Used by Wifi */ 111 /* Used by Wifi */ 120 "SD1_CLK", 112 "SD1_CLK", 121 "SD1_CMD", 113 "SD1_CMD", /* 35 */ 122 "SD1_DATA0", 114 "SD1_DATA0", 123 "SD1_DATA1", 115 "SD1_DATA1", 124 "SD1_DATA2", 116 "SD1_DATA2", 125 "SD1_DATA3", 117 "SD1_DATA3", 126 /* Shared with SPI f 118 /* Shared with SPI flash */ 127 "PWM0_MISO", 119 "PWM0_MISO", /* 40 */ 128 "PWM1_MOSI", 120 "PWM1_MOSI", 129 "STATUS_LED_G_CLK", 121 "STATUS_LED_G_CLK", 130 "SPIFLASH_CE_N", 122 "SPIFLASH_CE_N", 131 "SDA0", 123 "SDA0", 132 "SCL0", 124 "SCL0", /* 45 */ 133 "RGMII_RXCLK", 125 "RGMII_RXCLK", 134 "RGMII_RXCTL", 126 "RGMII_RXCTL", 135 "RGMII_RXD0", 127 "RGMII_RXD0", 136 "RGMII_RXD1", 128 "RGMII_RXD1", 137 "RGMII_RXD2", 129 "RGMII_RXD2", /* 50 */ 138 "RGMII_RXD3", 130 "RGMII_RXD3", 139 "RGMII_TXCLK", 131 "RGMII_TXCLK", 140 "RGMII_TXCTL", 132 "RGMII_TXCTL", 141 "RGMII_TXD0", 133 "RGMII_TXD0", 142 "RGMII_TXD1", 134 "RGMII_TXD1", /* 55 */ 143 "RGMII_TXD2", 135 "RGMII_TXD2", 144 "RGMII_TXD3"; 136 "RGMII_TXD3"; 145 }; 137 }; 146 138 147 &hdmi0 { 139 &hdmi0 { 148 status = "okay"; 140 status = "okay"; 149 }; 141 }; 150 142 151 &hdmi1 { 143 &hdmi1 { 152 status = "okay"; 144 status = "okay"; 153 }; 145 }; 154 146 155 &led_act { 147 &led_act { 156 gpios = <&gpio 42 GPIO_ACTIVE_HIGH>; 148 gpios = <&gpio 42 GPIO_ACTIVE_HIGH>; 157 }; 149 }; 158 150 159 &leds { 151 &leds { 160 led_pwr: led-pwr { 152 led_pwr: led-pwr { 161 label = "PWR"; 153 label = "PWR"; 162 gpios = <&expgpio 2 GPIO_ACTIV 154 gpios = <&expgpio 2 GPIO_ACTIVE_LOW>; 163 default-state = "keep"; 155 default-state = "keep"; 164 linux,default-trigger = "defau 156 linux,default-trigger = "default-on"; 165 }; 157 }; 166 }; 158 }; 167 159 168 &pixelvalve0 { 160 &pixelvalve0 { 169 status = "okay"; 161 status = "okay"; 170 }; 162 }; 171 163 172 &pixelvalve1 { 164 &pixelvalve1 { 173 status = "okay"; 165 status = "okay"; 174 }; 166 }; 175 167 176 &pixelvalve2 { 168 &pixelvalve2 { 177 status = "okay"; 169 status = "okay"; 178 }; 170 }; 179 171 180 &pixelvalve4 { 172 &pixelvalve4 { 181 status = "okay"; 173 status = "okay"; 182 }; 174 }; 183 175 184 &pwm1 { 176 &pwm1 { 185 pinctrl-names = "default"; 177 pinctrl-names = "default"; 186 pinctrl-0 = <&pwm1_0_gpio40 &pwm1_1_gp 178 pinctrl-0 = <&pwm1_0_gpio40 &pwm1_1_gpio41>; 187 status = "okay"; 179 status = "okay"; 188 }; 180 }; 189 181 190 /* EMMC2 is used to drive the SD card */ 182 /* EMMC2 is used to drive the SD card */ 191 &emmc2 { 183 &emmc2 { 192 vqmmc-supply = <&sd_io_1v8_reg>; 184 vqmmc-supply = <&sd_io_1v8_reg>; 193 vmmc-supply = <&sd_vcc_reg>; 185 vmmc-supply = <&sd_vcc_reg>; 194 broken-cd; 186 broken-cd; 195 status = "okay"; 187 status = "okay"; 196 }; 188 }; 197 189 198 &genet { 190 &genet { 199 phy-handle = <&phy1>; 191 phy-handle = <&phy1>; 200 phy-mode = "rgmii-rxid"; 192 phy-mode = "rgmii-rxid"; 201 status = "okay"; 193 status = "okay"; 202 }; 194 }; 203 195 204 &genet_mdio { 196 &genet_mdio { 205 phy1: ethernet-phy@1 { 197 phy1: ethernet-phy@1 { 206 /* No PHY interrupt */ 198 /* No PHY interrupt */ 207 reg = <0x1>; 199 reg = <0x1>; 208 << 209 leds { << 210 #address-cells = <1>; << 211 #size-cells = <0>; << 212 << 213 /* LED1 */ << 214 led@0 { << 215 reg = <0>; << 216 color = <LED_C << 217 function = LED << 218 default-state << 219 }; << 220 << 221 /* LED2 */ << 222 led@1 { << 223 reg = <1>; << 224 color = <LED_C << 225 function = LED << 226 default-state << 227 }; << 228 }; << 229 }; 200 }; 230 }; 201 }; 231 202 232 &pcie0 { 203 &pcie0 { 233 pci@0,0 { 204 pci@0,0 { 234 device_type = "pci"; 205 device_type = "pci"; 235 #address-cells = <3>; 206 #address-cells = <3>; 236 #size-cells = <2>; 207 #size-cells = <2>; 237 ranges; 208 ranges; 238 209 239 reg = <0 0 0 0 0>; 210 reg = <0 0 0 0 0>; 240 211 241 usb@0,0 { 212 usb@0,0 { 242 reg = <0 0 0 0 0>; 213 reg = <0 0 0 0 0>; 243 resets = <&reset RASPB 214 resets = <&reset RASPBERRYPI_FIRMWARE_RESET_ID_USB>; 244 }; 215 }; 245 }; 216 }; 246 }; 217 }; 247 218 248 /* uart0 communicates with the BT module */ 219 /* uart0 communicates with the BT module */ 249 &uart0 { 220 &uart0 { 250 pinctrl-names = "default"; 221 pinctrl-names = "default"; 251 pinctrl-0 = <&uart0_ctsrts_gpio30 &uar 222 pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32>; 252 uart-has-rtscts; 223 uart-has-rtscts; 253 }; 224 }; 254 225 255 /* uart1 is mapped to the pin header */ 226 /* uart1 is mapped to the pin header */ 256 &uart1 { 227 &uart1 { 257 pinctrl-names = "default"; 228 pinctrl-names = "default"; 258 pinctrl-0 = <&uart1_gpio14>; 229 pinctrl-0 = <&uart1_gpio14>; 259 status = "okay"; 230 status = "okay"; 260 }; 231 }; 261 232 262 &vc4 { 233 &vc4 { 263 status = "okay"; 234 status = "okay"; 264 }; 235 }; 265 236 266 &vec { 237 &vec { 267 status = "disabled"; 238 status = "disabled"; 268 }; 239 }; 269 240 270 &wifi_pwrseq { 241 &wifi_pwrseq { 271 reset-gpios = <&expgpio 1 GPIO_ACTIVE_ 242 reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>; 272 }; 243 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.