1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2016 BayLibre, SAS. 4 * Author: Neil Armstrong <narmstrong@baylibre.com> 5 * 6 * Copyright (c) 2016 Endless Computers, Inc. 7 * Author: Carlo Caione <carlo@endlessm.com> 8 */ 9 10/dts-v1/; 11 12#include "meson-gxm.dtsi" 13 14/ { 15 compatible = "nexbox,a1", "amlogic,s912", "amlogic,meson-gxm"; 16 model = "NEXBOX A1"; 17 18 aliases { 19 serial0 = &uart_AO; 20 ethernet0 = ðmac; 21 }; 22 23 chosen { 24 stdout-path = "serial0:115200n8"; 25 }; 26 27 memory@0 { 28 device_type = "memory"; 29 reg = <0x0 0x0 0x0 0x80000000>; 30 }; 31 32 vddio_boot: regulator-vddio-boot { 33 compatible = "regulator-fixed"; 34 regulator-name = "VDDIO_BOOT"; 35 regulator-min-microvolt = <1800000>; 36 regulator-max-microvolt = <1800000>; 37 }; 38 39 vddao_3v3: regulator-vddao-3v3 { 40 compatible = "regulator-fixed"; 41 regulator-name = "VDDAO_3V3"; 42 regulator-min-microvolt = <3300000>; 43 regulator-max-microvolt = <3300000>; 44 }; 45 46 vcc_3v3: regulator-vcc-3v3 { 47 compatible = "regulator-fixed"; 48 regulator-name = "VCC_3V3"; 49 regulator-min-microvolt = <3300000>; 50 regulator-max-microvolt = <3300000>; 51 }; 52 53 emmc_pwrseq: emmc-pwrseq { 54 compatible = "mmc-pwrseq-emmc"; 55 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 56 }; 57 58 cvbs-connector { 59 compatible = "composite-video-connector"; 60 61 port { 62 cvbs_connector_in: endpoint { 63 remote-endpoint = <&cvbs_vdac_out>; 64 }; 65 }; 66 }; 67 68 hdmi-connector { 69 compatible = "hdmi-connector"; 70 type = "a"; 71 72 port { 73 hdmi_connector_in: endpoint { 74 remote-endpoint = <&hdmi_tx_tmds_out>; 75 }; 76 }; 77 }; 78}; 79 80&cec_AO { 81 status = "okay"; 82 pinctrl-0 = <&ao_cec_pins>; 83 pinctrl-names = "default"; 84 hdmi-phandle = <&hdmi_tx>; 85}; 86 87&cvbs_vdac_port { 88 cvbs_vdac_out: endpoint { 89 remote-endpoint = <&cvbs_connector_in>; 90 }; 91}; 92 93ðmac { 94 status = "okay"; 95 96 pinctrl-0 = <ð_pins>; 97 pinctrl-names = "default"; 98 99 /* Select external PHY by default */ 100 phy-handle = <&external_phy>; 101 102 amlogic,tx-delay-ns = <2>; 103 104 /* External PHY is in RGMII */ 105 phy-mode = "rgmii"; 106}; 107 108&external_mdio { 109 external_phy: ethernet-phy@0 { 110 /* Realtek RTL8211F (0x001cc916) */ 111 reg = <0>; 112 max-speed = <1000>; 113 114 reset-assert-us = <10000>; 115 reset-deassert-us = <30000>; 116 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 117 }; 118}; 119 120&hdmi_tx { 121 status = "okay"; 122 pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 123 pinctrl-names = "default"; 124}; 125 126&hdmi_tx_tmds_port { 127 hdmi_tx_tmds_out: endpoint { 128 remote-endpoint = <&hdmi_connector_in>; 129 }; 130}; 131 132&ir { 133 status = "okay"; 134 pinctrl-0 = <&remote_input_ao_pins>; 135 pinctrl-names = "default"; 136}; 137 138/* SD card */ 139&sd_emmc_b { 140 status = "okay"; 141 pinctrl-0 = <&sdcard_pins>; 142 pinctrl-1 = <&sdcard_clk_gate_pins>; 143 pinctrl-names = "default", "clk-gate"; 144 145 bus-width = <4>; 146 cap-sd-highspeed; 147 max-frequency = <50000000>; 148 disable-wp; 149 150 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; 151 152 vmmc-supply = <&vddao_3v3>; 153 vqmmc-supply = <&vddio_boot>; 154}; 155 156/* eMMC */ 157&sd_emmc_c { 158 status = "okay"; 159 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 160 pinctrl-1 = <&emmc_clk_gate_pins>; 161 pinctrl-names = "default", "clk-gate"; 162 163 bus-width = <8>; 164 cap-mmc-highspeed; 165 max-frequency = <200000000>; 166 non-removable; 167 disable-wp; 168 mmc-ddr-1_8v; 169 mmc-hs200-1_8v; 170 171 mmc-pwrseq = <&emmc_pwrseq>; 172 vmmc-supply = <&vcc_3v3>; 173 vqmmc-supply = <&vddio_boot>; 174}; 175 176&uart_AO { 177 status = "okay"; 178 pinctrl-0 = <&uart_ao_a_pins>; 179 pinctrl-names = "default"; 180}; 181 182&usb { 183 status = "okay"; 184 dr_mode = "host"; 185}; 186