]> 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, 23 Aug 2011 02:12:17 +0000 (12:12 +1000)
commitded2cf75289a095f77c3e764e6080e83b76523fa
treec0d0149433a3f970ab4b8e6cce053e01cbff4f39
parent447adf72af571468030bd410739f20062f57d939
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