summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/imx6sxscm-evb-btwifi.dtsi
blob: 36583898f5dc06d73264112ae0dce3664d610685 (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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/*
 * Copyright (C) 2016 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.
 */

/ {
	modem_reset: modem-reset {
		compatible = "gpio-reset";
		reset-gpios = <&gpio4 9 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 = <&gpio4 8 0>;
			startup-delay-us = <100>;
			enable-active-high;
		};
		vcc_sd3: regulator@0 {
			status = "disabled";
		};

	};

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

&iomuxc {
	imx6sxscm-evb-murata-v2_rc {
		pinctrl_bt: btgrp {
			fsl,pins = <
				MX6SX_PAD_NAND_DATA05__GPIO4_IO_9	0x13069
			>;
		};

		pinctrl_uart6: uart6grp {
			fsl,pins = <
				MX6SX_PAD_KEY_COL1__UART6_TX		0x1b0b1
				MX6SX_PAD_KEY_ROW1__UART6_RX		0x1b0b1
				MX6SX_PAD_KEY_COL0__UART6_RTS_B		0x1b0b1
				MX6SX_PAD_KEY_ROW0__UART6_CTS_B		0x1b0b1
			>;
		};

		pinctrl_usdhc3_1: usdhc3grp-1 {
			fsl,pins = <
				MX6SX_PAD_SD3_CMD__USDHC3_CMD		0x17069
				MX6SX_PAD_SD3_CLK__USDHC3_CLK		0x10071
				MX6SX_PAD_SD3_DATA0__USDHC3_DATA0	0x17069
				MX6SX_PAD_SD3_DATA1__USDHC3_DATA1	0x17069
				MX6SX_PAD_SD3_DATA2__USDHC3_DATA2	0x17069
				MX6SX_PAD_SD3_DATA3__USDHC3_DATA3	0x17069
			>;
		};

		pinctrl_usdhc3_1_100mhz: usdhc3grp-1-100mhz {
			fsl,pins = <
				MX6SX_PAD_SD3_CMD__USDHC3_CMD		0x170b9
				MX6SX_PAD_SD3_CLK__USDHC3_CLK		0x100b9
				MX6SX_PAD_SD3_DATA0__USDHC3_DATA0	0x170b9
				MX6SX_PAD_SD3_DATA1__USDHC3_DATA1	0x170b9
				MX6SX_PAD_SD3_DATA2__USDHC3_DATA2	0x170b9
				MX6SX_PAD_SD3_DATA3__USDHC3_DATA3	0x170b9
			>;
		};

		pinctrl_usdhc3_1_200mhz: usdhc3grp-1-200mhz {
			fsl,pins = <
				MX6SX_PAD_SD3_CMD__USDHC3_CMD		0x170f9
				MX6SX_PAD_SD3_CLK__USDHC3_CLK		0x100f9
				MX6SX_PAD_SD3_DATA0__USDHC3_DATA0	0x170f9
				MX6SX_PAD_SD3_DATA1__USDHC3_DATA1	0x170f9
				MX6SX_PAD_SD3_DATA2__USDHC3_DATA2	0x170f9
				MX6SX_PAD_SD3_DATA3__USDHC3_DATA3	0x170f9
			>;
		};

		/* For Murata, SD to 4-bit SDIO; use upper 4-bits for UART */
		pinctrl_wifi: wifigrp {
			fsl,pins = <
				MX6SX_PAD_SD2_CMD__USDHC2_CMD		0x17069
				MX6SX_PAD_SD2_CLK__USDHC2_CLK		0x10071
				MX6SX_PAD_SD2_DATA0__USDHC2_DATA0	0x17069
				MX6SX_PAD_SD2_DATA1__USDHC2_DATA1	0x17069
				MX6SX_PAD_SD2_DATA2__USDHC2_DATA2	0x17069
				MX6SX_PAD_SD2_DATA3__USDHC2_DATA3	0x17069
				/* Murata Module control signals */
				MX6SX_PAD_NAND_DATA04__GPIO4_IO_8	0x13069
				MX6SX_PAD_SD3_DATA7__GPIO7_IO_9         0x13069
			>;
		};
	};
};

&uart6 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart6
		     &pinctrl_bt>;
	fsl,uart-has-rtscts;
	resets = <&modem_reset>;
	status = "okay";
};

&usdhc2 {
	pinctrl-0 = <&pinctrl_wifi>;
	bus-width = <4>;
	non-removable;
	cd-post;
	pm-ignore-notify;
};

&usdhc3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc3_1>;
	pinctrl-1 = <&pinctrl_usdhc3_1_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc3_1_200mhz>;
	bus-width = <4>;
};