xref: /rk3399_rockchip-uboot/arch/arm/mach-kirkwood/include/mach/mpp.h (revision b9cb64825b5e6efeb715abd8b48d9b12f98973e9)
1*ea385723SMasahiro Yamada /*
2*ea385723SMasahiro Yamada  * linux/arch/arm/mach-kirkwood/mpp.h -- Multi Purpose Pins
3*ea385723SMasahiro Yamada  *
4*ea385723SMasahiro Yamada  * Copyright 2009: Marvell Technology Group Ltd.
5*ea385723SMasahiro Yamada  *
6*ea385723SMasahiro Yamada  * SPDX-License-Identifier:	GPL-2.0+
7*ea385723SMasahiro Yamada  */
8*ea385723SMasahiro Yamada 
9*ea385723SMasahiro Yamada #ifndef __KIRKWOOD_MPP_H
10*ea385723SMasahiro Yamada #define __KIRKWOOD_MPP_H
11*ea385723SMasahiro Yamada 
12*ea385723SMasahiro Yamada #define MPP(_num, _sel, _in, _out, _F6180, _F6190, _F6192, _F6281) ( \
13*ea385723SMasahiro Yamada 	/* MPP number */		((_num) & 0xff) | \
14*ea385723SMasahiro Yamada 	/* MPP select value */		(((_sel) & 0xf) << 8) | \
15*ea385723SMasahiro Yamada 	/* may be input signal */	((!!(_in)) << 12) | \
16*ea385723SMasahiro Yamada 	/* may be output signal */	((!!(_out)) << 13) | \
17*ea385723SMasahiro Yamada 	/* available on F6180 */	((!!(_F6180)) << 14) | \
18*ea385723SMasahiro Yamada 	/* available on F6190 */	((!!(_F6190)) << 15) | \
19*ea385723SMasahiro Yamada 	/* available on F6192 */	((!!(_F6192)) << 16) | \
20*ea385723SMasahiro Yamada 	/* available on F6281 */	((!!(_F6281)) << 17))
21*ea385723SMasahiro Yamada 
22*ea385723SMasahiro Yamada #define MPP_NUM(x)	((x) & 0xff)
23*ea385723SMasahiro Yamada #define MPP_SEL(x)	(((x) >> 8) & 0xf)
24*ea385723SMasahiro Yamada 
25*ea385723SMasahiro Yamada 				/*   num sel  i  o  6180 6190 6192 6281 */
26*ea385723SMasahiro Yamada 
27*ea385723SMasahiro Yamada #define MPP_INPUT_MASK		MPP(  0, 0x0, 1, 0, 0,   0,   0,   0    )
28*ea385723SMasahiro Yamada #define MPP_OUTPUT_MASK		MPP(  0, 0x0, 0, 1, 0,   0,   0,   0    )
29*ea385723SMasahiro Yamada 
30*ea385723SMasahiro Yamada #define MPP_F6180_MASK		MPP(  0, 0x0, 0, 0, 1,   0,   0,   0    )
31*ea385723SMasahiro Yamada #define MPP_F6190_MASK		MPP(  0, 0x0, 0, 0, 0,   1,   0,   0    )
32*ea385723SMasahiro Yamada #define MPP_F6192_MASK		MPP(  0, 0x0, 0, 0, 0,   0,   1,   0    )
33*ea385723SMasahiro Yamada #define MPP_F6281_MASK		MPP(  0, 0x0, 0, 0, 0,   0,   0,   1    )
34*ea385723SMasahiro Yamada 
35*ea385723SMasahiro Yamada #define MPP0_GPIO		MPP(  0, 0x0, 1, 1, 1,   1,   1,   1    )
36*ea385723SMasahiro Yamada #define MPP0_NF_IO2		MPP(  0, 0x1, 1, 1, 1,   1,   1,   1    )
37*ea385723SMasahiro Yamada #define MPP0_SPI_SCn		MPP(  0, 0x2, 0, 1, 1,   1,   1,   1    )
38*ea385723SMasahiro Yamada 
39*ea385723SMasahiro Yamada #define MPP1_GPO		MPP(  1, 0x0, 0, 1, 1,   1,   1,   1    )
40*ea385723SMasahiro Yamada #define MPP1_NF_IO3		MPP(  1, 0x1, 1, 1, 1,   1,   1,   1    )
41*ea385723SMasahiro Yamada #define MPP1_SPI_MOSI		MPP(  1, 0x2, 0, 1, 1,   1,   1,   1    )
42*ea385723SMasahiro Yamada 
43*ea385723SMasahiro Yamada #define MPP2_GPO		MPP(  2, 0x0, 0, 1, 1,   1,   1,   1    )
44*ea385723SMasahiro Yamada #define MPP2_NF_IO4		MPP(  2, 0x1, 1, 1, 1,   1,   1,   1    )
45*ea385723SMasahiro Yamada #define MPP2_SPI_SCK		MPP(  2, 0x2, 0, 1, 1,   1,   1,   1    )
46*ea385723SMasahiro Yamada 
47*ea385723SMasahiro Yamada #define MPP3_GPO		MPP(  3, 0x0, 0, 1, 1,   1,   1,   1    )
48*ea385723SMasahiro Yamada #define MPP3_NF_IO5		MPP(  3, 0x1, 1, 1, 1,   1,   1,   1    )
49*ea385723SMasahiro Yamada #define MPP3_SPI_MISO		MPP(  3, 0x2, 1, 0, 1,   1,   1,   1    )
50*ea385723SMasahiro Yamada 
51*ea385723SMasahiro Yamada #define MPP4_GPIO		MPP(  4, 0x0, 1, 1, 1,   1,   1,   1    )
52*ea385723SMasahiro Yamada #define MPP4_NF_IO6		MPP(  4, 0x1, 1, 1, 1,   1,   1,   1    )
53*ea385723SMasahiro Yamada #define MPP4_UART0_RXD		MPP(  4, 0x2, 1, 0, 1,   1,   1,   1    )
54*ea385723SMasahiro Yamada #define MPP4_SATA1_ACTn		MPP(  4, 0x5, 0, 1, 0,   0,   1,   1    )
55*ea385723SMasahiro Yamada #define MPP4_PTP_CLK		MPP(  4, 0xd, 1, 0, 1,   1,   1,   1    )
56*ea385723SMasahiro Yamada 
57*ea385723SMasahiro Yamada #define MPP5_GPO		MPP(  5, 0x0, 0, 1, 1,   1,   1,   1    )
58*ea385723SMasahiro Yamada #define MPP5_NF_IO7		MPP(  5, 0x1, 1, 1, 1,   1,   1,   1    )
59*ea385723SMasahiro Yamada #define MPP5_UART0_TXD		MPP(  5, 0x2, 0, 1, 1,   1,   1,   1    )
60*ea385723SMasahiro Yamada #define MPP5_PTP_TRIG_GEN	MPP(  5, 0x4, 0, 1, 1,   1,   1,   1    )
61*ea385723SMasahiro Yamada #define MPP5_SATA0_ACTn		MPP(  5, 0x5, 0, 1, 0,   1,   1,   1    )
62*ea385723SMasahiro Yamada 
63*ea385723SMasahiro Yamada #define MPP6_SYSRST_OUTn	MPP(  6, 0x1, 0, 1, 1,   1,   1,   1    )
64*ea385723SMasahiro Yamada #define MPP6_SPI_MOSI		MPP(  6, 0x2, 0, 1, 1,   1,   1,   1    )
65*ea385723SMasahiro Yamada #define MPP6_PTP_TRIG_GEN	MPP(  6, 0x3, 0, 1, 1,   1,   1,   1    )
66*ea385723SMasahiro Yamada 
67*ea385723SMasahiro Yamada #define MPP7_GPO		MPP(  7, 0x0, 0, 1, 1,   1,   1,   1    )
68*ea385723SMasahiro Yamada #define MPP7_PEX_RST_OUTn	MPP(  7, 0x1, 0, 1, 1,   1,   1,   1    )
69*ea385723SMasahiro Yamada #define MPP7_SPI_SCn		MPP(  7, 0x2, 0, 1, 1,   1,   1,   1    )
70*ea385723SMasahiro Yamada #define MPP7_PTP_TRIG_GEN	MPP(  7, 0x3, 0, 1, 1,   1,   1,   1    )
71*ea385723SMasahiro Yamada 
72*ea385723SMasahiro Yamada #define MPP8_GPIO		MPP(  8, 0x0, 1, 1, 1,   1,   1,   1    )
73*ea385723SMasahiro Yamada #define MPP8_TW_SDA		MPP(  8, 0x1, 1, 1, 1,   1,   1,   1    )
74*ea385723SMasahiro Yamada #define MPP8_UART0_RTS		MPP(  8, 0x2, 0, 1, 1,   1,   1,   1    )
75*ea385723SMasahiro Yamada #define MPP8_UART1_RTS		MPP(  8, 0x3, 0, 1, 1,   1,   1,   1    )
76*ea385723SMasahiro Yamada #define MPP8_MII0_RXERR		MPP(  8, 0x4, 1, 0, 0,   1,   1,   1    )
77*ea385723SMasahiro Yamada #define MPP8_SATA1_PRESENTn	MPP(  8, 0x5, 0, 1, 0,   0,   1,   1    )
78*ea385723SMasahiro Yamada #define MPP8_PTP_CLK		MPP(  8, 0xc, 1, 0, 1,   1,   1,   1    )
79*ea385723SMasahiro Yamada #define MPP8_MII0_COL		MPP(  8, 0xd, 1, 0, 1,   1,   1,   1    )
80*ea385723SMasahiro Yamada 
81*ea385723SMasahiro Yamada #define MPP9_GPIO		MPP(  9, 0x0, 1, 1, 1,   1,   1,   1    )
82*ea385723SMasahiro Yamada #define MPP9_TW_SCK		MPP(  9, 0x1, 1, 1, 1,   1,   1,   1    )
83*ea385723SMasahiro Yamada #define MPP9_UART0_CTS		MPP(  9, 0x2, 1, 0, 1,   1,   1,   1    )
84*ea385723SMasahiro Yamada #define MPP9_UART1_CTS		MPP(  9, 0x3, 1, 0, 1,   1,   1,   1    )
85*ea385723SMasahiro Yamada #define MPP9_SATA0_PRESENTn	MPP(  9, 0x5, 0, 1, 0,   1,   1,   1    )
86*ea385723SMasahiro Yamada #define MPP9_PTP_EVENT_REQ	MPP(  9, 0xc, 1, 0, 1,   1,   1,   1    )
87*ea385723SMasahiro Yamada #define MPP9_MII0_CRS		MPP(  9, 0xd, 1, 0, 1,   1,   1,   1    )
88*ea385723SMasahiro Yamada 
89*ea385723SMasahiro Yamada #define MPP10_GPO		MPP( 10, 0x0, 0, 1, 1,   1,   1,   1    )
90*ea385723SMasahiro Yamada #define MPP10_SPI_SCK		MPP( 10, 0x2, 0, 1, 1,   1,   1,   1    )
91*ea385723SMasahiro Yamada #define MPP10_UART0_TXD		MPP( 10, 0X3, 0, 1, 1,   1,   1,   1    )
92*ea385723SMasahiro Yamada #define MPP10_SATA1_ACTn	MPP( 10, 0x5, 0, 1, 0,   0,   1,   1    )
93*ea385723SMasahiro Yamada #define MPP10_PTP_TRIG_GEN	MPP( 10, 0xc, 0, 1, 1,   1,   1,   1    )
94*ea385723SMasahiro Yamada 
95*ea385723SMasahiro Yamada #define MPP11_GPIO		MPP( 11, 0x0, 1, 1, 1,   1,   1,   1    )
96*ea385723SMasahiro Yamada #define MPP11_SPI_MISO		MPP( 11, 0x2, 1, 0, 1,   1,   1,   1    )
97*ea385723SMasahiro Yamada #define MPP11_UART0_RXD		MPP( 11, 0x3, 1, 0, 1,   1,   1,   1    )
98*ea385723SMasahiro Yamada #define MPP11_PTP_EVENT_REQ	MPP( 11, 0x4, 1, 0, 1,   1,   1,   1    )
99*ea385723SMasahiro Yamada #define MPP11_PTP_TRIG_GEN	MPP( 11, 0xc, 0, 1, 1,   1,   1,   1    )
100*ea385723SMasahiro Yamada #define MPP11_PTP_CLK		MPP( 11, 0xd, 1, 0, 1,   1,   1,   1    )
101*ea385723SMasahiro Yamada #define MPP11_SATA0_ACTn	MPP( 11, 0x5, 0, 1, 0,   1,   1,   1    )
102*ea385723SMasahiro Yamada 
103*ea385723SMasahiro Yamada #define MPP12_GPO		MPP( 12, 0x0, 0, 1, 1,   1,   1,   1    )
104*ea385723SMasahiro Yamada #define MPP12_SD_CLK		MPP( 12, 0x1, 0, 1, 1,   1,   1,   1    )
105*ea385723SMasahiro Yamada 
106*ea385723SMasahiro Yamada #define MPP13_GPIO		MPP( 13, 0x0, 1, 1, 1,   1,   1,   1    )
107*ea385723SMasahiro Yamada #define MPP13_SD_CMD		MPP( 13, 0x1, 1, 1, 1,   1,   1,   1    )
108*ea385723SMasahiro Yamada #define MPP13_UART1_TXD		MPP( 13, 0x3, 0, 1, 1,   1,   1,   1    )
109*ea385723SMasahiro Yamada 
110*ea385723SMasahiro Yamada #define MPP14_GPIO		MPP( 14, 0x0, 1, 1, 1,   1,   1,   1    )
111*ea385723SMasahiro Yamada #define MPP14_SD_D0		MPP( 14, 0x1, 1, 1, 1,   1,   1,   1    )
112*ea385723SMasahiro Yamada #define MPP14_UART1_RXD		MPP( 14, 0x3, 1, 0, 1,   1,   1,   1    )
113*ea385723SMasahiro Yamada #define MPP14_SATA1_PRESENTn	MPP( 14, 0x4, 0, 1, 0,   0,   1,   1    )
114*ea385723SMasahiro Yamada #define MPP14_MII0_COL		MPP( 14, 0xd, 1, 0, 1,   1,   1,   1    )
115*ea385723SMasahiro Yamada 
116*ea385723SMasahiro Yamada #define MPP15_GPIO		MPP( 15, 0x0, 1, 1, 1,   1,   1,   1    )
117*ea385723SMasahiro Yamada #define MPP15_SD_D1		MPP( 15, 0x1, 1, 1, 1,   1,   1,   1    )
118*ea385723SMasahiro Yamada #define MPP15_UART0_RTS		MPP( 15, 0x2, 0, 1, 1,   1,   1,   1    )
119*ea385723SMasahiro Yamada #define MPP15_UART1_TXD		MPP( 15, 0x3, 0, 1, 1,   1,   1,   1    )
120*ea385723SMasahiro Yamada #define MPP15_SATA0_ACTn	MPP( 15, 0x4, 0, 1, 0,   1,   1,   1    )
121*ea385723SMasahiro Yamada 
122*ea385723SMasahiro Yamada #define MPP16_GPIO		MPP( 16, 0x0, 1, 1, 1,   1,   1,   1    )
123*ea385723SMasahiro Yamada #define MPP16_SD_D2		MPP( 16, 0x1, 1, 1, 1,   1,   1,   1    )
124*ea385723SMasahiro Yamada #define MPP16_UART0_CTS		MPP( 16, 0x2, 1, 0, 1,   1,   1,   1    )
125*ea385723SMasahiro Yamada #define MPP16_UART1_RXD		MPP( 16, 0x3, 1, 0, 1,   1,   1,   1    )
126*ea385723SMasahiro Yamada #define MPP16_SATA1_ACTn	MPP( 16, 0x4, 0, 1, 0,   0,   1,   1    )
127*ea385723SMasahiro Yamada #define MPP16_MII0_CRS		MPP( 16, 0xd, 1, 0, 1,   1,   1,   1    )
128*ea385723SMasahiro Yamada 
129*ea385723SMasahiro Yamada #define MPP17_GPIO		MPP( 17, 0x0, 1, 1, 1,   1,   1,   1    )
130*ea385723SMasahiro Yamada #define MPP17_SD_D3		MPP( 17, 0x1, 1, 1, 1,   1,   1,   1    )
131*ea385723SMasahiro Yamada #define MPP17_SATA0_PRESENTn	MPP( 17, 0x4, 0, 1, 0,   1,   1,   1    )
132*ea385723SMasahiro Yamada 
133*ea385723SMasahiro Yamada #define MPP18_GPO		MPP( 18, 0x0, 0, 1, 1,   1,   1,   1    )
134*ea385723SMasahiro Yamada #define MPP18_NF_IO0		MPP( 18, 0x1, 1, 1, 1,   1,   1,   1    )
135*ea385723SMasahiro Yamada 
136*ea385723SMasahiro Yamada #define MPP19_GPO		MPP( 19, 0x0, 0, 1, 1,   1,   1,   1    )
137*ea385723SMasahiro Yamada #define MPP19_NF_IO1		MPP( 19, 0x1, 1, 1, 1,   1,   1,   1    )
138*ea385723SMasahiro Yamada 
139*ea385723SMasahiro Yamada #define MPP20_GPIO		MPP( 20, 0x0, 1, 1, 0,   1,   1,   1    )
140*ea385723SMasahiro Yamada #define MPP20_TSMP0		MPP( 20, 0x1, 1, 1, 0,   0,   1,   1    )
141*ea385723SMasahiro Yamada #define MPP20_TDM_CH0_TX_QL	MPP( 20, 0x2, 0, 1, 0,   0,   1,   1    )
142*ea385723SMasahiro Yamada #define MPP20_GE1_0		MPP( 20, 0x3, 0, 0, 0,   1,   1,   1    )
143*ea385723SMasahiro Yamada #define MPP20_AUDIO_SPDIFI	MPP( 20, 0x4, 1, 0, 0,   0,   1,   1    )
144*ea385723SMasahiro Yamada #define MPP20_SATA1_ACTn	MPP( 20, 0x5, 0, 1, 0,   0,   1,   1    )
145*ea385723SMasahiro Yamada 
146*ea385723SMasahiro Yamada #define MPP21_GPIO		MPP( 21, 0x0, 1, 1, 0,   1,   1,   1    )
147*ea385723SMasahiro Yamada #define MPP21_TSMP1		MPP( 21, 0x1, 1, 1, 0,   0,   1,   1    )
148*ea385723SMasahiro Yamada #define MPP21_TDM_CH0_RX_QL	MPP( 21, 0x2, 0, 1, 0,   0,   1,   1    )
149*ea385723SMasahiro Yamada #define MPP21_GE1_1		MPP( 21, 0x3, 0, 0, 0,   1,   1,   1    )
150*ea385723SMasahiro Yamada #define MPP21_AUDIO_SPDIFO	MPP( 21, 0x4, 0, 1, 0,   0,   1,   1    )
151*ea385723SMasahiro Yamada #define MPP21_SATA0_ACTn	MPP( 21, 0x5, 0, 1, 0,   1,   1,   1    )
152*ea385723SMasahiro Yamada 
153*ea385723SMasahiro Yamada #define MPP22_GPIO		MPP( 22, 0x0, 1, 1, 0,   1,   1,   1    )
154*ea385723SMasahiro Yamada #define MPP22_TSMP2		MPP( 22, 0x1, 1, 1, 0,   0,   1,   1    )
155*ea385723SMasahiro Yamada #define MPP22_TDM_CH2_TX_QL	MPP( 22, 0x2, 0, 1, 0,   0,   1,   1    )
156*ea385723SMasahiro Yamada #define MPP22_GE1_2		MPP( 22, 0x3, 0, 0, 0,   1,   1,   1    )
157*ea385723SMasahiro Yamada #define MPP22_AUDIO_SPDIFRMKCLK	MPP( 22, 0x4, 0, 1, 0,   0,   1,   1    )
158*ea385723SMasahiro Yamada #define MPP22_SATA1_PRESENTn	MPP( 22, 0x5, 0, 1, 0,   0,   1,   1    )
159*ea385723SMasahiro Yamada 
160*ea385723SMasahiro Yamada #define MPP23_GPIO		MPP( 23, 0x0, 1, 1, 0,   1,   1,   1    )
161*ea385723SMasahiro Yamada #define MPP23_TSMP3		MPP( 23, 0x1, 1, 1, 0,   0,   1,   1    )
162*ea385723SMasahiro Yamada #define MPP23_TDM_CH2_RX_QL	MPP( 23, 0x2, 1, 0, 0,   0,   1,   1    )
163*ea385723SMasahiro Yamada #define MPP23_GE1_3		MPP( 23, 0x3, 0, 0, 0,   1,   1,   1    )
164*ea385723SMasahiro Yamada #define MPP23_AUDIO_I2SBCLK	MPP( 23, 0x4, 0, 1, 0,   0,   1,   1    )
165*ea385723SMasahiro Yamada #define MPP23_SATA0_PRESENTn	MPP( 23, 0x5, 0, 1, 0,   1,   1,   1    )
166*ea385723SMasahiro Yamada 
167*ea385723SMasahiro Yamada #define MPP24_GPIO		MPP( 24, 0x0, 1, 1, 0,   1,   1,   1    )
168*ea385723SMasahiro Yamada #define MPP24_TSMP4		MPP( 24, 0x1, 1, 1, 0,   0,   1,   1    )
169*ea385723SMasahiro Yamada #define MPP24_TDM_SPI_CS0	DEV( 24, 0x2, 0, 1, 0,   0,   1,   1    )
170*ea385723SMasahiro Yamada #define MPP24_GE1_4		MPP( 24, 0x3, 0, 0, 0,   1,   1,   1    )
171*ea385723SMasahiro Yamada #define MPP24_AUDIO_I2SDO	MPP( 24, 0x4, 0, 1, 0,   0,   1,   1    )
172*ea385723SMasahiro Yamada 
173*ea385723SMasahiro Yamada #define MPP25_GPIO		MPP( 25, 0x0, 1, 1, 0,   1,   1,   1    )
174*ea385723SMasahiro Yamada #define MPP25_TSMP5		MPP( 25, 0x1, 1, 1, 0,   0,   1,   1    )
175*ea385723SMasahiro Yamada #define MPP25_TDM_SPI_SCK	MPP( 25, 0x2, 0, 1, 0,   0,   1,   1    )
176*ea385723SMasahiro Yamada #define MPP25_GE1_5		MPP( 25, 0x3, 0, 0, 0,   1,   1,   1    )
177*ea385723SMasahiro Yamada #define MPP25_AUDIO_I2SLRCLK	MPP( 25, 0x4, 0, 1, 0,   0,   1,   1    )
178*ea385723SMasahiro Yamada 
179*ea385723SMasahiro Yamada #define MPP26_GPIO		MPP( 26, 0x0, 1, 1, 0,   1,   1,   1    )
180*ea385723SMasahiro Yamada #define MPP26_TSMP6		MPP( 26, 0x1, 1, 1, 0,   0,   1,   1    )
181*ea385723SMasahiro Yamada #define MPP26_TDM_SPI_MISO	MPP( 26, 0x2, 1, 0, 0,   0,   1,   1    )
182*ea385723SMasahiro Yamada #define MPP26_GE1_6		MPP( 26, 0x3, 0, 0, 0,   1,   1,   1    )
183*ea385723SMasahiro Yamada #define MPP26_AUDIO_I2SMCLK	MPP( 26, 0x4, 0, 1, 0,   0,   1,   1    )
184*ea385723SMasahiro Yamada 
185*ea385723SMasahiro Yamada #define MPP27_GPIO		MPP( 27, 0x0, 1, 1, 0,   1,   1,   1    )
186*ea385723SMasahiro Yamada #define MPP27_TSMP7		MPP( 27, 0x1, 1, 1, 0,   0,   1,   1    )
187*ea385723SMasahiro Yamada #define MPP27_TDM_SPI_MOSI	MPP( 27, 0x2, 0, 1, 0,   0,   1,   1    )
188*ea385723SMasahiro Yamada #define MPP27_GE1_7		MPP( 27, 0x3, 0, 0, 0,   1,   1,   1    )
189*ea385723SMasahiro Yamada #define MPP27_AUDIO_I2SDI	MPP( 27, 0x4, 1, 0, 0,   0,   1,   1    )
190*ea385723SMasahiro Yamada 
191*ea385723SMasahiro Yamada #define MPP28_GPIO		MPP( 28, 0x0, 1, 1, 0,   1,   1,   1    )
192*ea385723SMasahiro Yamada #define MPP28_TSMP8		MPP( 28, 0x1, 1, 1, 0,   0,   1,   1    )
193*ea385723SMasahiro Yamada #define MPP28_TDM_CODEC_INTn	MPP( 28, 0x2, 0, 0, 0,   0,   1,   1    )
194*ea385723SMasahiro Yamada #define MPP28_GE1_8		MPP( 28, 0x3, 0, 0, 0,   1,   1,   1    )
195*ea385723SMasahiro Yamada #define MPP28_AUDIO_EXTCLK	MPP( 28, 0x4, 1, 0, 0,   0,   1,   1    )
196*ea385723SMasahiro Yamada 
197*ea385723SMasahiro Yamada #define MPP29_GPIO		MPP( 29, 0x0, 1, 1, 0,   1,   1,   1    )
198*ea385723SMasahiro Yamada #define MPP29_TSMP9		MPP( 29, 0x1, 1, 1, 0,   0,   1,   1    )
199*ea385723SMasahiro Yamada #define MPP29_TDM_CODEC_RSTn	MPP( 29, 0x2, 0, 0, 0,   0,   1,   1    )
200*ea385723SMasahiro Yamada #define MPP29_GE1_9		MPP( 29, 0x3, 0, 0, 0,   1,   1,   1    )
201*ea385723SMasahiro Yamada 
202*ea385723SMasahiro Yamada #define MPP30_GPIO		MPP( 30, 0x0, 1, 1, 0,   1,   1,   1    )
203*ea385723SMasahiro Yamada #define MPP30_TSMP10		MPP( 30, 0x1, 1, 1, 0,   0,   1,   1    )
204*ea385723SMasahiro Yamada #define MPP30_TDM_PCLK		MPP( 30, 0x2, 1, 1, 0,   0,   1,   1    )
205*ea385723SMasahiro Yamada #define MPP30_GE1_10		MPP( 30, 0x3, 0, 0, 0,   1,   1,   1    )
206*ea385723SMasahiro Yamada 
207*ea385723SMasahiro Yamada #define MPP31_GPIO		MPP( 31, 0x0, 1, 1, 0,   1,   1,   1    )
208*ea385723SMasahiro Yamada #define MPP31_TSMP11		MPP( 31, 0x1, 1, 1, 0,   0,   1,   1    )
209*ea385723SMasahiro Yamada #define MPP31_TDM_FS		MPP( 31, 0x2, 1, 1, 0,   0,   1,   1    )
210*ea385723SMasahiro Yamada #define MPP31_GE1_11		MPP( 31, 0x3, 0, 0, 0,   1,   1,   1    )
211*ea385723SMasahiro Yamada 
212*ea385723SMasahiro Yamada #define MPP32_GPIO		MPP( 32, 0x0, 1, 1, 0,   1,   1,   1    )
213*ea385723SMasahiro Yamada #define MPP32_TSMP12		MPP( 32, 0x1, 1, 1, 0,   0,   1,   1    )
214*ea385723SMasahiro Yamada #define MPP32_TDM_DRX		MPP( 32, 0x2, 1, 0, 0,   0,   1,   1    )
215*ea385723SMasahiro Yamada #define MPP32_GE1_12		MPP( 32, 0x3, 0, 0, 0,   1,   1,   1    )
216*ea385723SMasahiro Yamada 
217*ea385723SMasahiro Yamada #define MPP33_GPIO		MPP( 33, 0x0, 1, 1, 0,   1,   1,   1    )
218*ea385723SMasahiro Yamada #define MPP33_TDM_DTX		MPP( 33, 0x2, 0, 1, 0,   0,   1,   1    )
219*ea385723SMasahiro Yamada #define MPP33_GE1_13		MPP( 33, 0x3, 0, 0, 0,   1,   1,   1    )
220*ea385723SMasahiro Yamada 
221*ea385723SMasahiro Yamada #define MPP34_GPIO		MPP( 34, 0x0, 1, 1, 0,   1,   1,   1    )
222*ea385723SMasahiro Yamada #define MPP34_TDM_SPI_CS1	MPP( 34, 0x2, 0, 1, 0,   0,   1,   1    )
223*ea385723SMasahiro Yamada #define MPP34_GE1_14		MPP( 34, 0x3, 0, 0, 0,   1,   1,   1    )
224*ea385723SMasahiro Yamada 
225*ea385723SMasahiro Yamada #define MPP35_GPIO		MPP( 35, 0x0, 1, 1, 1,   1,   1,   1    )
226*ea385723SMasahiro Yamada #define MPP35_TDM_CH0_TX_QL	MPP( 35, 0x2, 0, 1, 0,   0,   1,   1    )
227*ea385723SMasahiro Yamada #define MPP35_GE1_15		MPP( 35, 0x3, 0, 0, 0,   1,   1,   1    )
228*ea385723SMasahiro Yamada #define MPP35_SATA0_ACTn	MPP( 35, 0x5, 0, 1, 0,   1,   1,   1    )
229*ea385723SMasahiro Yamada #define MPP35_MII0_RXERR	MPP( 35, 0xc, 1, 0, 1,   1,   1,   1    )
230*ea385723SMasahiro Yamada 
231*ea385723SMasahiro Yamada #define MPP36_GPIO		MPP( 36, 0x0, 1, 1, 1,   0,   0,   1    )
232*ea385723SMasahiro Yamada #define MPP36_TSMP0		MPP( 36, 0x1, 1, 1, 0,   0,   0,   1    )
233*ea385723SMasahiro Yamada #define MPP36_TDM_SPI_CS1	MPP( 36, 0x2, 0, 1, 0,   0,   0,   1    )
234*ea385723SMasahiro Yamada #define MPP36_AUDIO_SPDIFI	MPP( 36, 0x4, 1, 0, 1,   0,   0,   1    )
235*ea385723SMasahiro Yamada 
236*ea385723SMasahiro Yamada #define MPP37_GPIO		MPP( 37, 0x0, 1, 1, 1,   0,   0,   1    )
237*ea385723SMasahiro Yamada #define MPP37_TSMP1		MPP( 37, 0x1, 1, 1, 0,   0,   0,   1    )
238*ea385723SMasahiro Yamada #define MPP37_TDM_CH2_TX_QL	MPP( 37, 0x2, 0, 1, 0,   0,   0,   1    )
239*ea385723SMasahiro Yamada #define MPP37_AUDIO_SPDIFO	MPP( 37, 0x4, 0, 1, 1,   0,   0,   1    )
240*ea385723SMasahiro Yamada 
241*ea385723SMasahiro Yamada #define MPP38_GPIO		MPP( 38, 0x0, 1, 1, 1,   0,   0,   1    )
242*ea385723SMasahiro Yamada #define MPP38_TSMP2		MPP( 38, 0x1, 1, 1, 0,   0,   0,   1    )
243*ea385723SMasahiro Yamada #define MPP38_TDM_CH2_RX_QL	MPP( 38, 0x2, 0, 1, 0,   0,   0,   1    )
244*ea385723SMasahiro Yamada #define MPP38_AUDIO_SPDIFRMLCLK	MPP( 38, 0x4, 0, 1, 1,   0,   0,   1    )
245*ea385723SMasahiro Yamada 
246*ea385723SMasahiro Yamada #define MPP39_GPIO		MPP( 39, 0x0, 1, 1, 1,   0,   0,   1    )
247*ea385723SMasahiro Yamada #define MPP39_TSMP3		MPP( 39, 0x1, 1, 1, 0,   0,   0,   1    )
248*ea385723SMasahiro Yamada #define MPP39_TDM_SPI_CS0	MPP( 39, 0x2, 0, 1, 0,   0,   0,   1    )
249*ea385723SMasahiro Yamada #define MPP39_AUDIO_I2SBCLK	MPP( 39, 0x4, 0, 1, 1,   0,   0,   1    )
250*ea385723SMasahiro Yamada 
251*ea385723SMasahiro Yamada #define MPP40_GPIO		MPP( 40, 0x0, 1, 1, 1,   0,   0,   1    )
252*ea385723SMasahiro Yamada #define MPP40_TSMP4		MPP( 40, 0x1, 1, 1, 0,   0,   0,   1    )
253*ea385723SMasahiro Yamada #define MPP40_TDM_SPI_SCK	MPP( 40, 0x2, 0, 1, 0,   0,   0,   1    )
254*ea385723SMasahiro Yamada #define MPP40_AUDIO_I2SDO	MPP( 40, 0x4, 0, 1, 1,   0,   0,   1    )
255*ea385723SMasahiro Yamada 
256*ea385723SMasahiro Yamada #define MPP41_GPIO		MPP( 41, 0x0, 1, 1, 1,   0,   0,   1    )
257*ea385723SMasahiro Yamada #define MPP41_TSMP5		MPP( 41, 0x1, 1, 1, 0,   0,   0,   1    )
258*ea385723SMasahiro Yamada #define MPP41_TDM_SPI_MISO	MPP( 41, 0x2, 1, 0, 0,   0,   0,   1    )
259*ea385723SMasahiro Yamada #define MPP41_AUDIO_I2SLRC	MPP( 41, 0x4, 0, 1, 1,   0,   0,   1    )
260*ea385723SMasahiro Yamada 
261*ea385723SMasahiro Yamada #define MPP42_GPIO		MPP( 42, 0x0, 1, 1, 1,   0,   0,   1    )
262*ea385723SMasahiro Yamada #define MPP42_TSMP6		MPP( 42, 0x1, 1, 1, 0,   0,   0,   1    )
263*ea385723SMasahiro Yamada #define MPP42_TDM_SPI_MOSI	MPP( 42, 0x2, 0, 1, 0,   0,   0,   1    )
264*ea385723SMasahiro Yamada #define MPP42_AUDIO_I2SMCLK	MPP( 42, 0x4, 0, 1, 1,   0,   0,   1    )
265*ea385723SMasahiro Yamada 
266*ea385723SMasahiro Yamada #define MPP43_GPIO		MPP( 43, 0x0, 1, 1, 1,   0,   0,   1    )
267*ea385723SMasahiro Yamada #define MPP43_TSMP7		MPP( 43, 0x1, 1, 1, 0,   0,   0,   1    )
268*ea385723SMasahiro Yamada #define MPP43_TDM_CODEC_INTn	MPP( 43, 0x2, 0, 0, 0,   0,   0,   1    )
269*ea385723SMasahiro Yamada #define MPP43_AUDIO_I2SDI	MPP( 43, 0x4, 1, 0, 1,   0,   0,   1    )
270*ea385723SMasahiro Yamada 
271*ea385723SMasahiro Yamada #define MPP44_GPIO		MPP( 44, 0x0, 1, 1, 1,   0,   0,   1    )
272*ea385723SMasahiro Yamada #define MPP44_TSMP8		MPP( 44, 0x1, 1, 1, 0,   0,   0,   1    )
273*ea385723SMasahiro Yamada #define MPP44_TDM_CODEC_RSTn	MPP( 44, 0x2, 0, 0, 0,   0,   0,   1    )
274*ea385723SMasahiro Yamada #define MPP44_AUDIO_EXTCLK	MPP( 44, 0x4, 1, 0, 1,   0,   0,   1    )
275*ea385723SMasahiro Yamada 
276*ea385723SMasahiro Yamada #define MPP45_GPIO		MPP( 45, 0x0, 1, 1, 0,   0,   0,   1    )
277*ea385723SMasahiro Yamada #define MPP45_TSMP9		MPP( 45, 0x1, 1, 1, 0,   0,   0,   1    )
278*ea385723SMasahiro Yamada #define MPP45_TDM_PCLK		MPP( 45, 0x2, 1, 1, 0,   0,   0,   1    )
279*ea385723SMasahiro Yamada 
280*ea385723SMasahiro Yamada #define MPP46_GPIO		MPP( 46, 0x0, 1, 1, 0,   0,   0,   1    )
281*ea385723SMasahiro Yamada #define MPP46_TSMP10		MPP( 46, 0x1, 1, 1, 0,   0,   0,   1    )
282*ea385723SMasahiro Yamada #define MPP46_TDM_FS		MPP( 46, 0x2, 1, 1, 0,   0,   0,   1    )
283*ea385723SMasahiro Yamada 
284*ea385723SMasahiro Yamada #define MPP47_GPIO		MPP( 47, 0x0, 1, 1, 0,   0,   0,   1    )
285*ea385723SMasahiro Yamada #define MPP47_TSMP11		MPP( 47, 0x1, 1, 1, 0,   0,   0,   1    )
286*ea385723SMasahiro Yamada #define MPP47_TDM_DRX		MPP( 47, 0x2, 1, 0, 0,   0,   0,   1    )
287*ea385723SMasahiro Yamada 
288*ea385723SMasahiro Yamada #define MPP48_GPIO		MPP( 48, 0x0, 1, 1, 0,   0,   0,   1    )
289*ea385723SMasahiro Yamada #define MPP48_TSMP12		MPP( 48, 0x1, 1, 1, 0,   0,   0,   1    )
290*ea385723SMasahiro Yamada #define MPP48_TDM_DTX		MPP( 48, 0x2, 0, 1, 0,   0,   0,   1    )
291*ea385723SMasahiro Yamada 
292*ea385723SMasahiro Yamada #define MPP49_GPIO		MPP( 49, 0x0, 1, 1, 0,   0,   0,   1    )
293*ea385723SMasahiro Yamada #define MPP49_TSMP9		MPP( 49, 0x1, 1, 1, 0,   0,   0,   1    )
294*ea385723SMasahiro Yamada #define MPP49_TDM_CH0_RX_QL	MPP( 49, 0x2, 0, 1, 0,   0,   0,   1    )
295*ea385723SMasahiro Yamada #define MPP49_PTP_CLK		MPP( 49, 0x5, 1, 0, 0,   0,   0,   1    )
296*ea385723SMasahiro Yamada 
297*ea385723SMasahiro Yamada #define MPP_MAX			49
298*ea385723SMasahiro Yamada 
299*ea385723SMasahiro Yamada void kirkwood_mpp_conf(const u32 *mpp_list, u32 *mpp_save);
300*ea385723SMasahiro Yamada 
301*ea385723SMasahiro Yamada #endif
302