mirror of
https://github.com/torvalds/linux
synced 2024-09-06 18:01:05 +00:00
[MIPS] jmr3927: use generic txx9 gpio
Use generic txx9 gpio (and gpiolib) for JMR3927 board. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
4cad154b30
commit
1bd0962e3d
|
@ -613,6 +613,7 @@ config TOSHIBA_JMR3927
|
|||
select SYS_SUPPORTS_LITTLE_ENDIAN
|
||||
select SYS_SUPPORTS_BIG_ENDIAN
|
||||
select GENERIC_HARDIRQS_NO__DO_IRQ
|
||||
select GPIO_TXX9
|
||||
|
||||
config TOSHIBA_RBTX4927
|
||||
bool "Toshiba RBTX49[23]7 board"
|
||||
|
|
|
@ -36,11 +36,13 @@
|
|||
#include <linux/pm.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/gpio.h>
|
||||
#ifdef CONFIG_SERIAL_TXX9
|
||||
#include <linux/serial_core.h>
|
||||
#endif
|
||||
|
||||
#include <asm/txx9tmr.h>
|
||||
#include <asm/txx9pio.h>
|
||||
#include <asm/reboot.h>
|
||||
#include <asm/jmr3927/jmr3927.h>
|
||||
#include <asm/mipsregs.h>
|
||||
|
@ -340,9 +342,12 @@ static void __init tx3927_setup(void)
|
|||
|
||||
/* PIO */
|
||||
/* PIO[15:12] connected to LEDs */
|
||||
tx3927_pioptr->dir = 0x0000f000;
|
||||
tx3927_pioptr->maskcpu = 0;
|
||||
tx3927_pioptr->maskext = 0;
|
||||
__raw_writel(0x0000f000, &tx3927_pioptr->dir);
|
||||
__raw_writel(0, &tx3927_pioptr->maskcpu);
|
||||
__raw_writel(0, &tx3927_pioptr->maskext);
|
||||
txx9_gpio_init(TX3927_PIO_REG, 0, 16);
|
||||
gpio_request(11, "dipsw1");
|
||||
gpio_request(10, "dipsw2");
|
||||
{
|
||||
unsigned int conf;
|
||||
|
||||
|
|
|
@ -99,8 +99,8 @@
|
|||
#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)
|
||||
|
||||
/* DIPSW4 macro */
|
||||
#define jmr3927_dipsw1() ((tx3927_pioptr->din & (1 << 11)) == 0)
|
||||
#define jmr3927_dipsw2() ((tx3927_pioptr->din & (1 << 10)) == 0)
|
||||
#define jmr3927_dipsw1() (gpio_get_value(11) == 0)
|
||||
#define jmr3927_dipsw2() (gpio_get_value(10) == 0)
|
||||
#define jmr3927_dipsw3() ((jmr3927_ioc_reg_in(JMR3927_IOC_DIPSW_ADDR) & 2) == 0)
|
||||
#define jmr3927_dipsw4() ((jmr3927_ioc_reg_in(JMR3927_IOC_DIPSW_ADDR) & 1) == 0)
|
||||
|
||||
|
|
|
@ -314,6 +314,6 @@ struct tx3927_ccfg_reg {
|
|||
#define tx3927_ccfgptr ((struct tx3927_ccfg_reg *)TX3927_CCFG_REG)
|
||||
#define tx3927_tmrptr(ch) ((struct txx927_tmr_reg *)TX3927_TMR_REG(ch))
|
||||
#define tx3927_sioptr(ch) ((struct txx927_sio_reg *)TX3927_SIO_REG(ch))
|
||||
#define tx3927_pioptr ((struct txx927_pio_reg *)TX3927_PIO_REG)
|
||||
#define tx3927_pioptr ((struct txx9_pio_reg __iomem *)TX3927_PIO_REG)
|
||||
|
||||
#endif /* __ASM_TX3927_H */
|
||||
|
|
|
@ -22,18 +22,6 @@ struct txx927_sio_reg {
|
|||
volatile unsigned long rfifo;
|
||||
};
|
||||
|
||||
struct txx927_pio_reg {
|
||||
volatile unsigned long dout;
|
||||
volatile unsigned long din;
|
||||
volatile unsigned long dir;
|
||||
volatile unsigned long od;
|
||||
volatile unsigned long flag[2];
|
||||
volatile unsigned long pol;
|
||||
volatile unsigned long intc;
|
||||
volatile unsigned long maskcpu;
|
||||
volatile unsigned long maskext;
|
||||
};
|
||||
|
||||
/*
|
||||
* SIO
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue