xref: /OK3568_Linux_fs/kernel/arch/arm/mach-mmp/mfp-pxa910.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #ifndef __ASM_MACH_MFP_PXA910_H
3*4882a593Smuzhiyun #define __ASM_MACH_MFP_PXA910_H
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun #include "mfp.h"
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun #define MFP_DRIVE_VERY_SLOW	(0x0 << 13)
8*4882a593Smuzhiyun #define MFP_DRIVE_SLOW		(0x2 << 13)
9*4882a593Smuzhiyun #define MFP_DRIVE_MEDIUM	(0x4 << 13)
10*4882a593Smuzhiyun #define MFP_DRIVE_FAST		(0x6 << 13)
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun /* UART2 */
13*4882a593Smuzhiyun #define GPIO47_UART2_RXD	MFP_CFG(GPIO47, AF6)
14*4882a593Smuzhiyun #define GPIO48_UART2_TXD	MFP_CFG(GPIO48, AF6)
15*4882a593Smuzhiyun 
16*4882a593Smuzhiyun /* UART3 */
17*4882a593Smuzhiyun #define GPIO31_UART3_RXD	MFP_CFG(GPIO31, AF4)
18*4882a593Smuzhiyun #define GPIO32_UART3_TXD	MFP_CFG(GPIO32, AF4)
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun /*IRDA*/
21*4882a593Smuzhiyun #define GPIO51_IRDA_SHDN	MFP_CFG(GPIO51, AF0)
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun /* SMC */
24*4882a593Smuzhiyun #define SM_nCS0_nCS0		MFP_CFG(SM_nCS0, AF0)
25*4882a593Smuzhiyun #define SM_ADV_SM_ADV		MFP_CFG(SM_ADV, AF0)
26*4882a593Smuzhiyun #define SM_SCLK_SM_SCLK		MFP_CFG(SM_SCLK, AF0)
27*4882a593Smuzhiyun #define SM_BE0_SM_BE0		MFP_CFG(SM_BE0, AF1)
28*4882a593Smuzhiyun #define SM_BE1_SM_BE1		MFP_CFG(SM_BE1, AF1)
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun /* I2C */
31*4882a593Smuzhiyun #define GPIO53_CI2C_SCL		MFP_CFG(GPIO53, AF2)
32*4882a593Smuzhiyun #define GPIO54_CI2C_SDA		MFP_CFG(GPIO54, AF2)
33*4882a593Smuzhiyun 
34*4882a593Smuzhiyun /* SSP1 (I2S) */
35*4882a593Smuzhiyun #define GPIO24_SSP1_SDATA_IN	MFP_CFG_DRV(GPIO24, AF1, MEDIUM)
36*4882a593Smuzhiyun #define GPIO21_SSP1_BITCLK	MFP_CFG_DRV(GPIO21, AF1, MEDIUM)
37*4882a593Smuzhiyun #define GPIO20_SSP1_SYSCLK	MFP_CFG_DRV(GPIO20, AF1, MEDIUM)
38*4882a593Smuzhiyun #define GPIO22_SSP1_SYNC	MFP_CFG_DRV(GPIO22, AF1, MEDIUM)
39*4882a593Smuzhiyun #define GPIO23_SSP1_DATA_OUT	MFP_CFG_DRV(GPIO23, AF1, MEDIUM)
40*4882a593Smuzhiyun #define GPIO124_MN_CLK_OUT	MFP_CFG_DRV(GPIO124, AF1, MEDIUM)
41*4882a593Smuzhiyun #define GPIO123_CLK_REQ		MFP_CFG_DRV(GPIO123, AF0, MEDIUM)
42*4882a593Smuzhiyun 
43*4882a593Smuzhiyun /* DFI */
44*4882a593Smuzhiyun #define DF_IO0_ND_IO0		MFP_CFG(DF_IO0, AF0)
45*4882a593Smuzhiyun #define DF_IO1_ND_IO1		MFP_CFG(DF_IO1, AF0)
46*4882a593Smuzhiyun #define DF_IO2_ND_IO2		MFP_CFG(DF_IO2, AF0)
47*4882a593Smuzhiyun #define DF_IO3_ND_IO3		MFP_CFG(DF_IO3, AF0)
48*4882a593Smuzhiyun #define DF_IO4_ND_IO4		MFP_CFG(DF_IO4, AF0)
49*4882a593Smuzhiyun #define DF_IO5_ND_IO5		MFP_CFG(DF_IO5, AF0)
50*4882a593Smuzhiyun #define DF_IO6_ND_IO6		MFP_CFG(DF_IO6, AF0)
51*4882a593Smuzhiyun #define DF_IO7_ND_IO7		MFP_CFG(DF_IO7, AF0)
52*4882a593Smuzhiyun #define DF_IO8_ND_IO8		MFP_CFG(DF_IO8, AF0)
53*4882a593Smuzhiyun #define DF_IO9_ND_IO9		MFP_CFG(DF_IO9, AF0)
54*4882a593Smuzhiyun #define DF_IO10_ND_IO10		MFP_CFG(DF_IO10, AF0)
55*4882a593Smuzhiyun #define DF_IO11_ND_IO11		MFP_CFG(DF_IO11, AF0)
56*4882a593Smuzhiyun #define DF_IO12_ND_IO12		MFP_CFG(DF_IO12, AF0)
57*4882a593Smuzhiyun #define DF_IO13_ND_IO13		MFP_CFG(DF_IO13, AF0)
58*4882a593Smuzhiyun #define DF_IO14_ND_IO14		MFP_CFG(DF_IO14, AF0)
59*4882a593Smuzhiyun #define DF_IO15_ND_IO15		MFP_CFG(DF_IO15, AF0)
60*4882a593Smuzhiyun #define DF_nCS0_SM_nCS2_nCS0	MFP_CFG(DF_nCS0_SM_nCS2, AF0)
61*4882a593Smuzhiyun #define DF_ALE_SM_WEn_ND_ALE	MFP_CFG(DF_ALE_SM_WEn, AF1)
62*4882a593Smuzhiyun #define DF_CLE_SM_OEn_ND_CLE	MFP_CFG(DF_CLE_SM_OEn, AF0)
63*4882a593Smuzhiyun #define DF_WEn_DF_WEn		MFP_CFG(DF_WEn, AF1)
64*4882a593Smuzhiyun #define DF_REn_DF_REn		MFP_CFG(DF_REn, AF1)
65*4882a593Smuzhiyun #define DF_RDY0_DF_RDY0		MFP_CFG(DF_RDY0, AF0)
66*4882a593Smuzhiyun 
67*4882a593Smuzhiyun /*keypad*/
68*4882a593Smuzhiyun #define GPIO00_KP_MKIN0		MFP_CFG(GPIO0, AF1)
69*4882a593Smuzhiyun #define GPIO01_KP_MKOUT0	MFP_CFG(GPIO1, AF1)
70*4882a593Smuzhiyun #define GPIO02_KP_MKIN1		MFP_CFG(GPIO2, AF1)
71*4882a593Smuzhiyun #define GPIO03_KP_MKOUT1	MFP_CFG(GPIO3, AF1)
72*4882a593Smuzhiyun #define GPIO04_KP_MKIN2		MFP_CFG(GPIO4, AF1)
73*4882a593Smuzhiyun #define GPIO05_KP_MKOUT2	MFP_CFG(GPIO5, AF1)
74*4882a593Smuzhiyun #define GPIO06_KP_MKIN3		MFP_CFG(GPIO6, AF1)
75*4882a593Smuzhiyun #define GPIO07_KP_MKOUT3	MFP_CFG(GPIO7, AF1)
76*4882a593Smuzhiyun #define GPIO08_KP_MKIN4		MFP_CFG(GPIO8, AF1)
77*4882a593Smuzhiyun #define GPIO09_KP_MKOUT4	MFP_CFG(GPIO9, AF1)
78*4882a593Smuzhiyun #define GPIO10_KP_MKIN5		MFP_CFG(GPIO10, AF1)
79*4882a593Smuzhiyun #define GPIO11_KP_MKOUT5	MFP_CFG(GPIO11, AF1)
80*4882a593Smuzhiyun #define GPIO12_KP_MKIN6		MFP_CFG(GPIO12, AF1)
81*4882a593Smuzhiyun #define GPIO13_KP_MKOUT6	MFP_CFG(GPIO13, AF1)
82*4882a593Smuzhiyun #define GPIO14_KP_MKIN7		MFP_CFG(GPIO14, AF1)
83*4882a593Smuzhiyun #define GPIO15_KP_MKOUT7	MFP_CFG(GPIO15, AF1)
84*4882a593Smuzhiyun #define GPIO16_KP_DKIN0		MFP_CFG(GPIO16, AF1)
85*4882a593Smuzhiyun #define GPIO17_KP_DKIN1		MFP_CFG(GPIO17, AF1)
86*4882a593Smuzhiyun #define GPIO18_KP_DKIN2		MFP_CFG(GPIO18, AF1)
87*4882a593Smuzhiyun #define GPIO19_KP_DKIN3		MFP_CFG(GPIO19, AF1)
88*4882a593Smuzhiyun 
89*4882a593Smuzhiyun /* LCD */
90*4882a593Smuzhiyun #define GPIO81_LCD_FCLK		MFP_CFG(GPIO81, AF1)
91*4882a593Smuzhiyun #define GPIO82_LCD_LCLK		MFP_CFG(GPIO82, AF1)
92*4882a593Smuzhiyun #define GPIO83_LCD_PCLK		MFP_CFG(GPIO83, AF1)
93*4882a593Smuzhiyun #define GPIO84_LCD_DENA		MFP_CFG(GPIO84, AF1)
94*4882a593Smuzhiyun #define GPIO85_LCD_DD0		MFP_CFG(GPIO85, AF1)
95*4882a593Smuzhiyun #define GPIO86_LCD_DD1		MFP_CFG(GPIO86, AF1)
96*4882a593Smuzhiyun #define GPIO87_LCD_DD2		MFP_CFG(GPIO87, AF1)
97*4882a593Smuzhiyun #define GPIO88_LCD_DD3		MFP_CFG(GPIO88, AF1)
98*4882a593Smuzhiyun #define GPIO89_LCD_DD4		MFP_CFG(GPIO89, AF1)
99*4882a593Smuzhiyun #define GPIO90_LCD_DD5		MFP_CFG(GPIO90, AF1)
100*4882a593Smuzhiyun #define GPIO91_LCD_DD6		MFP_CFG(GPIO91, AF1)
101*4882a593Smuzhiyun #define GPIO92_LCD_DD7		MFP_CFG(GPIO92, AF1)
102*4882a593Smuzhiyun #define GPIO93_LCD_DD8		MFP_CFG(GPIO93, AF1)
103*4882a593Smuzhiyun #define GPIO94_LCD_DD9		MFP_CFG(GPIO94, AF1)
104*4882a593Smuzhiyun #define GPIO95_LCD_DD10		MFP_CFG(GPIO95, AF1)
105*4882a593Smuzhiyun #define GPIO96_LCD_DD11		MFP_CFG(GPIO96, AF1)
106*4882a593Smuzhiyun #define GPIO97_LCD_DD12		MFP_CFG(GPIO97, AF1)
107*4882a593Smuzhiyun #define GPIO98_LCD_DD13		MFP_CFG(GPIO98, AF1)
108*4882a593Smuzhiyun #define GPIO100_LCD_DD14	MFP_CFG(GPIO100, AF1)
109*4882a593Smuzhiyun #define GPIO101_LCD_DD15	MFP_CFG(GPIO101, AF1)
110*4882a593Smuzhiyun #define GPIO102_LCD_DD16	MFP_CFG(GPIO102, AF1)
111*4882a593Smuzhiyun #define GPIO103_LCD_DD17	MFP_CFG(GPIO103, AF1)
112*4882a593Smuzhiyun #define GPIO104_LCD_DD18	MFP_CFG(GPIO104, AF1)
113*4882a593Smuzhiyun #define GPIO105_LCD_DD19	MFP_CFG(GPIO105, AF1)
114*4882a593Smuzhiyun #define GPIO106_LCD_DD20	MFP_CFG(GPIO106, AF1)
115*4882a593Smuzhiyun #define GPIO107_LCD_DD21	MFP_CFG(GPIO107, AF1)
116*4882a593Smuzhiyun #define GPIO108_LCD_DD22	MFP_CFG(GPIO108, AF1)
117*4882a593Smuzhiyun #define GPIO109_LCD_DD23	MFP_CFG(GPIO109, AF1)
118*4882a593Smuzhiyun 
119*4882a593Smuzhiyun #define GPIO104_LCD_SPIDOUT	MFP_CFG(GPIO104, AF3)
120*4882a593Smuzhiyun #define GPIO105_LCD_SPIDIN	MFP_CFG(GPIO105, AF3)
121*4882a593Smuzhiyun #define GPIO107_LCD_CS1 	MFP_CFG(GPIO107, AF3)
122*4882a593Smuzhiyun #define GPIO108_LCD_DCLK	MFP_CFG(GPIO108, AF3)
123*4882a593Smuzhiyun 
124*4882a593Smuzhiyun #define GPIO106_LCD_RESET	MFP_CFG(GPIO106, AF0)
125*4882a593Smuzhiyun 
126*4882a593Smuzhiyun /*smart panel*/
127*4882a593Smuzhiyun #define GPIO82_LCD_A0		MFP_CFG(GPIO82, AF0)
128*4882a593Smuzhiyun #define GPIO83_LCD_WR		MFP_CFG(GPIO83, AF0)
129*4882a593Smuzhiyun #define GPIO103_LCD_CS		MFP_CFG(GPIO103, AF0)
130*4882a593Smuzhiyun 
131*4882a593Smuzhiyun /*1wire*/
132*4882a593Smuzhiyun #define GPIO106_1WIRE		MFP_CFG(GPIO106, AF3)
133*4882a593Smuzhiyun 
134*4882a593Smuzhiyun /*CCIC*/
135*4882a593Smuzhiyun #define GPIO67_CCIC_IN7		MFP_CFG_DRV(GPIO67, AF1, MEDIUM)
136*4882a593Smuzhiyun #define GPIO68_CCIC_IN6		MFP_CFG_DRV(GPIO68, AF1, MEDIUM)
137*4882a593Smuzhiyun #define GPIO69_CCIC_IN5		MFP_CFG_DRV(GPIO69, AF1, MEDIUM)
138*4882a593Smuzhiyun #define GPIO70_CCIC_IN4		MFP_CFG_DRV(GPIO70, AF1, MEDIUM)
139*4882a593Smuzhiyun #define GPIO71_CCIC_IN3		MFP_CFG_DRV(GPIO71, AF1, MEDIUM)
140*4882a593Smuzhiyun #define GPIO72_CCIC_IN2		MFP_CFG_DRV(GPIO72, AF1, MEDIUM)
141*4882a593Smuzhiyun #define GPIO73_CCIC_IN1		MFP_CFG_DRV(GPIO73, AF1, MEDIUM)
142*4882a593Smuzhiyun #define GPIO74_CCIC_IN0		MFP_CFG_DRV(GPIO74, AF1, MEDIUM)
143*4882a593Smuzhiyun #define GPIO75_CAM_HSYNC	MFP_CFG_DRV(GPIO75, AF1, MEDIUM)
144*4882a593Smuzhiyun #define GPIO76_CAM_VSYNC	MFP_CFG_DRV(GPIO76, AF1, MEDIUM)
145*4882a593Smuzhiyun #define GPIO77_CAM_MCLK		MFP_CFG_DRV(GPIO77, AF1, MEDIUM)
146*4882a593Smuzhiyun #define GPIO78_CAM_PCLK		MFP_CFG_DRV(GPIO78, AF1, MEDIUM)
147*4882a593Smuzhiyun 
148*4882a593Smuzhiyun /* MMC1 */
149*4882a593Smuzhiyun #define MMC1_DAT7_MMC1_DAT7	MFP_CFG_DRV(MMC1_DAT7, AF0, MEDIUM)
150*4882a593Smuzhiyun #define MMC1_DAT6_MMC1_DAT6	MFP_CFG_DRV(MMC1_DAT6, AF0, MEDIUM)
151*4882a593Smuzhiyun #define MMC1_DAT5_MMC1_DAT5	MFP_CFG_DRV(MMC1_DAT5, AF0, MEDIUM)
152*4882a593Smuzhiyun #define MMC1_DAT4_MMC1_DAT4	MFP_CFG_DRV(MMC1_DAT4, AF0, MEDIUM)
153*4882a593Smuzhiyun #define MMC1_DAT3_MMC1_DAT3	MFP_CFG_DRV(MMC1_DAT3, AF0, MEDIUM)
154*4882a593Smuzhiyun #define MMC1_DAT2_MMC1_DAT2	MFP_CFG_DRV(MMC1_DAT2, AF0, MEDIUM)
155*4882a593Smuzhiyun #define MMC1_DAT1_MMC1_DAT1	MFP_CFG_DRV(MMC1_DAT1, AF0, MEDIUM)
156*4882a593Smuzhiyun #define MMC1_DAT0_MMC1_DAT0	MFP_CFG_DRV(MMC1_DAT0, AF0, MEDIUM)
157*4882a593Smuzhiyun #define MMC1_CMD_MMC1_CMD	MFP_CFG_DRV(MMC1_CMD, AF0, MEDIUM)
158*4882a593Smuzhiyun #define MMC1_CLK_MMC1_CLK	MFP_CFG_DRV(MMC1_CLK, AF0, MEDIUM)
159*4882a593Smuzhiyun #define MMC1_CD_MMC1_CD		MFP_CFG_DRV(MMC1_CD, AF0, MEDIUM)
160*4882a593Smuzhiyun #define MMC1_WP_MMC1_WP		MFP_CFG_DRV(MMC1_WP, AF0, MEDIUM)
161*4882a593Smuzhiyun 
162*4882a593Smuzhiyun /* PWM */
163*4882a593Smuzhiyun #define GPIO27_PWM3_AF2		MFP_CFG(GPIO27, AF2)
164*4882a593Smuzhiyun #define GPIO51_PWM2_OUT		MFP_CFG(GPIO51, AF2)
165*4882a593Smuzhiyun #define GPIO117_PWM1_OUT	MFP_CFG(GPIO117, AF2)
166*4882a593Smuzhiyun #define GPIO118_PWM2_OUT	MFP_CFG(GPIO118, AF2)
167*4882a593Smuzhiyun #define GPIO119_PWM3_OUT	MFP_CFG(GPIO119, AF2)
168*4882a593Smuzhiyun #define GPIO120_PWM4_OUT	MFP_CFG(GPIO120, AF2)
169*4882a593Smuzhiyun 
170*4882a593Smuzhiyun #endif /* __ASM_MACH MFP_PXA910_H */
171