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