summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/freescale/fsl-imx8mm-verdin-wifi.dtsi
blob: 924a152df123c42f338798db16f6d02e11c9c956 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// SPDX-License-Identifier: GPL-2.0+ OR MIT
/*
 * Copyright 2020 Toradex
 */

#include "fsl-imx8mm-verdin.dtsi"

/ {
	reg_wifi_en: regulator-wifi-en {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpio3 25 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_wifi_pwr_en>;
		regulator-name = "V3.3_WI-FI";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		startup-delay-us = <2000>;
	};
};

/* On-module Wi-Fi */
&usdhc3 {
	bus-width = <4>;
	cap-power-off-card;
	keep-power-in-suspend;
	non-removable;
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc3>, <&pinctrl_wifi_ctrl>;
	pinctrl-1 = <&pinctrl_usdhc3_100mhz>, <&pinctrl_wifi_ctrl>;
	pinctrl-2 = <&pinctrl_usdhc3_200mhz>, <&pinctrl_wifi_ctrl>;
	vmmc-supply = <&reg_wifi_en>;
	wifi-host;
	status = "okay";
};

&iomuxc {
	pinctrl_wifi_ctrl: wifictrlgrp {
		fsl,pins = <
			MX8MM_IOMUXC_NAND_READY_B_GPIO3_IO16	0x1c4		/* WIFI_WKUP_BT */
			MX8MM_IOMUXC_SD1_RESET_B_GPIO2_IO10	0x1c4		/* WIFI_WKUP_WLAN */
			MX8MM_IOMUXC_SAI1_RXD7_GPIO4_IO9	0x1c4		/* WIFI_W_WKUP_HOST */
		>;
	};

	pinctrl_wifi_i2s: bti2sgrp {
		fsl,pins = <
			MX8MM_IOMUXC_SAI1_RXD4_SAI6_TX_BCLK	0xd6		/* WIFI_TX_BCLK */
			MX8MM_IOMUXC_SAI1_RXD5_SAI6_TX_DATA0	0xd6		/* WIFI_TX_DATA0 */
			MX8MM_IOMUXC_SAI1_RXD6_SAI6_TX_SYNC	0xd6		/* WIFI_TX_SYNC */
			MX8MM_IOMUXC_SAI1_TXD5_SAI6_RX_DATA0	0xd6		/* WIFI_RX_DATA0 */
		>;
	};

	pinctrl_wifi_pwr_en: wifipwrengrp {
		fsl,pins = <
			MX8MM_IOMUXC_SAI5_MCLK_GPIO3_IO25	0x184		/* PMIC_EN_WIFI */
		>;
	};
};