]> git.karo-electronics.de Git - karo-tx-linux.git/commit
m68knommu: fix problems with SPI/GPIO on ColdFire 520x
authorPeter Turczak <peter@turczak.de>
Tue, 9 Aug 2011 04:11:19 +0000 (14:11 +1000)
committerGreg Ungerer <gerg@uclinux.org>
Tue, 9 Aug 2011 04:14:42 +0000 (14:14 +1000)
commit4c54431ab85066f2601beac3d36e848d51c80d5d
tree78482b3bc736b04ae460883f5fc0ae05c1148eb7
parentfc1fe9c51d18b166cdf93e4cdadb72794eeb0800
m68knommu: fix problems with SPI/GPIO on ColdFire 520x

The problem has its root in the calculation of the set-port offsets (macro
MCFGPIO_SETR() in arch/m68k/include/asm/gpio.h), this assumes that all ports
have the same offset from the base port address (MCFGPIO_SETR) which is
defined in mcf520xsim.h as an alias of MCFGIO_PSETR_BUSCTL. Because the BUSCTL
and BE port do not have a set-register (see MCF5208 Reference Manual Page
13-10, Table 13-3) the offset calculations went wrong.

Because the BE and BUSCTL port do not seem useful in these parts, as they
lack a set register, I removed them and adapted the gpio chip bases which
are also used for the offset-calculations. Now both setting and resetting
the chip selects works as expected from userland and from the kernelspace.

Signed-off-by: Peter Turczak <peter@turczak.de>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
arch/m68k/include/asm/m520xsim.h
arch/m68k/include/asm/mcfqspi.h
arch/m68k/platform/520x/config.c
arch/m68k/platform/520x/gpio.c