~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2 /*
  3  * Copyright (c) 2018 BayLibre SAS. All rights reserved.
  4  */
  5 
  6 /dts-v1/;
  7 
  8 #include "meson-g12a.dtsi"
  9 #include <dt-bindings/gpio/meson-g12a-gpio.h>
 10 #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
 11 
 12 / {
 13         compatible = "radxa,zero", "amlogic,g12a";
 14         model = "Radxa Zero";
 15 
 16         aliases {
 17                 serial0 = &uart_AO;
 18         };
 19 
 20         chosen {
 21                 stdout-path = "serial0:115200n8";
 22         };
 23 
 24         memory@0 {
 25                 device_type = "memory";
 26                 reg = <0x0 0x0 0x0 0x40000000>;
 27         };
 28 
 29         cvbs-connector {
 30                 status = "disabled";
 31                 compatible = "composite-video-connector";
 32 
 33                 port {
 34                         cvbs_connector_in: endpoint {
 35                                 remote-endpoint = <&cvbs_vdac_out>;
 36                         };
 37                 };
 38         };
 39 
 40         hdmi-connector {
 41                 compatible = "hdmi-connector";
 42                 type = "a";
 43 
 44                 port {
 45                         hdmi_connector_in: endpoint {
 46                                 remote-endpoint = <&hdmi_tx_tmds_out>;
 47                         };
 48                 };
 49         };
 50 
 51         emmc_pwrseq: emmc-pwrseq {
 52                 compatible = "mmc-pwrseq-emmc";
 53                 reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
 54         };
 55 
 56         sdio_pwrseq: sdio-pwrseq {
 57                 compatible = "mmc-pwrseq-simple";
 58                 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
 59                 clocks = <&wifi32k>;
 60                 clock-names = "ext_clock";
 61         };
 62 
 63         ao_5v: regulator-ao-5v {
 64                 compatible = "regulator-fixed";
 65                 regulator-name = "AO_5V";
 66                 regulator-min-microvolt = <5000000>;
 67                 regulator-max-microvolt = <5000000>;
 68                 regulator-always-on;
 69         };
 70 
 71         vcc_1v8: regulator-vcc-1v8 {
 72                 compatible = "regulator-fixed";
 73                 regulator-name = "VCC_1V8";
 74                 regulator-min-microvolt = <1800000>;
 75                 regulator-max-microvolt = <1800000>;
 76                 vin-supply = <&vcc_3v3>;
 77                 regulator-always-on;
 78         };
 79 
 80         vcc_3v3: regulator-vcc-3v3 {
 81                 compatible = "regulator-fixed";
 82                 regulator-name = "VCC_3V3";
 83                 regulator-min-microvolt = <3300000>;
 84                 regulator-max-microvolt = <3300000>;
 85                 vin-supply = <&vddao_3v3>;
 86                 regulator-always-on;
 87         };
 88 
 89         hdmi_pw: regulator-hdmi-pw {
 90                 compatible = "regulator-fixed";
 91                 regulator-name = "HDMI_PW";
 92                 regulator-min-microvolt = <5000000>;
 93                 regulator-max-microvolt = <5000000>;
 94                 vin-supply = <&ao_5v>;
 95                 regulator-always-on;
 96         };
 97 
 98         vddao_1v8: regulator-vddao-1v8 {
 99                 compatible = "regulator-fixed";
100                 regulator-name = "VDDAO_1V8";
101                 regulator-min-microvolt = <1800000>;
102                 regulator-max-microvolt = <1800000>;
103                 vin-supply = <&vddao_3v3>;
104                 regulator-always-on;
105         };
106 
107         vddao_3v3: regulator-vddao-3v3 {
108                 compatible = "regulator-fixed";
109                 regulator-name = "VDDAO_3V3";
110                 regulator-min-microvolt = <3300000>;
111                 regulator-max-microvolt = <3300000>;
112                 vin-supply = <&ao_5v>;
113                 regulator-always-on;
114         };
115 
116         vddcpu: regulator-vddcpu {
117                 compatible = "pwm-regulator";
118 
119                 regulator-name = "VDDCPU";
120                 regulator-min-microvolt = <721000>;
121                 regulator-max-microvolt = <1022000>;
122 
123                 vin-supply = <&ao_5v>;
124 
125                 pwms = <&pwm_AO_cd 1 1250 0>;
126                 pwm-dutycycle-range = <100 0>;
127 
128                 regulator-boot-on;
129                 regulator-always-on;
130         };
131 
132         sound {
133                 compatible = "amlogic,axg-sound-card";
134                 model = "RADXA-ZERO";
135                 audio-aux-devs = <&tdmout_b>;
136                 audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
137                                 "TDMOUT_B IN 1", "FRDDR_B OUT 1",
138                                 "TDMOUT_B IN 2", "FRDDR_C OUT 1",
139                                 "TDM_B Playback", "TDMOUT_B OUT";
140 
141                 assigned-clocks = <&clkc CLKID_MPLL2>,
142                                   <&clkc CLKID_MPLL0>,
143                                   <&clkc CLKID_MPLL1>;
144                 assigned-clock-parents = <0>, <0>, <0>;
145                 assigned-clock-rates = <294912000>,
146                                        <270950400>,
147                                        <393216000>;
148 
149                 dai-link-0 {
150                         sound-dai = <&frddr_a>;
151                 };
152 
153                 dai-link-1 {
154                         sound-dai = <&frddr_b>;
155                 };
156 
157                 dai-link-2 {
158                         sound-dai = <&frddr_c>;
159                 };
160 
161                 /* 8ch hdmi interface */
162                 dai-link-3 {
163                         sound-dai = <&tdmif_b>;
164                         dai-format = "i2s";
165                         dai-tdm-slot-tx-mask-0 = <1 1>;
166                         dai-tdm-slot-tx-mask-1 = <1 1>;
167                         dai-tdm-slot-tx-mask-2 = <1 1>;
168                         dai-tdm-slot-tx-mask-3 = <1 1>;
169                         mclk-fs = <256>;
170 
171                         codec {
172                                 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
173                         };
174                 };
175 
176                 dai-link-4 {
177                         sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
178 
179                         codec {
180                                 sound-dai = <&hdmi_tx>;
181                         };
182                 };
183         };
184 
185         wifi32k: wifi32k {
186                 compatible = "pwm-clock";
187                 #clock-cells = <0>;
188                 clock-frequency = <32768>;
189                 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
190         };
191 };
192 
193 &arb {
194         status = "okay";
195 };
196 
197 &cec_AO {
198         pinctrl-0 = <&cec_ao_a_h_pins>;
199         pinctrl-names = "default";
200         status = "disabled";
201         hdmi-phandle = <&hdmi_tx>;
202 };
203 
204 &cecb_AO {
205         pinctrl-0 = <&cec_ao_b_h_pins>;
206         pinctrl-names = "default";
207         status = "okay";
208         hdmi-phandle = <&hdmi_tx>;
209 };
210 
211 &clkc_audio {
212         status = "okay";
213 };
214 
215 &cpu0 {
216         cpu-supply = <&vddcpu>;
217         operating-points-v2 = <&cpu_opp_table>;
218         clocks = <&clkc CLKID_CPU_CLK>;
219         clock-latency = <50000>;
220 };
221 
222 &cpu1 {
223         cpu-supply = <&vddcpu>;
224         operating-points-v2 = <&cpu_opp_table>;
225         clocks = <&clkc CLKID_CPU_CLK>;
226         clock-latency = <50000>;
227 };
228 
229 &cpu2 {
230         cpu-supply = <&vddcpu>;
231         operating-points-v2 = <&cpu_opp_table>;
232         clocks = <&clkc CLKID_CPU_CLK>;
233         clock-latency = <50000>;
234 };
235 
236 &cpu3 {
237         cpu-supply = <&vddcpu>;
238         operating-points-v2 = <&cpu_opp_table>;
239         clocks = <&clkc CLKID_CPU_CLK>;
240         clock-latency = <50000>;
241 };
242 
243 &cvbs_vdac_port {
244         cvbs_vdac_out: endpoint {
245                 remote-endpoint = <&cvbs_connector_in>;
246         };
247 };
248 
249 &frddr_a {
250         status = "okay";
251 };
252 
253 &frddr_b {
254         status = "okay";
255 };
256 
257 &frddr_c {
258         status = "okay";
259 };
260 
261 &hdmi_tx {
262         status = "okay";
263         pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
264         pinctrl-names = "default";
265         hdmi-supply = <&hdmi_pw>;
266 };
267 
268 &hdmi_tx_tmds_port {
269         hdmi_tx_tmds_out: endpoint {
270                 remote-endpoint = <&hdmi_connector_in>;
271         };
272 };
273 
274 &ir {
275         status = "disabled";
276         pinctrl-0 = <&remote_input_ao_pins>;
277         pinctrl-names = "default";
278 };
279 
280 &pwm_AO_cd {
281         pinctrl-0 = <&pwm_ao_d_e_pins>;
282         pinctrl-names = "default";
283         clocks = <&xtal>;
284         clock-names = "clkin1";
285         status = "okay";
286 };
287 
288 &pwm_ef {
289         status = "okay";
290         pinctrl-0 = <&pwm_e_pins>;
291         pinctrl-names = "default";
292         clocks = <&xtal>;
293         clock-names = "clkin0";
294 };
295 
296 &saradc {
297         status = "okay";
298         vref-supply = <&vddao_1v8>;
299 };
300 
301 /* SDIO */
302 &sd_emmc_a {
303         status = "okay";
304         pinctrl-0 = <&sdio_pins>;
305         pinctrl-1 = <&sdio_clk_gate_pins>;
306         pinctrl-names = "default", "clk-gate";
307         #address-cells = <1>;
308         #size-cells = <0>;
309 
310         bus-width = <4>;
311         cap-sd-highspeed;
312         sd-uhs-sdr50;
313         max-frequency = <100000000>;
314 
315         non-removable;
316         disable-wp;
317 
318         /* WiFi firmware requires power to be kept while in suspend */
319         keep-power-in-suspend;
320 
321         mmc-pwrseq = <&sdio_pwrseq>;
322 
323         vmmc-supply = <&vddao_3v3>;
324         vqmmc-supply = <&vddao_1v8>;
325 
326         brcmf: wifi@1 {
327                 reg = <1>;
328                 compatible = "brcm,bcm4329-fmac";
329         };
330 };
331 
332 /* SD card */
333 &sd_emmc_b {
334         status = "okay";
335         pinctrl-0 = <&sdcard_c_pins>;
336         pinctrl-1 = <&sdcard_clk_gate_c_pins>;
337         pinctrl-names = "default", "clk-gate";
338 
339         bus-width = <4>;
340         cap-sd-highspeed;
341         max-frequency = <100000000>;
342         disable-wp;
343 
344         cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
345         vmmc-supply = <&vddao_3v3>;
346         vqmmc-supply = <&vddao_3v3>;
347 };
348 
349 /* eMMC */
350 &sd_emmc_c {
351         status = "okay";
352         pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
353         pinctrl-1 = <&emmc_clk_gate_pins>;
354         pinctrl-names = "default", "clk-gate";
355 
356         bus-width = <8>;
357         cap-mmc-highspeed;
358         mmc-ddr-1_8v;
359         mmc-hs200-1_8v;
360         max-frequency = <200000000>;
361         disable-wp;
362 
363         mmc-pwrseq = <&emmc_pwrseq>;
364         vmmc-supply = <&vcc_3v3>;
365         vqmmc-supply = <&vcc_1v8>;
366 };
367 
368 &tdmif_b {
369         status = "okay";
370 };
371 
372 &tdmout_b {
373         status = "okay";
374 };
375 
376 &tohdmitx {
377         status = "okay";
378 };
379 
380 &uart_A {
381         status = "okay";
382         pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
383         pinctrl-names = "default";
384         uart-has-rtscts;
385 
386         bluetooth {
387                 compatible = "brcm,bcm43438-bt";
388                 shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
389                 max-speed = <2000000>;
390                 clocks = <&wifi32k>;
391                 clock-names = "lpo";
392         };
393 };
394 
395 &uart_AO {
396         status = "okay";
397         pinctrl-0 = <&uart_ao_a_pins>;
398         pinctrl-names = "default";
399 };
400 
401 &usb {
402         status = "okay";
403 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php