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 snps,reset-gpio = <&gpio GPIOZ_14 0>; 105 snps,reset-delays-us = <0 10000 1000000>; 106 snps,reset-active-low; 107 108 /* External PHY is in RGMII */ 109 phy-mode = "rgmii"; 110}; 111 112&external_mdio { 113 external_phy: ethernet-phy@0 { 114 compatible = "ethernet-phy-id001c.c916", "ethernet-phy-ieee802.3-c22"; 115 reg = <0>; 116 max-speed = <1000>; 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 = <100000000>; 148 disable-wp; 149 150 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>; 151 cd-inverted; 152 153 vmmc-supply = <&vddao_3v3>; 154 vqmmc-supply = <&vddio_boot>; 155}; 156 157/* eMMC */ 158&sd_emmc_c { 159 status = "okay"; 160 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 161 pinctrl-1 = <&emmc_clk_gate_pins>; 162 pinctrl-names = "default", "clk-gate"; 163 164 bus-width = <8>; 165 cap-mmc-highspeed; 166 max-frequency = <200000000>; 167 non-removable; 168 disable-wp; 169 mmc-ddr-1_8v; 170 mmc-hs200-1_8v; 171 172 mmc-pwrseq = <&emmc_pwrseq>; 173 vmmc-supply = <&vcc_3v3>; 174 vqmmc-supply = <&vddio_boot>; 175}; 176 177&uart_AO { 178 status = "okay"; 179 pinctrl-0 = <&uart_ao_a_pins>; 180 pinctrl-names = "default"; 181}; 182