13cb74db9SChristian Hewitt// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
23cb74db9SChristian Hewitt/*
33cb74db9SChristian Hewitt * Copyright (c) 2019 BayLibre, SAS
43cb74db9SChristian Hewitt * Author: Neil Armstrong <narmstrong@baylibre.com>
53cb74db9SChristian Hewitt * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
63cb74db9SChristian Hewitt */
73cb74db9SChristian Hewitt
83cb74db9SChristian Hewitt/dts-v1/;
93cb74db9SChristian Hewitt
103cb74db9SChristian Hewitt#include "meson-g12b.dtsi"
113cb74db9SChristian Hewitt#include "meson-g12b-s922x.dtsi"
123cb74db9SChristian Hewitt#include <dt-bindings/input/input.h>
133cb74db9SChristian Hewitt#include <dt-bindings/gpio/meson-g12a-gpio.h>
143cb74db9SChristian Hewitt
153cb74db9SChristian Hewitt/ {
163cb74db9SChristian Hewitt	aliases {
173cb74db9SChristian Hewitt		serial0 = &uart_AO;
183cb74db9SChristian Hewitt		ethernet0 = &ethmac;
193cb74db9SChristian Hewitt	};
203cb74db9SChristian Hewitt
213cb74db9SChristian Hewitt	chosen {
223cb74db9SChristian Hewitt		stdout-path = "serial0:115200n8";
233cb74db9SChristian Hewitt	};
243cb74db9SChristian Hewitt
253cb74db9SChristian Hewitt	memory@0 {
263cb74db9SChristian Hewitt		device_type = "memory";
273cb74db9SChristian Hewitt		reg = <0x0 0x0 0x0 0x40000000>;
283cb74db9SChristian Hewitt	};
293cb74db9SChristian Hewitt
303cb74db9SChristian Hewitt	emmc_pwrseq: emmc-pwrseq {
313cb74db9SChristian Hewitt		compatible = "mmc-pwrseq-emmc";
323cb74db9SChristian Hewitt		reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
333cb74db9SChristian Hewitt	};
343cb74db9SChristian Hewitt
353cb74db9SChristian Hewitt	sdio_pwrseq: sdio-pwrseq {
363cb74db9SChristian Hewitt		compatible = "mmc-pwrseq-simple";
373cb74db9SChristian Hewitt		reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
383cb74db9SChristian Hewitt		clocks = <&wifi32k>;
393cb74db9SChristian Hewitt		clock-names = "ext_clock";
403cb74db9SChristian Hewitt	};
413cb74db9SChristian Hewitt
423cb74db9SChristian Hewitt	flash_1v8: regulator-flash_1v8 {
433cb74db9SChristian Hewitt		compatible = "regulator-fixed";
443cb74db9SChristian Hewitt		regulator-name = "FLASH_1V8";
453cb74db9SChristian Hewitt		regulator-min-microvolt = <1800000>;
463cb74db9SChristian Hewitt		regulator-max-microvolt = <1800000>;
473cb74db9SChristian Hewitt		vin-supply = <&vcc_3v3>;
483cb74db9SChristian Hewitt		regulator-always-on;
493cb74db9SChristian Hewitt	};
503cb74db9SChristian Hewitt
513cb74db9SChristian Hewitt	main_12v: regulator-main_12v {
523cb74db9SChristian Hewitt		compatible = "regulator-fixed";
533cb74db9SChristian Hewitt		regulator-name = "12V";
543cb74db9SChristian Hewitt		regulator-min-microvolt = <12000000>;
553cb74db9SChristian Hewitt		regulator-max-microvolt = <12000000>;
563cb74db9SChristian Hewitt		regulator-always-on;
573cb74db9SChristian Hewitt	};
583cb74db9SChristian Hewitt
593cb74db9SChristian Hewitt	vcc_5v: regulator-vcc_5v {
603cb74db9SChristian Hewitt		compatible = "regulator-fixed";
613cb74db9SChristian Hewitt		regulator-name = "VCC_5V";
623cb74db9SChristian Hewitt		regulator-min-microvolt = <5000000>;
633cb74db9SChristian Hewitt		regulator-max-microvolt = <5000000>;
643cb74db9SChristian Hewitt		vin-supply = <&main_12v>;
653cb74db9SChristian Hewitt
663cb74db9SChristian Hewitt		gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
673cb74db9SChristian Hewitt		enable-active-high;
683cb74db9SChristian Hewitt	};
693cb74db9SChristian Hewitt
703cb74db9SChristian Hewitt	vcc_1v8: regulator-vcc_1v8 {
713cb74db9SChristian Hewitt		compatible = "regulator-fixed";
723cb74db9SChristian Hewitt		regulator-name = "VCC_1V8";
733cb74db9SChristian Hewitt		regulator-min-microvolt = <1800000>;
743cb74db9SChristian Hewitt		regulator-max-microvolt = <1800000>;
753cb74db9SChristian Hewitt		vin-supply = <&vcc_3v3>;
763cb74db9SChristian Hewitt		regulator-always-on;
773cb74db9SChristian Hewitt	};
783cb74db9SChristian Hewitt
793cb74db9SChristian Hewitt	vcc_3v3: regulator-vcc_3v3 {
803cb74db9SChristian Hewitt		compatible = "regulator-fixed";
813cb74db9SChristian Hewitt		regulator-name = "VCC_3V3";
823cb74db9SChristian Hewitt		regulator-min-microvolt = <3300000>;
833cb74db9SChristian Hewitt		regulator-max-microvolt = <3300000>;
843cb74db9SChristian Hewitt		vin-supply = <&vddao_3v3>;
853cb74db9SChristian Hewitt		regulator-always-on;
863cb74db9SChristian Hewitt		/* FIXME: actually controlled by VDDCPU_B_EN */
873cb74db9SChristian Hewitt	};
883cb74db9SChristian Hewitt
893cb74db9SChristian Hewitt	vddcpu_a: regulator-vddcpu-a {
903cb74db9SChristian Hewitt		/*
913cb74db9SChristian Hewitt		 * MP1653 Regulator.
923cb74db9SChristian Hewitt		 */
933cb74db9SChristian Hewitt		compatible = "pwm-regulator";
943cb74db9SChristian Hewitt
953cb74db9SChristian Hewitt		regulator-name = "VDDCPU_A";
963cb74db9SChristian Hewitt		regulator-min-microvolt = <721000>;
973cb74db9SChristian Hewitt		regulator-max-microvolt = <1022000>;
983cb74db9SChristian Hewitt
9962183863SAnand Moon		pwm-supply = <&main_12v>;
1003cb74db9SChristian Hewitt
1013cb74db9SChristian Hewitt		pwms = <&pwm_ab 0 1250 0>;
1023cb74db9SChristian Hewitt		pwm-dutycycle-range = <100 0>;
1033cb74db9SChristian Hewitt
1043cb74db9SChristian Hewitt		regulator-boot-on;
1053cb74db9SChristian Hewitt		regulator-always-on;
1063cb74db9SChristian Hewitt	};
1073cb74db9SChristian Hewitt
1083cb74db9SChristian Hewitt	vddcpu_b: regulator-vddcpu-b {
1093cb74db9SChristian Hewitt		/*
1103cb74db9SChristian Hewitt		 * MP1652 Regulator.
1113cb74db9SChristian Hewitt		 */
1123cb74db9SChristian Hewitt		compatible = "pwm-regulator";
1133cb74db9SChristian Hewitt
1143cb74db9SChristian Hewitt		regulator-name = "VDDCPU_B";
1153cb74db9SChristian Hewitt		regulator-min-microvolt = <721000>;
1163cb74db9SChristian Hewitt		regulator-max-microvolt = <1022000>;
1173cb74db9SChristian Hewitt
11862183863SAnand Moon		pwm-supply = <&main_12v>;
1193cb74db9SChristian Hewitt
1203cb74db9SChristian Hewitt		pwms = <&pwm_AO_cd 1 1250 0>;
1213cb74db9SChristian Hewitt		pwm-dutycycle-range = <100 0>;
1223cb74db9SChristian Hewitt
1233cb74db9SChristian Hewitt		regulator-boot-on;
1243cb74db9SChristian Hewitt		regulator-always-on;
1253cb74db9SChristian Hewitt	};
1263cb74db9SChristian Hewitt
1273cb74db9SChristian Hewitt	usb1_pow: regulator-usb1-pow {
1283cb74db9SChristian Hewitt		compatible = "regulator-fixed";
1293cb74db9SChristian Hewitt		regulator-name = "USB1_POW";
1303cb74db9SChristian Hewitt		regulator-min-microvolt = <5000000>;
1313cb74db9SChristian Hewitt		regulator-max-microvolt = <5000000>;
1323cb74db9SChristian Hewitt		vin-supply = <&vcc_5v>;
1333cb74db9SChristian Hewitt
1343cb74db9SChristian Hewitt		/* connected to SY6280A Power Switch */
1353cb74db9SChristian Hewitt		gpio = <&gpio GPIOA_8 GPIO_ACTIVE_HIGH>;
1363cb74db9SChristian Hewitt		enable-active-high;
1373cb74db9SChristian Hewitt	};
1383cb74db9SChristian Hewitt
1393cb74db9SChristian Hewitt	usb_pwr_en: regulator-usb-pwr-en {
1403cb74db9SChristian Hewitt		compatible = "regulator-fixed";
1413cb74db9SChristian Hewitt		regulator-name = "USB_PWR_EN";
1423cb74db9SChristian Hewitt		regulator-min-microvolt = <5000000>;
1433cb74db9SChristian Hewitt		regulator-max-microvolt = <5000000>;
1443cb74db9SChristian Hewitt		vin-supply = <&vcc_5v>;
1453cb74db9SChristian Hewitt
1463cb74db9SChristian Hewitt		/* Connected to USB3 Type-A Port power enable */
1473cb74db9SChristian Hewitt		gpio = <&gpio GPIOAO_7 GPIO_ACTIVE_HIGH>;
1483cb74db9SChristian Hewitt		enable-active-high;
1493cb74db9SChristian Hewitt	};
1503cb74db9SChristian Hewitt
1513cb74db9SChristian Hewitt	vddao_1v8: regulator-vddao-1v8 {
1523cb74db9SChristian Hewitt		compatible = "regulator-fixed";
1533cb74db9SChristian Hewitt		regulator-name = "VDDAO_1V8";
1543cb74db9SChristian Hewitt		regulator-min-microvolt = <1800000>;
1553cb74db9SChristian Hewitt		regulator-max-microvolt = <1800000>;
1563cb74db9SChristian Hewitt		vin-supply = <&vddao_3v3>;
1573cb74db9SChristian Hewitt		regulator-always-on;
1583cb74db9SChristian Hewitt	};
1593cb74db9SChristian Hewitt
1603cb74db9SChristian Hewitt	vddao_3v3: regulator-vddao-3v3 {
1613cb74db9SChristian Hewitt		compatible = "regulator-fixed";
1623cb74db9SChristian Hewitt		regulator-name = "VDDAO_3V3";
1633cb74db9SChristian Hewitt		regulator-min-microvolt = <3300000>;
1643cb74db9SChristian Hewitt		regulator-max-microvolt = <3300000>;
1653cb74db9SChristian Hewitt		vin-supply = <&main_12v>;
1663cb74db9SChristian Hewitt		regulator-always-on;
1673cb74db9SChristian Hewitt	};
1683cb74db9SChristian Hewitt
1693cb74db9SChristian Hewitt	cvbs-connector {
1703cb74db9SChristian Hewitt		compatible = "composite-video-connector";
1713cb74db9SChristian Hewitt
1723cb74db9SChristian Hewitt		port {
1733cb74db9SChristian Hewitt			cvbs_connector_in: endpoint {
1743cb74db9SChristian Hewitt				remote-endpoint = <&cvbs_vdac_out>;
1753cb74db9SChristian Hewitt			};
1763cb74db9SChristian Hewitt		};
1773cb74db9SChristian Hewitt	};
1783cb74db9SChristian Hewitt
1793cb74db9SChristian Hewitt	hdmi-connector {
1803cb74db9SChristian Hewitt		compatible = "hdmi-connector";
1813cb74db9SChristian Hewitt		type = "a";
1823cb74db9SChristian Hewitt
1833cb74db9SChristian Hewitt		port {
1843cb74db9SChristian Hewitt			hdmi_connector_in: endpoint {
1853cb74db9SChristian Hewitt				remote-endpoint = <&hdmi_tx_tmds_out>;
1863cb74db9SChristian Hewitt			};
1873cb74db9SChristian Hewitt		};
1883cb74db9SChristian Hewitt	};
1893cb74db9SChristian Hewitt
1903cb74db9SChristian Hewitt	wifi32k: wifi32k {
1913cb74db9SChristian Hewitt		compatible = "pwm-clock";
1923cb74db9SChristian Hewitt		#clock-cells = <0>;
1933cb74db9SChristian Hewitt		clock-frequency = <32768>;
1943cb74db9SChristian Hewitt		pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
1953cb74db9SChristian Hewitt	};
1963cb74db9SChristian Hewitt};
1973cb74db9SChristian Hewitt
1983cb74db9SChristian Hewitt&cec_AO {
1993cb74db9SChristian Hewitt	pinctrl-0 = <&cec_ao_a_h_pins>;
2003cb74db9SChristian Hewitt	pinctrl-names = "default";
2013cb74db9SChristian Hewitt	status = "disabled";
2023cb74db9SChristian Hewitt	hdmi-phandle = <&hdmi_tx>;
2033cb74db9SChristian Hewitt};
2043cb74db9SChristian Hewitt
2053cb74db9SChristian Hewitt&cecb_AO {
2063cb74db9SChristian Hewitt	pinctrl-0 = <&cec_ao_b_h_pins>;
2073cb74db9SChristian Hewitt	pinctrl-names = "default";
2083cb74db9SChristian Hewitt	status = "okay";
2093cb74db9SChristian Hewitt	hdmi-phandle = <&hdmi_tx>;
2103cb74db9SChristian Hewitt};
2113cb74db9SChristian Hewitt
2123cb74db9SChristian Hewitt&cpu0 {
2133cb74db9SChristian Hewitt	cpu-supply = <&vddcpu_b>;
2143cb74db9SChristian Hewitt	operating-points-v2 = <&cpu_opp_table_0>;
2153cb74db9SChristian Hewitt	clocks = <&clkc CLKID_CPU_CLK>;
2163cb74db9SChristian Hewitt	clock-latency = <50000>;
2173cb74db9SChristian Hewitt};
2183cb74db9SChristian Hewitt
2193cb74db9SChristian Hewitt&cpu1 {
2203cb74db9SChristian Hewitt	cpu-supply = <&vddcpu_b>;
2213cb74db9SChristian Hewitt	operating-points-v2 = <&cpu_opp_table_0>;
2223cb74db9SChristian Hewitt	clocks = <&clkc CLKID_CPU_CLK>;
2233cb74db9SChristian Hewitt	clock-latency = <50000>;
2243cb74db9SChristian Hewitt};
2253cb74db9SChristian Hewitt
2263cb74db9SChristian Hewitt&cpu100 {
2273cb74db9SChristian Hewitt	cpu-supply = <&vddcpu_a>;
2283cb74db9SChristian Hewitt	operating-points-v2 = <&cpub_opp_table_1>;
2293cb74db9SChristian Hewitt	clocks = <&clkc CLKID_CPUB_CLK>;
2303cb74db9SChristian Hewitt	clock-latency = <50000>;
2313cb74db9SChristian Hewitt};
2323cb74db9SChristian Hewitt
2333cb74db9SChristian Hewitt&cpu101 {
2343cb74db9SChristian Hewitt	cpu-supply = <&vddcpu_a>;
2353cb74db9SChristian Hewitt	operating-points-v2 = <&cpub_opp_table_1>;
2363cb74db9SChristian Hewitt	clocks = <&clkc CLKID_CPUB_CLK>;
2373cb74db9SChristian Hewitt	clock-latency = <50000>;
2383cb74db9SChristian Hewitt};
2393cb74db9SChristian Hewitt
2403cb74db9SChristian Hewitt&cpu102 {
2413cb74db9SChristian Hewitt	cpu-supply = <&vddcpu_a>;
2423cb74db9SChristian Hewitt	operating-points-v2 = <&cpub_opp_table_1>;
2433cb74db9SChristian Hewitt	clocks = <&clkc CLKID_CPUB_CLK>;
2443cb74db9SChristian Hewitt	clock-latency = <50000>;
2453cb74db9SChristian Hewitt};
2463cb74db9SChristian Hewitt
2473cb74db9SChristian Hewitt&cpu103 {
2483cb74db9SChristian Hewitt	cpu-supply = <&vddcpu_a>;
2493cb74db9SChristian Hewitt	operating-points-v2 = <&cpub_opp_table_1>;
2503cb74db9SChristian Hewitt	clocks = <&clkc CLKID_CPUB_CLK>;
2513cb74db9SChristian Hewitt	clock-latency = <50000>;
2523cb74db9SChristian Hewitt};
2533cb74db9SChristian Hewitt
2543cb74db9SChristian Hewitt&cvbs_vdac_port {
2553cb74db9SChristian Hewitt	cvbs_vdac_out: endpoint {
2563cb74db9SChristian Hewitt		remote-endpoint = <&cvbs_connector_in>;
2573cb74db9SChristian Hewitt	};
2583cb74db9SChristian Hewitt};
2593cb74db9SChristian Hewitt
2603cb74db9SChristian Hewitt&ext_mdio {
2613cb74db9SChristian Hewitt	external_phy: ethernet-phy@0 {
2623cb74db9SChristian Hewitt		/* Realtek RTL8211F (0x001cc916) */
2633cb74db9SChristian Hewitt		reg = <0>;
2643cb74db9SChristian Hewitt		max-speed = <1000>;
2653cb74db9SChristian Hewitt
2663cb74db9SChristian Hewitt		reset-assert-us = <10000>;
2679e454e37SStefan Agner		reset-deassert-us = <80000>;
2683cb74db9SChristian Hewitt		reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
2693cb74db9SChristian Hewitt
2703cb74db9SChristian Hewitt		interrupt-parent = <&gpio_intc>;
2713cb74db9SChristian Hewitt		/* MAC_INTR on GPIOZ_14 */
272*6387e0aaSHuqiang Qin		interrupts = <IRQID_GPIOZ_14 IRQ_TYPE_LEVEL_LOW>;
2733cb74db9SChristian Hewitt	};
2743cb74db9SChristian Hewitt};
2753cb74db9SChristian Hewitt
2763cb74db9SChristian Hewitt&ethmac {
2773cb74db9SChristian Hewitt	pinctrl-0 = <&eth_pins>, <&eth_rgmii_pins>;
2783cb74db9SChristian Hewitt	pinctrl-names = "default";
2793cb74db9SChristian Hewitt	status = "okay";
2803cb74db9SChristian Hewitt	phy-mode = "rgmii";
2813cb74db9SChristian Hewitt	phy-handle = <&external_phy>;
2823cb74db9SChristian Hewitt	amlogic,tx-delay-ns = <2>;
2833cb74db9SChristian Hewitt};
2843cb74db9SChristian Hewitt
2853cb74db9SChristian Hewitt&hdmi_tx {
2863cb74db9SChristian Hewitt	status = "okay";
2873cb74db9SChristian Hewitt	pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
2883cb74db9SChristian Hewitt	pinctrl-names = "default";
2893cb74db9SChristian Hewitt	hdmi-supply = <&vcc_5v>;
2903cb74db9SChristian Hewitt};
2913cb74db9SChristian Hewitt
2923cb74db9SChristian Hewitt&hdmi_tx_tmds_port {
2933cb74db9SChristian Hewitt	hdmi_tx_tmds_out: endpoint {
2943cb74db9SChristian Hewitt		remote-endpoint = <&hdmi_connector_in>;
2953cb74db9SChristian Hewitt	};
2963cb74db9SChristian Hewitt};
2973cb74db9SChristian Hewitt
2983cb74db9SChristian Hewitt&ir {
2993cb74db9SChristian Hewitt	status = "okay";
3003cb74db9SChristian Hewitt	pinctrl-0 = <&remote_input_ao_pins>;
3013cb74db9SChristian Hewitt	pinctrl-names = "default";
3023cb74db9SChristian Hewitt};
3033cb74db9SChristian Hewitt
3043cb74db9SChristian Hewitt&pwm_ab {
3053cb74db9SChristian Hewitt	pinctrl-0 = <&pwm_a_e_pins>;
3063cb74db9SChristian Hewitt	pinctrl-names = "default";
3073cb74db9SChristian Hewitt	clocks = <&xtal>;
3083cb74db9SChristian Hewitt	clock-names = "clkin0";
3093cb74db9SChristian Hewitt	status = "okay";
3103cb74db9SChristian Hewitt};
3113cb74db9SChristian Hewitt
3123cb74db9SChristian Hewitt&pwm_AO_cd {
3133cb74db9SChristian Hewitt	pinctrl-0 = <&pwm_ao_d_e_pins>;
3143cb74db9SChristian Hewitt	pinctrl-names = "default";
3153cb74db9SChristian Hewitt	clocks = <&xtal>;
3163cb74db9SChristian Hewitt	clock-names = "clkin1";
3173cb74db9SChristian Hewitt	status = "okay";
3183cb74db9SChristian Hewitt};
3193cb74db9SChristian Hewitt
3203cb74db9SChristian Hewitt&pwm_ef {
3213cb74db9SChristian Hewitt	pinctrl-0 = <&pwm_e_pins>;
3223cb74db9SChristian Hewitt	pinctrl-names = "default";
3233cb74db9SChristian Hewitt	clocks = <&xtal>;
3243cb74db9SChristian Hewitt	clock-names = "clkin0";
3253cb74db9SChristian Hewitt	status = "okay";
3263cb74db9SChristian Hewitt};
3273cb74db9SChristian Hewitt
3283cb74db9SChristian Hewitt/* SDIO */
3293cb74db9SChristian Hewitt&sd_emmc_a {
3303cb74db9SChristian Hewitt	status = "okay";
3313cb74db9SChristian Hewitt	pinctrl-0 = <&sdio_pins>;
3323cb74db9SChristian Hewitt	pinctrl-1 = <&sdio_clk_gate_pins>;
3333cb74db9SChristian Hewitt	pinctrl-names = "default", "clk-gate";
3343cb74db9SChristian Hewitt	#address-cells = <1>;
3353cb74db9SChristian Hewitt	#size-cells = <0>;
3363cb74db9SChristian Hewitt
3373cb74db9SChristian Hewitt	bus-width = <4>;
3383cb74db9SChristian Hewitt	cap-sd-highspeed;
3393cb74db9SChristian Hewitt	max-frequency = <100000000>;
3403cb74db9SChristian Hewitt
3412fa17dd0SChristian Hewitt	/* WiFi firmware requires power to be kept while in suspend */
3422fa17dd0SChristian Hewitt	keep-power-in-suspend;
3432fa17dd0SChristian Hewitt
3443cb74db9SChristian Hewitt	non-removable;
3453cb74db9SChristian Hewitt	disable-wp;
3463cb74db9SChristian Hewitt
3473cb74db9SChristian Hewitt	mmc-pwrseq = <&sdio_pwrseq>;
3483cb74db9SChristian Hewitt
3493cb74db9SChristian Hewitt	vmmc-supply = <&vddao_3v3>;
3503cb74db9SChristian Hewitt	vqmmc-supply = <&vddao_1v8>;
3513cb74db9SChristian Hewitt
3523cb74db9SChristian Hewitt	brcmf: wifi@1 {
3533cb74db9SChristian Hewitt		reg = <1>;
3543cb74db9SChristian Hewitt		compatible = "brcm,bcm4329-fmac";
3553cb74db9SChristian Hewitt	};
3563cb74db9SChristian Hewitt};
3573cb74db9SChristian Hewitt
3583cb74db9SChristian Hewitt/* SD card */
3593cb74db9SChristian Hewitt&sd_emmc_b {
3603cb74db9SChristian Hewitt	status = "okay";
3613cb74db9SChristian Hewitt	pinctrl-0 = <&sdcard_c_pins>;
3623cb74db9SChristian Hewitt	pinctrl-1 = <&sdcard_clk_gate_c_pins>;
3633cb74db9SChristian Hewitt	pinctrl-names = "default", "clk-gate";
3643cb74db9SChristian Hewitt
3653cb74db9SChristian Hewitt	bus-width = <4>;
3663cb74db9SChristian Hewitt	cap-sd-highspeed;
3673cb74db9SChristian Hewitt	max-frequency = <50000000>;
3683cb74db9SChristian Hewitt	disable-wp;
3693cb74db9SChristian Hewitt
3703cb74db9SChristian Hewitt	cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
3713cb74db9SChristian Hewitt	vmmc-supply = <&vddao_3v3>;
3723cb74db9SChristian Hewitt	vqmmc-supply = <&vddao_3v3>;
3733cb74db9SChristian Hewitt};
3743cb74db9SChristian Hewitt
3753cb74db9SChristian Hewitt/* eMMC */
3763cb74db9SChristian Hewitt&sd_emmc_c {
3773cb74db9SChristian Hewitt	status = "okay";
3783cb74db9SChristian Hewitt	pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
3793cb74db9SChristian Hewitt	pinctrl-1 = <&emmc_clk_gate_pins>;
3803cb74db9SChristian Hewitt	pinctrl-names = "default", "clk-gate";
3813cb74db9SChristian Hewitt
3823cb74db9SChristian Hewitt	bus-width = <8>;
3833cb74db9SChristian Hewitt	cap-mmc-highspeed;
3843cb74db9SChristian Hewitt	max-frequency = <100000000>;
3853cb74db9SChristian Hewitt	disable-wp;
3863cb74db9SChristian Hewitt
3873cb74db9SChristian Hewitt	mmc-pwrseq = <&emmc_pwrseq>;
3883cb74db9SChristian Hewitt	vmmc-supply = <&vcc_3v3>;
3893cb74db9SChristian Hewitt	vqmmc-supply = <&flash_1v8>;
3903cb74db9SChristian Hewitt};
3913cb74db9SChristian Hewitt
3923cb74db9SChristian Hewitt&uart_A {
3933cb74db9SChristian Hewitt	status = "okay";
3943cb74db9SChristian Hewitt	pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
3953cb74db9SChristian Hewitt	pinctrl-names = "default";
3963cb74db9SChristian Hewitt	uart-has-rtscts;
3973cb74db9SChristian Hewitt
3983cb74db9SChristian Hewitt	bluetooth {
3993cb74db9SChristian Hewitt		compatible = "brcm,bcm43438-bt";
4003cb74db9SChristian Hewitt		shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
4013cb74db9SChristian Hewitt		max-speed = <2000000>;
4023cb74db9SChristian Hewitt		clocks = <&wifi32k>;
4033cb74db9SChristian Hewitt		clock-names = "lpo";
4043cb74db9SChristian Hewitt	};
4053cb74db9SChristian Hewitt};
4063cb74db9SChristian Hewitt
4073cb74db9SChristian Hewitt&uart_AO {
4083cb74db9SChristian Hewitt	status = "okay";
4093cb74db9SChristian Hewitt	pinctrl-0 = <&uart_ao_a_pins>;
4103cb74db9SChristian Hewitt	pinctrl-names = "default";
4113cb74db9SChristian Hewitt};
4123cb74db9SChristian Hewitt
4133cb74db9SChristian Hewitt&usb {
4143cb74db9SChristian Hewitt	status = "okay";
4153cb74db9SChristian Hewitt	dr_mode = "host";
4163cb74db9SChristian Hewitt	vbus-supply = <&usb_pwr_en>;
4173cb74db9SChristian Hewitt};
4183cb74db9SChristian Hewitt
4193cb74db9SChristian Hewitt&usb2_phy0 {
4203cb74db9SChristian Hewitt	phy-supply = <&usb1_pow>;
4213cb74db9SChristian Hewitt};
4223cb74db9SChristian Hewitt
4233cb74db9SChristian Hewitt&usb2_phy1 {
4243cb74db9SChristian Hewitt	phy-supply = <&usb1_pow>;
4253cb74db9SChristian Hewitt};
426