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

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.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) 2019 BayLibre SAS. All rights reserved.
  4  */
  5 
  6 /dts-v1/;
  7 
  8 #include "meson-g12a.dtsi"
  9 #include <dt-bindings/gpio/gpio.h>
 10 #include <dt-bindings/input/input.h>
 11 #include <dt-bindings/gpio/meson-g12a-gpio.h>
 12 #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
 13 
 14 / {
 15         compatible = "seirobotics,sei510", "amlogic,g12a";
 16         model = "SEI Robotics SEI510";
 17 
 18         keys {
 19                 compatible = "adc-keys";
 20                 io-channels = <&saradc 0>;
 21                 io-channel-names = "buttons";
 22                 keyup-threshold-microvolt = <1800000>;
 23 
 24                 button-onoff {
 25                         label = "On/Off";
 26                         linux,code = <KEY_POWER>;
 27                         press-threshold-microvolt = <1700000>;
 28                 };
 29         };
 30 
 31         aliases {
 32                 serial0 = &uart_AO;
 33                 ethernet0 = &ethmac;
 34         };
 35 
 36         mono_dac: audio-codec-0 {
 37                 compatible = "maxim,max98357a";
 38                 #sound-dai-cells = <0>;
 39                 sound-name-prefix = "U16";
 40                 sdmode-gpios = <&gpio GPIOX_8 GPIO_ACTIVE_HIGH>;
 41         };
 42 
 43         dmics: audio-codec-1 {
 44                 #sound-dai-cells = <0>;
 45                 compatible = "dmic-codec";
 46                 num-channels = <2>;
 47                 wakeup-delay-ms = <50>;
 48                 sound-name-prefix = "MIC";
 49         };
 50 
 51         chosen {
 52                 stdout-path = "serial0:115200n8";
 53         };
 54 
 55         cvbs-connector {
 56                 compatible = "composite-video-connector";
 57 
 58                 port {
 59                         cvbs_connector_in: endpoint {
 60                                 remote-endpoint = <&cvbs_vdac_out>;
 61                         };
 62                 };
 63         };
 64 
 65         emmc_pwrseq: emmc-pwrseq {
 66                 compatible = "mmc-pwrseq-emmc";
 67                 reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
 68         };
 69 
 70         hdmi-connector {
 71                 compatible = "hdmi-connector";
 72                 type = "a";
 73 
 74                 port {
 75                         hdmi_connector_in: endpoint {
 76                                 remote-endpoint = <&hdmi_tx_tmds_out>;
 77                         };
 78                 };
 79         };
 80 
 81         memory@0 {
 82                 device_type = "memory";
 83                 reg = <0x0 0x0 0x0 0x40000000>;
 84         };
 85 
 86         ao_5v: regulator-ao-5v {
 87                 compatible = "regulator-fixed";
 88                 regulator-name = "AO_5V";
 89                 regulator-min-microvolt = <5000000>;
 90                 regulator-max-microvolt = <5000000>;
 91                 vin-supply = <&dc_in>;
 92                 regulator-always-on;
 93         };
 94 
 95         dc_in: regulator-dc-in {
 96                 compatible = "regulator-fixed";
 97                 regulator-name = "DC_IN";
 98                 regulator-min-microvolt = <5000000>;
 99                 regulator-max-microvolt = <5000000>;
100                 regulator-always-on;
101         };
102 
103         emmc_1v8: regulator-emmc-1v8 {
104                 compatible = "regulator-fixed";
105                 regulator-name = "EMMC_1V8";
106                 regulator-min-microvolt = <1800000>;
107                 regulator-max-microvolt = <1800000>;
108                 vin-supply = <&vddao_3v3>;
109                 regulator-always-on;
110         };
111 
112         vddao_3v3: regulator-vddao-3v3 {
113                 compatible = "regulator-fixed";
114                 regulator-name = "VDDAO_3V3";
115                 regulator-min-microvolt = <3300000>;
116                 regulator-max-microvolt = <3300000>;
117                 vin-supply = <&dc_in>;
118                 regulator-always-on;
119         };
120 
121         vddao_3v3_t: regulator-vddao-3v3-t {
122                 compatible = "regulator-fixed";
123                 regulator-name = "VDDAO_3V3_T";
124                 regulator-min-microvolt = <3300000>;
125                 regulator-max-microvolt = <3300000>;
126                 vin-supply = <&vddao_3v3>;
127                 gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
128                 enable-active-high;
129         };
130 
131         vddcpu: regulator-vddcpu {
132                 /*
133                  * SY8120B1ABC DC/DC Regulator.
134                  */
135                 compatible = "pwm-regulator";
136 
137                 regulator-name = "VDDCPU";
138                 regulator-min-microvolt = <721000>;
139                 regulator-max-microvolt = <1022000>;
140 
141                 pwm-supply = <&dc_in>;
142 
143                 pwms = <&pwm_AO_cd 1 1250 0>;
144                 pwm-dutycycle-range = <100 0>;
145 
146                 regulator-boot-on;
147                 regulator-always-on;
148         };
149 
150         vddio_ao1v8: regulator-vddio-ao1v8 {
151                 compatible = "regulator-fixed";
152                 regulator-name = "VDDIO_AO1V8";
153                 regulator-min-microvolt = <1800000>;
154                 regulator-max-microvolt = <1800000>;
155                 vin-supply = <&vddao_3v3>;
156                 regulator-always-on;
157         };
158 
159         sdio_pwrseq: sdio-pwrseq {
160                 compatible = "mmc-pwrseq-simple";
161                 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
162                 clocks = <&wifi32k>;
163                 clock-names = "ext_clock";
164         };
165 
166         wifi32k: wifi32k {
167                 compatible = "pwm-clock";
168                 #clock-cells = <0>;
169                 clock-frequency = <32768>;
170                 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
171         };
172 
173         sound {
174                 compatible = "amlogic,axg-sound-card";
175                 model = "SEI510";
176                 audio-aux-devs = <&tdmout_a>, <&tdmout_b>,
177                                  <&tdmin_a>, <&tdmin_b>;
178                 audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 0",
179                                 "TDMOUT_A IN 1", "FRDDR_B OUT 0",
180                                 "TDMOUT_A IN 2", "FRDDR_C OUT 0",
181                                 "TDM_A Playback", "TDMOUT_A OUT",
182                                 "TDMOUT_B IN 0", "FRDDR_A OUT 1",
183                                 "TDMOUT_B IN 1", "FRDDR_B OUT 1",
184                                 "TDMOUT_B IN 2", "FRDDR_C OUT 1",
185                                 "TDM_B Playback", "TDMOUT_B OUT",
186                                 "TODDR_A IN 4", "PDM Capture",
187                                 "TODDR_B IN 4", "PDM Capture",
188                                 "TODDR_C IN 4", "PDM Capture",
189                                 "TDMIN_A IN 0", "TDM_A Capture",
190                                 "TDMIN_A IN 3", "TDM_A Loopback",
191                                 "TDMIN_B IN 0", "TDM_A Capture",
192                                 "TDMIN_B IN 3", "TDM_A Loopback",
193                                 "TDMIN_A IN 1", "TDM_B Capture",
194                                 "TDMIN_A IN 4", "TDM_B Loopback",
195                                 "TDMIN_B IN 1", "TDM_B Capture",
196                                 "TDMIN_B IN 4", "TDM_B Loopback",
197                                 "TODDR_A IN 0", "TDMIN_A OUT",
198                                 "TODDR_B IN 0", "TDMIN_A OUT",
199                                 "TODDR_C IN 0", "TDMIN_A OUT",
200                                 "TODDR_A IN 1", "TDMIN_B OUT",
201                                 "TODDR_B IN 1", "TDMIN_B OUT",
202                                 "TODDR_C IN 1", "TDMIN_B OUT";
203 
204                 assigned-clocks = <&clkc CLKID_MPLL2>,
205                                   <&clkc CLKID_MPLL0>,
206                                   <&clkc CLKID_MPLL1>;
207                 assigned-clock-parents = <0>, <0>, <0>;
208                 assigned-clock-rates = <294912000>,
209                                        <270950400>,
210                                        <393216000>;
211 
212                 dai-link-0 {
213                         sound-dai = <&frddr_a>;
214                 };
215 
216                 dai-link-1 {
217                         sound-dai = <&frddr_b>;
218                 };
219 
220                 dai-link-2 {
221                         sound-dai = <&frddr_c>;
222                 };
223 
224                 dai-link-3 {
225                         sound-dai = <&toddr_a>;
226                 };
227 
228                 dai-link-4 {
229                         sound-dai = <&toddr_b>;
230                 };
231 
232                 dai-link-5 {
233                         sound-dai = <&toddr_c>;
234                 };
235 
236                 /* internal speaker interface */
237                 dai-link-6 {
238                         sound-dai = <&tdmif_a>;
239                         dai-format = "i2s";
240                         dai-tdm-slot-tx-mask-0 = <1 1>;
241                         mclk-fs = <256>;
242 
243                         codec-0 {
244                                 sound-dai = <&mono_dac>;
245                         };
246 
247                         codec-1 {
248                                 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>;
249                         };
250                 };
251 
252                 /* 8ch hdmi interface */
253                 dai-link-7 {
254                         sound-dai = <&tdmif_b>;
255                         dai-format = "i2s";
256                         dai-tdm-slot-tx-mask-0 = <1 1>;
257                         dai-tdm-slot-tx-mask-1 = <1 1>;
258                         dai-tdm-slot-tx-mask-2 = <1 1>;
259                         dai-tdm-slot-tx-mask-3 = <1 1>;
260                         mclk-fs = <256>;
261 
262                         codec {
263                                 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
264                         };
265                 };
266 
267                 /* internal digital mics */
268                 dai-link-8 {
269                         sound-dai = <&pdm>;
270 
271                         codec {
272                                 sound-dai = <&dmics>;
273                         };
274                 };
275 
276                 /* hdmi glue */
277                 dai-link-9 {
278                         sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
279 
280                         codec {
281                                 sound-dai = <&hdmi_tx>;
282                         };
283                 };
284         };
285 };
286 
287 &arb {
288         status = "okay";
289 };
290 
291 &cec_AO {
292         pinctrl-0 = <&cec_ao_a_h_pins>;
293         pinctrl-names = "default";
294         status = "disabled";
295         hdmi-phandle = <&hdmi_tx>;
296 };
297 
298 &cecb_AO {
299         pinctrl-0 = <&cec_ao_b_h_pins>;
300         pinctrl-names = "default";
301         status = "okay";
302         hdmi-phandle = <&hdmi_tx>;
303 };
304 
305 &clkc_audio {
306         status = "okay";
307 };
308 
309 &cpu0 {
310         cpu-supply = <&vddcpu>;
311         operating-points-v2 = <&cpu_opp_table>;
312         clocks = <&clkc CLKID_CPU_CLK>;
313         clock-latency = <50000>;
314 };
315 
316 &cpu1 {
317         cpu-supply = <&vddcpu>;
318         operating-points-v2 = <&cpu_opp_table>;
319         clocks = <&clkc CLKID_CPU_CLK>;
320         clock-latency = <50000>;
321 };
322 
323 &cpu2 {
324         cpu-supply = <&vddcpu>;
325         operating-points-v2 = <&cpu_opp_table>;
326         clocks = <&clkc CLKID_CPU_CLK>;
327         clock-latency = <50000>;
328 };
329 
330 &cpu3 {
331         cpu-supply = <&vddcpu>;
332         operating-points-v2 = <&cpu_opp_table>;
333         clocks = <&clkc CLKID_CPU_CLK>;
334         clock-latency = <50000>;
335 };
336 
337 &cvbs_vdac_port {
338         cvbs_vdac_out: endpoint {
339                 remote-endpoint = <&cvbs_connector_in>;
340         };
341 };
342 
343 &ethmac {
344         status = "okay";
345         phy-handle = <&internal_ephy>;
346         phy-mode = "rmii";
347 };
348 
349 &frddr_a {
350         status = "okay";
351 };
352 
353 &frddr_b {
354         status = "okay";
355 };
356 
357 &frddr_c {
358         status = "okay";
359 };
360 
361 &hdmi_tx {
362         status = "okay";
363         pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
364         pinctrl-names = "default";
365 };
366 
367 &hdmi_tx_tmds_port {
368         hdmi_tx_tmds_out: endpoint {
369                 remote-endpoint = <&hdmi_connector_in>;
370         };
371 };
372 
373 &i2c3 {
374         status = "okay";
375         pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
376         pinctrl-names = "default";
377 };
378 
379 &ir {
380         status = "okay";
381         pinctrl-0 = <&remote_input_ao_pins>;
382         pinctrl-names = "default";
383 };
384 
385 &pwm_AO_cd {
386         pinctrl-0 = <&pwm_ao_d_e_pins>;
387         pinctrl-names = "default";
388         clocks = <&xtal>;
389         clock-names = "clkin1";
390         status = "okay";
391 };
392 
393 &pwm_ef {
394         status = "okay";
395         pinctrl-0 = <&pwm_e_pins>;
396         pinctrl-names = "default";
397         clocks = <&xtal>;
398         clock-names = "clkin0";
399 };
400 
401 &pdm {
402         pinctrl-0 = <&pdm_din0_z_pins>, <&pdm_din1_z_pins>,
403                     <&pdm_din2_z_pins>, <&pdm_din3_z_pins>,
404                     <&pdm_dclk_z_pins>;
405         pinctrl-names = "default";
406         status = "okay";
407 };
408 
409 &saradc {
410         status = "okay";
411         vref-supply = <&vddio_ao1v8>;
412 };
413 
414 /* SDIO */
415 &sd_emmc_a {
416         status = "okay";
417         pinctrl-0 = <&sdio_pins>;
418         pinctrl-1 = <&sdio_clk_gate_pins>;
419         pinctrl-names = "default", "clk-gate";
420         #address-cells = <1>;
421         #size-cells = <0>;
422 
423         bus-width = <4>;
424         cap-sd-highspeed;
425         sd-uhs-sdr50;
426         max-frequency = <100000000>;
427 
428         non-removable;
429         disable-wp;
430 
431         /* WiFi firmware requires power to be kept while in suspend */
432         keep-power-in-suspend;
433 
434         mmc-pwrseq = <&sdio_pwrseq>;
435 
436         vmmc-supply = <&vddao_3v3>;
437         vqmmc-supply = <&vddio_ao1v8>;
438 
439         brcmf: wifi@1 {
440                 reg = <1>;
441                 compatible = "brcm,bcm4329-fmac";
442         };
443 };
444 
445 /* SD card */
446 &sd_emmc_b {
447         status = "okay";
448         pinctrl-0 = <&sdcard_c_pins>;
449         pinctrl-1 = <&sdcard_clk_gate_c_pins>;
450         pinctrl-names = "default", "clk-gate";
451 
452         bus-width = <4>;
453         cap-sd-highspeed;
454         max-frequency = <50000000>;
455         disable-wp;
456 
457         cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
458         vmmc-supply = <&vddao_3v3>;
459         vqmmc-supply = <&vddao_3v3>;
460 };
461 
462 /* eMMC */
463 &sd_emmc_c {
464         status = "okay";
465         pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
466         pinctrl-1 = <&emmc_clk_gate_pins>;
467         pinctrl-names = "default", "clk-gate";
468 
469         bus-width = <8>;
470         cap-mmc-highspeed;
471         mmc-ddr-1_8v;
472         mmc-hs200-1_8v;
473         max-frequency = <200000000>;
474         non-removable;
475         disable-wp;
476 
477         mmc-pwrseq = <&emmc_pwrseq>;
478         vmmc-supply = <&vddao_3v3>;
479         vqmmc-supply = <&emmc_1v8>;
480 };
481 
482 &tdmif_a {
483         pinctrl-0 = <&tdm_a_dout0_pins>, <&tdm_a_fs_pins>, <&tdm_a_sclk_pins>;
484         pinctrl-names = "default";
485         status = "okay";
486 
487         assigned-clocks = <&clkc_audio AUD_CLKID_TDM_SCLK_PAD0>,
488                           <&clkc_audio AUD_CLKID_TDM_LRCLK_PAD0>;
489         assigned-clock-parents = <&clkc_audio AUD_CLKID_MST_A_SCLK>,
490                                  <&clkc_audio AUD_CLKID_MST_A_LRCLK>;
491         assigned-clock-rates = <0>, <0>;
492 };
493 
494 &tdmif_b {
495         status = "okay";
496 };
497 
498 &tdmin_a {
499         status = "okay";
500 };
501 
502 &tdmin_b {
503         status = "okay";
504 };
505 
506 &tdmout_a {
507         status = "okay";
508 };
509 
510 &tdmout_b {
511         status = "okay";
512 };
513 
514 &toddr_a {
515         status = "okay";
516 };
517 
518 &toddr_b {
519         status = "okay";
520 };
521 
522 &toddr_c {
523         status = "okay";
524 };
525 
526 &tohdmitx {
527         status = "okay";
528 };
529 
530 &uart_A {
531         status = "okay";
532         pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
533         pinctrl-names = "default";
534         uart-has-rtscts;
535 
536         bluetooth {
537                 compatible = "brcm,bcm43438-bt";
538                 shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
539                 max-speed = <2000000>;
540                 clocks = <&wifi32k>;
541                 clock-names = "lpo";
542                 vbat-supply = <&vddao_3v3>;
543                 vddio-supply = <&vddio_ao1v8>;
544         };
545 };
546 
547 &uart_AO {
548         status = "okay";
549         pinctrl-0 = <&uart_ao_a_pins>;
550         pinctrl-names = "default";
551 };
552 
553 &usb {
554         status = "okay";
555         dr_mode = "host";
556 };

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