188d537bcSChristian Hewitt// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
288d537bcSChristian Hewitt/*
388d537bcSChristian Hewitt * Copyright (c) 2020 Dongjin Kim <tobetter@gmail.com>
488d537bcSChristian Hewitt */
588d537bcSChristian Hewitt
688d537bcSChristian Hewitt#include "meson-sm1.dtsi"
788d537bcSChristian Hewitt#include <dt-bindings/gpio/meson-g12a-gpio.h>
888d537bcSChristian Hewitt#include <dt-bindings/leds/common.h>
988d537bcSChristian Hewitt#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
1088d537bcSChristian Hewitt
1188d537bcSChristian Hewitt/ {
1288d537bcSChristian Hewitt	aliases {
1388d537bcSChristian Hewitt		serial0 = &uart_AO;
1488d537bcSChristian Hewitt		ethernet0 = &ethmac;
1588d537bcSChristian Hewitt	};
1688d537bcSChristian Hewitt
1788d537bcSChristian Hewitt	chosen {
1888d537bcSChristian Hewitt		stdout-path = "serial0:115200n8";
1988d537bcSChristian Hewitt	};
2088d537bcSChristian Hewitt
2188d537bcSChristian Hewitt	memory@0 {
2288d537bcSChristian Hewitt		device_type = "memory";
2388d537bcSChristian Hewitt		reg = <0x0 0x0 0x0 0x40000000>;
2488d537bcSChristian Hewitt	};
2588d537bcSChristian Hewitt
2688d537bcSChristian Hewitt	emmc_pwrseq: emmc-pwrseq {
2788d537bcSChristian Hewitt		compatible = "mmc-pwrseq-emmc";
2888d537bcSChristian Hewitt		reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
2988d537bcSChristian Hewitt	};
3088d537bcSChristian Hewitt
3188d537bcSChristian Hewitt	tflash_vdd: regulator-tflash_vdd {
3288d537bcSChristian Hewitt		compatible = "regulator-fixed";
3388d537bcSChristian Hewitt
3488d537bcSChristian Hewitt		regulator-name = "TFLASH_VDD";
3588d537bcSChristian Hewitt		regulator-min-microvolt = <3300000>;
3688d537bcSChristian Hewitt		regulator-max-microvolt = <3300000>;
3788d537bcSChristian Hewitt
3888d537bcSChristian Hewitt		gpio = <&gpio_ao GPIOAO_3 GPIO_OPEN_DRAIN>;
3988d537bcSChristian Hewitt		enable-active-high;
4088d537bcSChristian Hewitt		regulator-always-on;
4188d537bcSChristian Hewitt	};
4288d537bcSChristian Hewitt
4388d537bcSChristian Hewitt	tf_io: gpio-regulator-tf_io {
4488d537bcSChristian Hewitt		compatible = "regulator-gpio";
4588d537bcSChristian Hewitt
4688d537bcSChristian Hewitt		regulator-name = "TF_IO";
4788d537bcSChristian Hewitt		regulator-min-microvolt = <1800000>;
4888d537bcSChristian Hewitt		regulator-max-microvolt = <3300000>;
49*1f80a5cfSNeil Armstrong		vin-supply = <&vcc_5v>;
50*1f80a5cfSNeil Armstrong
51*1f80a5cfSNeil Armstrong		enable-gpio = <&gpio GPIOE_2 GPIO_ACTIVE_HIGH>;
52*1f80a5cfSNeil Armstrong		enable-active-high;
53*1f80a5cfSNeil Armstrong		regulator-always-on;
5488d537bcSChristian Hewitt
5588d537bcSChristian Hewitt		gpios = <&gpio_ao GPIOAO_6 GPIO_ACTIVE_HIGH>;
5688d537bcSChristian Hewitt		gpios-states = <0>;
5788d537bcSChristian Hewitt
5888d537bcSChristian Hewitt		states = <3300000 0>,
5988d537bcSChristian Hewitt			 <1800000 1>;
6088d537bcSChristian Hewitt	};
6188d537bcSChristian Hewitt
6288d537bcSChristian Hewitt	flash_1v8: regulator-flash_1v8 {
6388d537bcSChristian Hewitt		compatible = "regulator-fixed";
6488d537bcSChristian Hewitt		regulator-name = "FLASH_1V8";
6588d537bcSChristian Hewitt		regulator-min-microvolt = <1800000>;
6688d537bcSChristian Hewitt		regulator-max-microvolt = <1800000>;
6788d537bcSChristian Hewitt		vin-supply = <&vcc_3v3>;
6888d537bcSChristian Hewitt		regulator-always-on;
6988d537bcSChristian Hewitt	};
7088d537bcSChristian Hewitt
7188d537bcSChristian Hewitt	main_12v: regulator-main_12v {
7288d537bcSChristian Hewitt		compatible = "regulator-fixed";
7388d537bcSChristian Hewitt		regulator-name = "12V";
7488d537bcSChristian Hewitt		regulator-min-microvolt = <12000000>;
7588d537bcSChristian Hewitt		regulator-max-microvolt = <12000000>;
7688d537bcSChristian Hewitt		regulator-always-on;
7788d537bcSChristian Hewitt	};
7888d537bcSChristian Hewitt
7988d537bcSChristian Hewitt	vcc_5v: regulator-vcc_5v {
8088d537bcSChristian Hewitt		compatible = "regulator-fixed";
8188d537bcSChristian Hewitt		regulator-name = "5V";
8288d537bcSChristian Hewitt		regulator-min-microvolt = <5000000>;
8388d537bcSChristian Hewitt		regulator-max-microvolt = <5000000>;
8488d537bcSChristian Hewitt		regulator-always-on;
8588d537bcSChristian Hewitt		vin-supply = <&main_12v>;
8688d537bcSChristian Hewitt	};
8788d537bcSChristian Hewitt
8888d537bcSChristian Hewitt	vcc_1v8: regulator-vcc_1v8 {
8988d537bcSChristian Hewitt		compatible = "regulator-fixed";
9088d537bcSChristian Hewitt		regulator-name = "VCC_1V8";
9188d537bcSChristian Hewitt		regulator-min-microvolt = <1800000>;
9288d537bcSChristian Hewitt		regulator-max-microvolt = <1800000>;
9388d537bcSChristian Hewitt		vin-supply = <&vcc_3v3>;
9488d537bcSChristian Hewitt		regulator-always-on;
9588d537bcSChristian Hewitt	};
9688d537bcSChristian Hewitt
9788d537bcSChristian Hewitt	vcc_3v3: regulator-vcc_3v3 {
9888d537bcSChristian Hewitt		compatible = "regulator-fixed";
9988d537bcSChristian Hewitt		regulator-name = "VCC_3V3";
10088d537bcSChristian Hewitt		regulator-min-microvolt = <3300000>;
10188d537bcSChristian Hewitt		regulator-max-microvolt = <3300000>;
10288d537bcSChristian Hewitt		vin-supply = <&vddao_3v3>;
10388d537bcSChristian Hewitt		regulator-always-on;
10488d537bcSChristian Hewitt		/* FIXME: actually controlled by VDDCPU_B_EN */
10588d537bcSChristian Hewitt	};
10688d537bcSChristian Hewitt
10788d537bcSChristian Hewitt	vddcpu: regulator-vddcpu {
10888d537bcSChristian Hewitt		/*
10988d537bcSChristian Hewitt		 * MP8756GD Regulator.
11088d537bcSChristian Hewitt		 */
11188d537bcSChristian Hewitt		compatible = "pwm-regulator";
11288d537bcSChristian Hewitt
11388d537bcSChristian Hewitt		regulator-name = "VDDCPU";
11488d537bcSChristian Hewitt		regulator-min-microvolt = <721000>;
11588d537bcSChristian Hewitt		regulator-max-microvolt = <1022000>;
11688d537bcSChristian Hewitt
11788d537bcSChristian Hewitt		vin-supply = <&main_12v>;
11888d537bcSChristian Hewitt
11988d537bcSChristian Hewitt		pwms = <&pwm_AO_cd 1 1250 0>;
12088d537bcSChristian Hewitt		pwm-dutycycle-range = <100 0>;
12188d537bcSChristian Hewitt
12288d537bcSChristian Hewitt		regulator-boot-on;
12388d537bcSChristian Hewitt		regulator-always-on;
12488d537bcSChristian Hewitt	};
12588d537bcSChristian Hewitt
12688d537bcSChristian Hewitt	usb_pwr_en: regulator-usb_pwr_en {
12788d537bcSChristian Hewitt		compatible = "regulator-fixed";
12888d537bcSChristian Hewitt		regulator-name = "USB_PWR_EN";
12988d537bcSChristian Hewitt		regulator-min-microvolt = <5000000>;
13088d537bcSChristian Hewitt		regulator-max-microvolt = <5000000>;
13188d537bcSChristian Hewitt		vin-supply = <&vcc_5v>;
13288d537bcSChristian Hewitt
13388d537bcSChristian Hewitt		/* Connected to the microUSB port power enable */
13488d537bcSChristian Hewitt		gpio = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
13588d537bcSChristian Hewitt		enable-active-high;
13688d537bcSChristian Hewitt	};
13788d537bcSChristian Hewitt
13888d537bcSChristian Hewitt	vddao_1v8: regulator-vddao_1v8 {
13988d537bcSChristian Hewitt		compatible = "regulator-fixed";
14088d537bcSChristian Hewitt		regulator-name = "VDDAO_1V8";
14188d537bcSChristian Hewitt		regulator-min-microvolt = <1800000>;
14288d537bcSChristian Hewitt		regulator-max-microvolt = <1800000>;
14388d537bcSChristian Hewitt		vin-supply = <&vddao_3v3>;
14488d537bcSChristian Hewitt		regulator-always-on;
14588d537bcSChristian Hewitt	};
14688d537bcSChristian Hewitt
14788d537bcSChristian Hewitt	vddao_3v3: regulator-vddao_3v3 {
14888d537bcSChristian Hewitt		compatible = "regulator-fixed";
14988d537bcSChristian Hewitt		regulator-name = "VDDAO_3V3";
15088d537bcSChristian Hewitt		regulator-min-microvolt = <3300000>;
15188d537bcSChristian Hewitt		regulator-max-microvolt = <3300000>;
15288d537bcSChristian Hewitt		vin-supply = <&main_12v>;
15388d537bcSChristian Hewitt		regulator-always-on;
15488d537bcSChristian Hewitt	};
15588d537bcSChristian Hewitt
15688d537bcSChristian Hewitt	hdmi-connector {
15788d537bcSChristian Hewitt		compatible = "hdmi-connector";
15888d537bcSChristian Hewitt		type = "a";
15988d537bcSChristian Hewitt
16088d537bcSChristian Hewitt		port {
16188d537bcSChristian Hewitt			hdmi_connector_in: endpoint {
16288d537bcSChristian Hewitt				remote-endpoint = <&hdmi_tx_tmds_out>;
16388d537bcSChristian Hewitt			};
16488d537bcSChristian Hewitt		};
16588d537bcSChristian Hewitt	};
16688d537bcSChristian Hewitt
16788d537bcSChristian Hewitt	sound {
16888d537bcSChristian Hewitt		compatible = "amlogic,axg-sound-card";
16988d537bcSChristian Hewitt		audio-aux-devs = <&tdmout_b>;
17088d537bcSChristian Hewitt		audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
17188d537bcSChristian Hewitt				"TDMOUT_B IN 1", "FRDDR_B OUT 1",
17288d537bcSChristian Hewitt				"TDMOUT_B IN 2", "FRDDR_C OUT 1",
17388d537bcSChristian Hewitt				"TDM_B Playback", "TDMOUT_B OUT";
17488d537bcSChristian Hewitt
17588d537bcSChristian Hewitt		assigned-clocks = <&clkc CLKID_MPLL2>,
17688d537bcSChristian Hewitt				  <&clkc CLKID_MPLL0>,
17788d537bcSChristian Hewitt				  <&clkc CLKID_MPLL1>;
17888d537bcSChristian Hewitt		assigned-clock-parents = <0>, <0>, <0>;
17988d537bcSChristian Hewitt		assigned-clock-rates = <294912000>,
18088d537bcSChristian Hewitt				       <270950400>,
18188d537bcSChristian Hewitt				       <393216000>;
18288d537bcSChristian Hewitt		status = "okay";
18388d537bcSChristian Hewitt
18488d537bcSChristian Hewitt		dai-link-0 {
18588d537bcSChristian Hewitt			sound-dai = <&frddr_a>;
18688d537bcSChristian Hewitt		};
18788d537bcSChristian Hewitt
18888d537bcSChristian Hewitt		dai-link-1 {
18988d537bcSChristian Hewitt			sound-dai = <&frddr_b>;
19088d537bcSChristian Hewitt		};
19188d537bcSChristian Hewitt
19288d537bcSChristian Hewitt		dai-link-2 {
19388d537bcSChristian Hewitt			sound-dai = <&frddr_c>;
19488d537bcSChristian Hewitt		};
19588d537bcSChristian Hewitt
19688d537bcSChristian Hewitt		/* 8ch hdmi interface */
19788d537bcSChristian Hewitt		dai-link-3 {
19888d537bcSChristian Hewitt			sound-dai = <&tdmif_b>;
19988d537bcSChristian Hewitt			dai-format = "i2s";
20088d537bcSChristian Hewitt			dai-tdm-slot-tx-mask-0 = <1 1>;
20188d537bcSChristian Hewitt			dai-tdm-slot-tx-mask-1 = <1 1>;
20288d537bcSChristian Hewitt			dai-tdm-slot-tx-mask-2 = <1 1>;
20388d537bcSChristian Hewitt			dai-tdm-slot-tx-mask-3 = <1 1>;
20488d537bcSChristian Hewitt			mclk-fs = <256>;
20588d537bcSChristian Hewitt
20688d537bcSChristian Hewitt			codec {
20788d537bcSChristian Hewitt				sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
20888d537bcSChristian Hewitt			};
20988d537bcSChristian Hewitt		};
21088d537bcSChristian Hewitt
21188d537bcSChristian Hewitt		/* hdmi glue */
21288d537bcSChristian Hewitt		dai-link-4 {
21388d537bcSChristian Hewitt			sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
21488d537bcSChristian Hewitt
21588d537bcSChristian Hewitt			codec {
21688d537bcSChristian Hewitt				sound-dai = <&hdmi_tx>;
21788d537bcSChristian Hewitt			};
21888d537bcSChristian Hewitt		};
21988d537bcSChristian Hewitt	};
22088d537bcSChristian Hewitt};
22188d537bcSChristian Hewitt
22288d537bcSChristian Hewitt&arb {
22388d537bcSChristian Hewitt	status = "okay";
22488d537bcSChristian Hewitt};
22588d537bcSChristian Hewitt
22688d537bcSChristian Hewitt&clkc_audio {
22788d537bcSChristian Hewitt	status = "okay";
22888d537bcSChristian Hewitt};
22988d537bcSChristian Hewitt
23088d537bcSChristian Hewitt&cpu0 {
23188d537bcSChristian Hewitt	cpu-supply = <&vddcpu>;
23288d537bcSChristian Hewitt	operating-points-v2 = <&cpu_opp_table>;
23388d537bcSChristian Hewitt	clocks = <&clkc CLKID_CPU_CLK>;
23488d537bcSChristian Hewitt	clock-latency = <50000>;
23588d537bcSChristian Hewitt};
23688d537bcSChristian Hewitt
23788d537bcSChristian Hewitt&cpu1 {
23888d537bcSChristian Hewitt	cpu-supply = <&vddcpu>;
23988d537bcSChristian Hewitt	operating-points-v2 = <&cpu_opp_table>;
24088d537bcSChristian Hewitt	clocks = <&clkc CLKID_CPU1_CLK>;
24188d537bcSChristian Hewitt	clock-latency = <50000>;
24288d537bcSChristian Hewitt};
24388d537bcSChristian Hewitt
24488d537bcSChristian Hewitt&cpu2 {
24588d537bcSChristian Hewitt	cpu-supply = <&vddcpu>;
24688d537bcSChristian Hewitt	operating-points-v2 = <&cpu_opp_table>;
24788d537bcSChristian Hewitt	clocks = <&clkc CLKID_CPU2_CLK>;
24888d537bcSChristian Hewitt	clock-latency = <50000>;
24988d537bcSChristian Hewitt};
25088d537bcSChristian Hewitt
25188d537bcSChristian Hewitt&cpu3 {
25288d537bcSChristian Hewitt	cpu-supply = <&vddcpu>;
25388d537bcSChristian Hewitt	operating-points-v2 = <&cpu_opp_table>;
25488d537bcSChristian Hewitt	clocks = <&clkc CLKID_CPU3_CLK>;
25588d537bcSChristian Hewitt	clock-latency = <50000>;
25688d537bcSChristian Hewitt};
25788d537bcSChristian Hewitt
25888d537bcSChristian Hewitt&ext_mdio {
25988d537bcSChristian Hewitt	external_phy: ethernet-phy@0 {
26088d537bcSChristian Hewitt		/* Realtek RTL8211F (0x001cc916) */
26188d537bcSChristian Hewitt		reg = <0>;
26288d537bcSChristian Hewitt		max-speed = <1000>;
26388d537bcSChristian Hewitt
26488d537bcSChristian Hewitt		interrupt-parent = <&gpio_intc>;
26588d537bcSChristian Hewitt		/* MAC_INTR on GPIOZ_14 */
26688d537bcSChristian Hewitt		interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
26788d537bcSChristian Hewitt	};
26888d537bcSChristian Hewitt};
26988d537bcSChristian Hewitt
27088d537bcSChristian Hewitt&ethmac {
27188d537bcSChristian Hewitt	pinctrl-0 = <&eth_pins>, <&eth_rgmii_pins>;
27288d537bcSChristian Hewitt	pinctrl-names = "default";
27388d537bcSChristian Hewitt	status = "okay";
27488d537bcSChristian Hewitt	phy-mode = "rgmii";
27588d537bcSChristian Hewitt	phy-handle = <&external_phy>;
27688d537bcSChristian Hewitt	amlogic,tx-delay-ns = <2>;
27788d537bcSChristian Hewitt};
27888d537bcSChristian Hewitt
27988d537bcSChristian Hewitt&frddr_a {
28088d537bcSChristian Hewitt	status = "okay";
28188d537bcSChristian Hewitt};
28288d537bcSChristian Hewitt
28388d537bcSChristian Hewitt&frddr_b {
28488d537bcSChristian Hewitt	status = "okay";
28588d537bcSChristian Hewitt};
28688d537bcSChristian Hewitt
28788d537bcSChristian Hewitt&frddr_c {
28888d537bcSChristian Hewitt	status = "okay";
28988d537bcSChristian Hewitt};
29088d537bcSChristian Hewitt
29188d537bcSChristian Hewitt&gpio {
29288d537bcSChristian Hewitt	gpio-line-names =
29388d537bcSChristian Hewitt		/* GPIOZ */
29488d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
29588d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
29688d537bcSChristian Hewitt		/* GPIOH */
29788d537bcSChristian Hewitt		"", "", "", "", "",
29888d537bcSChristian Hewitt		"PIN_36", /* GPIOH_5 */
29988d537bcSChristian Hewitt		"PIN_26", /* GPIOH_6 */
30088d537bcSChristian Hewitt		"PIN_32", /* GPIOH_7 */
30188d537bcSChristian Hewitt		"",
30288d537bcSChristian Hewitt		/* BOOT */
30388d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
30488d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
30588d537bcSChristian Hewitt		/* GPIOC */
30688d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
30788d537bcSChristian Hewitt		/* GPIOA */
30888d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
30988d537bcSChristian Hewitt		"", "", "", "", "", "",
31088d537bcSChristian Hewitt		"PIN_27", /* GPIOA_14 */
31188d537bcSChristian Hewitt		"PIN_28", /* GPIOA_15 */
31288d537bcSChristian Hewitt		/* GPIOX */
31388d537bcSChristian Hewitt		"PIN_16", /* GPIOX_0 */
31488d537bcSChristian Hewitt		"PIN_18", /* GPIOX_1 */
31588d537bcSChristian Hewitt		"PIN_22", /* GPIOX_2 */
31688d537bcSChristian Hewitt		"PIN_11", /* GPIOX_3 */
31788d537bcSChristian Hewitt		"PIN_13", /* GPIOX_4 */
31888d537bcSChristian Hewitt		"PIN_7",  /* GPIOX_5 */
31988d537bcSChristian Hewitt		"PIN_33", /* GPIOX_6 */
32088d537bcSChristian Hewitt		"PIN_15", /* GPIOX_7 */
32188d537bcSChristian Hewitt		"PIN_19", /* GPIOX_8 */
32288d537bcSChristian Hewitt		"PIN_21", /* GPIOX_9 */
32388d537bcSChristian Hewitt		"PIN_24", /* GPIOX_10 */
32488d537bcSChristian Hewitt		"PIN_23", /* GPIOX_11 */
32588d537bcSChristian Hewitt		"PIN_8",  /* GPIOX_12 */
32688d537bcSChristian Hewitt		"PIN_10", /* GPIOX_13 */
32788d537bcSChristian Hewitt		"PIN_29", /* GPIOX_14 */
32888d537bcSChristian Hewitt		"PIN_31", /* GPIOX_15 */
32988d537bcSChristian Hewitt		"PIN_12", /* GPIOX_16 */
33088d537bcSChristian Hewitt		"PIN_3",  /* GPIOX_17 */
33188d537bcSChristian Hewitt		"PIN_5",  /* GPIOX_18 */
33288d537bcSChristian Hewitt		"PIN_35"; /* GPIOX_19 */
33388d537bcSChristian Hewitt};
33488d537bcSChristian Hewitt
33588d537bcSChristian Hewitt&gpio_ao {
33688d537bcSChristian Hewitt	gpio-line-names =
33788d537bcSChristian Hewitt		/* GPIOAO */
33888d537bcSChristian Hewitt		"", "", "", "",
33988d537bcSChristian Hewitt		"PIN_47", /* GPIOAO_4 */
34088d537bcSChristian Hewitt		"", "",
34188d537bcSChristian Hewitt		"PIN_45", /* GPIOAO_7 */
34288d537bcSChristian Hewitt		"PIN_46", /* GPIOAO_8 */
34388d537bcSChristian Hewitt		"PIN_44", /* GPIOAO_9 */
34488d537bcSChristian Hewitt		"PIN_42", /* GPIOAO_10 */
34588d537bcSChristian Hewitt		"",
34688d537bcSChristian Hewitt		/* GPIOE */
34788d537bcSChristian Hewitt		"", "", "";
34888d537bcSChristian Hewitt};
34988d537bcSChristian Hewitt
35088d537bcSChristian Hewitt&hdmi_tx {
35188d537bcSChristian Hewitt	status = "okay";
35288d537bcSChristian Hewitt	pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
35388d537bcSChristian Hewitt	pinctrl-names = "default";
35488d537bcSChristian Hewitt	hdmi-supply = <&vcc_5v>;
35588d537bcSChristian Hewitt};
35688d537bcSChristian Hewitt
35788d537bcSChristian Hewitt&hdmi_tx_tmds_port {
35888d537bcSChristian Hewitt	hdmi_tx_tmds_out: endpoint {
35988d537bcSChristian Hewitt		remote-endpoint = <&hdmi_connector_in>;
36088d537bcSChristian Hewitt	};
36188d537bcSChristian Hewitt};
36288d537bcSChristian Hewitt
36388d537bcSChristian Hewitt&ir {
36488d537bcSChristian Hewitt	status = "okay";
36588d537bcSChristian Hewitt	pinctrl-0 = <&remote_input_ao_pins>;
36688d537bcSChristian Hewitt	pinctrl-names = "default";
36788d537bcSChristian Hewitt};
36888d537bcSChristian Hewitt
36988d537bcSChristian Hewitt&pwm_AO_cd {
37088d537bcSChristian Hewitt	pinctrl-0 = <&pwm_ao_d_e_pins>;
37188d537bcSChristian Hewitt	pinctrl-names = "default";
37288d537bcSChristian Hewitt	clocks = <&xtal>;
37388d537bcSChristian Hewitt	clock-names = "clkin1";
37488d537bcSChristian Hewitt	status = "okay";
37588d537bcSChristian Hewitt};
37688d537bcSChristian Hewitt
37788d537bcSChristian Hewitt&saradc {
37888d537bcSChristian Hewitt	status = "okay";
37988d537bcSChristian Hewitt};
38088d537bcSChristian Hewitt
38188d537bcSChristian Hewitt/* SD card */
38288d537bcSChristian Hewitt&sd_emmc_b {
38388d537bcSChristian Hewitt	status = "okay";
38488d537bcSChristian Hewitt	pinctrl-0 = <&sdcard_c_pins>;
38588d537bcSChristian Hewitt	pinctrl-1 = <&sdcard_clk_gate_c_pins>;
38688d537bcSChristian Hewitt	pinctrl-names = "default", "clk-gate";
38788d537bcSChristian Hewitt
38888d537bcSChristian Hewitt	bus-width = <4>;
38988d537bcSChristian Hewitt	cap-sd-highspeed;
39088d537bcSChristian Hewitt	max-frequency = <200000000>;
39188d537bcSChristian Hewitt	sd-uhs-sdr12;
39288d537bcSChristian Hewitt	sd-uhs-sdr25;
39388d537bcSChristian Hewitt	sd-uhs-sdr50;
39488d537bcSChristian Hewitt	sd-uhs-sdr104;
39588d537bcSChristian Hewitt	disable-wp;
39688d537bcSChristian Hewitt
39788d537bcSChristian Hewitt	cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
39888d537bcSChristian Hewitt	vmmc-supply = <&tflash_vdd>;
39988d537bcSChristian Hewitt	vqmmc-supply = <&tf_io>;
40088d537bcSChristian Hewitt};
40188d537bcSChristian Hewitt
40288d537bcSChristian Hewitt/* eMMC */
40388d537bcSChristian Hewitt&sd_emmc_c {
40488d537bcSChristian Hewitt	status = "okay";
40588d537bcSChristian Hewitt	pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
40688d537bcSChristian Hewitt	pinctrl-1 = <&emmc_clk_gate_pins>;
40788d537bcSChristian Hewitt	pinctrl-names = "default", "clk-gate";
40888d537bcSChristian Hewitt
40988d537bcSChristian Hewitt	bus-width = <8>;
41088d537bcSChristian Hewitt	cap-mmc-highspeed;
41188d537bcSChristian Hewitt	mmc-ddr-1_8v;
41288d537bcSChristian Hewitt	mmc-hs200-1_8v;
41388d537bcSChristian Hewitt	max-frequency = <200000000>;
41488d537bcSChristian Hewitt	disable-wp;
41588d537bcSChristian Hewitt
41688d537bcSChristian Hewitt	mmc-pwrseq = <&emmc_pwrseq>;
41788d537bcSChristian Hewitt	vmmc-supply = <&vcc_3v3>;
41888d537bcSChristian Hewitt	vqmmc-supply = <&flash_1v8>;
41988d537bcSChristian Hewitt};
42088d537bcSChristian Hewitt
42188d537bcSChristian Hewitt&tdmif_b {
42288d537bcSChristian Hewitt	status = "okay";
42388d537bcSChristian Hewitt};
42488d537bcSChristian Hewitt
42588d537bcSChristian Hewitt&tdmout_b {
42688d537bcSChristian Hewitt	status = "okay";
42788d537bcSChristian Hewitt};
42888d537bcSChristian Hewitt
42988d537bcSChristian Hewitt&tohdmitx {
43088d537bcSChristian Hewitt	status = "okay";
43188d537bcSChristian Hewitt};
43288d537bcSChristian Hewitt
43388d537bcSChristian Hewitt&uart_AO {
43488d537bcSChristian Hewitt	status = "okay";
43588d537bcSChristian Hewitt	pinctrl-0 = <&uart_ao_a_pins>;
43688d537bcSChristian Hewitt	pinctrl-names = "default";
43788d537bcSChristian Hewitt};
43888d537bcSChristian Hewitt
43988d537bcSChristian Hewitt&usb {
44088d537bcSChristian Hewitt	status = "okay";
44188d537bcSChristian Hewitt	vbus-supply = <&usb_pwr_en>;
44288d537bcSChristian Hewitt};
44388d537bcSChristian Hewitt
44488d537bcSChristian Hewitt&usb2_phy0 {
44588d537bcSChristian Hewitt	phy-supply = <&vcc_5v>;
44688d537bcSChristian Hewitt};
44788d537bcSChristian Hewitt
448