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>; 152647e1643SChristian Hewitt 153647e1643SChristian Hewitt interrupt-parent = <&gpio_intc>; 154647e1643SChristian Hewitt /* MAC_INTR on GPIOZ_15 */ 155647e1643SChristian Hewitt interrupts = <29 IRQ_TYPE_LEVEL_LOW>; 156fb72c03eSNeil Armstrong }; 157fb72c03eSNeil Armstrong }; 158fb72c03eSNeil Armstrong}; 159fb72c03eSNeil Armstrong 160fb72c03eSNeil Armstrong&hdmi_tx { 161fb72c03eSNeil Armstrong status = "okay"; 162fb72c03eSNeil Armstrong pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 163fb72c03eSNeil Armstrong pinctrl-names = "default"; 164fb72c03eSNeil Armstrong}; 165fb72c03eSNeil Armstrong 166fb72c03eSNeil Armstrong&hdmi_tx_tmds_port { 167fb72c03eSNeil Armstrong hdmi_tx_tmds_out: endpoint { 168fb72c03eSNeil Armstrong remote-endpoint = <&hdmi_connector_in>; 169fb72c03eSNeil Armstrong }; 170fb72c03eSNeil Armstrong}; 171fb72c03eSNeil Armstrong 172fb72c03eSNeil Armstrong&ir { 173fb72c03eSNeil Armstrong status = "okay"; 174fb72c03eSNeil Armstrong pinctrl-0 = <&remote_input_ao_pins>; 175fb72c03eSNeil Armstrong pinctrl-names = "default"; 176fb72c03eSNeil Armstrong}; 177fb72c03eSNeil Armstrong 178fb72c03eSNeil Armstrong&pwm_ef { 179fb72c03eSNeil Armstrong status = "okay"; 180fb72c03eSNeil Armstrong pinctrl-0 = <&pwm_e_pins>; 181fb72c03eSNeil Armstrong pinctrl-names = "default"; 182fb72c03eSNeil Armstrong clocks = <&clkc CLKID_FCLK_DIV4>; 183fb72c03eSNeil Armstrong clock-names = "clkin0"; 184fb72c03eSNeil Armstrong}; 185fb72c03eSNeil Armstrong 186dfa8b3cdSChristian Hewitt&saradc { 187dfa8b3cdSChristian Hewitt status = "okay"; 188dfa8b3cdSChristian Hewitt vref-supply = <&vddio_ao18>; 189dfa8b3cdSChristian Hewitt}; 190dfa8b3cdSChristian Hewitt 191fb72c03eSNeil Armstrong/* Wireless SDIO Module */ 192fb72c03eSNeil Armstrong&sd_emmc_a { 193fb72c03eSNeil Armstrong status = "okay"; 194fb72c03eSNeil Armstrong pinctrl-0 = <&sdio_pins>; 195fb72c03eSNeil Armstrong pinctrl-1 = <&sdio_clk_gate_pins>; 196fb72c03eSNeil Armstrong pinctrl-names = "default", "clk-gate"; 197fb72c03eSNeil Armstrong #address-cells = <1>; 198fb72c03eSNeil Armstrong #size-cells = <0>; 199fb72c03eSNeil Armstrong 200fb72c03eSNeil Armstrong bus-width = <4>; 201fb72c03eSNeil Armstrong cap-sd-highspeed; 202adc52bf7SJerome Brunet max-frequency = <50000000>; 203fb72c03eSNeil Armstrong 204fb72c03eSNeil Armstrong non-removable; 205fb72c03eSNeil Armstrong disable-wp; 206fb72c03eSNeil Armstrong 2076b697024SNeil Armstrong /* WiFi firmware requires power to be kept while in suspend */ 2086b697024SNeil Armstrong keep-power-in-suspend; 2096b697024SNeil Armstrong 210fb72c03eSNeil Armstrong mmc-pwrseq = <&sdio_pwrseq>; 211fb72c03eSNeil Armstrong 212fb72c03eSNeil Armstrong vmmc-supply = <&vddao_3v3>; 213fb72c03eSNeil Armstrong vqmmc-supply = <&vddio_boot>; 214fb72c03eSNeil Armstrong 215fb72c03eSNeil Armstrong brcmf: wifi@1 { 216fb72c03eSNeil Armstrong reg = <1>; 217fb72c03eSNeil Armstrong compatible = "brcm,bcm4329-fmac"; 218fb72c03eSNeil Armstrong }; 219fb72c03eSNeil Armstrong}; 220fb72c03eSNeil Armstrong 221fb72c03eSNeil Armstrong/* SD card */ 222fb72c03eSNeil Armstrong&sd_emmc_b { 223fb72c03eSNeil Armstrong status = "okay"; 224fb72c03eSNeil Armstrong pinctrl-0 = <&sdcard_pins>; 225fb72c03eSNeil Armstrong pinctrl-1 = <&sdcard_clk_gate_pins>; 226fb72c03eSNeil Armstrong pinctrl-names = "default", "clk-gate"; 227fb72c03eSNeil Armstrong 228fb72c03eSNeil Armstrong bus-width = <4>; 229fb72c03eSNeil Armstrong cap-sd-highspeed; 230adc52bf7SJerome Brunet max-frequency = <50000000>; 231fb72c03eSNeil Armstrong disable-wp; 232fb72c03eSNeil Armstrong 233f29200c8SLoys Ollivier cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; 234fb72c03eSNeil Armstrong 235fb72c03eSNeil Armstrong vmmc-supply = <&vddao_3v3>; 236fb72c03eSNeil Armstrong vqmmc-supply = <&vcc_3v3>; 237fb72c03eSNeil Armstrong}; 238fb72c03eSNeil Armstrong 239fb72c03eSNeil Armstrong/* eMMC */ 240fb72c03eSNeil Armstrong&sd_emmc_c { 241fb72c03eSNeil Armstrong status = "okay"; 242fb72c03eSNeil Armstrong pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 243fb72c03eSNeil Armstrong pinctrl-1 = <&emmc_clk_gate_pins>; 244fb72c03eSNeil Armstrong pinctrl-names = "default", "clk-gate"; 245fb72c03eSNeil Armstrong 246fb72c03eSNeil Armstrong bus-width = <8>; 247fb72c03eSNeil Armstrong cap-mmc-highspeed; 248fb72c03eSNeil Armstrong max-frequency = <200000000>; 249fb72c03eSNeil Armstrong non-removable; 250fb72c03eSNeil Armstrong disable-wp; 251fb72c03eSNeil Armstrong mmc-ddr-1_8v; 252fb72c03eSNeil Armstrong mmc-hs200-1_8v; 253fb72c03eSNeil Armstrong 254fb72c03eSNeil Armstrong mmc-pwrseq = <&emmc_pwrseq>; 255fb72c03eSNeil Armstrong vmmc-supply = <&vcc_3v3>; 256fb72c03eSNeil Armstrong vqmmc-supply = <&vddio_boot>; 257fb72c03eSNeil Armstrong}; 258fb72c03eSNeil Armstrong 25955c2440dSChristian Hewitt/* This is connected to the Bluetooth module: */ 26055c2440dSChristian Hewitt&uart_A { 26155c2440dSChristian Hewitt status = "okay"; 26255c2440dSChristian Hewitt pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 26355c2440dSChristian Hewitt pinctrl-names = "default"; 26455c2440dSChristian Hewitt uart-has-rtscts; 26555c2440dSChristian Hewitt 26655c2440dSChristian Hewitt bluetooth { 26755c2440dSChristian Hewitt compatible = "brcm,bcm43438-bt"; 26855c2440dSChristian Hewitt shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>; 26955c2440dSChristian Hewitt }; 27055c2440dSChristian Hewitt}; 27155c2440dSChristian Hewitt 272fb72c03eSNeil Armstrong/* This UART is brought out to the DB9 connector */ 273fb72c03eSNeil Armstrong&uart_AO { 274fb72c03eSNeil Armstrong status = "okay"; 275fb72c03eSNeil Armstrong pinctrl-0 = <&uart_ao_a_pins>; 276fb72c03eSNeil Armstrong pinctrl-names = "default"; 277fb72c03eSNeil Armstrong}; 278fb72c03eSNeil Armstrong 279fb72c03eSNeil Armstrong&usb0_phy { 280fb72c03eSNeil Armstrong status = "okay"; 281fb72c03eSNeil Armstrong phy-supply = <&usb_pwr>; 282fb72c03eSNeil Armstrong}; 283fb72c03eSNeil Armstrong 284fb72c03eSNeil Armstrong&usb0 { 285fb72c03eSNeil Armstrong status = "okay"; 286fb72c03eSNeil Armstrong}; 287