0001 // SPDX-License-Identifier: GPL-2.0
0002 /dts-v1/;
0003 #include "bcm2711.dtsi"
0004 #include "bcm2711-rpi.dtsi"
0005 #include "bcm283x-rpi-wifi-bt.dtsi"
0006
0007 / {
0008 compatible = "raspberrypi,4-compute-module", "brcm,bcm2711";
0009
0010 chosen {
0011 /* 8250 auxiliary UART instead of pl011 */
0012 stdout-path = "serial1:115200n8";
0013 };
0014
0015 sd_io_1v8_reg: sd_io_1v8_reg {
0016 compatible = "regulator-gpio";
0017 regulator-name = "vdd-sd-io";
0018 regulator-min-microvolt = <1800000>;
0019 regulator-max-microvolt = <3300000>;
0020 regulator-boot-on;
0021 regulator-always-on;
0022 regulator-settling-time-us = <5000>;
0023 gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>;
0024 states = <1800000 0x1>,
0025 <3300000 0x0>;
0026 status = "okay";
0027 };
0028
0029 sd_vcc_reg: sd_vcc_reg {
0030 compatible = "regulator-fixed";
0031 regulator-name = "vcc-sd";
0032 regulator-min-microvolt = <3300000>;
0033 regulator-max-microvolt = <3300000>;
0034 regulator-boot-on;
0035 enable-active-high;
0036 gpio = <&expgpio 6 GPIO_ACTIVE_HIGH>;
0037 };
0038 };
0039
0040 &bt {
0041 shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
0042 };
0043
0044 /* EMMC2 is used to drive the eMMC */
0045 &emmc2 {
0046 bus-width = <8>;
0047 vqmmc-supply = <&sd_io_1v8_reg>;
0048 vmmc-supply = <&sd_vcc_reg>;
0049 broken-cd;
0050 /* Even the IP block is limited to 100 MHz
0051 * this provides a throughput gain
0052 */
0053 mmc-hs200-1_8v;
0054 status = "okay";
0055 };
0056
0057 &expgpio {
0058 gpio-line-names = "BT_ON",
0059 "WL_ON",
0060 "PWR_LED_OFF",
0061 "ANT1",
0062 "VDD_SD_IO_SEL",
0063 "CAM_GPIO",
0064 "SD_PWR_ON",
0065 "ANT2";
0066
0067 ant1: ant1-hog {
0068 gpio-hog;
0069 gpios = <3 GPIO_ACTIVE_HIGH>;
0070 /* internal antenna enabled */
0071 output-high;
0072 line-name = "ant1";
0073 };
0074
0075 ant2: ant2-hog {
0076 gpio-hog;
0077 gpios = <7 GPIO_ACTIVE_HIGH>;
0078 /* external antenna disabled */
0079 output-low;
0080 line-name = "ant2";
0081 };
0082 };
0083
0084 &genet {
0085 phy-handle = <&phy1>;
0086 phy-mode = "rgmii-rxid";
0087 status = "okay";
0088 };
0089
0090 &genet_mdio {
0091 phy1: ethernet-phy@0 {
0092 /* No PHY interrupt */
0093 reg = <0x0>;
0094 };
0095 };
0096
0097 /* uart0 communicates with the BT module */
0098 &uart0 {
0099 pinctrl-names = "default";
0100 pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32>;
0101 uart-has-rtscts;
0102 };
0103
0104 /* uart1 is mapped to the pin header */
0105 &uart1 {
0106 pinctrl-names = "default";
0107 pinctrl-0 = <&uart1_gpio14>;
0108 status = "okay";
0109 };
0110
0111 &wifi_pwrseq {
0112 reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
0113 };