1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2016 Andreas Färber 4 * Copyright (c) 2016 BayLibre, Inc. 5 * Author: Kevin Hilman <khilman@kernel.org> 6 */ 7 8#include "meson-gxbb.dtsi" 9 10/ { 11 aliases { 12 serial0 = &uart_AO; 13 ethernet0 = ðmac; 14 }; 15 16 chosen { 17 stdout-path = "serial0:115200n8"; 18 }; 19 20 memory@0 { 21 device_type = "memory"; 22 reg = <0x0 0x0 0x0 0x40000000>; 23 }; 24 25 leds { 26 compatible = "gpio-leds"; 27 28 led-system { 29 label = "wetek-play:system-status"; 30 gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>; 31 default-state = "on"; 32 panic-indicator; 33 }; 34 }; 35 36 usb_pwr: regulator-usb-pwrs { 37 compatible = "regulator-fixed"; 38 39 regulator-name = "USB_PWR"; 40 41 regulator-min-microvolt = <5000000>; 42 regulator-max-microvolt = <5000000>; 43 44 gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>; 45 enable-active-high; 46 }; 47 48 vddio_boot: regulator-vddio_boot { 49 compatible = "regulator-fixed"; 50 regulator-name = "VDDIO_BOOT"; 51 regulator-min-microvolt = <1800000>; 52 regulator-max-microvolt = <1800000>; 53 }; 54 55 vddao_3v3: regulator-vddao_3v3 { 56 compatible = "regulator-fixed"; 57 regulator-name = "VDDAO_3V3"; 58 regulator-min-microvolt = <3300000>; 59 regulator-max-microvolt = <3300000>; 60 }; 61 62 vddio_ao18: regulator-vddio_ao18 { 63 compatible = "regulator-fixed"; 64 regulator-name = "VDDIO_AO18"; 65 regulator-min-microvolt = <1800000>; 66 regulator-max-microvolt = <1800000>; 67 }; 68 69 vcc_3v3: regulator-vcc_3v3 { 70 compatible = "regulator-fixed"; 71 regulator-name = "VCC_3V3"; 72 regulator-min-microvolt = <3300000>; 73 regulator-max-microvolt = <3300000>; 74 }; 75 76 emmc_pwrseq: emmc-pwrseq { 77 compatible = "mmc-pwrseq-emmc"; 78 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 79 }; 80 81 wifi32k: wifi32k { 82 compatible = "pwm-clock"; 83 #clock-cells = <0>; 84 clock-frequency = <32768>; 85 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 86 }; 87 88 sdio_pwrseq: sdio-pwrseq { 89 compatible = "mmc-pwrseq-simple"; 90 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 91 clocks = <&wifi32k>; 92 clock-names = "ext_clock"; 93 }; 94 95 cvbs-connector { 96 compatible = "composite-video-connector"; 97 98 port { 99 cvbs_connector_in: endpoint { 100 remote-endpoint = <&cvbs_vdac_out>; 101 }; 102 }; 103 }; 104 105 hdmi-connector { 106 compatible = "hdmi-connector"; 107 type = "a"; 108 109 port { 110 hdmi_connector_in: endpoint { 111 remote-endpoint = <&hdmi_tx_tmds_out>; 112 }; 113 }; 114 }; 115}; 116 117&cec_AO { 118 status = "okay"; 119 pinctrl-0 = <&ao_cec_pins>; 120 pinctrl-names = "default"; 121 hdmi-phandle = <&hdmi_tx>; 122}; 123 124&cvbs_vdac_port { 125 cvbs_vdac_out: endpoint { 126 remote-endpoint = <&cvbs_connector_in>; 127 }; 128}; 129 130ðmac { 131 status = "okay"; 132 pinctrl-0 = <ð_rgmii_pins>; 133 pinctrl-names = "default"; 134 135 phy-handle = <ð_phy0>; 136 phy-mode = "rgmii"; 137 138 amlogic,tx-delay-ns = <2>; 139 140 mdio { 141 compatible = "snps,dwmac-mdio"; 142 #address-cells = <1>; 143 #size-cells = <0>; 144 145 eth_phy0: ethernet-phy@0 { 146 /* Realtek RTL8211F (0x001cc916) */ 147 reg = <0>; 148 149 reset-assert-us = <10000>; 150 reset-deassert-us = <80000>; 151 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 152 153 interrupt-parent = <&gpio_intc>; 154 /* MAC_INTR on GPIOZ_15 */ 155 interrupts = <29 IRQ_TYPE_LEVEL_LOW>; 156 }; 157 }; 158}; 159 160&hdmi_tx { 161 status = "okay"; 162 pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 163 pinctrl-names = "default"; 164}; 165 166&hdmi_tx_tmds_port { 167 hdmi_tx_tmds_out: endpoint { 168 remote-endpoint = <&hdmi_connector_in>; 169 }; 170}; 171 172&ir { 173 status = "okay"; 174 pinctrl-0 = <&remote_input_ao_pins>; 175 pinctrl-names = "default"; 176}; 177 178&pwm_ef { 179 status = "okay"; 180 pinctrl-0 = <&pwm_e_pins>; 181 pinctrl-names = "default"; 182 clocks = <&clkc CLKID_FCLK_DIV4>; 183 clock-names = "clkin0"; 184}; 185 186&saradc { 187 status = "okay"; 188 vref-supply = <&vddio_ao18>; 189}; 190 191/* Wireless SDIO Module */ 192&sd_emmc_a { 193 status = "okay"; 194 pinctrl-0 = <&sdio_pins>; 195 pinctrl-1 = <&sdio_clk_gate_pins>; 196 pinctrl-names = "default", "clk-gate"; 197 #address-cells = <1>; 198 #size-cells = <0>; 199 200 bus-width = <4>; 201 cap-sd-highspeed; 202 max-frequency = <50000000>; 203 204 non-removable; 205 disable-wp; 206 207 /* WiFi firmware requires power to be kept while in suspend */ 208 keep-power-in-suspend; 209 210 mmc-pwrseq = <&sdio_pwrseq>; 211 212 vmmc-supply = <&vddao_3v3>; 213 vqmmc-supply = <&vddio_boot>; 214 215 brcmf: wifi@1 { 216 reg = <1>; 217 compatible = "brcm,bcm4329-fmac"; 218 }; 219}; 220 221/* SD card */ 222&sd_emmc_b { 223 status = "okay"; 224 pinctrl-0 = <&sdcard_pins>; 225 pinctrl-1 = <&sdcard_clk_gate_pins>; 226 pinctrl-names = "default", "clk-gate"; 227 228 bus-width = <4>; 229 cap-sd-highspeed; 230 max-frequency = <50000000>; 231 disable-wp; 232 233 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; 234 235 vmmc-supply = <&vddao_3v3>; 236 vqmmc-supply = <&vcc_3v3>; 237}; 238 239/* eMMC */ 240&sd_emmc_c { 241 status = "okay"; 242 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 243 pinctrl-1 = <&emmc_clk_gate_pins>; 244 pinctrl-names = "default", "clk-gate"; 245 246 bus-width = <8>; 247 cap-mmc-highspeed; 248 max-frequency = <200000000>; 249 non-removable; 250 disable-wp; 251 mmc-ddr-1_8v; 252 mmc-hs200-1_8v; 253 254 mmc-pwrseq = <&emmc_pwrseq>; 255 vmmc-supply = <&vcc_3v3>; 256 vqmmc-supply = <&vddio_boot>; 257}; 258 259/* This is connected to the Bluetooth module: */ 260&uart_A { 261 status = "okay"; 262 pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 263 pinctrl-names = "default"; 264 uart-has-rtscts; 265 266 bluetooth { 267 compatible = "brcm,bcm43438-bt"; 268 shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>; 269 }; 270}; 271 272/* This UART is brought out to the DB9 connector */ 273&uart_AO { 274 status = "okay"; 275 pinctrl-0 = <&uart_ao_a_pins>; 276 pinctrl-names = "default"; 277}; 278 279&usb0_phy { 280 status = "okay"; 281 phy-supply = <&usb_pwr>; 282}; 283 284&usb0 { 285 status = "okay"; 286}; 287