1114abfe1SNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2cc733bc9SAndreas Färber/* 3cc733bc9SAndreas Färber * Copyright (c) 2016 Andreas Färber 4cc733bc9SAndreas Färber */ 5cc733bc9SAndreas Färber 6cc733bc9SAndreas Färber#include "meson-gxbb.dtsi" 7cc733bc9SAndreas Färber 8cc733bc9SAndreas Färber/ { 9cc733bc9SAndreas Färber compatible = "tronsmart,vega-s95", "amlogic,meson-gxbb"; 10cc733bc9SAndreas Färber 11962f271eSKevin Hilman aliases { 12962f271eSKevin Hilman serial0 = &uart_AO; 13059a58fcSJorge Ramirez-Ortiz ethernet0 = ðmac; 14962f271eSKevin Hilman }; 15962f271eSKevin Hilman 16cc733bc9SAndreas Färber chosen { 17cc733bc9SAndreas Färber stdout-path = "serial0:115200n8"; 18cc733bc9SAndreas Färber }; 19c763eb82SMartin Blumenstingl 202fbbc4bfSAndreas Färber leds { 212fbbc4bfSAndreas Färber compatible = "gpio-leds"; 222fbbc4bfSAndreas Färber 232fbbc4bfSAndreas Färber blue { 242fbbc4bfSAndreas Färber label = "vega-s95:blue:on"; 252fbbc4bfSAndreas Färber gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>; 262fbbc4bfSAndreas Färber default-state = "on"; 272fbbc4bfSAndreas Färber panic-indicator; 282fbbc4bfSAndreas Färber }; 292fbbc4bfSAndreas Färber }; 302fbbc4bfSAndreas Färber 3141112431SNeil Armstrong usb_pwr: regulator-usb-pwrs { 32c763eb82SMartin Blumenstingl compatible = "regulator-fixed"; 33c763eb82SMartin Blumenstingl 3441112431SNeil Armstrong regulator-name = "USB_PWR"; 35c763eb82SMartin Blumenstingl 36c763eb82SMartin Blumenstingl regulator-min-microvolt = <5000000>; 37c763eb82SMartin Blumenstingl regulator-max-microvolt = <5000000>; 38c763eb82SMartin Blumenstingl 39c763eb82SMartin Blumenstingl gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>; 40c763eb82SMartin Blumenstingl enable-active-high; 41c763eb82SMartin Blumenstingl }; 42c763eb82SMartin Blumenstingl 4341112431SNeil Armstrong vddio_boot: regulator-vddio_boot { 4441112431SNeil Armstrong compatible = "regulator-fixed"; 4541112431SNeil Armstrong regulator-name = "VDDIO_BOOT"; 4641112431SNeil Armstrong regulator-min-microvolt = <1800000>; 4741112431SNeil Armstrong regulator-max-microvolt = <1800000>; 4841112431SNeil Armstrong }; 4941112431SNeil Armstrong 5041112431SNeil Armstrong vddao_3v3: regulator-vddao_3v3 { 5141112431SNeil Armstrong compatible = "regulator-fixed"; 5241112431SNeil Armstrong regulator-name = "VDDAO_3V3"; 5341112431SNeil Armstrong regulator-min-microvolt = <3300000>; 5441112431SNeil Armstrong regulator-max-microvolt = <3300000>; 5541112431SNeil Armstrong }; 5641112431SNeil Armstrong 57f1ef6262SNeil Armstrong vddio_ao18: regulator-vddio_ao18 { 58f1ef6262SNeil Armstrong compatible = "regulator-fixed"; 59f1ef6262SNeil Armstrong regulator-name = "VDDIO_AO18"; 60f1ef6262SNeil Armstrong regulator-min-microvolt = <1800000>; 61f1ef6262SNeil Armstrong regulator-max-microvolt = <1800000>; 62f1ef6262SNeil Armstrong }; 63f1ef6262SNeil Armstrong 64ab5b24fdSMartin Blumenstingl vcc_3v3: regulator-vcc_3v3 { 65ab5b24fdSMartin Blumenstingl compatible = "regulator-fixed"; 66ab5b24fdSMartin Blumenstingl regulator-name = "VCC_3V3"; 67ab5b24fdSMartin Blumenstingl regulator-min-microvolt = <3300000>; 68ab5b24fdSMartin Blumenstingl regulator-max-microvolt = <3300000>; 69ab5b24fdSMartin Blumenstingl }; 70ab5b24fdSMartin Blumenstingl 71ab5b24fdSMartin Blumenstingl emmc_pwrseq: emmc-pwrseq { 72ab5b24fdSMartin Blumenstingl compatible = "mmc-pwrseq-emmc"; 73ab5b24fdSMartin Blumenstingl reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 74ab5b24fdSMartin Blumenstingl }; 75ab5b24fdSMartin Blumenstingl 76ab5b24fdSMartin Blumenstingl wifi32k: wifi32k { 77ab5b24fdSMartin Blumenstingl compatible = "pwm-clock"; 78ab5b24fdSMartin Blumenstingl #clock-cells = <0>; 79ab5b24fdSMartin Blumenstingl clock-frequency = <32768>; 80ab5b24fdSMartin Blumenstingl pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 81ab5b24fdSMartin Blumenstingl }; 82ab5b24fdSMartin Blumenstingl 83954b67dfSNeil Armstrong hdmi-connector { 84954b67dfSNeil Armstrong compatible = "hdmi-connector"; 85954b67dfSNeil Armstrong type = "a"; 86954b67dfSNeil Armstrong 87954b67dfSNeil Armstrong port { 88954b67dfSNeil Armstrong hdmi_connector_in: endpoint { 89954b67dfSNeil Armstrong remote-endpoint = <&hdmi_tx_tmds_out>; 90954b67dfSNeil Armstrong }; 91954b67dfSNeil Armstrong }; 92954b67dfSNeil Armstrong }; 93954b67dfSNeil Armstrong 94ab5b24fdSMartin Blumenstingl sdio_pwrseq: sdio-pwrseq { 95ab5b24fdSMartin Blumenstingl compatible = "mmc-pwrseq-simple"; 96b07a11dbSNeil Armstrong reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 97ab5b24fdSMartin Blumenstingl clocks = <&wifi32k>; 98ab5b24fdSMartin Blumenstingl clock-names = "ext_clock"; 99ab5b24fdSMartin Blumenstingl }; 100cc733bc9SAndreas Färber}; 101cc733bc9SAndreas Färber 1028d6dbe5bSNeil Armstrong&cec_AO { 1038d6dbe5bSNeil Armstrong status = "okay"; 1048d6dbe5bSNeil Armstrong pinctrl-0 = <&ao_cec_pins>; 1058d6dbe5bSNeil Armstrong pinctrl-names = "default"; 1068d6dbe5bSNeil Armstrong hdmi-phandle = <&hdmi_tx>; 1078d6dbe5bSNeil Armstrong}; 1088d6dbe5bSNeil Armstrong 109f59063aeSMartin Blumenstinglðmac { 110f59063aeSMartin Blumenstingl status = "okay"; 1113be2d9cfSNeil Armstrong pinctrl-0 = <ð_rgmii_pins>; 112f59063aeSMartin Blumenstingl pinctrl-names = "default"; 1131220b297SMartin Blumenstingl 1141220b297SMartin Blumenstingl phy-handle = <ð_phy0>; 1151220b297SMartin Blumenstingl phy-mode = "rgmii"; 1161220b297SMartin Blumenstingl 117093d23dbSMartin Blumenstingl amlogic,tx-delay-ns = <2>; 118093d23dbSMartin Blumenstingl 1191220b297SMartin Blumenstingl mdio { 1201220b297SMartin Blumenstingl compatible = "snps,dwmac-mdio"; 1211220b297SMartin Blumenstingl #address-cells = <1>; 1221220b297SMartin Blumenstingl #size-cells = <0>; 1231220b297SMartin Blumenstingl 1241220b297SMartin Blumenstingl eth_phy0: ethernet-phy@0 { 1251220b297SMartin Blumenstingl /* Realtek RTL8211F (0x001cc916) */ 1261220b297SMartin Blumenstingl reg = <0>; 127f29cabf2SMartin Blumenstingl 128f29cabf2SMartin Blumenstingl reset-assert-us = <10000>; 129f29cabf2SMartin Blumenstingl reset-deassert-us = <30000>; 130f29cabf2SMartin Blumenstingl reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 131f29cabf2SMartin Blumenstingl 132ec066d8fSNeil Armstrong interrupt-parent = <&gpio_intc>; 133ec066d8fSNeil Armstrong /* MAC_INTR on GPIOZ_15 */ 134ec066d8fSNeil Armstrong interrupts = <29 IRQ_TYPE_LEVEL_LOW>; 1351220b297SMartin Blumenstingl }; 1361220b297SMartin Blumenstingl }; 137f59063aeSMartin Blumenstingl}; 138c763eb82SMartin Blumenstingl 139954b67dfSNeil Armstrong&hdmi_tx { 140954b67dfSNeil Armstrong status = "okay"; 141954b67dfSNeil Armstrong pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 142954b67dfSNeil Armstrong pinctrl-names = "default"; 143954b67dfSNeil Armstrong}; 144954b67dfSNeil Armstrong 145954b67dfSNeil Armstrong&hdmi_tx_tmds_port { 146954b67dfSNeil Armstrong hdmi_tx_tmds_out: endpoint { 147954b67dfSNeil Armstrong remote-endpoint = <&hdmi_connector_in>; 148954b67dfSNeil Armstrong }; 149954b67dfSNeil Armstrong}; 150954b67dfSNeil Armstrong 151d6f93b02SAndreas Färber&ir { 152c763eb82SMartin Blumenstingl status = "okay"; 153d6f93b02SAndreas Färber pinctrl-0 = <&remote_input_ao_pins>; 154d6f93b02SAndreas Färber pinctrl-names = "default"; 155c763eb82SMartin Blumenstingl}; 156c763eb82SMartin Blumenstingl 157d6f93b02SAndreas Färber&pwm_ef { 158c763eb82SMartin Blumenstingl status = "okay"; 159d6f93b02SAndreas Färber pinctrl-0 = <&pwm_e_pins>; 160d6f93b02SAndreas Färber pinctrl-names = "default"; 161d6f93b02SAndreas Färber clocks = <&clkc CLKID_FCLK_DIV4>; 162d6f93b02SAndreas Färber clock-names = "clkin0"; 163c763eb82SMartin Blumenstingl}; 164ab5b24fdSMartin Blumenstingl 165f1ef6262SNeil Armstrong&saradc { 166f1ef6262SNeil Armstrong status = "okay"; 167f1ef6262SNeil Armstrong vref-supply = <&vddio_ao18>; 168f1ef6262SNeil Armstrong}; 169f1ef6262SNeil Armstrong 170ab5b24fdSMartin Blumenstingl/* Wireless SDIO Module */ 171ab5b24fdSMartin Blumenstingl&sd_emmc_a { 172ab5b24fdSMartin Blumenstingl status = "okay"; 173b07a11dbSNeil Armstrong pinctrl-0 = <&sdio_pins>; 17467e7607fSJerome Brunet pinctrl-1 = <&sdio_clk_gate_pins>; 17567e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 176ab5b24fdSMartin Blumenstingl #address-cells = <1>; 177ab5b24fdSMartin Blumenstingl #size-cells = <0>; 178ab5b24fdSMartin Blumenstingl 179ab5b24fdSMartin Blumenstingl bus-width = <4>; 180ab5b24fdSMartin Blumenstingl cap-sd-highspeed; 181adc52bf7SJerome Brunet max-frequency = <50000000>; 182ab5b24fdSMartin Blumenstingl 183ab5b24fdSMartin Blumenstingl non-removable; 184ab5b24fdSMartin Blumenstingl disable-wp; 185ab5b24fdSMartin Blumenstingl 18648f38e82SNeil Armstrong /* WiFi firmware requires power to be kept while in suspend */ 18748f38e82SNeil Armstrong keep-power-in-suspend; 18848f38e82SNeil Armstrong 189ab5b24fdSMartin Blumenstingl mmc-pwrseq = <&sdio_pwrseq>; 190ab5b24fdSMartin Blumenstingl 19141112431SNeil Armstrong vmmc-supply = <&vddao_3v3>; 19241112431SNeil Armstrong vqmmc-supply = <&vddio_boot>; 193ab5b24fdSMartin Blumenstingl 19419e16750SAndreas Färber brcmf: wifi@1 { 195ab5b24fdSMartin Blumenstingl reg = <1>; 196ab5b24fdSMartin Blumenstingl compatible = "brcm,bcm4329-fmac"; 197ab5b24fdSMartin Blumenstingl }; 198ab5b24fdSMartin Blumenstingl}; 199ab5b24fdSMartin Blumenstingl 200ab5b24fdSMartin Blumenstingl/* SD card */ 201ab5b24fdSMartin Blumenstingl&sd_emmc_b { 202ab5b24fdSMartin Blumenstingl status = "okay"; 203ab5b24fdSMartin Blumenstingl pinctrl-0 = <&sdcard_pins>; 20467e7607fSJerome Brunet pinctrl-1 = <&sdcard_clk_gate_pins>; 20567e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 206ab5b24fdSMartin Blumenstingl 207ab5b24fdSMartin Blumenstingl bus-width = <4>; 208ab5b24fdSMartin Blumenstingl cap-sd-highspeed; 209adc52bf7SJerome Brunet max-frequency = <50000000>; 210ab5b24fdSMartin Blumenstingl disable-wp; 211ab5b24fdSMartin Blumenstingl 212f29200c8SLoys Ollivier cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; 213ab5b24fdSMartin Blumenstingl 21441112431SNeil Armstrong vmmc-supply = <&vddao_3v3>; 21541112431SNeil Armstrong vqmmc-supply = <&vcc_3v3>; 216ab5b24fdSMartin Blumenstingl}; 217ab5b24fdSMartin Blumenstingl 218ab5b24fdSMartin Blumenstingl/* eMMC */ 219ab5b24fdSMartin Blumenstingl&sd_emmc_c { 220ab5b24fdSMartin Blumenstingl status = "okay"; 221ab36be66SNeil Armstrong pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 22267e7607fSJerome Brunet pinctrl-1 = <&emmc_clk_gate_pins>; 22367e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 224ab5b24fdSMartin Blumenstingl 225ab5b24fdSMartin Blumenstingl bus-width = <8>; 226ab5b24fdSMartin Blumenstingl cap-mmc-highspeed; 227ab5b24fdSMartin Blumenstingl max-frequency = <200000000>; 228ab5b24fdSMartin Blumenstingl non-removable; 229ab5b24fdSMartin Blumenstingl disable-wp; 230ab5b24fdSMartin Blumenstingl mmc-ddr-1_8v; 231ab5b24fdSMartin Blumenstingl mmc-hs200-1_8v; 232ab5b24fdSMartin Blumenstingl 233ab5b24fdSMartin Blumenstingl mmc-pwrseq = <&emmc_pwrseq>; 234ab5b24fdSMartin Blumenstingl vmmc-supply = <&vcc_3v3>; 23541112431SNeil Armstrong vqmmc-supply = <&vddio_boot>; 236ab5b24fdSMartin Blumenstingl}; 237ab5b24fdSMartin Blumenstingl 238b07a11dbSNeil Armstrong/* This is connected to the Bluetooth module: */ 239b07a11dbSNeil Armstrong&uart_A { 240b07a11dbSNeil Armstrong status = "okay"; 241b07a11dbSNeil Armstrong pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 242b07a11dbSNeil Armstrong pinctrl-names = "default"; 243b07a11dbSNeil Armstrong 244b07a11dbSNeil Armstrong bluetooth { 245b07a11dbSNeil Armstrong compatible = "brcm,bcm43438-bt"; 246b07a11dbSNeil Armstrong shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>; 247b07a11dbSNeil Armstrong }; 248b07a11dbSNeil Armstrong}; 249b07a11dbSNeil Armstrong 250b07a11dbSNeil Armstrong/* This UART is brought out to the DB9 connector */ 251d6f93b02SAndreas Färber&uart_AO { 252ab5b24fdSMartin Blumenstingl status = "okay"; 253d6f93b02SAndreas Färber pinctrl-0 = <&uart_ao_a_pins>; 254ab5b24fdSMartin Blumenstingl pinctrl-names = "default"; 255d6f93b02SAndreas Färber}; 256d6f93b02SAndreas Färber 257d6f93b02SAndreas Färber&usb0_phy { 258d6f93b02SAndreas Färber status = "okay"; 25941112431SNeil Armstrong phy-supply = <&usb_pwr>; 260d6f93b02SAndreas Färber}; 261d6f93b02SAndreas Färber 262d6f93b02SAndreas Färber&usb1_phy { 263d6f93b02SAndreas Färber status = "okay"; 264d6f93b02SAndreas Färber}; 265d6f93b02SAndreas Färber 266d6f93b02SAndreas Färber&usb0 { 267d6f93b02SAndreas Färber status = "okay"; 268d6f93b02SAndreas Färber}; 269d6f93b02SAndreas Färber 270d6f93b02SAndreas Färber&usb1 { 271d6f93b02SAndreas Färber status = "okay"; 272ab5b24fdSMartin Blumenstingl}; 273