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 snps,reset-gpio = <&gpio GPIOZ_14 0>; 1201220b297SMartin Blumenstingl snps,reset-delays-us = <0 10000 1000000>; 1211220b297SMartin Blumenstingl snps,reset-active-low; 1221220b297SMartin Blumenstingl 1231220b297SMartin Blumenstingl mdio { 1241220b297SMartin Blumenstingl compatible = "snps,dwmac-mdio"; 1251220b297SMartin Blumenstingl #address-cells = <1>; 1261220b297SMartin Blumenstingl #size-cells = <0>; 1271220b297SMartin Blumenstingl 1281220b297SMartin Blumenstingl eth_phy0: ethernet-phy@0 { 1291220b297SMartin Blumenstingl /* Realtek RTL8211F (0x001cc916) */ 1301220b297SMartin Blumenstingl reg = <0>; 131ec066d8fSNeil Armstrong interrupt-parent = <&gpio_intc>; 132ec066d8fSNeil Armstrong /* MAC_INTR on GPIOZ_15 */ 133ec066d8fSNeil Armstrong interrupts = <29 IRQ_TYPE_LEVEL_LOW>; 1341220b297SMartin Blumenstingl }; 1351220b297SMartin Blumenstingl }; 136f59063aeSMartin Blumenstingl}; 137c763eb82SMartin Blumenstingl 138954b67dfSNeil Armstrong&hdmi_tx { 139954b67dfSNeil Armstrong status = "okay"; 140954b67dfSNeil Armstrong pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 141954b67dfSNeil Armstrong pinctrl-names = "default"; 142954b67dfSNeil Armstrong}; 143954b67dfSNeil Armstrong 144954b67dfSNeil Armstrong&hdmi_tx_tmds_port { 145954b67dfSNeil Armstrong hdmi_tx_tmds_out: endpoint { 146954b67dfSNeil Armstrong remote-endpoint = <&hdmi_connector_in>; 147954b67dfSNeil Armstrong }; 148954b67dfSNeil Armstrong}; 149954b67dfSNeil Armstrong 150d6f93b02SAndreas Färber&ir { 151c763eb82SMartin Blumenstingl status = "okay"; 152d6f93b02SAndreas Färber pinctrl-0 = <&remote_input_ao_pins>; 153d6f93b02SAndreas Färber pinctrl-names = "default"; 154c763eb82SMartin Blumenstingl}; 155c763eb82SMartin Blumenstingl 156d6f93b02SAndreas Färber&pwm_ef { 157c763eb82SMartin Blumenstingl status = "okay"; 158d6f93b02SAndreas Färber pinctrl-0 = <&pwm_e_pins>; 159d6f93b02SAndreas Färber pinctrl-names = "default"; 160d6f93b02SAndreas Färber clocks = <&clkc CLKID_FCLK_DIV4>; 161d6f93b02SAndreas Färber clock-names = "clkin0"; 162c763eb82SMartin Blumenstingl}; 163ab5b24fdSMartin Blumenstingl 164f1ef6262SNeil Armstrong&saradc { 165f1ef6262SNeil Armstrong status = "okay"; 166f1ef6262SNeil Armstrong vref-supply = <&vddio_ao18>; 167f1ef6262SNeil Armstrong}; 168f1ef6262SNeil Armstrong 169ab5b24fdSMartin Blumenstingl/* Wireless SDIO Module */ 170ab5b24fdSMartin Blumenstingl&sd_emmc_a { 171ab5b24fdSMartin Blumenstingl status = "okay"; 172b07a11dbSNeil Armstrong pinctrl-0 = <&sdio_pins>; 17367e7607fSJerome Brunet pinctrl-1 = <&sdio_clk_gate_pins>; 17467e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 175ab5b24fdSMartin Blumenstingl #address-cells = <1>; 176ab5b24fdSMartin Blumenstingl #size-cells = <0>; 177ab5b24fdSMartin Blumenstingl 178ab5b24fdSMartin Blumenstingl bus-width = <4>; 179ab5b24fdSMartin Blumenstingl cap-sd-highspeed; 180adc52bf7SJerome Brunet max-frequency = <50000000>; 181ab5b24fdSMartin Blumenstingl 182ab5b24fdSMartin Blumenstingl non-removable; 183ab5b24fdSMartin Blumenstingl disable-wp; 184ab5b24fdSMartin Blumenstingl 185ab5b24fdSMartin Blumenstingl mmc-pwrseq = <&sdio_pwrseq>; 186ab5b24fdSMartin Blumenstingl 18741112431SNeil Armstrong vmmc-supply = <&vddao_3v3>; 18841112431SNeil Armstrong vqmmc-supply = <&vddio_boot>; 189ab5b24fdSMartin Blumenstingl 19019e16750SAndreas Färber brcmf: wifi@1 { 191ab5b24fdSMartin Blumenstingl reg = <1>; 192ab5b24fdSMartin Blumenstingl compatible = "brcm,bcm4329-fmac"; 193ab5b24fdSMartin Blumenstingl }; 194ab5b24fdSMartin Blumenstingl}; 195ab5b24fdSMartin Blumenstingl 196ab5b24fdSMartin Blumenstingl/* SD card */ 197ab5b24fdSMartin Blumenstingl&sd_emmc_b { 198ab5b24fdSMartin Blumenstingl status = "okay"; 199ab5b24fdSMartin Blumenstingl pinctrl-0 = <&sdcard_pins>; 20067e7607fSJerome Brunet pinctrl-1 = <&sdcard_clk_gate_pins>; 20167e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 202ab5b24fdSMartin Blumenstingl 203ab5b24fdSMartin Blumenstingl bus-width = <4>; 204ab5b24fdSMartin Blumenstingl cap-sd-highspeed; 205adc52bf7SJerome Brunet max-frequency = <50000000>; 206ab5b24fdSMartin Blumenstingl disable-wp; 207ab5b24fdSMartin Blumenstingl 208f29200c8SLoys Ollivier cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; 209ab5b24fdSMartin Blumenstingl 21041112431SNeil Armstrong vmmc-supply = <&vddao_3v3>; 21141112431SNeil Armstrong vqmmc-supply = <&vcc_3v3>; 212ab5b24fdSMartin Blumenstingl}; 213ab5b24fdSMartin Blumenstingl 214ab5b24fdSMartin Blumenstingl/* eMMC */ 215ab5b24fdSMartin Blumenstingl&sd_emmc_c { 216ab5b24fdSMartin Blumenstingl status = "okay"; 217ab36be66SNeil Armstrong pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 21867e7607fSJerome Brunet pinctrl-1 = <&emmc_clk_gate_pins>; 21967e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 220ab5b24fdSMartin Blumenstingl 221ab5b24fdSMartin Blumenstingl bus-width = <8>; 222ab5b24fdSMartin Blumenstingl cap-mmc-highspeed; 223ab5b24fdSMartin Blumenstingl max-frequency = <200000000>; 224ab5b24fdSMartin Blumenstingl non-removable; 225ab5b24fdSMartin Blumenstingl disable-wp; 226ab5b24fdSMartin Blumenstingl mmc-ddr-1_8v; 227ab5b24fdSMartin Blumenstingl mmc-hs200-1_8v; 228ab5b24fdSMartin Blumenstingl 229ab5b24fdSMartin Blumenstingl mmc-pwrseq = <&emmc_pwrseq>; 230ab5b24fdSMartin Blumenstingl vmmc-supply = <&vcc_3v3>; 23141112431SNeil Armstrong vqmmc-supply = <&vddio_boot>; 232ab5b24fdSMartin Blumenstingl}; 233ab5b24fdSMartin Blumenstingl 234b07a11dbSNeil Armstrong/* This is connected to the Bluetooth module: */ 235b07a11dbSNeil Armstrong&uart_A { 236b07a11dbSNeil Armstrong status = "okay"; 237b07a11dbSNeil Armstrong pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 238b07a11dbSNeil Armstrong pinctrl-names = "default"; 239b07a11dbSNeil Armstrong 240b07a11dbSNeil Armstrong bluetooth { 241b07a11dbSNeil Armstrong compatible = "brcm,bcm43438-bt"; 242b07a11dbSNeil Armstrong shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>; 243b07a11dbSNeil Armstrong }; 244b07a11dbSNeil Armstrong}; 245b07a11dbSNeil Armstrong 246b07a11dbSNeil Armstrong/* This UART is brought out to the DB9 connector */ 247d6f93b02SAndreas Färber&uart_AO { 248ab5b24fdSMartin Blumenstingl status = "okay"; 249d6f93b02SAndreas Färber pinctrl-0 = <&uart_ao_a_pins>; 250ab5b24fdSMartin Blumenstingl pinctrl-names = "default"; 251d6f93b02SAndreas Färber}; 252d6f93b02SAndreas Färber 253d6f93b02SAndreas Färber&usb0_phy { 254d6f93b02SAndreas Färber status = "okay"; 25541112431SNeil Armstrong phy-supply = <&usb_pwr>; 256d6f93b02SAndreas Färber}; 257d6f93b02SAndreas Färber 258d6f93b02SAndreas Färber&usb1_phy { 259d6f93b02SAndreas Färber status = "okay"; 260d6f93b02SAndreas Färber}; 261d6f93b02SAndreas Färber 262d6f93b02SAndreas Färber&usb0 { 263d6f93b02SAndreas Färber status = "okay"; 264d6f93b02SAndreas Färber}; 265d6f93b02SAndreas Färber 266d6f93b02SAndreas Färber&usb1 { 267d6f93b02SAndreas Färber status = "okay"; 268ab5b24fdSMartin Blumenstingl}; 269