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-gpios = <&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>,
186 sound-dai = <&frddr_a>;
190 sound-dai = <&frddr_b>;
194 sound-dai = <&frddr_c>;
197 /* 8ch hdmi interface */
199 sound-dai = <&tdmif_b>;
201 dai-tdm-slot-tx-mask-0 = <1 1>;
202 dai-tdm-slot-tx-mask-1 = <1 1>;
203 dai-tdm-slot-tx-mask-2 = <1 1>;
204 dai-tdm-slot-tx-mask-3 = <1 1>;
208 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
214 sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
217 sound-dai = <&hdmi_tx>;
228 pinctrl-0 = <&cec_ao_a_h_pins>;
229 pinctrl-names = "default";
231 hdmi-phandle = <&hdmi_tx>;
235 pinctrl-0 = <&cec_ao_b_h_pins>;
236 pinctrl-names = "default";
238 hdmi-phandle = <&hdmi_tx>;
246 cpu-supply = <&vddcpu>;
247 operating-points-v2 = <&cpu_opp_table>;
248 clocks = <&clkc CLKID_CPU_CLK>;
249 clock-latency = <50000>;
253 cpu-supply = <&vddcpu>;
254 operating-points-v2 = <&cpu_opp_table>;
255 clocks = <&clkc CLKID_CPU1_CLK>;
256 clock-latency = <50000>;
260 cpu-supply = <&vddcpu>;
261 operating-points-v2 = <&cpu_opp_table>;
262 clocks = <&clkc CLKID_CPU2_CLK>;
263 clock-latency = <50000>;
267 cpu-supply = <&vddcpu>;
268 operating-points-v2 = <&cpu_opp_table>;
269 clocks = <&clkc CLKID_CPU3_CLK>;
270 clock-latency = <50000>;
274 external_phy: ethernet-phy@0 {
275 /* Realtek RTL8211F (0x001cc916) */
279 reset-assert-us = <10000>;
280 reset-deassert-us = <80000>;
281 reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
283 interrupt-parent = <&gpio_intc>;
284 /* MAC_INTR on GPIOZ_14 */
285 interrupts = <IRQID_GPIOZ_14 IRQ_TYPE_LEVEL_LOW>;
290 pinctrl-0 = <ð_pins>, <ð_rgmii_pins>;
291 pinctrl-names = "default";
294 phy-handle = <&external_phy>;
295 amlogic,tx-delay-ns = <2>;
313 "", "", "", "", "", "", "", "",
314 "", "", "", "", "", "", "", "",
317 "PIN_36", /* GPIOH_5 */
318 "PIN_26", /* GPIOH_6 */
319 "PIN_32", /* GPIOH_7 */
322 "", "", "", "", "", "", "", "",
323 "", "", "", "", "", "", "", "",
325 "", "", "", "", "", "", "", "",
327 "", "", "", "", "", "", "", "",
328 "", "", "", "", "", "",
329 "PIN_27", /* GPIOA_14 */
330 "PIN_28", /* GPIOA_15 */
332 "PIN_16", /* GPIOX_0 */
333 "PIN_18", /* GPIOX_1 */
334 "PIN_22", /* GPIOX_2 */
335 "PIN_11", /* GPIOX_3 */
336 "PIN_13", /* GPIOX_4 */
337 "PIN_7", /* GPIOX_5 */
338 "PIN_33", /* GPIOX_6 */
339 "PIN_15", /* GPIOX_7 */
340 "PIN_19", /* GPIOX_8 */
341 "PIN_21", /* GPIOX_9 */
342 "PIN_24", /* GPIOX_10 */
343 "PIN_23", /* GPIOX_11 */
344 "PIN_8", /* GPIOX_12 */
345 "PIN_10", /* GPIOX_13 */
346 "PIN_29", /* GPIOX_14 */
347 "PIN_31", /* GPIOX_15 */
348 "PIN_12", /* GPIOX_16 */
349 "PIN_3", /* GPIOX_17 */
350 "PIN_5", /* GPIOX_18 */
351 "PIN_35"; /* GPIOX_19 */
358 "PIN_47", /* GPIOAO_4 */
360 "PIN_45", /* GPIOAO_7 */
361 "PIN_46", /* GPIOAO_8 */
362 "PIN_44", /* GPIOAO_9 */
363 "PIN_42", /* GPIOAO_10 */
371 pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
372 pinctrl-names = "default";
373 hdmi-supply = <&vcc_5v>;
377 hdmi_tx_tmds_out: endpoint {
378 remote-endpoint = <&hdmi_connector_in>;
384 pinctrl-0 = <&remote_input_ao_pins>;
385 pinctrl-names = "default";
389 pinctrl-0 = <&pwm_ao_d_e_pins>;
390 pinctrl-names = "default";
392 clock-names = "clkin1";
403 pinctrl-0 = <&sdcard_c_pins>;
404 pinctrl-1 = <&sdcard_clk_gate_c_pins>;
405 pinctrl-names = "default", "clk-gate";
409 max-frequency = <200000000>;
416 cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
417 vmmc-supply = <&tflash_vdd>;
418 vqmmc-supply = <&tf_io>;
424 pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
425 pinctrl-1 = <&emmc_clk_gate_pins>;
426 pinctrl-names = "default", "clk-gate";
432 max-frequency = <200000000>;
435 mmc-pwrseq = <&emmc_pwrseq>;
436 vmmc-supply = <&vcc_3v3>;
437 vqmmc-supply = <&flash_1v8>;
454 pinctrl-0 = <&uart_ao_a_pins>;
455 pinctrl-names = "default";
460 vbus-supply = <&usb_pwr_en>;
464 phy-supply = <&vcc_5v>;