Merge branch 'soc' into pinmux-base
[linux-3.10.git] / arch / arm / mach-shmobile / include / mach / r8a7779.h
1 #ifndef __ASM_R8A7779_H__
2 #define __ASM_R8A7779_H__
3
4 #include <linux/sh_clk.h>
5 #include <linux/pm_domain.h>
6
7 /* Pin Function Controller:
8  * GPIO_FN_xx - GPIO used to select pin function
9  * GPIO_GP_x_x - GPIO mapped to real I/O pin on CPU
10  */
11 enum {
12         GPIO_GP_0_0, GPIO_GP_0_1, GPIO_GP_0_2, GPIO_GP_0_3,
13         GPIO_GP_0_4, GPIO_GP_0_5, GPIO_GP_0_6, GPIO_GP_0_7,
14         GPIO_GP_0_8, GPIO_GP_0_9, GPIO_GP_0_10, GPIO_GP_0_11,
15         GPIO_GP_0_12, GPIO_GP_0_13, GPIO_GP_0_14, GPIO_GP_0_15,
16         GPIO_GP_0_16, GPIO_GP_0_17, GPIO_GP_0_18, GPIO_GP_0_19,
17         GPIO_GP_0_20, GPIO_GP_0_21, GPIO_GP_0_22, GPIO_GP_0_23,
18         GPIO_GP_0_24, GPIO_GP_0_25, GPIO_GP_0_26, GPIO_GP_0_27,
19         GPIO_GP_0_28, GPIO_GP_0_29, GPIO_GP_0_30, GPIO_GP_0_31,
20
21         GPIO_GP_1_0, GPIO_GP_1_1, GPIO_GP_1_2, GPIO_GP_1_3,
22         GPIO_GP_1_4, GPIO_GP_1_5, GPIO_GP_1_6, GPIO_GP_1_7,
23         GPIO_GP_1_8, GPIO_GP_1_9, GPIO_GP_1_10, GPIO_GP_1_11,
24         GPIO_GP_1_12, GPIO_GP_1_13, GPIO_GP_1_14, GPIO_GP_1_15,
25         GPIO_GP_1_16, GPIO_GP_1_17, GPIO_GP_1_18, GPIO_GP_1_19,
26         GPIO_GP_1_20, GPIO_GP_1_21, GPIO_GP_1_22, GPIO_GP_1_23,
27         GPIO_GP_1_24, GPIO_GP_1_25, GPIO_GP_1_26, GPIO_GP_1_27,
28         GPIO_GP_1_28, GPIO_GP_1_29, GPIO_GP_1_30, GPIO_GP_1_31,
29
30         GPIO_GP_2_0, GPIO_GP_2_1, GPIO_GP_2_2, GPIO_GP_2_3,
31         GPIO_GP_2_4, GPIO_GP_2_5, GPIO_GP_2_6, GPIO_GP_2_7,
32         GPIO_GP_2_8, GPIO_GP_2_9, GPIO_GP_2_10, GPIO_GP_2_11,
33         GPIO_GP_2_12, GPIO_GP_2_13, GPIO_GP_2_14, GPIO_GP_2_15,
34         GPIO_GP_2_16, GPIO_GP_2_17, GPIO_GP_2_18, GPIO_GP_2_19,
35         GPIO_GP_2_20, GPIO_GP_2_21, GPIO_GP_2_22, GPIO_GP_2_23,
36         GPIO_GP_2_24, GPIO_GP_2_25, GPIO_GP_2_26, GPIO_GP_2_27,
37         GPIO_GP_2_28, GPIO_GP_2_29, GPIO_GP_2_30, GPIO_GP_2_31,
38
39         GPIO_GP_3_0, GPIO_GP_3_1, GPIO_GP_3_2, GPIO_GP_3_3,
40         GPIO_GP_3_4, GPIO_GP_3_5, GPIO_GP_3_6, GPIO_GP_3_7,
41         GPIO_GP_3_8, GPIO_GP_3_9, GPIO_GP_3_10, GPIO_GP_3_11,
42         GPIO_GP_3_12, GPIO_GP_3_13, GPIO_GP_3_14, GPIO_GP_3_15,
43         GPIO_GP_3_16, GPIO_GP_3_17, GPIO_GP_3_18, GPIO_GP_3_19,
44         GPIO_GP_3_20, GPIO_GP_3_21, GPIO_GP_3_22, GPIO_GP_3_23,
45         GPIO_GP_3_24, GPIO_GP_3_25, GPIO_GP_3_26, GPIO_GP_3_27,
46         GPIO_GP_3_28, GPIO_GP_3_29, GPIO_GP_3_30, GPIO_GP_3_31,
47
48         GPIO_GP_4_0, GPIO_GP_4_1, GPIO_GP_4_2, GPIO_GP_4_3,
49         GPIO_GP_4_4, GPIO_GP_4_5, GPIO_GP_4_6, GPIO_GP_4_7,
50         GPIO_GP_4_8, GPIO_GP_4_9, GPIO_GP_4_10, GPIO_GP_4_11,
51         GPIO_GP_4_12, GPIO_GP_4_13, GPIO_GP_4_14, GPIO_GP_4_15,
52         GPIO_GP_4_16, GPIO_GP_4_17, GPIO_GP_4_18, GPIO_GP_4_19,
53         GPIO_GP_4_20, GPIO_GP_4_21, GPIO_GP_4_22, GPIO_GP_4_23,
54         GPIO_GP_4_24, GPIO_GP_4_25, GPIO_GP_4_26, GPIO_GP_4_27,
55         GPIO_GP_4_28, GPIO_GP_4_29, GPIO_GP_4_30, GPIO_GP_4_31,
56
57         GPIO_GP_5_0, GPIO_GP_5_1, GPIO_GP_5_2, GPIO_GP_5_3,
58         GPIO_GP_5_4, GPIO_GP_5_5, GPIO_GP_5_6, GPIO_GP_5_7,
59         GPIO_GP_5_8, GPIO_GP_5_9, GPIO_GP_5_10, GPIO_GP_5_11,
60         GPIO_GP_5_12, GPIO_GP_5_13, GPIO_GP_5_14, GPIO_GP_5_15,
61         GPIO_GP_5_16, GPIO_GP_5_17, GPIO_GP_5_18, GPIO_GP_5_19,
62         GPIO_GP_5_20, GPIO_GP_5_21, GPIO_GP_5_22, GPIO_GP_5_23,
63         GPIO_GP_5_24, GPIO_GP_5_25, GPIO_GP_5_26, GPIO_GP_5_27,
64         GPIO_GP_5_28, GPIO_GP_5_29, GPIO_GP_5_30, GPIO_GP_5_31,
65
66         GPIO_GP_6_0, GPIO_GP_6_1, GPIO_GP_6_2, GPIO_GP_6_3,
67         GPIO_GP_6_4, GPIO_GP_6_5, GPIO_GP_6_6, GPIO_GP_6_7,
68         GPIO_GP_6_8,
69
70         GPIO_FN_AVS1, GPIO_FN_AVS2, GPIO_FN_A17, GPIO_FN_A18,
71         GPIO_FN_A19,
72
73         /* IPSR0 */
74         GPIO_FN_PWM1, GPIO_FN_PWMFSW0,
75         GPIO_FN_SCIF_CLK, GPIO_FN_TCLK0_C, GPIO_FN_BS,
76         GPIO_FN_FD2, GPIO_FN_ATADIR0, GPIO_FN_SDSELF,
77         GPIO_FN_HCTS1, GPIO_FN_A0,
78         GPIO_FN_FD3, GPIO_FN_A20,
79         GPIO_FN_A21,
80         GPIO_FN_A22, GPIO_FN_VI1_R0,
81         GPIO_FN_A23, GPIO_FN_FCLE, GPIO_FN_VI1_R1,
82         GPIO_FN_A24, GPIO_FN_FD4,
83         GPIO_FN_VI1_R2, GPIO_FN_SSI_WS78_B, GPIO_FN_A25,
84         GPIO_FN_FD5,
85         GPIO_FN_VI1_R3, GPIO_FN_SSI_SDATA7_B,
86         GPIO_FN_CLKOUT, GPIO_FN_PWM0_B,
87         GPIO_FN_SDSELF_B, GPIO_FN_RD_WR, GPIO_FN_FWE, GPIO_FN_ATAG0,
88         GPIO_FN_VI1_R7, GPIO_FN_HRTS1,
89
90         /* IPSR1 */
91         GPIO_FN_FD6, GPIO_FN_FD7,
92         GPIO_FN_FALE,
93         GPIO_FN_ATACS00,
94         GPIO_FN_FRE, GPIO_FN_ATACS10, GPIO_FN_VI1_R4,
95         GPIO_FN_HSCK1, GPIO_FN_SSI_SDATA8_B,
96         GPIO_FN_SSI_SDATA9,
97         GPIO_FN_FD0, GPIO_FN_ATARD0, GPIO_FN_VI1_R5,
98         GPIO_FN_HTX1, GPIO_FN_SSI_SCK9,
99         GPIO_FN_FD1,
100         GPIO_FN_ATAWR0, GPIO_FN_VI1_R6, GPIO_FN_HRX1,
101         GPIO_FN_SSI_WS9, GPIO_FN_MLB_CLK, GPIO_FN_PWM2,
102         GPIO_FN_MLB_SIG, GPIO_FN_PWM3,
103         GPIO_FN_MLB_DAT, GPIO_FN_PWM4, GPIO_FN_HTX0,
104         GPIO_FN_SDATA, GPIO_FN_SUB_TCK,
105         GPIO_FN_CC5_STATE2, GPIO_FN_CC5_STATE10, GPIO_FN_CC5_STATE18,
106         GPIO_FN_CC5_STATE26, GPIO_FN_CC5_STATE34,
107
108         /* IPSR2 */
109         GPIO_FN_HRX0, GPIO_FN_SCKZ,
110         GPIO_FN_SUB_TDI, GPIO_FN_CC5_STATE3, GPIO_FN_CC5_STATE11,
111         GPIO_FN_CC5_STATE19, GPIO_FN_CC5_STATE27, GPIO_FN_CC5_STATE35,
112         GPIO_FN_HSCK0, GPIO_FN_MTS, GPIO_FN_PWM5,
113         GPIO_FN_SSI_SDATA9_B, GPIO_FN_SUB_TDO,
114         GPIO_FN_CC5_STATE0, GPIO_FN_CC5_STATE8, GPIO_FN_CC5_STATE16,
115         GPIO_FN_CC5_STATE24, GPIO_FN_CC5_STATE32, GPIO_FN_HCTS0,
116         GPIO_FN_STM, GPIO_FN_PWM0_D, GPIO_FN_SCIF_CLK_C,
117         GPIO_FN_SUB_TRST, GPIO_FN_TCLK1_B, GPIO_FN_CC5_OSCOUT, GPIO_FN_HRTS0,
118         GPIO_FN_MDATA, GPIO_FN_SUB_TMS,
119         GPIO_FN_CC5_STATE1, GPIO_FN_CC5_STATE9, GPIO_FN_CC5_STATE17,
120         GPIO_FN_CC5_STATE25, GPIO_FN_CC5_STATE33,
121         GPIO_FN_LCDOUT0, GPIO_FN_DREQ0, GPIO_FN_GPS_CLK_B, GPIO_FN_AUDATA0,
122         GPIO_FN_LCDOUT1, GPIO_FN_DACK0,
123         GPIO_FN_DRACK0, GPIO_FN_GPS_SIGN_B, GPIO_FN_AUDATA1,
124         GPIO_FN_LCDOUT2, GPIO_FN_LCDOUT3,
125         GPIO_FN_LCDOUT4, GPIO_FN_LCDOUT5,
126         GPIO_FN_LCDOUT6, GPIO_FN_LCDOUT7,
127         GPIO_FN_LCDOUT8, GPIO_FN_DREQ1, GPIO_FN_SCL2,
128         GPIO_FN_AUDATA2,
129
130         /* IPSR3 */
131         GPIO_FN_LCDOUT9, GPIO_FN_DACK1, GPIO_FN_SDA2,
132         GPIO_FN_AUDATA3, GPIO_FN_LCDOUT10,
133         GPIO_FN_LCDOUT11, GPIO_FN_LCDOUT12,
134         GPIO_FN_LCDOUT13, GPIO_FN_LCDOUT14,
135         GPIO_FN_LCDOUT15, GPIO_FN_LCDOUT16, GPIO_FN_EX_WAIT1,
136         GPIO_FN_SCL1, GPIO_FN_TCLK1, GPIO_FN_AUDATA4,
137         GPIO_FN_LCDOUT17, GPIO_FN_EX_WAIT2, GPIO_FN_SDA1, GPIO_FN_GPS_MAG_B,
138         GPIO_FN_AUDATA5, GPIO_FN_LCDOUT18,
139         GPIO_FN_LCDOUT19, GPIO_FN_LCDOUT20,
140         GPIO_FN_LCDOUT21, GPIO_FN_LCDOUT22,
141         GPIO_FN_LCDOUT23,
142         GPIO_FN_QSTVA_QVS, GPIO_FN_SCL3_B,
143         GPIO_FN_QCLK,
144         GPIO_FN_QSTVB_QVE, GPIO_FN_SDA3_B,
145         GPIO_FN_SDA2_C, GPIO_FN_DACK0_B, GPIO_FN_DRACK0_B,
146         GPIO_FN_QSTH_QHS,
147         GPIO_FN_QSTB_QHE,
148         GPIO_FN_QCPV_QDE,
149         GPIO_FN_CAN1_TX, GPIO_FN_SCL2_C, GPIO_FN_REMOCON,
150
151         /* IPSR4 */
152         GPIO_FN_QPOLA, GPIO_FN_CAN_CLK_C,
153         GPIO_FN_QPOLB, GPIO_FN_CAN1_RX,
154         GPIO_FN_DREQ0_B, GPIO_FN_SSI_SCK78_B,
155         GPIO_FN_VI2_DATA0_VI2_B0, GPIO_FN_PWM6,
156         GPIO_FN_AUDCK, GPIO_FN_PWMFSW0_B,
157         GPIO_FN_VI2_DATA1_VI2_B1, GPIO_FN_PWM0,
158         GPIO_FN_AUDSYNC,
159         GPIO_FN_VI2_G0,
160         GPIO_FN_VI2_G1, GPIO_FN_VI2_G2,
161         GPIO_FN_VI2_G3, GPIO_FN_VI2_G4,
162         GPIO_FN_VI2_G5, GPIO_FN_VI2_DATA2_VI2_B2,
163         GPIO_FN_SCL1_B, GPIO_FN_AUDATA6,
164         GPIO_FN_VI2_DATA3_VI2_B3,
165         GPIO_FN_SDA1_B, GPIO_FN_AUDATA7,
166         GPIO_FN_VI2_G6,
167         GPIO_FN_VI2_G7, GPIO_FN_VI2_R0,
168         GPIO_FN_VI2_R1, GPIO_FN_VI2_R2,
169         GPIO_FN_VI2_R3, GPIO_FN_VI2_DATA4_VI2_B4,
170         GPIO_FN_SCL2_B,
171
172         /* IPSR5 */
173         GPIO_FN_VI2_DATA5_VI2_B5, GPIO_FN_SDA2_B,
174         GPIO_FN_VI2_R4, GPIO_FN_VI2_R5,
175         GPIO_FN_VI2_R6, GPIO_FN_VI2_R7,
176         GPIO_FN_SCL2_D, GPIO_FN_SDA2_D,
177         GPIO_FN_VI2_CLKENB,
178         GPIO_FN_SCL1_D, GPIO_FN_VI2_FIELD,
179         GPIO_FN_SDA1_D, GPIO_FN_VI2_HSYNC,
180         GPIO_FN_VI3_HSYNC, GPIO_FN_VI2_VSYNC,
181         GPIO_FN_VI3_VSYNC,
182         GPIO_FN_VI2_CLK,
183         GPIO_FN_VI1_CLKENB, GPIO_FN_VI3_CLKENB,
184         GPIO_FN_AUDIO_CLKC, GPIO_FN_SPEEDIN,
185         GPIO_FN_GPS_SIGN_D, GPIO_FN_VI2_DATA6_VI2_B6,
186         GPIO_FN_TCLK0, GPIO_FN_QSTVA_B_QVS_B,
187         GPIO_FN_AUDIO_CLKOUT_B, GPIO_FN_GPS_MAG_D,
188         GPIO_FN_VI2_DATA7_VI2_B7,
189         GPIO_FN_VI1_FIELD, GPIO_FN_VI3_FIELD,
190         GPIO_FN_AUDIO_CLKOUT, GPIO_FN_GPS_CLK_C,
191         GPIO_FN_GPS_CLK_D, GPIO_FN_AUDIO_CLKA, GPIO_FN_CAN_TXCLK,
192         GPIO_FN_AUDIO_CLKB, GPIO_FN_CAN_DEBUGOUT0,
193         GPIO_FN_MOUT0,
194
195         /* IPSR6 */
196         GPIO_FN_SSI_SCK0129, GPIO_FN_CAN_DEBUGOUT1, GPIO_FN_MOUT1,
197         GPIO_FN_SSI_WS0129, GPIO_FN_CAN_DEBUGOUT2, GPIO_FN_MOUT2,
198         GPIO_FN_SSI_SDATA0, GPIO_FN_CAN_DEBUGOUT3, GPIO_FN_MOUT5,
199         GPIO_FN_SSI_SDATA1, GPIO_FN_CAN_DEBUGOUT4, GPIO_FN_MOUT6,
200         GPIO_FN_SSI_SDATA2, GPIO_FN_CAN_DEBUGOUT5, GPIO_FN_SSI_SCK34,
201         GPIO_FN_CAN_DEBUGOUT6, GPIO_FN_CAN0_TX_B, GPIO_FN_IERX,
202         GPIO_FN_SSI_SCK9_C, GPIO_FN_SSI_WS34, GPIO_FN_CAN_DEBUGOUT7,
203         GPIO_FN_CAN0_RX_B, GPIO_FN_IETX, GPIO_FN_SSI_WS9_C,
204         GPIO_FN_SSI_SDATA3, GPIO_FN_PWM0_C, GPIO_FN_CAN_DEBUGOUT8,
205         GPIO_FN_CAN_CLK_B, GPIO_FN_IECLK, GPIO_FN_SCIF_CLK_B, GPIO_FN_TCLK0_B,
206         GPIO_FN_SSI_SDATA4, GPIO_FN_CAN_DEBUGOUT9, GPIO_FN_SSI_SDATA9_C,
207         GPIO_FN_SSI_SCK5, GPIO_FN_ADICLK, GPIO_FN_CAN_DEBUGOUT10,
208         GPIO_FN_TCLK0_D, GPIO_FN_SSI_WS5, GPIO_FN_ADICS_SAMP,
209         GPIO_FN_CAN_DEBUGOUT11, GPIO_FN_SSI_SDATA5,
210         GPIO_FN_ADIDATA, GPIO_FN_CAN_DEBUGOUT12,
211         GPIO_FN_SSI_SCK6, GPIO_FN_ADICHS0, GPIO_FN_CAN0_TX, GPIO_FN_IERX_B,
212
213         /* IPSR7 */
214         GPIO_FN_SSI_WS6, GPIO_FN_ADICHS1, GPIO_FN_CAN0_RX, GPIO_FN_IETX_B,
215         GPIO_FN_SSI_SDATA6, GPIO_FN_ADICHS2, GPIO_FN_CAN_CLK, GPIO_FN_IECLK_B,
216         GPIO_FN_SSI_SCK78, GPIO_FN_CAN_DEBUGOUT13,
217         GPIO_FN_SSI_SCK9_B, GPIO_FN_SSI_WS78,
218         GPIO_FN_CAN_DEBUGOUT14, GPIO_FN_SSI_WS9_B,
219         GPIO_FN_SSI_SDATA7, GPIO_FN_CAN_DEBUGOUT15,
220         GPIO_FN_TCLK1_C,
221         GPIO_FN_SSI_SDATA8, GPIO_FN_VSP,
222         GPIO_FN_ATACS01,
223         GPIO_FN_ATACS11, GPIO_FN_CC5_TDO,
224         GPIO_FN_ATADIR1, GPIO_FN_CC5_TRST,
225         GPIO_FN_ATAG1, GPIO_FN_CC5_TMS,
226         GPIO_FN_ATARD1, GPIO_FN_CC5_TCK,
227         GPIO_FN_ATAWR1, GPIO_FN_CC5_TDI,
228         GPIO_FN_DREQ2,  GPIO_FN_DACK2,
229
230         /* IPSR8 */
231         GPIO_FN_AD_CLK,
232         GPIO_FN_CC5_STATE4, GPIO_FN_CC5_STATE12, GPIO_FN_CC5_STATE20,
233         GPIO_FN_CC5_STATE28, GPIO_FN_CC5_STATE36,
234         GPIO_FN_AD_DI,
235         GPIO_FN_CC5_STATE5, GPIO_FN_CC5_STATE13, GPIO_FN_CC5_STATE21,
236         GPIO_FN_CC5_STATE29, GPIO_FN_CC5_STATE37,
237         GPIO_FN_CAN_DEBUG_HW_TRIGGER, GPIO_FN_AD_DO,
238         GPIO_FN_CC5_STATE6, GPIO_FN_CC5_STATE14, GPIO_FN_CC5_STATE22,
239         GPIO_FN_CC5_STATE30, GPIO_FN_CC5_STATE38,
240         GPIO_FN_CAN_STEP0, GPIO_FN_AD_NCS, GPIO_FN_CC5_STATE7,
241         GPIO_FN_CC5_STATE15, GPIO_FN_CC5_STATE23, GPIO_FN_CC5_STATE31,
242         GPIO_FN_CC5_STATE39, GPIO_FN_FMCLK, GPIO_FN_RDS_CLK, GPIO_FN_PCMOE,
243         GPIO_FN_BPFCLK, GPIO_FN_PCMWE, GPIO_FN_FMIN, GPIO_FN_RDS_DATA,
244         GPIO_FN_VI0_CLK, GPIO_FN_VI0_CLKENB,
245         GPIO_FN_HTX1_B, GPIO_FN_MT1_SYNC, GPIO_FN_VI0_FIELD,
246         GPIO_FN_HRX1_B, GPIO_FN_VI0_HSYNC, GPIO_FN_VI0_DATA0_B_VI0_B0_B,
247         GPIO_FN_HSCK1_B,
248         GPIO_FN_VI0_VSYNC, GPIO_FN_VI0_DATA1_B_VI0_B1_B,
249         GPIO_FN_PWMFSW0_C,
250
251         /* IPSR9 */
252         GPIO_FN_VI0_DATA0_VI0_B0, GPIO_FN_HRTS1_B, GPIO_FN_MT1_VCXO,
253         GPIO_FN_VI0_DATA1_VI0_B1, GPIO_FN_HCTS1_B, GPIO_FN_MT1_PWM,
254         GPIO_FN_VI0_DATA2_VI0_B2, GPIO_FN_VI0_DATA3_VI0_B3,
255         GPIO_FN_VI0_DATA4_VI0_B4,
256         GPIO_FN_VI0_DATA5_VI0_B5, GPIO_FN_VI0_DATA6_VI0_B6,
257         GPIO_FN_ARM_TRACEDATA_0, GPIO_FN_VI0_DATA7_VI0_B7,
258         GPIO_FN_ARM_TRACEDATA_1, GPIO_FN_VI0_G0,
259         GPIO_FN_SSI_SCK78_C, GPIO_FN_ARM_TRACEDATA_2,
260         GPIO_FN_VI0_G1, GPIO_FN_SSI_WS78_C,
261         GPIO_FN_ARM_TRACEDATA_3, GPIO_FN_VI0_G2, GPIO_FN_ETH_TXD1,
262         GPIO_FN_ARM_TRACEDATA_4, GPIO_FN_TS_SPSYNC0,
263         GPIO_FN_VI0_G3, GPIO_FN_ETH_CRS_DV,
264         GPIO_FN_ARM_TRACEDATA_5, GPIO_FN_TS_SDAT0, GPIO_FN_VI0_G4,
265         GPIO_FN_ETH_TX_EN, GPIO_FN_ARM_TRACEDATA_6,
266         GPIO_FN_VI0_G5, GPIO_FN_ETH_RX_ER,
267         GPIO_FN_ARM_TRACEDATA_7, GPIO_FN_VI0_G6, GPIO_FN_ETH_RXD0,
268         GPIO_FN_ARM_TRACEDATA_8, GPIO_FN_VI0_G7,
269         GPIO_FN_ETH_RXD1, GPIO_FN_ARM_TRACEDATA_9,
270
271         /* IPSR10 */
272         GPIO_FN_VI0_R0, GPIO_FN_SSI_SDATA7_C, GPIO_FN_DREQ1_B,
273         GPIO_FN_ARM_TRACEDATA_10, GPIO_FN_DREQ0_C, GPIO_FN_VI0_R1,
274         GPIO_FN_SSI_SDATA8_C, GPIO_FN_DACK1_B, GPIO_FN_ARM_TRACEDATA_11,
275         GPIO_FN_DACK0_C, GPIO_FN_DRACK0_C, GPIO_FN_VI0_R2, GPIO_FN_ETH_LINK,
276         GPIO_FN_ARM_TRACEDATA_12,
277         GPIO_FN_VI0_R3, GPIO_FN_ETH_MAGIC,
278         GPIO_FN_ARM_TRACEDATA_13, GPIO_FN_VI0_R4, GPIO_FN_ETH_REFCLK,
279         GPIO_FN_ARM_TRACEDATA_14,
280         GPIO_FN_MT1_CLK, GPIO_FN_TS_SCK0, GPIO_FN_VI0_R5, GPIO_FN_ETH_TXD0,
281         GPIO_FN_ARM_TRACEDATA_15,
282         GPIO_FN_MT1_D, GPIO_FN_TS_SDEN0, GPIO_FN_VI0_R6, GPIO_FN_ETH_MDC,
283         GPIO_FN_DREQ2_C, GPIO_FN_TRACECLK,
284         GPIO_FN_MT1_BEN, GPIO_FN_PWMFSW0_D, GPIO_FN_VI0_R7, GPIO_FN_ETH_MDIO,
285         GPIO_FN_DACK2_C, GPIO_FN_SCIF_CLK_D,
286         GPIO_FN_TRACECTL, GPIO_FN_MT1_PEN, GPIO_FN_VI1_CLK, GPIO_FN_SIM_D,
287         GPIO_FN_SDA3, GPIO_FN_VI1_HSYNC, GPIO_FN_VI3_CLK, GPIO_FN_SSI_SCK4,
288         GPIO_FN_GPS_SIGN_C, GPIO_FN_PWMFSW0_E, GPIO_FN_VI1_VSYNC,
289         GPIO_FN_AUDIO_CLKOUT_C, GPIO_FN_SSI_WS4, GPIO_FN_SIM_CLK,
290         GPIO_FN_GPS_MAG_C, GPIO_FN_SPV_TRST, GPIO_FN_SCL3,
291
292         /* IPSR11 */
293         GPIO_FN_VI1_DATA0_VI1_B0, GPIO_FN_SIM_RST,
294         GPIO_FN_SPV_TCK, GPIO_FN_ADICLK_B, GPIO_FN_VI1_DATA1_VI1_B1,
295         GPIO_FN_MT0_CLK, GPIO_FN_SPV_TMS,
296         GPIO_FN_ADICS_B_SAMP_B, GPIO_FN_VI1_DATA2_VI1_B2,
297         GPIO_FN_MT0_D, GPIO_FN_SPVTDI, GPIO_FN_ADIDATA_B,
298         GPIO_FN_VI1_DATA3_VI1_B3, GPIO_FN_MT0_BEN,
299         GPIO_FN_SPV_TDO, GPIO_FN_ADICHS0_B, GPIO_FN_VI1_DATA4_VI1_B4,
300         GPIO_FN_MT0_PEN, GPIO_FN_SPA_TRST,
301         GPIO_FN_ADICHS1_B, GPIO_FN_VI1_DATA5_VI1_B5,
302         GPIO_FN_MT0_SYNC, GPIO_FN_SPA_TCK,
303         GPIO_FN_ADICHS2_B, GPIO_FN_VI1_DATA6_VI1_B6,
304         GPIO_FN_MT0_VCXO, GPIO_FN_SPA_TMS,
305         GPIO_FN_VI1_DATA7_VI1_B7, GPIO_FN_MT0_PWM,
306         GPIO_FN_SPA_TDI, GPIO_FN_VI1_G0, GPIO_FN_VI3_DATA0,
307         GPIO_FN_TS_SCK1, GPIO_FN_DREQ2_B,
308         GPIO_FN_SPA_TDO, GPIO_FN_HCTS0_B, GPIO_FN_VI1_G1, GPIO_FN_VI3_DATA1,
309         GPIO_FN_SSI_SCK1, GPIO_FN_TS_SDEN1, GPIO_FN_DACK2_B,
310         GPIO_FN_HRTS0_B,
311
312         /* IPSR12 */
313         GPIO_FN_VI1_G2, GPIO_FN_VI3_DATA2, GPIO_FN_SSI_WS1, GPIO_FN_TS_SPSYNC1,
314         GPIO_FN_HSCK0_B, GPIO_FN_VI1_G3, GPIO_FN_VI3_DATA3,
315         GPIO_FN_SSI_SCK2, GPIO_FN_TS_SDAT1, GPIO_FN_SCL1_C, GPIO_FN_HTX0_B,
316         GPIO_FN_VI1_G4, GPIO_FN_VI3_DATA4, GPIO_FN_SSI_WS2, GPIO_FN_SDA1_C,
317         GPIO_FN_SIM_RST_B, GPIO_FN_HRX0_B, GPIO_FN_VI1_G5, GPIO_FN_VI3_DATA5,
318         GPIO_FN_GPS_CLK, GPIO_FN_FSE, GPIO_FN_SIM_D_B,
319         GPIO_FN_VI1_G6, GPIO_FN_VI3_DATA6, GPIO_FN_GPS_SIGN, GPIO_FN_FRB,
320         GPIO_FN_SIM_CLK_B, GPIO_FN_VI1_G7, GPIO_FN_VI3_DATA7,
321         GPIO_FN_GPS_MAG, GPIO_FN_FCE,
322 };
323
324 struct platform_device;
325
326 struct r8a7779_pm_ch {
327         unsigned long chan_offs;
328         unsigned int chan_bit;
329         unsigned int isr_bit;
330 };
331
332 struct r8a7779_pm_domain {
333         struct generic_pm_domain genpd;
334         struct r8a7779_pm_ch ch;
335 };
336
337 static inline struct r8a7779_pm_ch *to_r8a7779_ch(struct generic_pm_domain *d)
338 {
339         return &container_of(d, struct r8a7779_pm_domain, genpd)->ch;
340 }
341
342 extern void r8a7779_init_delay(void);
343 extern void r8a7779_init_irq(void);
344 extern void r8a7779_init_irq_extpin(int irlm);
345 extern void r8a7779_init_irq_dt(void);
346 extern void r8a7779_map_io(void);
347 extern void r8a7779_earlytimer_init(void);
348 extern void r8a7779_add_early_devices(void);
349 extern void r8a7779_add_standard_devices(void);
350 extern void r8a7779_add_standard_devices_dt(void);
351 extern void r8a7779_clock_init(void);
352 extern void r8a7779_pinmux_init(void);
353 extern void r8a7779_pm_init(void);
354 extern void r8a7779_register_twd(void);
355 extern int r8a7779_sysc_power_down(struct r8a7779_pm_ch *r8a7779_ch);
356 extern int r8a7779_sysc_power_up(struct r8a7779_pm_ch *r8a7779_ch);
357
358 #ifdef CONFIG_PM
359 extern void __init r8a7779_init_pm_domains(void);
360 #else
361 static inline void r8a7779_init_pm_domains(void) {}
362 #endif /* CONFIG_PM */
363
364 extern struct smp_operations r8a7779_smp_ops;
365
366 #endif /* __ASM_R8A7779_H__ */