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>;
49 vin-supply = <&vcc_5v>;
51 enable-gpio = <&gpio_ao GPIOE_2 GPIO_OPEN_DRAIN>;
55 gpios = <&gpio_ao GPIOAO_6 GPIO_OPEN_SOURCE>;
62 flash_1v8: regulator-flash_1v8 {
63 compatible = "regulator-fixed";
64 regulator-name = "FLASH_1V8";
65 regulator-min-microvolt = <1800000>;
66 regulator-max-microvolt = <1800000>;
67 vin-supply = <&vcc_3v3>;
71 main_12v: regulator-main_12v {
72 compatible = "regulator-fixed";
73 regulator-name = "12V";
74 regulator-min-microvolt = <12000000>;
75 regulator-max-microvolt = <12000000>;
79 vcc_5v: regulator-vcc_5v {
80 compatible = "regulator-fixed";
81 regulator-name = "5V";
82 regulator-min-microvolt = <5000000>;
83 regulator-max-microvolt = <5000000>;
85 vin-supply = <&main_12v>;
86 gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
90 vcc_1v8: regulator-vcc_1v8 {
91 compatible = "regulator-fixed";
92 regulator-name = "VCC_1V8";
93 regulator-min-microvolt = <1800000>;
94 regulator-max-microvolt = <1800000>;
95 vin-supply = <&vcc_3v3>;
99 vcc_3v3: regulator-vcc_3v3 {
100 compatible = "regulator-fixed";
101 regulator-name = "VCC_3V3";
102 regulator-min-microvolt = <3300000>;
103 regulator-max-microvolt = <3300000>;
104 vin-supply = <&vddao_3v3>;
106 /* FIXME: actually controlled by VDDCPU_B_EN */
109 vddcpu: regulator-vddcpu {
111 * MP8756GD Regulator.
113 compatible = "pwm-regulator";
115 regulator-name = "VDDCPU";
116 regulator-min-microvolt = <721000>;
117 regulator-max-microvolt = <1022000>;
119 pwm-supply = <&main_12v>;
121 pwms = <&pwm_AO_cd 1 1250 0>;
122 pwm-dutycycle-range = <100 0>;
128 usb_pwr_en: regulator-usb_pwr_en {
129 compatible = "regulator-fixed";
130 regulator-name = "USB_PWR_EN";
131 regulator-min-microvolt = <5000000>;
132 regulator-max-microvolt = <5000000>;
133 vin-supply = <&vcc_5v>;
135 /* Connected to the microUSB port power enable */
136 gpio = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
140 vddao_1v8: regulator-vddao_1v8 {
141 compatible = "regulator-fixed";
142 regulator-name = "VDDAO_1V8";
143 regulator-min-microvolt = <1800000>;
144 regulator-max-microvolt = <1800000>;
145 vin-supply = <&vddao_3v3>;
149 vddao_3v3: regulator-vddao_3v3 {
150 compatible = "regulator-fixed";
151 regulator-name = "VDDAO_3V3";
152 regulator-min-microvolt = <3300000>;
153 regulator-max-microvolt = <3300000>;
154 vin-supply = <&main_12v>;
159 compatible = "hdmi-connector";
163 hdmi_connector_in: endpoint {
164 remote-endpoint = <&hdmi_tx_tmds_out>;
170 compatible = "amlogic,axg-sound-card";
171 audio-aux-devs = <&tdmout_b>;
172 audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
173 "TDMOUT_B IN 1", "FRDDR_B OUT 1",
174 "TDMOUT_B IN 2", "FRDDR_C OUT 1",
175 "TDM_B Playback", "TDMOUT_B OUT";
177 assigned-clocks = <&clkc CLKID_MPLL2>,
180 assigned-clock-parents = <0>, <0>, <0>;
181 assigned-clock-rates = <294912000>,
187 sound-dai = <&frddr_a>;
191 sound-dai = <&frddr_b>;
195 sound-dai = <&frddr_c>;
198 /* 8ch hdmi interface */
200 sound-dai = <&tdmif_b>;
202 dai-tdm-slot-tx-mask-0 = <1 1>;
203 dai-tdm-slot-tx-mask-1 = <1 1>;
204 dai-tdm-slot-tx-mask-2 = <1 1>;
205 dai-tdm-slot-tx-mask-3 = <1 1>;
209 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
215 sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
218 sound-dai = <&hdmi_tx>;
229 pinctrl-0 = <&cec_ao_a_h_pins>;
230 pinctrl-names = "default";
232 hdmi-phandle = <&hdmi_tx>;
236 pinctrl-0 = <&cec_ao_b_h_pins>;
237 pinctrl-names = "default";
239 hdmi-phandle = <&hdmi_tx>;
247 cpu-supply = <&vddcpu>;
248 operating-points-v2 = <&cpu_opp_table>;
249 clocks = <&clkc CLKID_CPU_CLK>;
250 clock-latency = <50000>;
254 cpu-supply = <&vddcpu>;
255 operating-points-v2 = <&cpu_opp_table>;
256 clocks = <&clkc CLKID_CPU1_CLK>;
257 clock-latency = <50000>;
261 cpu-supply = <&vddcpu>;
262 operating-points-v2 = <&cpu_opp_table>;
263 clocks = <&clkc CLKID_CPU2_CLK>;
264 clock-latency = <50000>;
268 cpu-supply = <&vddcpu>;
269 operating-points-v2 = <&cpu_opp_table>;
270 clocks = <&clkc CLKID_CPU3_CLK>;
271 clock-latency = <50000>;
275 external_phy: ethernet-phy@0 {
276 /* Realtek RTL8211F (0x001cc916) */
280 reset-assert-us = <10000>;
281 reset-deassert-us = <80000>;
282 reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
284 interrupt-parent = <&gpio_intc>;
285 /* MAC_INTR on GPIOZ_14 */
286 interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
291 pinctrl-0 = <ð_pins>, <ð_rgmii_pins>;
292 pinctrl-names = "default";
295 phy-handle = <&external_phy>;
296 amlogic,tx-delay-ns = <2>;
314 "", "", "", "", "", "", "", "",
315 "", "", "", "", "", "", "", "",
318 "PIN_36", /* GPIOH_5 */
319 "PIN_26", /* GPIOH_6 */
320 "PIN_32", /* GPIOH_7 */
323 "", "", "", "", "", "", "", "",
324 "", "", "", "", "", "", "", "",
326 "", "", "", "", "", "", "", "",
328 "", "", "", "", "", "", "", "",
329 "", "", "", "", "", "",
330 "PIN_27", /* GPIOA_14 */
331 "PIN_28", /* GPIOA_15 */
333 "PIN_16", /* GPIOX_0 */
334 "PIN_18", /* GPIOX_1 */
335 "PIN_22", /* GPIOX_2 */
336 "PIN_11", /* GPIOX_3 */
337 "PIN_13", /* GPIOX_4 */
338 "PIN_7", /* GPIOX_5 */
339 "PIN_33", /* GPIOX_6 */
340 "PIN_15", /* GPIOX_7 */
341 "PIN_19", /* GPIOX_8 */
342 "PIN_21", /* GPIOX_9 */
343 "PIN_24", /* GPIOX_10 */
344 "PIN_23", /* GPIOX_11 */
345 "PIN_8", /* GPIOX_12 */
346 "PIN_10", /* GPIOX_13 */
347 "PIN_29", /* GPIOX_14 */
348 "PIN_31", /* GPIOX_15 */
349 "PIN_12", /* GPIOX_16 */
350 "PIN_3", /* GPIOX_17 */
351 "PIN_5", /* GPIOX_18 */
352 "PIN_35"; /* GPIOX_19 */
359 "PIN_47", /* GPIOAO_4 */
361 "PIN_45", /* GPIOAO_7 */
362 "PIN_46", /* GPIOAO_8 */
363 "PIN_44", /* GPIOAO_9 */
364 "PIN_42", /* GPIOAO_10 */
372 pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
373 pinctrl-names = "default";
374 hdmi-supply = <&vcc_5v>;
378 hdmi_tx_tmds_out: endpoint {
379 remote-endpoint = <&hdmi_connector_in>;
385 pinctrl-0 = <&remote_input_ao_pins>;
386 pinctrl-names = "default";
390 pinctrl-0 = <&pwm_ao_d_e_pins>;
391 pinctrl-names = "default";
393 clock-names = "clkin1";
404 pinctrl-0 = <&sdcard_c_pins>;
405 pinctrl-1 = <&sdcard_clk_gate_c_pins>;
406 pinctrl-names = "default", "clk-gate";
410 max-frequency = <200000000>;
417 cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
418 vmmc-supply = <&tflash_vdd>;
419 vqmmc-supply = <&tf_io>;
425 pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
426 pinctrl-1 = <&emmc_clk_gate_pins>;
427 pinctrl-names = "default", "clk-gate";
433 max-frequency = <200000000>;
436 mmc-pwrseq = <&emmc_pwrseq>;
437 vmmc-supply = <&vcc_3v3>;
438 vqmmc-supply = <&flash_1v8>;
455 pinctrl-0 = <&uart_ao_a_pins>;
456 pinctrl-names = "default";
461 vbus-supply = <&usb_pwr_en>;
465 phy-supply = <&vcc_5v>;