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

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ 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.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2 /*
  3  * Copyright (c) 2017 Amlogic, Inc. All rights reserved.
  4  */
  5 
  6 /dts-v1/;
  7 
  8 #include "meson-axg.dtsi"
  9 #include <dt-bindings/input/input.h>
 10 
 11 / {
 12         compatible = "amlogic,s400", "amlogic,a113d", "amlogic,meson-axg";
 13         model = "Amlogic Meson AXG S400 Development Board";
 14 
 15         keys {
 16                 compatible = "adc-keys";
 17                 io-channels = <&saradc 0>;
 18                 io-channel-names = "buttons";
 19                 keyup-threshold-microvolt = <1800000>;
 20 
 21                 button-next {
 22                         label = "Next";
 23                         linux,code = <KEY_NEXT>;
 24                         press-threshold-microvolt = <1116000>; /* 62% */
 25                 };
 26 
 27                 button-prev {
 28                         label = "Previous";
 29                         linux,code = <KEY_PREVIOUS>;
 30                         press-threshold-microvolt = <900000>; /* 50% */
 31                 };
 32 
 33                 button-wifi {
 34                         label = "Wifi";
 35                         linux,code = <KEY_WLAN>;
 36                         press-threshold-microvolt = <684000>; /* 38% */
 37                 };
 38 
 39                 button-up {
 40                         label = "Volume Up";
 41                         linux,code = <KEY_VOLUMEUP>;
 42                         press-threshold-microvolt = <468000>; /* 26% */
 43                 };
 44 
 45                 button-down {
 46                         label = "Volume Down";
 47                         linux,code = <KEY_VOLUMEDOWN>;
 48                         press-threshold-microvolt = <252000>; /* 14% */
 49                 };
 50 
 51                 button-voice {
 52                         label = "Voice";
 53                         linux,code = <KEY_VOICECOMMAND>;
 54                         press-threshold-microvolt = <0>; /* 0% */
 55                 };
 56         };
 57 
 58         aliases {
 59                 serial0 = &uart_AO;
 60                 serial1 = &uart_A;
 61         };
 62 
 63         linein: audio-codec-0 {
 64                 #sound-dai-cells = <0>;
 65                 compatible = "everest,es7241";
 66                 VDDA-supply = <&vcc_3v3>;
 67                 VDDP-supply = <&vcc_3v3>;
 68                 VDDD-supply = <&vcc_3v3>;
 69                 sound-name-prefix = "Linein";
 70         };
 71 
 72         lineout: audio-codec-1 {
 73                 #sound-dai-cells = <0>;
 74                 compatible = "everest,es7154";
 75                 VDD-supply = <&vcc_3v3>;
 76                 PVDD-supply = <&vcc_5v>;
 77                 sound-name-prefix = "Lineout";
 78         };
 79 
 80         spdif_dit: audio-codec-2 {
 81                 #sound-dai-cells = <0>;
 82                 compatible = "linux,spdif-dit";
 83                 sound-name-prefix = "DIT";
 84         };
 85 
 86         dmics: audio-codec-3 {
 87                 #sound-dai-cells = <0>;
 88                 compatible = "dmic-codec";
 89                 num-channels = <7>;
 90                 wakeup-delay-ms = <50>;
 91                 sound-name-prefix = "MIC";
 92         };
 93 
 94         spdif_dir: audio-codec-4 {
 95                 #sound-dai-cells = <0>;
 96                 compatible = "linux,spdif-dir";
 97                 sound-name-prefix = "DIR";
 98         };
 99 
100         emmc_pwrseq: emmc-pwrseq {
101                 compatible = "mmc-pwrseq-emmc";
102                 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
103         };
104 
105         chosen {
106                 stdout-path = "serial0:115200n8";
107         };
108 
109         memory@0 {
110                 device_type = "memory";
111                 reg = <0x0 0x0 0x0 0x40000000>;
112         };
113 
114         main_12v: regulator-main-12v {
115                 compatible = "regulator-fixed";
116                 regulator-name = "12V";
117                 regulator-min-microvolt = <12000000>;
118                 regulator-max-microvolt = <12000000>;
119                 regulator-always-on;
120         };
121 
122         vcc_3v3: regulator-vcc-3v3 {
123                 compatible = "regulator-fixed";
124                 regulator-name = "VCC_3V3";
125                 regulator-min-microvolt = <3300000>;
126                 regulator-max-microvolt = <3300000>;
127                 vin-supply = <&vddao_3v3>;
128                 regulator-always-on;
129         };
130 
131         vcc_5v: regulator-vcc-5v {
132                 compatible = "regulator-fixed";
133                 regulator-name = "VCC5V";
134                 regulator-min-microvolt = <5000000>;
135                 regulator-max-microvolt = <5000000>;
136                 vin-supply = <&main_12v>;
137 
138                 gpio = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>;
139                 enable-active-high;
140         };
141 
142         vddao_3v3: regulator-vddao-3v3 {
143                 compatible = "regulator-fixed";
144                 regulator-name = "VDDAO_3V3";
145                 regulator-min-microvolt = <3300000>;
146                 regulator-max-microvolt = <3300000>;
147                 vin-supply = <&main_12v>;
148                 regulator-always-on;
149         };
150 
151         vddio_ao18: regulator-vddio-ao18 {
152                 compatible = "regulator-fixed";
153                 regulator-name = "VDDIO_AO18";
154                 regulator-min-microvolt = <1800000>;
155                 regulator-max-microvolt = <1800000>;
156                 vin-supply = <&vddao_3v3>;
157                 regulator-always-on;
158         };
159 
160         vddio_boot: regulator-vddio-boot {
161                 compatible = "regulator-fixed";
162                 regulator-name = "VDDIO_BOOT";
163                 regulator-min-microvolt = <1800000>;
164                 regulator-max-microvolt = <1800000>;
165                 vin-supply = <&vddao_3v3>;
166                 regulator-always-on;
167         };
168 
169         usb_pwr: regulator-usb-pwr {
170                 compatible = "regulator-fixed";
171                 regulator-name = "USB_PWR";
172                 regulator-min-microvolt = <5000000>;
173                 regulator-max-microvolt = <5000000>;
174                 vin-supply = <&vcc_5v>;
175 
176                 gpio = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>;
177                 enable-active-high;
178         };
179 
180         sdio_pwrseq: sdio-pwrseq {
181                 compatible = "mmc-pwrseq-simple";
182                 reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>;
183                 clocks = <&wifi32k>;
184                 clock-names = "ext_clock";
185         };
186 
187         speaker-leds {
188                 compatible = "gpio-leds";
189 
190                 aled1 {
191                         label = "speaker:aled1";
192                         gpios = <&gpio_speaker 7 0>;
193                 };
194 
195                 aled2 {
196                         label = "speaker:aled2";
197                         gpios = <&gpio_speaker 6 0>;
198                 };
199 
200                 aled3 {
201                         label = "speaker:aled3";
202                         gpios = <&gpio_speaker 5 0>;
203                 };
204 
205                 aled4 {
206                         label = "speaker:aled4";
207                         gpios = <&gpio_speaker 4 0>;
208                 };
209 
210                 aled5 {
211                         label = "speaker:aled5";
212                         gpios = <&gpio_speaker 3 0>;
213                 };
214 
215                 aled6 {
216                         label = "speaker:aled6";
217                         gpios = <&gpio_speaker 2 0>;
218                 };
219         };
220 
221         sound {
222                 compatible = "amlogic,axg-sound-card";
223                 model = "AXG-S400";
224                 audio-aux-devs = <&tdmin_a>, <&tdmin_b>,  <&tdmin_c>,
225                                  <&tdmin_lb>, <&tdmout_c>;
226                 audio-widgets = "Line", "Lineout",
227                                 "Line", "Linein",
228                                 "Speaker", "Speaker1 Left",
229                                 "Speaker", "Speaker1 Right";
230                 audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2",
231                                 "SPDIFOUT IN 0", "FRDDR_A OUT 3",
232                                 "TDMOUT_C IN 1", "FRDDR_B OUT 2",
233                                 "SPDIFOUT IN 1", "FRDDR_B OUT 3",
234                                 "TDMOUT_C IN 2", "FRDDR_C OUT 2",
235                                 "SPDIFOUT IN 2", "FRDDR_C OUT 3",
236                                 "TDM_C Playback", "TDMOUT_C OUT",
237                                 "TDMIN_A IN 2", "TDM_C Capture",
238                                 "TDMIN_A IN 5", "TDM_C Loopback",
239                                 "TDMIN_B IN 2", "TDM_C Capture",
240                                 "TDMIN_B IN 5", "TDM_C Loopback",
241                                 "TDMIN_C IN 2", "TDM_C Capture",
242                                 "TDMIN_C IN 5", "TDM_C Loopback",
243                                 "TDMIN_LB IN 2", "TDM_C Loopback",
244                                 "TDMIN_LB IN 5", "TDM_C Capture",
245                                 "TODDR_A IN 0", "TDMIN_A OUT",
246                                 "TODDR_B IN 0", "TDMIN_A OUT",
247                                 "TODDR_C IN 0", "TDMIN_A OUT",
248                                 "TODDR_A IN 1", "TDMIN_B OUT",
249                                 "TODDR_B IN 1", "TDMIN_B OUT",
250                                 "TODDR_C IN 1", "TDMIN_B OUT",
251                                 "TODDR_A IN 2", "TDMIN_C OUT",
252                                 "TODDR_B IN 2", "TDMIN_C OUT",
253                                 "TODDR_C IN 2", "TDMIN_C OUT",
254                                 "TODDR_A IN 3", "SPDIFIN Capture",
255                                 "TODDR_B IN 3", "SPDIFIN Capture",
256                                 "TODDR_C IN 3", "SPDIFIN Capture",
257                                 "TODDR_A IN 4", "PDM Capture",
258                                 "TODDR_B IN 4", "PDM Capture",
259                                 "TODDR_C IN 4", "PDM Capture",
260                                 "TODDR_A IN 6", "TDMIN_LB OUT",
261                                 "TODDR_B IN 6", "TDMIN_LB OUT",
262                                 "TODDR_C IN 6", "TDMIN_LB OUT",
263                                 "Lineout", "Lineout AOUTL",
264                                 "Lineout", "Lineout AOUTR",
265                                 "Speaker1 Left", "SPK1 OUT_A",
266                                 "Speaker1 Left", "SPK1 OUT_B",
267                                 "Speaker1 Right", "SPK1 OUT_C",
268                                 "Speaker1 Right", "SPK1 OUT_D",
269                                 "Linein AINL", "Linein",
270                                 "Linein AINR", "Linein";
271                 clocks = <&clkc CLKID_HIFI_PLL>,
272                          <&clkc CLKID_MPLL0>,
273                          <&clkc CLKID_MPLL1>;
274 
275                 assigned-clocks = <&clkc CLKID_HIFI_PLL>,
276                                   <&clkc CLKID_MPLL0>,
277                                   <&clkc CLKID_MPLL1>;
278                 assigned-clock-parents = <0>, <0>, <0>;
279                 assigned-clock-rates = <589824000>,
280                                        <270950400>,
281                                        <393216000>;
282 
283                 dai-link-0 {
284                         sound-dai = <&frddr_a>;
285                 };
286 
287                 dai-link-1 {
288                         sound-dai = <&frddr_b>;
289                 };
290 
291                 dai-link-2 {
292                         sound-dai = <&frddr_c>;
293                 };
294 
295                 dai-link-3 {
296                         sound-dai = <&toddr_a>;
297                 };
298 
299                 dai-link-4 {
300                         sound-dai = <&toddr_b>;
301                 };
302 
303                 dai-link-5 {
304                         sound-dai = <&toddr_c>;
305                 };
306 
307                 dai-link-6 {
308                         sound-dai = <&tdmif_c>;
309                         dai-format = "i2s";
310                         dai-tdm-slot-tx-mask-2 = <1 1>;
311                         dai-tdm-slot-rx-mask-1 = <1 1>;
312                         mclk-fs = <256>;
313 
314                         codec-0 {
315                                 sound-dai = <&lineout>;
316                         };
317 
318                         codec-1 {
319                                 sound-dai = <&speaker_amp1>;
320                         };
321 
322                         codec-2 {
323                                 sound-dai = <&linein>;
324                         };
325 
326                 };
327 
328                 dai-link-7 {
329                         sound-dai = <&spdifout>;
330 
331                         codec {
332                                 sound-dai = <&spdif_dit>;
333                         };
334                 };
335 
336                 dai-link-8 {
337                         sound-dai = <&spdifin>;
338 
339                         codec {
340                                 sound-dai = <&spdif_dir>;
341                         };
342                 };
343 
344                 dai-link-9 {
345                         sound-dai = <&pdm>;
346 
347                         codec {
348                                 sound-dai = <&dmics>;
349                         };
350                 };
351         };
352 
353         wifi32k: wifi32k {
354                 compatible = "pwm-clock";
355                 #clock-cells = <0>;
356                 clock-frequency = <32768>;
357                 pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */
358         };
359 };
360 
361 &ethmac {
362         status = "okay";
363         pinctrl-0 = <&eth_rgmii_y_pins>;
364         pinctrl-names = "default";
365         phy-handle = <&eth_phy0>;
366         phy-mode = "rgmii";
367 
368         mdio {
369                 compatible = "snps,dwmac-mdio";
370                 #address-cells = <1>;
371                 #size-cells = <0>;
372 
373                 eth_phy0: ethernet-phy@0 {
374                         /* Realtek RTL8211F (0x001cc916) */
375                         reg = <0>;
376                         interrupt-parent = <&gpio_intc>;
377                         interrupts = <98 IRQ_TYPE_LEVEL_LOW>;
378                         eee-broken-1000t;
379                 };
380         };
381 };
382 
383 &frddr_a {
384         status = "okay";
385 };
386 
387 &frddr_b {
388         status = "okay";
389 };
390 
391 &frddr_c {
392         status = "okay";
393 };
394 
395 &ir {
396         status = "okay";
397         pinctrl-0 = <&remote_input_ao_pins>;
398         pinctrl-names = "default";
399 };
400 
401 &i2c1 {
402         status = "okay";
403         pinctrl-0 = <&i2c1_z_pins>;
404         pinctrl-names = "default";
405 
406         speaker_amp1: audio-codec@1b {
407                 compatible = "ti,tas5707";
408                 reg = <0x1b>;
409                 reset-gpios = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_LOW>;
410                 #sound-dai-cells = <0>;
411                 AVDD-supply = <&vcc_3v3>;
412                 DVDD-supply = <&vcc_3v3>;
413                 PVDD_A-supply = <&main_12v>;
414                 PVDD_B-supply = <&main_12v>;
415                 PVDD_C-supply = <&main_12v>;
416                 PVDD_D-supply = <&main_12v>;
417                 sound-name-prefix = "SPK1";
418         };
419 };
420 
421 &i2c_AO {
422         status = "okay";
423         pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>;
424         pinctrl-names = "default";
425 
426         gpio_speaker: gpio-controller@1f {
427                 compatible = "nxp,pca9557";
428                 reg = <0x1f>;
429                 gpio-controller;
430                 #gpio-cells = <2>;
431                 vcc-supply = <&vddao_3v3>;
432         };
433 };
434 
435 &pdm {
436         pinctrl-0 = <&pdm_dclk_a14_pins>, <&pdm_din0_pins>,
437                     <&pdm_din1_pins>, <&pdm_din2_pins>, <&pdm_din3_pins>;
438         pinctrl-names = "default";
439         status = "okay";
440 };
441 
442 &pcieA {
443         reset-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_LOW>;
444         status = "okay";
445 };
446 
447 &pcieB {
448         reset-gpios = <&gpio GPIOZ_10 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
449         status = "okay";
450 };
451 
452 &pwm_ab {
453         status = "okay";
454         pinctrl-0 = <&pwm_a_x20_pins>;
455         pinctrl-names = "default";
456 };
457 
458 &saradc {
459         status = "okay";
460         vref-supply = <&vddio_ao18>;
461 };
462 
463 /* wifi module */
464 &sd_emmc_b {
465         status = "okay";
466         #address-cells = <1>;
467         #size-cells = <0>;
468 
469         pinctrl-0 = <&sdio_pins>;
470         pinctrl-1 = <&sdio_clk_gate_pins>;
471         pinctrl-names = "default", "clk-gate";
472 
473         bus-width = <4>;
474         cap-sd-highspeed;
475         sd-uhs-sdr104;
476         max-frequency = <200000000>;
477         non-removable;
478         disable-wp;
479 
480         mmc-pwrseq = <&sdio_pwrseq>;
481 
482         vmmc-supply = <&vddao_3v3>;
483         vqmmc-supply = <&vddio_boot>;
484 
485         brcmf: wifi@1 {
486                 reg = <1>;
487                 compatible = "brcm,bcm4329-fmac";
488         };
489 };
490 
491 /* emmc storage */
492 &sd_emmc_c {
493         status = "okay";
494         pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
495         pinctrl-1 = <&emmc_clk_gate_pins>;
496         pinctrl-names = "default", "clk-gate";
497 
498         bus-width = <8>;
499         cap-mmc-highspeed;
500         max-frequency = <200000000>;
501         non-removable;
502         disable-wp;
503         mmc-ddr-1_8v;
504         mmc-hs200-1_8v;
505 
506         mmc-pwrseq = <&emmc_pwrseq>;
507 
508         vmmc-supply = <&vcc_3v3>;
509         vqmmc-supply = <&vddio_boot>;
510 };
511 
512 &spdifin {
513         pinctrl-0 = <&spdif_in_a19_pins>;
514         pinctrl-names = "default";
515         status = "okay";
516 };
517 
518 &spdifout {
519         pinctrl-0 = <&spdif_out_a20_pins>;
520         pinctrl-names = "default";
521         status = "okay";
522 };
523 
524 &tdmif_a {
525         pinctrl-0 = <&tdma_sclk_pins>, <&tdma_fs_pins>,
526                     <&tdma_din0_pins>, <&tdma_dout0_x15_pins>;
527         pinctrl-names = "default";
528         status = "okay";
529 };
530 
531 &tdmif_b {
532         pinctrl-0 = <&tdmb_sclk_pins>, <&tdmb_fs_pins>,
533                     <&tdmb_din3_pins>, <&mclk_b_pins>;
534         pinctrl-names = "default";
535         status = "okay";
536 };
537 
538 &tdmif_c {
539         pinctrl-0 = <&tdmc_sclk_pins>, <&tdmc_fs_pins>,
540                     <&tdmc_din1_pins>, <&tdmc_dout2_pins>,
541                     <&mclk_c_pins>;
542         pinctrl-names = "default";
543         status = "okay";
544 };
545 
546 &tdmin_a {
547         status = "okay";
548 };
549 
550 &tdmin_b {
551         status = "okay";
552 };
553 
554 &tdmin_c {
555         status = "okay";
556 };
557 
558 &tdmin_lb {
559         status = "okay";
560 };
561 
562 &tdmout_c {
563         status = "okay";
564 };
565 
566 &toddr_a {
567         status = "okay";
568 };
569 
570 &toddr_b {
571         status = "okay";
572 };
573 
574 &toddr_c {
575         status = "okay";
576 };
577 
578 &uart_A {
579         status = "okay";
580         pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
581         pinctrl-names = "default";
582         uart-has-rtscts;
583 
584         bluetooth {
585                 compatible = "brcm,bcm43438-bt";
586                 shutdown-gpios = <&gpio GPIOX_21 GPIO_ACTIVE_HIGH>;
587         };
588 };
589 
590 &uart_AO {
591         status = "okay";
592         pinctrl-0 = <&uart_ao_a_pins>;
593         pinctrl-names = "default";
594 };
595 
596 &usb {
597         status = "okay";
598         dr_mode = "otg";
599         vbus-supply = <&usb_pwr>;
600 };

~ [ 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