mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-23 11:59:20 +07:00
ARM: shmobile: add common extra gpio functions
Current gpio frame work doesn't have the method to control just pull up/down/free, but some SH-ARM boards need such kind of operation. This patch adds common extra gpio functions for SH-ARM. But these functions should be replaced by correct gpio function in the future. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
This commit is contained in:
parent
485802a6c5
commit
4f3d7f65e9
@ -13,6 +13,7 @@
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/sh_pfc.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#ifdef CONFIG_GPIOLIB
|
||||
|
||||
@ -27,4 +28,35 @@ static inline int irq_to_gpio(unsigned int irq)
|
||||
|
||||
#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 */
|
||||
|
Loading…
Reference in New Issue
Block a user