From: lw Date: Sat, 24 Mar 2012 02:02:27 +0000 (+0800) Subject: rk30:add rk30_mux_api_get function for iomux X-Git-Tag: firefly_0821_release~9595^2~18 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ac28c779ece566d18ccb8d5547fadbe44ef63ab5;p=firefly-linux-kernel-4.4.55.git rk30:add rk30_mux_api_get function for iomux --- 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); +