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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
|
#ifndef _BOARD_MX6SL_NTX_H
#define _BOARD_MX6SL_NTX_H
#include <mach/iomux-mx6sl.h>
#define MX6SL_NTX_ACIN_PG gMX6SL_NTX_ACIN_PG
#define MX6SL_NTX_CHG gMX6SL_NTX_CHG
#define MX6SL_MSP_INT gMX6SL_MSP_INT
#define MX6SL_PWR_SW gMX6SL_PWR_SW
#define MX6SL_IR_TOUCH_INT gMX6SL_IR_TOUCH_INT
#define MX6SL_IR_TOUCH_RST gMX6SL_IR_TOUCH_RST
#define MX6SL_HALL_EN gMX6SL_HALL_EN
#define MX6SL_ON_LED gMX6SL_ON_LED
#define MX6SL_CHG_LED gMX6SL_CHG_LED
#define MX6SL_ACT_LED gMX6SL_ACT_LED
#define MX6SL_EXT_SD_CD IMX_GPIO_NR(5, 2) /* SD2_DAT4 */
#define MX6SL_WIFI_3V3 IMX_GPIO_NR(5, 0) /* SD2_DAT7 */
#define MX6SL_WIFI_RST IMX_GPIO_NR(4, 27) /* SD2_RST */
#define MX6SL_WIFI_INT IMX_GPIO_NR(4, 29) /* SD2_DAT6 */
#define MX6SL_HW_ID0 IMX_GPIO_NR(4, 2) /* KEY_COL5 */
#define MX6SL_HW_ID1 IMX_GPIO_NR(4, 4) /* KEY_COL6 */
#define MX6SL_HW_ID2 IMX_GPIO_NR(4, 6) /* KEY_COL7 */
#define MX6SL_HW_ID3 IMX_GPIO_NR(4, 5) /* KEY_ROW6 */
#define MX6SL_HW_ID4 IMX_GPIO_NR(4, 7) /* KEY_ROW7 */
#define MX6SL_FL_EN IMX_GPIO_NR(2, 10) /* EPDC_PWRCTRL3 */
#define MX6SL_FL_R_EN IMX_GPIO_NR(1, 29) /* EPDC_SDCE2 */
#define MX6SL_EP_PWRALL IMX_GPIO_NR(2, 14) /* EPDC_PWRWAKEUP */
#define MX6SL_EP_WAKEUP IMX_GPIO_NR(2, 7) /* EPDC_PWRCTRL0 */
#define MX6SL_EP_PWRUP IMX_GPIO_NR(2, 8) /* EPDC_PWRCTRL1 */
#define MX6SL_EP_INT IMX_GPIO_NR(2, 9) /* EPDC_PWRCTRL2 */
#define MX6SL_EP_PWRSTAT IMX_GPIO_NR(2, 13) /* EPDC_PWRSTAT */
#define MX6SL_EP_VCOM IMX_GPIO_NR(2, 3) /* EPDC_VCOM0 */
#define MX6SL_SD2_CLK IMX_GPIO_NR(5, 5) /* SD2_CLK */
#define MX6SL_SD2_CMD IMX_GPIO_NR(5, 4) /* SD2_CMD */
#define MX6SL_SD2_DAT0 IMX_GPIO_NR(5, 1) /* SD2_DAT0 */
#define MX6SL_SD2_DAT1 IMX_GPIO_NR(4, 30) /* SD2_DAT1 */
#define MX6SL_SD2_DAT2 IMX_GPIO_NR(5, 3) /* SD2_DAT2 */
#define MX6SL_SD2_DAT3 IMX_GPIO_NR(4, 28) /* SD2_DAT3 */
#define MX6SL_SD3_CLK IMX_GPIO_NR(5, 18) /* SD3_CLK */
#define MX6SL_SD3_CMD IMX_GPIO_NR(5, 21) /* SD3_CMD */
#define MX6SL_SD3_DAT0 IMX_GPIO_NR(5, 19) /* SD3_DAT0 */
#define MX6SL_SD3_DAT1 IMX_GPIO_NR(5, 20) /* SD3_DAT1 */
#define MX6SL_SD3_DAT2 IMX_GPIO_NR(5, 16) /* SD3_DAT2 */
#define MX6SL_SD3_DAT3 IMX_GPIO_NR(5, 17) /* SD3_DAT3 */
#define MX6SL_I2C2_SCL IMX_GPIO_NR(3, 14) /* I2C2_SCL */
#define MX6SL_I2C2_SDA IMX_GPIO_NR(3, 15) /* I2C2_SDA */
#define MX6SL_I2C3_SCL IMX_GPIO_NR(3, 21) /* I2C3_SCL */
#define MX6SL_I2C3_SDA IMX_GPIO_NR(3, 22) /* I2C3_SDA */
#define GPIO_ESD_3V3_ON IMX_GPIO_NR(3, 29) /* ROW2 */
#define GPIO_ISD_3V3_ON IMX_GPIO_NR(3, 31) /* ROW3 */
#define GPIO_IR_3V3_ON IMX_GPIO_NR(4, 1) /* ROW4 */
//#define GPIO_EP_3V3_ON IMX_GPIO_NR(4, 3) /* ROW5 */
#define GPIO_KB_COL0 IMX_GPIO_NR(3, 24) /* COL0 */
#define GPIO_KB_COL1 IMX_GPIO_NR(3, 26) /* COL1 */
#define GPIO_KB_ROW0 IMX_GPIO_NR(3, 25) /* ROW0 */
#define GPIO_KB_ROW1 IMX_GPIO_NR(3, 27) /* ROW1 */
#define GPIO_KB_ROW2 IMX_GPIO_NR(3, 29) /* ROW2 */
#define MX6SL_KL25_INT2 IMX_GPIO_NR(3, 29) /* ROW2 */
#if 1
#define MX6SL_WACOM_INT IMX_GPIO_NR(4, 0) /* COL4 */
#define MX6SL_WACOM_PDCT IMX_GPIO_NR(4, 2) /* COL5 */
#else
#define MX6SL_WACOM_INT IMX_GPIO_NR(4, 2) /* COL5 */
#define MX6SL_WACOM_PDCT IMX_GPIO_NR(4, 0) /* COL4 */
#endif
#define MX6SL_WACOM_INT_4_1 IMX_GPIO_NR(4, 1) /* ROW4 */
#define MX6SL_WACOM_FWE IMX_GPIO_NR(3, 24) /* COL0 */
#define MX6SL_WACOM_RST IMX_GPIO_NR(3, 30) /* COL3 */
#define MX6SL_WALTOP_RST IMX_GPIO_NR(3, 31) /* ROW3 */
#define MX6SL_WALTOP_RST_3_30 IMX_GPIO_NR(3, 30) /* ROW3 */
#define MX6SL_WALTOP_INT IMX_GPIO_NR(4, 1) /* ROW4 */
#define MX6SL_WALTOP_INT_4_0 IMX_GPIO_NR(4, 0) /* ROW4 */
extern volatile unsigned gMX6SL_NTX_ACIN_PG;
extern volatile unsigned gMX6SL_NTX_CHG;
extern volatile unsigned gMX6SL_MSP_INT;
extern volatile unsigned gMX6SL_PWR_SW;
extern volatile unsigned gMX6SL_IR_TOUCH_INT;
extern volatile unsigned gMX6SL_IR_TOUCH_RST;
extern volatile unsigned gMX6SL_HALL_EN;
extern volatile unsigned gMX6SL_ON_LED;
extern volatile unsigned gMX6SL_CHG_LED;
extern volatile unsigned gMX6SL_ACT_LED;
extern volatile unsigned gMX6SL_WIFI_3V3;
extern volatile unsigned gMX6SL_WIFI_RST;
extern volatile unsigned gMX6SL_WIFI_INT;
static iomux_v3_cfg_t mx6sl_brd_ntx_kb_pads[] = {
MX6SL_PAD_KEY_COL0__KPP_COL_0,
MX6SL_PAD_KEY_COL1__KPP_COL_1,
MX6SL_PAD_KEY_ROW0__KPP_ROW_0,
MX6SL_PAD_KEY_ROW1__KPP_ROW_1,
};
static iomux_v3_cfg_t mx6sl_brd_ntx_kb_gpio_pads[] = {
MX6SL_PAD_KEY_COL0__GPIO_3_24,
MX6SL_PAD_KEY_COL1__GPIO_3_26,
MX6SL_PAD_KEY_ROW0__GPIO_3_25,
MX6SL_PAD_KEY_ROW1__GPIO_3_27,
MX6SL_PAD_KEY_ROW2__GPIO_3_29,
};
static iomux_v3_cfg_t mx6sl_brd_ntx_sd4_pads[] = {
MX6SL_PAD_FEC_MDIO__USDHC4_CLK,
MX6SL_PAD_FEC_TX_CLK__USDHC4_CMD,
MX6SL_PAD_FEC_RX_ER__USDHC4_DAT0,
MX6SL_PAD_FEC_CRS_DV__USDHC4_DAT1,
MX6SL_PAD_FEC_RXD1__USDHC4_DAT2,
MX6SL_PAD_FEC_TXD0__USDHC4_DAT3,
MX6SL_PAD_FEC_MDC__USDHC4_DAT4,
MX6SL_PAD_FEC_RXD0__USDHC4_DAT5,
MX6SL_PAD_FEC_TX_EN__USDHC4_DAT6,
MX6SL_PAD_FEC_TXD1__USDHC4_DAT7,
MX6SL_PAD_FEC_REF_CLK__GPIO_4_26_PULLHIGH,
};
static iomux_v3_cfg_t mx6sl_brd_ntx_sd4_gpio_pads[] = {
MX6SL_PAD_FEC_MDIO__GPIO_4_20, // PWR_GOOD
MX6SL_PAD_FEC_TX_CLK__GPIO_4_21, // CHG#
MX6SL_PAD_FEC_RX_ER__GPIO_4_19, // MSP_INT#
MX6SL_PAD_FEC_CRS_DV__GPIO_4_25, // PWR_SW
MX6SL_PAD_FEC_RXD1__GPIO_4_18, // GS_INT
MX6SL_PAD_FEC_TXD0__GPIO_4_24, // IR_TOUCH_INT#
MX6SL_PAD_FEC_MDC__GPIO_4_23, // HALL_EN
MX6SL_PAD_FEC_RXD0__GPIO_4_17, // IR_RST
MX6SL_PAD_FEC_TX_EN__GPIO_4_22, // ACT_LED
MX6SL_PAD_FEC_TXD1__GPIO_4_16, // CHG_LED
MX6SL_PAD_FEC_REF_CLK__GPIO_4_26, // ON_LED
};
static iomux_v3_cfg_t mx6sl_brd_ntx_sd1_pads[] = {
MX6SL_PAD_SD1_CLK__USDHC1_CLK_50MHZ,
MX6SL_PAD_SD1_CMD__USDHC1_CMD_50MHZ,
MX6SL_PAD_SD1_DAT0__USDHC1_DAT0_50MHZ,
MX6SL_PAD_SD1_DAT1__USDHC1_DAT1_50MHZ,
MX6SL_PAD_SD1_DAT2__USDHC1_DAT2_50MHZ,
MX6SL_PAD_SD1_DAT3__USDHC1_DAT3_50MHZ,
MX6SL_PAD_SD1_DAT4__USDHC1_DAT4_50MHZ,
MX6SL_PAD_SD1_DAT5__USDHC1_DAT5_50MHZ,
MX6SL_PAD_SD1_DAT6__USDHC1_DAT6_50MHZ,
MX6SL_PAD_SD1_DAT7__USDHC1_DAT7_50MHZ,
};
static iomux_v3_cfg_t mx6sl_brd_ntx_sd1_gpio_pads[] = {
MX6SL_PAD_SD1_CLK__GPIO_5_15, // CHG#
MX6SL_PAD_SD1_CMD__GPIO_5_14, // ACIN_PG#
MX6SL_PAD_SD1_DAT0__GPIO_5_11, // MSP_INT#
MX6SL_PAD_SD1_DAT1__GPIO_5_8, // PWR_SW#
MX6SL_PAD_SD1_DAT2__GPIO_5_13, // TP85
MX6SL_PAD_SD1_DAT3__GPIO_5_6, // IR_DataReady
MX6SL_PAD_SD1_DAT4__GPIO_5_12, // TP86/Hall_EN#
MX6SL_PAD_SD1_DAT5__GPIO_5_9, // V325_RST#
MX6SL_PAD_SD1_DAT6__GPIO_5_7, // ACTION_LED_RH#
MX6SL_PAD_SD1_DAT7__GPIO_5_10, // TP82/Charge_LED_RH#
};
static iomux_v3_cfg_t mx6sl_brd_ntx_pads[] = {
MX6SL_PAD_REF_CLK_24M__I2C3_SCL,
MX6SL_PAD_REF_CLK_32K__I2C3_SDA,
/* USBOTG ID pin */
MX6SL_PAD_EPDC_PWRCOM__ANATOP_USBOTG1_ID,
MX6SL_PAD_SD2_DAT4__GPIO_5_2, // EXT_SD_CD
MX6SL_PAD_SD2_DAT7__GPIO_5_0, // WIFI_3V3_ON
MX6SL_PAD_SD2_RST__GPIO_4_27, // WIFI_RST
//MX6SL_PAD_SD2_DAT6__GPIO_4_29_OUTPUT, // WIFI_INT
MX6SL_PAD_KEY_COL5__GPIO_4_2, // HW_ID0
MX6SL_PAD_KEY_COL6__GPIO_4_4, // HW_ID1
MX6SL_PAD_KEY_COL7__GPIO_4_6, // HW_ID2
MX6SL_PAD_KEY_ROW6__GPIO_4_5, // HW_ID3
MX6SL_PAD_KEY_ROW7__GPIO_4_7, // HW_ID4
MX6SL_PAD_KEY_ROW2__GPIO_3_29, // ESD_3V3_ON(Q22)/BS_INT(Q12)/NA
MX6SL_PAD_KEY_ROW3__GPIO_3_31, // ISD_3V3_ON(Q22)/BS_3V3(Q12/NA
MX6SL_PAD_KEY_ROW4__GPIO_4_1, // IR_3V3_ON(Q22)/BS_UP(Q12)/NA
//MX6SL_PAD_KEY_ROW5__GPIO_4_3, // EP_3V3_ON(Q22)/BS_DN(Q12)/NA
MX6SL_PAD_KEY_COL2__GPIO_3_28, // BS_Left (Q12)/NA
MX6SL_PAD_KEY_COL3__GPIO_3_30, // BS_Right (Q12)/NA
MX6SL_PAD_KEY_COL4__GPIO_4_0, // BS_Click (Q12)/NA
#if 0
MX6SL_PAD_EPDC_PWRCTRL0__GPIO_2_7, // EP_PWRCTRL0 (WAKEUP#)
MX6SL_PAD_EPDC_PWRCTRL1__GPIO_2_8, // EP_PWRCTRL1 (PWRUP)
MX6SL_PAD_EPDC_PWRCTRL2__GPIO_2_9, // EP_INT
MX6SL_PAD_EPDC_PWRWAKEUP__GPIO_2_14,// PWRALL
MX6SL_PAD_EPDC_PWRSTAT__GPIO_2_13, // EP_PWRSTAT (PWR_GOOD)
MX6SL_PAD_EPDC_VCOM0__GPIO_2_3, // VCOM_CTRL
#endif
MX6SL_PAD_EPDC_PWRCTRL3__GPIO_2_10, // FL_EN
MX6SL_PAD_EPDC_SDCE2__GPIO_1_29, // FL_R_EN
MX6SL_PAD_LCD_DAT0__GPIO_2_20,
MX6SL_PAD_LCD_DAT1__GPIO_2_21,
MX6SL_PAD_LCD_DAT2__GPIO_2_22,
MX6SL_PAD_LCD_DAT3__GPIO_2_23,
MX6SL_PAD_LCD_DAT4__GPIO_2_24,
MX6SL_PAD_LCD_DAT5__GPIO_2_25,
MX6SL_PAD_LCD_DAT6__GPIO_2_26,
MX6SL_PAD_LCD_DAT7__GPIO_2_27,
MX6SL_PAD_LCD_DAT8__GPIO_2_28,
MX6SL_PAD_LCD_DAT9__GPIO_2_29,
MX6SL_PAD_LCD_DAT10__GPIO_2_30,
MX6SL_PAD_LCD_DAT11__GPIO_2_31,
MX6SL_PAD_LCD_DAT12__GPIO_3_0,
MX6SL_PAD_LCD_DAT13__GPIO_3_1,
MX6SL_PAD_LCD_DAT14__GPIO_3_2,
MX6SL_PAD_LCD_DAT15__GPIO_3_3,
MX6SL_PAD_LCD_DAT16__GPIO_3_4,
MX6SL_PAD_LCD_DAT17__GPIO_3_5,
MX6SL_PAD_LCD_DAT18__GPIO_3_6,
MX6SL_PAD_LCD_DAT19__GPIO_3_7,
MX6SL_PAD_LCD_DAT20__GPIO_3_8,
MX6SL_PAD_LCD_DAT21__GPIO_3_9,
MX6SL_PAD_LCD_DAT22__GPIO_3_10,
MX6SL_PAD_LCD_DAT23__GPIO_3_11,
MX6SL_PAD_LCD_CLK__GPIO_2_15,
MX6SL_PAD_LCD_ENABLE__GPIO_2_16,
MX6SL_PAD_LCD_HSYNC__GPIO_2_17,
MX6SL_PAD_LCD_VSYNC__GPIO_2_18,
MX6SL_PAD_LCD_RESET__GPIO_2_19,
MX6SL_PAD_ECSPI1_SCLK__GPIO_4_8,
MX6SL_PAD_ECSPI1_MOSI__GPIO_4_9,
MX6SL_PAD_ECSPI1_MISO__GPIO_4_10,
MX6SL_PAD_ECSPI1_SS0__GPIO_4_11,
MX6SL_PAD_ECSPI2_SCLK__GPIO_4_12,
MX6SL_PAD_ECSPI2_MOSI__GPIO_4_13,
MX6SL_PAD_ECSPI2_MISO__GPIO_4_14,
MX6SL_PAD_ECSPI2_SS0__GPIO_4_15,
MX6SL_PAD_AUD_RXFS__GPIO_1_0,
MX6SL_PAD_AUD_RXC__GPIO_1_1,
MX6SL_PAD_AUD_RXD__GPIO_1_2,
MX6SL_PAD_AUD_TXC__GPIO_1_3,
MX6SL_PAD_AUD_TXFS__GPIO_1_4,
MX6SL_PAD_AUD_TXD__GPIO_1_5,
MX6SL_PAD_AUD_MCLK__GPIO_1_6,
MX6SL_PAD_HSIC_DAT__GPIO_3_19,
MX6SL_PAD_HSIC_STROBE__GPIO_3_20,
MX6SL_PAD_WDOG_B__GPIO_3_18,
};
static iomux_v3_cfg_t mx6sl_ntx_sd2_gpio_pads[] = {
MX6SL_PAD_SD2_CLK__GPIO_5_5,
MX6SL_PAD_SD2_CMD__GPIO_5_4,
MX6SL_PAD_SD2_DAT0__GPIO_5_1,
MX6SL_PAD_SD2_DAT1__GPIO_4_30,
MX6SL_PAD_SD2_DAT2__GPIO_5_3,
MX6SL_PAD_SD2_DAT3__GPIO_4_28,
};
static iomux_v3_cfg_t mx6sl_ntx_sd2_wifi_pads[] = {
MX6SL_PAD_SD2_CLK__USDHC2_CLK_50MHZ,
MX6SL_PAD_SD2_CMD__USDHC2_CMD_50MHZ,
MX6SL_PAD_SD2_DAT0__USDHC2_DAT0_50MHZ,
MX6SL_PAD_SD2_DAT1__USDHC2_DAT1_50MHZ,
MX6SL_PAD_SD2_DAT2__USDHC2_DAT2_50MHZ,
MX6SL_PAD_SD2_DAT3__USDHC2_DAT3_50MHZ,
};
static iomux_v3_cfg_t mx6sl_ntx_sd3_gpio_pads[] = {
MX6SL_PAD_SD3_CLK__GPIO_5_18,
MX6SL_PAD_SD3_CMD__GPIO_5_21,
MX6SL_PAD_SD3_DAT0__GPIO_5_19,
MX6SL_PAD_SD3_DAT1__GPIO_5_20,
MX6SL_PAD_SD3_DAT2__GPIO_5_16,
MX6SL_PAD_SD3_DAT3__GPIO_5_17,
};
static iomux_v3_cfg_t mx6sl_ntx_sd3_wifi_pads[] = {
MX6SL_PAD_SD3_CLK__USDHC3_CLK_50MHZ,
MX6SL_PAD_SD3_CMD__USDHC3_CMD_50MHZ,
MX6SL_PAD_SD3_DAT0__USDHC3_DAT0_50MHZ,
MX6SL_PAD_SD3_DAT1__USDHC3_DAT1_50MHZ,
MX6SL_PAD_SD3_DAT2__USDHC3_DAT2_50MHZ,
MX6SL_PAD_SD3_DAT3__USDHC3_DAT3_50MHZ,
};
static iomux_v3_cfg_t mx6sl_ntx_q22_wifictrl_pads[] = {
MX6SL_PAD_SD2_DAT6__GPIO_4_29_OUTPUT, // WiFi_3V3_ON#
MX6SL_PAD_SD2_DAT5__GPIO_4_31_INPUT, // WiFi_INT#
};
static iomux_v3_cfg_t mx6sl_ntx_q12_wifictrl_pads[] = {
MX6SL_PAD_SD2_DAT6__GPIO_4_29, // WiFi_INT#
MX6SL_PAD_SD2_DAT5__GPIO_4_31, //NC
};
#endif
|