1*00f892fcSMacpaul Lin /* 2*00f892fcSMacpaul Lin * linux/include/asm-arm/byteorder.h 3*00f892fcSMacpaul Lin * 4*00f892fcSMacpaul Lin * Copyright (C) 2011 Andes Technology Corporation 5*00f892fcSMacpaul Lin * Shawn Lin, Andes Technology Corporation <nobuhiro@andestech.com> 6*00f892fcSMacpaul Lin * Macpaul Lin, Andes Technology Corporation <macpaul@andestech.com> 7*00f892fcSMacpaul Lin * 8*00f892fcSMacpaul Lin * ARM Endian-ness. In little endian mode, the data bus is connected such 9*00f892fcSMacpaul Lin * that byte accesses appear as: 10*00f892fcSMacpaul Lin * 0 = d0...d7, 1 = d8...d15, 2 = d16...d23, 3 = d24...d31 11*00f892fcSMacpaul Lin * and word accesses (data or instruction) appear as: 12*00f892fcSMacpaul Lin * d0...d31 13*00f892fcSMacpaul Lin * 14*00f892fcSMacpaul Lin * When in big endian mode, byte accesses appear as: 15*00f892fcSMacpaul Lin * 0 = d24...d31, 1 = d16...d23, 2 = d8...d15, 3 = d0...d7 16*00f892fcSMacpaul Lin * and word accesses (data or instruction) appear as: 17*00f892fcSMacpaul Lin * d0...d31 18*00f892fcSMacpaul Lin */ 19*00f892fcSMacpaul Lin 20*00f892fcSMacpaul Lin #ifndef __ASM_NDS_BYTEORDER_H 21*00f892fcSMacpaul Lin #define __ASM_NDS_BYTEORDER_H 22*00f892fcSMacpaul Lin 23*00f892fcSMacpaul Lin #include <asm/types.h> 24*00f892fcSMacpaul Lin 25*00f892fcSMacpaul Lin #if !defined(__STRICT_ANSI__) || defined(__KERNEL__) 26*00f892fcSMacpaul Lin # define __BYTEORDER_HAS_U64__ 27*00f892fcSMacpaul Lin # define __SWAB_64_THRU_32__ 28*00f892fcSMacpaul Lin #endif 29*00f892fcSMacpaul Lin 30*00f892fcSMacpaul Lin #ifdef __NDSEB__ 31*00f892fcSMacpaul Lin #include <linux/byteorder/big_endian.h> 32*00f892fcSMacpaul Lin #else 33*00f892fcSMacpaul Lin #include <linux/byteorder/little_endian.h> 34*00f892fcSMacpaul Lin #endif 35*00f892fcSMacpaul Lin 36*00f892fcSMacpaul Lin #endif 37