1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Copyright (c) 2020 Dongjin Kim <tobetter@gmail.com>
6 #include "meson-sm1.dtsi"
7 #include <dt-bindings/gpio/meson-g12a-gpio.h>
8 #include <dt-bindings/leds/common.h>
9 #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
18 stdout-path = "serial0:115200n8";
22 device_type = "memory";
23 reg = <0x0 0x0 0x0 0x40000000>;
26 emmc_pwrseq: emmc-pwrseq {
27 compatible = "mmc-pwrseq-emmc";
28 reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
31 tflash_vdd: regulator-tflash_vdd {
32 compatible = "regulator-fixed";
34 regulator-name = "TFLASH_VDD";
35 regulator-min-microvolt = <3300000>;
36 regulator-max-microvolt = <3300000>;
38 gpio = <&gpio_ao GPIOAO_3 GPIO_OPEN_DRAIN>;
43 tf_io: gpio-regulator-tf_io {
44 compatible = "regulator-gpio";
46 regulator-name = "TF_IO";
47 regulator-min-microvolt = <1800000>;
48 regulator-max-microvolt = <3300000>;
50 gpios = <&gpio_ao GPIOAO_6 GPIO_ACTIVE_HIGH>;
57 flash_1v8: regulator-flash_1v8 {
58 compatible = "regulator-fixed";
59 regulator-name = "FLASH_1V8";
60 regulator-min-microvolt = <1800000>;
61 regulator-max-microvolt = <1800000>;
62 vin-supply = <&vcc_3v3>;
66 main_12v: regulator-main_12v {
67 compatible = "regulator-fixed";
68 regulator-name = "12V";
69 regulator-min-microvolt = <12000000>;
70 regulator-max-microvolt = <12000000>;
74 vcc_5v: regulator-vcc_5v {
75 compatible = "regulator-fixed";
76 regulator-name = "5V";
77 regulator-min-microvolt = <5000000>;
78 regulator-max-microvolt = <5000000>;
80 vin-supply = <&main_12v>;
83 vcc_1v8: regulator-vcc_1v8 {
84 compatible = "regulator-fixed";
85 regulator-name = "VCC_1V8";
86 regulator-min-microvolt = <1800000>;
87 regulator-max-microvolt = <1800000>;
88 vin-supply = <&vcc_3v3>;
92 vcc_3v3: regulator-vcc_3v3 {
93 compatible = "regulator-fixed";
94 regulator-name = "VCC_3V3";
95 regulator-min-microvolt = <3300000>;
96 regulator-max-microvolt = <3300000>;
97 vin-supply = <&vddao_3v3>;
99 /* FIXME: actually controlled by VDDCPU_B_EN */
102 vddcpu: regulator-vddcpu {
104 * MP8756GD Regulator.
106 compatible = "pwm-regulator";
108 regulator-name = "VDDCPU";
109 regulator-min-microvolt = <721000>;
110 regulator-max-microvolt = <1022000>;
112 vin-supply = <&main_12v>;
114 pwms = <&pwm_AO_cd 1 1250 0>;
115 pwm-dutycycle-range = <100 0>;
121 usb_pwr_en: regulator-usb_pwr_en {
122 compatible = "regulator-fixed";
123 regulator-name = "USB_PWR_EN";
124 regulator-min-microvolt = <5000000>;
125 regulator-max-microvolt = <5000000>;
126 vin-supply = <&vcc_5v>;
128 /* Connected to the microUSB port power enable */
129 gpio = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
133 vddao_1v8: regulator-vddao_1v8 {
134 compatible = "regulator-fixed";
135 regulator-name = "VDDAO_1V8";
136 regulator-min-microvolt = <1800000>;
137 regulator-max-microvolt = <1800000>;
138 vin-supply = <&vddao_3v3>;
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>;
152 compatible = "hdmi-connector";
156 hdmi_connector_in: endpoint {
157 remote-endpoint = <&hdmi_tx_tmds_out>;
163 compatible = "amlogic,axg-sound-card";
164 audio-aux-devs = <&tdmout_b>;
165 audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
166 "TDMOUT_B IN 1", "FRDDR_B OUT 1",
167 "TDMOUT_B IN 2", "FRDDR_C OUT 1",
168 "TDM_B Playback", "TDMOUT_B OUT";
170 assigned-clocks = <&clkc CLKID_MPLL2>,
173 assigned-clock-parents = <0>, <0>, <0>;
174 assigned-clock-rates = <294912000>,
180 sound-dai = <&frddr_a>;
184 sound-dai = <&frddr_b>;
188 sound-dai = <&frddr_c>;
191 /* 8ch hdmi interface */
193 sound-dai = <&tdmif_b>;
195 dai-tdm-slot-tx-mask-0 = <1 1>;
196 dai-tdm-slot-tx-mask-1 = <1 1>;
197 dai-tdm-slot-tx-mask-2 = <1 1>;
198 dai-tdm-slot-tx-mask-3 = <1 1>;
202 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
208 sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
211 sound-dai = <&hdmi_tx>;
226 cpu-supply = <&vddcpu>;
227 operating-points-v2 = <&cpu_opp_table>;
228 clocks = <&clkc CLKID_CPU_CLK>;
229 clock-latency = <50000>;
233 cpu-supply = <&vddcpu>;
234 operating-points-v2 = <&cpu_opp_table>;
235 clocks = <&clkc CLKID_CPU1_CLK>;
236 clock-latency = <50000>;
240 cpu-supply = <&vddcpu>;
241 operating-points-v2 = <&cpu_opp_table>;
242 clocks = <&clkc CLKID_CPU2_CLK>;
243 clock-latency = <50000>;
247 cpu-supply = <&vddcpu>;
248 operating-points-v2 = <&cpu_opp_table>;
249 clocks = <&clkc CLKID_CPU3_CLK>;
250 clock-latency = <50000>;
254 external_phy: ethernet-phy@0 {
255 /* Realtek RTL8211F (0x001cc916) */
259 interrupt-parent = <&gpio_intc>;
260 /* MAC_INTR on GPIOZ_14 */
261 interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
266 pinctrl-0 = <ð_pins>, <ð_rgmii_pins>;
267 pinctrl-names = "default";
270 phy-handle = <&external_phy>;
271 amlogic,tx-delay-ns = <2>;
289 "", "", "", "", "", "", "", "",
290 "", "", "", "", "", "", "", "",
293 "PIN_36", /* GPIOH_5 */
294 "PIN_26", /* GPIOH_6 */
295 "PIN_32", /* GPIOH_7 */
298 "", "", "", "", "", "", "", "",
299 "", "", "", "", "", "", "", "",
301 "", "", "", "", "", "", "", "",
303 "", "", "", "", "", "", "", "",
304 "", "", "", "", "", "",
305 "PIN_27", /* GPIOA_14 */
306 "PIN_28", /* GPIOA_15 */
308 "PIN_16", /* GPIOX_0 */
309 "PIN_18", /* GPIOX_1 */
310 "PIN_22", /* GPIOX_2 */
311 "PIN_11", /* GPIOX_3 */
312 "PIN_13", /* GPIOX_4 */
313 "PIN_7", /* GPIOX_5 */
314 "PIN_33", /* GPIOX_6 */
315 "PIN_15", /* GPIOX_7 */
316 "PIN_19", /* GPIOX_8 */
317 "PIN_21", /* GPIOX_9 */
318 "PIN_24", /* GPIOX_10 */
319 "PIN_23", /* GPIOX_11 */
320 "PIN_8", /* GPIOX_12 */
321 "PIN_10", /* GPIOX_13 */
322 "PIN_29", /* GPIOX_14 */
323 "PIN_31", /* GPIOX_15 */
324 "PIN_12", /* GPIOX_16 */
325 "PIN_3", /* GPIOX_17 */
326 "PIN_5", /* GPIOX_18 */
327 "PIN_35"; /* GPIOX_19 */
334 "PIN_47", /* GPIOAO_4 */
336 "PIN_45", /* GPIOAO_7 */
337 "PIN_46", /* GPIOAO_8 */
338 "PIN_44", /* GPIOAO_9 */
339 "PIN_42", /* GPIOAO_10 */
347 pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
348 pinctrl-names = "default";
349 hdmi-supply = <&vcc_5v>;
353 hdmi_tx_tmds_out: endpoint {
354 remote-endpoint = <&hdmi_connector_in>;
360 pinctrl-0 = <&remote_input_ao_pins>;
361 pinctrl-names = "default";
365 pinctrl-0 = <&pwm_ao_d_e_pins>;
366 pinctrl-names = "default";
368 clock-names = "clkin1";
379 pinctrl-0 = <&sdcard_c_pins>;
380 pinctrl-1 = <&sdcard_clk_gate_c_pins>;
381 pinctrl-names = "default", "clk-gate";
385 max-frequency = <200000000>;
392 cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
393 vmmc-supply = <&tflash_vdd>;
394 vqmmc-supply = <&tf_io>;
400 pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
401 pinctrl-1 = <&emmc_clk_gate_pins>;
402 pinctrl-names = "default", "clk-gate";
408 max-frequency = <200000000>;
411 mmc-pwrseq = <&emmc_pwrseq>;
412 vmmc-supply = <&vcc_3v3>;
413 vqmmc-supply = <&flash_1v8>;
430 pinctrl-0 = <&uart_ao_a_pins>;
431 pinctrl-names = "default";
436 vbus-supply = <&usb_pwr_en>;
440 phy-supply = <&vcc_5v>;