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>; 67*8182a358SChristian Hewitt regulator-always-on; 68dfa8b3cdSChristian Hewitt }; 69dfa8b3cdSChristian Hewitt 70fb72c03eSNeil Armstrong vcc_3v3: regulator-vcc_3v3 { 71fb72c03eSNeil Armstrong compatible = "regulator-fixed"; 72fb72c03eSNeil Armstrong regulator-name = "VCC_3V3"; 73fb72c03eSNeil Armstrong regulator-min-microvolt = <3300000>; 74fb72c03eSNeil Armstrong regulator-max-microvolt = <3300000>; 75fb72c03eSNeil Armstrong }; 76fb72c03eSNeil Armstrong 77fb72c03eSNeil Armstrong emmc_pwrseq: emmc-pwrseq { 78fb72c03eSNeil Armstrong compatible = "mmc-pwrseq-emmc"; 79fb72c03eSNeil Armstrong reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 80fb72c03eSNeil Armstrong }; 81fb72c03eSNeil Armstrong 82fb72c03eSNeil Armstrong wifi32k: wifi32k { 83fb72c03eSNeil Armstrong compatible = "pwm-clock"; 84fb72c03eSNeil Armstrong #clock-cells = <0>; 85fb72c03eSNeil Armstrong clock-frequency = <32768>; 86fb72c03eSNeil Armstrong pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 87fb72c03eSNeil Armstrong }; 88fb72c03eSNeil Armstrong 89fb72c03eSNeil Armstrong sdio_pwrseq: sdio-pwrseq { 90fb72c03eSNeil Armstrong compatible = "mmc-pwrseq-simple"; 91fb72c03eSNeil Armstrong reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 92fb72c03eSNeil Armstrong clocks = <&wifi32k>; 93fb72c03eSNeil Armstrong clock-names = "ext_clock"; 94fb72c03eSNeil Armstrong }; 95fb72c03eSNeil Armstrong 96fb72c03eSNeil Armstrong cvbs-connector { 97fb72c03eSNeil Armstrong compatible = "composite-video-connector"; 98fb72c03eSNeil Armstrong 99fb72c03eSNeil Armstrong port { 100fb72c03eSNeil Armstrong cvbs_connector_in: endpoint { 101fb72c03eSNeil Armstrong remote-endpoint = <&cvbs_vdac_out>; 102fb72c03eSNeil Armstrong }; 103fb72c03eSNeil Armstrong }; 104fb72c03eSNeil Armstrong }; 105fb72c03eSNeil Armstrong 106fb72c03eSNeil Armstrong hdmi-connector { 107fb72c03eSNeil Armstrong compatible = "hdmi-connector"; 108fb72c03eSNeil Armstrong type = "a"; 109fb72c03eSNeil Armstrong 110fb72c03eSNeil Armstrong port { 111fb72c03eSNeil Armstrong hdmi_connector_in: endpoint { 112fb72c03eSNeil Armstrong remote-endpoint = <&hdmi_tx_tmds_out>; 113fb72c03eSNeil Armstrong }; 114fb72c03eSNeil Armstrong }; 115fb72c03eSNeil Armstrong }; 116fb72c03eSNeil Armstrong}; 117fb72c03eSNeil Armstrong 118fb72c03eSNeil Armstrong&cec_AO { 119fb72c03eSNeil Armstrong status = "okay"; 120fb72c03eSNeil Armstrong pinctrl-0 = <&ao_cec_pins>; 121fb72c03eSNeil Armstrong pinctrl-names = "default"; 122fb72c03eSNeil Armstrong hdmi-phandle = <&hdmi_tx>; 123fb72c03eSNeil Armstrong}; 124fb72c03eSNeil Armstrong 125fb72c03eSNeil Armstrong&cvbs_vdac_port { 126fb72c03eSNeil Armstrong cvbs_vdac_out: endpoint { 127fb72c03eSNeil Armstrong remote-endpoint = <&cvbs_connector_in>; 128fb72c03eSNeil Armstrong }; 129fb72c03eSNeil Armstrong}; 130fb72c03eSNeil Armstrong 131fb72c03eSNeil Armstrongðmac { 132fb72c03eSNeil Armstrong status = "okay"; 133fb72c03eSNeil Armstrong pinctrl-0 = <ð_rgmii_pins>; 134fb72c03eSNeil Armstrong pinctrl-names = "default"; 135fb72c03eSNeil Armstrong 136fb72c03eSNeil Armstrong phy-handle = <ð_phy0>; 137fb72c03eSNeil Armstrong phy-mode = "rgmii"; 138fb72c03eSNeil Armstrong 139fb72c03eSNeil Armstrong amlogic,tx-delay-ns = <2>; 140fb72c03eSNeil Armstrong 141fb72c03eSNeil Armstrong mdio { 142fb72c03eSNeil Armstrong compatible = "snps,dwmac-mdio"; 143fb72c03eSNeil Armstrong #address-cells = <1>; 144fb72c03eSNeil Armstrong #size-cells = <0>; 145fb72c03eSNeil Armstrong 146fb72c03eSNeil Armstrong eth_phy0: ethernet-phy@0 { 147fb72c03eSNeil Armstrong /* Realtek RTL8211F (0x001cc916) */ 148fb72c03eSNeil Armstrong reg = <0>; 149f29cabf2SMartin Blumenstingl 150f29cabf2SMartin Blumenstingl reset-assert-us = <10000>; 151c183c406SStefan Agner reset-deassert-us = <80000>; 152f29cabf2SMartin Blumenstingl reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 153647e1643SChristian Hewitt 154647e1643SChristian Hewitt interrupt-parent = <&gpio_intc>; 155647e1643SChristian Hewitt /* MAC_INTR on GPIOZ_15 */ 156647e1643SChristian Hewitt interrupts = <29 IRQ_TYPE_LEVEL_LOW>; 157fb72c03eSNeil Armstrong }; 158fb72c03eSNeil Armstrong }; 159fb72c03eSNeil Armstrong}; 160fb72c03eSNeil Armstrong 161fb72c03eSNeil Armstrong&hdmi_tx { 162fb72c03eSNeil Armstrong status = "okay"; 163fb72c03eSNeil Armstrong pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 164fb72c03eSNeil Armstrong pinctrl-names = "default"; 165*8182a358SChristian Hewitt hdmi-supply = <&vddio_ao18>; 166fb72c03eSNeil Armstrong}; 167fb72c03eSNeil Armstrong 168fb72c03eSNeil Armstrong&hdmi_tx_tmds_port { 169fb72c03eSNeil Armstrong hdmi_tx_tmds_out: endpoint { 170fb72c03eSNeil Armstrong remote-endpoint = <&hdmi_connector_in>; 171fb72c03eSNeil Armstrong }; 172fb72c03eSNeil Armstrong}; 173fb72c03eSNeil Armstrong 174fb72c03eSNeil Armstrong&ir { 175fb72c03eSNeil Armstrong status = "okay"; 176fb72c03eSNeil Armstrong pinctrl-0 = <&remote_input_ao_pins>; 177fb72c03eSNeil Armstrong pinctrl-names = "default"; 178fb72c03eSNeil Armstrong}; 179fb72c03eSNeil Armstrong 180fb72c03eSNeil Armstrong&pwm_ef { 181fb72c03eSNeil Armstrong status = "okay"; 182fb72c03eSNeil Armstrong pinctrl-0 = <&pwm_e_pins>; 183fb72c03eSNeil Armstrong pinctrl-names = "default"; 184fb72c03eSNeil Armstrong clocks = <&clkc CLKID_FCLK_DIV4>; 185fb72c03eSNeil Armstrong clock-names = "clkin0"; 186fb72c03eSNeil Armstrong}; 187fb72c03eSNeil Armstrong 188dfa8b3cdSChristian Hewitt&saradc { 189dfa8b3cdSChristian Hewitt status = "okay"; 190dfa8b3cdSChristian Hewitt vref-supply = <&vddio_ao18>; 191dfa8b3cdSChristian Hewitt}; 192dfa8b3cdSChristian Hewitt 193fb72c03eSNeil Armstrong/* Wireless SDIO Module */ 194fb72c03eSNeil Armstrong&sd_emmc_a { 195fb72c03eSNeil Armstrong status = "okay"; 196fb72c03eSNeil Armstrong pinctrl-0 = <&sdio_pins>; 197fb72c03eSNeil Armstrong pinctrl-1 = <&sdio_clk_gate_pins>; 198fb72c03eSNeil Armstrong pinctrl-names = "default", "clk-gate"; 199fb72c03eSNeil Armstrong #address-cells = <1>; 200fb72c03eSNeil Armstrong #size-cells = <0>; 201fb72c03eSNeil Armstrong 202fb72c03eSNeil Armstrong bus-width = <4>; 203fb72c03eSNeil Armstrong cap-sd-highspeed; 204adc52bf7SJerome Brunet max-frequency = <50000000>; 205fb72c03eSNeil Armstrong 206fb72c03eSNeil Armstrong non-removable; 207fb72c03eSNeil Armstrong disable-wp; 208fb72c03eSNeil Armstrong 2096b697024SNeil Armstrong /* WiFi firmware requires power to be kept while in suspend */ 2106b697024SNeil Armstrong keep-power-in-suspend; 2116b697024SNeil Armstrong 212fb72c03eSNeil Armstrong mmc-pwrseq = <&sdio_pwrseq>; 213fb72c03eSNeil Armstrong 214fb72c03eSNeil Armstrong vmmc-supply = <&vddao_3v3>; 215fb72c03eSNeil Armstrong vqmmc-supply = <&vddio_boot>; 216fb72c03eSNeil Armstrong 217fb72c03eSNeil Armstrong brcmf: wifi@1 { 218fb72c03eSNeil Armstrong reg = <1>; 219fb72c03eSNeil Armstrong compatible = "brcm,bcm4329-fmac"; 220fb72c03eSNeil Armstrong }; 221fb72c03eSNeil Armstrong}; 222fb72c03eSNeil Armstrong 223fb72c03eSNeil Armstrong/* SD card */ 224fb72c03eSNeil Armstrong&sd_emmc_b { 225fb72c03eSNeil Armstrong status = "okay"; 226fb72c03eSNeil Armstrong pinctrl-0 = <&sdcard_pins>; 227fb72c03eSNeil Armstrong pinctrl-1 = <&sdcard_clk_gate_pins>; 228fb72c03eSNeil Armstrong pinctrl-names = "default", "clk-gate"; 229fb72c03eSNeil Armstrong 230fb72c03eSNeil Armstrong bus-width = <4>; 231fb72c03eSNeil Armstrong cap-sd-highspeed; 232adc52bf7SJerome Brunet max-frequency = <50000000>; 233fb72c03eSNeil Armstrong disable-wp; 234fb72c03eSNeil Armstrong 235f29200c8SLoys Ollivier cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; 236fb72c03eSNeil Armstrong 237fb72c03eSNeil Armstrong vmmc-supply = <&vddao_3v3>; 238fb72c03eSNeil Armstrong vqmmc-supply = <&vcc_3v3>; 239fb72c03eSNeil Armstrong}; 240fb72c03eSNeil Armstrong 241fb72c03eSNeil Armstrong/* eMMC */ 242fb72c03eSNeil Armstrong&sd_emmc_c { 243fb72c03eSNeil Armstrong status = "okay"; 244fb72c03eSNeil Armstrong pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 245fb72c03eSNeil Armstrong pinctrl-1 = <&emmc_clk_gate_pins>; 246fb72c03eSNeil Armstrong pinctrl-names = "default", "clk-gate"; 247fb72c03eSNeil Armstrong 248fb72c03eSNeil Armstrong bus-width = <8>; 249fb72c03eSNeil Armstrong cap-mmc-highspeed; 250fb72c03eSNeil Armstrong max-frequency = <200000000>; 251fb72c03eSNeil Armstrong non-removable; 252fb72c03eSNeil Armstrong disable-wp; 253fb72c03eSNeil Armstrong mmc-ddr-1_8v; 254fb72c03eSNeil Armstrong mmc-hs200-1_8v; 255fb72c03eSNeil Armstrong 256fb72c03eSNeil Armstrong mmc-pwrseq = <&emmc_pwrseq>; 257fb72c03eSNeil Armstrong vmmc-supply = <&vcc_3v3>; 258fb72c03eSNeil Armstrong vqmmc-supply = <&vddio_boot>; 259fb72c03eSNeil Armstrong}; 260fb72c03eSNeil Armstrong 26155c2440dSChristian Hewitt/* This is connected to the Bluetooth module: */ 26255c2440dSChristian Hewitt&uart_A { 26355c2440dSChristian Hewitt status = "okay"; 26455c2440dSChristian Hewitt pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 26555c2440dSChristian Hewitt pinctrl-names = "default"; 26655c2440dSChristian Hewitt uart-has-rtscts; 26755c2440dSChristian Hewitt 26855c2440dSChristian Hewitt bluetooth { 26955c2440dSChristian Hewitt compatible = "brcm,bcm43438-bt"; 27055c2440dSChristian Hewitt shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>; 27155c2440dSChristian Hewitt }; 27255c2440dSChristian Hewitt}; 27355c2440dSChristian Hewitt 274fb72c03eSNeil Armstrong/* This UART is brought out to the DB9 connector */ 275fb72c03eSNeil Armstrong&uart_AO { 276fb72c03eSNeil Armstrong status = "okay"; 277fb72c03eSNeil Armstrong pinctrl-0 = <&uart_ao_a_pins>; 278fb72c03eSNeil Armstrong pinctrl-names = "default"; 279fb72c03eSNeil Armstrong}; 280fb72c03eSNeil Armstrong 281fb72c03eSNeil Armstrong&usb0_phy { 282fb72c03eSNeil Armstrong status = "okay"; 283fb72c03eSNeil Armstrong phy-supply = <&usb_pwr>; 284fb72c03eSNeil Armstrong}; 285fb72c03eSNeil Armstrong 286fb72c03eSNeil Armstrong&usb0 { 287fb72c03eSNeil Armstrong status = "okay"; 288fb72c03eSNeil Armstrong}; 289