ARM: shmobile: move custom gpio functions to sh-gpio.h
Move custom shmobile gpio code to a sh-gpio.h to remove the dependency on mach/gpio.h. shmobile always uses gpiolib, so we can remove __GPIOLIB_COMPLEX define from mach/gpio.h. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Magnus Damm <magnus.damm@gmail.com>
This commit is contained in:
parent
74595e1764
commit
6679185909
@ -66,6 +66,8 @@
|
|||||||
#include <asm/mach/arch.h>
|
#include <asm/mach/arch.h>
|
||||||
#include <asm/setup.h>
|
#include <asm/setup.h>
|
||||||
|
|
||||||
|
#include "sh-gpio.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Address Interface BusWidth note
|
* Address Interface BusWidth note
|
||||||
* ------------------------------------------------------------------
|
* ------------------------------------------------------------------
|
||||||
|
@ -54,6 +54,8 @@
|
|||||||
#include <sound/sh_fsi.h>
|
#include <sound/sh_fsi.h>
|
||||||
#include <sound/simple_card.h>
|
#include <sound/simple_card.h>
|
||||||
|
|
||||||
|
#include "sh-gpio.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* CON1 Camera Module
|
* CON1 Camera Module
|
||||||
* CON2 Extension Bus
|
* CON2 Extension Bus
|
||||||
|
@ -42,6 +42,8 @@
|
|||||||
#include <asm/mach-types.h>
|
#include <asm/mach-types.h>
|
||||||
#include <asm/mach/arch.h>
|
#include <asm/mach/arch.h>
|
||||||
|
|
||||||
|
#include "sh-gpio.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SDHI
|
* SDHI
|
||||||
*
|
*
|
||||||
|
@ -64,6 +64,8 @@
|
|||||||
#include <asm/mach/arch.h>
|
#include <asm/mach/arch.h>
|
||||||
#include <asm/mach-types.h>
|
#include <asm/mach-types.h>
|
||||||
|
|
||||||
|
#include "sh-gpio.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Address Interface BusWidth note
|
* Address Interface BusWidth note
|
||||||
* ------------------------------------------------------------------
|
* ------------------------------------------------------------------
|
||||||
|
@ -1,62 +1 @@
|
|||||||
/*
|
/* empty */
|
||||||
* Generic GPIO API and pinmux table support
|
|
||||||
*
|
|
||||||
* Copyright (c) 2008 Magnus Damm
|
|
||||||
*
|
|
||||||
* This file is subject to the terms and conditions of the GNU General Public
|
|
||||||
* License. See the file "COPYING" in the main directory of this archive
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
#ifndef __ASM_ARCH_GPIO_H
|
|
||||||
#define __ASM_ARCH_GPIO_H
|
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
|
||||||
#include <linux/errno.h>
|
|
||||||
#include <linux/sh_pfc.h>
|
|
||||||
#include <linux/io.h>
|
|
||||||
|
|
||||||
#ifdef CONFIG_GPIOLIB
|
|
||||||
|
|
||||||
static inline int irq_to_gpio(unsigned int irq)
|
|
||||||
{
|
|
||||||
return -ENOSYS;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#define __ARM_GPIOLIB_COMPLEX
|
|
||||||
|
|
||||||
#endif /* CONFIG_GPIOLIB */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* FIXME !!
|
|
||||||
*
|
|
||||||
* current gpio frame work doesn't have
|
|
||||||
* the method to control only pull up/down/free.
|
|
||||||
* this function should be replaced by correct gpio function
|
|
||||||
*/
|
|
||||||
static inline void __init gpio_direction_none(u32 addr)
|
|
||||||
{
|
|
||||||
__raw_writeb(0x00, addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void __init gpio_request_pullup(u32 addr)
|
|
||||||
{
|
|
||||||
u8 data = __raw_readb(addr);
|
|
||||||
|
|
||||||
data &= 0x0F;
|
|
||||||
data |= 0xC0;
|
|
||||||
__raw_writeb(data, addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void __init gpio_request_pulldown(u32 addr)
|
|
||||||
{
|
|
||||||
u8 data = __raw_readb(addr);
|
|
||||||
|
|
||||||
data &= 0x0F;
|
|
||||||
data |= 0xA0;
|
|
||||||
|
|
||||||
__raw_writeb(data, addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* __ASM_ARCH_GPIO_H */
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/gpio.h>
|
#include <linux/sh_pfc.h>
|
||||||
#include <mach/r8a7740.h>
|
#include <mach/r8a7740.h>
|
||||||
#include <mach/irqs.h>
|
#include <mach/irqs.h>
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/gpio.h>
|
#include <linux/sh_pfc.h>
|
||||||
#include <linux/ioport.h>
|
#include <linux/ioport.h>
|
||||||
#include <mach/r8a7779.h>
|
#include <mach/r8a7779.h>
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/gpio.h>
|
#include <linux/sh_pfc.h>
|
||||||
#include <mach/sh7367.h>
|
#include <mach/sh7367.h>
|
||||||
|
|
||||||
#define CPU_ALL_PORT(fn, pfx, sfx) \
|
#define CPU_ALL_PORT(fn, pfx, sfx) \
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
*/
|
*/
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/gpio.h>
|
#include <linux/sh_pfc.h>
|
||||||
#include <mach/irqs.h>
|
#include <mach/irqs.h>
|
||||||
#include <mach/sh7372.h>
|
#include <mach/sh7372.h>
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/gpio.h>
|
#include <linux/sh_pfc.h>
|
||||||
#include <mach/sh7377.h>
|
#include <mach/sh7377.h>
|
||||||
|
|
||||||
#define CPU_ALL_PORT(fn, pfx, sfx) \
|
#define CPU_ALL_PORT(fn, pfx, sfx) \
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/gpio.h>
|
#include <linux/sh_pfc.h>
|
||||||
#include <mach/sh73a0.h>
|
#include <mach/sh73a0.h>
|
||||||
#include <mach/irqs.h>
|
#include <mach/irqs.h>
|
||||||
|
|
||||||
|
48
arch/arm/mach-shmobile/sh-gpio.h
Normal file
48
arch/arm/mach-shmobile/sh-gpio.h
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
* Generic GPIO API and pinmux table support
|
||||||
|
*
|
||||||
|
* Copyright (c) 2008 Magnus Damm
|
||||||
|
*
|
||||||
|
* This file is subject to the terms and conditions of the GNU General Public
|
||||||
|
* License. See the file "COPYING" in the main directory of this archive
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
|
#ifndef __ASM_ARCH_GPIO_H
|
||||||
|
#define __ASM_ARCH_GPIO_H
|
||||||
|
|
||||||
|
#include <linux/kernel.h>
|
||||||
|
#include <linux/errno.h>
|
||||||
|
#include <linux/io.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FIXME !!
|
||||||
|
*
|
||||||
|
* current gpio frame work doesn't have
|
||||||
|
* the method to control only pull up/down/free.
|
||||||
|
* this function should be replaced by correct gpio function
|
||||||
|
*/
|
||||||
|
static inline void __init gpio_direction_none(u32 addr)
|
||||||
|
{
|
||||||
|
__raw_writeb(0x00, addr);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void __init gpio_request_pullup(u32 addr)
|
||||||
|
{
|
||||||
|
u8 data = __raw_readb(addr);
|
||||||
|
|
||||||
|
data &= 0x0F;
|
||||||
|
data |= 0xC0;
|
||||||
|
__raw_writeb(data, addr);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void __init gpio_request_pulldown(u32 addr)
|
||||||
|
{
|
||||||
|
u8 data = __raw_readb(addr);
|
||||||
|
|
||||||
|
data &= 0x0F;
|
||||||
|
data |= 0xA0;
|
||||||
|
|
||||||
|
__raw_writeb(data, addr);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* __ASM_ARCH_GPIO_H */
|
@ -17,6 +17,7 @@
|
|||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/pinctrl/consumer.h>
|
#include <linux/pinctrl/consumer.h>
|
||||||
|
#include <linux/sh_pfc.h>
|
||||||
|
|
||||||
struct sh_pfc_chip {
|
struct sh_pfc_chip {
|
||||||
struct sh_pfc *pfc;
|
struct sh_pfc *pfc;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user