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