From ac28c779ece566d18ccb8d5547fadbe44ef63ab5 Mon Sep 17 00:00:00 2001 From: lw Date: Sat, 24 Mar 2012 10:02:27 +0800 Subject: [PATCH] rk30:add rk30_mux_api_get function for iomux --- arch/arm/mach-rk30/include/mach/iomux.h | 1 + arch/arm/mach-rk30/iomux.c | 24 ++++++++++++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-rk30/include/mach/iomux.h b/arch/arm/mach-rk30/include/mach/iomux.h index f6dc3c81cd1d..6a0c68ebe8e3 100755 --- a/arch/arm/mach-rk30/include/mach/iomux.h +++ b/arch/arm/mach-rk30/include/mach/iomux.h @@ -829,5 +829,6 @@ struct mux_config { extern int __init rk30_iomux_init(void); extern void rk30_mux_api_set(char *name, unsigned int mode); +extern int rk30_mux_api_get(char *name); #endif diff --git a/arch/arm/mach-rk30/iomux.c b/arch/arm/mach-rk30/iomux.c index 2c546fd7ebd4..3eb8be6c10b2 100755 --- a/arch/arm/mach-rk30/iomux.c +++ b/arch/arm/mach-rk30/iomux.c @@ -240,8 +240,7 @@ void rk30_mux_set(struct mux_config *cfg) int regValue = 0; int mask; - mask = ((1<<(cfg->interleave))-1)<offset << 16; - //regValue = readl(cfg->mux_reg); + mask = (((1<<(cfg->interleave))-1)<offset) << 16; regValue |= mask; regValue |=(cfg->mode<offset); #ifdef IOMUX_DBG @@ -373,3 +372,24 @@ void rk30_mux_api_set(char *name, unsigned int mode) } EXPORT_SYMBOL(rk30_mux_api_set); + +int rk30_mux_api_get(char *name) +{ + int i,ret=0; + if (!name) { + return -1; + } + for(i=0;i> rk30_muxs[i].offset) &((1<<(rk30_muxs[i].interleave))-1); + return ret; + } + } + + return -1; +} +EXPORT_SYMBOL(rk30_mux_api_get); + -- 2.34.1