1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 3 * Copyright (c) 2016 Andreas Färber 4 * Copyright (c) 2016 BayLibre, Inc. 5 * Author: Neil Armstrong <narmstrong@kernel.or 6 */ 7 8 /dts-v1/; 9 10 #include "meson-gxbb.dtsi" 11 #include <dt-bindings/gpio/gpio.h> 12 #include <dt-bindings/input/input.h> 13 #include <dt-bindings/sound/meson-aiu.h> 14 15 / { 16 compatible = "nexbox,a95x", "amlogic,m 17 model = "NEXBOX A95X"; 18 19 aliases { 20 serial0 = &uart_AO; 21 ethernet0 = ðmac; 22 }; 23 24 chosen { 25 stdout-path = "serial0:115200n 26 }; 27 28 memory@0 { 29 device_type = "memory"; 30 reg = <0x0 0x0 0x0 0x40000000> 31 }; 32 33 leds { 34 compatible = "gpio-leds"; 35 led-blue { 36 label = "a95x:system-s 37 gpios = <&gpio_ao GPIO 38 linux,default-trigger 39 default-state = "off"; 40 }; 41 }; 42 43 gpio-keys-polled { 44 compatible = "gpio-keys-polled 45 poll-interval = <100>; 46 47 button { 48 label = "reset"; 49 linux,code = <KEY_REST 50 gpios = <&gpio_ao GPIO 51 }; 52 }; 53 54 usb_pwr: regulator-usb-pwrs { 55 compatible = "regulator-fixed" 56 57 regulator-name = "USB_PWR"; 58 59 regulator-min-microvolt = <500 60 regulator-max-microvolt = <500 61 62 gpio = <&gpio GPIODV_24 GPIO_A 63 enable-active-high; 64 }; 65 66 vddio_card: gpio-regulator { 67 compatible = "regulator-gpio"; 68 69 regulator-name = "VDDIO_CARD"; 70 regulator-min-microvolt = <180 71 regulator-max-microvolt = <330 72 73 gpios = <&gpio_ao GPIOAO_5 GPI 74 gpios-states = <1>; 75 76 /* Based on P200 schematics, s 77 states = <1800000 0>, 78 <3300000 1>; 79 }; 80 81 vddio_boot: regulator-vddio-boot { 82 compatible = "regulator-fixed" 83 regulator-name = "VDDIO_BOOT"; 84 regulator-min-microvolt = <180 85 regulator-max-microvolt = <180 86 }; 87 88 vddao_3v3: regulator-vddao-3v3 { 89 compatible = "regulator-fixed" 90 regulator-name = "VDDAO_3V3"; 91 regulator-min-microvolt = <330 92 regulator-max-microvolt = <330 93 }; 94 95 vcc_3v3: regulator-vcc-3v3 { 96 compatible = "regulator-fixed" 97 regulator-name = "VCC_3V3"; 98 regulator-min-microvolt = <330 99 regulator-max-microvolt = <330 100 }; 101 102 emmc_pwrseq: emmc-pwrseq { 103 compatible = "mmc-pwrseq-emmc" 104 reset-gpios = <&gpio BOOT_9 GP 105 }; 106 107 wifi32k: wifi32k { 108 compatible = "pwm-clock"; 109 #clock-cells = <0>; 110 clock-frequency = <32768>; 111 pwms = <&pwm_ef 0 30518 0>; /* 112 }; 113 114 sdio_pwrseq: sdio-pwrseq { 115 compatible = "mmc-pwrseq-simpl 116 reset-gpios = <&gpio GPIOX_6 G 117 clocks = <&wifi32k>; 118 clock-names = "ext_clock"; 119 }; 120 121 cvbs-connector { 122 compatible = "composite-video- 123 124 port { 125 cvbs_connector_in: end 126 remote-endpoin 127 }; 128 }; 129 }; 130 131 hdmi-connector { 132 compatible = "hdmi-connector"; 133 type = "a"; 134 135 port { 136 hdmi_connector_in: end 137 remote-endpoin 138 }; 139 }; 140 }; 141 142 sound { 143 compatible = "amlogic,gx-sound 144 model = "NEXBOX-A95X"; 145 assigned-clocks = <&clkc CLKID 146 <&clkc CLKID 147 <&clkc CLKID 148 assigned-clock-parents = <0>, 149 assigned-clock-rates = <294912 150 <270950 151 <393216 152 153 dai-link-0 { 154 sound-dai = <&aiu AIU_ 155 }; 156 157 dai-link-1 { 158 sound-dai = <&aiu AIU_ 159 dai-format = "i2s"; 160 mclk-fs = <256>; 161 162 codec-0 { 163 sound-dai = <& 164 }; 165 }; 166 167 dai-link-2 { 168 sound-dai = <&aiu AIU_ 169 170 codec-0 { 171 sound-dai = <& 172 }; 173 }; 174 }; 175 }; 176 177 &aiu { 178 status = "okay"; 179 }; 180 181 &cvbs_vdac_port { 182 cvbs_vdac_out: endpoint { 183 remote-endpoint = <&cvbs_conne 184 }; 185 }; 186 187 &cec_AO { 188 status = "okay"; 189 pinctrl-0 = <&ao_cec_pins>; 190 pinctrl-names = "default"; 191 hdmi-phandle = <&hdmi_tx>; 192 }; 193 194 ðmac { 195 status = "okay"; 196 pinctrl-0 = <ð_rmii_pins>; 197 pinctrl-names = "default"; 198 199 phy-handle = <ð_phy0>; 200 phy-mode = "rmii"; 201 202 mdio { 203 compatible = "snps,dwmac-mdio" 204 #address-cells = <1>; 205 #size-cells = <0>; 206 207 eth_phy0: ethernet-phy@0 { 208 /* IC Plus IP101GR (0x 209 reg = <0>; 210 211 reset-assert-us = <100 212 reset-deassert-us = <1 213 reset-gpios = <&gpio G 214 }; 215 }; 216 }; 217 218 &hdmi_tx { 219 status = "okay"; 220 pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i 221 pinctrl-names = "default"; 222 }; 223 224 &hdmi_tx_tmds_port { 225 hdmi_tx_tmds_out: endpoint { 226 remote-endpoint = <&hdmi_conne 227 }; 228 }; 229 230 &ir { 231 status = "okay"; 232 pinctrl-0 = <&remote_input_ao_pins>; 233 pinctrl-names = "default"; 234 }; 235 236 &pwm_ef { 237 status = "okay"; 238 pinctrl-0 = <&pwm_e_pins>; 239 pinctrl-names = "default"; 240 clocks = <&clkc CLKID_FCLK_DIV4>; 241 clock-names = "clkin0"; 242 }; 243 244 /* Wireless SDIO Module */ 245 &sd_emmc_a { 246 status = "okay"; 247 pinctrl-0 = <&sdio_pins>; 248 pinctrl-1 = <&sdio_clk_gate_pins>; 249 pinctrl-names = "default", "clk-gate"; 250 #address-cells = <1>; 251 #size-cells = <0>; 252 253 bus-width = <4>; 254 cap-sd-highspeed; 255 max-frequency = <100000000>; 256 257 non-removable; 258 disable-wp; 259 260 /* WiFi firmware requires power to be 261 keep-power-in-suspend; 262 263 mmc-pwrseq = <&sdio_pwrseq>; 264 265 vmmc-supply = <&vddao_3v3>; 266 vqmmc-supply = <&vddio_boot>; 267 }; 268 269 /* SD card */ 270 &sd_emmc_b { 271 status = "okay"; 272 pinctrl-0 = <&sdcard_pins>; 273 pinctrl-1 = <&sdcard_clk_gate_pins>; 274 pinctrl-names = "default", "clk-gate"; 275 276 bus-width = <4>; 277 cap-sd-highspeed; 278 max-frequency = <50000000>; 279 disable-wp; 280 281 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_L 282 283 vmmc-supply = <&vddao_3v3>; 284 vqmmc-supply = <&vddio_card>; 285 }; 286 287 /* eMMC */ 288 &sd_emmc_c { 289 status = "okay"; 290 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pi 291 pinctrl-1 = <&emmc_clk_gate_pins>; 292 pinctrl-names = "default", "clk-gate"; 293 294 bus-width = <8>; 295 cap-mmc-highspeed; 296 max-frequency = <200000000>; 297 non-removable; 298 disable-wp; 299 mmc-ddr-1_8v; 300 mmc-hs200-1_8v; 301 302 mmc-pwrseq = <&emmc_pwrseq>; 303 vmmc-supply = <&vcc_3v3>; 304 vqmmc-supply = <&vddio_boot>; 305 }; 306 307 &uart_AO { 308 status = "okay"; 309 pinctrl-0 = <&uart_ao_a_pins>; 310 pinctrl-names = "default"; 311 }; 312 313 &usb0_phy { 314 status = "okay"; 315 phy-supply = <&usb_pwr>; 316 }; 317 318 &usb1_phy { 319 status = "okay"; 320 }; 321 322 &usb0 { 323 status = "okay"; 324 }; 325 326 &usb1 { 327 status = "okay"; 328 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.