Merge tag 'v3.3.7' into 3.3/master
[zen-stable.git] / arch / arm / mach-shmobile / include / mach / sh7372.h
blob8254ab86f6cd69439e80eb6e9313bee244134b54
1 /*
2 * Copyright (C) 2010 Renesas Solutions Corp.
4 * Kuninori Morimoto <morimoto.kuninori@renesas.com>
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.
9 */
11 #ifndef __ASM_SH7372_H__
12 #define __ASM_SH7372_H__
14 #include <linux/sh_clk.h>
15 #include <linux/pm_domain.h>
18 * Pin Function Controller:
19 * GPIO_FN_xx - GPIO used to select pin function
20 * GPIO_PORTxx - GPIO mapped to real I/O pin on CPU
22 enum {
23 /* PORT */
24 GPIO_PORT0, GPIO_PORT1, GPIO_PORT2, GPIO_PORT3, GPIO_PORT4,
25 GPIO_PORT5, GPIO_PORT6, GPIO_PORT7, GPIO_PORT8, GPIO_PORT9,
27 GPIO_PORT10, GPIO_PORT11, GPIO_PORT12, GPIO_PORT13, GPIO_PORT14,
28 GPIO_PORT15, GPIO_PORT16, GPIO_PORT17, GPIO_PORT18, GPIO_PORT19,
30 GPIO_PORT20, GPIO_PORT21, GPIO_PORT22, GPIO_PORT23, GPIO_PORT24,
31 GPIO_PORT25, GPIO_PORT26, GPIO_PORT27, GPIO_PORT28, GPIO_PORT29,
33 GPIO_PORT30, GPIO_PORT31, GPIO_PORT32, GPIO_PORT33, GPIO_PORT34,
34 GPIO_PORT35, GPIO_PORT36, GPIO_PORT37, GPIO_PORT38, GPIO_PORT39,
36 GPIO_PORT40, GPIO_PORT41, GPIO_PORT42, GPIO_PORT43, GPIO_PORT44,
37 GPIO_PORT45, GPIO_PORT46, GPIO_PORT47, GPIO_PORT48, GPIO_PORT49,
39 GPIO_PORT50, GPIO_PORT51, GPIO_PORT52, GPIO_PORT53, GPIO_PORT54,
40 GPIO_PORT55, GPIO_PORT56, GPIO_PORT57, GPIO_PORT58, GPIO_PORT59,
42 GPIO_PORT60, GPIO_PORT61, GPIO_PORT62, GPIO_PORT63, GPIO_PORT64,
43 GPIO_PORT65, GPIO_PORT66, GPIO_PORT67, GPIO_PORT68, GPIO_PORT69,
45 GPIO_PORT70, GPIO_PORT71, GPIO_PORT72, GPIO_PORT73, GPIO_PORT74,
46 GPIO_PORT75, GPIO_PORT76, GPIO_PORT77, GPIO_PORT78, GPIO_PORT79,
48 GPIO_PORT80, GPIO_PORT81, GPIO_PORT82, GPIO_PORT83, GPIO_PORT84,
49 GPIO_PORT85, GPIO_PORT86, GPIO_PORT87, GPIO_PORT88, GPIO_PORT89,
51 GPIO_PORT90, GPIO_PORT91, GPIO_PORT92, GPIO_PORT93, GPIO_PORT94,
52 GPIO_PORT95, GPIO_PORT96, GPIO_PORT97, GPIO_PORT98, GPIO_PORT99,
54 GPIO_PORT100, GPIO_PORT101, GPIO_PORT102, GPIO_PORT103, GPIO_PORT104,
55 GPIO_PORT105, GPIO_PORT106, GPIO_PORT107, GPIO_PORT108, GPIO_PORT109,
57 GPIO_PORT110, GPIO_PORT111, GPIO_PORT112, GPIO_PORT113, GPIO_PORT114,
58 GPIO_PORT115, GPIO_PORT116, GPIO_PORT117, GPIO_PORT118, GPIO_PORT119,
60 GPIO_PORT120, GPIO_PORT121, GPIO_PORT122, GPIO_PORT123, GPIO_PORT124,
61 GPIO_PORT125, GPIO_PORT126, GPIO_PORT127, GPIO_PORT128, GPIO_PORT129,
63 GPIO_PORT130, GPIO_PORT131, GPIO_PORT132, GPIO_PORT133, GPIO_PORT134,
64 GPIO_PORT135, GPIO_PORT136, GPIO_PORT137, GPIO_PORT138, GPIO_PORT139,
66 GPIO_PORT140, GPIO_PORT141, GPIO_PORT142, GPIO_PORT143, GPIO_PORT144,
67 GPIO_PORT145, GPIO_PORT146, GPIO_PORT147, GPIO_PORT148, GPIO_PORT149,
69 GPIO_PORT150, GPIO_PORT151, GPIO_PORT152, GPIO_PORT153, GPIO_PORT154,
70 GPIO_PORT155, GPIO_PORT156, GPIO_PORT157, GPIO_PORT158, GPIO_PORT159,
72 GPIO_PORT160, GPIO_PORT161, GPIO_PORT162, GPIO_PORT163, GPIO_PORT164,
73 GPIO_PORT165, GPIO_PORT166, GPIO_PORT167, GPIO_PORT168, GPIO_PORT169,
75 GPIO_PORT170, GPIO_PORT171, GPIO_PORT172, GPIO_PORT173, GPIO_PORT174,
76 GPIO_PORT175, GPIO_PORT176, GPIO_PORT177, GPIO_PORT178, GPIO_PORT179,
78 GPIO_PORT180, GPIO_PORT181, GPIO_PORT182, GPIO_PORT183, GPIO_PORT184,
79 GPIO_PORT185, GPIO_PORT186, GPIO_PORT187, GPIO_PORT188, GPIO_PORT189,
81 GPIO_PORT190,
83 /* IRQ */
84 GPIO_FN_IRQ0_6, /* PORT 6 */
85 GPIO_FN_IRQ0_162, /* PORT 162 */
86 GPIO_FN_IRQ1, /* PORT 12 */
87 GPIO_FN_IRQ2_4, /* PORT 4 */
88 GPIO_FN_IRQ2_5, /* PORT 5 */
89 GPIO_FN_IRQ3_8, /* PORT 8 */
90 GPIO_FN_IRQ3_16, /* PORT 16 */
91 GPIO_FN_IRQ4_17, /* PORT 17 */
92 GPIO_FN_IRQ4_163, /* PORT 163 */
93 GPIO_FN_IRQ5, /* PORT 18 */
94 GPIO_FN_IRQ6_39, /* PORT 39 */
95 GPIO_FN_IRQ6_164, /* PORT 164 */
96 GPIO_FN_IRQ7_40, /* PORT 40 */
97 GPIO_FN_IRQ7_167, /* PORT 167 */
98 GPIO_FN_IRQ8_41, /* PORT 41 */
99 GPIO_FN_IRQ8_168, /* PORT 168 */
100 GPIO_FN_IRQ9_42, /* PORT 42 */
101 GPIO_FN_IRQ9_169, /* PORT 169 */
102 GPIO_FN_IRQ10, /* PORT 65 */
103 GPIO_FN_IRQ11, /* PORT 67 */
104 GPIO_FN_IRQ12_80, /* PORT 80 */
105 GPIO_FN_IRQ12_137, /* PORT 137 */
106 GPIO_FN_IRQ13_81, /* PORT 81 */
107 GPIO_FN_IRQ13_145, /* PORT 145 */
108 GPIO_FN_IRQ14_82, /* PORT 82 */
109 GPIO_FN_IRQ14_146, /* PORT 146 */
110 GPIO_FN_IRQ15_83, /* PORT 83 */
111 GPIO_FN_IRQ15_147, /* PORT 147 */
112 GPIO_FN_IRQ16_84, /* PORT 84 */
113 GPIO_FN_IRQ16_170, /* PORT 170 */
114 GPIO_FN_IRQ17, /* PORT 85 */
115 GPIO_FN_IRQ18, /* PORT 86 */
116 GPIO_FN_IRQ19, /* PORT 87 */
117 GPIO_FN_IRQ20, /* PORT 92 */
118 GPIO_FN_IRQ21, /* PORT 93 */
119 GPIO_FN_IRQ22, /* PORT 94 */
120 GPIO_FN_IRQ23, /* PORT 95 */
121 GPIO_FN_IRQ24, /* PORT 112 */
122 GPIO_FN_IRQ25, /* PORT 119 */
123 GPIO_FN_IRQ26_121, /* PORT 121 */
124 GPIO_FN_IRQ26_172, /* PORT 172 */
125 GPIO_FN_IRQ27_122, /* PORT 122 */
126 GPIO_FN_IRQ27_180, /* PORT 180 */
127 GPIO_FN_IRQ28_123, /* PORT 123 */
128 GPIO_FN_IRQ28_181, /* PORT 181 */
129 GPIO_FN_IRQ29_129, /* PORT 129 */
130 GPIO_FN_IRQ29_182, /* PORT 182 */
131 GPIO_FN_IRQ30_130, /* PORT 130 */
132 GPIO_FN_IRQ30_183, /* PORT 183 */
133 GPIO_FN_IRQ31_138, /* PORT 138 */
134 GPIO_FN_IRQ31_184, /* PORT 184 */
137 * MSIOF0 (PORT 36, 37, 38, 39
138 * 40, 41, 42, 43, 44, 45)
140 GPIO_FN_MSIOF0_TSYNC, GPIO_FN_MSIOF0_TSCK,
141 GPIO_FN_MSIOF0_RXD, GPIO_FN_MSIOF0_RSCK,
142 GPIO_FN_MSIOF0_RSYNC, GPIO_FN_MSIOF0_MCK0,
143 GPIO_FN_MSIOF0_MCK1, GPIO_FN_MSIOF0_SS1,
144 GPIO_FN_MSIOF0_SS2, GPIO_FN_MSIOF0_TXD,
147 * MSIOF1 (PORT 39, 40, 41, 42, 43, 44
148 * 84, 85, 86, 87, 88, 89, 90, 91, 92, 93)
150 GPIO_FN_MSIOF1_TSCK_39, GPIO_FN_MSIOF1_TSYNC_40,
151 GPIO_FN_MSIOF1_TSCK_88, GPIO_FN_MSIOF1_TSYNC_89,
152 GPIO_FN_MSIOF1_TXD_41, GPIO_FN_MSIOF1_RXD_42,
153 GPIO_FN_MSIOF1_TXD_90, GPIO_FN_MSIOF1_RXD_91,
154 GPIO_FN_MSIOF1_SS1_43, GPIO_FN_MSIOF1_SS2_44,
155 GPIO_FN_MSIOF1_SS1_92, GPIO_FN_MSIOF1_SS2_93,
156 GPIO_FN_MSIOF1_RSCK, GPIO_FN_MSIOF1_RSYNC,
157 GPIO_FN_MSIOF1_MCK0, GPIO_FN_MSIOF1_MCK1,
160 * MSIOF2 (PORT 134, 135, 136, 137, 138, 139
161 * 148, 149, 150, 151)
163 GPIO_FN_MSIOF2_RSCK, GPIO_FN_MSIOF2_RSYNC,
164 GPIO_FN_MSIOF2_MCK0, GPIO_FN_MSIOF2_MCK1,
165 GPIO_FN_MSIOF2_SS1, GPIO_FN_MSIOF2_SS2,
166 GPIO_FN_MSIOF2_TSYNC, GPIO_FN_MSIOF2_TSCK,
167 GPIO_FN_MSIOF2_RXD, GPIO_FN_MSIOF2_TXD,
169 /* MSIOF3 (PORT 76, 77, 78, 79, 80, 81, 82, 83) */
170 GPIO_FN_BBIF1_RXD, GPIO_FN_BBIF1_TSYNC,
171 GPIO_FN_BBIF1_TSCK, GPIO_FN_BBIF1_TXD,
172 GPIO_FN_BBIF1_RSCK, GPIO_FN_BBIF1_RSYNC,
173 GPIO_FN_BBIF1_FLOW, GPIO_FN_BB_RX_FLOW_N,
175 /* MSIOF4 (PORT 0, 1, 2, 3) */
176 GPIO_FN_BBIF2_TSCK1, GPIO_FN_BBIF2_TSYNC1,
177 GPIO_FN_BBIF2_TXD1, GPIO_FN_BBIF2_RXD,
179 /* FSI (PORT 4, 5, 6, 7, 8, 9, 10, 11, 15) */
180 GPIO_FN_FSIACK, GPIO_FN_FSIBCK,
181 GPIO_FN_FSIAILR, GPIO_FN_FSIAIBT,
182 GPIO_FN_FSIAISLD, GPIO_FN_FSIAOMC,
183 GPIO_FN_FSIAOLR, GPIO_FN_FSIAOBT,
184 GPIO_FN_FSIAOSLD, GPIO_FN_FSIASPDIF_11,
185 GPIO_FN_FSIASPDIF_15,
187 /* FMSI (PORT 12, 13, 14, 15, 16, 17, 18, 65) */
188 GPIO_FN_FMSOCK, GPIO_FN_FMSOOLR,
189 GPIO_FN_FMSIOLR, GPIO_FN_FMSOOBT,
190 GPIO_FN_FMSIOBT, GPIO_FN_FMSOSLD,
191 GPIO_FN_FMSOILR, GPIO_FN_FMSIILR,
192 GPIO_FN_FMSOIBT, GPIO_FN_FMSIIBT,
193 GPIO_FN_FMSISLD, GPIO_FN_FMSICK,
195 /* SCIFA0 (PORT 152, 153, 156, 157, 158) */
196 GPIO_FN_SCIFA0_TXD, GPIO_FN_SCIFA0_RXD,
197 GPIO_FN_SCIFA0_SCK, GPIO_FN_SCIFA0_RTS,
198 GPIO_FN_SCIFA0_CTS,
200 /* SCIFA1 (PORT 154, 155, 159, 160, 161) */
201 GPIO_FN_SCIFA1_TXD, GPIO_FN_SCIFA1_RXD,
202 GPIO_FN_SCIFA1_SCK, GPIO_FN_SCIFA1_RTS,
203 GPIO_FN_SCIFA1_CTS,
205 /* SCIFA2 (PORT 94, 95, 96, 97, 98) */
206 GPIO_FN_SCIFA2_CTS1, GPIO_FN_SCIFA2_RTS1,
207 GPIO_FN_SCIFA2_TXD1, GPIO_FN_SCIFA2_RXD1,
208 GPIO_FN_SCIFA2_SCK1,
210 /* SCIFA3 (PORT 43, 44,
211 140, 141, 142, 143, 144) */
212 GPIO_FN_SCIFA3_CTS_43, GPIO_FN_SCIFA3_CTS_140,
213 GPIO_FN_SCIFA3_RTS_44, GPIO_FN_SCIFA3_RTS_141,
214 GPIO_FN_SCIFA3_SCK, GPIO_FN_SCIFA3_TXD,
215 GPIO_FN_SCIFA3_RXD,
217 /* SCIFA4 (PORT 5, 6) */
218 GPIO_FN_SCIFA4_RXD, GPIO_FN_SCIFA4_TXD,
220 /* SCIFA5 (PORT 8, 12) */
221 GPIO_FN_SCIFA5_RXD, GPIO_FN_SCIFA5_TXD,
223 /* SCIFB (PORT 162, 163, 164, 165, 166) */
224 GPIO_FN_SCIFB_SCK, GPIO_FN_SCIFB_RTS,
225 GPIO_FN_SCIFB_CTS, GPIO_FN_SCIFB_TXD,
226 GPIO_FN_SCIFB_RXD,
229 * CEU (PORT 16, 17,
230 * 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
231 * 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
232 * 120)
234 GPIO_FN_VIO_HD, GPIO_FN_VIO_CKO1, GPIO_FN_VIO_CKO2,
235 GPIO_FN_VIO_VD, GPIO_FN_VIO_CLK, GPIO_FN_VIO_FIELD,
236 GPIO_FN_VIO_CKO,
237 GPIO_FN_VIO_D0, GPIO_FN_VIO_D1, GPIO_FN_VIO_D2,
238 GPIO_FN_VIO_D3, GPIO_FN_VIO_D4, GPIO_FN_VIO_D5,
239 GPIO_FN_VIO_D6, GPIO_FN_VIO_D7, GPIO_FN_VIO_D8,
240 GPIO_FN_VIO_D9, GPIO_FN_VIO_D10, GPIO_FN_VIO_D11,
241 GPIO_FN_VIO_D12, GPIO_FN_VIO_D13, GPIO_FN_VIO_D14,
242 GPIO_FN_VIO_D15,
244 /* USB0 (PORT 113, 114, 115, 116, 117, 167) */
245 GPIO_FN_IDIN_0, GPIO_FN_EXTLP_0,
246 GPIO_FN_OVCN2_0, GPIO_FN_PWEN_0,
247 GPIO_FN_OVCN_0, GPIO_FN_VBUS0_0,
249 /* USB1 (PORT 18, 113, 114, 115, 116, 117, 138, 162, 168) */
250 GPIO_FN_IDIN_1_18, GPIO_FN_IDIN_1_113,
251 GPIO_FN_PWEN_1_115, GPIO_FN_PWEN_1_138,
252 GPIO_FN_OVCN_1_114, GPIO_FN_OVCN_1_162,
253 GPIO_FN_EXTLP_1, GPIO_FN_OVCN2_1,
254 GPIO_FN_VBUS0_1,
256 /* GPIO (PORT 41, 42, 43, 44) */
257 GPIO_FN_GPI0, GPIO_FN_GPI1, GPIO_FN_GPO0, GPIO_FN_GPO1,
260 * BSC (PORT 19,
261 * 20, 21, 22, 25, 26, 27, 28, 29,
262 * 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
263 * 40, 41, 42, 43, 44, 45,
264 * 62, 63, 64, 65, 66, 67,
265 * 71, 72, 74, 75)
267 GPIO_FN_BS, GPIO_FN_WE1,
268 GPIO_FN_CKO, GPIO_FN_WAIT, GPIO_FN_RDWR,
270 GPIO_FN_A0, GPIO_FN_A1, GPIO_FN_A2, GPIO_FN_A3,
271 GPIO_FN_A6, GPIO_FN_A7, GPIO_FN_A8, GPIO_FN_A9,
272 GPIO_FN_A10, GPIO_FN_A11, GPIO_FN_A12, GPIO_FN_A13,
273 GPIO_FN_A14, GPIO_FN_A15, GPIO_FN_A16, GPIO_FN_A17,
274 GPIO_FN_A18, GPIO_FN_A19, GPIO_FN_A20, GPIO_FN_A21,
275 GPIO_FN_A22, GPIO_FN_A23, GPIO_FN_A24, GPIO_FN_A25,
276 GPIO_FN_A26,
278 GPIO_FN_CS0, GPIO_FN_CS2, GPIO_FN_CS4,
279 GPIO_FN_CS5A, GPIO_FN_CS5B, GPIO_FN_CS6A,
282 * BSC/FLCTL (PORT 23, 24,
283 * 46, 47, 48, 49,
284 * 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
285 * 60, 61, 69, 70)
287 GPIO_FN_RD_FSC, GPIO_FN_WE0_FWE,
288 GPIO_FN_A4_FOE, GPIO_FN_A5_FCDE,
289 GPIO_FN_D0_NAF0, GPIO_FN_D1_NAF1, GPIO_FN_D2_NAF2,
290 GPIO_FN_D3_NAF3, GPIO_FN_D4_NAF4, GPIO_FN_D5_NAF5,
291 GPIO_FN_D6_NAF6, GPIO_FN_D7_NAF7, GPIO_FN_D8_NAF8,
292 GPIO_FN_D9_NAF9, GPIO_FN_D10_NAF10, GPIO_FN_D11_NAF11,
293 GPIO_FN_D12_NAF12, GPIO_FN_D13_NAF13, GPIO_FN_D14_NAF14,
294 GPIO_FN_D15_NAF15,
297 * MMCIF(1) (PORT 84, 85, 86, 87, 88, 89,
298 * 90, 91, 92, 99)
300 GPIO_FN_MMCD0_0, GPIO_FN_MMCD0_1, GPIO_FN_MMCD0_2,
301 GPIO_FN_MMCD0_3, GPIO_FN_MMCD0_4, GPIO_FN_MMCD0_5,
302 GPIO_FN_MMCD0_6, GPIO_FN_MMCD0_7,
303 GPIO_FN_MMCCMD0, GPIO_FN_MMCCLK0,
305 /* MMCIF(2) (PORT 54, 55, 56, 57, 58, 59, 60, 61, 66, 67) */
306 GPIO_FN_MMCD1_0, GPIO_FN_MMCD1_1, GPIO_FN_MMCD1_2,
307 GPIO_FN_MMCD1_3, GPIO_FN_MMCD1_4, GPIO_FN_MMCD1_5,
308 GPIO_FN_MMCD1_6, GPIO_FN_MMCD1_7,
309 GPIO_FN_MMCCLK1, GPIO_FN_MMCCMD1,
311 /* SPU2 (PORT 65) */
312 GPIO_FN_VINT_I,
314 /* FLCTL (PORT 66, 68, 73) */
315 GPIO_FN_FCE1, GPIO_FN_FCE0, GPIO_FN_FRB,
317 /* HSI (PORT 76, 77, 78, 79, 80, 81, 82, 83) */
318 GPIO_FN_GP_RX_FLAG, GPIO_FN_GP_RX_DATA, GPIO_FN_GP_TX_READY,
319 GPIO_FN_GP_RX_WAKE, GPIO_FN_MP_TX_FLAG, GPIO_FN_MP_TX_DATA,
320 GPIO_FN_MP_RX_READY, GPIO_FN_MP_TX_WAKE,
323 * MFI (PORT 76, 77, 78, 79,
324 * 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
325 * 90, 91, 92, 93, 94, 95, 96, 97, 98, 99)
327 GPIO_FN_MFIv6, /* see MSEL4CR 6 */
328 GPIO_FN_MFIv4, /* see MSEL4CR 6 */
330 GPIO_FN_MEMC_CS0, GPIO_FN_MEMC_BUSCLK_MEMC_A0,
331 GPIO_FN_MEMC_CS1_MEMC_A1, GPIO_FN_MEMC_ADV_MEMC_DREQ0,
332 GPIO_FN_MEMC_WAIT_MEMC_DREQ1, GPIO_FN_MEMC_NOE,
333 GPIO_FN_MEMC_NWE, GPIO_FN_MEMC_INT,
335 GPIO_FN_MEMC_AD0, GPIO_FN_MEMC_AD1, GPIO_FN_MEMC_AD2,
336 GPIO_FN_MEMC_AD3, GPIO_FN_MEMC_AD4, GPIO_FN_MEMC_AD5,
337 GPIO_FN_MEMC_AD6, GPIO_FN_MEMC_AD7, GPIO_FN_MEMC_AD8,
338 GPIO_FN_MEMC_AD9, GPIO_FN_MEMC_AD10, GPIO_FN_MEMC_AD11,
339 GPIO_FN_MEMC_AD12, GPIO_FN_MEMC_AD13, GPIO_FN_MEMC_AD14,
340 GPIO_FN_MEMC_AD15,
342 /* SIM (PORT 94, 95, 98) */
343 GPIO_FN_SIM_RST, GPIO_FN_SIM_CLK, GPIO_FN_SIM_D,
345 /* TPU (PORT 93, 99, 112, 160, 161) */
346 GPIO_FN_TPU0TO0, GPIO_FN_TPU0TO1,
347 GPIO_FN_TPU0TO2_93, GPIO_FN_TPU0TO2_99,
348 GPIO_FN_TPU0TO3,
350 /* I2C2 (PORT 110, 111) */
351 GPIO_FN_I2C_SCL2, GPIO_FN_I2C_SDA2,
353 /* I2C3(1) (PORT 114, 115) */
354 GPIO_FN_I2C_SCL3, GPIO_FN_I2C_SDA3,
356 /* I2C3(2) (PORT 137, 145) */
357 GPIO_FN_I2C_SCL3S, GPIO_FN_I2C_SDA3S,
359 /* I2C4(2) (PORT 116, 117) */
360 GPIO_FN_I2C_SCL4, GPIO_FN_I2C_SDA4,
362 /* I2C4(2) (PORT 146, 147) */
363 GPIO_FN_I2C_SCL4S, GPIO_FN_I2C_SDA4S,
366 * KEYSC (PORT 121, 122, 123, 124, 125, 126, 127, 128, 129,
367 * 130, 131, 132, 133, 134, 135, 136)
369 GPIO_FN_KEYOUT0, GPIO_FN_KEYIN0_121, GPIO_FN_KEYIN0_136,
370 GPIO_FN_KEYOUT1, GPIO_FN_KEYIN1_122, GPIO_FN_KEYIN1_135,
371 GPIO_FN_KEYOUT2, GPIO_FN_KEYIN2_123, GPIO_FN_KEYIN2_134,
372 GPIO_FN_KEYOUT3, GPIO_FN_KEYIN3_124, GPIO_FN_KEYIN3_133,
373 GPIO_FN_KEYOUT4, GPIO_FN_KEYIN4,
374 GPIO_FN_KEYOUT5, GPIO_FN_KEYIN5,
375 GPIO_FN_KEYOUT6, GPIO_FN_KEYIN6,
376 GPIO_FN_KEYOUT7, GPIO_FN_KEYIN7,
379 * LCDC (PORT 121, 122, 123, 124, 125, 126, 127, 128, 129,
380 * 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
381 * 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
382 * 150, 151)
384 GPIO_FN_LCDC0_SELECT, /* LCDC 0 */
385 GPIO_FN_LCDC1_SELECT, /* LCDC 1 */
386 GPIO_FN_LCDHSYN, GPIO_FN_LCDCS, GPIO_FN_LCDVSYN,
387 GPIO_FN_LCDDCK, GPIO_FN_LCDWR, GPIO_FN_LCDRD,
388 GPIO_FN_LCDDISP, GPIO_FN_LCDRS, GPIO_FN_LCDLCLK,
389 GPIO_FN_LCDDON,
391 GPIO_FN_LCDD0, GPIO_FN_LCDD1, GPIO_FN_LCDD2, GPIO_FN_LCDD3,
392 GPIO_FN_LCDD4, GPIO_FN_LCDD5, GPIO_FN_LCDD6, GPIO_FN_LCDD7,
393 GPIO_FN_LCDD8, GPIO_FN_LCDD9, GPIO_FN_LCDD10, GPIO_FN_LCDD11,
394 GPIO_FN_LCDD12, GPIO_FN_LCDD13, GPIO_FN_LCDD14, GPIO_FN_LCDD15,
395 GPIO_FN_LCDD16, GPIO_FN_LCDD17, GPIO_FN_LCDD18, GPIO_FN_LCDD19,
396 GPIO_FN_LCDD20, GPIO_FN_LCDD21, GPIO_FN_LCDD22, GPIO_FN_LCDD23,
398 /* IRDA (PORT 139, 140, 141, 142) */
399 GPIO_FN_IRDA_OUT, GPIO_FN_IRDA_IN, GPIO_FN_IRDA_FIRSEL,
400 GPIO_FN_IROUT_139, GPIO_FN_IROUT_140,
402 /* TSIF1 (PORT 156, 157, 158, 159) */
403 GPIO_FN_TS0_1SELECT, /* TSIF0 - 1 select */
404 GPIO_FN_TS0_2SELECT, /* TSIF0 - 2 select */
405 GPIO_FN_TS1_1SELECT, /* TSIF1 - 1 select */
406 GPIO_FN_TS1_2SELECT, /* TSIF1 - 2 select */
408 GPIO_FN_TS_SPSYNC1, GPIO_FN_TS_SDAT1,
409 GPIO_FN_TS_SDEN1, GPIO_FN_TS_SCK1,
411 /* TSIF2 (PORT 137, 145, 146, 147) */
412 GPIO_FN_TS_SPSYNC2, GPIO_FN_TS_SDAT2,
413 GPIO_FN_TS_SDEN2, GPIO_FN_TS_SCK2,
415 /* HDMI (PORT 169, 170) */
416 GPIO_FN_HDMI_HPD, GPIO_FN_HDMI_CEC,
418 /* SDHI0 (PORT 171, 172, 173, 174, 175, 176, 177, 178) */
419 GPIO_FN_SDHICLK0, GPIO_FN_SDHICD0,
420 GPIO_FN_SDHICMD0, GPIO_FN_SDHIWP0,
421 GPIO_FN_SDHID0_0, GPIO_FN_SDHID0_1,
422 GPIO_FN_SDHID0_2, GPIO_FN_SDHID0_3,
424 /* SDHI1 (PORT 179, 180, 181, 182, 183, 184) */
425 GPIO_FN_SDHICLK1, GPIO_FN_SDHICMD1, GPIO_FN_SDHID1_0,
426 GPIO_FN_SDHID1_1, GPIO_FN_SDHID1_2, GPIO_FN_SDHID1_3,
428 /* SDHI2 (PORT 185, 186, 187, 188, 189, 190) */
429 GPIO_FN_SDHICLK2, GPIO_FN_SDHICMD2, GPIO_FN_SDHID2_0,
430 GPIO_FN_SDHID2_1, GPIO_FN_SDHID2_2, GPIO_FN_SDHID2_3,
432 /* SDENC see MSEL4CR 19 */
433 GPIO_FN_SDENC_CPG,
434 GPIO_FN_SDENC_DV_CLKI,
437 /* DMA slave IDs */
438 enum {
439 SHDMA_SLAVE_INVALID,
440 SHDMA_SLAVE_SCIF0_TX,
441 SHDMA_SLAVE_SCIF0_RX,
442 SHDMA_SLAVE_SCIF1_TX,
443 SHDMA_SLAVE_SCIF1_RX,
444 SHDMA_SLAVE_SCIF2_TX,
445 SHDMA_SLAVE_SCIF2_RX,
446 SHDMA_SLAVE_SCIF3_TX,
447 SHDMA_SLAVE_SCIF3_RX,
448 SHDMA_SLAVE_SCIF4_TX,
449 SHDMA_SLAVE_SCIF4_RX,
450 SHDMA_SLAVE_SCIF5_TX,
451 SHDMA_SLAVE_SCIF5_RX,
452 SHDMA_SLAVE_SCIF6_TX,
453 SHDMA_SLAVE_SCIF6_RX,
454 SHDMA_SLAVE_SDHI0_RX,
455 SHDMA_SLAVE_SDHI0_TX,
456 SHDMA_SLAVE_SDHI1_RX,
457 SHDMA_SLAVE_SDHI1_TX,
458 SHDMA_SLAVE_SDHI2_RX,
459 SHDMA_SLAVE_SDHI2_TX,
460 SHDMA_SLAVE_MMCIF_RX,
461 SHDMA_SLAVE_MMCIF_TX,
462 SHDMA_SLAVE_USB0_TX,
463 SHDMA_SLAVE_USB0_RX,
464 SHDMA_SLAVE_USB1_TX,
465 SHDMA_SLAVE_USB1_RX,
468 extern struct clk sh7372_extal1_clk;
469 extern struct clk sh7372_extal2_clk;
470 extern struct clk sh7372_dv_clki_clk;
471 extern struct clk sh7372_dv_clki_div2_clk;
472 extern struct clk sh7372_pllc2_clk;
473 extern struct clk sh7372_fsiack_clk;
474 extern struct clk sh7372_fsibck_clk;
475 extern struct clk sh7372_fsidiva_clk;
476 extern struct clk sh7372_fsidivb_clk;
478 struct platform_device;
480 struct sh7372_pm_domain {
481 struct generic_pm_domain genpd;
482 struct dev_power_governor *gov;
483 int (*suspend)(void);
484 void (*resume)(void);
485 unsigned int bit_shift;
486 bool no_debug;
489 static inline struct sh7372_pm_domain *to_sh7372_pd(struct generic_pm_domain *d)
491 return container_of(d, struct sh7372_pm_domain, genpd);
494 #ifdef CONFIG_PM
495 extern struct sh7372_pm_domain sh7372_a4lc;
496 extern struct sh7372_pm_domain sh7372_a4mp;
497 extern struct sh7372_pm_domain sh7372_d4;
498 extern struct sh7372_pm_domain sh7372_a4r;
499 extern struct sh7372_pm_domain sh7372_a3rv;
500 extern struct sh7372_pm_domain sh7372_a3ri;
501 extern struct sh7372_pm_domain sh7372_a4s;
502 extern struct sh7372_pm_domain sh7372_a3sp;
503 extern struct sh7372_pm_domain sh7372_a3sg;
505 extern void sh7372_init_pm_domain(struct sh7372_pm_domain *sh7372_pd);
506 extern void sh7372_add_device_to_domain(struct sh7372_pm_domain *sh7372_pd,
507 struct platform_device *pdev);
508 extern void sh7372_pm_add_subdomain(struct sh7372_pm_domain *sh7372_pd,
509 struct sh7372_pm_domain *sh7372_sd);
510 #else
511 #define sh7372_init_pm_domain(pd) do { } while(0)
512 #define sh7372_add_device_to_domain(pd, pdev) do { } while(0)
513 #define sh7372_pm_add_subdomain(pd, sd) do { } while(0)
514 #endif /* CONFIG_PM */
516 extern void sh7372_intcs_suspend(void);
517 extern void sh7372_intcs_resume(void);
518 extern void sh7372_intca_suspend(void);
519 extern void sh7372_intca_resume(void);
521 #endif /* __ASM_SH7372_H__ */