diff options
author | Magnus Lilja | 2008-08-03 21:44:10 +0200 |
---|---|---|
committer | Jean-Christophe PLAGNIOL-VILLARD | 2008-08-11 23:33:57 +0200 |
commit | 5276a3584d26a9533404f0ec00c3b61cf9a97939 (patch) | |
tree | 91eab723f350bb9a82837412614092bc7ba31522 /cpu/arm1136/mx31/generic.c | |
parent | b6b183c5b2fffd4c456b7e3fcb064cceb47fe7ac (diff) |
i.MX31: Fix mx31_gpio_mux() function and MUX_-macros.
Correct the mx31_gpio_mux() function to allow changing all i.MX31 IOMUX
contacts instead of only the first 256 ones as is the case prior to
this patch.
Add missing MUX_* macros and update board files to use the new macros.
Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com>
Diffstat (limited to 'cpu/arm1136/mx31/generic.c')
-rw-r--r-- | cpu/arm1136/mx31/generic.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/cpu/arm1136/mx31/generic.c b/cpu/arm1136/mx31/generic.c index 29c08c105f1..dc031c92ea9 100644 --- a/cpu/arm1136/mx31/generic.c +++ b/cpu/arm1136/mx31/generic.c @@ -81,12 +81,12 @@ void mx31_gpio_mux(unsigned long mode) { unsigned long reg, shift, tmp; - reg = IOMUXC_BASE + (mode & 0xfc); + reg = IOMUXC_BASE + (mode & 0x1fc); shift = (~mode & 0x3) * 8; tmp = __REG(reg); tmp &= ~(0xff << shift); - tmp |= ((mode >> 8) & 0xff) << shift; + tmp |= ((mode >> IOMUX_MODE_POS) & 0xff) << shift; __REG(reg) = tmp; } |