xref: /OK3568_Linux_fs/kernel/arch/sh/include/cpu-sh4/cpu/sh7785.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #ifndef __ASM_SH7785_H__
3*4882a593Smuzhiyun #define __ASM_SH7785_H__
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun /* Boot Mode Pins:
6*4882a593Smuzhiyun  *
7*4882a593Smuzhiyun  * MODE0: CPG - Initial Pck/Bck Frequency [FRQMR1]
8*4882a593Smuzhiyun  * MODE1: CPG - Initial Uck/SHck/DDRck Frequency [FRQMR1]
9*4882a593Smuzhiyun  * MODE2: CPG - Reserved (L: Normal operation)
10*4882a593Smuzhiyun  * MODE3: CPG - Reserved (L: Normal operation)
11*4882a593Smuzhiyun  * MODE4: CPG - Initial PLL setting (72x/36x)
12*4882a593Smuzhiyun  * MODE5: LBSC - Area0 Memory Type / Bus Width [CS0BCR.8]
13*4882a593Smuzhiyun  * MODE6: LBSC - Area0 Memory Type / Bus Width [CS0BCR.9]
14*4882a593Smuzhiyun  * MODE7: LBSC - Area0 Memory Type / Bus Width [CS0BCR.3]
15*4882a593Smuzhiyun  * MODE8: LBSC - Endian Mode (L: Big, H: Little) [BCR.31]
16*4882a593Smuzhiyun  * MODE9: LBSC - Master/Slave Mode (L: Slave) [BCR.30]
17*4882a593Smuzhiyun  * MODE10: CPG - Clock Input (L: Ext Clk, H: Crystal)
18*4882a593Smuzhiyun  * MODE11: PCI - Pin Mode (LL: PCI host, LH: PCI slave)
19*4882a593Smuzhiyun  * MODE12: PCI - Pin Mode (HL: Local bus, HH: DU)
20*4882a593Smuzhiyun  * MODE13: Boot Address Mode (L: 29-bit, H: 32-bit)
21*4882a593Smuzhiyun  * MODE14: Reserved (H: Normal operation)
22*4882a593Smuzhiyun  *
23*4882a593Smuzhiyun  * More information in sh7785 manual Rev.1.00, page 1628.
24*4882a593Smuzhiyun  */
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun /* Pin Function Controller:
27*4882a593Smuzhiyun  * GPIO_FN_xx - GPIO used to select pin function
28*4882a593Smuzhiyun  * GPIO_Pxx - GPIO mapped to real I/O pin on CPU
29*4882a593Smuzhiyun  */
30*4882a593Smuzhiyun enum {
31*4882a593Smuzhiyun 	/* PA */
32*4882a593Smuzhiyun 	GPIO_PA7, GPIO_PA6, GPIO_PA5, GPIO_PA4,
33*4882a593Smuzhiyun 	GPIO_PA3, GPIO_PA2, GPIO_PA1, GPIO_PA0,
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun 	/* PB */
36*4882a593Smuzhiyun 	GPIO_PB7, GPIO_PB6, GPIO_PB5, GPIO_PB4,
37*4882a593Smuzhiyun 	GPIO_PB3, GPIO_PB2, GPIO_PB1, GPIO_PB0,
38*4882a593Smuzhiyun 
39*4882a593Smuzhiyun 	/* PC */
40*4882a593Smuzhiyun 	GPIO_PC7, GPIO_PC6, GPIO_PC5, GPIO_PC4,
41*4882a593Smuzhiyun 	GPIO_PC3, GPIO_PC2, GPIO_PC1, GPIO_PC0,
42*4882a593Smuzhiyun 
43*4882a593Smuzhiyun 	/* PD */
44*4882a593Smuzhiyun 	GPIO_PD7, GPIO_PD6, GPIO_PD5, GPIO_PD4,
45*4882a593Smuzhiyun 	GPIO_PD3, GPIO_PD2, GPIO_PD1, GPIO_PD0,
46*4882a593Smuzhiyun 
47*4882a593Smuzhiyun 	/* PE */
48*4882a593Smuzhiyun 	GPIO_PE5, GPIO_PE4, GPIO_PE3, GPIO_PE2,
49*4882a593Smuzhiyun 	GPIO_PE1, GPIO_PE0,
50*4882a593Smuzhiyun 
51*4882a593Smuzhiyun 	/* PF */
52*4882a593Smuzhiyun 	GPIO_PF7, GPIO_PF6, GPIO_PF5, GPIO_PF4,
53*4882a593Smuzhiyun 	GPIO_PF3, GPIO_PF2, GPIO_PF1, GPIO_PF0,
54*4882a593Smuzhiyun 
55*4882a593Smuzhiyun 	/* PG */
56*4882a593Smuzhiyun 	GPIO_PG7, GPIO_PG6, GPIO_PG5, GPIO_PG4,
57*4882a593Smuzhiyun 	GPIO_PG3, GPIO_PG2, GPIO_PG1, GPIO_PG0,
58*4882a593Smuzhiyun 
59*4882a593Smuzhiyun 	/* PH */
60*4882a593Smuzhiyun 	GPIO_PH7, GPIO_PH6, GPIO_PH5, GPIO_PH4,
61*4882a593Smuzhiyun 	GPIO_PH3, GPIO_PH2, GPIO_PH1, GPIO_PH0,
62*4882a593Smuzhiyun 
63*4882a593Smuzhiyun 	/* PJ */
64*4882a593Smuzhiyun 	GPIO_PJ7, GPIO_PJ6, GPIO_PJ5, GPIO_PJ4,
65*4882a593Smuzhiyun 	GPIO_PJ3, GPIO_PJ2, GPIO_PJ1, GPIO_PJ0,
66*4882a593Smuzhiyun 
67*4882a593Smuzhiyun 	/* PK */
68*4882a593Smuzhiyun 	GPIO_PK7, GPIO_PK6, GPIO_PK5, GPIO_PK4,
69*4882a593Smuzhiyun 	GPIO_PK3, GPIO_PK2, GPIO_PK1, GPIO_PK0,
70*4882a593Smuzhiyun 
71*4882a593Smuzhiyun 	/* PL */
72*4882a593Smuzhiyun 	GPIO_PL7, GPIO_PL6, GPIO_PL5, GPIO_PL4,
73*4882a593Smuzhiyun 	GPIO_PL3, GPIO_PL2, GPIO_PL1, GPIO_PL0,
74*4882a593Smuzhiyun 
75*4882a593Smuzhiyun 	/* PM */
76*4882a593Smuzhiyun 	GPIO_PM1, GPIO_PM0,
77*4882a593Smuzhiyun 
78*4882a593Smuzhiyun 	/* PN */
79*4882a593Smuzhiyun 	GPIO_PN7, GPIO_PN6, GPIO_PN5, GPIO_PN4,
80*4882a593Smuzhiyun 	GPIO_PN3, GPIO_PN2, GPIO_PN1, GPIO_PN0,
81*4882a593Smuzhiyun 
82*4882a593Smuzhiyun 	/* PP */
83*4882a593Smuzhiyun 	GPIO_PP5, GPIO_PP4,
84*4882a593Smuzhiyun 	GPIO_PP3, GPIO_PP2, GPIO_PP1, GPIO_PP0,
85*4882a593Smuzhiyun 
86*4882a593Smuzhiyun 	/* PQ */
87*4882a593Smuzhiyun 	GPIO_PQ4,
88*4882a593Smuzhiyun 	GPIO_PQ3, GPIO_PQ2, GPIO_PQ1, GPIO_PQ0,
89*4882a593Smuzhiyun 
90*4882a593Smuzhiyun 	/* PR */
91*4882a593Smuzhiyun 	GPIO_PR3, GPIO_PR2, GPIO_PR1, GPIO_PR0,
92*4882a593Smuzhiyun 
93*4882a593Smuzhiyun 	GPIO_FN_D63_AD31,
94*4882a593Smuzhiyun 	GPIO_FN_D62_AD30,
95*4882a593Smuzhiyun 	GPIO_FN_D61_AD29,
96*4882a593Smuzhiyun 	GPIO_FN_D60_AD28,
97*4882a593Smuzhiyun 	GPIO_FN_D59_AD27,
98*4882a593Smuzhiyun 	GPIO_FN_D58_AD26,
99*4882a593Smuzhiyun 	GPIO_FN_D57_AD25,
100*4882a593Smuzhiyun 	GPIO_FN_D56_AD24,
101*4882a593Smuzhiyun 	GPIO_FN_D55_AD23,
102*4882a593Smuzhiyun 	GPIO_FN_D54_AD22,
103*4882a593Smuzhiyun 	GPIO_FN_D53_AD21,
104*4882a593Smuzhiyun 	GPIO_FN_D52_AD20,
105*4882a593Smuzhiyun 	GPIO_FN_D51_AD19,
106*4882a593Smuzhiyun 	GPIO_FN_D50_AD18,
107*4882a593Smuzhiyun 	GPIO_FN_D49_AD17_DB5,
108*4882a593Smuzhiyun 	GPIO_FN_D48_AD16_DB4,
109*4882a593Smuzhiyun 	GPIO_FN_D47_AD15_DB3,
110*4882a593Smuzhiyun 	GPIO_FN_D46_AD14_DB2,
111*4882a593Smuzhiyun 	GPIO_FN_D45_AD13_DB1,
112*4882a593Smuzhiyun 	GPIO_FN_D44_AD12_DB0,
113*4882a593Smuzhiyun 	GPIO_FN_D43_AD11_DG5,
114*4882a593Smuzhiyun 	GPIO_FN_D42_AD10_DG4,
115*4882a593Smuzhiyun 	GPIO_FN_D41_AD9_DG3,
116*4882a593Smuzhiyun 	GPIO_FN_D40_AD8_DG2,
117*4882a593Smuzhiyun 	GPIO_FN_D39_AD7_DG1,
118*4882a593Smuzhiyun 	GPIO_FN_D38_AD6_DG0,
119*4882a593Smuzhiyun 	GPIO_FN_D37_AD5_DR5,
120*4882a593Smuzhiyun 	GPIO_FN_D36_AD4_DR4,
121*4882a593Smuzhiyun 	GPIO_FN_D35_AD3_DR3,
122*4882a593Smuzhiyun 	GPIO_FN_D34_AD2_DR2,
123*4882a593Smuzhiyun 	GPIO_FN_D33_AD1_DR1,
124*4882a593Smuzhiyun 	GPIO_FN_D32_AD0_DR0,
125*4882a593Smuzhiyun 	GPIO_FN_REQ1,
126*4882a593Smuzhiyun 	GPIO_FN_REQ2,
127*4882a593Smuzhiyun 	GPIO_FN_REQ3,
128*4882a593Smuzhiyun 	GPIO_FN_GNT1,
129*4882a593Smuzhiyun 	GPIO_FN_GNT2,
130*4882a593Smuzhiyun 	GPIO_FN_GNT3,
131*4882a593Smuzhiyun 	GPIO_FN_MMCCLK,
132*4882a593Smuzhiyun 	GPIO_FN_D31,
133*4882a593Smuzhiyun 	GPIO_FN_D30,
134*4882a593Smuzhiyun 	GPIO_FN_D29,
135*4882a593Smuzhiyun 	GPIO_FN_D28,
136*4882a593Smuzhiyun 	GPIO_FN_D27,
137*4882a593Smuzhiyun 	GPIO_FN_D26,
138*4882a593Smuzhiyun 	GPIO_FN_D25,
139*4882a593Smuzhiyun 	GPIO_FN_D24,
140*4882a593Smuzhiyun 	GPIO_FN_D23,
141*4882a593Smuzhiyun 	GPIO_FN_D22,
142*4882a593Smuzhiyun 	GPIO_FN_D21,
143*4882a593Smuzhiyun 	GPIO_FN_D20,
144*4882a593Smuzhiyun 	GPIO_FN_D19,
145*4882a593Smuzhiyun 	GPIO_FN_D18,
146*4882a593Smuzhiyun 	GPIO_FN_D17,
147*4882a593Smuzhiyun 	GPIO_FN_D16,
148*4882a593Smuzhiyun 	GPIO_FN_SCIF1_SCK,
149*4882a593Smuzhiyun 	GPIO_FN_SCIF1_RXD,
150*4882a593Smuzhiyun 	GPIO_FN_SCIF1_TXD,
151*4882a593Smuzhiyun 	GPIO_FN_SCIF0_CTS,
152*4882a593Smuzhiyun 	GPIO_FN_INTD,
153*4882a593Smuzhiyun 	GPIO_FN_FCE,
154*4882a593Smuzhiyun 	GPIO_FN_SCIF0_RTS,
155*4882a593Smuzhiyun 	GPIO_FN_HSPI_CS,
156*4882a593Smuzhiyun 	GPIO_FN_FSE,
157*4882a593Smuzhiyun 	GPIO_FN_SCIF0_SCK,
158*4882a593Smuzhiyun 	GPIO_FN_HSPI_CLK,
159*4882a593Smuzhiyun 	GPIO_FN_FRE,
160*4882a593Smuzhiyun 	GPIO_FN_SCIF0_RXD,
161*4882a593Smuzhiyun 	GPIO_FN_HSPI_RX,
162*4882a593Smuzhiyun 	GPIO_FN_FRB,
163*4882a593Smuzhiyun 	GPIO_FN_SCIF0_TXD,
164*4882a593Smuzhiyun 	GPIO_FN_HSPI_TX,
165*4882a593Smuzhiyun 	GPIO_FN_FWE,
166*4882a593Smuzhiyun 	GPIO_FN_SCIF5_TXD,
167*4882a593Smuzhiyun 	GPIO_FN_HAC1_SYNC,
168*4882a593Smuzhiyun 	GPIO_FN_SSI1_WS,
169*4882a593Smuzhiyun 	GPIO_FN_SIOF_TXD_PJ,
170*4882a593Smuzhiyun 	GPIO_FN_HAC0_SDOUT,
171*4882a593Smuzhiyun 	GPIO_FN_SSI0_SDATA,
172*4882a593Smuzhiyun 	GPIO_FN_SIOF_RXD_PJ,
173*4882a593Smuzhiyun 	GPIO_FN_HAC0_SDIN,
174*4882a593Smuzhiyun 	GPIO_FN_SSI0_SCK,
175*4882a593Smuzhiyun 	GPIO_FN_SIOF_SYNC_PJ,
176*4882a593Smuzhiyun 	GPIO_FN_HAC0_SYNC,
177*4882a593Smuzhiyun 	GPIO_FN_SSI0_WS,
178*4882a593Smuzhiyun 	GPIO_FN_SIOF_MCLK_PJ,
179*4882a593Smuzhiyun 	GPIO_FN_HAC_RES,
180*4882a593Smuzhiyun 	GPIO_FN_SIOF_SCK_PJ,
181*4882a593Smuzhiyun 	GPIO_FN_HAC0_BITCLK,
182*4882a593Smuzhiyun 	GPIO_FN_SSI0_CLK,
183*4882a593Smuzhiyun 	GPIO_FN_HAC1_BITCLK,
184*4882a593Smuzhiyun 	GPIO_FN_SSI1_CLK,
185*4882a593Smuzhiyun 	GPIO_FN_TCLK,
186*4882a593Smuzhiyun 	GPIO_FN_IOIS16,
187*4882a593Smuzhiyun 	GPIO_FN_STATUS0,
188*4882a593Smuzhiyun 	GPIO_FN_DRAK0_PK3,
189*4882a593Smuzhiyun 	GPIO_FN_STATUS1,
190*4882a593Smuzhiyun 	GPIO_FN_DRAK1_PK2,
191*4882a593Smuzhiyun 	GPIO_FN_DACK2,
192*4882a593Smuzhiyun 	GPIO_FN_SCIF2_TXD,
193*4882a593Smuzhiyun 	GPIO_FN_MMCCMD,
194*4882a593Smuzhiyun 	GPIO_FN_SIOF_TXD_PK,
195*4882a593Smuzhiyun 	GPIO_FN_DACK3,
196*4882a593Smuzhiyun 	GPIO_FN_SCIF2_SCK,
197*4882a593Smuzhiyun 	GPIO_FN_MMCDAT,
198*4882a593Smuzhiyun 	GPIO_FN_SIOF_SCK_PK,
199*4882a593Smuzhiyun 	GPIO_FN_DREQ0,
200*4882a593Smuzhiyun 	GPIO_FN_DREQ1,
201*4882a593Smuzhiyun 	GPIO_FN_DRAK0_PK1,
202*4882a593Smuzhiyun 	GPIO_FN_DRAK1_PK0,
203*4882a593Smuzhiyun 	GPIO_FN_DREQ2,
204*4882a593Smuzhiyun 	GPIO_FN_INTB,
205*4882a593Smuzhiyun 	GPIO_FN_DREQ3,
206*4882a593Smuzhiyun 	GPIO_FN_INTC,
207*4882a593Smuzhiyun 	GPIO_FN_DRAK2,
208*4882a593Smuzhiyun 	GPIO_FN_CE2A,
209*4882a593Smuzhiyun 	GPIO_FN_IRL4,
210*4882a593Smuzhiyun 	GPIO_FN_FD4,
211*4882a593Smuzhiyun 	GPIO_FN_IRL5,
212*4882a593Smuzhiyun 	GPIO_FN_FD5,
213*4882a593Smuzhiyun 	GPIO_FN_IRL6,
214*4882a593Smuzhiyun 	GPIO_FN_FD6,
215*4882a593Smuzhiyun 	GPIO_FN_IRL7,
216*4882a593Smuzhiyun 	GPIO_FN_FD7,
217*4882a593Smuzhiyun 	GPIO_FN_DRAK3,
218*4882a593Smuzhiyun 	GPIO_FN_CE2B,
219*4882a593Smuzhiyun 	GPIO_FN_BREQ_BSACK,
220*4882a593Smuzhiyun 	GPIO_FN_BACK_BSREQ,
221*4882a593Smuzhiyun 	GPIO_FN_SCIF5_RXD,
222*4882a593Smuzhiyun 	GPIO_FN_HAC1_SDIN,
223*4882a593Smuzhiyun 	GPIO_FN_SSI1_SCK,
224*4882a593Smuzhiyun 	GPIO_FN_SCIF5_SCK,
225*4882a593Smuzhiyun 	GPIO_FN_HAC1_SDOUT,
226*4882a593Smuzhiyun 	GPIO_FN_SSI1_SDATA,
227*4882a593Smuzhiyun 	GPIO_FN_SCIF3_TXD,
228*4882a593Smuzhiyun 	GPIO_FN_FCLE,
229*4882a593Smuzhiyun 	GPIO_FN_SCIF3_RXD,
230*4882a593Smuzhiyun 	GPIO_FN_FALE,
231*4882a593Smuzhiyun 	GPIO_FN_SCIF3_SCK,
232*4882a593Smuzhiyun 	GPIO_FN_FD0,
233*4882a593Smuzhiyun 	GPIO_FN_SCIF4_TXD,
234*4882a593Smuzhiyun 	GPIO_FN_FD1,
235*4882a593Smuzhiyun 	GPIO_FN_SCIF4_RXD,
236*4882a593Smuzhiyun 	GPIO_FN_FD2,
237*4882a593Smuzhiyun 	GPIO_FN_SCIF4_SCK,
238*4882a593Smuzhiyun 	GPIO_FN_FD3,
239*4882a593Smuzhiyun 	GPIO_FN_DEVSEL_DCLKOUT,
240*4882a593Smuzhiyun 	GPIO_FN_STOP_CDE,
241*4882a593Smuzhiyun 	GPIO_FN_LOCK_ODDF,
242*4882a593Smuzhiyun 	GPIO_FN_TRDY_DISPL,
243*4882a593Smuzhiyun 	GPIO_FN_IRDY_HSYNC,
244*4882a593Smuzhiyun 	GPIO_FN_PCIFRAME_VSYNC,
245*4882a593Smuzhiyun 	GPIO_FN_INTA,
246*4882a593Smuzhiyun 	GPIO_FN_GNT0_GNTIN,
247*4882a593Smuzhiyun 	GPIO_FN_REQ0_REQOUT,
248*4882a593Smuzhiyun 	GPIO_FN_PERR,
249*4882a593Smuzhiyun 	GPIO_FN_SERR,
250*4882a593Smuzhiyun 	GPIO_FN_WE7_CBE3,
251*4882a593Smuzhiyun 	GPIO_FN_WE6_CBE2,
252*4882a593Smuzhiyun 	GPIO_FN_WE5_CBE1,
253*4882a593Smuzhiyun 	GPIO_FN_WE4_CBE0,
254*4882a593Smuzhiyun 	GPIO_FN_SCIF2_RXD,
255*4882a593Smuzhiyun 	GPIO_FN_SIOF_RXD,
256*4882a593Smuzhiyun 	GPIO_FN_MRESETOUT,
257*4882a593Smuzhiyun 	GPIO_FN_IRQOUT,
258*4882a593Smuzhiyun };
259*4882a593Smuzhiyun 
260*4882a593Smuzhiyun #endif /* __ASM_SH7785_H__ */
261