Merge branch 'x86-spinlocks-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.git] / arch / arm / mach-shmobile / include / mach / sh7372.h
1 /*
2  * Copyright (C) 2010 Renesas Solutions Corp.
3  *
4  * Kuninori Morimoto <morimoto.kuninori@renesas.com>
5  *
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  */
10
11 #ifndef __ASM_SH7372_H__
12 #define __ASM_SH7372_H__
13
14 #include <linux/sh_clk.h>
15 #include <linux/pm_domain.h>
16
17 /*
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
21  */
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,
26
27         GPIO_PORT10, GPIO_PORT11, GPIO_PORT12, GPIO_PORT13, GPIO_PORT14,
28         GPIO_PORT15, GPIO_PORT16, GPIO_PORT17, GPIO_PORT18, GPIO_PORT19,
29
30         GPIO_PORT20, GPIO_PORT21, GPIO_PORT22, GPIO_PORT23, GPIO_PORT24,
31         GPIO_PORT25, GPIO_PORT26, GPIO_PORT27, GPIO_PORT28, GPIO_PORT29,
32
33         GPIO_PORT30, GPIO_PORT31, GPIO_PORT32, GPIO_PORT33, GPIO_PORT34,
34         GPIO_PORT35, GPIO_PORT36, GPIO_PORT37, GPIO_PORT38, GPIO_PORT39,
35
36         GPIO_PORT40, GPIO_PORT41, GPIO_PORT42, GPIO_PORT43, GPIO_PORT44,
37         GPIO_PORT45, GPIO_PORT46, GPIO_PORT47, GPIO_PORT48, GPIO_PORT49,
38
39         GPIO_PORT50, GPIO_PORT51, GPIO_PORT52, GPIO_PORT53, GPIO_PORT54,
40         GPIO_PORT55, GPIO_PORT56, GPIO_PORT57, GPIO_PORT58, GPIO_PORT59,
41
42         GPIO_PORT60, GPIO_PORT61, GPIO_PORT62, GPIO_PORT63, GPIO_PORT64,
43         GPIO_PORT65, GPIO_PORT66, GPIO_PORT67, GPIO_PORT68, GPIO_PORT69,
44
45         GPIO_PORT70, GPIO_PORT71, GPIO_PORT72, GPIO_PORT73, GPIO_PORT74,
46         GPIO_PORT75, GPIO_PORT76, GPIO_PORT77, GPIO_PORT78, GPIO_PORT79,
47
48         GPIO_PORT80, GPIO_PORT81, GPIO_PORT82, GPIO_PORT83, GPIO_PORT84,
49         GPIO_PORT85, GPIO_PORT86, GPIO_PORT87, GPIO_PORT88, GPIO_PORT89,
50
51         GPIO_PORT90, GPIO_PORT91, GPIO_PORT92, GPIO_PORT93, GPIO_PORT94,
52         GPIO_PORT95, GPIO_PORT96, GPIO_PORT97, GPIO_PORT98, GPIO_PORT99,
53
54         GPIO_PORT100, GPIO_PORT101, GPIO_PORT102, GPIO_PORT103, GPIO_PORT104,
55         GPIO_PORT105, GPIO_PORT106, GPIO_PORT107, GPIO_PORT108, GPIO_PORT109,
56
57         GPIO_PORT110, GPIO_PORT111, GPIO_PORT112, GPIO_PORT113, GPIO_PORT114,
58         GPIO_PORT115, GPIO_PORT116, GPIO_PORT117, GPIO_PORT118, GPIO_PORT119,
59
60         GPIO_PORT120, GPIO_PORT121, GPIO_PORT122, GPIO_PORT123, GPIO_PORT124,
61         GPIO_PORT125, GPIO_PORT126, GPIO_PORT127, GPIO_PORT128, GPIO_PORT129,
62
63         GPIO_PORT130, GPIO_PORT131, GPIO_PORT132, GPIO_PORT133, GPIO_PORT134,
64         GPIO_PORT135, GPIO_PORT136, GPIO_PORT137, GPIO_PORT138, GPIO_PORT139,
65
66         GPIO_PORT140, GPIO_PORT141, GPIO_PORT142, GPIO_PORT143, GPIO_PORT144,
67         GPIO_PORT145, GPIO_PORT146, GPIO_PORT147, GPIO_PORT148, GPIO_PORT149,
68
69         GPIO_PORT150, GPIO_PORT151, GPIO_PORT152, GPIO_PORT153, GPIO_PORT154,
70         GPIO_PORT155, GPIO_PORT156, GPIO_PORT157, GPIO_PORT158, GPIO_PORT159,
71
72         GPIO_PORT160, GPIO_PORT161, GPIO_PORT162, GPIO_PORT163, GPIO_PORT164,
73         GPIO_PORT165, GPIO_PORT166, GPIO_PORT167, GPIO_PORT168, GPIO_PORT169,
74
75         GPIO_PORT170, GPIO_PORT171, GPIO_PORT172, GPIO_PORT173, GPIO_PORT174,
76         GPIO_PORT175, GPIO_PORT176, GPIO_PORT177, GPIO_PORT178, GPIO_PORT179,
77
78         GPIO_PORT180, GPIO_PORT181, GPIO_PORT182, GPIO_PORT183, GPIO_PORT184,
79         GPIO_PORT185, GPIO_PORT186, GPIO_PORT187, GPIO_PORT188, GPIO_PORT189,
80
81         GPIO_PORT190,
82
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 */
135
136         /*
137          * MSIOF0       (PORT 36, 37, 38, 39
138          *                    40, 41, 42, 43, 44, 45)
139          */
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,
145
146         /*
147          * MSIOF1       (PORT 39, 40, 41, 42, 43, 44
148          *                    84, 85, 86, 87, 88, 89, 90, 91, 92, 93)
149          */
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,
158
159         /*
160          * MSIOF2       (PORT 134, 135, 136, 137, 138, 139
161          *                    148, 149, 150, 151)
162          */
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,
168
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,
174
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,
178
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,
186
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,
194
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,
199
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,
204
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,
209
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,
216
217         /* SCIFA4       (PORT 5, 6) */
218         GPIO_FN_SCIFA4_RXD,     GPIO_FN_SCIFA4_TXD,
219
220         /* SCIFA5       (PORT 8, 12) */
221         GPIO_FN_SCIFA5_RXD,     GPIO_FN_SCIFA5_TXD,
222
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,
227
228         /*
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)
233          */
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,
243
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,
248
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,
255
256         /* GPIO         (PORT 41, 42, 43, 44) */
257         GPIO_FN_GPI0,   GPIO_FN_GPI1,   GPIO_FN_GPO0,   GPIO_FN_GPO1,
258
259         /*
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)
266          */
267         GPIO_FN_BS,     GPIO_FN_WE1,
268         GPIO_FN_CKO,    GPIO_FN_WAIT,   GPIO_FN_RDWR,
269
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,
277
278         GPIO_FN_CS0,    GPIO_FN_CS2,    GPIO_FN_CS4,
279         GPIO_FN_CS5A,   GPIO_FN_CS5B,   GPIO_FN_CS6A,
280
281         /*
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)
286          */
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,
295
296         /*
297          * MMCIF(1)             (PORT 84, 85, 86, 87, 88, 89,
298          *                            90, 91, 92, 99)
299          */
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,
304
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,
310
311         /* SPU2         (PORT 65) */
312         GPIO_FN_VINT_I,
313
314         /* FLCTL        (PORT 66, 68, 73) */
315         GPIO_FN_FCE1,   GPIO_FN_FCE0,   GPIO_FN_FRB,
316
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,
321
322         /*
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)
326          */
327         GPIO_FN_MFIv6,  /* see MSEL4CR 6 */
328         GPIO_FN_MFIv4,  /* see MSEL4CR 6 */
329
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,
334
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,
341
342         /* SIM          (PORT 94, 95, 98) */
343         GPIO_FN_SIM_RST,        GPIO_FN_SIM_CLK,        GPIO_FN_SIM_D,
344
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,
349
350         /* I2C2         (PORT 110, 111) */
351         GPIO_FN_I2C_SCL2,       GPIO_FN_I2C_SDA2,
352
353         /* I2C3(1)      (PORT 114, 115) */
354         GPIO_FN_I2C_SCL3,       GPIO_FN_I2C_SDA3,
355
356         /* I2C3(2)      (PORT 137, 145) */
357         GPIO_FN_I2C_SCL3S,      GPIO_FN_I2C_SDA3S,
358
359         /* I2C4(2)      (PORT 116, 117) */
360         GPIO_FN_I2C_SCL4,       GPIO_FN_I2C_SDA4,
361
362         /* I2C4(2)      (PORT 146, 147) */
363         GPIO_FN_I2C_SCL4S,      GPIO_FN_I2C_SDA4S,
364
365         /*
366          * KEYSC        (PORT 121, 122, 123, 124, 125, 126, 127, 128, 129,
367          *                    130, 131, 132, 133, 134, 135, 136)
368          */
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,
377
378         /*
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)
383          */
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,
390
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,
397
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,
401
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 */
407
408         GPIO_FN_TS_SPSYNC1,     GPIO_FN_TS_SDAT1,
409         GPIO_FN_TS_SDEN1,       GPIO_FN_TS_SCK1,
410
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,
414
415         /* HDMI         (PORT 169, 170) */
416         GPIO_FN_HDMI_HPD,       GPIO_FN_HDMI_CEC,
417
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,
423
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,
427
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,
431
432         /* SDENC        see MSEL4CR 19 */
433         GPIO_FN_SDENC_CPG,
434         GPIO_FN_SDENC_DV_CLKI,
435 };
436
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,
466 };
467
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;
477
478 struct platform_device;
479
480 struct sh7372_pm_domain {
481         struct generic_pm_domain genpd;
482         struct dev_power_governor *gov;
483         void (*suspend)(void);
484         void (*resume)(void);
485         unsigned int bit_shift;
486         bool no_debug;
487         bool stay_on;
488 };
489
490 static inline struct sh7372_pm_domain *to_sh7372_pd(struct generic_pm_domain *d)
491 {
492         return container_of(d, struct sh7372_pm_domain, genpd);
493 }
494
495 #ifdef CONFIG_PM
496 extern struct sh7372_pm_domain sh7372_a4lc;
497 extern struct sh7372_pm_domain sh7372_a4mp;
498 extern struct sh7372_pm_domain sh7372_d4;
499 extern struct sh7372_pm_domain sh7372_a4r;
500 extern struct sh7372_pm_domain sh7372_a3rv;
501 extern struct sh7372_pm_domain sh7372_a3ri;
502 extern struct sh7372_pm_domain sh7372_a3sp;
503 extern struct sh7372_pm_domain sh7372_a3sg;
504
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 */
515
516 extern void sh7372_intcs_suspend(void);
517 extern void sh7372_intcs_resume(void);
518
519 #endif /* __ASM_SH7372_H__ */