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