diff options
-rw-r--r-- | arch/sh/boards/mach-sdk7786/setup.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/sh/boards/mach-sdk7786/setup.c b/arch/sh/boards/mach-sdk7786/setup.c index f2d4b75bf31..c38c6cc293b 100644 --- a/arch/sh/boards/mach-sdk7786/setup.c +++ b/arch/sh/boards/mach-sdk7786/setup.c | |||
@@ -218,6 +218,23 @@ static void __init init_sdk7786_IRQ(void) | |||
218 | plat_irq_setup_pins(IRQ_MODE_IRL3210_MASK); | 218 | plat_irq_setup_pins(IRQ_MODE_IRL3210_MASK); |
219 | } | 219 | } |
220 | 220 | ||
221 | #define MODSWR_REGS 0x07fff830 | ||
222 | |||
223 | static int sdk7786_mode_pins(void) | ||
224 | { | ||
225 | void __iomem *modswr; | ||
226 | int pin_states; | ||
227 | |||
228 | modswr = ioremap_nocache(MODSWR_REGS, SZ_16); | ||
229 | if (!modswr) | ||
230 | return -ENXIO; | ||
231 | |||
232 | pin_states = ioread16(modswr); | ||
233 | iounmap(modswr); | ||
234 | |||
235 | return pin_states; | ||
236 | } | ||
237 | |||
221 | /* Initialize the board */ | 238 | /* Initialize the board */ |
222 | static void __init sdk7786_setup(char **cmdline_p) | 239 | static void __init sdk7786_setup(char **cmdline_p) |
223 | { | 240 | { |
@@ -230,5 +247,6 @@ static void __init sdk7786_setup(char **cmdline_p) | |||
230 | static struct sh_machine_vector mv_sdk7786 __initmv = { | 247 | static struct sh_machine_vector mv_sdk7786 __initmv = { |
231 | .mv_name = "SDK7786", | 248 | .mv_name = "SDK7786", |
232 | .mv_setup = sdk7786_setup, | 249 | .mv_setup = sdk7786_setup, |
250 | .mv_mode_pins = sdk7786_mode_pins, | ||
233 | .mv_init_irq = init_sdk7786_IRQ, | 251 | .mv_init_irq = init_sdk7786_IRQ, |
234 | }; | 252 | }; |