treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / arch / arm64 / boot / dts / amlogic / meson-gxm-nexbox-a1.dts
blobc2bd4dbbf38c5408a2fbe3b34de0c4e8224d81cb
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  */
10 /dts-v1/;
12 #include "meson-gxm.dtsi"
14 / {
15         compatible = "nexbox,a1", "amlogic,s912", "amlogic,meson-gxm";
16         model = "NEXBOX A1";
18         aliases {
19                 serial0 = &uart_AO;
20                 ethernet0 = &ethmac;
21         };
23         chosen {
24                 stdout-path = "serial0:115200n8";
25         };
27         memory@0 {
28                 device_type = "memory";
29                 reg = <0x0 0x0 0x0 0x80000000>;
30         };
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         };
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         };
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         };
53         emmc_pwrseq: emmc-pwrseq {
54                 compatible = "mmc-pwrseq-emmc";
55                 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
56         };
58         cvbs-connector {
59                 compatible = "composite-video-connector";
61                 port {
62                         cvbs_connector_in: endpoint {
63                                 remote-endpoint = <&cvbs_vdac_out>;
64                         };
65                 };
66         };
68         hdmi-connector {
69                 compatible = "hdmi-connector";
70                 type = "a";
72                 port {
73                         hdmi_connector_in: endpoint {
74                                 remote-endpoint = <&hdmi_tx_tmds_out>;
75                         };
76                 };
77         };
80 &cec_AO {
81         status = "okay";
82         pinctrl-0 = <&ao_cec_pins>;
83         pinctrl-names = "default";
84         hdmi-phandle = <&hdmi_tx>;
87 &cvbs_vdac_port {
88         cvbs_vdac_out: endpoint {
89                 remote-endpoint = <&cvbs_connector_in>;
90         };
93 &ethmac {
94         status = "okay";
96         pinctrl-0 = <&eth_pins>;
97         pinctrl-names = "default";
99         /* Select external PHY by default */
100         phy-handle = <&external_phy>;
102         amlogic,tx-delay-ns = <2>;
104         /* External PHY is in RGMII */
105         phy-mode = "rgmii";
108 &external_mdio {
109         external_phy: ethernet-phy@0 {
110                 /* Realtek RTL8211F (0x001cc916) */
111                 reg = <0>;
112                 max-speed = <1000>;
114                 reset-assert-us = <10000>;
115                 reset-deassert-us = <30000>;
116                 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
117         };
120 &hdmi_tx {
121         status = "okay";
122         pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
123         pinctrl-names = "default";
126 &hdmi_tx_tmds_port {
127         hdmi_tx_tmds_out: endpoint {
128                 remote-endpoint = <&hdmi_connector_in>;
129         };
132 &ir {
133         status = "okay";
134         pinctrl-0 = <&remote_input_ao_pins>;
135         pinctrl-names = "default";
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";
145         bus-width = <4>;
146         cap-sd-highspeed;
147         max-frequency = <50000000>;
148         disable-wp;
150         cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
152         vmmc-supply = <&vddao_3v3>;
153         vqmmc-supply = <&vddio_boot>;
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";
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;
171         mmc-pwrseq = <&emmc_pwrseq>;
172         vmmc-supply = <&vcc_3v3>;
173         vqmmc-supply = <&vddio_boot>;
176 &uart_AO {
177         status = "okay";
178         pinctrl-0 = <&uart_ao_a_pins>;
179         pinctrl-names = "default";
182 &usb0 {
183         status = "okay";