[AVR32] Make I/O access macros work with external devices
authorHaavard Skinnemoen <hskinnemoen@atmel.com>
Mon, 12 Feb 2007 15:28:56 +0000 (16:28 +0100)
committerHaavard Skinnemoen <hskinnemoen@atmel.com>
Fri, 27 Apr 2007 11:44:14 +0000 (13:44 +0200)
commite3e7d8d4ea37b8372ee417452d03171c5dc55125
tree247a899f472e5cf1a3f7467dda88a017bee134a6
parent92b728c147adb8c690b520304f4c9ee3eee43c21
[AVR32] Make I/O access macros work with external devices

Fix the I/O access macros so that they work with externally connected
devices accessed in little-endian mode over any bus width:

* Use a set of macros to define I/O port- and memory operations
  borrowed from MIPS.
* Allow subarchitecture to specify address- and data-mangling
* Implement at32ap-specific port mangling (with build-time
  configurable bus width. Only one bus width at a time supported
  for now.)
* Rewrite iowriteN and friends to use write[bwl] and friends
  (not the __raw counterparts.)

This has been tested using pata_pcmcia to access a CompactFlash card
connected to the EBI (16-bit bus width.)

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
arch/avr32/mach-at32ap/Kconfig
include/asm-avr32/arch-at32ap/io.h [new file with mode: 0644]
include/asm-avr32/io.h