xref: /linux/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxbb-nanopi-k2.dts (revision 2f24482304ebd32c5aa374f31465b9941a860b92)
1114abfe1SNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
29bc7ffb0SAndreas Färber/*
39bc7ffb0SAndreas Färber * Copyright (c) 2017 Andreas Färber
49bc7ffb0SAndreas Färber */
59bc7ffb0SAndreas Färber
69bc7ffb0SAndreas Färber/dts-v1/;
79bc7ffb0SAndreas Färber
89bc7ffb0SAndreas Färber#include "meson-gxbb.dtsi"
99bc7ffb0SAndreas Färber#include <dt-bindings/gpio/gpio.h>
106a74f78cSChristian Hewitt#include <dt-bindings/sound/meson-aiu.h>
119bc7ffb0SAndreas Färber
129bc7ffb0SAndreas Färber/ {
139bc7ffb0SAndreas Färber	compatible = "friendlyarm,nanopi-k2", "amlogic,meson-gxbb";
14591185c1SNeil Armstrong	model = "FriendlyARM NanoPi K2";
159bc7ffb0SAndreas Färber
169bc7ffb0SAndreas Färber	aliases {
179bc7ffb0SAndreas Färber		serial0 = &uart_AO;
18059a58fcSJorge Ramirez-Ortiz		ethernet0 = &ethmac;
199bc7ffb0SAndreas Färber	};
209bc7ffb0SAndreas Färber
219bc7ffb0SAndreas Färber	chosen {
229bc7ffb0SAndreas Färber		stdout-path = "serial0:115200n8";
239bc7ffb0SAndreas Färber	};
249bc7ffb0SAndreas Färber
259bc7ffb0SAndreas Färber	memory@0 {
269bc7ffb0SAndreas Färber		device_type = "memory";
279bc7ffb0SAndreas Färber		reg = <0x0 0x0 0x0 0x80000000>;
289bc7ffb0SAndreas Färber	};
299bc7ffb0SAndreas Färber
309bc7ffb0SAndreas Färber	leds {
319bc7ffb0SAndreas Färber		compatible = "gpio-leds";
329bc7ffb0SAndreas Färber
3308dc0e5dSNeil Armstrong		led-stat {
349bc7ffb0SAndreas Färber			label = "nanopi-k2:blue:stat";
359bc7ffb0SAndreas Färber			gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>;
369bc7ffb0SAndreas Färber			default-state = "on";
379bc7ffb0SAndreas Färber			panic-indicator;
389bc7ffb0SAndreas Färber		};
399bc7ffb0SAndreas Färber	};
409bc7ffb0SAndreas Färber
419bc7ffb0SAndreas Färber	vdd_5v: regulator-vdd-5v {
429bc7ffb0SAndreas Färber		compatible = "regulator-fixed";
439bc7ffb0SAndreas Färber		regulator-name = "VDD_5V";
449bc7ffb0SAndreas Färber		regulator-min-microvolt = <5000000>;
459bc7ffb0SAndreas Färber		regulator-max-microvolt = <5000000>;
469bc7ffb0SAndreas Färber	};
479bc7ffb0SAndreas Färber
489bc7ffb0SAndreas Färber	vddio_ao18: regulator-vddio-ao18 {
499bc7ffb0SAndreas Färber		compatible = "regulator-fixed";
509bc7ffb0SAndreas Färber		regulator-name = "VDDIO_AO18";
519bc7ffb0SAndreas Färber		regulator-min-microvolt = <1800000>;
529bc7ffb0SAndreas Färber		regulator-max-microvolt = <1800000>;
539bc7ffb0SAndreas Färber	};
549bc7ffb0SAndreas Färber
559bc7ffb0SAndreas Färber	vddio_ao3v3: regulator-vddio-ao3v3 {
569bc7ffb0SAndreas Färber		compatible = "regulator-fixed";
579bc7ffb0SAndreas Färber		regulator-name = "VDDIO_AO3.3V";
589bc7ffb0SAndreas Färber		regulator-min-microvolt = <3300000>;
599bc7ffb0SAndreas Färber		regulator-max-microvolt = <3300000>;
609bc7ffb0SAndreas Färber	};
619bc7ffb0SAndreas Färber
629bc7ffb0SAndreas Färber	vddio_tf: regulator-vddio-tf {
639bc7ffb0SAndreas Färber		compatible = "regulator-gpio";
649bc7ffb0SAndreas Färber
659bc7ffb0SAndreas Färber		regulator-name = "VDDIO_TF";
669bc7ffb0SAndreas Färber		regulator-min-microvolt = <1800000>;
679bc7ffb0SAndreas Färber		regulator-max-microvolt = <3300000>;
689bc7ffb0SAndreas Färber
699bc7ffb0SAndreas Färber		gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
709bc7ffb0SAndreas Färber		gpios-states = <0>;
719bc7ffb0SAndreas Färber
729bc7ffb0SAndreas Färber		states = <3300000 0>,
739bc7ffb0SAndreas Färber		         <1800000 1>;
7442776561SJerome Brunet
7542776561SJerome Brunet		regulator-settling-time-up-us = <100>;
7642776561SJerome Brunet		regulator-settling-time-down-us = <5000>;
779bc7ffb0SAndreas Färber	};
789bc7ffb0SAndreas Färber
799bc7ffb0SAndreas Färber	wifi_32k: wifi-32k {
809bc7ffb0SAndreas Färber		compatible = "pwm-clock";
819bc7ffb0SAndreas Färber		#clock-cells = <0>;
829bc7ffb0SAndreas Färber		clock-frequency = <32768>;
839bc7ffb0SAndreas Färber		pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
849bc7ffb0SAndreas Färber	};
859bc7ffb0SAndreas Färber
869bc7ffb0SAndreas Färber	sdio_pwrseq: sdio-pwrseq {
879bc7ffb0SAndreas Färber		compatible = "mmc-pwrseq-simple";
889bc7ffb0SAndreas Färber		reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
899bc7ffb0SAndreas Färber		clocks = <&wifi_32k>;
909bc7ffb0SAndreas Färber		clock-names = "ext_clock";
919bc7ffb0SAndreas Färber	};
929bc7ffb0SAndreas Färber
939bc7ffb0SAndreas Färber	vcc1v8: regulator-vcc1v8 {
949bc7ffb0SAndreas Färber		compatible = "regulator-fixed";
959bc7ffb0SAndreas Färber		regulator-name = "VCC1.8V";
969bc7ffb0SAndreas Färber		regulator-min-microvolt = <1800000>;
979bc7ffb0SAndreas Färber		regulator-max-microvolt = <1800000>;
989bc7ffb0SAndreas Färber	};
999bc7ffb0SAndreas Färber
1009bc7ffb0SAndreas Färber	vcc3v3: regulator-vcc3v3 {
1019bc7ffb0SAndreas Färber		compatible = "regulator-fixed";
1029bc7ffb0SAndreas Färber		regulator-name = "VCC3.3V";
1039bc7ffb0SAndreas Färber		regulator-min-microvolt = <3300000>;
1049bc7ffb0SAndreas Färber		regulator-max-microvolt = <3300000>;
1059bc7ffb0SAndreas Färber	};
1069bc7ffb0SAndreas Färber
1079bc7ffb0SAndreas Färber	emmc_pwrseq: emmc-pwrseq {
1089bc7ffb0SAndreas Färber		compatible = "mmc-pwrseq-emmc";
1099bc7ffb0SAndreas Färber		reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
1109bc7ffb0SAndreas Färber	};
111d1b5a0a8SNeil Armstrong
112d1b5a0a8SNeil Armstrong	/* CVBS is available on CON1 pin 36, disabled by default */
113d1b5a0a8SNeil Armstrong	cvbs-connector {
114d1b5a0a8SNeil Armstrong		compatible = "composite-video-connector";
115d1b5a0a8SNeil Armstrong		status = "disabled";
116d1b5a0a8SNeil Armstrong
117d1b5a0a8SNeil Armstrong		port {
118d1b5a0a8SNeil Armstrong			cvbs_connector_in: endpoint {
119d1b5a0a8SNeil Armstrong				remote-endpoint = <&cvbs_vdac_out>;
120d1b5a0a8SNeil Armstrong			};
121d1b5a0a8SNeil Armstrong		};
122d1b5a0a8SNeil Armstrong	};
123d1b5a0a8SNeil Armstrong
124d1b5a0a8SNeil Armstrong	hdmi-connector {
125d1b5a0a8SNeil Armstrong		compatible = "hdmi-connector";
126d1b5a0a8SNeil Armstrong		type = "a";
127d1b5a0a8SNeil Armstrong
128d1b5a0a8SNeil Armstrong		port {
129d1b5a0a8SNeil Armstrong			hdmi_connector_in: endpoint {
130d1b5a0a8SNeil Armstrong				remote-endpoint = <&hdmi_tx_tmds_out>;
131d1b5a0a8SNeil Armstrong			};
132d1b5a0a8SNeil Armstrong		};
133d1b5a0a8SNeil Armstrong	};
1346a74f78cSChristian Hewitt
1356a74f78cSChristian Hewitt	sound {
1366a74f78cSChristian Hewitt		compatible = "amlogic,gx-sound-card";
137933b80edSChristian Hewitt		model = "NANOPI-K2";
138*9b5d2511SNeil Armstrong		clocks = <&clkc CLKID_MPLL0>,
139*9b5d2511SNeil Armstrong			 <&clkc CLKID_MPLL1>,
140*9b5d2511SNeil Armstrong			 <&clkc CLKID_MPLL2>;
141*9b5d2511SNeil Armstrong
1426a74f78cSChristian Hewitt		assigned-clocks = <&clkc CLKID_MPLL0>,
1436a74f78cSChristian Hewitt				  <&clkc CLKID_MPLL1>,
1446a74f78cSChristian Hewitt				  <&clkc CLKID_MPLL2>;
1456a74f78cSChristian Hewitt		assigned-clock-parents = <0>, <0>, <0>;
1466a74f78cSChristian Hewitt		assigned-clock-rates = <294912000>,
1476a74f78cSChristian Hewitt				       <270950400>,
1486a74f78cSChristian Hewitt				       <393216000>;
1496a74f78cSChristian Hewitt
1506a74f78cSChristian Hewitt		dai-link-0 {
1516a74f78cSChristian Hewitt			sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
1526a74f78cSChristian Hewitt		};
1536a74f78cSChristian Hewitt
1546a74f78cSChristian Hewitt		dai-link-1 {
1556a74f78cSChristian Hewitt			sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
1566a74f78cSChristian Hewitt			dai-format = "i2s";
1576a74f78cSChristian Hewitt			mclk-fs = <256>;
1586a74f78cSChristian Hewitt
1596a74f78cSChristian Hewitt			codec-0 {
1606a74f78cSChristian Hewitt				sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
1616a74f78cSChristian Hewitt			};
1626a74f78cSChristian Hewitt		};
1636a74f78cSChristian Hewitt
1646a74f78cSChristian Hewitt		dai-link-2 {
1656a74f78cSChristian Hewitt			sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
1666a74f78cSChristian Hewitt
1676a74f78cSChristian Hewitt			codec-0 {
1686a74f78cSChristian Hewitt				sound-dai = <&hdmi_tx>;
1696a74f78cSChristian Hewitt			};
1706a74f78cSChristian Hewitt		};
1716a74f78cSChristian Hewitt	};
1726a74f78cSChristian Hewitt};
1736a74f78cSChristian Hewitt
1746a74f78cSChristian Hewitt&aiu {
1756a74f78cSChristian Hewitt	status = "okay";
176d1b5a0a8SNeil Armstrong};
177d1b5a0a8SNeil Armstrong
178d1b5a0a8SNeil Armstrong&cec_AO {
179d1b5a0a8SNeil Armstrong	status = "okay";
180d1b5a0a8SNeil Armstrong	pinctrl-0 = <&ao_cec_pins>;
181d1b5a0a8SNeil Armstrong	pinctrl-names = "default";
182d1b5a0a8SNeil Armstrong	hdmi-phandle = <&hdmi_tx>;
183d1b5a0a8SNeil Armstrong};
184d1b5a0a8SNeil Armstrong
185d1b5a0a8SNeil Armstrong&cvbs_vdac_port {
186d1b5a0a8SNeil Armstrong	cvbs_vdac_out: endpoint {
187d1b5a0a8SNeil Armstrong		remote-endpoint = <&cvbs_connector_in>;
188d1b5a0a8SNeil Armstrong	};
1899bc7ffb0SAndreas Färber};
1909bc7ffb0SAndreas Färber
1919bc7ffb0SAndreas Färber&ethmac {
1929bc7ffb0SAndreas Färber	status = "okay";
1939bc7ffb0SAndreas Färber	pinctrl-0 = <&eth_rgmii_pins>;
1949bc7ffb0SAndreas Färber	pinctrl-names = "default";
1959bc7ffb0SAndreas Färber
1969bc7ffb0SAndreas Färber	phy-handle = <&eth_phy0>;
1979bc7ffb0SAndreas Färber	phy-mode = "rgmii";
1989bc7ffb0SAndreas Färber
1999bc7ffb0SAndreas Färber	amlogic,tx-delay-ns = <2>;
2009bc7ffb0SAndreas Färber
2019bc7ffb0SAndreas Färber	mdio {
2029bc7ffb0SAndreas Färber		compatible = "snps,dwmac-mdio";
2039bc7ffb0SAndreas Färber		#address-cells = <1>;
2049bc7ffb0SAndreas Färber		#size-cells = <0>;
2059bc7ffb0SAndreas Färber
2069bc7ffb0SAndreas Färber		eth_phy0: ethernet-phy@0 {
2079bc7ffb0SAndreas Färber			/* Realtek RTL8211F (0x001cc916) */
2089bc7ffb0SAndreas Färber			reg = <0>;
209f29cabf2SMartin Blumenstingl
210f29cabf2SMartin Blumenstingl			reset-assert-us = <10000>;
211c183c406SStefan Agner			reset-deassert-us = <80000>;
212f29cabf2SMartin Blumenstingl			reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
213f29cabf2SMartin Blumenstingl
214b94d22d9SJerome Brunet			interrupt-parent = <&gpio_intc>;
21550290cfeSMartin Blumenstingl			/* MAC_INTR on GPIOZ_15 */
216b94d22d9SJerome Brunet			interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
2179bc7ffb0SAndreas Färber		};
2189bc7ffb0SAndreas Färber	};
2199bc7ffb0SAndreas Färber};
2209bc7ffb0SAndreas Färber
221d1b5a0a8SNeil Armstrong&hdmi_tx {
222d1b5a0a8SNeil Armstrong	status = "okay";
223d1b5a0a8SNeil Armstrong	pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
224d1b5a0a8SNeil Armstrong	pinctrl-names = "default";
225d1b5a0a8SNeil Armstrong};
226d1b5a0a8SNeil Armstrong
227d1b5a0a8SNeil Armstrong&hdmi_tx_tmds_port {
228d1b5a0a8SNeil Armstrong	hdmi_tx_tmds_out: endpoint {
229d1b5a0a8SNeil Armstrong		remote-endpoint = <&hdmi_connector_in>;
230d1b5a0a8SNeil Armstrong	};
231d1b5a0a8SNeil Armstrong};
232d1b5a0a8SNeil Armstrong
2339bc7ffb0SAndreas Färber&ir {
2349bc7ffb0SAndreas Färber	status = "okay";
2359bc7ffb0SAndreas Färber	pinctrl-0 = <&remote_input_ao_pins>;
2369bc7ffb0SAndreas Färber	pinctrl-names = "default";
2379bc7ffb0SAndreas Färber};
2389bc7ffb0SAndreas Färber
239f0783f5eSNeil Armstrong&gpio_ao {
24012ada051SNeil Armstrong	gpio-line-names = "UART TX", "UART RX", "Power Control", "Power Key In",
24112ada051SNeil Armstrong			  "VCCK En", "CON1 Header Pin31",
24212ada051SNeil Armstrong			  "I2S Header Pin6", "IR In", "I2S Header Pin7",
24312ada051SNeil Armstrong			  "I2S Header Pin3", "I2S Header Pin4",
2441ce2c008SJerome Brunet			  "I2S Header Pin5", "HDMI CEC", "SYS LED",
2451ce2c008SJerome Brunet			  /* GPIO_TEST_N */
2461ce2c008SJerome Brunet			  "";
24712ada051SNeil Armstrong};
24812ada051SNeil Armstrong
249f0783f5eSNeil Armstrong&gpio {
25012ada051SNeil Armstrong	gpio-line-names = /* Bank GPIOZ */
25112ada051SNeil Armstrong			  "Eth MDIO", "Eth MDC", "Eth RGMII RX Clk",
25212ada051SNeil Armstrong			  "Eth RX DV", "Eth RX D0", "Eth RX D1", "Eth RX D2",
25312ada051SNeil Armstrong			  "Eth RX D3", "Eth RGMII TX Clk", "Eth TX En",
25412ada051SNeil Armstrong			  "Eth TX D0", "Eth TX D1", "Eth TX D2", "Eth TX D3",
25512ada051SNeil Armstrong			  "Eth PHY nRESET", "Eth PHY Intc",
25612ada051SNeil Armstrong			  /* Bank GPIOH */
25712ada051SNeil Armstrong			  "HDMI HPD", "HDMI DDC SDA", "HDMI DDC SCL",
25812ada051SNeil Armstrong			  "CON1 Header Pin33",
25912ada051SNeil Armstrong			  /* Bank BOOT */
26012ada051SNeil Armstrong			  "eMMC D0", "eMMC D1", "eMMC D2", "eMMC D3", "eMMC D4",
26112ada051SNeil Armstrong			  "eMMC D5", "eMMC D6", "eMMC D7", "eMMC Clk",
26212ada051SNeil Armstrong			  "eMMC Reset", "eMMC CMD",
26312ada051SNeil Armstrong			  "", "", "", "", "eMMC DS",
26412ada051SNeil Armstrong			  "", "",
26512ada051SNeil Armstrong			  /* Bank CARD */
26612ada051SNeil Armstrong			  "SDCard D1", "SDCard D0", "SDCard CLK", "SDCard CMD",
26712ada051SNeil Armstrong			  "SDCard D3", "SDCard D2", "SDCard Det",
26812ada051SNeil Armstrong			  /* Bank GPIODV */
26912ada051SNeil Armstrong			  "", "", "", "", "", "", "", "", "", "", "", "", "",
27012ada051SNeil Armstrong			  "", "", "", "", "", "", "", "", "", "", "",
27112ada051SNeil Armstrong			  "I2C A SDA", "I2C A SCK", "I2C B SDA", "I2C B SCK",
27212ada051SNeil Armstrong			  "VDDEE Regulator", "VCCK Regulator",
27312ada051SNeil Armstrong			  /* Bank GPIOY */
27412ada051SNeil Armstrong			  "CON1 Header Pin7", "CON1 Header Pin11",
27512ada051SNeil Armstrong			  "CON1 Header Pin13", "CON1 Header Pin15",
27612ada051SNeil Armstrong			  "CON1 Header Pin18", "CON1 Header Pin19",
27712ada051SNeil Armstrong			  "CON1 Header Pin22", "CON1 Header Pin21",
27812ada051SNeil Armstrong			  "CON1 Header Pin24", "CON1 Header Pin23",
27912ada051SNeil Armstrong			  "CON1 Header Pin26", "CON1 Header Pin29",
28012ada051SNeil Armstrong			  "CON1 Header Pin32", "CON1 Header Pin8",
28112ada051SNeil Armstrong			  "CON1 Header Pin10", "CON1 Header Pin16",
28212ada051SNeil Armstrong			  "CON1 Header Pin12",
28312ada051SNeil Armstrong			  /* Bank GPIOX */
28412ada051SNeil Armstrong			  "WIFI SDIO D0", "WIFI SDIO D1", "WIFI SDIO D2",
28512ada051SNeil Armstrong			  "WIFI SDIO D3", "WIFI SDIO CLK", "WIFI SDIO CMD",
28612ada051SNeil Armstrong			  "WIFI Power Enable", "WIFI WAKE HOST",
28712ada051SNeil Armstrong			  "Bluetooth PCM DOUT", "Bluetooth PCM DIN",
28812ada051SNeil Armstrong			  "Bluetooth PCM SYNC", "Bluetooth PCM CLK",
28912ada051SNeil Armstrong			  "Bluetooth UART TX", "Bluetooth UART RX",
29012ada051SNeil Armstrong			  "Bluetooth UART CTS", "Bluetooth UART RTS",
29112ada051SNeil Armstrong			  "", "", "", "WIFI 32K", "Bluetooth Enable",
2921ce2c008SJerome Brunet			  "Bluetooth WAKE HOST", "",
29312ada051SNeil Armstrong			  /* Bank GPIOCLK */
2941ce2c008SJerome Brunet			  "", "CON1 Header Pin35", "", "";
29512ada051SNeil Armstrong};
29612ada051SNeil Armstrong
2979bc7ffb0SAndreas Färber&pwm_ef {
2989bc7ffb0SAndreas Färber	status = "okay";
2999bc7ffb0SAndreas Färber	pinctrl-0 = <&pwm_e_pins>;
3009bc7ffb0SAndreas Färber	pinctrl-names = "default";
3019bc7ffb0SAndreas Färber};
3029bc7ffb0SAndreas Färber
3039bc7ffb0SAndreas Färber&saradc {
3049bc7ffb0SAndreas Färber	status = "okay";
3059bc7ffb0SAndreas Färber	vref-supply = <&vddio_ao18>;
3069bc7ffb0SAndreas Färber};
3079bc7ffb0SAndreas Färber
3089bc7ffb0SAndreas Färber/* SDIO */
3099bc7ffb0SAndreas Färber&sd_emmc_a {
3109bc7ffb0SAndreas Färber	status = "okay";
3119bc7ffb0SAndreas Färber	pinctrl-0 = <&sdio_pins>, <&sdio_irq_pins>;
31267e7607fSJerome Brunet	pinctrl-1 = <&sdio_clk_gate_pins>;
31367e7607fSJerome Brunet	pinctrl-names = "default", "clk-gate";
3149bc7ffb0SAndreas Färber	#address-cells = <1>;
3159bc7ffb0SAndreas Färber	#size-cells = <0>;
3169bc7ffb0SAndreas Färber
3179bc7ffb0SAndreas Färber	bus-width = <4>;
3189bc7ffb0SAndreas Färber	cap-sd-highspeed;
319adc52bf7SJerome Brunet	max-frequency = <50000000>;
3209bc7ffb0SAndreas Färber
3219bc7ffb0SAndreas Färber	non-removable;
3229bc7ffb0SAndreas Färber	disable-wp;
3239bc7ffb0SAndreas Färber
324f7caa8b5SNeil Armstrong	/* WiFi firmware requires power to be kept while in suspend */
325f7caa8b5SNeil Armstrong	keep-power-in-suspend;
326f7caa8b5SNeil Armstrong
3279bc7ffb0SAndreas Färber	mmc-pwrseq = <&sdio_pwrseq>;
3289bc7ffb0SAndreas Färber
3299bc7ffb0SAndreas Färber	vmmc-supply = <&vddio_ao3v3>;
3309bc7ffb0SAndreas Färber	vqmmc-supply = <&vddio_ao18>;
3319bc7ffb0SAndreas Färber
3329bc7ffb0SAndreas Färber	brcmf: wifi@1 {
3339bc7ffb0SAndreas Färber		compatible = "brcm,bcm4329-fmac";
3349bc7ffb0SAndreas Färber		reg = <1>;
3359bc7ffb0SAndreas Färber	};
3369bc7ffb0SAndreas Färber};
3379bc7ffb0SAndreas Färber
3389bc7ffb0SAndreas Färber/* SD */
3399bc7ffb0SAndreas Färber&sd_emmc_b {
3409bc7ffb0SAndreas Färber	status = "okay";
3419bc7ffb0SAndreas Färber	pinctrl-0 = <&sdcard_pins>;
34267e7607fSJerome Brunet	pinctrl-1 = <&sdcard_clk_gate_pins>;
34367e7607fSJerome Brunet	pinctrl-names = "default", "clk-gate";
3449bc7ffb0SAndreas Färber
3459bc7ffb0SAndreas Färber	bus-width = <4>;
3469bc7ffb0SAndreas Färber	cap-sd-highspeed;
347c1429e20SJerome Brunet	sd-uhs-sdr12;
348c1429e20SJerome Brunet	sd-uhs-sdr25;
349c1429e20SJerome Brunet	sd-uhs-sdr50;
350f52bc6ddSJerome Brunet	sd-uhs-ddr50;
351adc52bf7SJerome Brunet	max-frequency = <100000000>;
3529bc7ffb0SAndreas Färber	disable-wp;
3539bc7ffb0SAndreas Färber
354f29200c8SLoys Ollivier	cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
3559bc7ffb0SAndreas Färber
3569bc7ffb0SAndreas Färber	vmmc-supply = <&vddio_ao3v3>;
3579bc7ffb0SAndreas Färber	vqmmc-supply = <&vddio_tf>;
3589bc7ffb0SAndreas Färber};
3599bc7ffb0SAndreas Färber
3609bc7ffb0SAndreas Färber/* eMMC */
3619bc7ffb0SAndreas Färber&sd_emmc_c {
3629bc7ffb0SAndreas Färber	status = "disabled";
363ab36be66SNeil Armstrong	pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
36467e7607fSJerome Brunet	pinctrl-1 = <&emmc_clk_gate_pins>;
36567e7607fSJerome Brunet	pinctrl-names = "default", "clk-gate";
3669bc7ffb0SAndreas Färber
3679bc7ffb0SAndreas Färber	bus-width = <8>;
3689bc7ffb0SAndreas Färber	max-frequency = <200000000>;
3699bc7ffb0SAndreas Färber	non-removable;
3709bc7ffb0SAndreas Färber	disable-wp;
3719bc7ffb0SAndreas Färber	cap-mmc-highspeed;
3729bc7ffb0SAndreas Färber	mmc-ddr-1_8v;
3739bc7ffb0SAndreas Färber	mmc-hs200-1_8v;
3749bc7ffb0SAndreas Färber
3759bc7ffb0SAndreas Färber	mmc-pwrseq = <&emmc_pwrseq>;
3769bc7ffb0SAndreas Färber	vmmc-supply = <&vcc3v3>;
3779bc7ffb0SAndreas Färber	vqmmc-supply = <&vcc1v8>;
3789bc7ffb0SAndreas Färber};
3799bc7ffb0SAndreas Färber
3809bc7ffb0SAndreas Färber/* DBG_UART */
3819bc7ffb0SAndreas Färber&uart_AO {
3829bc7ffb0SAndreas Färber	status = "okay";
3839bc7ffb0SAndreas Färber	pinctrl-0 = <&uart_ao_a_pins>;
3849bc7ffb0SAndreas Färber	pinctrl-names = "default";
3859bc7ffb0SAndreas Färber};
3869bc7ffb0SAndreas Färber
3879bc7ffb0SAndreas Färber/* Bluetooth on AP6212 */
3889bc7ffb0SAndreas Färber&uart_A {
38946f2735cSChen-Yu Tsai	status = "okay";
3909bc7ffb0SAndreas Färber	pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
3919bc7ffb0SAndreas Färber	pinctrl-names = "default";
39246f2735cSChen-Yu Tsai	uart-has-rtscts;
39346f2735cSChen-Yu Tsai
39446f2735cSChen-Yu Tsai	bluetooth {
39546f2735cSChen-Yu Tsai		compatible = "brcm,bcm43438-bt";
39646f2735cSChen-Yu Tsai		clocks = <&wifi_32k>;
39746f2735cSChen-Yu Tsai		clock-names = "lpo";
39846f2735cSChen-Yu Tsai		vbat-supply = <&vddio_ao3v3>;
39946f2735cSChen-Yu Tsai		vddio-supply = <&vddio_ao18>;
40046f2735cSChen-Yu Tsai		host-wakeup-gpios = <&gpio GPIOX_21 GPIO_ACTIVE_HIGH>;
40146f2735cSChen-Yu Tsai		shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>;
40246f2735cSChen-Yu Tsai	};
4039bc7ffb0SAndreas Färber};
4049bc7ffb0SAndreas Färber
4059bc7ffb0SAndreas Färber/* 40-pin CON1 */
4069bc7ffb0SAndreas Färber&uart_C {
4079bc7ffb0SAndreas Färber	status = "disabled";
4089bc7ffb0SAndreas Färber	pinctrl-0 = <&uart_c_pins>;
4099bc7ffb0SAndreas Färber	pinctrl-names = "default";
4109bc7ffb0SAndreas Färber};
4119bc7ffb0SAndreas Färber
4129bc7ffb0SAndreas Färber&usb0_phy {
4139bc7ffb0SAndreas Färber	status = "okay";
4149bc7ffb0SAndreas Färber	phy-supply = <&vdd_5v>;
4159bc7ffb0SAndreas Färber};
4169bc7ffb0SAndreas Färber
4179bc7ffb0SAndreas Färber&usb1_phy {
4189bc7ffb0SAndreas Färber	status = "okay";
4199bc7ffb0SAndreas Färber};
4209bc7ffb0SAndreas Färber
4219bc7ffb0SAndreas Färber&usb0 {
4229bc7ffb0SAndreas Färber	status = "okay";
4239bc7ffb0SAndreas Färber};
4249bc7ffb0SAndreas Färber
4259bc7ffb0SAndreas Färber&usb1 {
4269bc7ffb0SAndreas Färber	status = "okay";
4279bc7ffb0SAndreas Färber};
428