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"; 96ab5b24fdSMartin Blumenstingl reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>, 97ab5b24fdSMartin Blumenstingl <&gpio GPIOX_20 GPIO_ACTIVE_LOW>; 98ab5b24fdSMartin Blumenstingl clocks = <&wifi32k>; 99ab5b24fdSMartin Blumenstingl clock-names = "ext_clock"; 100ab5b24fdSMartin Blumenstingl }; 101cc733bc9SAndreas Färber}; 102cc733bc9SAndreas Färber 1038d6dbe5bSNeil Armstrong&cec_AO { 1048d6dbe5bSNeil Armstrong status = "okay"; 1058d6dbe5bSNeil Armstrong pinctrl-0 = <&ao_cec_pins>; 1068d6dbe5bSNeil Armstrong pinctrl-names = "default"; 1078d6dbe5bSNeil Armstrong hdmi-phandle = <&hdmi_tx>; 1088d6dbe5bSNeil Armstrong}; 1098d6dbe5bSNeil Armstrong 110f59063aeSMartin Blumenstinglðmac { 111f59063aeSMartin Blumenstingl status = "okay"; 1123be2d9cfSNeil Armstrong pinctrl-0 = <ð_rgmii_pins>; 113f59063aeSMartin Blumenstingl pinctrl-names = "default"; 1141220b297SMartin Blumenstingl 1151220b297SMartin Blumenstingl phy-handle = <ð_phy0>; 1161220b297SMartin Blumenstingl phy-mode = "rgmii"; 1171220b297SMartin Blumenstingl 118093d23dbSMartin Blumenstingl amlogic,tx-delay-ns = <2>; 119093d23dbSMartin Blumenstingl 1201220b297SMartin Blumenstingl snps,reset-gpio = <&gpio GPIOZ_14 0>; 1211220b297SMartin Blumenstingl snps,reset-delays-us = <0 10000 1000000>; 1221220b297SMartin Blumenstingl snps,reset-active-low; 1231220b297SMartin Blumenstingl 1241220b297SMartin Blumenstingl mdio { 1251220b297SMartin Blumenstingl compatible = "snps,dwmac-mdio"; 1261220b297SMartin Blumenstingl #address-cells = <1>; 1271220b297SMartin Blumenstingl #size-cells = <0>; 1281220b297SMartin Blumenstingl 1291220b297SMartin Blumenstingl eth_phy0: ethernet-phy@0 { 1301220b297SMartin Blumenstingl /* Realtek RTL8211F (0x001cc916) */ 1311220b297SMartin Blumenstingl reg = <0>; 1321220b297SMartin Blumenstingl }; 1331220b297SMartin Blumenstingl }; 134f59063aeSMartin Blumenstingl}; 135c763eb82SMartin Blumenstingl 136954b67dfSNeil Armstrong&hdmi_tx { 137954b67dfSNeil Armstrong status = "okay"; 138954b67dfSNeil Armstrong pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 139954b67dfSNeil Armstrong pinctrl-names = "default"; 140954b67dfSNeil Armstrong}; 141954b67dfSNeil Armstrong 142954b67dfSNeil Armstrong&hdmi_tx_tmds_port { 143954b67dfSNeil Armstrong hdmi_tx_tmds_out: endpoint { 144954b67dfSNeil Armstrong remote-endpoint = <&hdmi_connector_in>; 145954b67dfSNeil Armstrong }; 146954b67dfSNeil Armstrong}; 147954b67dfSNeil Armstrong 148d6f93b02SAndreas Färber&ir { 149c763eb82SMartin Blumenstingl status = "okay"; 150d6f93b02SAndreas Färber pinctrl-0 = <&remote_input_ao_pins>; 151d6f93b02SAndreas Färber pinctrl-names = "default"; 152c763eb82SMartin Blumenstingl}; 153c763eb82SMartin Blumenstingl 154d6f93b02SAndreas Färber&pwm_ef { 155c763eb82SMartin Blumenstingl status = "okay"; 156d6f93b02SAndreas Färber pinctrl-0 = <&pwm_e_pins>; 157d6f93b02SAndreas Färber pinctrl-names = "default"; 158d6f93b02SAndreas Färber clocks = <&clkc CLKID_FCLK_DIV4>; 159d6f93b02SAndreas Färber clock-names = "clkin0"; 160c763eb82SMartin Blumenstingl}; 161ab5b24fdSMartin Blumenstingl 162f1ef6262SNeil Armstrong&saradc { 163f1ef6262SNeil Armstrong status = "okay"; 164f1ef6262SNeil Armstrong vref-supply = <&vddio_ao18>; 165f1ef6262SNeil Armstrong}; 166f1ef6262SNeil Armstrong 167ab5b24fdSMartin Blumenstingl/* Wireless SDIO Module */ 168ab5b24fdSMartin Blumenstingl&sd_emmc_a { 169ab5b24fdSMartin Blumenstingl status = "okay"; 170ab5b24fdSMartin Blumenstingl pinctrl-0 = <&sdio_pins &sdio_irq_pins>; 17167e7607fSJerome Brunet pinctrl-1 = <&sdio_clk_gate_pins>; 17267e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 173ab5b24fdSMartin Blumenstingl #address-cells = <1>; 174ab5b24fdSMartin Blumenstingl #size-cells = <0>; 175ab5b24fdSMartin Blumenstingl 176ab5b24fdSMartin Blumenstingl bus-width = <4>; 177ab5b24fdSMartin Blumenstingl cap-sd-highspeed; 178adc52bf7SJerome Brunet max-frequency = <50000000>; 179ab5b24fdSMartin Blumenstingl 180ab5b24fdSMartin Blumenstingl non-removable; 181ab5b24fdSMartin Blumenstingl disable-wp; 182ab5b24fdSMartin Blumenstingl 183ab5b24fdSMartin Blumenstingl mmc-pwrseq = <&sdio_pwrseq>; 184ab5b24fdSMartin Blumenstingl 18541112431SNeil Armstrong vmmc-supply = <&vddao_3v3>; 18641112431SNeil Armstrong vqmmc-supply = <&vddio_boot>; 187ab5b24fdSMartin Blumenstingl 18819e16750SAndreas Färber brcmf: wifi@1 { 189ab5b24fdSMartin Blumenstingl reg = <1>; 190ab5b24fdSMartin Blumenstingl compatible = "brcm,bcm4329-fmac"; 191ab5b24fdSMartin Blumenstingl }; 192ab5b24fdSMartin Blumenstingl}; 193ab5b24fdSMartin Blumenstingl 194ab5b24fdSMartin Blumenstingl/* SD card */ 195ab5b24fdSMartin Blumenstingl&sd_emmc_b { 196ab5b24fdSMartin Blumenstingl status = "okay"; 197ab5b24fdSMartin Blumenstingl pinctrl-0 = <&sdcard_pins>; 19867e7607fSJerome Brunet pinctrl-1 = <&sdcard_clk_gate_pins>; 19967e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 200ab5b24fdSMartin Blumenstingl 201ab5b24fdSMartin Blumenstingl bus-width = <4>; 202ab5b24fdSMartin Blumenstingl cap-sd-highspeed; 203adc52bf7SJerome Brunet max-frequency = <50000000>; 204ab5b24fdSMartin Blumenstingl disable-wp; 205ab5b24fdSMartin Blumenstingl 206f29200c8SLoys Ollivier cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; 207ab5b24fdSMartin Blumenstingl 20841112431SNeil Armstrong vmmc-supply = <&vddao_3v3>; 20941112431SNeil Armstrong vqmmc-supply = <&vcc_3v3>; 210ab5b24fdSMartin Blumenstingl}; 211ab5b24fdSMartin Blumenstingl 212ab5b24fdSMartin Blumenstingl/* eMMC */ 213ab5b24fdSMartin Blumenstingl&sd_emmc_c { 214ab5b24fdSMartin Blumenstingl status = "okay"; 215ab36be66SNeil Armstrong pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 21667e7607fSJerome Brunet pinctrl-1 = <&emmc_clk_gate_pins>; 21767e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 218ab5b24fdSMartin Blumenstingl 219ab5b24fdSMartin Blumenstingl bus-width = <8>; 220ab5b24fdSMartin Blumenstingl cap-mmc-highspeed; 221ab5b24fdSMartin Blumenstingl max-frequency = <200000000>; 222ab5b24fdSMartin Blumenstingl non-removable; 223ab5b24fdSMartin Blumenstingl disable-wp; 224ab5b24fdSMartin Blumenstingl mmc-ddr-1_8v; 225ab5b24fdSMartin Blumenstingl mmc-hs200-1_8v; 226ab5b24fdSMartin Blumenstingl 227ab5b24fdSMartin Blumenstingl mmc-pwrseq = <&emmc_pwrseq>; 228ab5b24fdSMartin Blumenstingl vmmc-supply = <&vcc_3v3>; 22941112431SNeil Armstrong vqmmc-supply = <&vddio_boot>; 230ab5b24fdSMartin Blumenstingl}; 231ab5b24fdSMartin Blumenstingl 232d6f93b02SAndreas Färber&uart_AO { 233ab5b24fdSMartin Blumenstingl status = "okay"; 234d6f93b02SAndreas Färber pinctrl-0 = <&uart_ao_a_pins>; 235ab5b24fdSMartin Blumenstingl pinctrl-names = "default"; 236d6f93b02SAndreas Färber}; 237d6f93b02SAndreas Färber 238d6f93b02SAndreas Färber&usb0_phy { 239d6f93b02SAndreas Färber status = "okay"; 24041112431SNeil Armstrong phy-supply = <&usb_pwr>; 241d6f93b02SAndreas Färber}; 242d6f93b02SAndreas Färber 243d6f93b02SAndreas Färber&usb1_phy { 244d6f93b02SAndreas Färber status = "okay"; 245d6f93b02SAndreas Färber}; 246d6f93b02SAndreas Färber 247d6f93b02SAndreas Färber&usb0 { 248d6f93b02SAndreas Färber status = "okay"; 249d6f93b02SAndreas Färber}; 250d6f93b02SAndreas Färber 251d6f93b02SAndreas Färber&usb1 { 252d6f93b02SAndreas Färber status = "okay"; 253ab5b24fdSMartin Blumenstingl}; 254