Thread (25 messages) 25 messages, 7 authors, 2015-04-28

[RFC 1/6] atmel: add atmel_io.h

From: Russell King - ARM Linux <hidden>
Date: 2015-03-28 23:12:50

On Sat, Mar 28, 2015 at 07:20:48PM +0100, Alexandre Belloni wrote:
Hi,

On 26/03/2015 at 12:51:23 +0100, Hans-Christian Egtvedt wrote :
quoted
Around Thu 26 Mar 2015 11:45:49 +0000 or thereabout, Ben Dooks wrote:
quoted
The AVR32 and ARM (AT91) architectures share a number of drivers which
need to access the on chip peripherals. The current drivers work with
the default endian configuration, however it is possilbe to run some of
the ATMEL ARM architectures in big endian mode.

If we change the drivers from __raw to _relaxed IO accesors then the ARM
side works but the AVR32 will not. The _relaxed assume the bus is little
endian and the __raw are native. The AVR32 is native big endian so these
are not the right functions.

To sort this out, and avoid a number of drivers having #ifdef for the
AVR32 case we add <linux/atmel_io.h> to provide some AT91/AVR32 independant
IO accessor functions.

Signed-off-by: Ben Dooks <redacted>
Acked-by: Hans-Christian Egtvedt <redacted>
Is there any reason why read/write[bwl]_relaxed can't be made to do big
endian accesses on avr32?
read/write[bwl]* are defined to be little endian accessors - they have
their roots in PCI.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help