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