mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
rk30:add rk30_mux_api_get function for iomux
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -240,8 +240,7 @@ void rk30_mux_set(struct mux_config *cfg)
|
||||
int regValue = 0;
|
||||
int mask;
|
||||
|
||||
mask = ((1<<(cfg->interleave))-1)<<cfg->offset << 16;
|
||||
//regValue = readl(cfg->mux_reg);
|
||||
mask = (((1<<(cfg->interleave))-1)<<cfg->offset) << 16;
|
||||
regValue |= mask;
|
||||
regValue |=(cfg->mode<<cfg->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<ARRAY_SIZE(rk30_muxs);i++)
|
||||
{
|
||||
if (!strcmp(rk30_muxs[i].name, name))
|
||||
{
|
||||
ret = readl(rk30_muxs[i].mux_reg);
|
||||
ret = (ret >> rk30_muxs[i].offset) &((1<<(rk30_muxs[i].interleave))-1);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
EXPORT_SYMBOL(rk30_mux_api_get);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user