123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- // SPDX-License-Identifier: GPL-2.0
- /dts-v1/;
- #include "bcm2711.dtsi"
- #include "bcm2711-rpi.dtsi"
- #include "bcm283x-rpi-usb-peripheral.dtsi"
- #include "bcm283x-rpi-wifi-bt.dtsi"
- / {
- compatible = "raspberrypi,4-model-b", "brcm,bcm2711";
- model = "Raspberry Pi 4 Model B";
- chosen {
- /* 8250 auxiliary UART instead of pl011 */
- stdout-path = "serial1:115200n8";
- };
- leds {
- led-act {
- gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
- };
- led-pwr {
- label = "PWR";
- gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
- default-state = "keep";
- linux,default-trigger = "default-on";
- };
- };
- sd_io_1v8_reg: sd_io_1v8_reg {
- compatible = "regulator-gpio";
- regulator-name = "vdd-sd-io";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <3300000>;
- regulator-boot-on;
- regulator-always-on;
- regulator-settling-time-us = <5000>;
- gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>;
- states = <1800000 0x1>,
- <3300000 0x0>;
- status = "okay";
- };
- sd_vcc_reg: sd_vcc_reg {
- compatible = "regulator-fixed";
- regulator-name = "vcc-sd";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- regulator-boot-on;
- enable-active-high;
- gpio = <&expgpio 6 GPIO_ACTIVE_HIGH>;
- };
- };
- &bt {
- shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
- };
- &ddc0 {
- status = "okay";
- };
- &ddc1 {
- status = "okay";
- };
- &expgpio {
- gpio-line-names = "BT_ON", /* 0 */
- "WL_ON",
- "PWR_LED_OFF",
- "GLOBAL_RESET",
- "VDD_SD_IO_SEL",
- "CAM_GPIO", /* 5 */
- "SD_PWR_ON",
- "";
- };
- &gpio {
- /*
- * Parts taken from rpi_SCH_4b_4p0_reduced.pdf and
- * the official GPU firmware DT blob.
- *
- * Legend:
- * "FOO" = GPIO line named "FOO" on the schematic
- * "FOO_N" = GPIO line named "FOO" on schematic, active low
- */
- gpio-line-names = "ID_SDA", /* 0 */
- "ID_SCL",
- "SDA1",
- "SCL1",
- "GPIO_GCLK",
- "GPIO5", /* 5 */
- "GPIO6",
- "SPI_CE1_N",
- "SPI_CE0_N",
- "SPI_MISO",
- "SPI_MOSI", /* 10 */
- "SPI_SCLK",
- "GPIO12",
- "GPIO13",
- /* Serial port */
- "TXD1",
- "RXD1", /* 15 */
- "GPIO16",
- "GPIO17",
- "GPIO18",
- "GPIO19",
- "GPIO20", /* 20 */
- "GPIO21",
- "GPIO22",
- "GPIO23",
- "GPIO24",
- "GPIO25", /* 25 */
- "GPIO26",
- "GPIO27",
- "RGMII_MDIO",
- "RGMIO_MDC",
- /* Used by BT module */
- "CTS0", /* 30 */
- "RTS0",
- "TXD0",
- "RXD0",
- /* Used by Wifi */
- "SD1_CLK",
- "SD1_CMD", /* 35 */
- "SD1_DATA0",
- "SD1_DATA1",
- "SD1_DATA2",
- "SD1_DATA3",
- /* Shared with SPI flash */
- "PWM0_MISO", /* 40 */
- "PWM1_MOSI",
- "STATUS_LED_G_CLK",
- "SPIFLASH_CE_N",
- "SDA0",
- "SCL0", /* 45 */
- "RGMII_RXCLK",
- "RGMII_RXCTL",
- "RGMII_RXD0",
- "RGMII_RXD1",
- "RGMII_RXD2", /* 50 */
- "RGMII_RXD3",
- "RGMII_TXCLK",
- "RGMII_TXCTL",
- "RGMII_TXD0",
- "RGMII_TXD1", /* 55 */
- "RGMII_TXD2",
- "RGMII_TXD3";
- };
- &hdmi0 {
- status = "okay";
- };
- &hdmi1 {
- status = "okay";
- };
- &pixelvalve0 {
- status = "okay";
- };
- &pixelvalve1 {
- status = "okay";
- };
- &pixelvalve2 {
- status = "okay";
- };
- &pixelvalve4 {
- status = "okay";
- };
- &pwm1 {
- pinctrl-names = "default";
- pinctrl-0 = <&pwm1_0_gpio40 &pwm1_1_gpio41>;
- status = "okay";
- };
- /* EMMC2 is used to drive the SD card */
- &emmc2 {
- vqmmc-supply = <&sd_io_1v8_reg>;
- vmmc-supply = <&sd_vcc_reg>;
- broken-cd;
- status = "okay";
- };
- &genet {
- phy-handle = <&phy1>;
- phy-mode = "rgmii-rxid";
- status = "okay";
- };
- &genet_mdio {
- phy1: ethernet-phy@1 {
- /* No PHY interrupt */
- reg = <0x1>;
- };
- };
- &pcie0 {
- pci@0,0 {
- device_type = "pci";
- #address-cells = <3>;
- #size-cells = <2>;
- ranges;
- reg = <0 0 0 0 0>;
- usb@0,0 {
- reg = <0 0 0 0 0>;
- resets = <&reset RASPBERRYPI_FIRMWARE_RESET_ID_USB>;
- };
- };
- };
- /* uart0 communicates with the BT module */
- &uart0 {
- pinctrl-names = "default";
- pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32>;
- uart-has-rtscts;
- };
- /* uart1 is mapped to the pin header */
- &uart1 {
- pinctrl-names = "default";
- pinctrl-0 = <&uart1_gpio14>;
- status = "okay";
- };
- &vc4 {
- status = "okay";
- };
- &vec {
- status = "disabled";
- };
- &wifi_pwrseq {
- reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
- };
|