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>;
491f80a5cfSNeil Armstrong		vin-supply = <&vcc_5v>;
501f80a5cfSNeil Armstrong
514bddf79aSNeil Armstrong		enable-gpios = <&gpio_ao GPIOE_2 GPIO_OPEN_DRAIN>;
521f80a5cfSNeil Armstrong		enable-active-high;
531f80a5cfSNeil Armstrong		regulator-always-on;
5488d537bcSChristian Hewitt
557881df51SNeil Armstrong		gpios = <&gpio_ao GPIOAO_6 GPIO_OPEN_SOURCE>;
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>;
8645d736abSNeil Armstrong		gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
8745d736abSNeil Armstrong		enable-active-high;
8888d537bcSChristian Hewitt	};
8988d537bcSChristian Hewitt
9088d537bcSChristian Hewitt	vcc_1v8: regulator-vcc_1v8 {
9188d537bcSChristian Hewitt		compatible = "regulator-fixed";
9288d537bcSChristian Hewitt		regulator-name = "VCC_1V8";
9388d537bcSChristian Hewitt		regulator-min-microvolt = <1800000>;
9488d537bcSChristian Hewitt		regulator-max-microvolt = <1800000>;
9588d537bcSChristian Hewitt		vin-supply = <&vcc_3v3>;
9688d537bcSChristian Hewitt		regulator-always-on;
9788d537bcSChristian Hewitt	};
9888d537bcSChristian Hewitt
9988d537bcSChristian Hewitt	vcc_3v3: regulator-vcc_3v3 {
10088d537bcSChristian Hewitt		compatible = "regulator-fixed";
10188d537bcSChristian Hewitt		regulator-name = "VCC_3V3";
10288d537bcSChristian Hewitt		regulator-min-microvolt = <3300000>;
10388d537bcSChristian Hewitt		regulator-max-microvolt = <3300000>;
10488d537bcSChristian Hewitt		vin-supply = <&vddao_3v3>;
10588d537bcSChristian Hewitt		regulator-always-on;
10688d537bcSChristian Hewitt		/* FIXME: actually controlled by VDDCPU_B_EN */
10788d537bcSChristian Hewitt	};
10888d537bcSChristian Hewitt
10988d537bcSChristian Hewitt	vddcpu: regulator-vddcpu {
11088d537bcSChristian Hewitt		/*
11188d537bcSChristian Hewitt		 * MP8756GD Regulator.
11288d537bcSChristian Hewitt		 */
11388d537bcSChristian Hewitt		compatible = "pwm-regulator";
11488d537bcSChristian Hewitt
11588d537bcSChristian Hewitt		regulator-name = "VDDCPU";
11688d537bcSChristian Hewitt		regulator-min-microvolt = <721000>;
11788d537bcSChristian Hewitt		regulator-max-microvolt = <1022000>;
11888d537bcSChristian Hewitt
1190b26fa8aSAnand Moon		pwm-supply = <&main_12v>;
12088d537bcSChristian Hewitt
12188d537bcSChristian Hewitt		pwms = <&pwm_AO_cd 1 1250 0>;
12288d537bcSChristian Hewitt		pwm-dutycycle-range = <100 0>;
12388d537bcSChristian Hewitt
12488d537bcSChristian Hewitt		regulator-boot-on;
12588d537bcSChristian Hewitt		regulator-always-on;
12688d537bcSChristian Hewitt	};
12788d537bcSChristian Hewitt
12888d537bcSChristian Hewitt	usb_pwr_en: regulator-usb_pwr_en {
12988d537bcSChristian Hewitt		compatible = "regulator-fixed";
13088d537bcSChristian Hewitt		regulator-name = "USB_PWR_EN";
13188d537bcSChristian Hewitt		regulator-min-microvolt = <5000000>;
13288d537bcSChristian Hewitt		regulator-max-microvolt = <5000000>;
13388d537bcSChristian Hewitt		vin-supply = <&vcc_5v>;
13488d537bcSChristian Hewitt
13588d537bcSChristian Hewitt		/* Connected to the microUSB port power enable */
13688d537bcSChristian Hewitt		gpio = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
13788d537bcSChristian Hewitt		enable-active-high;
13888d537bcSChristian Hewitt	};
13988d537bcSChristian Hewitt
14088d537bcSChristian Hewitt	vddao_1v8: regulator-vddao_1v8 {
14188d537bcSChristian Hewitt		compatible = "regulator-fixed";
14288d537bcSChristian Hewitt		regulator-name = "VDDAO_1V8";
14388d537bcSChristian Hewitt		regulator-min-microvolt = <1800000>;
14488d537bcSChristian Hewitt		regulator-max-microvolt = <1800000>;
14588d537bcSChristian Hewitt		vin-supply = <&vddao_3v3>;
14688d537bcSChristian Hewitt		regulator-always-on;
14788d537bcSChristian Hewitt	};
14888d537bcSChristian Hewitt
14988d537bcSChristian Hewitt	vddao_3v3: regulator-vddao_3v3 {
15088d537bcSChristian Hewitt		compatible = "regulator-fixed";
15188d537bcSChristian Hewitt		regulator-name = "VDDAO_3V3";
15288d537bcSChristian Hewitt		regulator-min-microvolt = <3300000>;
15388d537bcSChristian Hewitt		regulator-max-microvolt = <3300000>;
15488d537bcSChristian Hewitt		vin-supply = <&main_12v>;
15588d537bcSChristian Hewitt		regulator-always-on;
15688d537bcSChristian Hewitt	};
15788d537bcSChristian Hewitt
15888d537bcSChristian Hewitt	hdmi-connector {
15988d537bcSChristian Hewitt		compatible = "hdmi-connector";
16088d537bcSChristian Hewitt		type = "a";
16188d537bcSChristian Hewitt
16288d537bcSChristian Hewitt		port {
16388d537bcSChristian Hewitt			hdmi_connector_in: endpoint {
16488d537bcSChristian Hewitt				remote-endpoint = <&hdmi_tx_tmds_out>;
16588d537bcSChristian Hewitt			};
16688d537bcSChristian Hewitt		};
16788d537bcSChristian Hewitt	};
16888d537bcSChristian Hewitt
16988d537bcSChristian Hewitt	sound {
17088d537bcSChristian Hewitt		compatible = "amlogic,axg-sound-card";
17188d537bcSChristian Hewitt		audio-aux-devs = <&tdmout_b>;
17288d537bcSChristian Hewitt		audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
17388d537bcSChristian Hewitt				"TDMOUT_B IN 1", "FRDDR_B OUT 1",
17488d537bcSChristian Hewitt				"TDMOUT_B IN 2", "FRDDR_C OUT 1",
17588d537bcSChristian Hewitt				"TDM_B Playback", "TDMOUT_B OUT";
17688d537bcSChristian Hewitt
17788d537bcSChristian Hewitt		assigned-clocks = <&clkc CLKID_MPLL2>,
17888d537bcSChristian Hewitt				  <&clkc CLKID_MPLL0>,
17988d537bcSChristian Hewitt				  <&clkc CLKID_MPLL1>;
18088d537bcSChristian Hewitt		assigned-clock-parents = <0>, <0>, <0>;
18188d537bcSChristian Hewitt		assigned-clock-rates = <294912000>,
18288d537bcSChristian Hewitt				       <270950400>,
18388d537bcSChristian Hewitt				       <393216000>;
18488d537bcSChristian Hewitt
18588d537bcSChristian Hewitt		dai-link-0 {
18688d537bcSChristian Hewitt			sound-dai = <&frddr_a>;
18788d537bcSChristian Hewitt		};
18888d537bcSChristian Hewitt
18988d537bcSChristian Hewitt		dai-link-1 {
19088d537bcSChristian Hewitt			sound-dai = <&frddr_b>;
19188d537bcSChristian Hewitt		};
19288d537bcSChristian Hewitt
19388d537bcSChristian Hewitt		dai-link-2 {
19488d537bcSChristian Hewitt			sound-dai = <&frddr_c>;
19588d537bcSChristian Hewitt		};
19688d537bcSChristian Hewitt
19788d537bcSChristian Hewitt		/* 8ch hdmi interface */
19888d537bcSChristian Hewitt		dai-link-3 {
19988d537bcSChristian Hewitt			sound-dai = <&tdmif_b>;
20088d537bcSChristian Hewitt			dai-format = "i2s";
20188d537bcSChristian Hewitt			dai-tdm-slot-tx-mask-0 = <1 1>;
20288d537bcSChristian Hewitt			dai-tdm-slot-tx-mask-1 = <1 1>;
20388d537bcSChristian Hewitt			dai-tdm-slot-tx-mask-2 = <1 1>;
20488d537bcSChristian Hewitt			dai-tdm-slot-tx-mask-3 = <1 1>;
20588d537bcSChristian Hewitt			mclk-fs = <256>;
20688d537bcSChristian Hewitt
20788d537bcSChristian Hewitt			codec {
20888d537bcSChristian Hewitt				sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
20988d537bcSChristian Hewitt			};
21088d537bcSChristian Hewitt		};
21188d537bcSChristian Hewitt
21288d537bcSChristian Hewitt		/* hdmi glue */
21388d537bcSChristian Hewitt		dai-link-4 {
21488d537bcSChristian Hewitt			sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
21588d537bcSChristian Hewitt
21688d537bcSChristian Hewitt			codec {
21788d537bcSChristian Hewitt				sound-dai = <&hdmi_tx>;
21888d537bcSChristian Hewitt			};
21988d537bcSChristian Hewitt		};
22088d537bcSChristian Hewitt	};
22188d537bcSChristian Hewitt};
22288d537bcSChristian Hewitt
22388d537bcSChristian Hewitt&arb {
22488d537bcSChristian Hewitt	status = "okay";
22588d537bcSChristian Hewitt};
22688d537bcSChristian Hewitt
22788d537bcSChristian Hewitt&cec_AO {
22883c9eee7SDmitry Shmidt	pinctrl-0 = <&cec_ao_a_h_pins>;
22983c9eee7SDmitry Shmidt	pinctrl-names = "default";
23083c9eee7SDmitry Shmidt	status = "disabled";
23183c9eee7SDmitry Shmidt	hdmi-phandle = <&hdmi_tx>;
23283c9eee7SDmitry Shmidt};
23383c9eee7SDmitry Shmidt
23483c9eee7SDmitry Shmidt&cecb_AO {
23583c9eee7SDmitry Shmidt	pinctrl-0 = <&cec_ao_b_h_pins>;
23683c9eee7SDmitry Shmidt	pinctrl-names = "default";
23783c9eee7SDmitry Shmidt	status = "okay";
23883c9eee7SDmitry Shmidt	hdmi-phandle = <&hdmi_tx>;
23983c9eee7SDmitry Shmidt};
24083c9eee7SDmitry Shmidt
24183c9eee7SDmitry Shmidt&clkc_audio {
24288d537bcSChristian Hewitt	status = "okay";
24388d537bcSChristian Hewitt};
24488d537bcSChristian Hewitt
24588d537bcSChristian Hewitt&cpu0 {
24688d537bcSChristian Hewitt	cpu-supply = <&vddcpu>;
24788d537bcSChristian Hewitt	operating-points-v2 = <&cpu_opp_table>;
24888d537bcSChristian Hewitt	clocks = <&clkc CLKID_CPU_CLK>;
24988d537bcSChristian Hewitt	clock-latency = <50000>;
25088d537bcSChristian Hewitt};
25188d537bcSChristian Hewitt
25288d537bcSChristian Hewitt&cpu1 {
25388d537bcSChristian Hewitt	cpu-supply = <&vddcpu>;
25488d537bcSChristian Hewitt	operating-points-v2 = <&cpu_opp_table>;
25588d537bcSChristian Hewitt	clocks = <&clkc CLKID_CPU1_CLK>;
25688d537bcSChristian Hewitt	clock-latency = <50000>;
25788d537bcSChristian Hewitt};
25888d537bcSChristian Hewitt
25988d537bcSChristian Hewitt&cpu2 {
26088d537bcSChristian Hewitt	cpu-supply = <&vddcpu>;
26188d537bcSChristian Hewitt	operating-points-v2 = <&cpu_opp_table>;
26288d537bcSChristian Hewitt	clocks = <&clkc CLKID_CPU2_CLK>;
26388d537bcSChristian Hewitt	clock-latency = <50000>;
26488d537bcSChristian Hewitt};
26588d537bcSChristian Hewitt
26688d537bcSChristian Hewitt&cpu3 {
26788d537bcSChristian Hewitt	cpu-supply = <&vddcpu>;
26888d537bcSChristian Hewitt	operating-points-v2 = <&cpu_opp_table>;
26988d537bcSChristian Hewitt	clocks = <&clkc CLKID_CPU3_CLK>;
27088d537bcSChristian Hewitt	clock-latency = <50000>;
27188d537bcSChristian Hewitt};
27288d537bcSChristian Hewitt
27388d537bcSChristian Hewitt&ext_mdio {
27488d537bcSChristian Hewitt	external_phy: ethernet-phy@0 {
27588d537bcSChristian Hewitt		/* Realtek RTL8211F (0x001cc916) */
27688d537bcSChristian Hewitt		reg = <0>;
27788d537bcSChristian Hewitt		max-speed = <1000>;
27888d537bcSChristian Hewitt
27988d537bcSChristian Hewitt		reset-assert-us = <10000>;
2809d02214fSDongjin Kim		reset-deassert-us = <80000>;
2819d02214fSDongjin Kim		reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
2829d02214fSDongjin Kim
2839d02214fSDongjin Kim		interrupt-parent = <&gpio_intc>;
28488d537bcSChristian Hewitt		/* MAC_INTR on GPIOZ_14 */
28588d537bcSChristian Hewitt		interrupts = <IRQID_GPIOZ_14 IRQ_TYPE_LEVEL_LOW>;
286*6387e0aaSHuqiang Qin	};
28788d537bcSChristian Hewitt};
28888d537bcSChristian Hewitt
28988d537bcSChristian Hewitt&ethmac {
29088d537bcSChristian Hewitt	pinctrl-0 = <&eth_pins>, <&eth_rgmii_pins>;
29188d537bcSChristian Hewitt	pinctrl-names = "default";
29288d537bcSChristian Hewitt	status = "okay";
29388d537bcSChristian Hewitt	phy-mode = "rgmii";
29488d537bcSChristian Hewitt	phy-handle = <&external_phy>;
29588d537bcSChristian Hewitt	amlogic,tx-delay-ns = <2>;
29688d537bcSChristian Hewitt};
29788d537bcSChristian Hewitt
29888d537bcSChristian Hewitt&frddr_a {
29988d537bcSChristian Hewitt	status = "okay";
30088d537bcSChristian Hewitt};
30188d537bcSChristian Hewitt
30288d537bcSChristian Hewitt&frddr_b {
30388d537bcSChristian Hewitt	status = "okay";
30488d537bcSChristian Hewitt};
30588d537bcSChristian Hewitt
30688d537bcSChristian Hewitt&frddr_c {
30788d537bcSChristian Hewitt	status = "okay";
30888d537bcSChristian Hewitt};
30988d537bcSChristian Hewitt
31088d537bcSChristian Hewitt&gpio {
31188d537bcSChristian Hewitt	gpio-line-names =
31288d537bcSChristian Hewitt		/* GPIOZ */
31388d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
31488d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
31588d537bcSChristian Hewitt		/* GPIOH */
31688d537bcSChristian Hewitt		"", "", "", "", "",
31788d537bcSChristian Hewitt		"PIN_36", /* GPIOH_5 */
31888d537bcSChristian Hewitt		"PIN_26", /* GPIOH_6 */
31988d537bcSChristian Hewitt		"PIN_32", /* GPIOH_7 */
32088d537bcSChristian Hewitt		"",
32188d537bcSChristian Hewitt		/* BOOT */
32288d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
32388d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
32488d537bcSChristian Hewitt		/* GPIOC */
32588d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
32688d537bcSChristian Hewitt		/* GPIOA */
32788d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
32888d537bcSChristian Hewitt		"", "", "", "", "", "",
32988d537bcSChristian Hewitt		"PIN_27", /* GPIOA_14 */
33088d537bcSChristian Hewitt		"PIN_28", /* GPIOA_15 */
33188d537bcSChristian Hewitt		/* GPIOX */
33288d537bcSChristian Hewitt		"PIN_16", /* GPIOX_0 */
33388d537bcSChristian Hewitt		"PIN_18", /* GPIOX_1 */
33488d537bcSChristian Hewitt		"PIN_22", /* GPIOX_2 */
33588d537bcSChristian Hewitt		"PIN_11", /* GPIOX_3 */
33688d537bcSChristian Hewitt		"PIN_13", /* GPIOX_4 */
33788d537bcSChristian Hewitt		"PIN_7",  /* GPIOX_5 */
33888d537bcSChristian Hewitt		"PIN_33", /* GPIOX_6 */
33988d537bcSChristian Hewitt		"PIN_15", /* GPIOX_7 */
34088d537bcSChristian Hewitt		"PIN_19", /* GPIOX_8 */
34188d537bcSChristian Hewitt		"PIN_21", /* GPIOX_9 */
34288d537bcSChristian Hewitt		"PIN_24", /* GPIOX_10 */
34388d537bcSChristian Hewitt		"PIN_23", /* GPIOX_11 */
34488d537bcSChristian Hewitt		"PIN_8",  /* GPIOX_12 */
34588d537bcSChristian Hewitt		"PIN_10", /* GPIOX_13 */
34688d537bcSChristian Hewitt		"PIN_29", /* GPIOX_14 */
34788d537bcSChristian Hewitt		"PIN_31", /* GPIOX_15 */
34888d537bcSChristian Hewitt		"PIN_12", /* GPIOX_16 */
34988d537bcSChristian Hewitt		"PIN_3",  /* GPIOX_17 */
35088d537bcSChristian Hewitt		"PIN_5",  /* GPIOX_18 */
35188d537bcSChristian Hewitt		"PIN_35"; /* GPIOX_19 */
35288d537bcSChristian Hewitt};
35388d537bcSChristian Hewitt
35488d537bcSChristian Hewitt&gpio_ao {
35588d537bcSChristian Hewitt	gpio-line-names =
35688d537bcSChristian Hewitt		/* GPIOAO */
35788d537bcSChristian Hewitt		"", "", "", "",
35888d537bcSChristian Hewitt		"PIN_47", /* GPIOAO_4 */
35988d537bcSChristian Hewitt		"", "",
36088d537bcSChristian Hewitt		"PIN_45", /* GPIOAO_7 */
36188d537bcSChristian Hewitt		"PIN_46", /* GPIOAO_8 */
36288d537bcSChristian Hewitt		"PIN_44", /* GPIOAO_9 */
36388d537bcSChristian Hewitt		"PIN_42", /* GPIOAO_10 */
36488d537bcSChristian Hewitt		"",
36588d537bcSChristian Hewitt		/* GPIOE */
36688d537bcSChristian Hewitt		"", "", "";
36788d537bcSChristian Hewitt};
36888d537bcSChristian Hewitt
36988d537bcSChristian Hewitt&hdmi_tx {
37088d537bcSChristian Hewitt	status = "okay";
37188d537bcSChristian Hewitt	pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
37288d537bcSChristian Hewitt	pinctrl-names = "default";
37388d537bcSChristian Hewitt	hdmi-supply = <&vcc_5v>;
37488d537bcSChristian Hewitt};
37588d537bcSChristian Hewitt
37688d537bcSChristian Hewitt&hdmi_tx_tmds_port {
37788d537bcSChristian Hewitt	hdmi_tx_tmds_out: endpoint {
37888d537bcSChristian Hewitt		remote-endpoint = <&hdmi_connector_in>;
37988d537bcSChristian Hewitt	};
38088d537bcSChristian Hewitt};
38188d537bcSChristian Hewitt
38288d537bcSChristian Hewitt&ir {
38388d537bcSChristian Hewitt	status = "okay";
38488d537bcSChristian Hewitt	pinctrl-0 = <&remote_input_ao_pins>;
38588d537bcSChristian Hewitt	pinctrl-names = "default";
38688d537bcSChristian Hewitt};
38788d537bcSChristian Hewitt
38888d537bcSChristian Hewitt&pwm_AO_cd {
38988d537bcSChristian Hewitt	pinctrl-0 = <&pwm_ao_d_e_pins>;
39088d537bcSChristian Hewitt	pinctrl-names = "default";
39188d537bcSChristian Hewitt	clocks = <&xtal>;
39288d537bcSChristian Hewitt	clock-names = "clkin1";
39388d537bcSChristian Hewitt	status = "okay";
39488d537bcSChristian Hewitt};
39588d537bcSChristian Hewitt
39688d537bcSChristian Hewitt&saradc {
39788d537bcSChristian Hewitt	status = "okay";
39888d537bcSChristian Hewitt};
39988d537bcSChristian Hewitt
40088d537bcSChristian Hewitt/* SD card */
40188d537bcSChristian Hewitt&sd_emmc_b {
40288d537bcSChristian Hewitt	status = "okay";
40388d537bcSChristian Hewitt	pinctrl-0 = <&sdcard_c_pins>;
40488d537bcSChristian Hewitt	pinctrl-1 = <&sdcard_clk_gate_c_pins>;
40588d537bcSChristian Hewitt	pinctrl-names = "default", "clk-gate";
40688d537bcSChristian Hewitt
40788d537bcSChristian Hewitt	bus-width = <4>;
40888d537bcSChristian Hewitt	cap-sd-highspeed;
40988d537bcSChristian Hewitt	max-frequency = <200000000>;
41088d537bcSChristian Hewitt	sd-uhs-sdr12;
41188d537bcSChristian Hewitt	sd-uhs-sdr25;
41288d537bcSChristian Hewitt	sd-uhs-sdr50;
41388d537bcSChristian Hewitt	sd-uhs-sdr104;
41488d537bcSChristian Hewitt	disable-wp;
41588d537bcSChristian Hewitt
41688d537bcSChristian Hewitt	cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
41788d537bcSChristian Hewitt	vmmc-supply = <&tflash_vdd>;
41888d537bcSChristian Hewitt	vqmmc-supply = <&tf_io>;
41988d537bcSChristian Hewitt};
42088d537bcSChristian Hewitt
42188d537bcSChristian Hewitt/* eMMC */
42288d537bcSChristian Hewitt&sd_emmc_c {
42388d537bcSChristian Hewitt	status = "okay";
42488d537bcSChristian Hewitt	pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
42588d537bcSChristian Hewitt	pinctrl-1 = <&emmc_clk_gate_pins>;
42688d537bcSChristian Hewitt	pinctrl-names = "default", "clk-gate";
42788d537bcSChristian Hewitt
42888d537bcSChristian Hewitt	bus-width = <8>;
42988d537bcSChristian Hewitt	cap-mmc-highspeed;
43088d537bcSChristian Hewitt	mmc-ddr-1_8v;
43188d537bcSChristian Hewitt	mmc-hs200-1_8v;
43288d537bcSChristian Hewitt	max-frequency = <200000000>;
43388d537bcSChristian Hewitt	disable-wp;
43488d537bcSChristian Hewitt
43588d537bcSChristian Hewitt	mmc-pwrseq = <&emmc_pwrseq>;
43688d537bcSChristian Hewitt	vmmc-supply = <&vcc_3v3>;
43788d537bcSChristian Hewitt	vqmmc-supply = <&flash_1v8>;
43888d537bcSChristian Hewitt};
43988d537bcSChristian Hewitt
44088d537bcSChristian Hewitt&tdmif_b {
44188d537bcSChristian Hewitt	status = "okay";
44288d537bcSChristian Hewitt};
44388d537bcSChristian Hewitt
44488d537bcSChristian Hewitt&tdmout_b {
44588d537bcSChristian Hewitt	status = "okay";
44688d537bcSChristian Hewitt};
44788d537bcSChristian Hewitt
44888d537bcSChristian Hewitt&tohdmitx {
44988d537bcSChristian Hewitt	status = "okay";
45088d537bcSChristian Hewitt};
45188d537bcSChristian Hewitt
45288d537bcSChristian Hewitt&uart_AO {
45388d537bcSChristian Hewitt	status = "okay";
45488d537bcSChristian Hewitt	pinctrl-0 = <&uart_ao_a_pins>;
45588d537bcSChristian Hewitt	pinctrl-names = "default";
45688d537bcSChristian Hewitt};
45788d537bcSChristian Hewitt
45888d537bcSChristian Hewitt&usb {
45988d537bcSChristian Hewitt	status = "okay";
46088d537bcSChristian Hewitt	vbus-supply = <&usb_pwr_en>;
46188d537bcSChristian Hewitt};
46288d537bcSChristian Hewitt
46388d537bcSChristian Hewitt&usb2_phy0 {
46488d537bcSChristian Hewitt	phy-supply = <&vcc_5v>;
46588d537bcSChristian Hewitt};
46688d537bcSChristian Hewitt
46788d537bcSChristian Hewitt