diff options
-rw-r--r-- | arch/mips/Kconfig | 1 | ||||
-rw-r--r-- | arch/mips/jmr3927/rbhma3100/setup.c | 11 | ||||
-rw-r--r-- | include/asm-mips/jmr3927/jmr3927.h | 4 | ||||
-rw-r--r-- | include/asm-mips/jmr3927/tx3927.h | 2 | ||||
-rw-r--r-- | include/asm-mips/jmr3927/txx927.h | 12 |
5 files changed, 12 insertions, 18 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index abc485d3f414..77e3d2402454 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -613,6 +613,7 @@ config TOSHIBA_JMR3927 | |||
613 | select SYS_SUPPORTS_LITTLE_ENDIAN | 613 | select SYS_SUPPORTS_LITTLE_ENDIAN |
614 | select SYS_SUPPORTS_BIG_ENDIAN | 614 | select SYS_SUPPORTS_BIG_ENDIAN |
615 | select GENERIC_HARDIRQS_NO__DO_IRQ | 615 | select GENERIC_HARDIRQS_NO__DO_IRQ |
616 | select GPIO_TXX9 | ||
616 | 617 | ||
617 | config TOSHIBA_RBTX4927 | 618 | config TOSHIBA_RBTX4927 |
618 | bool "Toshiba RBTX49[23]7 board" | 619 | bool "Toshiba RBTX49[23]7 board" |
diff --git a/arch/mips/jmr3927/rbhma3100/setup.c b/arch/mips/jmr3927/rbhma3100/setup.c index c886d804d303..f39c444e42d4 100644 --- a/arch/mips/jmr3927/rbhma3100/setup.c +++ b/arch/mips/jmr3927/rbhma3100/setup.c | |||
@@ -36,11 +36,13 @@ | |||
36 | #include <linux/pm.h> | 36 | #include <linux/pm.h> |
37 | #include <linux/platform_device.h> | 37 | #include <linux/platform_device.h> |
38 | #include <linux/clk.h> | 38 | #include <linux/clk.h> |
39 | #include <linux/gpio.h> | ||
39 | #ifdef CONFIG_SERIAL_TXX9 | 40 | #ifdef CONFIG_SERIAL_TXX9 |
40 | #include <linux/serial_core.h> | 41 | #include <linux/serial_core.h> |
41 | #endif | 42 | #endif |
42 | 43 | ||
43 | #include <asm/txx9tmr.h> | 44 | #include <asm/txx9tmr.h> |
45 | #include <asm/txx9pio.h> | ||
44 | #include <asm/reboot.h> | 46 | #include <asm/reboot.h> |
45 | #include <asm/jmr3927/jmr3927.h> | 47 | #include <asm/jmr3927/jmr3927.h> |
46 | #include <asm/mipsregs.h> | 48 | #include <asm/mipsregs.h> |
@@ -340,9 +342,12 @@ static void __init tx3927_setup(void) | |||
340 | 342 | ||
341 | /* PIO */ | 343 | /* PIO */ |
342 | /* PIO[15:12] connected to LEDs */ | 344 | /* PIO[15:12] connected to LEDs */ |
343 | tx3927_pioptr->dir = 0x0000f000; | 345 | __raw_writel(0x0000f000, &tx3927_pioptr->dir); |
344 | tx3927_pioptr->maskcpu = 0; | 346 | __raw_writel(0, &tx3927_pioptr->maskcpu); |
345 | tx3927_pioptr->maskext = 0; | 347 | __raw_writel(0, &tx3927_pioptr->maskext); |
348 | txx9_gpio_init(TX3927_PIO_REG, 0, 16); | ||
349 | gpio_request(11, "dipsw1"); | ||
350 | gpio_request(10, "dipsw2"); | ||
346 | { | 351 | { |
347 | unsigned int conf; | 352 | unsigned int conf; |
348 | 353 | ||
diff --git a/include/asm-mips/jmr3927/jmr3927.h b/include/asm-mips/jmr3927/jmr3927.h index 81602c8047eb..a162268f17df 100644 --- a/include/asm-mips/jmr3927/jmr3927.h +++ b/include/asm-mips/jmr3927/jmr3927.h | |||
@@ -99,8 +99,8 @@ | |||
99 | #define jmr3927_led_and_set(n/*0-16*/) jmr3927_ioc_reg_out((~(n)) & jmr3927_ioc_reg_in(JMR3927_IOC_LED_ADDR), JMR3927_IOC_LED_ADDR) | 99 | #define jmr3927_led_and_set(n/*0-16*/) jmr3927_ioc_reg_out((~(n)) & jmr3927_ioc_reg_in(JMR3927_IOC_LED_ADDR), JMR3927_IOC_LED_ADDR) |
100 | 100 | ||
101 | /* DIPSW4 macro */ | 101 | /* DIPSW4 macro */ |
102 | #define jmr3927_dipsw1() ((tx3927_pioptr->din & (1 << 11)) == 0) | 102 | #define jmr3927_dipsw1() (gpio_get_value(11) == 0) |
103 | #define jmr3927_dipsw2() ((tx3927_pioptr->din & (1 << 10)) == 0) | 103 | #define jmr3927_dipsw2() (gpio_get_value(10) == 0) |
104 | #define jmr3927_dipsw3() ((jmr3927_ioc_reg_in(JMR3927_IOC_DIPSW_ADDR) & 2) == 0) | 104 | #define jmr3927_dipsw3() ((jmr3927_ioc_reg_in(JMR3927_IOC_DIPSW_ADDR) & 2) == 0) |
105 | #define jmr3927_dipsw4() ((jmr3927_ioc_reg_in(JMR3927_IOC_DIPSW_ADDR) & 1) == 0) | 105 | #define jmr3927_dipsw4() ((jmr3927_ioc_reg_in(JMR3927_IOC_DIPSW_ADDR) & 1) == 0) |
106 | 106 | ||
diff --git a/include/asm-mips/jmr3927/tx3927.h b/include/asm-mips/jmr3927/tx3927.h index 338f99882a39..fb580333c102 100644 --- a/include/asm-mips/jmr3927/tx3927.h +++ b/include/asm-mips/jmr3927/tx3927.h | |||
@@ -314,6 +314,6 @@ struct tx3927_ccfg_reg { | |||
314 | #define tx3927_ccfgptr ((struct tx3927_ccfg_reg *)TX3927_CCFG_REG) | 314 | #define tx3927_ccfgptr ((struct tx3927_ccfg_reg *)TX3927_CCFG_REG) |
315 | #define tx3927_tmrptr(ch) ((struct txx927_tmr_reg *)TX3927_TMR_REG(ch)) | 315 | #define tx3927_tmrptr(ch) ((struct txx927_tmr_reg *)TX3927_TMR_REG(ch)) |
316 | #define tx3927_sioptr(ch) ((struct txx927_sio_reg *)TX3927_SIO_REG(ch)) | 316 | #define tx3927_sioptr(ch) ((struct txx927_sio_reg *)TX3927_SIO_REG(ch)) |
317 | #define tx3927_pioptr ((struct txx927_pio_reg *)TX3927_PIO_REG) | 317 | #define tx3927_pioptr ((struct txx9_pio_reg __iomem *)TX3927_PIO_REG) |
318 | 318 | ||
319 | #endif /* __ASM_TX3927_H */ | 319 | #endif /* __ASM_TX3927_H */ |
diff --git a/include/asm-mips/jmr3927/txx927.h b/include/asm-mips/jmr3927/txx927.h index 0474fe8dac3f..25dcf2feb095 100644 --- a/include/asm-mips/jmr3927/txx927.h +++ b/include/asm-mips/jmr3927/txx927.h | |||
@@ -22,18 +22,6 @@ struct txx927_sio_reg { | |||
22 | volatile unsigned long rfifo; | 22 | volatile unsigned long rfifo; |
23 | }; | 23 | }; |
24 | 24 | ||
25 | struct txx927_pio_reg { | ||
26 | volatile unsigned long dout; | ||
27 | volatile unsigned long din; | ||
28 | volatile unsigned long dir; | ||
29 | volatile unsigned long od; | ||
30 | volatile unsigned long flag[2]; | ||
31 | volatile unsigned long pol; | ||
32 | volatile unsigned long intc; | ||
33 | volatile unsigned long maskcpu; | ||
34 | volatile unsigned long maskext; | ||
35 | }; | ||
36 | |||
37 | /* | 25 | /* |
38 | * SIO | 26 | * SIO |
39 | */ | 27 | */ |