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 GPIOE_2 GPIO_ACTIVE_HIGH>;
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 vin-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>;
233 cpu-supply = <&vddcpu>;
234 operating-points-v2 = <&cpu_opp_table>;
235 clocks = <&clkc CLKID_CPU_CLK>;
236 clock-latency = <50000>;
240 cpu-supply = <&vddcpu>;
241 operating-points-v2 = <&cpu_opp_table>;
242 clocks = <&clkc CLKID_CPU1_CLK>;
243 clock-latency = <50000>;
247 cpu-supply = <&vddcpu>;
248 operating-points-v2 = <&cpu_opp_table>;
249 clocks = <&clkc CLKID_CPU2_CLK>;
250 clock-latency = <50000>;
254 cpu-supply = <&vddcpu>;
255 operating-points-v2 = <&cpu_opp_table>;
256 clocks = <&clkc CLKID_CPU3_CLK>;
257 clock-latency = <50000>;
261 external_phy: ethernet-phy@0 {
262 /* Realtek RTL8211F (0x001cc916) */
266 interrupt-parent = <&gpio_intc>;
267 /* MAC_INTR on GPIOZ_14 */
268 interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
273 pinctrl-0 = <ð_pins>, <ð_rgmii_pins>;
274 pinctrl-names = "default";
277 phy-handle = <&external_phy>;
278 amlogic,tx-delay-ns = <2>;
296 "", "", "", "", "", "", "", "",
297 "", "", "", "", "", "", "", "",
300 "PIN_36", /* GPIOH_5 */
301 "PIN_26", /* GPIOH_6 */
302 "PIN_32", /* GPIOH_7 */
305 "", "", "", "", "", "", "", "",
306 "", "", "", "", "", "", "", "",
308 "", "", "", "", "", "", "", "",
310 "", "", "", "", "", "", "", "",
311 "", "", "", "", "", "",
312 "PIN_27", /* GPIOA_14 */
313 "PIN_28", /* GPIOA_15 */
315 "PIN_16", /* GPIOX_0 */
316 "PIN_18", /* GPIOX_1 */
317 "PIN_22", /* GPIOX_2 */
318 "PIN_11", /* GPIOX_3 */
319 "PIN_13", /* GPIOX_4 */
320 "PIN_7", /* GPIOX_5 */
321 "PIN_33", /* GPIOX_6 */
322 "PIN_15", /* GPIOX_7 */
323 "PIN_19", /* GPIOX_8 */
324 "PIN_21", /* GPIOX_9 */
325 "PIN_24", /* GPIOX_10 */
326 "PIN_23", /* GPIOX_11 */
327 "PIN_8", /* GPIOX_12 */
328 "PIN_10", /* GPIOX_13 */
329 "PIN_29", /* GPIOX_14 */
330 "PIN_31", /* GPIOX_15 */
331 "PIN_12", /* GPIOX_16 */
332 "PIN_3", /* GPIOX_17 */
333 "PIN_5", /* GPIOX_18 */
334 "PIN_35"; /* GPIOX_19 */
341 "PIN_47", /* GPIOAO_4 */
343 "PIN_45", /* GPIOAO_7 */
344 "PIN_46", /* GPIOAO_8 */
345 "PIN_44", /* GPIOAO_9 */
346 "PIN_42", /* GPIOAO_10 */
354 pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
355 pinctrl-names = "default";
356 hdmi-supply = <&vcc_5v>;
360 hdmi_tx_tmds_out: endpoint {
361 remote-endpoint = <&hdmi_connector_in>;
367 pinctrl-0 = <&remote_input_ao_pins>;
368 pinctrl-names = "default";
372 pinctrl-0 = <&pwm_ao_d_e_pins>;
373 pinctrl-names = "default";
375 clock-names = "clkin1";
386 pinctrl-0 = <&sdcard_c_pins>;
387 pinctrl-1 = <&sdcard_clk_gate_c_pins>;
388 pinctrl-names = "default", "clk-gate";
392 max-frequency = <200000000>;
399 cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
400 vmmc-supply = <&tflash_vdd>;
401 vqmmc-supply = <&tf_io>;
407 pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
408 pinctrl-1 = <&emmc_clk_gate_pins>;
409 pinctrl-names = "default", "clk-gate";
415 max-frequency = <200000000>;
418 mmc-pwrseq = <&emmc_pwrseq>;
419 vmmc-supply = <&vcc_3v3>;
420 vqmmc-supply = <&flash_1v8>;
437 pinctrl-0 = <&uart_ao_a_pins>;
438 pinctrl-names = "default";
443 vbus-supply = <&usb_pwr_en>;
447 phy-supply = <&vcc_5v>;