diff options
Diffstat (limited to 'arch/arm/mach-pxa/zylonite_pxa300.c')
-rw-r--r-- | arch/arm/mach-pxa/zylonite_pxa300.c | 65 |
1 files changed, 49 insertions, 16 deletions
diff --git a/arch/arm/mach-pxa/zylonite_pxa300.c b/arch/arm/mach-pxa/zylonite_pxa300.c index 1832bc316501..6ac04c09b0e9 100644 --- a/arch/arm/mach-pxa/zylonite_pxa300.c +++ b/arch/arm/mach-pxa/zylonite_pxa300.c | |||
@@ -53,13 +53,13 @@ static mfp_cfg_t common_mfp_cfg[] __initdata = { | |||
53 | 53 | ||
54 | /* BTUART */ | 54 | /* BTUART */ |
55 | GPIO111_UART2_RTS, | 55 | GPIO111_UART2_RTS, |
56 | GPIO112_UART2_RXD, | 56 | GPIO112_UART2_RXD | MFP_LPM_EDGE_FALL, |
57 | GPIO113_UART2_TXD, | 57 | GPIO113_UART2_TXD, |
58 | GPIO114_UART2_CTS, | 58 | GPIO114_UART2_CTS | MFP_LPM_EDGE_BOTH, |
59 | 59 | ||
60 | /* STUART */ | 60 | /* STUART */ |
61 | GPIO109_UART3_TXD, | 61 | GPIO109_UART3_TXD, |
62 | GPIO110_UART3_RXD, | 62 | GPIO110_UART3_RXD | MFP_LPM_EDGE_FALL, |
63 | 63 | ||
64 | /* AC97 */ | 64 | /* AC97 */ |
65 | GPIO23_AC97_nACRESET, | 65 | GPIO23_AC97_nACRESET, |
@@ -70,16 +70,16 @@ static mfp_cfg_t common_mfp_cfg[] __initdata = { | |||
70 | GPIO28_AC97_SYNC, | 70 | GPIO28_AC97_SYNC, |
71 | 71 | ||
72 | /* Keypad */ | 72 | /* Keypad */ |
73 | GPIO107_KP_DKIN_0, | 73 | GPIO107_KP_DKIN_0 | MFP_LPM_EDGE_BOTH, |
74 | GPIO108_KP_DKIN_1, | 74 | GPIO108_KP_DKIN_1 | MFP_LPM_EDGE_BOTH, |
75 | GPIO115_KP_MKIN_0, | 75 | GPIO115_KP_MKIN_0 | MFP_LPM_EDGE_BOTH, |
76 | GPIO116_KP_MKIN_1, | 76 | GPIO116_KP_MKIN_1 | MFP_LPM_EDGE_BOTH, |
77 | GPIO117_KP_MKIN_2, | 77 | GPIO117_KP_MKIN_2 | MFP_LPM_EDGE_BOTH, |
78 | GPIO118_KP_MKIN_3, | 78 | GPIO118_KP_MKIN_3 | MFP_LPM_EDGE_BOTH, |
79 | GPIO119_KP_MKIN_4, | 79 | GPIO119_KP_MKIN_4 | MFP_LPM_EDGE_BOTH, |
80 | GPIO120_KP_MKIN_5, | 80 | GPIO120_KP_MKIN_5 | MFP_LPM_EDGE_BOTH, |
81 | GPIO2_2_KP_MKIN_6, | 81 | GPIO2_2_KP_MKIN_6 | MFP_LPM_EDGE_BOTH, |
82 | GPIO3_2_KP_MKIN_7, | 82 | GPIO3_2_KP_MKIN_7 | MFP_LPM_EDGE_BOTH, |
83 | GPIO121_KP_MKOUT_0, | 83 | GPIO121_KP_MKOUT_0, |
84 | GPIO122_KP_MKOUT_1, | 84 | GPIO122_KP_MKOUT_1, |
85 | GPIO123_KP_MKOUT_2, | 85 | GPIO123_KP_MKOUT_2, |
@@ -88,16 +88,33 @@ static mfp_cfg_t common_mfp_cfg[] __initdata = { | |||
88 | GPIO4_2_KP_MKOUT_5, | 88 | GPIO4_2_KP_MKOUT_5, |
89 | GPIO5_2_KP_MKOUT_6, | 89 | GPIO5_2_KP_MKOUT_6, |
90 | GPIO6_2_KP_MKOUT_7, | 90 | GPIO6_2_KP_MKOUT_7, |
91 | |||
92 | /* MMC1 */ | ||
93 | GPIO3_MMC1_DAT0, | ||
94 | GPIO4_MMC1_DAT1 | MFP_LPM_EDGE_BOTH, | ||
95 | GPIO5_MMC1_DAT2, | ||
96 | GPIO6_MMC1_DAT3, | ||
97 | GPIO7_MMC1_CLK, | ||
98 | GPIO8_MMC1_CMD, /* CMD0 for slot 0 */ | ||
99 | GPIO15_GPIO, /* CMD1 default as GPIO for slot 0 */ | ||
100 | |||
101 | /* MMC2 */ | ||
102 | GPIO9_MMC2_DAT0, | ||
103 | GPIO10_MMC2_DAT1 | MFP_LPM_EDGE_BOTH, | ||
104 | GPIO11_MMC2_DAT2, | ||
105 | GPIO12_MMC2_DAT3, | ||
106 | GPIO13_MMC2_CLK, | ||
107 | GPIO14_MMC2_CMD, | ||
91 | }; | 108 | }; |
92 | 109 | ||
93 | static mfp_cfg_t pxa300_mfp_cfg[] __initdata = { | 110 | static mfp_cfg_t pxa300_mfp_cfg[] __initdata = { |
94 | /* FFUART */ | 111 | /* FFUART */ |
95 | GPIO30_UART1_RXD, | 112 | GPIO30_UART1_RXD | MFP_LPM_EDGE_FALL, |
96 | GPIO31_UART1_TXD, | 113 | GPIO31_UART1_TXD, |
97 | GPIO32_UART1_CTS, | 114 | GPIO32_UART1_CTS, |
98 | GPIO37_UART1_RTS, | 115 | GPIO37_UART1_RTS, |
99 | GPIO33_UART1_DCD, | 116 | GPIO33_UART1_DCD, |
100 | GPIO34_UART1_DSR, | 117 | GPIO34_UART1_DSR | MFP_LPM_EDGE_FALL, |
101 | GPIO35_UART1_RI, | 118 | GPIO35_UART1_RI, |
102 | GPIO36_UART1_DTR, | 119 | GPIO36_UART1_DTR, |
103 | 120 | ||
@@ -108,7 +125,7 @@ static mfp_cfg_t pxa300_mfp_cfg[] __initdata = { | |||
108 | 125 | ||
109 | static mfp_cfg_t pxa310_mfp_cfg[] __initdata = { | 126 | static mfp_cfg_t pxa310_mfp_cfg[] __initdata = { |
110 | /* FFUART */ | 127 | /* FFUART */ |
111 | GPIO99_UART1_RXD, | 128 | GPIO99_UART1_RXD | MFP_LPM_EDGE_FALL, |
112 | GPIO100_UART1_TXD, | 129 | GPIO100_UART1_TXD, |
113 | GPIO101_UART1_CTS, | 130 | GPIO101_UART1_CTS, |
114 | GPIO106_UART1_RTS, | 131 | GPIO106_UART1_RTS, |
@@ -116,6 +133,14 @@ static mfp_cfg_t pxa310_mfp_cfg[] __initdata = { | |||
116 | /* Ethernet */ | 133 | /* Ethernet */ |
117 | GPIO2_nCS3, | 134 | GPIO2_nCS3, |
118 | GPIO102_GPIO, | 135 | GPIO102_GPIO, |
136 | |||
137 | /* MMC3 */ | ||
138 | GPIO7_2_MMC3_DAT0, | ||
139 | GPIO8_2_MMC3_DAT1 | MFP_LPM_EDGE_BOTH, | ||
140 | GPIO9_2_MMC3_DAT2, | ||
141 | GPIO10_2_MMC3_DAT3, | ||
142 | GPIO103_MMC3_CLK, | ||
143 | GPIO105_MMC3_CMD, | ||
119 | }; | 144 | }; |
120 | 145 | ||
121 | #define NUM_LCD_DETECT_PINS 7 | 146 | #define NUM_LCD_DETECT_PINS 7 |
@@ -174,6 +199,10 @@ void __init zylonite_pxa300_init(void) | |||
174 | 199 | ||
175 | /* GPIO pin assignment */ | 200 | /* GPIO pin assignment */ |
176 | gpio_backlight = mfp_to_gpio(MFP_PIN_GPIO20); | 201 | gpio_backlight = mfp_to_gpio(MFP_PIN_GPIO20); |
202 | |||
203 | /* MMC card detect & write protect for controller 0 */ | ||
204 | zylonite_mmc_slot[0].gpio_cd = EXT_GPIO(0); | ||
205 | zylonite_mmc_slot[0].gpio_wp = EXT_GPIO(2); | ||
177 | } | 206 | } |
178 | 207 | ||
179 | if (cpu_is_pxa300()) { | 208 | if (cpu_is_pxa300()) { |
@@ -184,5 +213,9 @@ void __init zylonite_pxa300_init(void) | |||
184 | if (cpu_is_pxa310()) { | 213 | if (cpu_is_pxa310()) { |
185 | pxa3xx_mfp_config(ARRAY_AND_SIZE(pxa310_mfp_cfg)); | 214 | pxa3xx_mfp_config(ARRAY_AND_SIZE(pxa310_mfp_cfg)); |
186 | gpio_eth_irq = mfp_to_gpio(MFP_PIN_GPIO102); | 215 | gpio_eth_irq = mfp_to_gpio(MFP_PIN_GPIO102); |
216 | |||
217 | /* MMC card detect & write protect for controller 2 */ | ||
218 | zylonite_mmc_slot[2].gpio_cd = EXT_GPIO(30); | ||
219 | zylonite_mmc_slot[2].gpio_wp = EXT_GPIO(31); | ||
187 | } | 220 | } |
188 | } | 221 | } |