summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/imx6sl-evk-btwifi.dts
blob: 4eac83e12cf23993434e10546f99a93aea13cbe1 (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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
/*
 * Copyright (C) 2015 Freescale Semiconductor, Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

/* NOTE: This DTS file is written for plugging in Murata Wi-Fi/BT EVK into SD1
 * slot using Murata i.MX InterConnect Ver 1.0 Adapter AND wiring in control
 * signals with SD Card Extender on SD3 slot.
 * Bluetooth UART connect via SD1 EMMC/MMC Plus pinout.
 * WL_REG_ON/BT_REG_ON/WL_HOST_WAKE are connected from SD Card Extender on SD3
 * slot.
 */
#include "imx6sl-evk.dts"

/ {
	modem_reset: modem-reset {
		compatible = "gpio-reset";
		reset-gpios = <&gpio5 17 GPIO_ACTIVE_LOW>;
		reset-delay-us = <1000>;
		#reset-cells = <0>;
	};

	regulators {
		wlreg_on: fixedregulator@100 {
			compatible = "regulator-fixed";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			regulator-name = "wlreg_on";
			gpio = <&gpio5 16 0>;
			startup-delay-us = <100>;
			enable-active-high;
		};
	};

	bcmdhd_wlan_0: bcmdhd_wlan@0 {
		compatible = "android,bcmdhd_wlan";
		gpios = <&gpio5 20 0>; /* WL_HOST_WAKE */
		wlreg_on-supply = <&wlreg_on>;
	};
};

&iomuxc {
	imx6sl-evk-murata-v1_sdext {
		/* Only MUX SD1_DAT0..3 lines so UART4 can be MUXed on higher data lines. */
		pinctrl_btreg: btreggrp {
			fsl,pins = <
				MX6SL_PAD_SD3_DAT3__GPIO5_IO17          0x13069 /* BT_REG_ON */
			>;
		};

		pinctrl_wifi: wifigrp {
			fsl,pins = <
				MX6SL_PAD_SD1_CMD__SD1_CMD		0x17059
				MX6SL_PAD_SD1_CLK__SD1_CLK		0x10059
				MX6SL_PAD_SD1_DAT0__SD1_DATA0		0x17059
				MX6SL_PAD_SD1_DAT1__SD1_DATA1		0x17059
				MX6SL_PAD_SD1_DAT2__SD1_DATA2		0x17059
				MX6SL_PAD_SD1_DAT3__SD1_DATA3		0x17059
				MX6SL_PAD_SD3_DAT1__GPIO5_IO20		0x13069 /* WL_HOST_WAKE */
				MX6SL_PAD_SD3_DAT2__GPIO5_IO16		0x13069 /* WL_REG_ON */
			>;
		};

		pinctrl_usdhc3_1: usdhc3grp-1 {
			fsl,pins = <
				MX6SL_PAD_SD3_CMD__SD3_CMD		0x17059
				MX6SL_PAD_SD3_CLK__SD3_CLK		0x10059
				MX6SL_PAD_SD3_DAT0__SD3_DATA0		0x17059
			>;
		};
	};
};
/* Murata: declare UART4 interface for Bluetooth. */
&uart4 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart4_1
		     &pinctrl_btreg>;
	fsl,uart-has-rtscts;
	resets = <&modem_reset>;
	status = "okay";
	/* for DTE mode, add below change */
	/* fsl,dte-mode; */
	/* pinctrl-0 = <&pinctrl_uart4dte_1>; */
};

&usdhc1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_wifi>;
	bus-width = <4>;
	no-1-8-v;
	non-removable;
	cd-post;
	pm-ignore-notify;
	wifi-host;
};

&usdhc3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc3_1>;
	bus-width = <1>;
	no-1-8-v;
};