diff options
Diffstat (limited to 'arch/arm/mach-pxa/generic.c')
-rw-r--r-- | arch/arm/mach-pxa/generic.c | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c index 76970598f550..80721c610d41 100644 --- a/arch/arm/mach-pxa/generic.c +++ b/arch/arm/mach-pxa/generic.c | |||
@@ -32,7 +32,6 @@ | |||
32 | #include <asm/mach/map.h> | 32 | #include <asm/mach/map.h> |
33 | 33 | ||
34 | #include <asm/arch/pxa-regs.h> | 34 | #include <asm/arch/pxa-regs.h> |
35 | #include <asm/arch/gpio.h> | ||
36 | 35 | ||
37 | #include "generic.h" | 36 | #include "generic.h" |
38 | 37 | ||
@@ -67,97 +66,6 @@ unsigned int get_memclk_frequency_10khz(void) | |||
67 | EXPORT_SYMBOL(get_memclk_frequency_10khz); | 66 | EXPORT_SYMBOL(get_memclk_frequency_10khz); |
68 | 67 | ||
69 | /* | 68 | /* |
70 | * Handy function to set GPIO alternate functions | ||
71 | */ | ||
72 | int pxa_last_gpio; | ||
73 | |||
74 | int pxa_gpio_mode(int gpio_mode) | ||
75 | { | ||
76 | unsigned long flags; | ||
77 | int gpio = gpio_mode & GPIO_MD_MASK_NR; | ||
78 | int fn = (gpio_mode & GPIO_MD_MASK_FN) >> 8; | ||
79 | int gafr; | ||
80 | |||
81 | if (gpio > pxa_last_gpio) | ||
82 | return -EINVAL; | ||
83 | |||
84 | local_irq_save(flags); | ||
85 | if (gpio_mode & GPIO_DFLT_LOW) | ||
86 | GPCR(gpio) = GPIO_bit(gpio); | ||
87 | else if (gpio_mode & GPIO_DFLT_HIGH) | ||
88 | GPSR(gpio) = GPIO_bit(gpio); | ||
89 | if (gpio_mode & GPIO_MD_MASK_DIR) | ||
90 | GPDR(gpio) |= GPIO_bit(gpio); | ||
91 | else | ||
92 | GPDR(gpio) &= ~GPIO_bit(gpio); | ||
93 | gafr = GAFR(gpio) & ~(0x3 << (((gpio) & 0xf)*2)); | ||
94 | GAFR(gpio) = gafr | (fn << (((gpio) & 0xf)*2)); | ||
95 | local_irq_restore(flags); | ||
96 | |||
97 | return 0; | ||
98 | } | ||
99 | |||
100 | EXPORT_SYMBOL(pxa_gpio_mode); | ||
101 | |||
102 | int gpio_direction_input(unsigned gpio) | ||
103 | { | ||
104 | unsigned long flags; | ||
105 | u32 mask; | ||
106 | |||
107 | if (gpio > pxa_last_gpio) | ||
108 | return -EINVAL; | ||
109 | |||
110 | mask = GPIO_bit(gpio); | ||
111 | local_irq_save(flags); | ||
112 | GPDR(gpio) &= ~mask; | ||
113 | local_irq_restore(flags); | ||
114 | |||
115 | return 0; | ||
116 | } | ||
117 | EXPORT_SYMBOL(gpio_direction_input); | ||
118 | |||
119 | int gpio_direction_output(unsigned gpio, int value) | ||
120 | { | ||
121 | unsigned long flags; | ||
122 | u32 mask; | ||
123 | |||
124 | if (gpio > pxa_last_gpio) | ||
125 | return -EINVAL; | ||
126 | |||
127 | mask = GPIO_bit(gpio); | ||
128 | local_irq_save(flags); | ||
129 | if (value) | ||
130 | GPSR(gpio) = mask; | ||
131 | else | ||
132 | GPCR(gpio) = mask; | ||
133 | GPDR(gpio) |= mask; | ||
134 | local_irq_restore(flags); | ||
135 | |||
136 | return 0; | ||
137 | } | ||
138 | EXPORT_SYMBOL(gpio_direction_output); | ||
139 | |||
140 | /* | ||
141 | * Return GPIO level | ||
142 | */ | ||
143 | int pxa_gpio_get_value(unsigned gpio) | ||
144 | { | ||
145 | return __gpio_get_value(gpio); | ||
146 | } | ||
147 | |||
148 | EXPORT_SYMBOL(pxa_gpio_get_value); | ||
149 | |||
150 | /* | ||
151 | * Set output GPIO level | ||
152 | */ | ||
153 | void pxa_gpio_set_value(unsigned gpio, int value) | ||
154 | { | ||
155 | __gpio_set_value(gpio, value); | ||
156 | } | ||
157 | |||
158 | EXPORT_SYMBOL(pxa_gpio_set_value); | ||
159 | |||
160 | /* | ||
161 | * Routine to safely enable or disable a clock in the CKEN | 69 | * Routine to safely enable or disable a clock in the CKEN |
162 | */ | 70 | */ |
163 | void __pxa_set_cken(int clock, int enable) | 71 | void __pxa_set_cken(int clock, int enable) |
@@ -172,7 +80,6 @@ void __pxa_set_cken(int clock, int enable) | |||
172 | 80 | ||
173 | local_irq_restore(flags); | 81 | local_irq_restore(flags); |
174 | } | 82 | } |
175 | |||
176 | EXPORT_SYMBOL(__pxa_set_cken); | 83 | EXPORT_SYMBOL(__pxa_set_cken); |
177 | 84 | ||
178 | /* | 85 | /* |