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 57ab5b24fdSMartin Blumenstingl vcc_3v3: regulator-vcc_3v3 { 58ab5b24fdSMartin Blumenstingl compatible = "regulator-fixed"; 59ab5b24fdSMartin Blumenstingl regulator-name = "VCC_3V3"; 60ab5b24fdSMartin Blumenstingl regulator-min-microvolt = <3300000>; 61ab5b24fdSMartin Blumenstingl regulator-max-microvolt = <3300000>; 62ab5b24fdSMartin Blumenstingl }; 63ab5b24fdSMartin Blumenstingl 64ab5b24fdSMartin Blumenstingl emmc_pwrseq: emmc-pwrseq { 65ab5b24fdSMartin Blumenstingl compatible = "mmc-pwrseq-emmc"; 66ab5b24fdSMartin Blumenstingl reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 67ab5b24fdSMartin Blumenstingl }; 68ab5b24fdSMartin Blumenstingl 69ab5b24fdSMartin Blumenstingl wifi32k: wifi32k { 70ab5b24fdSMartin Blumenstingl compatible = "pwm-clock"; 71ab5b24fdSMartin Blumenstingl #clock-cells = <0>; 72ab5b24fdSMartin Blumenstingl clock-frequency = <32768>; 73ab5b24fdSMartin Blumenstingl pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 74ab5b24fdSMartin Blumenstingl }; 75ab5b24fdSMartin Blumenstingl 76954b67dfSNeil Armstrong hdmi-connector { 77954b67dfSNeil Armstrong compatible = "hdmi-connector"; 78954b67dfSNeil Armstrong type = "a"; 79954b67dfSNeil Armstrong 80954b67dfSNeil Armstrong port { 81954b67dfSNeil Armstrong hdmi_connector_in: endpoint { 82954b67dfSNeil Armstrong remote-endpoint = <&hdmi_tx_tmds_out>; 83954b67dfSNeil Armstrong }; 84954b67dfSNeil Armstrong }; 85954b67dfSNeil Armstrong }; 86954b67dfSNeil Armstrong 87ab5b24fdSMartin Blumenstingl sdio_pwrseq: sdio-pwrseq { 88ab5b24fdSMartin Blumenstingl compatible = "mmc-pwrseq-simple"; 89ab5b24fdSMartin Blumenstingl reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>, 90ab5b24fdSMartin Blumenstingl <&gpio GPIOX_20 GPIO_ACTIVE_LOW>; 91ab5b24fdSMartin Blumenstingl clocks = <&wifi32k>; 92ab5b24fdSMartin Blumenstingl clock-names = "ext_clock"; 93ab5b24fdSMartin Blumenstingl }; 94cc733bc9SAndreas Färber}; 95cc733bc9SAndreas Färber 968d6dbe5bSNeil Armstrong&cec_AO { 978d6dbe5bSNeil Armstrong status = "okay"; 988d6dbe5bSNeil Armstrong pinctrl-0 = <&ao_cec_pins>; 998d6dbe5bSNeil Armstrong pinctrl-names = "default"; 1008d6dbe5bSNeil Armstrong hdmi-phandle = <&hdmi_tx>; 1018d6dbe5bSNeil Armstrong}; 1028d6dbe5bSNeil Armstrong 103f59063aeSMartin Blumenstinglðmac { 104f59063aeSMartin Blumenstingl status = "okay"; 1053be2d9cfSNeil Armstrong pinctrl-0 = <ð_rgmii_pins>; 106f59063aeSMartin Blumenstingl pinctrl-names = "default"; 1071220b297SMartin Blumenstingl 1081220b297SMartin Blumenstingl phy-handle = <ð_phy0>; 1091220b297SMartin Blumenstingl phy-mode = "rgmii"; 1101220b297SMartin Blumenstingl 111093d23dbSMartin Blumenstingl amlogic,tx-delay-ns = <2>; 112093d23dbSMartin Blumenstingl 1131220b297SMartin Blumenstingl snps,reset-gpio = <&gpio GPIOZ_14 0>; 1141220b297SMartin Blumenstingl snps,reset-delays-us = <0 10000 1000000>; 1151220b297SMartin Blumenstingl snps,reset-active-low; 1161220b297SMartin Blumenstingl 1171220b297SMartin Blumenstingl mdio { 1181220b297SMartin Blumenstingl compatible = "snps,dwmac-mdio"; 1191220b297SMartin Blumenstingl #address-cells = <1>; 1201220b297SMartin Blumenstingl #size-cells = <0>; 1211220b297SMartin Blumenstingl 1221220b297SMartin Blumenstingl eth_phy0: ethernet-phy@0 { 1231220b297SMartin Blumenstingl /* Realtek RTL8211F (0x001cc916) */ 1241220b297SMartin Blumenstingl reg = <0>; 1251220b297SMartin Blumenstingl }; 1261220b297SMartin Blumenstingl }; 127f59063aeSMartin Blumenstingl}; 128c763eb82SMartin Blumenstingl 129954b67dfSNeil Armstrong&hdmi_tx { 130954b67dfSNeil Armstrong status = "okay"; 131954b67dfSNeil Armstrong pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 132954b67dfSNeil Armstrong pinctrl-names = "default"; 133954b67dfSNeil Armstrong}; 134954b67dfSNeil Armstrong 135954b67dfSNeil Armstrong&hdmi_tx_tmds_port { 136954b67dfSNeil Armstrong hdmi_tx_tmds_out: endpoint { 137954b67dfSNeil Armstrong remote-endpoint = <&hdmi_connector_in>; 138954b67dfSNeil Armstrong }; 139954b67dfSNeil Armstrong}; 140954b67dfSNeil Armstrong 141d6f93b02SAndreas Färber&ir { 142c763eb82SMartin Blumenstingl status = "okay"; 143d6f93b02SAndreas Färber pinctrl-0 = <&remote_input_ao_pins>; 144d6f93b02SAndreas Färber pinctrl-names = "default"; 145c763eb82SMartin Blumenstingl}; 146c763eb82SMartin Blumenstingl 147d6f93b02SAndreas Färber&pwm_ef { 148c763eb82SMartin Blumenstingl status = "okay"; 149d6f93b02SAndreas Färber pinctrl-0 = <&pwm_e_pins>; 150d6f93b02SAndreas Färber pinctrl-names = "default"; 151d6f93b02SAndreas Färber clocks = <&clkc CLKID_FCLK_DIV4>; 152d6f93b02SAndreas Färber clock-names = "clkin0"; 153c763eb82SMartin Blumenstingl}; 154ab5b24fdSMartin Blumenstingl 155ab5b24fdSMartin Blumenstingl/* Wireless SDIO Module */ 156ab5b24fdSMartin Blumenstingl&sd_emmc_a { 157ab5b24fdSMartin Blumenstingl status = "okay"; 158ab5b24fdSMartin Blumenstingl pinctrl-0 = <&sdio_pins &sdio_irq_pins>; 15967e7607fSJerome Brunet pinctrl-1 = <&sdio_clk_gate_pins>; 16067e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 161ab5b24fdSMartin Blumenstingl #address-cells = <1>; 162ab5b24fdSMartin Blumenstingl #size-cells = <0>; 163ab5b24fdSMartin Blumenstingl 164ab5b24fdSMartin Blumenstingl bus-width = <4>; 165ab5b24fdSMartin Blumenstingl cap-sd-highspeed; 166adc52bf7SJerome Brunet max-frequency = <50000000>; 167ab5b24fdSMartin Blumenstingl 168ab5b24fdSMartin Blumenstingl non-removable; 169ab5b24fdSMartin Blumenstingl disable-wp; 170ab5b24fdSMartin Blumenstingl 171ab5b24fdSMartin Blumenstingl mmc-pwrseq = <&sdio_pwrseq>; 172ab5b24fdSMartin Blumenstingl 17341112431SNeil Armstrong vmmc-supply = <&vddao_3v3>; 17441112431SNeil Armstrong vqmmc-supply = <&vddio_boot>; 175ab5b24fdSMartin Blumenstingl 17619e16750SAndreas Färber brcmf: wifi@1 { 177ab5b24fdSMartin Blumenstingl reg = <1>; 178ab5b24fdSMartin Blumenstingl compatible = "brcm,bcm4329-fmac"; 179ab5b24fdSMartin Blumenstingl }; 180ab5b24fdSMartin Blumenstingl}; 181ab5b24fdSMartin Blumenstingl 182ab5b24fdSMartin Blumenstingl/* SD card */ 183ab5b24fdSMartin Blumenstingl&sd_emmc_b { 184ab5b24fdSMartin Blumenstingl status = "okay"; 185ab5b24fdSMartin Blumenstingl pinctrl-0 = <&sdcard_pins>; 18667e7607fSJerome Brunet pinctrl-1 = <&sdcard_clk_gate_pins>; 18767e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 188ab5b24fdSMartin Blumenstingl 189ab5b24fdSMartin Blumenstingl bus-width = <4>; 190ab5b24fdSMartin Blumenstingl cap-sd-highspeed; 191adc52bf7SJerome Brunet max-frequency = <50000000>; 192ab5b24fdSMartin Blumenstingl disable-wp; 193ab5b24fdSMartin Blumenstingl 194f29200c8SLoys Ollivier cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; 195ab5b24fdSMartin Blumenstingl 19641112431SNeil Armstrong vmmc-supply = <&vddao_3v3>; 19741112431SNeil Armstrong vqmmc-supply = <&vcc_3v3>; 198ab5b24fdSMartin Blumenstingl}; 199ab5b24fdSMartin Blumenstingl 200ab5b24fdSMartin Blumenstingl/* eMMC */ 201ab5b24fdSMartin Blumenstingl&sd_emmc_c { 202ab5b24fdSMartin Blumenstingl status = "okay"; 203ab36be66SNeil Armstrong pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 20467e7607fSJerome Brunet pinctrl-1 = <&emmc_clk_gate_pins>; 20567e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 206ab5b24fdSMartin Blumenstingl 207ab5b24fdSMartin Blumenstingl bus-width = <8>; 208ab5b24fdSMartin Blumenstingl cap-mmc-highspeed; 209ab5b24fdSMartin Blumenstingl max-frequency = <200000000>; 210ab5b24fdSMartin Blumenstingl non-removable; 211ab5b24fdSMartin Blumenstingl disable-wp; 212ab5b24fdSMartin Blumenstingl mmc-ddr-1_8v; 213ab5b24fdSMartin Blumenstingl mmc-hs200-1_8v; 214ab5b24fdSMartin Blumenstingl 215ab5b24fdSMartin Blumenstingl mmc-pwrseq = <&emmc_pwrseq>; 216ab5b24fdSMartin Blumenstingl vmmc-supply = <&vcc_3v3>; 21741112431SNeil Armstrong vqmmc-supply = <&vddio_boot>; 218ab5b24fdSMartin Blumenstingl}; 219ab5b24fdSMartin Blumenstingl 220d6f93b02SAndreas Färber&uart_AO { 221ab5b24fdSMartin Blumenstingl status = "okay"; 222d6f93b02SAndreas Färber pinctrl-0 = <&uart_ao_a_pins>; 223ab5b24fdSMartin Blumenstingl pinctrl-names = "default"; 224d6f93b02SAndreas Färber}; 225d6f93b02SAndreas Färber 226d6f93b02SAndreas Färber&usb0_phy { 227d6f93b02SAndreas Färber status = "okay"; 22841112431SNeil Armstrong phy-supply = <&usb_pwr>; 229d6f93b02SAndreas Färber}; 230d6f93b02SAndreas Färber 231d6f93b02SAndreas Färber&usb1_phy { 232d6f93b02SAndreas Färber status = "okay"; 233d6f93b02SAndreas Färber}; 234d6f93b02SAndreas Färber 235d6f93b02SAndreas Färber&usb0 { 236d6f93b02SAndreas Färber status = "okay"; 237d6f93b02SAndreas Färber}; 238d6f93b02SAndreas Färber 239d6f93b02SAndreas Färber&usb1 { 240d6f93b02SAndreas Färber status = "okay"; 241ab5b24fdSMartin Blumenstingl}; 242