1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Copyright (c) 2019 BayLibre, SAS
4 * Author: Neil Armstrong <narmstrong@baylibre.com>
9 #include "meson-sm1.dtsi"
10 #include "meson-khadas-vim3.dtsi"
11 #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
14 compatible = "khadas,vim3l", "amlogic,sm1";
15 model = "Khadas VIM3L";
17 vddcpu: regulator-vddcpu {
19 * Silergy SY8030DEC Regulator.
21 compatible = "pwm-regulator";
23 regulator-name = "VDDCPU";
24 regulator-min-microvolt = <690000>;
25 regulator-max-microvolt = <1050000>;
27 vin-supply = <&vsys_3v3>;
29 pwms = <&pwm_AO_cd 1 1250 0>;
30 pwm-dutycycle-range = <100 0>;
37 compatible = "amlogic,axg-sound-card";
38 model = "SM1-KHADAS-VIM3L";
39 audio-aux-devs = <&tdmout_a>;
40 audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 0",
41 "TDMOUT_A IN 1", "FRDDR_B OUT 0",
42 "TDMOUT_A IN 2", "FRDDR_C OUT 0",
43 "TDM_A Playback", "TDMOUT_A OUT";
45 assigned-clocks = <&clkc CLKID_MPLL2>,
48 assigned-clock-parents = <0>, <0>, <0>;
49 assigned-clock-rates = <294912000>,
55 sound-dai = <&frddr_a>;
59 sound-dai = <&frddr_b>;
63 sound-dai = <&frddr_c>;
66 /* 8ch hdmi interface */
68 sound-dai = <&tdmif_a>;
70 dai-tdm-slot-tx-mask-0 = <1 1>;
71 dai-tdm-slot-tx-mask-1 = <1 1>;
72 dai-tdm-slot-tx-mask-2 = <1 1>;
73 dai-tdm-slot-tx-mask-3 = <1 1>;
77 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>;
83 sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
86 sound-dai = <&hdmi_tx>;
101 cpu-supply = <&vddcpu>;
102 operating-points-v2 = <&cpu_opp_table>;
103 clocks = <&clkc CLKID_CPU_CLK>;
104 clock-latency = <50000>;
108 cpu-supply = <&vddcpu>;
109 operating-points-v2 = <&cpu_opp_table>;
110 clocks = <&clkc CLKID_CPU1_CLK>;
111 clock-latency = <50000>;
115 cpu-supply = <&vddcpu>;
116 operating-points-v2 = <&cpu_opp_table>;
117 clocks = <&clkc CLKID_CPU2_CLK>;
118 clock-latency = <50000>;
122 cpu-supply = <&vddcpu>;
123 operating-points-v2 = <&cpu_opp_table>;
124 clocks = <&clkc CLKID_CPU3_CLK>;
125 clock-latency = <50000>;
141 pinctrl-0 = <&pwm_ao_d_e_pins>;
142 pinctrl-names = "default";
144 clock-names = "clkin1";
149 * The VIM3 on-board MCU can mux the PCIe/USB3.0 shared differential
150 * lines using a FUSB340TMX USB 3.1 SuperSpeed Data Switch between
151 * an USB3.0 Type A connector and a M.2 Key M slot.
152 * The PHY driving these differential lines is shared between
153 * the USB3.0 controller and the PCIe Controller, thus only
154 * a single controller can use it.
155 * If the MCU is configured to mux the PCIe/USB3.0 differential lines
156 * to the M.2 Key M slot, uncomment the following block to disable
157 * USB3.0 from the USB Complex and enable the PCIe controller.
158 * The End User is not expected to uncomment the following except for
159 * testing purposes, but instead rely on the firmware/bootloader to
160 * update these nodes accordingly if PCIe mode is selected by the MCU.
172 phys = <&usb2_phy0>, <&usb2_phy1>;
173 phy-names = "usb2-phy0", "usb2-phy1";