]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts
UBUNTU: Ubuntu-5.4.0-117.132
[mirror_ubuntu-focal-kernel.git] / arch / arm64 / boot / dts / amlogic / meson-gxl-s905x-nexbox-a95x.dts
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.org>
6 */
7
8 /dts-v1/;
9
10 #include "meson-gxl-s905x.dtsi"
11
12 / {
13 compatible = "nexbox,a95x", "amlogic,s905x", "amlogic,meson-gxl";
14 model = "NEXBOX A95X (S905X)";
15
16 aliases {
17 serial0 = &uart_AO;
18 ethernet0 = &ethmac;
19 };
20
21 chosen {
22 stdout-path = "serial0:115200n8";
23 };
24
25 memory@0 {
26 device_type = "memory";
27 reg = <0x0 0x0 0x0 0x80000000>;
28 };
29
30 vddio_card: gpio-regulator {
31 compatible = "regulator-gpio";
32
33 regulator-name = "VDDIO_CARD";
34 regulator-min-microvolt = <1800000>;
35 regulator-max-microvolt = <3300000>;
36
37 gpios = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>;
38 gpios-states = <1>;
39
40 /* Based on P200 schematics, signal CARD_1.8V/3.3V_CTR */
41 states = <1800000 0>,
42 <3300000 1>;
43 };
44
45 vddio_boot: regulator-vddio_boot {
46 compatible = "regulator-fixed";
47 regulator-name = "VDDIO_BOOT";
48 regulator-min-microvolt = <1800000>;
49 regulator-max-microvolt = <1800000>;
50 };
51
52 vddao_3v3: regulator-vddao_3v3 {
53 compatible = "regulator-fixed";
54 regulator-name = "VDDAO_3V3";
55 regulator-min-microvolt = <3300000>;
56 regulator-max-microvolt = <3300000>;
57 };
58
59 vcc_3v3: regulator-vcc_3v3 {
60 compatible = "regulator-fixed";
61 regulator-name = "VCC_3V3";
62 regulator-min-microvolt = <3300000>;
63 regulator-max-microvolt = <3300000>;
64 };
65
66 emmc_pwrseq: emmc-pwrseq {
67 compatible = "mmc-pwrseq-emmc";
68 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
69 };
70
71 wifi32k: wifi32k {
72 compatible = "pwm-clock";
73 #clock-cells = <0>;
74 clock-frequency = <32768>;
75 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
76 };
77
78 sdio_pwrseq: sdio-pwrseq {
79 compatible = "mmc-pwrseq-simple";
80 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
81 clocks = <&wifi32k>;
82 clock-names = "ext_clock";
83 };
84
85 cvbs-connector {
86 compatible = "composite-video-connector";
87
88 port {
89 cvbs_connector_in: endpoint {
90 remote-endpoint = <&cvbs_vdac_out>;
91 };
92 };
93 };
94
95 hdmi-connector {
96 compatible = "hdmi-connector";
97 type = "a";
98
99 port {
100 hdmi_connector_in: endpoint {
101 remote-endpoint = <&hdmi_tx_tmds_out>;
102 };
103 };
104 };
105 };
106
107 &cec_AO {
108 status = "okay";
109 pinctrl-0 = <&ao_cec_pins>;
110 pinctrl-names = "default";
111 hdmi-phandle = <&hdmi_tx>;
112 };
113
114 &cvbs_vdac_port {
115 cvbs_vdac_out: endpoint {
116 remote-endpoint = <&cvbs_connector_in>;
117 };
118 };
119
120 &ethmac {
121 status = "okay";
122 phy-mode = "rmii";
123 phy-handle = <&internal_phy>;
124 };
125
126 &hdmi_tx {
127 status = "okay";
128 pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
129 pinctrl-names = "default";
130 };
131
132 &hdmi_tx_tmds_port {
133 hdmi_tx_tmds_out: endpoint {
134 remote-endpoint = <&hdmi_connector_in>;
135 };
136 };
137
138 &ir {
139 status = "okay";
140 pinctrl-0 = <&remote_input_ao_pins>;
141 pinctrl-names = "default";
142 };
143
144 &pwm_ef {
145 status = "okay";
146 pinctrl-0 = <&pwm_e_pins>;
147 pinctrl-names = "default";
148 clocks = <&clkc CLKID_FCLK_DIV4>;
149 clock-names = "clkin0";
150 };
151
152 /* Wireless SDIO Module */
153 &sd_emmc_a {
154 status = "okay";
155 pinctrl-0 = <&sdio_pins>;
156 pinctrl-1 = <&sdio_clk_gate_pins>;
157 pinctrl-names = "default", "clk-gate";
158 #address-cells = <1>;
159 #size-cells = <0>;
160
161 bus-width = <4>;
162 cap-sd-highspeed;
163 max-frequency = <100000000>;
164
165 non-removable;
166 disable-wp;
167
168 mmc-pwrseq = <&sdio_pwrseq>;
169
170 vmmc-supply = <&vddao_3v3>;
171 vqmmc-supply = <&vddio_boot>;
172 };
173
174 /* SD card */
175 &sd_emmc_b {
176 status = "okay";
177 pinctrl-0 = <&sdcard_pins>;
178 pinctrl-1 = <&sdcard_clk_gate_pins>;
179 pinctrl-names = "default", "clk-gate";
180
181 bus-width = <4>;
182 cap-sd-highspeed;
183 max-frequency = <50000000>;
184 disable-wp;
185
186 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
187
188 vmmc-supply = <&vddao_3v3>;
189 vqmmc-supply = <&vddio_card>;
190 };
191
192 /* eMMC */
193 &sd_emmc_c {
194 status = "okay";
195 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
196 pinctrl-1 = <&emmc_clk_gate_pins>;
197 pinctrl-names = "default", "clk-gate";
198
199 bus-width = <8>;
200 cap-mmc-highspeed;
201 max-frequency = <200000000>;
202 non-removable;
203 disable-wp;
204 mmc-ddr-1_8v;
205 mmc-hs200-1_8v;
206
207 mmc-pwrseq = <&emmc_pwrseq>;
208 vmmc-supply = <&vcc_3v3>;
209 vqmmc-supply = <&vddio_boot>;
210 };
211
212 &uart_AO {
213 status = "okay";
214 pinctrl-0 = <&uart_ao_a_pins>;
215 pinctrl-names = "default";
216 };
217
218 &usb0 {
219 status = "okay";
220 };