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