MIPS: Whitespace cleanup.
Having received another series of whitespace patches I decided to do this once and for all rather than dealing with this kind of patches trickling in forever. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
@@ -14,12 +14,12 @@
|
||||
|
||||
struct mips_abi {
|
||||
int (* const setup_frame)(void *sig_return, struct k_sigaction *ka,
|
||||
struct pt_regs *regs, int signr,
|
||||
sigset_t *set);
|
||||
struct pt_regs *regs, int signr,
|
||||
sigset_t *set);
|
||||
const unsigned long signal_return_offset;
|
||||
int (* const setup_rt_frame)(void *sig_return, struct k_sigaction *ka,
|
||||
struct pt_regs *regs, int signr,
|
||||
sigset_t *set, siginfo_t *info);
|
||||
struct pt_regs *regs, int signr,
|
||||
sigset_t *set, siginfo_t *info);
|
||||
const unsigned long rt_signal_return_offset;
|
||||
const unsigned long restart;
|
||||
};
|
||||
|
@@ -51,14 +51,14 @@
|
||||
* Returns the physical address of a CKSEGx / XKPHYS address
|
||||
*/
|
||||
#define CPHYSADDR(a) ((_ACAST32_(a)) & 0x1fffffff)
|
||||
#define XPHYSADDR(a) ((_ACAST64_(a)) & \
|
||||
#define XPHYSADDR(a) ((_ACAST64_(a)) & \
|
||||
_CONST64_(0x000000ffffffffff))
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
|
||||
/*
|
||||
* Memory segments (64bit kernel mode addresses)
|
||||
* The compatibility segments use the full 64-bit sign extended value. Note
|
||||
* The compatibility segments use the full 64-bit sign extended value. Note
|
||||
* the R8000 doesn't have them so don't reference these in generic MIPS code.
|
||||
*/
|
||||
#define XKUSEG _CONST64_(0x0000000000000000)
|
||||
@@ -131,7 +131,7 @@
|
||||
|
||||
/*
|
||||
* The ultimate limited of the 64-bit MIPS architecture: 2 bits for selecting
|
||||
* the region, 3 bits for the CCA mode. This leaves 59 bits of which the
|
||||
* the region, 3 bits for the CCA mode. This leaves 59 bits of which the
|
||||
* R8000 implements most with its 48-bit physical address space.
|
||||
*/
|
||||
#define TO_PHYS_MASK _CONST64_(0x07ffffffffffffff) /* 2^^59 - 1 */
|
||||
|
@@ -33,12 +33,12 @@
|
||||
* Not used for the kernel but here seems to be the right place.
|
||||
*/
|
||||
#ifdef __PIC__
|
||||
#define CPRESTORE(register) \
|
||||
#define CPRESTORE(register) \
|
||||
.cprestore register
|
||||
#define CPADD(register) \
|
||||
#define CPADD(register) \
|
||||
.cpadd register
|
||||
#define CPLOAD(register) \
|
||||
.cpload register
|
||||
#define CPLOAD(register) \
|
||||
.cpload register
|
||||
#else
|
||||
#define CPRESTORE(register)
|
||||
#define CPADD(register)
|
||||
@@ -48,35 +48,35 @@
|
||||
/*
|
||||
* LEAF - declare leaf routine
|
||||
*/
|
||||
#define LEAF(symbol) \
|
||||
.globl symbol; \
|
||||
.align 2; \
|
||||
.type symbol, @function; \
|
||||
.ent symbol, 0; \
|
||||
#define LEAF(symbol) \
|
||||
.globl symbol; \
|
||||
.align 2; \
|
||||
.type symbol, @function; \
|
||||
.ent symbol, 0; \
|
||||
symbol: .frame sp, 0, ra
|
||||
|
||||
/*
|
||||
* NESTED - declare nested routine entry point
|
||||
*/
|
||||
#define NESTED(symbol, framesize, rpc) \
|
||||
.globl symbol; \
|
||||
.align 2; \
|
||||
.type symbol, @function; \
|
||||
.ent symbol, 0; \
|
||||
#define NESTED(symbol, framesize, rpc) \
|
||||
.globl symbol; \
|
||||
.align 2; \
|
||||
.type symbol, @function; \
|
||||
.ent symbol, 0; \
|
||||
symbol: .frame sp, framesize, rpc
|
||||
|
||||
/*
|
||||
* END - mark end of function
|
||||
*/
|
||||
#define END(function) \
|
||||
.end function; \
|
||||
#define END(function) \
|
||||
.end function; \
|
||||
.size function, .-function
|
||||
|
||||
/*
|
||||
* EXPORT - export definition of symbol
|
||||
*/
|
||||
#define EXPORT(symbol) \
|
||||
.globl symbol; \
|
||||
.globl symbol; \
|
||||
symbol:
|
||||
|
||||
/*
|
||||
@@ -90,16 +90,16 @@ symbol:
|
||||
/*
|
||||
* ABS - export absolute symbol
|
||||
*/
|
||||
#define ABS(symbol,value) \
|
||||
.globl symbol; \
|
||||
#define ABS(symbol,value) \
|
||||
.globl symbol; \
|
||||
symbol = value
|
||||
|
||||
#define PANIC(msg) \
|
||||
#define PANIC(msg) \
|
||||
.set push; \
|
||||
.set reorder; \
|
||||
PTR_LA a0, 8f; \
|
||||
jal panic; \
|
||||
9: b 9b; \
|
||||
.set reorder; \
|
||||
PTR_LA a0, 8f; \
|
||||
jal panic; \
|
||||
9: b 9b; \
|
||||
.set pop; \
|
||||
TEXT(msg)
|
||||
|
||||
@@ -107,31 +107,31 @@ symbol = value
|
||||
* Print formatted string
|
||||
*/
|
||||
#ifdef CONFIG_PRINTK
|
||||
#define PRINT(string) \
|
||||
#define PRINT(string) \
|
||||
.set push; \
|
||||
.set reorder; \
|
||||
PTR_LA a0, 8f; \
|
||||
jal printk; \
|
||||
.set reorder; \
|
||||
PTR_LA a0, 8f; \
|
||||
jal printk; \
|
||||
.set pop; \
|
||||
TEXT(string)
|
||||
#else
|
||||
#define PRINT(string)
|
||||
#endif
|
||||
|
||||
#define TEXT(msg) \
|
||||
#define TEXT(msg) \
|
||||
.pushsection .data; \
|
||||
8: .asciiz msg; \
|
||||
8: .asciiz msg; \
|
||||
.popsection;
|
||||
|
||||
/*
|
||||
* Build text tables
|
||||
*/
|
||||
#define TTABLE(string) \
|
||||
#define TTABLE(string) \
|
||||
.pushsection .text; \
|
||||
.word 1f; \
|
||||
.word 1f; \
|
||||
.popsection \
|
||||
.pushsection .data; \
|
||||
1: .asciiz string; \
|
||||
1: .asciiz string; \
|
||||
.popsection
|
||||
|
||||
/*
|
||||
@@ -143,13 +143,13 @@ symbol = value
|
||||
*/
|
||||
#ifdef CONFIG_CPU_HAS_PREFETCH
|
||||
|
||||
#define PREF(hint,addr) \
|
||||
#define PREF(hint,addr) \
|
||||
.set push; \
|
||||
.set mips4; \
|
||||
pref hint, addr; \
|
||||
.set pop
|
||||
|
||||
#define PREFX(hint,addr) \
|
||||
#define PREFX(hint,addr) \
|
||||
.set push; \
|
||||
.set mips4; \
|
||||
prefx hint, addr; \
|
||||
@@ -166,42 +166,42 @@ symbol = value
|
||||
* MIPS ISA IV/V movn/movz instructions and equivalents for older CPUs.
|
||||
*/
|
||||
#if (_MIPS_ISA == _MIPS_ISA_MIPS1)
|
||||
#define MOVN(rd, rs, rt) \
|
||||
#define MOVN(rd, rs, rt) \
|
||||
.set push; \
|
||||
.set reorder; \
|
||||
beqz rt, 9f; \
|
||||
move rd, rs; \
|
||||
beqz rt, 9f; \
|
||||
move rd, rs; \
|
||||
.set pop; \
|
||||
9:
|
||||
#define MOVZ(rd, rs, rt) \
|
||||
#define MOVZ(rd, rs, rt) \
|
||||
.set push; \
|
||||
.set reorder; \
|
||||
bnez rt, 9f; \
|
||||
move rd, rs; \
|
||||
bnez rt, 9f; \
|
||||
move rd, rs; \
|
||||
.set pop; \
|
||||
9:
|
||||
#endif /* _MIPS_ISA == _MIPS_ISA_MIPS1 */
|
||||
#if (_MIPS_ISA == _MIPS_ISA_MIPS2) || (_MIPS_ISA == _MIPS_ISA_MIPS3)
|
||||
#define MOVN(rd, rs, rt) \
|
||||
#define MOVN(rd, rs, rt) \
|
||||
.set push; \
|
||||
.set noreorder; \
|
||||
bnezl rt, 9f; \
|
||||
move rd, rs; \
|
||||
bnezl rt, 9f; \
|
||||
move rd, rs; \
|
||||
.set pop; \
|
||||
9:
|
||||
#define MOVZ(rd, rs, rt) \
|
||||
#define MOVZ(rd, rs, rt) \
|
||||
.set push; \
|
||||
.set noreorder; \
|
||||
beqzl rt, 9f; \
|
||||
move rd, rs; \
|
||||
beqzl rt, 9f; \
|
||||
move rd, rs; \
|
||||
.set pop; \
|
||||
9:
|
||||
#endif /* (_MIPS_ISA == _MIPS_ISA_MIPS2) || (_MIPS_ISA == _MIPS_ISA_MIPS3) */
|
||||
#if (_MIPS_ISA == _MIPS_ISA_MIPS4 ) || (_MIPS_ISA == _MIPS_ISA_MIPS5) || \
|
||||
(_MIPS_ISA == _MIPS_ISA_MIPS32) || (_MIPS_ISA == _MIPS_ISA_MIPS64)
|
||||
#define MOVN(rd, rs, rt) \
|
||||
#define MOVN(rd, rs, rt) \
|
||||
movn rd, rs, rt
|
||||
#define MOVZ(rd, rs, rt) \
|
||||
#define MOVZ(rd, rs, rt) \
|
||||
movz rd, rs, rt
|
||||
#endif /* MIPS IV, MIPS V, MIPS32 or MIPS64 */
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Atomic operations that C can't guarantee us. Useful for
|
||||
* Atomic operations that C can't guarantee us. Useful for
|
||||
* resource counting etc..
|
||||
*
|
||||
* But use these as seldom as possible since they are much more slower
|
||||
@@ -21,7 +21,7 @@
|
||||
#include <asm/cmpxchg.h>
|
||||
#include <asm/war.h>
|
||||
|
||||
#define ATOMIC_INIT(i) { (i) }
|
||||
#define ATOMIC_INIT(i) { (i) }
|
||||
|
||||
/*
|
||||
* atomic_read - read atomic variable
|
||||
|
@@ -18,7 +18,7 @@
|
||||
* over this barrier. All reads preceding this primitive are guaranteed
|
||||
* to access memory (but not necessarily other CPUs' caches) before any
|
||||
* reads following this primitive that depend on the data return by
|
||||
* any of the preceding reads. This primitive is much lighter weight than
|
||||
* any of the preceding reads. This primitive is much lighter weight than
|
||||
* rmb() on most CPUs, and is never heavier weight than is
|
||||
* rmb().
|
||||
*
|
||||
@@ -43,7 +43,7 @@
|
||||
* </programlisting>
|
||||
*
|
||||
* because the read of "*q" depends on the read of "p" and these
|
||||
* two reads are separated by a read_barrier_depends(). However,
|
||||
* two reads are separated by a read_barrier_depends(). However,
|
||||
* the following code, with the same initial values for "a" and "b":
|
||||
*
|
||||
* <programlisting>
|
||||
@@ -57,7 +57,7 @@
|
||||
* </programlisting>
|
||||
*
|
||||
* does not enforce ordering, since there is no data dependency between
|
||||
* the read of "a" and the read of "b". Therefore, on some CPUs, such
|
||||
* the read of "a" and the read of "b". Therefore, on some CPUs, such
|
||||
* as Alpha, "y" could be set to 3 and "x" to 0. Use rmb()
|
||||
* in cases like this where there are no data dependencies.
|
||||
*/
|
||||
@@ -92,7 +92,7 @@
|
||||
: "memory")
|
||||
#ifdef CONFIG_CPU_CAVIUM_OCTEON
|
||||
# define OCTEON_SYNCW_STR ".set push\n.set arch=octeon\nsyncw\nsyncw\n.set pop\n"
|
||||
# define __syncw() __asm__ __volatile__(OCTEON_SYNCW_STR : : : "memory")
|
||||
# define __syncw() __asm__ __volatile__(OCTEON_SYNCW_STR : : : "memory")
|
||||
|
||||
# define fast_wmb() __syncw()
|
||||
# define fast_rmb() barrier()
|
||||
@@ -158,7 +158,7 @@
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_WEAK_REORDERING_BEYOND_LLSC) && defined(CONFIG_SMP)
|
||||
#define __WEAK_LLSC_MB " sync \n"
|
||||
#define __WEAK_LLSC_MB " sync \n"
|
||||
#else
|
||||
#define __WEAK_LLSC_MB " \n"
|
||||
#endif
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
|
||||
/* Some R4000 / R4400 / R4600 / R5000 machines may have a non-dma-coherent,
|
||||
chipset implemented caches. On machines with other CPUs the CPU does the
|
||||
chipset implemented caches. On machines with other CPUs the CPU does the
|
||||
cache thing itself. */
|
||||
struct bcache_ops {
|
||||
void (*bc_enable)(void);
|
||||
|
@@ -26,15 +26,15 @@
|
||||
#define SZLONG_MASK 31UL
|
||||
#define __LL "ll "
|
||||
#define __SC "sc "
|
||||
#define __INS "ins "
|
||||
#define __EXT "ext "
|
||||
#define __INS "ins "
|
||||
#define __EXT "ext "
|
||||
#elif _MIPS_SZLONG == 64
|
||||
#define SZLONG_LOG 6
|
||||
#define SZLONG_MASK 63UL
|
||||
#define __LL "lld "
|
||||
#define __SC "scd "
|
||||
#define __INS "dins "
|
||||
#define __EXT "dext "
|
||||
#define __INS "dins "
|
||||
#define __EXT "dext "
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -357,7 +357,7 @@ static inline int test_and_clear_bit(unsigned long nr,
|
||||
"1: " __LL "%0, %1 # test_and_clear_bit \n"
|
||||
" or %2, %0, %3 \n"
|
||||
" xor %2, %3 \n"
|
||||
" " __SC "%2, %1 \n"
|
||||
" " __SC "%2, %1 \n"
|
||||
" beqzl %2, 1b \n"
|
||||
" and %2, %0, %3 \n"
|
||||
" .set mips0 \n"
|
||||
@@ -371,10 +371,10 @@ static inline int test_and_clear_bit(unsigned long nr,
|
||||
|
||||
do {
|
||||
__asm__ __volatile__(
|
||||
" " __LL "%0, %1 # test_and_clear_bit \n"
|
||||
" " __LL "%0, %1 # test_and_clear_bit \n"
|
||||
" " __EXT "%2, %0, %3, 1 \n"
|
||||
" " __INS "%0, $0, %3, 1 \n"
|
||||
" " __SC "%0, %1 \n"
|
||||
" " __INS "%0, $0, %3, 1 \n"
|
||||
" " __SC "%0, %1 \n"
|
||||
: "=&r" (temp), "+m" (*m), "=&r" (res)
|
||||
: "ir" (bit)
|
||||
: "memory");
|
||||
@@ -387,10 +387,10 @@ static inline int test_and_clear_bit(unsigned long nr,
|
||||
do {
|
||||
__asm__ __volatile__(
|
||||
" .set mips3 \n"
|
||||
" " __LL "%0, %1 # test_and_clear_bit \n"
|
||||
" " __LL "%0, %1 # test_and_clear_bit \n"
|
||||
" or %2, %0, %3 \n"
|
||||
" xor %2, %3 \n"
|
||||
" " __SC "%2, %1 \n"
|
||||
" " __SC "%2, %1 \n"
|
||||
" .set mips0 \n"
|
||||
: "=&r" (temp), "+m" (*m), "=&r" (res)
|
||||
: "r" (1UL << bit)
|
||||
@@ -444,7 +444,7 @@ static inline int test_and_change_bit(unsigned long nr,
|
||||
do {
|
||||
__asm__ __volatile__(
|
||||
" .set mips3 \n"
|
||||
" " __LL "%0, %1 # test_and_change_bit \n"
|
||||
" " __LL "%0, %1 # test_and_change_bit \n"
|
||||
" xor %2, %0, %3 \n"
|
||||
" " __SC "\t%2, %1 \n"
|
||||
" .set mips0 \n"
|
||||
|
@@ -44,19 +44,19 @@
|
||||
/*
|
||||
* Valid machtype for group PMC-MSP
|
||||
*/
|
||||
#define MACH_MSP4200_EVAL 0 /* PMC-Sierra MSP4200 Evaluation */
|
||||
#define MACH_MSP4200_GW 1 /* PMC-Sierra MSP4200 Gateway demo */
|
||||
#define MACH_MSP4200_FPGA 2 /* PMC-Sierra MSP4200 Emulation */
|
||||
#define MACH_MSP7120_EVAL 3 /* PMC-Sierra MSP7120 Evaluation */
|
||||
#define MACH_MSP7120_GW 4 /* PMC-Sierra MSP7120 Residential GW */
|
||||
#define MACH_MSP7120_FPGA 5 /* PMC-Sierra MSP7120 Emulation */
|
||||
#define MACH_MSP_OTHER 255 /* PMC-Sierra unknown board type */
|
||||
#define MACH_MSP4200_EVAL 0 /* PMC-Sierra MSP4200 Evaluation */
|
||||
#define MACH_MSP4200_GW 1 /* PMC-Sierra MSP4200 Gateway demo */
|
||||
#define MACH_MSP4200_FPGA 2 /* PMC-Sierra MSP4200 Emulation */
|
||||
#define MACH_MSP7120_EVAL 3 /* PMC-Sierra MSP7120 Evaluation */
|
||||
#define MACH_MSP7120_GW 4 /* PMC-Sierra MSP7120 Residential GW */
|
||||
#define MACH_MSP7120_FPGA 5 /* PMC-Sierra MSP7120 Emulation */
|
||||
#define MACH_MSP_OTHER 255 /* PMC-Sierra unknown board type */
|
||||
|
||||
/*
|
||||
* Valid machtype for group Mikrotik
|
||||
*/
|
||||
#define MACH_MIKROTIK_RB532 0 /* Mikrotik RouterBoard 532 */
|
||||
#define MACH_MIKROTIK_RB532A 1 /* Mikrotik RouterBoard 532A */
|
||||
#define MACH_MIKROTIK_RB532 0 /* Mikrotik RouterBoard 532 */
|
||||
#define MACH_MIKROTIK_RB532A 1 /* Mikrotik RouterBoard 532A */
|
||||
|
||||
/*
|
||||
* Valid machtype for Loongson family
|
||||
@@ -67,7 +67,7 @@
|
||||
#define MACH_LEMOTE_ML2F7 3
|
||||
#define MACH_LEMOTE_YL2F89 4
|
||||
#define MACH_DEXXON_GDIUM2F10 5
|
||||
#define MACH_LEMOTE_NAS 6
|
||||
#define MACH_LEMOTE_NAS 6
|
||||
#define MACH_LEMOTE_LL2F 7
|
||||
#define MACH_LOONGSON_END 8
|
||||
|
||||
|
@@ -8,20 +8,20 @@
|
||||
* (C) Copyright 1996, 97, 99, 2002, 03 Ralf Baechle
|
||||
* (C) Copyright 1999 Silicon Graphics, Inc.
|
||||
*/
|
||||
#ifndef __ASM_CACHEOPS_H
|
||||
#define __ASM_CACHEOPS_H
|
||||
#ifndef __ASM_CACHEOPS_H
|
||||
#define __ASM_CACHEOPS_H
|
||||
|
||||
/*
|
||||
* Cache Operations available on all MIPS processors with R4000-style caches
|
||||
*/
|
||||
#define Index_Invalidate_I 0x00
|
||||
#define Index_Writeback_Inv_D 0x01
|
||||
#define Index_Invalidate_I 0x00
|
||||
#define Index_Writeback_Inv_D 0x01
|
||||
#define Index_Load_Tag_I 0x04
|
||||
#define Index_Load_Tag_D 0x05
|
||||
#define Index_Store_Tag_I 0x08
|
||||
#define Index_Store_Tag_D 0x09
|
||||
#if defined(CONFIG_CPU_LOONGSON2)
|
||||
#define Hit_Invalidate_I 0x00
|
||||
#define Hit_Invalidate_I 0x00
|
||||
#else
|
||||
#define Hit_Invalidate_I 0x10
|
||||
#endif
|
||||
@@ -39,8 +39,8 @@
|
||||
/*
|
||||
* R4000SC and R4400SC-specific cacheops
|
||||
*/
|
||||
#define Index_Invalidate_SI 0x02
|
||||
#define Index_Writeback_Inv_SD 0x03
|
||||
#define Index_Invalidate_SI 0x02
|
||||
#define Index_Writeback_Inv_SD 0x03
|
||||
#define Index_Load_Tag_SI 0x06
|
||||
#define Index_Load_Tag_SD 0x07
|
||||
#define Index_Store_Tag_SI 0x0A
|
||||
|
@@ -194,7 +194,7 @@ static inline __sum16 ip_compute_csum(const void *buff, int len)
|
||||
|
||||
#define _HAVE_ARCH_IPV6_CSUM
|
||||
static __inline__ __sum16 csum_ipv6_magic(const struct in6_addr *saddr,
|
||||
const struct in6_addr *daddr,
|
||||
const struct in6_addr *daddr,
|
||||
__u32 len, unsigned short proto,
|
||||
__wsum sum)
|
||||
{
|
||||
|
@@ -146,7 +146,7 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz
|
||||
" .set push \n" \
|
||||
" .set noat \n" \
|
||||
" .set mips3 \n" \
|
||||
"1: " ld " %0, %2 # __cmpxchg_asm \n" \
|
||||
"1: " ld " %0, %2 # __cmpxchg_asm \n" \
|
||||
" bne %0, %z3, 2f \n" \
|
||||
" .set mips0 \n" \
|
||||
" move $1, %z4 \n" \
|
||||
@@ -163,7 +163,7 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz
|
||||
" .set push \n" \
|
||||
" .set noat \n" \
|
||||
" .set mips3 \n" \
|
||||
"1: " ld " %0, %2 # __cmpxchg_asm \n" \
|
||||
"1: " ld " %0, %2 # __cmpxchg_asm \n" \
|
||||
" bne %0, %z3, 2f \n" \
|
||||
" .set mips0 \n" \
|
||||
" move $1, %z4 \n" \
|
||||
@@ -205,7 +205,7 @@ extern void __cmpxchg_called_with_bad_pointer(void);
|
||||
\
|
||||
switch (sizeof(*(__ptr))) { \
|
||||
case 4: \
|
||||
__res = __cmpxchg_asm("ll", "sc", __ptr, __old, __new); \
|
||||
__res = __cmpxchg_asm("ll", "sc", __ptr, __old, __new); \
|
||||
break; \
|
||||
case 8: \
|
||||
if (sizeof(long) == 8) { \
|
||||
|
@@ -18,9 +18,9 @@ static inline int __copy_conv_sigset_to_user(compat_sigset_t __user *d,
|
||||
BUG_ON(sizeof(*d) != sizeof(*s));
|
||||
BUG_ON(_NSIG_WORDS != 2);
|
||||
|
||||
err = __put_user(s->sig[0], &d->sig[0]);
|
||||
err = __put_user(s->sig[0], &d->sig[0]);
|
||||
err |= __put_user(s->sig[0] >> 32, &d->sig[1]);
|
||||
err |= __put_user(s->sig[1], &d->sig[2]);
|
||||
err |= __put_user(s->sig[1], &d->sig[2]);
|
||||
err |= __put_user(s->sig[1] >> 32, &d->sig[3]);
|
||||
|
||||
return err;
|
||||
|
@@ -120,7 +120,7 @@ struct compat_statfs {
|
||||
|
||||
typedef u32 compat_old_sigset_t; /* at least 32 bits */
|
||||
|
||||
#define _COMPAT_NSIG 128 /* Don't ask !$@#% ... */
|
||||
#define _COMPAT_NSIG 128 /* Don't ask !$@#% ... */
|
||||
#define _COMPAT_NSIG_BPW 32
|
||||
|
||||
typedef u32 compat_sigset_word;
|
||||
@@ -168,7 +168,7 @@ typedef struct compat_siginfo {
|
||||
s32 _addr; /* faulting insn/memory ref. */
|
||||
} _sigfault;
|
||||
|
||||
/* SIGPOLL, SIGXFSZ (To do ...) */
|
||||
/* SIGPOLL, SIGXFSZ (To do ...) */
|
||||
struct {
|
||||
int _band; /* POLL_IN, POLL_OUT, POLL_MSG */
|
||||
int _fd;
|
||||
@@ -179,7 +179,7 @@ typedef struct compat_siginfo {
|
||||
timer_t _tid; /* timer id */
|
||||
int _overrun; /* overrun count */
|
||||
compat_sigval_t _sigval;/* same as below */
|
||||
int _sys_private; /* not to be passed to user */
|
||||
int _sys_private; /* not to be passed to user */
|
||||
} _timer;
|
||||
|
||||
/* POSIX.1b signals */
|
||||
|
@@ -14,7 +14,7 @@
|
||||
#include <cpu-feature-overrides.h>
|
||||
|
||||
#ifndef current_cpu_type
|
||||
#define current_cpu_type() current_cpu_data.cputype
|
||||
#define current_cpu_type() current_cpu_data.cputype
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -87,10 +87,10 @@
|
||||
#define cpu_has_mips16 (cpu_data[0].ases & MIPS_ASE_MIPS16)
|
||||
#endif
|
||||
#ifndef cpu_has_mdmx
|
||||
#define cpu_has_mdmx (cpu_data[0].ases & MIPS_ASE_MDMX)
|
||||
#define cpu_has_mdmx (cpu_data[0].ases & MIPS_ASE_MDMX)
|
||||
#endif
|
||||
#ifndef cpu_has_mips3d
|
||||
#define cpu_has_mips3d (cpu_data[0].ases & MIPS_ASE_MIPS3D)
|
||||
#define cpu_has_mips3d (cpu_data[0].ases & MIPS_ASE_MIPS3D)
|
||||
#endif
|
||||
#ifndef cpu_has_smartmips
|
||||
#define cpu_has_smartmips (cpu_data[0].ases & MIPS_ASE_SMARTMIPS)
|
||||
@@ -108,11 +108,11 @@
|
||||
#define cpu_has_ic_fills_f_dc (cpu_data[0].icache.flags & MIPS_CACHE_IC_F_DC)
|
||||
#endif
|
||||
#ifndef cpu_has_pindexed_dcache
|
||||
#define cpu_has_pindexed_dcache (cpu_data[0].dcache.flags & MIPS_CACHE_PINDEX)
|
||||
#define cpu_has_pindexed_dcache (cpu_data[0].dcache.flags & MIPS_CACHE_PINDEX)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* I-Cache snoops remote store. This only matters on SMP. Some multiprocessors
|
||||
* I-Cache snoops remote store. This only matters on SMP. Some multiprocessors
|
||||
* such as the R10000 have I-Caches that snoop local stores; the embedded ones
|
||||
* don't. For maintaining I-cache coherency this means we need to flush the
|
||||
* D-cache all the way back to whever the I-cache does refills from, so the
|
||||
@@ -148,8 +148,8 @@
|
||||
*/
|
||||
#define cpu_has_mips32 (cpu_has_mips32r1 | cpu_has_mips32r2)
|
||||
#define cpu_has_mips64 (cpu_has_mips64r1 | cpu_has_mips64r2)
|
||||
#define cpu_has_mips_r1 (cpu_has_mips32r1 | cpu_has_mips64r1)
|
||||
#define cpu_has_mips_r2 (cpu_has_mips32r2 | cpu_has_mips64r2)
|
||||
#define cpu_has_mips_r1 (cpu_has_mips32r1 | cpu_has_mips64r1)
|
||||
#define cpu_has_mips_r2 (cpu_has_mips32r2 | cpu_has_mips64r2)
|
||||
#define cpu_has_mips_r (cpu_has_mips32r1 | cpu_has_mips32r2 | \
|
||||
cpu_has_mips64r1 | cpu_has_mips64r2)
|
||||
|
||||
@@ -159,7 +159,7 @@
|
||||
|
||||
/*
|
||||
* MIPS32, MIPS64, VR5500, IDT32332, IDT32334 and maybe a few other
|
||||
* pre-MIPS32/MIPS53 processors have CLO, CLZ. The IDT RC64574 is 64-bit and
|
||||
* pre-MIPS32/MIPS53 processors have CLO, CLZ. The IDT RC64574 is 64-bit and
|
||||
* has CLO and CLZ but not DCLO nor DCLZ. For 64-bit kernels
|
||||
* cpu_has_clo_clz also indicates the availability of DCLO and DCLZ.
|
||||
*/
|
||||
@@ -191,7 +191,7 @@
|
||||
# define cpu_has_64bits (cpu_data[0].isa_level & MIPS_CPU_ISA_64BIT)
|
||||
# endif
|
||||
# ifndef cpu_has_64bit_zero_reg
|
||||
# define cpu_has_64bit_zero_reg (cpu_data[0].isa_level & MIPS_CPU_ISA_64BIT)
|
||||
# define cpu_has_64bit_zero_reg (cpu_data[0].isa_level & MIPS_CPU_ISA_64BIT)
|
||||
# endif
|
||||
# ifndef cpu_has_64bit_gp_regs
|
||||
# define cpu_has_64bit_gp_regs 0
|
||||
|
@@ -52,14 +52,14 @@ struct cpuinfo_mips {
|
||||
unsigned int cputype;
|
||||
int isa_level;
|
||||
int tlbsize;
|
||||
struct cache_desc icache; /* Primary I-cache */
|
||||
struct cache_desc dcache; /* Primary D or combined I/D cache */
|
||||
struct cache_desc scache; /* Secondary cache */
|
||||
struct cache_desc tcache; /* Tertiary/split secondary cache */
|
||||
int srsets; /* Shadow register sets */
|
||||
struct cache_desc icache; /* Primary I-cache */
|
||||
struct cache_desc dcache; /* Primary D or combined I/D cache */
|
||||
struct cache_desc scache; /* Secondary cache */
|
||||
struct cache_desc tcache; /* Tertiary/split secondary cache */
|
||||
int srsets; /* Shadow register sets */
|
||||
int core; /* physical core number */
|
||||
#ifdef CONFIG_64BIT
|
||||
int vmbits; /* Virtual memory size in bits */
|
||||
int vmbits; /* Virtual memory size in bits */
|
||||
#endif
|
||||
#if defined(CONFIG_MIPS_MT_SMP) || defined(CONFIG_MIPS_MT_SMTC)
|
||||
/*
|
||||
@@ -68,12 +68,12 @@ struct cpuinfo_mips {
|
||||
* exception resources, ASID spaces, etc, are common
|
||||
* to all TCs within the same VPE.
|
||||
*/
|
||||
int vpe_id; /* Virtual Processor number */
|
||||
int vpe_id; /* Virtual Processor number */
|
||||
#endif
|
||||
#ifdef CONFIG_MIPS_MT_SMTC
|
||||
int tc_id; /* Thread Context number */
|
||||
int tc_id; /* Thread Context number */
|
||||
#endif
|
||||
void *data; /* Additional data */
|
||||
void *data; /* Additional data */
|
||||
unsigned int watch_reg_count; /* Number that exist */
|
||||
unsigned int watch_reg_use_cnt; /* Usable by ptrace */
|
||||
#define NUM_WATCH_REGS 4
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* cpu.h: Values of the PRId register used to match up
|
||||
* various MIPS cpu types.
|
||||
* various MIPS cpu types.
|
||||
*
|
||||
* Copyright (C) 1996 David S. Miller (davem@davemloft.net)
|
||||
* Copyright (C) 2004 Maciej W. Rozycki
|
||||
@@ -9,14 +9,14 @@
|
||||
#define _ASM_CPU_H
|
||||
|
||||
/* Assigned Company values for bits 23:16 of the PRId Register
|
||||
(CP0 register 15, select 0). As of the MIPS32 and MIPS64 specs from
|
||||
(CP0 register 15, select 0). As of the MIPS32 and MIPS64 specs from
|
||||
MTI, the PRId register is defined in this (backwards compatible)
|
||||
way:
|
||||
|
||||
+----------------+----------------+----------------+----------------+
|
||||
| Company Options| Company ID | Processor ID | Revision |
|
||||
| Company Options| Company ID | Processor ID | Revision |
|
||||
+----------------+----------------+----------------+----------------+
|
||||
31 24 23 16 15 8 7
|
||||
31 24 23 16 15 8 7
|
||||
|
||||
I don't have docs for all the previous processors, but my impression is
|
||||
that bits 16-23 have been 0 for all MIPS processors before the MIPS32/64
|
||||
@@ -29,7 +29,7 @@
|
||||
#define PRID_COMP_ALCHEMY 0x030000
|
||||
#define PRID_COMP_SIBYTE 0x040000
|
||||
#define PRID_COMP_SANDCRAFT 0x050000
|
||||
#define PRID_COMP_NXP 0x060000
|
||||
#define PRID_COMP_NXP 0x060000
|
||||
#define PRID_COMP_TOSHIBA 0x070000
|
||||
#define PRID_COMP_LSI 0x080000
|
||||
#define PRID_COMP_LEXRA 0x0b0000
|
||||
@@ -38,9 +38,9 @@
|
||||
#define PRID_COMP_INGENIC 0xd00000
|
||||
|
||||
/*
|
||||
* Assigned values for the product ID register. In order to detect a
|
||||
* Assigned values for the product ID register. In order to detect a
|
||||
* certain CPU type exactly eventually additional registers may need to
|
||||
* be examined. These are valid when 23:16 == PRID_COMP_LEGACY
|
||||
* be examined. These are valid when 23:16 == PRID_COMP_LEGACY
|
||||
*/
|
||||
#define PRID_IMP_R2000 0x0100
|
||||
#define PRID_IMP_AU1_REV1 0x0100
|
||||
@@ -101,14 +101,14 @@
|
||||
* These are the PRID's for when 23:16 == PRID_COMP_SIBYTE
|
||||
*/
|
||||
|
||||
#define PRID_IMP_SB1 0x0100
|
||||
#define PRID_IMP_SB1A 0x1100
|
||||
#define PRID_IMP_SB1 0x0100
|
||||
#define PRID_IMP_SB1A 0x1100
|
||||
|
||||
/*
|
||||
* These are the PRID's for when 23:16 == PRID_COMP_SANDCRAFT
|
||||
*/
|
||||
|
||||
#define PRID_IMP_SR71000 0x0400
|
||||
#define PRID_IMP_SR71000 0x0400
|
||||
|
||||
/*
|
||||
* These are the PRID's for when 23:16 == PRID_COMP_BROADCOM
|
||||
@@ -145,7 +145,7 @@
|
||||
* These are the PRID's for when 23:16 == PRID_COMP_INGENIC
|
||||
*/
|
||||
|
||||
#define PRID_IMP_JZRISC 0x0200
|
||||
#define PRID_IMP_JZRISC 0x0200
|
||||
|
||||
/*
|
||||
* These are the PRID's for when 23:16 == PRID_COMP_NETLOGIC
|
||||
@@ -188,9 +188,9 @@
|
||||
#define PRID_REV_R3000A 0x0030
|
||||
#define PRID_REV_R3000 0x0020
|
||||
#define PRID_REV_R2000A 0x0010
|
||||
#define PRID_REV_TX3912 0x0010
|
||||
#define PRID_REV_TX3922 0x0030
|
||||
#define PRID_REV_TX3927 0x0040
|
||||
#define PRID_REV_TX3912 0x0010
|
||||
#define PRID_REV_TX3922 0x0030
|
||||
#define PRID_REV_TX3927 0x0040
|
||||
#define PRID_REV_VR4111 0x0050
|
||||
#define PRID_REV_VR4181 0x0050 /* Same as VR4111 */
|
||||
#define PRID_REV_VR4121 0x0060
|
||||
@@ -217,9 +217,9 @@
|
||||
* FPU implementation/revision register (CP1 control register 0).
|
||||
*
|
||||
* +---------------------------------+----------------+----------------+
|
||||
* | 0 | Implementation | Revision |
|
||||
* | 0 | Implementation | Revision |
|
||||
* +---------------------------------+----------------+----------------+
|
||||
* 31 16 15 8 7 0
|
||||
* 31 16 15 8 7 0
|
||||
*/
|
||||
|
||||
#define FPIR_IMP_NONE 0x0000
|
||||
|
@@ -25,22 +25,22 @@
|
||||
*/
|
||||
#define IOASIC_SYS_ROM (0*IOASIC_SLOT_SIZE) /* system board ROM */
|
||||
#define IOASIC_IOCTL (1*IOASIC_SLOT_SIZE) /* I/O ASIC */
|
||||
#define IOASIC_ESAR (2*IOASIC_SLOT_SIZE) /* LANCE MAC address chip */
|
||||
#define IOASIC_LANCE (3*IOASIC_SLOT_SIZE) /* LANCE Ethernet */
|
||||
#define IOASIC_SCC0 (4*IOASIC_SLOT_SIZE) /* SCC #0 */
|
||||
#define IOASIC_ESAR (2*IOASIC_SLOT_SIZE) /* LANCE MAC address chip */
|
||||
#define IOASIC_LANCE (3*IOASIC_SLOT_SIZE) /* LANCE Ethernet */
|
||||
#define IOASIC_SCC0 (4*IOASIC_SLOT_SIZE) /* SCC #0 */
|
||||
#define IOASIC_VDAC_HI (5*IOASIC_SLOT_SIZE) /* VDAC (maxine) */
|
||||
#define IOASIC_SCC1 (6*IOASIC_SLOT_SIZE) /* SCC #1 (3min, 3max+) */
|
||||
#define IOASIC_SCC1 (6*IOASIC_SLOT_SIZE) /* SCC #1 (3min, 3max+) */
|
||||
#define IOASIC_VDAC_LO (7*IOASIC_SLOT_SIZE) /* VDAC (maxine) */
|
||||
#define IOASIC_TOY (8*IOASIC_SLOT_SIZE) /* RTC */
|
||||
#define IOASIC_ISDN (9*IOASIC_SLOT_SIZE) /* ISDN (maxine) */
|
||||
#define IOASIC_TOY (8*IOASIC_SLOT_SIZE) /* RTC */
|
||||
#define IOASIC_ISDN (9*IOASIC_SLOT_SIZE) /* ISDN (maxine) */
|
||||
#define IOASIC_ERRADDR (9*IOASIC_SLOT_SIZE) /* bus error address (3max+) */
|
||||
#define IOASIC_CHKSYN (10*IOASIC_SLOT_SIZE) /* ECC syndrome (3max+) */
|
||||
#define IOASIC_CHKSYN (10*IOASIC_SLOT_SIZE) /* ECC syndrome (3max+) */
|
||||
#define IOASIC_ACC_BUS (10*IOASIC_SLOT_SIZE) /* ACCESS.bus (maxine) */
|
||||
#define IOASIC_MCR (11*IOASIC_SLOT_SIZE) /* memory control (3max+) */
|
||||
#define IOASIC_FLOPPY (11*IOASIC_SLOT_SIZE) /* FDC (maxine) */
|
||||
#define IOASIC_SCSI (12*IOASIC_SLOT_SIZE) /* ASC SCSI */
|
||||
#define IOASIC_MCR (11*IOASIC_SLOT_SIZE) /* memory control (3max+) */
|
||||
#define IOASIC_FLOPPY (11*IOASIC_SLOT_SIZE) /* FDC (maxine) */
|
||||
#define IOASIC_SCSI (12*IOASIC_SLOT_SIZE) /* ASC SCSI */
|
||||
#define IOASIC_FDC_DMA (13*IOASIC_SLOT_SIZE) /* FDC DMA (maxine) */
|
||||
#define IOASIC_SCSI_DMA (14*IOASIC_SLOT_SIZE) /* ??? */
|
||||
#define IOASIC_SCSI_DMA (14*IOASIC_SLOT_SIZE) /* ??? */
|
||||
#define IOASIC_RES_15 (15*IOASIC_SLOT_SIZE) /* unused? */
|
||||
|
||||
|
||||
|
@@ -57,12 +57,12 @@
|
||||
/*
|
||||
* System Control & Status Register bits.
|
||||
*/
|
||||
#define KN01_CSR_MNFMOD (1<<15) /* MNFMOD manufacturing jumper */
|
||||
#define KN01_CSR_STATUS (1<<14) /* self-test result status output */
|
||||
#define KN01_CSR_PARDIS (1<<13) /* parity error disable */
|
||||
#define KN01_CSR_CRSRTST (1<<12) /* PCC test output */
|
||||
#define KN01_CSR_MONO (1<<11) /* mono/color fb SIMM installed */
|
||||
#define KN01_CSR_MEMERR (1<<10) /* write timeout error status & ack*/
|
||||
#define KN01_CSR_MNFMOD (1<<15) /* MNFMOD manufacturing jumper */
|
||||
#define KN01_CSR_STATUS (1<<14) /* self-test result status output */
|
||||
#define KN01_CSR_PARDIS (1<<13) /* parity error disable */
|
||||
#define KN01_CSR_CRSRTST (1<<12) /* PCC test output */
|
||||
#define KN01_CSR_MONO (1<<11) /* mono/color fb SIMM installed */
|
||||
#define KN01_CSR_MEMERR (1<<10) /* write timeout error status & ack*/
|
||||
#define KN01_CSR_VINT (1<<9) /* PCC area detect #2 status & ack */
|
||||
#define KN01_CSR_TXDIS (1<<8) /* DZ11 transmit disable */
|
||||
#define KN01_CSR_VBGTRG (1<<2) /* blue DAC voltage over green (r/o) */
|
||||
|
@@ -68,7 +68,7 @@
|
||||
#define KN03CA_IO_SSR_ISDN_RST (1<<12) /* ~ISDN (Am79C30A) reset */
|
||||
|
||||
#define KN03CA_IO_SSR_FLOPPY_RST (1<<7) /* ~FDC (82077) reset */
|
||||
#define KN03CA_IO_SSR_VIDEO_RST (1<<6) /* ~framebuffer reset */
|
||||
#define KN03CA_IO_SSR_VIDEO_RST (1<<6) /* ~framebuffer reset */
|
||||
#define KN03CA_IO_SSR_AB_RST (1<<5) /* ACCESS.bus reset */
|
||||
#define KN03CA_IO_SSR_RES_4 (1<<4) /* unused */
|
||||
#define KN03CA_IO_SSR_RES_3 (1<<4) /* unused */
|
||||
|
@@ -49,7 +49,7 @@
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
|
||||
#define prom_is_rex(magic) 1 /* KN04 and KN05 are REX PROMs. */
|
||||
#define prom_is_rex(magic) 1 /* KN04 and KN05 are REX PROMs. */
|
||||
|
||||
#else /* !CONFIG_64BIT */
|
||||
|
||||
|
@@ -5,7 +5,7 @@
|
||||
#include <asm/cache.h>
|
||||
#include <asm-generic/dma-coherent.h>
|
||||
|
||||
#ifndef CONFIG_SGI_IP27 /* Kludge to fix 2.6.39 build for IP27 */
|
||||
#ifndef CONFIG_SGI_IP27 /* Kludge to fix 2.6.39 build for IP27 */
|
||||
#include <dma-coherence.h>
|
||||
#endif
|
||||
|
||||
|
@@ -47,21 +47,21 @@
|
||||
*
|
||||
* Address mapping for channels 0-3:
|
||||
*
|
||||
* A23 ... A16 A15 ... A8 A7 ... A0 (Physical addresses)
|
||||
* | ... | | ... | | ... |
|
||||
* | ... | | ... | | ... |
|
||||
* | ... | | ... | | ... |
|
||||
* P7 ... P0 A7 ... A0 A7 ... A0
|
||||
* | Page | Addr MSB | Addr LSB | (DMA registers)
|
||||
* A23 ... A16 A15 ... A8 A7 ... A0 (Physical addresses)
|
||||
* | ... | | ... | | ... |
|
||||
* | ... | | ... | | ... |
|
||||
* | ... | | ... | | ... |
|
||||
* P7 ... P0 A7 ... A0 A7 ... A0
|
||||
* | Page | Addr MSB | Addr LSB | (DMA registers)
|
||||
*
|
||||
* Address mapping for channels 5-7:
|
||||
*
|
||||
* A23 ... A17 A16 A15 ... A9 A8 A7 ... A1 A0 (Physical addresses)
|
||||
* | ... | \ \ ... \ \ \ ... \ \
|
||||
* | ... | \ \ ... \ \ \ ... \ (not used)
|
||||
* | ... | \ \ ... \ \ \ ... \
|
||||
* P7 ... P1 (0) A7 A6 ... A0 A7 A6 ... A0
|
||||
* | Page | Addr MSB | Addr LSB | (DMA registers)
|
||||
* A23 ... A17 A16 A15 ... A9 A8 A7 ... A1 A0 (Physical addresses)
|
||||
* | ... | \ \ ... \ \ \ ... \ \
|
||||
* | ... | \ \ ... \ \ \ ... \ (not used)
|
||||
* | ... | \ \ ... \ \ \ ... \
|
||||
* P7 ... P1 (0) A7 A6 ... A0 A7 A6 ... A0
|
||||
* | Page | Addr MSB | Addr LSB | (DMA registers)
|
||||
*
|
||||
* Again, channels 5-7 transfer _physical_ words (16 bits), so addresses
|
||||
* and counts _must_ be word-aligned (the lowest address bit is _ignored_ at
|
||||
@@ -102,55 +102,55 @@
|
||||
/* DMA controller registers */
|
||||
#define DMA1_CMD_REG 0x08 /* command register (w) */
|
||||
#define DMA1_STAT_REG 0x08 /* status register (r) */
|
||||
#define DMA1_REQ_REG 0x09 /* request register (w) */
|
||||
#define DMA1_REQ_REG 0x09 /* request register (w) */
|
||||
#define DMA1_MASK_REG 0x0A /* single-channel mask (w) */
|
||||
#define DMA1_MODE_REG 0x0B /* mode register (w) */
|
||||
#define DMA1_CLEAR_FF_REG 0x0C /* clear pointer flip-flop (w) */
|
||||
#define DMA1_TEMP_REG 0x0D /* Temporary Register (r) */
|
||||
#define DMA1_TEMP_REG 0x0D /* Temporary Register (r) */
|
||||
#define DMA1_RESET_REG 0x0D /* Master Clear (w) */
|
||||
#define DMA1_CLR_MASK_REG 0x0E /* Clear Mask */
|
||||
#define DMA1_MASK_ALL_REG 0x0F /* all-channels mask (w) */
|
||||
#define DMA1_CLR_MASK_REG 0x0E /* Clear Mask */
|
||||
#define DMA1_MASK_ALL_REG 0x0F /* all-channels mask (w) */
|
||||
|
||||
#define DMA2_CMD_REG 0xD0 /* command register (w) */
|
||||
#define DMA2_STAT_REG 0xD0 /* status register (r) */
|
||||
#define DMA2_REQ_REG 0xD2 /* request register (w) */
|
||||
#define DMA2_REQ_REG 0xD2 /* request register (w) */
|
||||
#define DMA2_MASK_REG 0xD4 /* single-channel mask (w) */
|
||||
#define DMA2_MODE_REG 0xD6 /* mode register (w) */
|
||||
#define DMA2_CLEAR_FF_REG 0xD8 /* clear pointer flip-flop (w) */
|
||||
#define DMA2_TEMP_REG 0xDA /* Temporary Register (r) */
|
||||
#define DMA2_TEMP_REG 0xDA /* Temporary Register (r) */
|
||||
#define DMA2_RESET_REG 0xDA /* Master Clear (w) */
|
||||
#define DMA2_CLR_MASK_REG 0xDC /* Clear Mask */
|
||||
#define DMA2_MASK_ALL_REG 0xDE /* all-channels mask (w) */
|
||||
#define DMA2_CLR_MASK_REG 0xDC /* Clear Mask */
|
||||
#define DMA2_MASK_ALL_REG 0xDE /* all-channels mask (w) */
|
||||
|
||||
#define DMA_ADDR_0 0x00 /* DMA address registers */
|
||||
#define DMA_ADDR_1 0x02
|
||||
#define DMA_ADDR_2 0x04
|
||||
#define DMA_ADDR_3 0x06
|
||||
#define DMA_ADDR_4 0xC0
|
||||
#define DMA_ADDR_5 0xC4
|
||||
#define DMA_ADDR_6 0xC8
|
||||
#define DMA_ADDR_7 0xCC
|
||||
#define DMA_ADDR_0 0x00 /* DMA address registers */
|
||||
#define DMA_ADDR_1 0x02
|
||||
#define DMA_ADDR_2 0x04
|
||||
#define DMA_ADDR_3 0x06
|
||||
#define DMA_ADDR_4 0xC0
|
||||
#define DMA_ADDR_5 0xC4
|
||||
#define DMA_ADDR_6 0xC8
|
||||
#define DMA_ADDR_7 0xCC
|
||||
|
||||
#define DMA_CNT_0 0x01 /* DMA count registers */
|
||||
#define DMA_CNT_1 0x03
|
||||
#define DMA_CNT_2 0x05
|
||||
#define DMA_CNT_3 0x07
|
||||
#define DMA_CNT_4 0xC2
|
||||
#define DMA_CNT_5 0xC6
|
||||
#define DMA_CNT_6 0xCA
|
||||
#define DMA_CNT_7 0xCE
|
||||
#define DMA_CNT_0 0x01 /* DMA count registers */
|
||||
#define DMA_CNT_1 0x03
|
||||
#define DMA_CNT_2 0x05
|
||||
#define DMA_CNT_3 0x07
|
||||
#define DMA_CNT_4 0xC2
|
||||
#define DMA_CNT_5 0xC6
|
||||
#define DMA_CNT_6 0xCA
|
||||
#define DMA_CNT_7 0xCE
|
||||
|
||||
#define DMA_PAGE_0 0x87 /* DMA page registers */
|
||||
#define DMA_PAGE_1 0x83
|
||||
#define DMA_PAGE_2 0x81
|
||||
#define DMA_PAGE_3 0x82
|
||||
#define DMA_PAGE_5 0x8B
|
||||
#define DMA_PAGE_6 0x89
|
||||
#define DMA_PAGE_7 0x8A
|
||||
#define DMA_PAGE_0 0x87 /* DMA page registers */
|
||||
#define DMA_PAGE_1 0x83
|
||||
#define DMA_PAGE_2 0x81
|
||||
#define DMA_PAGE_3 0x82
|
||||
#define DMA_PAGE_5 0x8B
|
||||
#define DMA_PAGE_6 0x89
|
||||
#define DMA_PAGE_7 0x8A
|
||||
|
||||
#define DMA_MODE_READ 0x44 /* I/O to memory, no autoinit, increment, single mode */
|
||||
#define DMA_MODE_WRITE 0x48 /* memory to I/O, no autoinit, increment, single mode */
|
||||
#define DMA_MODE_CASCADE 0xC0 /* pass thru DREQ->HRQ, DACK<-HLDA only */
|
||||
#define DMA_MODE_CASCADE 0xC0 /* pass thru DREQ->HRQ, DACK<-HLDA only */
|
||||
|
||||
#define DMA_AUTOINIT 0x10
|
||||
|
||||
@@ -172,7 +172,7 @@ static __inline__ void release_dma_lock(unsigned long flags)
|
||||
static __inline__ void enable_dma(unsigned int dmanr)
|
||||
{
|
||||
if (dmanr<=3)
|
||||
dma_outb(dmanr, DMA1_MASK_REG);
|
||||
dma_outb(dmanr, DMA1_MASK_REG);
|
||||
else
|
||||
dma_outb(dmanr & 3, DMA2_MASK_REG);
|
||||
}
|
||||
@@ -204,7 +204,7 @@ static __inline__ void clear_dma_ff(unsigned int dmanr)
|
||||
static __inline__ void set_dma_mode(unsigned int dmanr, char mode)
|
||||
{
|
||||
if (dmanr<=3)
|
||||
dma_outb(mode | dmanr, DMA1_MODE_REG);
|
||||
dma_outb(mode | dmanr, DMA1_MODE_REG);
|
||||
else
|
||||
dma_outb(mode | (dmanr&3), DMA2_MODE_REG);
|
||||
}
|
||||
@@ -248,10 +248,10 @@ static __inline__ void set_dma_page(unsigned int dmanr, char pagenr)
|
||||
static __inline__ void set_dma_addr(unsigned int dmanr, unsigned int a)
|
||||
{
|
||||
set_dma_page(dmanr, a>>16);
|
||||
if (dmanr <= 3) {
|
||||
if (dmanr <= 3) {
|
||||
dma_outb( a & 0xff, ((dmanr&3)<<1) + IO_DMA1_BASE );
|
||||
dma_outb( (a>>8) & 0xff, ((dmanr&3)<<1) + IO_DMA1_BASE );
|
||||
} else {
|
||||
dma_outb( (a>>8) & 0xff, ((dmanr&3)<<1) + IO_DMA1_BASE );
|
||||
} else {
|
||||
dma_outb( (a>>1) & 0xff, ((dmanr&3)<<2) + IO_DMA2_BASE );
|
||||
dma_outb( (a>>9) & 0xff, ((dmanr&3)<<2) + IO_DMA2_BASE );
|
||||
}
|
||||
@@ -268,14 +268,14 @@ static __inline__ void set_dma_addr(unsigned int dmanr, unsigned int a)
|
||||
*/
|
||||
static __inline__ void set_dma_count(unsigned int dmanr, unsigned int count)
|
||||
{
|
||||
count--;
|
||||
if (dmanr <= 3) {
|
||||
count--;
|
||||
if (dmanr <= 3) {
|
||||
dma_outb( count & 0xff, ((dmanr&3)<<1) + 1 + IO_DMA1_BASE );
|
||||
dma_outb( (count>>8) & 0xff, ((dmanr&3)<<1) + 1 + IO_DMA1_BASE );
|
||||
} else {
|
||||
} else {
|
||||
dma_outb( (count>>1) & 0xff, ((dmanr&3)<<2) + 2 + IO_DMA2_BASE );
|
||||
dma_outb( (count>>9) & 0xff, ((dmanr&3)<<2) + 2 + IO_DMA2_BASE );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@@ -11,13 +11,13 @@
|
||||
|
||||
/* ELF header e_flags defines. */
|
||||
/* MIPS architecture level. */
|
||||
#define EF_MIPS_ARCH_1 0x00000000 /* -mips1 code. */
|
||||
#define EF_MIPS_ARCH_2 0x10000000 /* -mips2 code. */
|
||||
#define EF_MIPS_ARCH_3 0x20000000 /* -mips3 code. */
|
||||
#define EF_MIPS_ARCH_4 0x30000000 /* -mips4 code. */
|
||||
#define EF_MIPS_ARCH_5 0x40000000 /* -mips5 code. */
|
||||
#define EF_MIPS_ARCH_32 0x50000000 /* MIPS32 code. */
|
||||
#define EF_MIPS_ARCH_64 0x60000000 /* MIPS64 code. */
|
||||
#define EF_MIPS_ARCH_1 0x00000000 /* -mips1 code. */
|
||||
#define EF_MIPS_ARCH_2 0x10000000 /* -mips2 code. */
|
||||
#define EF_MIPS_ARCH_3 0x20000000 /* -mips3 code. */
|
||||
#define EF_MIPS_ARCH_4 0x30000000 /* -mips4 code. */
|
||||
#define EF_MIPS_ARCH_5 0x40000000 /* -mips5 code. */
|
||||
#define EF_MIPS_ARCH_32 0x50000000 /* MIPS32 code. */
|
||||
#define EF_MIPS_ARCH_64 0x60000000 /* MIPS64 code. */
|
||||
#define EF_MIPS_ARCH_32R2 0x70000000 /* MIPS32 R2 code. */
|
||||
#define EF_MIPS_ARCH_64R2 0x80000000 /* MIPS64 R2 code. */
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
#define R_MIPS_CALL16 11
|
||||
#define R_MIPS_GPREL32 12
|
||||
/* The remaining relocs are defined on Irix, although they are not
|
||||
in the MIPS ELF ABI. */
|
||||
in the MIPS ELF ABI. */
|
||||
#define R_MIPS_UNUSED1 13
|
||||
#define R_MIPS_UNUSED2 14
|
||||
#define R_MIPS_UNUSED3 15
|
||||
@@ -214,7 +214,7 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
|
||||
\
|
||||
if (__h->e_machine != EM_MIPS) \
|
||||
__res = 0; \
|
||||
if (__h->e_ident[EI_CLASS] != ELFCLASS64) \
|
||||
if (__h->e_ident[EI_CLASS] != ELFCLASS64) \
|
||||
__res = 0; \
|
||||
\
|
||||
__res; \
|
||||
@@ -292,7 +292,7 @@ do { \
|
||||
__SET_PERSONALITY32_O32(); \
|
||||
} while (0)
|
||||
#else
|
||||
#define __SET_PERSONALITY32(ex) do { } while (0)
|
||||
#define __SET_PERSONALITY32(ex) do { } while (0)
|
||||
#endif
|
||||
|
||||
#define SET_PERSONALITY(ex) \
|
||||
@@ -337,11 +337,11 @@ extern int dump_task_fpu(struct task_struct *, elf_fpregset_t *);
|
||||
instruction set this cpu supports. This could be done in userspace,
|
||||
but it's not easy, and we've already done it here. */
|
||||
|
||||
#define ELF_HWCAP (0)
|
||||
#define ELF_HWCAP (0)
|
||||
|
||||
/*
|
||||
* This yields a string that ld.so will use to load implementation
|
||||
* specific libraries for optimization. This is more specific in
|
||||
* specific libraries for optimization. This is more specific in
|
||||
* intent than poking at uname or /proc/cpuinfo.
|
||||
*/
|
||||
|
||||
@@ -365,11 +365,11 @@ extern const char *__elf_platform;
|
||||
|
||||
/* This is the location that an ET_DYN program is loaded if exec'ed. Typical
|
||||
use of this is to invoke "./ld.so someprog" to test out a new version of
|
||||
the loader. We need to make sure that it is out of the way of the program
|
||||
that it will "exec", and that there is sufficient room for the brk. */
|
||||
the loader. We need to make sure that it is out of the way of the program
|
||||
that it will "exec", and that there is sufficient room for the brk. */
|
||||
|
||||
#ifndef ELF_ET_DYN_BASE
|
||||
#define ELF_ET_DYN_BASE (TASK_SIZE / 3 * 2)
|
||||
#define ELF_ET_DYN_BASE (TASK_SIZE / 3 * 2)
|
||||
#endif
|
||||
|
||||
#define ARCH_HAS_SETUP_ADDITIONAL_PAGES 1
|
||||
|
@@ -2,7 +2,7 @@
|
||||
* Copyright (C) NEC Electronics Corporation 2005-2006
|
||||
*
|
||||
* This file based on include/asm-mips/ddb5xxx/ddb5xxx.h
|
||||
* Copyright 2001 MontaVista Software Inc.
|
||||
* Copyright 2001 MontaVista Software Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -40,7 +40,7 @@
|
||||
#define EMMA2RH_BHIF_INT1_EN_2 (0x000058+REGBASE)
|
||||
#define EMMA2RH_BHIF_SW_INT (0x000070+REGBASE)
|
||||
#define EMMA2RH_BHIF_SW_INT_EN (0x000080+REGBASE)
|
||||
#define EMMA2RH_BHIF_SW_INT_CLR (0x000090+REGBASE)
|
||||
#define EMMA2RH_BHIF_SW_INT_CLR (0x000090+REGBASE)
|
||||
#define EMMA2RH_BHIF_MAIN_CTRL (0x0000b4+REGBASE)
|
||||
#define EMMA2RH_BHIF_EXCEPT_VECT_BASE_ADDRESS (0x0000c0+REGBASE)
|
||||
#define EMMA2RH_GPIO_DIR (0x110d20+REGBASE)
|
||||
@@ -73,7 +73,7 @@
|
||||
* Memory map (physical address)
|
||||
*
|
||||
* Note most of the following address must be properly aligned by the
|
||||
* corresponding size. For example, if PCI_IO_SIZE is 16MB, then
|
||||
* corresponding size. For example, if PCI_IO_SIZE is 16MB, then
|
||||
* PCI_IO_BASE must be aligned along 16MB boundary.
|
||||
*/
|
||||
|
||||
@@ -96,8 +96,8 @@
|
||||
#define EMMA2RH_ROM_BASE 0x1c000000
|
||||
#define EMMA2RH_ROM_SIZE 0x04000000 /* 64 MB */
|
||||
|
||||
#define EMMA2RH_PCI_CONFIG_BASE EMMA2RH_PCI_IO_BASE
|
||||
#define EMMA2RH_PCI_CONFIG_SIZE EMMA2RH_PCI_IO_SIZE
|
||||
#define EMMA2RH_PCI_CONFIG_BASE EMMA2RH_PCI_IO_BASE
|
||||
#define EMMA2RH_PCI_CONFIG_SIZE EMMA2RH_PCI_IO_SIZE
|
||||
|
||||
#define NUM_EMMA2RH_IRQ 96
|
||||
|
||||
@@ -169,51 +169,51 @@ static inline u8 emma2rh_in8(u32 offset)
|
||||
**/
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* CNT - Control register (00H R/W) */
|
||||
/* CNT - Control register (00H R/W) */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#define SPT 0x00000001
|
||||
#define STT 0x00000002
|
||||
#define ACKE 0x00000004
|
||||
#define WTIM 0x00000008
|
||||
#define SPIE 0x00000010
|
||||
#define WREL 0x00000020
|
||||
#define LREL 0x00000040
|
||||
#define IICE 0x00000080
|
||||
#define CNT_RESERVED 0x000000ff /* reserved bit 0 */
|
||||
#define SPT 0x00000001
|
||||
#define STT 0x00000002
|
||||
#define ACKE 0x00000004
|
||||
#define WTIM 0x00000008
|
||||
#define SPIE 0x00000010
|
||||
#define WREL 0x00000020
|
||||
#define LREL 0x00000040
|
||||
#define IICE 0x00000080
|
||||
#define CNT_RESERVED 0x000000ff /* reserved bit 0 */
|
||||
|
||||
#define I2C_EMMA_START (IICE | STT)
|
||||
#define I2C_EMMA_STOP (IICE | SPT)
|
||||
#define I2C_EMMA_START (IICE | STT)
|
||||
#define I2C_EMMA_STOP (IICE | SPT)
|
||||
#define I2C_EMMA_REPSTART I2C_EMMA_START
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* STA - Status register (10H Read) */
|
||||
/* STA - Status register (10H Read) */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#define MSTS 0x00000080
|
||||
#define ALD 0x00000040
|
||||
#define EXC 0x00000020
|
||||
#define COI 0x00000010
|
||||
#define TRC 0x00000008
|
||||
#define ACKD 0x00000004
|
||||
#define STD 0x00000002
|
||||
#define SPD 0x00000001
|
||||
#define MSTS 0x00000080
|
||||
#define ALD 0x00000040
|
||||
#define EXC 0x00000020
|
||||
#define COI 0x00000010
|
||||
#define TRC 0x00000008
|
||||
#define ACKD 0x00000004
|
||||
#define STD 0x00000002
|
||||
#define SPD 0x00000001
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* CSEL - Clock select register (20H R/W) */
|
||||
/* CSEL - Clock select register (20H R/W) */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#define FCL 0x00000080
|
||||
#define ND50 0x00000040
|
||||
#define CLD 0x00000020
|
||||
#define DAD 0x00000010
|
||||
#define SMC 0x00000008
|
||||
#define DFC 0x00000004
|
||||
#define CL 0x00000003
|
||||
#define CSEL_RESERVED 0x000000ff /* reserved bit 0 */
|
||||
#define FCL 0x00000080
|
||||
#define ND50 0x00000040
|
||||
#define CLD 0x00000020
|
||||
#define DAD 0x00000010
|
||||
#define SMC 0x00000008
|
||||
#define DFC 0x00000004
|
||||
#define CL 0x00000003
|
||||
#define CSEL_RESERVED 0x000000ff /* reserved bit 0 */
|
||||
|
||||
#define FAST397 0x0000008b
|
||||
#define FAST297 0x0000008a
|
||||
#define FAST347 0x0000000b
|
||||
#define FAST260 0x0000000a
|
||||
#define FAST130 0x00000008
|
||||
#define FAST397 0x0000008b
|
||||
#define FAST297 0x0000008a
|
||||
#define FAST347 0x0000000b
|
||||
#define FAST260 0x0000000a
|
||||
#define FAST130 0x00000008
|
||||
#define STANDARD108 0x00000083
|
||||
#define STANDARD83 0x00000082
|
||||
#define STANDARD95 0x00000003
|
||||
@@ -222,32 +222,32 @@ static inline u8 emma2rh_in8(u32 offset)
|
||||
#define STANDARD71 0x00000000
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* SVA - Slave address register (30H R/W) */
|
||||
/* SVA - Slave address register (30H R/W) */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#define SVA 0x000000fe
|
||||
#define SVA 0x000000fe
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* SHR - Shift register (40H R/W) */
|
||||
/* SHR - Shift register (40H R/W) */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#define SR 0x000000ff
|
||||
#define SR 0x000000ff
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* INT - Interrupt register (50H R/W) */
|
||||
/* INTM - Interrupt mask register (60H R/W) */
|
||||
/* INT - Interrupt register (50H R/W) */
|
||||
/* INTM - Interrupt mask register (60H R/W) */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#define INTE0 0x00000001
|
||||
#define INTE0 0x00000001
|
||||
|
||||
/***********************************************************************
|
||||
* I2C registers
|
||||
***********************************************************************
|
||||
*/
|
||||
#define I2C_EMMA_CNT 0x00
|
||||
#define I2C_EMMA_STA 0x10
|
||||
#define I2C_EMMA_CSEL 0x20
|
||||
#define I2C_EMMA_SVA 0x30
|
||||
#define I2C_EMMA_SHR 0x40
|
||||
#define I2C_EMMA_INT 0x50
|
||||
#define I2C_EMMA_INTM 0x60
|
||||
#define I2C_EMMA_CNT 0x00
|
||||
#define I2C_EMMA_STA 0x10
|
||||
#define I2C_EMMA_CSEL 0x20
|
||||
#define I2C_EMMA_SVA 0x30
|
||||
#define I2C_EMMA_SHR 0x40
|
||||
#define I2C_EMMA_INT 0x50
|
||||
#define I2C_EMMA_INTM 0x60
|
||||
|
||||
/*
|
||||
* include the board dependent part
|
||||
|
@@ -2,7 +2,7 @@
|
||||
* Copyright (C) NEC Electronics Corporation 2005-2006
|
||||
*
|
||||
* This file based on include/asm-mips/ddb5xxx/ddb5xxx.h
|
||||
* Copyright 2001 MontaVista Software Inc.
|
||||
* Copyright 2001 MontaVista Software Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@@ -95,7 +95,7 @@ static inline unsigned long fix_to_virt(const unsigned int idx)
|
||||
if (idx >= __end_of_fixed_addresses)
|
||||
__this_fixmap_does_not_exist();
|
||||
|
||||
return __fix_to_virt(idx);
|
||||
return __fix_to_virt(idx);
|
||||
}
|
||||
|
||||
static inline unsigned long virt_to_fix(const unsigned long vaddr)
|
||||
@@ -111,7 +111,7 @@ static inline unsigned long virt_to_fix(const unsigned long vaddr)
|
||||
* Called from pgtable_init()
|
||||
*/
|
||||
extern void fixrange_init(unsigned long start, unsigned long end,
|
||||
pgd_t *pgd_base);
|
||||
pgd_t *pgd_base);
|
||||
|
||||
|
||||
#endif
|
||||
|
@@ -24,9 +24,9 @@ static inline void fd_cacheflush(char * addr, long size)
|
||||
* And on Mips's the CMOS info fails also ...
|
||||
*
|
||||
* FIXME: This information should come from the ARC configuration tree
|
||||
* or wherever a particular machine has stored this ...
|
||||
* or wherever a particular machine has stored this ...
|
||||
*/
|
||||
#define FLOPPY0_TYPE fd_drive_type(0)
|
||||
#define FLOPPY0_TYPE fd_drive_type(0)
|
||||
#define FLOPPY1_TYPE fd_drive_type(1)
|
||||
|
||||
#define FDC1 fd_getfdaddr1()
|
||||
|
@@ -20,15 +20,15 @@
|
||||
* These definitions only cover the R3000-ish 16/32 register model.
|
||||
* But we're trying to be R3000 friendly anyway ...
|
||||
*/
|
||||
#define fv0 $f0 /* return value */
|
||||
#define fv0 $f0 /* return value */
|
||||
#define fv0f $f1
|
||||
#define fv1 $f2
|
||||
#define fv1f $f3
|
||||
#define fa0 $f12 /* argument registers */
|
||||
#define fa0 $f12 /* argument registers */
|
||||
#define fa0f $f13
|
||||
#define fa1 $f14
|
||||
#define fa1f $f15
|
||||
#define ft0 $f4 /* caller saved */
|
||||
#define ft0 $f4 /* caller saved */
|
||||
#define ft0f $f5
|
||||
#define ft1 $f6
|
||||
#define ft1f $f7
|
||||
@@ -40,7 +40,7 @@
|
||||
#define ft4f $f17
|
||||
#define ft5 $f18
|
||||
#define ft5f $f19
|
||||
#define fs0 $f20 /* callee saved */
|
||||
#define fs0 $f20 /* callee saved */
|
||||
#define fs0f $f21
|
||||
#define fs1 $f22
|
||||
#define fs1f $f23
|
||||
@@ -53,7 +53,7 @@
|
||||
#define fs5 $f30
|
||||
#define fs5f $f31
|
||||
|
||||
#define fcr31 $31 /* FPU status register */
|
||||
#define fcr31 $31 /* FPU status register */
|
||||
|
||||
#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
|
||||
|
||||
|
@@ -35,14 +35,14 @@ extern void _restore_fp(struct task_struct *);
|
||||
|
||||
#define __enable_fpu() \
|
||||
do { \
|
||||
set_c0_status(ST0_CU1); \
|
||||
enable_fpu_hazard(); \
|
||||
set_c0_status(ST0_CU1); \
|
||||
enable_fpu_hazard(); \
|
||||
} while (0)
|
||||
|
||||
#define __disable_fpu() \
|
||||
do { \
|
||||
clear_c0_status(ST0_CU1); \
|
||||
disable_fpu_hazard(); \
|
||||
disable_fpu_hazard(); \
|
||||
} while (0)
|
||||
|
||||
#define enable_fpu() \
|
||||
|
@@ -92,24 +92,24 @@ futex_atomic_op_inuser(int encoded_op, u32 __user *uaddr)
|
||||
|
||||
switch (op) {
|
||||
case FUTEX_OP_SET:
|
||||
__futex_atomic_op("move $1, %z5", ret, oldval, uaddr, oparg);
|
||||
__futex_atomic_op("move $1, %z5", ret, oldval, uaddr, oparg);
|
||||
break;
|
||||
|
||||
case FUTEX_OP_ADD:
|
||||
__futex_atomic_op("addu $1, %1, %z5",
|
||||
ret, oldval, uaddr, oparg);
|
||||
__futex_atomic_op("addu $1, %1, %z5",
|
||||
ret, oldval, uaddr, oparg);
|
||||
break;
|
||||
case FUTEX_OP_OR:
|
||||
__futex_atomic_op("or $1, %1, %z5",
|
||||
ret, oldval, uaddr, oparg);
|
||||
ret, oldval, uaddr, oparg);
|
||||
break;
|
||||
case FUTEX_OP_ANDN:
|
||||
__futex_atomic_op("and $1, %1, %z5",
|
||||
ret, oldval, uaddr, ~oparg);
|
||||
ret, oldval, uaddr, ~oparg);
|
||||
break;
|
||||
case FUTEX_OP_XOR:
|
||||
__futex_atomic_op("xor $1, %1, %z5",
|
||||
ret, oldval, uaddr, oparg);
|
||||
ret, oldval, uaddr, oparg);
|
||||
break;
|
||||
default:
|
||||
ret = -ENOSYS;
|
||||
|
@@ -12,7 +12,7 @@ typedef enum configclass {
|
||||
SystemClass,
|
||||
ProcessorClass,
|
||||
CacheClass,
|
||||
#ifndef _NT_PROM
|
||||
#ifndef _NT_PROM
|
||||
MemoryClass,
|
||||
AdapterClass,
|
||||
ControllerClass,
|
||||
@@ -34,7 +34,7 @@ typedef enum configtype {
|
||||
SecondaryICache,
|
||||
SecondaryDCache,
|
||||
SecondaryCache,
|
||||
#ifndef _NT_PROM
|
||||
#ifndef _NT_PROM
|
||||
Memory,
|
||||
#endif
|
||||
EISAAdapter,
|
||||
@@ -93,7 +93,7 @@ typedef enum {
|
||||
} IDENTIFIERFLAG;
|
||||
|
||||
#ifndef NULL /* for GetChild(NULL); */
|
||||
#define NULL 0
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
union key_u {
|
||||
@@ -125,7 +125,7 @@ typedef struct component {
|
||||
IDENTIFIERFLAG Flags;
|
||||
USHORT Version;
|
||||
USHORT Revision;
|
||||
ULONG Key;
|
||||
ULONG Key;
|
||||
ULONG AffinityMask;
|
||||
ULONG ConfigurationDataSize;
|
||||
ULONG IdentifierLength;
|
||||
@@ -149,7 +149,7 @@ typedef struct systemid {
|
||||
typedef enum memorytype {
|
||||
ExceptionBlock,
|
||||
SPBPage, /* ARCS == SystemParameterBlock */
|
||||
#ifndef _NT_PROM
|
||||
#ifndef _NT_PROM
|
||||
FreeContiguous,
|
||||
FreeMemory,
|
||||
BadMemory,
|
||||
|
@@ -15,7 +15,7 @@
|
||||
typedef char CHAR;
|
||||
typedef short SHORT;
|
||||
typedef long LARGE_INTEGER __attribute__ ((__mode__ (__DI__)));
|
||||
typedef long LONG __attribute__ ((__mode__ (__SI__)));
|
||||
typedef long LONG __attribute__ ((__mode__ (__SI__)));
|
||||
typedef unsigned char UCHAR;
|
||||
typedef unsigned short USHORT;
|
||||
typedef unsigned long ULONG __attribute__ ((__mode__ (__SI__)));
|
||||
@@ -23,11 +23,11 @@ typedef void VOID;
|
||||
|
||||
/* The pointer types. Note that we're using a 64-bit compiler but all
|
||||
pointer in the ARC structures are only 32-bit, so we need some disgusting
|
||||
workarounds. Keep your vomit bag handy. */
|
||||
workarounds. Keep your vomit bag handy. */
|
||||
typedef LONG _PCHAR;
|
||||
typedef LONG _PSHORT;
|
||||
typedef LONG _PLARGE_INTEGER;
|
||||
typedef LONG _PLONG;
|
||||
typedef LONG _PLONG;
|
||||
typedef LONG _PUCHAR;
|
||||
typedef LONG _PUSHORT;
|
||||
typedef LONG _PULONG;
|
||||
@@ -40,7 +40,7 @@ typedef LONG _PVOID;
|
||||
typedef char CHAR;
|
||||
typedef short SHORT;
|
||||
typedef long LARGE_INTEGER __attribute__ ((__mode__ (__DI__)));
|
||||
typedef long LONG __attribute__ ((__mode__ (__DI__)));
|
||||
typedef long LONG __attribute__ ((__mode__ (__DI__)));
|
||||
typedef unsigned char UCHAR;
|
||||
typedef unsigned short USHORT;
|
||||
typedef unsigned long ULONG __attribute__ ((__mode__ (__DI__)));
|
||||
@@ -51,7 +51,7 @@ typedef void VOID;
|
||||
typedef CHAR *_PCHAR;
|
||||
typedef SHORT *_PSHORT;
|
||||
typedef LARGE_INTEGER *_PLARGE_INTEGER;
|
||||
typedef LONG *_PLONG;
|
||||
typedef LONG *_PLONG;
|
||||
typedef UCHAR *_PUCHAR;
|
||||
typedef USHORT *_PUSHORT;
|
||||
typedef ULONG *_PULONG;
|
||||
@@ -62,7 +62,7 @@ typedef VOID *_PVOID;
|
||||
typedef CHAR *PCHAR;
|
||||
typedef SHORT *PSHORT;
|
||||
typedef LARGE_INTEGER *PLARGE_INTEGER;
|
||||
typedef LONG *PLONG;
|
||||
typedef LONG *PLONG;
|
||||
typedef UCHAR *PUCHAR;
|
||||
typedef USHORT *PUSHORT;
|
||||
typedef ULONG *PULONG;
|
||||
|
@@ -40,7 +40,7 @@ typedef long intptr_t;
|
||||
/* Seal indicating CFE's presence, passed to user program. */
|
||||
#define CFE_EPTSEAL 0x43464531
|
||||
|
||||
#define CFE_MI_RESERVED 0 /* memory is reserved, do not use */
|
||||
#define CFE_MI_RESERVED 0 /* memory is reserved, do not use */
|
||||
#define CFE_MI_AVAILABLE 1 /* memory is available */
|
||||
|
||||
#define CFE_FLG_WARMSTART 0x00000001
|
||||
@@ -52,13 +52,13 @@ typedef long intptr_t;
|
||||
|
||||
#define CFE_STDHANDLE_CONSOLE 0
|
||||
|
||||
#define CFE_DEV_NETWORK 1
|
||||
#define CFE_DEV_NETWORK 1
|
||||
#define CFE_DEV_DISK 2
|
||||
#define CFE_DEV_FLASH 3
|
||||
#define CFE_DEV_SERIAL 4
|
||||
#define CFE_DEV_CPU 5
|
||||
#define CFE_DEV_NVRAM 6
|
||||
#define CFE_DEV_CLOCK 7
|
||||
#define CFE_DEV_CLOCK 7
|
||||
#define CFE_DEV_OTHER 8
|
||||
#define CFE_DEV_MASK 0x0F
|
||||
|
||||
|
@@ -25,7 +25,7 @@
|
||||
*/
|
||||
|
||||
#define CFE_OK 0
|
||||
#define CFE_ERR -1 /* generic error */
|
||||
#define CFE_ERR -1 /* generic error */
|
||||
#define CFE_ERR_INV_COMMAND -2
|
||||
#define CFE_ERR_EOF -3
|
||||
#define CFE_ERR_IOERR -4
|
||||
@@ -37,12 +37,12 @@
|
||||
#define CFE_ERR_ENVREADONLY -10
|
||||
|
||||
#define CFE_ERR_NOTELF -11
|
||||
#define CFE_ERR_NOT32BIT -12
|
||||
#define CFE_ERR_WRONGENDIAN -13
|
||||
#define CFE_ERR_BADELFVERS -14
|
||||
#define CFE_ERR_NOTMIPS -15
|
||||
#define CFE_ERR_BADELFFMT -16
|
||||
#define CFE_ERR_BADADDR -17
|
||||
#define CFE_ERR_NOT32BIT -12
|
||||
#define CFE_ERR_WRONGENDIAN -13
|
||||
#define CFE_ERR_BADELFVERS -14
|
||||
#define CFE_ERR_NOTMIPS -15
|
||||
#define CFE_ERR_BADELFFMT -16
|
||||
#define CFE_ERR_BADADDR -17
|
||||
|
||||
#define CFE_ERR_FILENOTFOUND -18
|
||||
#define CFE_ERR_UNSUPPORTED -19
|
||||
@@ -73,8 +73,8 @@
|
||||
|
||||
#define CFE_ERR_NOTREADY -36
|
||||
|
||||
#define CFE_ERR_GETMEM -37
|
||||
#define CFE_ERR_SETMEM -38
|
||||
#define CFE_ERR_GETMEM -37
|
||||
#define CFE_ERR_SETMEM -38
|
||||
|
||||
#define CFE_ERR_NOTCONN -39
|
||||
#define CFE_ERR_ADDRINUSE -40
|
||||
|
@@ -32,7 +32,7 @@
|
||||
|
||||
/* GCMP register access */
|
||||
#define GCMPGCB(reg) REGP(_gcmp_base, GCMPGCBOFS(reg))
|
||||
#define GCMPGCBn(reg, n) REGP(_gcmp_base, GCMPGCBOFSn(reg, n))
|
||||
#define GCMPGCBn(reg, n) REGP(_gcmp_base, GCMPGCBOFSn(reg, n))
|
||||
#define GCMPCLCB(reg) REGP(_gcmp_base, GCMPCLCBOFS(reg))
|
||||
#define GCMPCOCB(reg) REGP(_gcmp_base, GCMPCOCBOFS(reg))
|
||||
#define GCMPGDB(reg) REGP(_gcmp_base, GCMPGDBOFS(reg))
|
||||
@@ -45,76 +45,76 @@
|
||||
|
||||
/* GCB registers */
|
||||
#define GCMP_GCB_GC_OFS 0x0000 /* Global Config Register */
|
||||
#define GCMP_GCB_GC_NUMIOCU_SHF 8
|
||||
#define GCMP_GCB_GC_NUMIOCU_MSK GCMPGCBMSK(GC_NUMIOCU, 4)
|
||||
#define GCMP_GCB_GC_NUMCORES_SHF 0
|
||||
#define GCMP_GCB_GC_NUMCORES_MSK GCMPGCBMSK(GC_NUMCORES, 8)
|
||||
#define GCMP_GCB_GC_NUMIOCU_SHF 8
|
||||
#define GCMP_GCB_GC_NUMIOCU_MSK GCMPGCBMSK(GC_NUMIOCU, 4)
|
||||
#define GCMP_GCB_GC_NUMCORES_SHF 0
|
||||
#define GCMP_GCB_GC_NUMCORES_MSK GCMPGCBMSK(GC_NUMCORES, 8)
|
||||
#define GCMP_GCB_GCMPB_OFS 0x0008 /* Global GCMP Base */
|
||||
#define GCMP_GCB_GCMPB_GCMPBASE_SHF 15
|
||||
#define GCMP_GCB_GCMPB_GCMPBASE_MSK GCMPGCBMSK(GCMPB_GCMPBASE, 17)
|
||||
#define GCMP_GCB_GCMPB_CMDEFTGT_SHF 0
|
||||
#define GCMP_GCB_GCMPB_CMDEFTGT_MSK GCMPGCBMSK(GCMPB_CMDEFTGT, 2)
|
||||
#define GCMP_GCB_GCMPB_CMDEFTGT_DISABLED 0
|
||||
#define GCMP_GCB_GCMPB_CMDEFTGT_MEM 1
|
||||
#define GCMP_GCB_GCMPB_CMDEFTGT_IOCU1 2
|
||||
#define GCMP_GCB_GCMPB_CMDEFTGT_IOCU2 3
|
||||
#define GCMP_GCB_GCMPB_GCMPBASE_SHF 15
|
||||
#define GCMP_GCB_GCMPB_GCMPBASE_MSK GCMPGCBMSK(GCMPB_GCMPBASE, 17)
|
||||
#define GCMP_GCB_GCMPB_CMDEFTGT_SHF 0
|
||||
#define GCMP_GCB_GCMPB_CMDEFTGT_MSK GCMPGCBMSK(GCMPB_CMDEFTGT, 2)
|
||||
#define GCMP_GCB_GCMPB_CMDEFTGT_DISABLED 0
|
||||
#define GCMP_GCB_GCMPB_CMDEFTGT_MEM 1
|
||||
#define GCMP_GCB_GCMPB_CMDEFTGT_IOCU1 2
|
||||
#define GCMP_GCB_GCMPB_CMDEFTGT_IOCU2 3
|
||||
#define GCMP_GCB_CCMC_OFS 0x0010 /* Global CM Control */
|
||||
#define GCMP_GCB_GCSRAP_OFS 0x0020 /* Global CSR Access Privilege */
|
||||
#define GCMP_GCB_GCSRAP_CMACCESS_SHF 0
|
||||
#define GCMP_GCB_GCSRAP_CMACCESS_MSK GCMPGCBMSK(GCSRAP_CMACCESS, 8)
|
||||
#define GCMP_GCB_GCSRAP_CMACCESS_SHF 0
|
||||
#define GCMP_GCB_GCSRAP_CMACCESS_MSK GCMPGCBMSK(GCSRAP_CMACCESS, 8)
|
||||
#define GCMP_GCB_GCMPREV_OFS 0x0030 /* GCMP Revision Register */
|
||||
#define GCMP_GCB_GCMEM_OFS 0x0040 /* Global CM Error Mask */
|
||||
#define GCMP_GCB_GCMEC_OFS 0x0048 /* Global CM Error Cause */
|
||||
#define GCMP_GCB_GMEC_ERROR_TYPE_SHF 27
|
||||
#define GCMP_GCB_GMEC_ERROR_TYPE_MSK GCMPGCBMSK(GMEC_ERROR_TYPE, 5)
|
||||
#define GCMP_GCB_GMEC_ERROR_INFO_SHF 0
|
||||
#define GCMP_GCB_GMEC_ERROR_INFO_MSK GCMPGCBMSK(GMEC_ERROR_INFO, 27)
|
||||
#define GCMP_GCB_GMEC_ERROR_TYPE_SHF 27
|
||||
#define GCMP_GCB_GMEC_ERROR_TYPE_MSK GCMPGCBMSK(GMEC_ERROR_TYPE, 5)
|
||||
#define GCMP_GCB_GMEC_ERROR_INFO_SHF 0
|
||||
#define GCMP_GCB_GMEC_ERROR_INFO_MSK GCMPGCBMSK(GMEC_ERROR_INFO, 27)
|
||||
#define GCMP_GCB_GCMEA_OFS 0x0050 /* Global CM Error Address */
|
||||
#define GCMP_GCB_GCMEO_OFS 0x0058 /* Global CM Error Multiple */
|
||||
#define GCMP_GCB_GMEO_ERROR_2ND_SHF 0
|
||||
#define GCMP_GCB_GMEO_ERROR_2ND_MSK GCMPGCBMSK(GMEO_ERROR_2ND, 5)
|
||||
#define GCMP_GCB_GMEO_ERROR_2ND_SHF 0
|
||||
#define GCMP_GCB_GMEO_ERROR_2ND_MSK GCMPGCBMSK(GMEO_ERROR_2ND, 5)
|
||||
#define GCMP_GCB_GICBA_OFS 0x0080 /* Global Interrupt Controller Base Address */
|
||||
#define GCMP_GCB_GICBA_BASE_SHF 17
|
||||
#define GCMP_GCB_GICBA_BASE_MSK GCMPGCBMSK(GICBA_BASE, 15)
|
||||
#define GCMP_GCB_GICBA_EN_SHF 0
|
||||
#define GCMP_GCB_GICBA_EN_MSK GCMPGCBMSK(GICBA_EN, 1)
|
||||
#define GCMP_GCB_GICBA_BASE_SHF 17
|
||||
#define GCMP_GCB_GICBA_BASE_MSK GCMPGCBMSK(GICBA_BASE, 15)
|
||||
#define GCMP_GCB_GICBA_EN_SHF 0
|
||||
#define GCMP_GCB_GICBA_EN_MSK GCMPGCBMSK(GICBA_EN, 1)
|
||||
|
||||
/* GCB Regions */
|
||||
#define GCMP_GCB_CMxBASE_OFS(n) (0x0090+16*(n)) /* Global Region[0-3] Base Address */
|
||||
#define GCMP_GCB_CMxBASE_BASE_SHF 16
|
||||
#define GCMP_GCB_CMxBASE_BASE_MSK GCMPGCBMSK(CMxBASE_BASE, 16)
|
||||
#define GCMP_GCB_CMxBASE_BASE_SHF 16
|
||||
#define GCMP_GCB_CMxBASE_BASE_MSK GCMPGCBMSK(CMxBASE_BASE, 16)
|
||||
#define GCMP_GCB_CMxMASK_OFS(n) (0x0098+16*(n)) /* Global Region[0-3] Address Mask */
|
||||
#define GCMP_GCB_CMxMASK_MASK_SHF 16
|
||||
#define GCMP_GCB_CMxMASK_MASK_MSK GCMPGCBMSK(CMxMASK_MASK, 16)
|
||||
#define GCMP_GCB_CMxMASK_CMREGTGT_SHF 0
|
||||
#define GCMP_GCB_CMxMASK_CMREGTGT_MSK GCMPGCBMSK(CMxMASK_CMREGTGT, 2)
|
||||
#define GCMP_GCB_CMxMASK_CMREGTGT_MEM 0
|
||||
#define GCMP_GCB_CMxMASK_CMREGTGT_MEM1 1
|
||||
#define GCMP_GCB_CMxMASK_CMREGTGT_IOCU1 2
|
||||
#define GCMP_GCB_CMxMASK_CMREGTGT_IOCU2 3
|
||||
#define GCMP_GCB_CMxMASK_MASK_SHF 16
|
||||
#define GCMP_GCB_CMxMASK_MASK_MSK GCMPGCBMSK(CMxMASK_MASK, 16)
|
||||
#define GCMP_GCB_CMxMASK_CMREGTGT_SHF 0
|
||||
#define GCMP_GCB_CMxMASK_CMREGTGT_MSK GCMPGCBMSK(CMxMASK_CMREGTGT, 2)
|
||||
#define GCMP_GCB_CMxMASK_CMREGTGT_MEM 0
|
||||
#define GCMP_GCB_CMxMASK_CMREGTGT_MEM1 1
|
||||
#define GCMP_GCB_CMxMASK_CMREGTGT_IOCU1 2
|
||||
#define GCMP_GCB_CMxMASK_CMREGTGT_IOCU2 3
|
||||
|
||||
|
||||
/* Core local/Core other control block registers */
|
||||
#define GCMP_CCB_RESETR_OFS 0x0000 /* Reset Release */
|
||||
#define GCMP_CCB_RESETR_INRESET_SHF 0
|
||||
#define GCMP_CCB_RESETR_INRESET_MSK GCMPCCBMSK(RESETR_INRESET, 16)
|
||||
#define GCMP_CCB_RESETR_INRESET_SHF 0
|
||||
#define GCMP_CCB_RESETR_INRESET_MSK GCMPCCBMSK(RESETR_INRESET, 16)
|
||||
#define GCMP_CCB_COHCTL_OFS 0x0008 /* Coherence Control */
|
||||
#define GCMP_CCB_COHCTL_DOMAIN_SHF 0
|
||||
#define GCMP_CCB_COHCTL_DOMAIN_MSK GCMPCCBMSK(COHCTL_DOMAIN, 8)
|
||||
#define GCMP_CCB_COHCTL_DOMAIN_SHF 0
|
||||
#define GCMP_CCB_COHCTL_DOMAIN_MSK GCMPCCBMSK(COHCTL_DOMAIN, 8)
|
||||
#define GCMP_CCB_CFG_OFS 0x0010 /* Config */
|
||||
#define GCMP_CCB_CFG_IOCUTYPE_SHF 10
|
||||
#define GCMP_CCB_CFG_IOCUTYPE_MSK GCMPCCBMSK(CFG_IOCUTYPE, 2)
|
||||
#define GCMP_CCB_CFG_IOCUTYPE_CPU 0
|
||||
#define GCMP_CCB_CFG_IOCUTYPE_NCIOCU 1
|
||||
#define GCMP_CCB_CFG_IOCUTYPE_CIOCU 2
|
||||
#define GCMP_CCB_CFG_NUMVPE_SHF 0
|
||||
#define GCMP_CCB_CFG_NUMVPE_MSK GCMPCCBMSK(CFG_NUMVPE, 10)
|
||||
#define GCMP_CCB_CFG_IOCUTYPE_SHF 10
|
||||
#define GCMP_CCB_CFG_IOCUTYPE_MSK GCMPCCBMSK(CFG_IOCUTYPE, 2)
|
||||
#define GCMP_CCB_CFG_IOCUTYPE_CPU 0
|
||||
#define GCMP_CCB_CFG_IOCUTYPE_NCIOCU 1
|
||||
#define GCMP_CCB_CFG_IOCUTYPE_CIOCU 2
|
||||
#define GCMP_CCB_CFG_NUMVPE_SHF 0
|
||||
#define GCMP_CCB_CFG_NUMVPE_MSK GCMPCCBMSK(CFG_NUMVPE, 10)
|
||||
#define GCMP_CCB_OTHER_OFS 0x0018 /* Other Address */
|
||||
#define GCMP_CCB_OTHER_CORENUM_SHF 16
|
||||
#define GCMP_CCB_OTHER_CORENUM_MSK GCMPCCBMSK(OTHER_CORENUM, 16)
|
||||
#define GCMP_CCB_OTHER_CORENUM_SHF 16
|
||||
#define GCMP_CCB_OTHER_CORENUM_MSK GCMPCCBMSK(OTHER_CORENUM, 16)
|
||||
#define GCMP_CCB_RESETBASE_OFS 0x0020 /* Reset Exception Base */
|
||||
#define GCMP_CCB_RESETBASE_BEV_SHF 12
|
||||
#define GCMP_CCB_RESETBASE_BEV_MSK GCMPCCBMSK(RESETBASE_BEV, 20)
|
||||
#define GCMP_CCB_RESETBASE_BEV_SHF 12
|
||||
#define GCMP_CCB_RESETBASE_BEV_MSK GCMPCCBMSK(RESETBASE_BEV, 20)
|
||||
#define GCMP_CCB_ID_OFS 0x0028 /* Identification */
|
||||
#define GCMP_CCB_DINTGROUP_OFS 0x0030 /* DINT Group Participate */
|
||||
#define GCMP_CCB_DBGGROUP_OFS 0x0100 /* DebugBreak Group */
|
||||
|
@@ -66,7 +66,7 @@
|
||||
|
||||
/* Register Map for Shared Section */
|
||||
|
||||
#define GIC_SH_CONFIG_OFS 0x0000
|
||||
#define GIC_SH_CONFIG_OFS 0x0000
|
||||
|
||||
/* Shared Global Counter */
|
||||
#define GIC_SH_COUNTER_31_00_OFS 0x0010
|
||||
@@ -146,13 +146,13 @@
|
||||
#define GIC_SH_PEND_223_192_OFS 0x0498
|
||||
#define GIC_SH_PEND_255_224_OFS 0x049c
|
||||
|
||||
#define GIC_SH_INTR_MAP_TO_PIN_BASE_OFS 0x0500
|
||||
#define GIC_SH_INTR_MAP_TO_PIN_BASE_OFS 0x0500
|
||||
|
||||
/* Maps Interrupt X to a Pin */
|
||||
#define GIC_SH_MAP_TO_PIN(intr) \
|
||||
(GIC_SH_INTR_MAP_TO_PIN_BASE_OFS + (4 * intr))
|
||||
|
||||
#define GIC_SH_INTR_MAP_TO_VPE_BASE_OFS 0x2000
|
||||
#define GIC_SH_INTR_MAP_TO_VPE_BASE_OFS 0x2000
|
||||
|
||||
/* Maps Interrupt X to a VPE */
|
||||
#define GIC_SH_MAP_TO_VPE_REG_OFF(intr, vpe) \
|
||||
@@ -326,7 +326,7 @@ struct gic_intr_map {
|
||||
unsigned int polarity; /* Polarity : +/- */
|
||||
unsigned int trigtype; /* Trigger : Edge/Levl */
|
||||
unsigned int flags; /* Misc flags */
|
||||
#define GIC_FLAG_IPI 0x01
|
||||
#define GIC_FLAG_IPI 0x01
|
||||
#define GIC_FLAG_TRANSPARENT 0x02
|
||||
};
|
||||
|
||||
@@ -343,10 +343,10 @@ struct gic_shared_intr_map {
|
||||
|
||||
/* GIC nomenclature for Core Interrupt Pins. */
|
||||
#define GIC_CPU_INT0 0 /* Core Interrupt 2 */
|
||||
#define GIC_CPU_INT1 1 /* . */
|
||||
#define GIC_CPU_INT2 2 /* . */
|
||||
#define GIC_CPU_INT3 3 /* . */
|
||||
#define GIC_CPU_INT4 4 /* . */
|
||||
#define GIC_CPU_INT1 1 /* . */
|
||||
#define GIC_CPU_INT2 2 /* . */
|
||||
#define GIC_CPU_INT3 3 /* . */
|
||||
#define GIC_CPU_INT4 4 /* . */
|
||||
#define GIC_CPU_INT5 5 /* Core Interrupt 5 */
|
||||
|
||||
/* Local GIC interrupts. */
|
||||
|
@@ -6,15 +6,15 @@ struct gio_device_id {
|
||||
};
|
||||
|
||||
struct gio_device {
|
||||
struct device dev;
|
||||
struct device dev;
|
||||
struct resource resource;
|
||||
unsigned int irq;
|
||||
unsigned int slotno;
|
||||
unsigned int irq;
|
||||
unsigned int slotno;
|
||||
|
||||
const char *name;
|
||||
const char *name;
|
||||
struct gio_device_id id;
|
||||
unsigned id32:1;
|
||||
unsigned gio64:1;
|
||||
unsigned id32:1;
|
||||
unsigned gio64:1;
|
||||
};
|
||||
#define to_gio_device(d) container_of(d, struct gio_device, dev)
|
||||
|
||||
@@ -50,7 +50,7 @@ static inline void gio_device_free(struct gio_device *dev)
|
||||
extern int gio_register_driver(struct gio_driver *);
|
||||
extern void gio_unregister_driver(struct gio_driver *);
|
||||
|
||||
#define gio_get_drvdata(_dev) drv_get_drvdata(&(_dev)->dev)
|
||||
#define gio_get_drvdata(_dev) drv_get_drvdata(&(_dev)->dev)
|
||||
#define gio_set_drvdata(_dev, data) drv_set_drvdata(&(_dev)->dev, (data))
|
||||
|
||||
extern void gio_set_master(struct gio_device *);
|
||||
|
@@ -34,7 +34,7 @@
|
||||
|
||||
#define GT_MULTI_OFS 0x120
|
||||
|
||||
/* CPU Address Decode. */
|
||||
/* CPU Address Decode. */
|
||||
#define GT_SCS10LD_OFS 0x008
|
||||
#define GT_SCS10HD_OFS 0x010
|
||||
#define GT_SCS32LD_OFS 0x018
|
||||
@@ -106,12 +106,12 @@
|
||||
|
||||
#define GT_ADERR_OFS 0x470
|
||||
|
||||
/* SDRAM Configuration. */
|
||||
/* SDRAM Configuration. */
|
||||
#define GT_SDRAM_CFG_OFS 0x448
|
||||
|
||||
#define GT_SDRAM_OPMODE_OFS 0x474
|
||||
#define GT_SDRAM_BM_OFS 0x478
|
||||
#define GT_SDRAM_ADDRDECODE_OFS 0x47c
|
||||
#define GT_SDRAM_ADDRDECODE_OFS 0x47c
|
||||
|
||||
/* SDRAM Parameters. */
|
||||
#define GT_SDRAM_B0_OFS 0x44c
|
||||
@@ -126,14 +126,14 @@
|
||||
#define GT_DEV_B3_OFS 0x468
|
||||
#define GT_DEV_BOOT_OFS 0x46c
|
||||
|
||||
/* ECC. */
|
||||
/* ECC. */
|
||||
#define GT_ECC_ERRDATALO 0x480 /* GT-64120A only */
|
||||
#define GT_ECC_ERRDATAHI 0x484 /* GT-64120A only */
|
||||
#define GT_ECC_MEM 0x488 /* GT-64120A only */
|
||||
#define GT_ECC_CALC 0x48c /* GT-64120A only */
|
||||
#define GT_ECC_ERRADDR 0x490 /* GT-64120A only */
|
||||
|
||||
/* DMA Record. */
|
||||
/* DMA Record. */
|
||||
#define GT_DMA0_CNT_OFS 0x800
|
||||
#define GT_DMA1_CNT_OFS 0x804
|
||||
#define GT_DMA2_CNT_OFS 0x808
|
||||
@@ -156,13 +156,13 @@
|
||||
#define GT_DMA2_CUR_OFS 0x878
|
||||
#define GT_DMA3_CUR_OFS 0x87c
|
||||
|
||||
/* DMA Channel Control. */
|
||||
/* DMA Channel Control. */
|
||||
#define GT_DMA0_CTRL_OFS 0x840
|
||||
#define GT_DMA1_CTRL_OFS 0x844
|
||||
#define GT_DMA2_CTRL_OFS 0x848
|
||||
#define GT_DMA3_CTRL_OFS 0x84c
|
||||
|
||||
/* DMA Arbiter. */
|
||||
/* DMA Arbiter. */
|
||||
#define GT_DMA_ARB_OFS 0x860
|
||||
|
||||
/* Timer/Counter. */
|
||||
@@ -220,7 +220,7 @@
|
||||
#define GT_PCI0_CFGADDR_OFS 0xcf8
|
||||
#define GT_PCI0_CFGDATA_OFS 0xcfc
|
||||
|
||||
/* Interrupts. */
|
||||
/* Interrupts. */
|
||||
#define GT_INTRCAUSE_OFS 0xc18
|
||||
#define GT_INTRMASK_OFS 0xc1c
|
||||
|
||||
@@ -547,15 +547,15 @@
|
||||
#define GT_DEF_BASE 0x14000000UL
|
||||
|
||||
#define GT_MAX_BANKSIZE (256 * 1024 * 1024) /* Max 256MB bank */
|
||||
#define GT_LATTIM_MIN 6 /* Minimum lat */
|
||||
#define GT_LATTIM_MIN 6 /* Minimum lat */
|
||||
|
||||
/*
|
||||
* The gt64120_dep.h file must define the following macros
|
||||
*
|
||||
* GT_READ(ofs, data_pointer)
|
||||
* GT_WRITE(ofs, data) - read/write GT64120 registers in 32bit
|
||||
* GT_WRITE(ofs, data) - read/write GT64120 registers in 32bit
|
||||
*
|
||||
* TIMER - gt64120 timer irq, temporary solution until
|
||||
* TIMER - gt64120 timer irq, temporary solution until
|
||||
* full gt64120 cascade interrupt support is in place
|
||||
*/
|
||||
|
||||
|
@@ -25,7 +25,7 @@ static inline void name(void) \
|
||||
}
|
||||
|
||||
/*
|
||||
* MIPS R2 instruction hazard barrier. Needs to be called as a subroutine.
|
||||
* MIPS R2 instruction hazard barrier. Needs to be called as a subroutine.
|
||||
*/
|
||||
extern void mips_ihb(void);
|
||||
|
||||
@@ -68,7 +68,7 @@ ASMMACRO(back_to_back_c0_hazard,
|
||||
)
|
||||
/*
|
||||
* gcc has a tradition of misscompiling the previous construct using the
|
||||
* address of a label as argument to inline assembler. Gas otoh has the
|
||||
* address of a label as argument to inline assembler. Gas otoh has the
|
||||
* annoying difference between la and dla which are only usable for 32-bit
|
||||
* rsp. 64-bit code, so can't be used without conditional compilation.
|
||||
* The alterantive is switching the assembler to 64-bit code which happens
|
||||
@@ -114,7 +114,7 @@ ASMMACRO(back_to_back_c0_hazard,
|
||||
)
|
||||
/*
|
||||
* gcc has a tradition of misscompiling the previous construct using the
|
||||
* address of a label as argument to inline assembler. Gas otoh has the
|
||||
* address of a label as argument to inline assembler. Gas otoh has the
|
||||
* annoying difference between la and dla which are only usable for 32-bit
|
||||
* rsp. 64-bit code, so can't be used without conditional compilation.
|
||||
* The alterantive is switching the assembler to 64-bit code which happens
|
||||
|
@@ -39,8 +39,8 @@ extern pte_t *pkmap_page_table;
|
||||
*/
|
||||
#define LAST_PKMAP 1024
|
||||
#define LAST_PKMAP_MASK (LAST_PKMAP-1)
|
||||
#define PKMAP_NR(virt) ((virt-PKMAP_BASE) >> PAGE_SHIFT)
|
||||
#define PKMAP_ADDR(nr) (PKMAP_BASE + ((nr) << PAGE_SHIFT))
|
||||
#define PKMAP_NR(virt) ((virt-PKMAP_BASE) >> PAGE_SHIFT)
|
||||
#define PKMAP_ADDR(nr) (PKMAP_BASE + ((nr) << PAGE_SHIFT))
|
||||
|
||||
extern void * kmap_high(struct page *page);
|
||||
extern void kunmap_high(struct page *page);
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Copyright (C) 1994 - 2000, 06 Ralf Baechle
|
||||
* Copyright (C) 1999, 2000 Silicon Graphics, Inc.
|
||||
* Copyright (C) 2004, 2005 MIPS Technologies, Inc. All rights reserved.
|
||||
* Author: Maciej W. Rozycki <macro@mips.com>
|
||||
* Author: Maciej W. Rozycki <macro@mips.com>
|
||||
*/
|
||||
#ifndef _ASM_IO_H
|
||||
#define _ASM_IO_H
|
||||
@@ -253,9 +253,9 @@ static inline void __iomem * __ioremap_mode(phys_t offset, unsigned long size,
|
||||
__ioremap_mode((offset), (size), _CACHE_UNCACHED)
|
||||
|
||||
/*
|
||||
* ioremap_cachable - map bus memory into CPU space
|
||||
* @offset: bus address of the memory
|
||||
* @size: size of the resource to map
|
||||
* ioremap_cachable - map bus memory into CPU space
|
||||
* @offset: bus address of the memory
|
||||
* @size: size of the resource to map
|
||||
*
|
||||
* ioremap_nocache performs a platform specific sequence of operations to
|
||||
* make bus memory CPU accessible via the readb/readw/readl/writeb/
|
||||
@@ -264,14 +264,14 @@ static inline void __iomem * __ioremap_mode(phys_t offset, unsigned long size,
|
||||
* address.
|
||||
*
|
||||
* This version of ioremap ensures that the memory is marked cachable by
|
||||
* the CPU. Also enables full write-combining. Useful for some
|
||||
* the CPU. Also enables full write-combining. Useful for some
|
||||
* memory-like regions on I/O busses.
|
||||
*/
|
||||
#define ioremap_cachable(offset, size) \
|
||||
__ioremap_mode((offset), (size), _page_cachable_default)
|
||||
|
||||
/*
|
||||
* These two are MIPS specific ioremap variant. ioremap_cacheable_cow
|
||||
* These two are MIPS specific ioremap variant. ioremap_cacheable_cow
|
||||
* requests a cachable mapping, ioremap_uncached_accelerated requests a
|
||||
* mapping using the uncached accelerated mode which isn't supported on
|
||||
* all processors.
|
||||
@@ -298,7 +298,7 @@ static inline void iounmap(const volatile void __iomem *addr)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_CPU_CAVIUM_OCTEON
|
||||
#define war_octeon_io_reorder_wmb() wmb()
|
||||
#define war_octeon_io_reorder_wmb() wmb()
|
||||
#else
|
||||
#define war_octeon_io_reorder_wmb() do { } while (0)
|
||||
#endif
|
||||
@@ -317,7 +317,7 @@ static inline void pfx##write##bwlq(type val, \
|
||||
\
|
||||
__val = pfx##ioswab##bwlq(__mem, val); \
|
||||
\
|
||||
if (sizeof(type) != sizeof(u64) || sizeof(u64) == sizeof(long)) \
|
||||
if (sizeof(type) != sizeof(u64) || sizeof(u64) == sizeof(long)) \
|
||||
*__mem = __val; \
|
||||
else if (cpu_has_64bits) { \
|
||||
unsigned long __flags; \
|
||||
@@ -327,9 +327,9 @@ static inline void pfx##write##bwlq(type val, \
|
||||
local_irq_save(__flags); \
|
||||
__asm__ __volatile__( \
|
||||
".set mips3" "\t\t# __writeq""\n\t" \
|
||||
"dsll32 %L0, %L0, 0" "\n\t" \
|
||||
"dsrl32 %L0, %L0, 0" "\n\t" \
|
||||
"dsll32 %M0, %M0, 0" "\n\t" \
|
||||
"dsll32 %L0, %L0, 0" "\n\t" \
|
||||
"dsrl32 %L0, %L0, 0" "\n\t" \
|
||||
"dsll32 %M0, %M0, 0" "\n\t" \
|
||||
"or %L0, %L0, %M0" "\n\t" \
|
||||
"sd %L0, %2" "\n\t" \
|
||||
".set mips0" "\n" \
|
||||
@@ -348,7 +348,7 @@ static inline type pfx##read##bwlq(const volatile void __iomem *mem) \
|
||||
\
|
||||
__mem = (void *)__swizzle_addr_##bwlq((unsigned long)(mem)); \
|
||||
\
|
||||
if (sizeof(type) != sizeof(u64) || sizeof(u64) == sizeof(long)) \
|
||||
if (sizeof(type) != sizeof(u64) || sizeof(u64) == sizeof(long)) \
|
||||
__val = *__mem; \
|
||||
else if (cpu_has_64bits) { \
|
||||
unsigned long __flags; \
|
||||
@@ -356,9 +356,9 @@ static inline type pfx##read##bwlq(const volatile void __iomem *mem) \
|
||||
if (irq) \
|
||||
local_irq_save(__flags); \
|
||||
__asm__ __volatile__( \
|
||||
".set mips3" "\t\t# __readq" "\n\t" \
|
||||
".set mips3" "\t\t# __readq" "\n\t" \
|
||||
"ld %L0, %1" "\n\t" \
|
||||
"dsra32 %M0, %L0, 0" "\n\t" \
|
||||
"dsra32 %M0, %L0, 0" "\n\t" \
|
||||
"sll %L0, %L0, 0" "\n\t" \
|
||||
".set mips0" "\n" \
|
||||
: "=r" (__val) \
|
||||
@@ -586,7 +586,7 @@ extern void (*_dma_cache_inv)(unsigned long start, unsigned long size);
|
||||
|
||||
#else /* Sane hardware */
|
||||
|
||||
#define dma_cache_wback_inv(start,size) \
|
||||
#define dma_cache_wback_inv(start,size) \
|
||||
do { (void) (start); (void) (size); } while (0)
|
||||
#define dma_cache_wback(start,size) \
|
||||
do { (void) (start); (void) (size); } while (0)
|
||||
|
@@ -74,7 +74,7 @@ struct sgi_crime {
|
||||
#define CRIME_RE_IDLE_E_INT BIT(24)
|
||||
#define CRIME_RE_EMPTY_L_INT BIT(25)
|
||||
#define CRIME_RE_FULL_L_INT BIT(26)
|
||||
#define CRIME_RE_IDLE_L_INT BIT(27)
|
||||
#define CRIME_RE_IDLE_L_INT BIT(27)
|
||||
#define CRIME_SOFT0_INT BIT(28)
|
||||
#define CRIME_SOFT1_INT BIT(29)
|
||||
#define CRIME_SOFT2_INT BIT(30)
|
||||
@@ -118,7 +118,7 @@ struct sgi_crime {
|
||||
#define CRIME_MEM_REF_COUNTER_MASK 0x3ff /* 10bit */
|
||||
|
||||
volatile unsigned long mem_error_stat;
|
||||
#define CRIME_MEM_ERROR_STAT_MASK 0x0ff7ffff /* 28-bit register */
|
||||
#define CRIME_MEM_ERROR_STAT_MASK 0x0ff7ffff /* 28-bit register */
|
||||
#define CRIME_MEM_ERROR_MACE_ID 0x0000007f
|
||||
#define CRIME_MEM_ERROR_MACE_ACCESS 0x00000080
|
||||
#define CRIME_MEM_ERROR_RE_ID 0x00007f00
|
||||
@@ -134,8 +134,8 @@ struct sgi_crime {
|
||||
#define CRIME_MEM_ERROR_MEM_ECC_RD 0x00800000
|
||||
#define CRIME_MEM_ERROR_MEM_ECC_RMW 0x01000000
|
||||
#define CRIME_MEM_ERROR_INV 0x0e000000
|
||||
#define CRIME_MEM_ERROR_INV_MEM_ADDR_RD 0x02000000
|
||||
#define CRIME_MEM_ERROR_INV_MEM_ADDR_WR 0x04000000
|
||||
#define CRIME_MEM_ERROR_INV_MEM_ADDR_RD 0x02000000
|
||||
#define CRIME_MEM_ERROR_INV_MEM_ADDR_WR 0x04000000
|
||||
#define CRIME_MEM_ERROR_INV_MEM_ADDR_RMW 0x08000000
|
||||
|
||||
volatile unsigned long mem_error_addr;
|
||||
|
@@ -13,7 +13,7 @@
|
||||
|
||||
/*
|
||||
* This list reflects the assignment of interrupt numbers to
|
||||
* interrupting events. Order is fairly irrelevant to handling
|
||||
* interrupting events. Order is fairly irrelevant to handling
|
||||
* priority. This differs from irix.
|
||||
*/
|
||||
|
||||
|
@@ -250,12 +250,12 @@ struct mace_ps2 {
|
||||
* -> drivers/i2c/algos/i2c-algo-sgi.c */
|
||||
struct mace_i2c {
|
||||
volatile unsigned long config;
|
||||
#define MACEI2C_RESET BIT(0)
|
||||
#define MACEI2C_FAST BIT(1)
|
||||
#define MACEI2C_DATA_OVERRIDE BIT(2)
|
||||
#define MACEI2C_CLOCK_OVERRIDE BIT(3)
|
||||
#define MACEI2C_DATA_STATUS BIT(4)
|
||||
#define MACEI2C_CLOCK_STATUS BIT(5)
|
||||
#define MACEI2C_RESET BIT(0)
|
||||
#define MACEI2C_FAST BIT(1)
|
||||
#define MACEI2C_DATA_OVERRIDE BIT(2)
|
||||
#define MACEI2C_CLOCK_OVERRIDE BIT(3)
|
||||
#define MACEI2C_DATA_STATUS BIT(4)
|
||||
#define MACEI2C_CLOCK_STATUS BIT(5)
|
||||
volatile unsigned long control;
|
||||
volatile unsigned long data;
|
||||
};
|
||||
|
@@ -32,7 +32,7 @@ struct irqaction;
|
||||
|
||||
extern unsigned long irq_hwmask[];
|
||||
extern int setup_irq_smtc(unsigned int irq, struct irqaction * new,
|
||||
unsigned long hwmask);
|
||||
unsigned long hwmask);
|
||||
|
||||
static inline void smtc_im_ack_irq(unsigned int irq)
|
||||
{
|
||||
@@ -60,7 +60,7 @@ extern void smtc_forward_irq(struct irq_data *d);
|
||||
* if option is enabled.
|
||||
*
|
||||
* Up through Linux 2.6.22 (at least) cpumask operations are very
|
||||
* inefficient on MIPS. Initial prototypes of SMTC IRQ affinity
|
||||
* inefficient on MIPS. Initial prototypes of SMTC IRQ affinity
|
||||
* used a "fast path" per-IRQ-descriptor cache of affinity information
|
||||
* to reduce latency. As there is a project afoot to optimize the
|
||||
* cpumask implementations, this version is optimistically assuming
|
||||
@@ -133,7 +133,7 @@ extern void free_irqno(unsigned int irq);
|
||||
|
||||
/*
|
||||
* Before R2 the timer and performance counter interrupts were both fixed to
|
||||
* IE7. Since R2 their number has to be read from the c0_intctl register.
|
||||
* IE7. Since R2 their number has to be read from the c0_intctl register.
|
||||
*/
|
||||
#define CP0_LEGACY_COMPARE_IRQ 7
|
||||
#define CP0_LEGACY_PERFCNT_IRQ 7
|
||||
|
@@ -18,7 +18,7 @@
|
||||
* kernel or user mode? (CP0_STATUS)
|
||||
*/
|
||||
#define KU_MASK 0x08
|
||||
#define KU_USER 0x08
|
||||
#define KU_USER 0x08
|
||||
#define KU_KERN 0x00
|
||||
|
||||
#else
|
||||
@@ -26,7 +26,7 @@
|
||||
* kernel or user mode?
|
||||
*/
|
||||
#define KU_MASK 0x18
|
||||
#define KU_USER 0x10
|
||||
#define KU_USER 0x10
|
||||
#define KU_KERN 0x00
|
||||
|
||||
#endif
|
||||
|
@@ -16,7 +16,7 @@
|
||||
* instead of 0xe0000000.
|
||||
*/
|
||||
|
||||
#define JAZZ_LOCAL_IO_SPACE 0xe0000000
|
||||
#define JAZZ_LOCAL_IO_SPACE 0xe0000000
|
||||
|
||||
/*
|
||||
* Revision numbers in PICA_ASIC_REVISION
|
||||
@@ -25,24 +25,24 @@
|
||||
* 0xf0000001 - Rev2
|
||||
* 0xf0000002 - Rev3
|
||||
*/
|
||||
#define PICA_ASIC_REVISION 0xe0000008
|
||||
#define PICA_ASIC_REVISION 0xe0000008
|
||||
|
||||
/*
|
||||
* The segments of the seven segment LED are mapped
|
||||
* to the control bits as follows:
|
||||
*
|
||||
* (7)
|
||||
* ---------
|
||||
* | |
|
||||
* (2) | | (6)
|
||||
* | (1) |
|
||||
* ---------
|
||||
* | |
|
||||
* (3) | | (5)
|
||||
* | (4) |
|
||||
* --------- . (0)
|
||||
* (7)
|
||||
* ---------
|
||||
* | |
|
||||
* (2) | | (6)
|
||||
* | (1) |
|
||||
* ---------
|
||||
* | |
|
||||
* (3) | | (5)
|
||||
* | (4) |
|
||||
* --------- . (0)
|
||||
*/
|
||||
#define PICA_LED 0xe000f000
|
||||
#define PICA_LED 0xe000f000
|
||||
|
||||
/*
|
||||
* Some characters for the LED control registers
|
||||
@@ -51,24 +51,24 @@
|
||||
* control each of the seven segments and the dot independently.
|
||||
* It's only a toy, anyway...
|
||||
*/
|
||||
#define LED_DOT 0x01
|
||||
#define LED_SPACE 0x00
|
||||
#define LED_0 0xfc
|
||||
#define LED_1 0x60
|
||||
#define LED_2 0xda
|
||||
#define LED_3 0xf2
|
||||
#define LED_4 0x66
|
||||
#define LED_5 0xb6
|
||||
#define LED_6 0xbe
|
||||
#define LED_7 0xe0
|
||||
#define LED_8 0xfe
|
||||
#define LED_9 0xf6
|
||||
#define LED_A 0xee
|
||||
#define LED_b 0x3e
|
||||
#define LED_C 0x9c
|
||||
#define LED_d 0x7a
|
||||
#define LED_E 0x9e
|
||||
#define LED_F 0x8e
|
||||
#define LED_DOT 0x01
|
||||
#define LED_SPACE 0x00
|
||||
#define LED_0 0xfc
|
||||
#define LED_1 0x60
|
||||
#define LED_2 0xda
|
||||
#define LED_3 0xf2
|
||||
#define LED_4 0x66
|
||||
#define LED_5 0xb6
|
||||
#define LED_6 0xbe
|
||||
#define LED_7 0xe0
|
||||
#define LED_8 0xfe
|
||||
#define LED_9 0xf6
|
||||
#define LED_A 0xee
|
||||
#define LED_b 0x3e
|
||||
#define LED_C 0x9c
|
||||
#define LED_d 0x7a
|
||||
#define LED_E 0x9e
|
||||
#define LED_F 0x8e
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
@@ -96,9 +96,9 @@ static __inline__ void pica_set_led(unsigned int bits)
|
||||
* This address is just a guess and seems to differ from
|
||||
* other mips machines such as RC3xxx...
|
||||
*/
|
||||
#define JAZZ_KEYBOARD_ADDRESS 0xe0005000
|
||||
#define JAZZ_KEYBOARD_DATA 0xe0005000
|
||||
#define JAZZ_KEYBOARD_COMMAND 0xe0005001
|
||||
#define JAZZ_KEYBOARD_ADDRESS 0xe0005000
|
||||
#define JAZZ_KEYBOARD_DATA 0xe0005000
|
||||
#define JAZZ_KEYBOARD_COMMAND 0xe0005001
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
@@ -119,28 +119,28 @@ typedef struct {
|
||||
/*
|
||||
* For now. Needs to be changed for RC3xxx support. See below.
|
||||
*/
|
||||
#define keyboard_hardware jazz_keyboard_hardware
|
||||
#define keyboard_hardware jazz_keyboard_hardware
|
||||
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
/*
|
||||
* i8042 keyboard controller for most other Mips machines.
|
||||
*/
|
||||
#define MIPS_KEYBOARD_ADDRESS 0xb9005000
|
||||
#define MIPS_KEYBOARD_DATA 0xb9005003
|
||||
#define MIPS_KEYBOARD_COMMAND 0xb9005007
|
||||
#define MIPS_KEYBOARD_ADDRESS 0xb9005000
|
||||
#define MIPS_KEYBOARD_DATA 0xb9005003
|
||||
#define MIPS_KEYBOARD_COMMAND 0xb9005007
|
||||
|
||||
/*
|
||||
* Serial and parallel ports (WD 16C552) on the Mips JAZZ
|
||||
*/
|
||||
#define JAZZ_SERIAL1_BASE (unsigned int)0xe0006000
|
||||
#define JAZZ_SERIAL2_BASE (unsigned int)0xe0007000
|
||||
#define JAZZ_PARALLEL_BASE (unsigned int)0xe0008000
|
||||
#define JAZZ_SERIAL1_BASE (unsigned int)0xe0006000
|
||||
#define JAZZ_SERIAL2_BASE (unsigned int)0xe0007000
|
||||
#define JAZZ_PARALLEL_BASE (unsigned int)0xe0008000
|
||||
|
||||
/*
|
||||
* Dummy Device Address. Used in jazzdma.c
|
||||
*/
|
||||
#define JAZZ_DUMMY_DEVICE 0xe000d000
|
||||
#define JAZZ_DUMMY_DEVICE 0xe000d000
|
||||
|
||||
/*
|
||||
* JAZZ timer registers and interrupt no.
|
||||
@@ -148,8 +148,8 @@ typedef struct {
|
||||
* cpu level 6, but to keep compatibility with PC stuff
|
||||
* it is remapped to vector 0. See arch/mips/kernel/entry.S.
|
||||
*/
|
||||
#define JAZZ_TIMER_INTERVAL 0xe0000228
|
||||
#define JAZZ_TIMER_REGISTER 0xe0000230
|
||||
#define JAZZ_TIMER_INTERVAL 0xe0000228
|
||||
#define JAZZ_TIMER_REGISTER 0xe0000230
|
||||
|
||||
/*
|
||||
* DRAM configuration register
|
||||
@@ -176,13 +176,13 @@ typedef struct {
|
||||
#endif
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
#define PICA_DRAM_CONFIG 0xe00fffe0
|
||||
#define PICA_DRAM_CONFIG 0xe00fffe0
|
||||
|
||||
/*
|
||||
* JAZZ interrupt control registers
|
||||
*/
|
||||
#define JAZZ_IO_IRQ_SOURCE 0xe0010000
|
||||
#define JAZZ_IO_IRQ_ENABLE 0xe0010002
|
||||
#define JAZZ_IO_IRQ_SOURCE 0xe0010000
|
||||
#define JAZZ_IO_IRQ_ENABLE 0xe0010002
|
||||
|
||||
/*
|
||||
* JAZZ Interrupt Level definitions
|
||||
@@ -190,20 +190,20 @@ typedef struct {
|
||||
* This is somewhat broken. For reasons which nobody can remember anymore
|
||||
* we remap the Jazz interrupts to the usual ISA style interrupt numbers.
|
||||
*/
|
||||
#define JAZZ_IRQ_START 24
|
||||
#define JAZZ_IRQ_END (24 + 9)
|
||||
#define JAZZ_PARALLEL_IRQ (JAZZ_IRQ_START + 0)
|
||||
#define JAZZ_FLOPPY_IRQ (JAZZ_IRQ_START + 1)
|
||||
#define JAZZ_SOUND_IRQ (JAZZ_IRQ_START + 2)
|
||||
#define JAZZ_VIDEO_IRQ (JAZZ_IRQ_START + 3)
|
||||
#define JAZZ_ETHERNET_IRQ (JAZZ_IRQ_START + 4)
|
||||
#define JAZZ_SCSI_IRQ (JAZZ_IRQ_START + 5)
|
||||
#define JAZZ_KEYBOARD_IRQ (JAZZ_IRQ_START + 6)
|
||||
#define JAZZ_MOUSE_IRQ (JAZZ_IRQ_START + 7)
|
||||
#define JAZZ_SERIAL1_IRQ (JAZZ_IRQ_START + 8)
|
||||
#define JAZZ_SERIAL2_IRQ (JAZZ_IRQ_START + 9)
|
||||
#define JAZZ_IRQ_START 24
|
||||
#define JAZZ_IRQ_END (24 + 9)
|
||||
#define JAZZ_PARALLEL_IRQ (JAZZ_IRQ_START + 0)
|
||||
#define JAZZ_FLOPPY_IRQ (JAZZ_IRQ_START + 1)
|
||||
#define JAZZ_SOUND_IRQ (JAZZ_IRQ_START + 2)
|
||||
#define JAZZ_VIDEO_IRQ (JAZZ_IRQ_START + 3)
|
||||
#define JAZZ_ETHERNET_IRQ (JAZZ_IRQ_START + 4)
|
||||
#define JAZZ_SCSI_IRQ (JAZZ_IRQ_START + 5)
|
||||
#define JAZZ_KEYBOARD_IRQ (JAZZ_IRQ_START + 6)
|
||||
#define JAZZ_MOUSE_IRQ (JAZZ_IRQ_START + 7)
|
||||
#define JAZZ_SERIAL1_IRQ (JAZZ_IRQ_START + 8)
|
||||
#define JAZZ_SERIAL2_IRQ (JAZZ_IRQ_START + 9)
|
||||
|
||||
#define JAZZ_TIMER_IRQ (MIPS_CPU_IRQ_BASE+6)
|
||||
#define JAZZ_TIMER_IRQ (MIPS_CPU_IRQ_BASE+6)
|
||||
|
||||
|
||||
/*
|
||||
@@ -211,46 +211,46 @@ typedef struct {
|
||||
* Note: Channels 4...7 are not used with respect to the Acer PICA-61
|
||||
* chipset which does not provide these DMA channels.
|
||||
*/
|
||||
#define JAZZ_SCSI_DMA 0 /* SCSI */
|
||||
#define JAZZ_FLOPPY_DMA 1 /* FLOPPY */
|
||||
#define JAZZ_AUDIOL_DMA 2 /* AUDIO L */
|
||||
#define JAZZ_AUDIOR_DMA 3 /* AUDIO R */
|
||||
#define JAZZ_SCSI_DMA 0 /* SCSI */
|
||||
#define JAZZ_FLOPPY_DMA 1 /* FLOPPY */
|
||||
#define JAZZ_AUDIOL_DMA 2 /* AUDIO L */
|
||||
#define JAZZ_AUDIOR_DMA 3 /* AUDIO R */
|
||||
|
||||
/*
|
||||
* JAZZ R4030 MCT_ADR chip (DMA controller)
|
||||
* Note: Virtual Addresses !
|
||||
*/
|
||||
#define JAZZ_R4030_CONFIG 0xE0000000 /* R4030 config register */
|
||||
#define JAZZ_R4030_REVISION 0xE0000008 /* same as PICA_ASIC_REVISION */
|
||||
#define JAZZ_R4030_REVISION 0xE0000008 /* same as PICA_ASIC_REVISION */
|
||||
#define JAZZ_R4030_INV_ADDR 0xE0000010 /* Invalid Address register */
|
||||
|
||||
#define JAZZ_R4030_TRSTBL_BASE 0xE0000018 /* Translation Table Base */
|
||||
#define JAZZ_R4030_TRSTBL_LIM 0xE0000020 /* Translation Table Limit */
|
||||
#define JAZZ_R4030_TRSTBL_INV 0xE0000028 /* Translation Table Invalidate */
|
||||
#define JAZZ_R4030_TRSTBL_BASE 0xE0000018 /* Translation Table Base */
|
||||
#define JAZZ_R4030_TRSTBL_LIM 0xE0000020 /* Translation Table Limit */
|
||||
#define JAZZ_R4030_TRSTBL_INV 0xE0000028 /* Translation Table Invalidate */
|
||||
|
||||
#define JAZZ_R4030_CACHE_MTNC 0xE0000030 /* Cache Maintenance */
|
||||
#define JAZZ_R4030_R_FAIL_ADDR 0xE0000038 /* Remote Failed Address */
|
||||
#define JAZZ_R4030_M_FAIL_ADDR 0xE0000040 /* Memory Failed Address */
|
||||
#define JAZZ_R4030_CACHE_MTNC 0xE0000030 /* Cache Maintenance */
|
||||
#define JAZZ_R4030_R_FAIL_ADDR 0xE0000038 /* Remote Failed Address */
|
||||
#define JAZZ_R4030_M_FAIL_ADDR 0xE0000040 /* Memory Failed Address */
|
||||
|
||||
#define JAZZ_R4030_CACHE_PTAG 0xE0000048 /* I/O Cache Physical Tag */
|
||||
#define JAZZ_R4030_CACHE_LTAG 0xE0000050 /* I/O Cache Logical Tag */
|
||||
#define JAZZ_R4030_CACHE_BMASK 0xE0000058 /* I/O Cache Byte Mask */
|
||||
#define JAZZ_R4030_CACHE_BWIN 0xE0000060 /* I/O Cache Buffer Window */
|
||||
#define JAZZ_R4030_CACHE_PTAG 0xE0000048 /* I/O Cache Physical Tag */
|
||||
#define JAZZ_R4030_CACHE_LTAG 0xE0000050 /* I/O Cache Logical Tag */
|
||||
#define JAZZ_R4030_CACHE_BMASK 0xE0000058 /* I/O Cache Byte Mask */
|
||||
#define JAZZ_R4030_CACHE_BWIN 0xE0000060 /* I/O Cache Buffer Window */
|
||||
|
||||
/*
|
||||
* Remote Speed Registers.
|
||||
*
|
||||
* 0: free, 1: Ethernet, 2: SCSI, 3: Floppy,
|
||||
* 4: RTC, 5: Kb./Mouse 6: serial 1, 7: serial 2,
|
||||
* 8: parallel, 9: NVRAM, 10: CPU, 11: PROM,
|
||||
* 0: free, 1: Ethernet, 2: SCSI, 3: Floppy,
|
||||
* 4: RTC, 5: Kb./Mouse 6: serial 1, 7: serial 2,
|
||||
* 8: parallel, 9: NVRAM, 10: CPU, 11: PROM,
|
||||
* 12: reserved, 13: free, 14: 7seg LED, 15: ???
|
||||
*/
|
||||
#define JAZZ_R4030_REM_SPEED 0xE0000070 /* 16 Remote Speed Registers */
|
||||
/* 0xE0000070,78,80... 0xE00000E8 */
|
||||
#define JAZZ_R4030_IRQ_ENABLE 0xE00000E8 /* Internal Interrupt Enable */
|
||||
#define JAZZ_R4030_INVAL_ADDR 0xE0000010 /* Invalid address Register */
|
||||
#define JAZZ_R4030_IRQ_SOURCE 0xE0000200 /* Interrupt Source Register */
|
||||
#define JAZZ_R4030_I386_ERROR 0xE0000208 /* i386/EISA Bus Error */
|
||||
#define JAZZ_R4030_IRQ_ENABLE 0xE00000E8 /* Internal Interrupt Enable */
|
||||
#define JAZZ_R4030_INVAL_ADDR 0xE0000010 /* Invalid address Register */
|
||||
#define JAZZ_R4030_IRQ_SOURCE 0xE0000200 /* Interrupt Source Register */
|
||||
#define JAZZ_R4030_I386_ERROR 0xE0000208 /* i386/EISA Bus Error */
|
||||
|
||||
/*
|
||||
* Virtual (E)ISA controller address
|
||||
|
@@ -10,7 +10,7 @@
|
||||
extern unsigned long vdma_alloc(unsigned long paddr, unsigned long size);
|
||||
extern int vdma_free(unsigned long laddr);
|
||||
extern int vdma_remap(unsigned long laddr, unsigned long paddr,
|
||||
unsigned long size);
|
||||
unsigned long size);
|
||||
extern unsigned long vdma_phys2log(unsigned long paddr);
|
||||
extern unsigned long vdma_log2phys(unsigned long laddr);
|
||||
extern void vdma_stats(void); /* for debugging only */
|
||||
@@ -35,14 +35,14 @@ extern int vdma_get_enable(int channel);
|
||||
* Macros to get page no. and offset of a given address
|
||||
* Note that VDMA_PAGE() works for physical addresses only
|
||||
*/
|
||||
#define VDMA_PAGE(a) ((unsigned int)(a) >> 12)
|
||||
#define VDMA_OFFSET(a) ((unsigned int)(a) & (VDMA_PAGESIZE-1))
|
||||
#define VDMA_PAGE(a) ((unsigned int)(a) >> 12)
|
||||
#define VDMA_OFFSET(a) ((unsigned int)(a) & (VDMA_PAGESIZE-1))
|
||||
|
||||
/*
|
||||
* error code returned by vdma_alloc()
|
||||
* (See also arch/mips/kernel/jazzdma.c)
|
||||
*/
|
||||
#define VDMA_ERROR 0xffffffff
|
||||
#define VDMA_ERROR 0xffffffff
|
||||
|
||||
/*
|
||||
* VDMA pagetable entry description
|
||||
@@ -59,37 +59,37 @@ typedef volatile struct VDMA_PGTBL_ENTRY {
|
||||
*/
|
||||
#define JAZZ_R4030_CHNL_MODE 0xE0000100 /* 8 DMA Channel Mode Registers, */
|
||||
/* 0xE0000100,120,140... */
|
||||
#define JAZZ_R4030_CHNL_ENABLE 0xE0000108 /* 8 DMA Channel Enable Regs, */
|
||||
#define JAZZ_R4030_CHNL_ENABLE 0xE0000108 /* 8 DMA Channel Enable Regs, */
|
||||
/* 0xE0000108,128,148... */
|
||||
#define JAZZ_R4030_CHNL_COUNT 0xE0000110 /* 8 DMA Channel Byte Cnt Regs, */
|
||||
#define JAZZ_R4030_CHNL_COUNT 0xE0000110 /* 8 DMA Channel Byte Cnt Regs, */
|
||||
/* 0xE0000110,130,150... */
|
||||
#define JAZZ_R4030_CHNL_ADDR 0xE0000118 /* 8 DMA Channel Address Regs, */
|
||||
/* 0xE0000118,138,158... */
|
||||
|
||||
/* channel enable register bits */
|
||||
|
||||
#define R4030_CHNL_ENABLE (1<<0)
|
||||
#define R4030_CHNL_WRITE (1<<1)
|
||||
#define R4030_TC_INTR (1<<8)
|
||||
#define R4030_MEM_INTR (1<<9)
|
||||
#define R4030_ADDR_INTR (1<<10)
|
||||
#define R4030_CHNL_ENABLE (1<<0)
|
||||
#define R4030_CHNL_WRITE (1<<1)
|
||||
#define R4030_TC_INTR (1<<8)
|
||||
#define R4030_MEM_INTR (1<<9)
|
||||
#define R4030_ADDR_INTR (1<<10)
|
||||
|
||||
/*
|
||||
* Channel mode register bits
|
||||
*/
|
||||
#define R4030_MODE_ATIME_40 (0) /* device access time on remote bus */
|
||||
#define R4030_MODE_ATIME_80 (1)
|
||||
#define R4030_MODE_ATIME_120 (2)
|
||||
#define R4030_MODE_ATIME_160 (3)
|
||||
#define R4030_MODE_ATIME_200 (4)
|
||||
#define R4030_MODE_ATIME_240 (5)
|
||||
#define R4030_MODE_ATIME_280 (6)
|
||||
#define R4030_MODE_ATIME_320 (7)
|
||||
#define R4030_MODE_WIDTH_8 (1<<3) /* device data bus width */
|
||||
#define R4030_MODE_WIDTH_16 (2<<3)
|
||||
#define R4030_MODE_WIDTH_32 (3<<3)
|
||||
#define R4030_MODE_INTR_EN (1<<5)
|
||||
#define R4030_MODE_BURST (1<<6) /* Rev. 2 only */
|
||||
#define R4030_MODE_FAST_ACK (1<<7) /* Rev. 2 only */
|
||||
#define R4030_MODE_ATIME_40 (0) /* device access time on remote bus */
|
||||
#define R4030_MODE_ATIME_80 (1)
|
||||
#define R4030_MODE_ATIME_120 (2)
|
||||
#define R4030_MODE_ATIME_160 (3)
|
||||
#define R4030_MODE_ATIME_200 (4)
|
||||
#define R4030_MODE_ATIME_240 (5)
|
||||
#define R4030_MODE_ATIME_280 (6)
|
||||
#define R4030_MODE_ATIME_320 (7)
|
||||
#define R4030_MODE_WIDTH_8 (1<<3) /* device data bus width */
|
||||
#define R4030_MODE_WIDTH_16 (2<<3)
|
||||
#define R4030_MODE_WIDTH_32 (3<<3)
|
||||
#define R4030_MODE_INTR_EN (1<<5)
|
||||
#define R4030_MODE_BURST (1<<6) /* Rev. 2 only */
|
||||
#define R4030_MODE_FAST_ACK (1<<7) /* Rev. 2 only */
|
||||
|
||||
#endif /* _ASM_JAZZDMA_H */
|
||||
|
@@ -2,7 +2,7 @@
|
||||
#define _ASM_KMAP_TYPES_H
|
||||
|
||||
#ifdef CONFIG_DEBUG_HIGHMEM
|
||||
#define __WITH_KM_FENCE
|
||||
#define __WITH_KM_FENCE
|
||||
#endif
|
||||
|
||||
#include <asm-generic/kmap_types.h>
|
||||
|
@@ -29,7 +29,7 @@
|
||||
#include <asm/kdebug.h>
|
||||
#include <asm/inst.h>
|
||||
|
||||
#define __ARCH_WANT_KPROBES_INSN_SLOT
|
||||
#define __ARCH_WANT_KPROBES_INSN_SLOT
|
||||
|
||||
struct kprobe;
|
||||
struct pt_regs;
|
||||
|
@@ -1,12 +1,12 @@
|
||||
#include <asm/addrspace.h>
|
||||
|
||||
/* lasat 100 */
|
||||
#define AT93C_REG_100 KSEG1ADDR(0x1c810000)
|
||||
#define AT93C_RDATA_REG_100 AT93C_REG_100
|
||||
#define AT93C_RDATA_SHIFT_100 4
|
||||
#define AT93C_WDATA_SHIFT_100 4
|
||||
#define AT93C_CS_M_100 (1 << 5)
|
||||
#define AT93C_CLK_M_100 (1 << 3)
|
||||
#define AT93C_REG_100 KSEG1ADDR(0x1c810000)
|
||||
#define AT93C_RDATA_REG_100 AT93C_REG_100
|
||||
#define AT93C_RDATA_SHIFT_100 4
|
||||
#define AT93C_WDATA_SHIFT_100 4
|
||||
#define AT93C_CS_M_100 (1 << 5)
|
||||
#define AT93C_CLK_M_100 (1 << 3)
|
||||
|
||||
/* lasat 200 */
|
||||
#define AT93C_REG_200 KSEG1ADDR(0x11000000)
|
||||
|
@@ -100,7 +100,7 @@ struct lasat_eeprom_struct_pre7 {
|
||||
|
||||
/* Configuration descriptor encoding - see the doc for details */
|
||||
|
||||
#define LASAT_W0_DSCTYPE(v) (((v)) & 0xf)
|
||||
#define LASAT_W0_DSCTYPE(v) (((v)) & 0xf)
|
||||
#define LASAT_W0_BMID(v) (((v) >> 0x04) & 0xf)
|
||||
#define LASAT_W0_CPUTYPE(v) (((v) >> 0x08) & 0xf)
|
||||
#define LASAT_W0_BUSSPEED(v) (((v) >> 0x0c) & 0xf)
|
||||
@@ -109,7 +109,7 @@ struct lasat_eeprom_struct_pre7 {
|
||||
#define LASAT_W0_SDRAMBANKS(v) (((v) >> 0x18) & 0xf)
|
||||
#define LASAT_W0_L2CACHE(v) (((v) >> 0x1c) & 0xf)
|
||||
|
||||
#define LASAT_W1_EDHAC(v) (((v)) & 0xf)
|
||||
#define LASAT_W1_EDHAC(v) (((v)) & 0xf)
|
||||
#define LASAT_W1_HIFN(v) (((v) >> 0x04) & 0x1)
|
||||
#define LASAT_W1_ISDN(v) (((v) >> 0x05) & 0x1)
|
||||
#define LASAT_W1_IDE(v) (((v) >> 0x06) & 0x1)
|
||||
@@ -239,7 +239,7 @@ static inline void lasat_ndelay(unsigned int ns)
|
||||
__delay(ns / lasat_ndelay_divider);
|
||||
}
|
||||
|
||||
#define IS_LASAT_200() (current_cpu_data.cputype == CPU_R5000)
|
||||
#define IS_LASAT_200() (current_cpu_data.cputype == CPU_R5000)
|
||||
|
||||
#endif /* !defined (_LANGUAGE_ASSEMBLY) */
|
||||
|
||||
@@ -247,11 +247,11 @@ static inline void lasat_ndelay(unsigned int ns)
|
||||
#define LASAT_SERVICEMODE_MAGIC_2 0xfedeabba
|
||||
|
||||
/* Lasat 100 boards */
|
||||
#define LASAT_GT_BASE (KSEG1ADDR(0x14000000))
|
||||
#define LASAT_GT_BASE (KSEG1ADDR(0x14000000))
|
||||
|
||||
/* Lasat 200 boards */
|
||||
#define Vrc5074_PHYS_BASE 0x1fa00000
|
||||
#define Vrc5074_BASE (KSEG1ADDR(Vrc5074_PHYS_BASE))
|
||||
#define PCI_WINDOW1 0x1a000000
|
||||
#define Vrc5074_PHYS_BASE 0x1fa00000
|
||||
#define Vrc5074_BASE (KSEG1ADDR(Vrc5074_PHYS_BASE))
|
||||
#define PCI_WINDOW1 0x1a000000
|
||||
|
||||
#endif /* _LASAT_H */
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#include <asm/lasat/lasat.h>
|
||||
|
||||
/* Lasat 100 boards serial configuration */
|
||||
#define LASAT_BASE_BAUD_100 (7372800 / 16)
|
||||
#define LASAT_BASE_BAUD_100 (7372800 / 16)
|
||||
#define LASAT_UART_REGS_BASE_100 0x1c8b0000
|
||||
#define LASAT_UART_REGS_SHIFT_100 2
|
||||
#define LASATINT_UART_100 16
|
||||
|
@@ -15,10 +15,10 @@ typedef struct
|
||||
#define LOCAL_INIT(i) { ATOMIC_LONG_INIT(i) }
|
||||
|
||||
#define local_read(l) atomic_long_read(&(l)->a)
|
||||
#define local_set(l, i) atomic_long_set(&(l)->a, (i))
|
||||
#define local_set(l, i) atomic_long_set(&(l)->a, (i))
|
||||
|
||||
#define local_add(i, l) atomic_long_add((i), (&(l)->a))
|
||||
#define local_sub(i, l) atomic_long_sub((i), (&(l)->a))
|
||||
#define local_add(i, l) atomic_long_add((i), (&(l)->a))
|
||||
#define local_sub(i, l) atomic_long_sub((i), (&(l)->a))
|
||||
#define local_inc(l) atomic_long_inc(&(l)->a)
|
||||
#define local_dec(l) atomic_long_dec(&(l)->a)
|
||||
|
||||
|
@@ -9,7 +9,7 @@
|
||||
extern spinlock_t rtc_lock;
|
||||
|
||||
struct m48t37_rtc {
|
||||
volatile u8 pad[0x7ff0]; /* NVRAM */
|
||||
volatile u8 pad[0x7ff0]; /* NVRAM */
|
||||
volatile u8 flags;
|
||||
volatile u8 century;
|
||||
volatile u8 alarm_sec;
|
||||
|
@@ -40,9 +40,9 @@
|
||||
#define AR7_REGS_USB (AR7_REGS_BASE + 0x1200)
|
||||
#define AR7_REGS_RESET (AR7_REGS_BASE + 0x1600)
|
||||
#define AR7_REGS_PINSEL (AR7_REGS_BASE + 0x160C)
|
||||
#define AR7_REGS_VLYNQ0 (AR7_REGS_BASE + 0x1800)
|
||||
#define AR7_REGS_VLYNQ0 (AR7_REGS_BASE + 0x1800)
|
||||
#define AR7_REGS_DCL (AR7_REGS_BASE + 0x1a00)
|
||||
#define AR7_REGS_VLYNQ1 (AR7_REGS_BASE + 0x1c00)
|
||||
#define AR7_REGS_VLYNQ1 (AR7_REGS_BASE + 0x1c00)
|
||||
#define AR7_REGS_MDIO (AR7_REGS_BASE + 0x1e00)
|
||||
#define AR7_REGS_IRQ (AR7_REGS_BASE + 0x2400)
|
||||
#define AR7_REGS_MAC1 (AR7_REGS_BASE + 0x2800)
|
||||
@@ -52,7 +52,7 @@
|
||||
#define UR8_REGS_UART1 (AR7_REGS_BASE + 0x0f00)
|
||||
|
||||
/* Titan registers */
|
||||
#define TITAN_REGS_ESWITCH_BASE (0x08640000)
|
||||
#define TITAN_REGS_ESWITCH_BASE (0x08640000)
|
||||
#define TITAN_REGS_MAC0 (TITAN_REGS_ESWITCH_BASE)
|
||||
#define TITAN_REGS_MAC1 (TITAN_REGS_ESWITCH_BASE + 0x0800)
|
||||
#define TITAN_REGS_MDIO (TITAN_REGS_ESWITCH_BASE + 0x02000)
|
||||
@@ -72,9 +72,9 @@
|
||||
|
||||
/* GPIO control registers */
|
||||
#define AR7_GPIO_INPUT 0x0
|
||||
#define AR7_GPIO_OUTPUT 0x4
|
||||
#define AR7_GPIO_OUTPUT 0x4
|
||||
#define AR7_GPIO_DIR 0x8
|
||||
#define AR7_GPIO_ENABLE 0xc
|
||||
#define AR7_GPIO_ENABLE 0xc
|
||||
#define TITAN_GPIO_INPUT_0 0x0
|
||||
#define TITAN_GPIO_INPUT_1 0x4
|
||||
#define TITAN_GPIO_OUTPUT_0 0x8
|
||||
@@ -88,10 +88,10 @@
|
||||
#define AR7_CHIP_7200 0x2b
|
||||
#define AR7_CHIP_7300 0x05
|
||||
#define AR7_CHIP_TITAN 0x07
|
||||
#define TITAN_CHIP_1050 0x0f
|
||||
#define TITAN_CHIP_1055 0x0e
|
||||
#define TITAN_CHIP_1056 0x0d
|
||||
#define TITAN_CHIP_1060 0x07
|
||||
#define TITAN_CHIP_1050 0x0f
|
||||
#define TITAN_CHIP_1055 0x0e
|
||||
#define TITAN_CHIP_1056 0x0d
|
||||
#define TITAN_CHIP_1060 0x07
|
||||
|
||||
/* Interrupts */
|
||||
#define AR7_IRQ_UART0 15
|
||||
|
@@ -9,7 +9,7 @@
|
||||
#ifndef __ASM_AR7_IRQ_H
|
||||
#define __ASM_AR7_IRQ_H
|
||||
|
||||
#define NR_IRQS 256
|
||||
#define NR_IRQS 256
|
||||
|
||||
#include_next <irq.h>
|
||||
|
||||
|
@@ -34,8 +34,8 @@
|
||||
#define AR71XX_UART_SIZE 0x100
|
||||
#define AR71XX_USB_CTRL_BASE (AR71XX_APB_BASE + 0x00030000)
|
||||
#define AR71XX_USB_CTRL_SIZE 0x100
|
||||
#define AR71XX_GPIO_BASE (AR71XX_APB_BASE + 0x00040000)
|
||||
#define AR71XX_GPIO_SIZE 0x100
|
||||
#define AR71XX_GPIO_BASE (AR71XX_APB_BASE + 0x00040000)
|
||||
#define AR71XX_GPIO_SIZE 0x100
|
||||
#define AR71XX_PLL_BASE (AR71XX_APB_BASE + 0x00050000)
|
||||
#define AR71XX_PLL_SIZE 0x100
|
||||
#define AR71XX_RESET_BASE (AR71XX_APB_BASE + 0x00060000)
|
||||
@@ -312,7 +312,7 @@
|
||||
#define AR934X_BOOTSTRAP_EJTAG_MODE BIT(5)
|
||||
#define AR934X_BOOTSTRAP_REF_CLK_40 BIT(4)
|
||||
#define AR934X_BOOTSTRAP_BOOT_FROM_SPI BIT(2)
|
||||
#define AR934X_BOOTSTRAP_SDRAM_DISABLED BIT(1)
|
||||
#define AR934X_BOOTSTRAP_SDRAM_DISABLED BIT(1)
|
||||
#define AR934X_BOOTSTRAP_DDR1 BIT(0)
|
||||
|
||||
#define AR934X_PCIE_WMAC_INT_WMAC_MISC BIT(0)
|
||||
@@ -362,7 +362,7 @@
|
||||
|
||||
#define AR724X_REV_ID_REVISION_MASK 0x3
|
||||
|
||||
#define AR934X_REV_ID_REVISION_MASK 0xf
|
||||
#define AR934X_REV_ID_REVISION_MASK 0xf
|
||||
|
||||
/*
|
||||
* SPI block
|
||||
|
@@ -26,14 +26,14 @@
|
||||
|
||||
#define AR933X_UART_CS_PARITY_S 0
|
||||
#define AR933X_UART_CS_PARITY_M 0x3
|
||||
#define AR933X_UART_CS_PARITY_NONE 0
|
||||
#define AR933X_UART_CS_PARITY_ODD 1
|
||||
#define AR933X_UART_CS_PARITY_EVEN 2
|
||||
#define AR933X_UART_CS_PARITY_NONE 0
|
||||
#define AR933X_UART_CS_PARITY_ODD 1
|
||||
#define AR933X_UART_CS_PARITY_EVEN 2
|
||||
#define AR933X_UART_CS_IF_MODE_S 2
|
||||
#define AR933X_UART_CS_IF_MODE_M 0x3
|
||||
#define AR933X_UART_CS_IF_MODE_NONE 0
|
||||
#define AR933X_UART_CS_IF_MODE_DTE 1
|
||||
#define AR933X_UART_CS_IF_MODE_DCE 2
|
||||
#define AR933X_UART_CS_IF_MODE_NONE 0
|
||||
#define AR933X_UART_CS_IF_MODE_DTE 1
|
||||
#define AR933X_UART_CS_IF_MODE_DCE 2
|
||||
#define AR933X_UART_CS_FLOW_CTRL_S 4
|
||||
#define AR933X_UART_CS_FLOW_CTRL_M 0x3
|
||||
#define AR933X_UART_CS_DMA_EN BIT(6)
|
||||
|
@@ -49,7 +49,7 @@
|
||||
#define cpu_has_64bits 0
|
||||
#define cpu_has_64bit_zero_reg 0
|
||||
#define cpu_has_64bit_gp_regs 0
|
||||
#define cpu_has_64bit_addresses 0
|
||||
#define cpu_has_64bit_addresses 0
|
||||
|
||||
#define cpu_dcache_line_size() 32
|
||||
#define cpu_icache_line_size() 32
|
||||
|
@@ -349,7 +349,7 @@ extern void au1300_vss_block_control(int block, int enable);
|
||||
#define AU1000_INTC0_INT_LAST (AU1000_INTC0_INT_BASE + 31)
|
||||
#define AU1000_INTC1_INT_BASE (AU1000_INTC0_INT_LAST + 1)
|
||||
#define AU1000_INTC1_INT_LAST (AU1000_INTC1_INT_BASE + 31)
|
||||
#define AU1000_MAX_INTR AU1000_INTC1_INT_LAST
|
||||
#define AU1000_MAX_INTR AU1000_INTC1_INT_LAST
|
||||
|
||||
/* Au1300-style (GPIC): 1 controller with up to 128 sources */
|
||||
#define ALCHEMY_GPIC_INT_BASE (MIPS_CPU_IRQ_BASE + 8)
|
||||
@@ -589,7 +589,7 @@ enum soc_au1550_ints {
|
||||
AU1550_GPIO14_INT,
|
||||
AU1550_GPIO15_INT,
|
||||
AU1550_GPIO200_INT,
|
||||
AU1550_GPIO201_205_INT, /* Logical or of GPIO201:205 */
|
||||
AU1550_GPIO201_205_INT, /* Logical or of GPIO201:205 */
|
||||
AU1550_GPIO16_INT,
|
||||
AU1550_GPIO17_INT,
|
||||
AU1550_GPIO20_INT,
|
||||
@@ -603,7 +603,7 @@ enum soc_au1550_ints {
|
||||
AU1550_GPIO28_INT,
|
||||
AU1550_GPIO206_INT,
|
||||
AU1550_GPIO207_INT,
|
||||
AU1550_GPIO208_215_INT, /* Logical or of GPIO208:215 */
|
||||
AU1550_GPIO208_215_INT, /* Logical or of GPIO208:215 */
|
||||
};
|
||||
|
||||
enum soc_au1200_ints {
|
||||
@@ -636,7 +636,7 @@ enum soc_au1200_ints {
|
||||
AU1200_GPIO205_INT,
|
||||
AU1200_GPIO206_INT,
|
||||
AU1200_GPIO207_INT,
|
||||
AU1200_GPIO208_215_INT, /* Logical OR of 208:215 */
|
||||
AU1200_GPIO208_215_INT, /* Logical OR of 208:215 */
|
||||
AU1200_USB_INT,
|
||||
AU1200_LCD_INT,
|
||||
AU1200_MAE_BOTH_INT,
|
||||
@@ -823,7 +823,7 @@ enum soc_au1200_ints {
|
||||
#define GPIC_GPIO_TO_BIT(gpio) \
|
||||
(1 << ((gpio) & 0x1f))
|
||||
|
||||
#define GPIC_GPIO_BANKOFF(gpio) \
|
||||
#define GPIC_GPIO_BANKOFF(gpio) \
|
||||
(((gpio) >> 5) * 4)
|
||||
|
||||
/* Pin Control bits: who owns the pin, what does it do */
|
||||
@@ -958,32 +958,32 @@ enum soc_au1200_ints {
|
||||
#define MEM_STSTAT 0xB4001104
|
||||
|
||||
#define MEM_STNAND_CMD 0x0
|
||||
#define MEM_STNAND_ADDR 0x4
|
||||
#define MEM_STNAND_DATA 0x20
|
||||
#define MEM_STNAND_ADDR 0x4
|
||||
#define MEM_STNAND_DATA 0x20
|
||||
|
||||
|
||||
/* Programmable Counters 0 and 1 */
|
||||
#define SYS_BASE 0xB1900000
|
||||
#define SYS_COUNTER_CNTRL (SYS_BASE + 0x14)
|
||||
# define SYS_CNTRL_E1S (1 << 23)
|
||||
# define SYS_CNTRL_T1S (1 << 20)
|
||||
# define SYS_CNTRL_M21 (1 << 19)
|
||||
# define SYS_CNTRL_M11 (1 << 18)
|
||||
# define SYS_CNTRL_M01 (1 << 17)
|
||||
# define SYS_CNTRL_C1S (1 << 16)
|
||||
# define SYS_CNTRL_E1S (1 << 23)
|
||||
# define SYS_CNTRL_T1S (1 << 20)
|
||||
# define SYS_CNTRL_M21 (1 << 19)
|
||||
# define SYS_CNTRL_M11 (1 << 18)
|
||||
# define SYS_CNTRL_M01 (1 << 17)
|
||||
# define SYS_CNTRL_C1S (1 << 16)
|
||||
# define SYS_CNTRL_BP (1 << 14)
|
||||
# define SYS_CNTRL_EN1 (1 << 13)
|
||||
# define SYS_CNTRL_BT1 (1 << 12)
|
||||
# define SYS_CNTRL_EN0 (1 << 11)
|
||||
# define SYS_CNTRL_BT0 (1 << 10)
|
||||
# define SYS_CNTRL_EN1 (1 << 13)
|
||||
# define SYS_CNTRL_BT1 (1 << 12)
|
||||
# define SYS_CNTRL_EN0 (1 << 11)
|
||||
# define SYS_CNTRL_BT0 (1 << 10)
|
||||
# define SYS_CNTRL_E0 (1 << 8)
|
||||
# define SYS_CNTRL_E0S (1 << 7)
|
||||
# define SYS_CNTRL_32S (1 << 5)
|
||||
# define SYS_CNTRL_T0S (1 << 4)
|
||||
# define SYS_CNTRL_M20 (1 << 3)
|
||||
# define SYS_CNTRL_M10 (1 << 2)
|
||||
# define SYS_CNTRL_M00 (1 << 1)
|
||||
# define SYS_CNTRL_C0S (1 << 0)
|
||||
# define SYS_CNTRL_E0S (1 << 7)
|
||||
# define SYS_CNTRL_32S (1 << 5)
|
||||
# define SYS_CNTRL_T0S (1 << 4)
|
||||
# define SYS_CNTRL_M20 (1 << 3)
|
||||
# define SYS_CNTRL_M10 (1 << 2)
|
||||
# define SYS_CNTRL_M00 (1 << 1)
|
||||
# define SYS_CNTRL_C0S (1 << 0)
|
||||
|
||||
/* Programmable Counter 0 Registers */
|
||||
#define SYS_TOYTRIM (SYS_BASE + 0)
|
||||
@@ -1003,33 +1003,33 @@ enum soc_au1200_ints {
|
||||
|
||||
/* I2S Controller */
|
||||
#define I2S_DATA 0xB1000000
|
||||
# define I2S_DATA_MASK 0xffffff
|
||||
# define I2S_DATA_MASK 0xffffff
|
||||
#define I2S_CONFIG 0xB1000004
|
||||
# define I2S_CONFIG_XU (1 << 25)
|
||||
# define I2S_CONFIG_XO (1 << 24)
|
||||
# define I2S_CONFIG_RU (1 << 23)
|
||||
# define I2S_CONFIG_RO (1 << 22)
|
||||
# define I2S_CONFIG_TR (1 << 21)
|
||||
# define I2S_CONFIG_TE (1 << 20)
|
||||
# define I2S_CONFIG_TF (1 << 19)
|
||||
# define I2S_CONFIG_RR (1 << 18)
|
||||
# define I2S_CONFIG_RE (1 << 17)
|
||||
# define I2S_CONFIG_RF (1 << 16)
|
||||
# define I2S_CONFIG_PD (1 << 11)
|
||||
# define I2S_CONFIG_LB (1 << 10)
|
||||
# define I2S_CONFIG_IC (1 << 9)
|
||||
# define I2S_CONFIG_XU (1 << 25)
|
||||
# define I2S_CONFIG_XO (1 << 24)
|
||||
# define I2S_CONFIG_RU (1 << 23)
|
||||
# define I2S_CONFIG_RO (1 << 22)
|
||||
# define I2S_CONFIG_TR (1 << 21)
|
||||
# define I2S_CONFIG_TE (1 << 20)
|
||||
# define I2S_CONFIG_TF (1 << 19)
|
||||
# define I2S_CONFIG_RR (1 << 18)
|
||||
# define I2S_CONFIG_RE (1 << 17)
|
||||
# define I2S_CONFIG_RF (1 << 16)
|
||||
# define I2S_CONFIG_PD (1 << 11)
|
||||
# define I2S_CONFIG_LB (1 << 10)
|
||||
# define I2S_CONFIG_IC (1 << 9)
|
||||
# define I2S_CONFIG_FM_BIT 7
|
||||
# define I2S_CONFIG_FM_MASK (0x3 << I2S_CONFIG_FM_BIT)
|
||||
# define I2S_CONFIG_FM_I2S (0x0 << I2S_CONFIG_FM_BIT)
|
||||
# define I2S_CONFIG_FM_LJ (0x1 << I2S_CONFIG_FM_BIT)
|
||||
# define I2S_CONFIG_FM_RJ (0x2 << I2S_CONFIG_FM_BIT)
|
||||
# define I2S_CONFIG_TN (1 << 6)
|
||||
# define I2S_CONFIG_RN (1 << 5)
|
||||
# define I2S_CONFIG_TN (1 << 6)
|
||||
# define I2S_CONFIG_RN (1 << 5)
|
||||
# define I2S_CONFIG_SZ_BIT 0
|
||||
# define I2S_CONFIG_SZ_MASK (0x1F << I2S_CONFIG_SZ_BIT)
|
||||
|
||||
#define I2S_CONTROL 0xB1000008
|
||||
# define I2S_CONTROL_D (1 << 1)
|
||||
# define I2S_CONTROL_D (1 << 1)
|
||||
# define I2S_CONTROL_CE (1 << 0)
|
||||
|
||||
|
||||
@@ -1037,16 +1037,16 @@ enum soc_au1200_ints {
|
||||
|
||||
/* 4 byte offsets from AU1000_ETH_BASE */
|
||||
#define MAC_CONTROL 0x0
|
||||
# define MAC_RX_ENABLE (1 << 2)
|
||||
# define MAC_TX_ENABLE (1 << 3)
|
||||
# define MAC_DEF_CHECK (1 << 5)
|
||||
# define MAC_SET_BL(X) (((X) & 0x3) << 6)
|
||||
# define MAC_RX_ENABLE (1 << 2)
|
||||
# define MAC_TX_ENABLE (1 << 3)
|
||||
# define MAC_DEF_CHECK (1 << 5)
|
||||
# define MAC_SET_BL(X) (((X) & 0x3) << 6)
|
||||
# define MAC_AUTO_PAD (1 << 8)
|
||||
# define MAC_DISABLE_RETRY (1 << 10)
|
||||
# define MAC_DISABLE_BCAST (1 << 11)
|
||||
# define MAC_LATE_COL (1 << 12)
|
||||
# define MAC_HASH_MODE (1 << 13)
|
||||
# define MAC_HASH_ONLY (1 << 15)
|
||||
# define MAC_HASH_MODE (1 << 13)
|
||||
# define MAC_HASH_ONLY (1 << 15)
|
||||
# define MAC_PASS_ALL (1 << 16)
|
||||
# define MAC_INVERSE_FILTER (1 << 17)
|
||||
# define MAC_PROMISCUOUS (1 << 18)
|
||||
@@ -1083,9 +1083,9 @@ enum soc_au1200_ints {
|
||||
# define MAC_EN_RESET0 (1 << 1)
|
||||
# define MAC_EN_TOSS (0 << 2)
|
||||
# define MAC_EN_CACHEABLE (1 << 3)
|
||||
# define MAC_EN_RESET1 (1 << 4)
|
||||
# define MAC_EN_RESET2 (1 << 5)
|
||||
# define MAC_DMA_RESET (1 << 6)
|
||||
# define MAC_EN_RESET1 (1 << 4)
|
||||
# define MAC_EN_RESET2 (1 << 5)
|
||||
# define MAC_DMA_RESET (1 << 6)
|
||||
|
||||
/* Ethernet Controller DMA Channels */
|
||||
|
||||
@@ -1095,7 +1095,7 @@ enum soc_au1200_ints {
|
||||
#define MAC_TX_BUFF0_STATUS 0x0
|
||||
# define TX_FRAME_ABORTED (1 << 0)
|
||||
# define TX_JAB_TIMEOUT (1 << 1)
|
||||
# define TX_NO_CARRIER (1 << 2)
|
||||
# define TX_NO_CARRIER (1 << 2)
|
||||
# define TX_LOSS_CARRIER (1 << 3)
|
||||
# define TX_EXC_DEF (1 << 4)
|
||||
# define TX_LATE_COLL_ABORT (1 << 5)
|
||||
@@ -1106,7 +1106,7 @@ enum soc_au1200_ints {
|
||||
# define TX_COLL_CNT_MASK (0xF << 10)
|
||||
# define TX_PKT_RETRY (1 << 31)
|
||||
#define MAC_TX_BUFF0_ADDR 0x4
|
||||
# define TX_DMA_ENABLE (1 << 0)
|
||||
# define TX_DMA_ENABLE (1 << 0)
|
||||
# define TX_T_DONE (1 << 1)
|
||||
# define TX_GET_DMA_BUFFER(X) (((X) >> 2) & 0x3)
|
||||
#define MAC_TX_BUFF0_LEN 0x8
|
||||
@@ -1125,7 +1125,7 @@ enum soc_au1200_ints {
|
||||
/* offsets from MAC_RX_RING_ADDR */
|
||||
#define MAC_RX_BUFF0_STATUS 0x0
|
||||
# define RX_FRAME_LEN_MASK 0x3fff
|
||||
# define RX_WDOG_TIMER (1 << 14)
|
||||
# define RX_WDOG_TIMER (1 << 14)
|
||||
# define RX_RUNT (1 << 15)
|
||||
# define RX_OVERLEN (1 << 16)
|
||||
# define RX_COLL (1 << 17)
|
||||
@@ -1148,7 +1148,7 @@ enum soc_au1200_ints {
|
||||
RX_COLL | RX_MII_ERROR | RX_CRC_ERROR | \
|
||||
RX_LEN_ERROR | RX_U_CNTRL_FRAME | RX_MISSED_FRAME)
|
||||
#define MAC_RX_BUFF0_ADDR 0x4
|
||||
# define RX_DMA_ENABLE (1 << 0)
|
||||
# define RX_DMA_ENABLE (1 << 0)
|
||||
# define RX_T_DONE (1 << 1)
|
||||
# define RX_GET_DMA_BUFFER(X) (((X) >> 2) & 0x3)
|
||||
# define RX_SET_BUFF_ADDR(X) ((X) & 0xffffffc0)
|
||||
@@ -1173,34 +1173,34 @@ enum soc_au1200_ints {
|
||||
|
||||
/* SSIO */
|
||||
#define SSI0_STATUS 0xB1600000
|
||||
# define SSI_STATUS_BF (1 << 4)
|
||||
# define SSI_STATUS_OF (1 << 3)
|
||||
# define SSI_STATUS_UF (1 << 2)
|
||||
# define SSI_STATUS_BF (1 << 4)
|
||||
# define SSI_STATUS_OF (1 << 3)
|
||||
# define SSI_STATUS_UF (1 << 2)
|
||||
# define SSI_STATUS_D (1 << 1)
|
||||
# define SSI_STATUS_B (1 << 0)
|
||||
#define SSI0_INT 0xB1600004
|
||||
# define SSI_INT_OI (1 << 3)
|
||||
# define SSI_INT_UI (1 << 2)
|
||||
# define SSI_INT_DI (1 << 1)
|
||||
#define SSI0_INT_ENABLE 0xB1600008
|
||||
#define SSI0_INT_ENABLE 0xB1600008
|
||||
# define SSI_INTE_OIE (1 << 3)
|
||||
# define SSI_INTE_UIE (1 << 2)
|
||||
# define SSI_INTE_DIE (1 << 1)
|
||||
#define SSI0_CONFIG 0xB1600020
|
||||
# define SSI_CONFIG_AO (1 << 24)
|
||||
# define SSI_CONFIG_DO (1 << 23)
|
||||
# define SSI_CONFIG_AO (1 << 24)
|
||||
# define SSI_CONFIG_DO (1 << 23)
|
||||
# define SSI_CONFIG_ALEN_BIT 20
|
||||
# define SSI_CONFIG_ALEN_MASK (0x7 << 20)
|
||||
# define SSI_CONFIG_DLEN_BIT 16
|
||||
# define SSI_CONFIG_DLEN_MASK (0x7 << 16)
|
||||
# define SSI_CONFIG_DD (1 << 11)
|
||||
# define SSI_CONFIG_AD (1 << 10)
|
||||
# define SSI_CONFIG_DD (1 << 11)
|
||||
# define SSI_CONFIG_AD (1 << 10)
|
||||
# define SSI_CONFIG_BM_BIT 8
|
||||
# define SSI_CONFIG_BM_MASK (0x3 << 8)
|
||||
# define SSI_CONFIG_CE (1 << 7)
|
||||
# define SSI_CONFIG_DP (1 << 6)
|
||||
# define SSI_CONFIG_DL (1 << 5)
|
||||
# define SSI_CONFIG_EP (1 << 4)
|
||||
# define SSI_CONFIG_CE (1 << 7)
|
||||
# define SSI_CONFIG_DP (1 << 6)
|
||||
# define SSI_CONFIG_DL (1 << 5)
|
||||
# define SSI_CONFIG_EP (1 << 4)
|
||||
#define SSI0_ADATA 0xB1600024
|
||||
# define SSI_AD_D (1 << 24)
|
||||
# define SSI_AD_ADDR_BIT 16
|
||||
@@ -1210,12 +1210,12 @@ enum soc_au1200_ints {
|
||||
#define SSI0_CLKDIV 0xB1600028
|
||||
#define SSI0_CONTROL 0xB1600100
|
||||
# define SSI_CONTROL_CD (1 << 1)
|
||||
# define SSI_CONTROL_E (1 << 0)
|
||||
# define SSI_CONTROL_E (1 << 0)
|
||||
|
||||
/* SSI1 */
|
||||
#define SSI1_STATUS 0xB1680000
|
||||
#define SSI1_INT 0xB1680004
|
||||
#define SSI1_INT_ENABLE 0xB1680008
|
||||
#define SSI1_INT_ENABLE 0xB1680008
|
||||
#define SSI1_CONFIG 0xB1680020
|
||||
#define SSI1_ADATA 0xB1680024
|
||||
#define SSI1_CLKDIV 0xB1680028
|
||||
@@ -1242,8 +1242,8 @@ enum soc_au1200_ints {
|
||||
|
||||
#define SSI_CONFIG_AO (1 << 24)
|
||||
#define SSI_CONFIG_DO (1 << 23)
|
||||
#define SSI_CONFIG_ALEN (7 << 20)
|
||||
#define SSI_CONFIG_DLEN (15 << 16)
|
||||
#define SSI_CONFIG_ALEN (7 << 20)
|
||||
#define SSI_CONFIG_DLEN (15 << 16)
|
||||
#define SSI_CONFIG_DD (1 << 11)
|
||||
#define SSI_CONFIG_AD (1 << 10)
|
||||
#define SSI_CONFIG_BM (3 << 8)
|
||||
@@ -1305,7 +1305,7 @@ struct au1k_irda_platform_data {
|
||||
# define SYS_PF_CS (1 << 16) /* EXTCLK0/32KHz to gpio2 */
|
||||
# define SYS_PF_EX0 (1 << 9) /* GPIO2/clock */
|
||||
|
||||
/* Au1550 only. Redefines lots of pins */
|
||||
/* Au1550 only. Redefines lots of pins */
|
||||
# define SYS_PF_PSC2_MASK (7 << 17)
|
||||
# define SYS_PF_PSC2_AC97 0
|
||||
# define SYS_PF_PSC2_SPI 0
|
||||
@@ -1322,33 +1322,33 @@ struct au1k_irda_platform_data {
|
||||
# define SYS_PF_MUST_BE_SET ((1 << 5) | (1 << 2))
|
||||
|
||||
/* Au1200 only */
|
||||
#define SYS_PINFUNC_DMA (1 << 31)
|
||||
#define SYS_PINFUNC_S0A (1 << 30)
|
||||
#define SYS_PINFUNC_S1A (1 << 29)
|
||||
#define SYS_PINFUNC_LP0 (1 << 28)
|
||||
#define SYS_PINFUNC_LP1 (1 << 27)
|
||||
#define SYS_PINFUNC_LD16 (1 << 26)
|
||||
#define SYS_PINFUNC_LD8 (1 << 25)
|
||||
#define SYS_PINFUNC_LD1 (1 << 24)
|
||||
#define SYS_PINFUNC_LD0 (1 << 23)
|
||||
#define SYS_PINFUNC_P1A (3 << 21)
|
||||
#define SYS_PINFUNC_P1B (1 << 20)
|
||||
#define SYS_PINFUNC_FS3 (1 << 19)
|
||||
#define SYS_PINFUNC_P0A (3 << 17)
|
||||
#define SYS_PINFUNC_DMA (1 << 31)
|
||||
#define SYS_PINFUNC_S0A (1 << 30)
|
||||
#define SYS_PINFUNC_S1A (1 << 29)
|
||||
#define SYS_PINFUNC_LP0 (1 << 28)
|
||||
#define SYS_PINFUNC_LP1 (1 << 27)
|
||||
#define SYS_PINFUNC_LD16 (1 << 26)
|
||||
#define SYS_PINFUNC_LD8 (1 << 25)
|
||||
#define SYS_PINFUNC_LD1 (1 << 24)
|
||||
#define SYS_PINFUNC_LD0 (1 << 23)
|
||||
#define SYS_PINFUNC_P1A (3 << 21)
|
||||
#define SYS_PINFUNC_P1B (1 << 20)
|
||||
#define SYS_PINFUNC_FS3 (1 << 19)
|
||||
#define SYS_PINFUNC_P0A (3 << 17)
|
||||
#define SYS_PINFUNC_CS (1 << 16)
|
||||
#define SYS_PINFUNC_CIM (1 << 15)
|
||||
#define SYS_PINFUNC_P1C (1 << 14)
|
||||
#define SYS_PINFUNC_U1T (1 << 12)
|
||||
#define SYS_PINFUNC_U1R (1 << 11)
|
||||
#define SYS_PINFUNC_EX1 (1 << 10)
|
||||
#define SYS_PINFUNC_EX0 (1 << 9)
|
||||
#define SYS_PINFUNC_U0R (1 << 8)
|
||||
#define SYS_PINFUNC_CIM (1 << 15)
|
||||
#define SYS_PINFUNC_P1C (1 << 14)
|
||||
#define SYS_PINFUNC_U1T (1 << 12)
|
||||
#define SYS_PINFUNC_U1R (1 << 11)
|
||||
#define SYS_PINFUNC_EX1 (1 << 10)
|
||||
#define SYS_PINFUNC_EX0 (1 << 9)
|
||||
#define SYS_PINFUNC_U0R (1 << 8)
|
||||
#define SYS_PINFUNC_MC (1 << 7)
|
||||
#define SYS_PINFUNC_S0B (1 << 6)
|
||||
#define SYS_PINFUNC_S0C (1 << 5)
|
||||
#define SYS_PINFUNC_P0B (1 << 4)
|
||||
#define SYS_PINFUNC_U0T (1 << 3)
|
||||
#define SYS_PINFUNC_S1B (1 << 2)
|
||||
#define SYS_PINFUNC_S0B (1 << 6)
|
||||
#define SYS_PINFUNC_S0C (1 << 5)
|
||||
#define SYS_PINFUNC_P0B (1 << 4)
|
||||
#define SYS_PINFUNC_U0T (1 << 3)
|
||||
#define SYS_PINFUNC_S1B (1 << 2)
|
||||
|
||||
/* Power Management */
|
||||
#define SYS_SCRATCH0 0xB1900018
|
||||
@@ -1405,7 +1405,7 @@ struct au1k_irda_platform_data {
|
||||
# define SYS_CS_DI2 (1 << 16)
|
||||
# define SYS_CS_CI2 (1 << 15)
|
||||
|
||||
# define SYS_CS_ML_BIT 7
|
||||
# define SYS_CS_ML_BIT 7
|
||||
# define SYS_CS_ML_MASK (0x7 << SYS_CS_ML_BIT)
|
||||
# define SYS_CS_DL (1 << 6)
|
||||
# define SYS_CS_CL (1 << 5)
|
||||
@@ -1554,8 +1554,8 @@ struct au1k_irda_platform_data {
|
||||
#define PCI_MWMASKDEV_MWMASK(x) (((x) & 0xffff) << 16)
|
||||
#define PCI_MWMASKDEV_DEVID(x) ((x) & 0xffff)
|
||||
#define PCI_MWBASEREVCCL_BASE(x) (((x) & 0xffff) << 16)
|
||||
#define PCI_MWBASEREVCCL_REV(x) (((x) & 0xff) << 8)
|
||||
#define PCI_MWBASEREVCCL_CCL(x) ((x) & 0xff)
|
||||
#define PCI_MWBASEREVCCL_REV(x) (((x) & 0xff) << 8)
|
||||
#define PCI_MWBASEREVCCL_CCL(x) ((x) & 0xff)
|
||||
#define PCI_ID_DID(x) (((x) & 0xffff) << 16)
|
||||
#define PCI_ID_VID(x) ((x) & 0xffff)
|
||||
#define PCI_STATCMD_STATUS(x) (((x) & 0xffff) << 16)
|
||||
|
@@ -34,7 +34,7 @@
|
||||
#include <linux/spinlock.h> /* And spinlocks */
|
||||
#include <linux/delay.h>
|
||||
|
||||
#define NUM_AU1000_DMA_CHANNELS 8
|
||||
#define NUM_AU1000_DMA_CHANNELS 8
|
||||
|
||||
/* DMA Channel Register Offsets */
|
||||
#define DMA_MODE_SET 0x00000000
|
||||
@@ -47,7 +47,7 @@
|
||||
#define DMA_DS (1 << 15)
|
||||
#define DMA_BE (1 << 13)
|
||||
#define DMA_DR (1 << 12)
|
||||
#define DMA_TS8 (1 << 11)
|
||||
#define DMA_TS8 (1 << 11)
|
||||
#define DMA_DW_BIT 9
|
||||
#define DMA_DW_MASK (0x03 << DMA_DW_BIT)
|
||||
#define DMA_DW8 (0 << DMA_DW_BIT)
|
||||
@@ -59,9 +59,9 @@
|
||||
#define DMA_GO (1 << 5)
|
||||
#define DMA_AB (1 << 4)
|
||||
#define DMA_D1 (1 << 3)
|
||||
#define DMA_BE1 (1 << 2)
|
||||
#define DMA_BE1 (1 << 2)
|
||||
#define DMA_D0 (1 << 1)
|
||||
#define DMA_BE0 (1 << 0)
|
||||
#define DMA_BE0 (1 << 0)
|
||||
|
||||
#define DMA_PERIPHERAL_ADDR 0x00000008
|
||||
#define DMA_BUFFER0_START 0x0000000C
|
||||
@@ -246,7 +246,7 @@ static inline void init_dma(unsigned int dmanr)
|
||||
mode |= DMA_IE;
|
||||
|
||||
au_writel(~mode, chan->io + DMA_MODE_CLEAR);
|
||||
au_writel(mode, chan->io + DMA_MODE_SET);
|
||||
au_writel(mode, chan->io + DMA_MODE_SET);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@@ -148,7 +148,7 @@ struct au1xmmc_platform_data {
|
||||
/*
|
||||
* SD_STATUS bit definitions.
|
||||
*/
|
||||
#define SD_STATUS_DCRCW (0x00000007)
|
||||
#define SD_STATUS_DCRCW (0x00000007)
|
||||
#define SD_STATUS_xx1 (0x00000008)
|
||||
#define SD_STATUS_CB (0x00000010)
|
||||
#define SD_STATUS_DB (0x00000020)
|
||||
|
@@ -103,7 +103,7 @@ typedef volatile struct au1xxx_ddma_desc {
|
||||
* Lets have some SW data following -- make sure it's 32 bytes.
|
||||
*/
|
||||
u32 sw_status;
|
||||
u32 sw_context;
|
||||
u32 sw_context;
|
||||
u32 sw_reserved[6];
|
||||
} au1x_ddma_desc_t;
|
||||
|
||||
@@ -123,7 +123,7 @@ typedef volatile struct au1xxx_ddma_desc {
|
||||
#define DSCR_CMD0_CV (0x1 << 2) /* Clear Valid when done */
|
||||
#define DSCR_CMD0_ST_MASK (0x3 << 0) /* Status instruction */
|
||||
|
||||
#define SW_STATUS_INUSE (1 << 0)
|
||||
#define SW_STATUS_INUSE (1 << 0)
|
||||
|
||||
/* Command 0 device IDs. */
|
||||
#define AU1550_DSCR_CMD0_UART0_TX 0
|
||||
@@ -195,8 +195,8 @@ typedef volatile struct au1xxx_ddma_desc {
|
||||
#define AU1300_DSCR_CMD0_SDMS_RX0 9
|
||||
#define AU1300_DSCR_CMD0_SDMS_TX1 10
|
||||
#define AU1300_DSCR_CMD0_SDMS_RX1 11
|
||||
#define AU1300_DSCR_CMD0_AES_TX 12
|
||||
#define AU1300_DSCR_CMD0_AES_RX 13
|
||||
#define AU1300_DSCR_CMD0_AES_TX 12
|
||||
#define AU1300_DSCR_CMD0_AES_RX 13
|
||||
#define AU1300_DSCR_CMD0_PSC0_TX 14
|
||||
#define AU1300_DSCR_CMD0_PSC0_RX 15
|
||||
#define AU1300_DSCR_CMD0_PSC1_TX 16
|
||||
@@ -205,12 +205,12 @@ typedef volatile struct au1xxx_ddma_desc {
|
||||
#define AU1300_DSCR_CMD0_PSC2_RX 19
|
||||
#define AU1300_DSCR_CMD0_PSC3_TX 20
|
||||
#define AU1300_DSCR_CMD0_PSC3_RX 21
|
||||
#define AU1300_DSCR_CMD0_LCD 22
|
||||
#define AU1300_DSCR_CMD0_LCD 22
|
||||
#define AU1300_DSCR_CMD0_NAND_FLASH 23
|
||||
#define AU1300_DSCR_CMD0_SDMS_TX2 24
|
||||
#define AU1300_DSCR_CMD0_SDMS_RX2 25
|
||||
#define AU1300_DSCR_CMD0_CIM_SYNC 26
|
||||
#define AU1300_DSCR_CMD0_UDMA 27
|
||||
#define AU1300_DSCR_CMD0_UDMA 27
|
||||
#define AU1300_DSCR_CMD0_DMA_REQ0 28
|
||||
#define AU1300_DSCR_CMD0_DMA_REQ1 29
|
||||
|
||||
@@ -298,7 +298,7 @@ typedef volatile struct au1xxx_ddma_desc {
|
||||
#define DSCR_NXTPTR_MS (1 << 27)
|
||||
|
||||
/* The number of DBDMA channels. */
|
||||
#define NUM_DBDMA_CHANS 16
|
||||
#define NUM_DBDMA_CHANS 16
|
||||
|
||||
/*
|
||||
* DDMA API definitions
|
||||
@@ -316,7 +316,7 @@ typedef struct dbdma_device_table {
|
||||
|
||||
|
||||
typedef struct dbdma_chan_config {
|
||||
spinlock_t lock;
|
||||
spinlock_t lock;
|
||||
|
||||
u32 chan_flags;
|
||||
u32 chan_index;
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* include/asm-mips/mach-au1x00/au1xxx_ide.h version 01.30.00 Aug. 02 2005
|
||||
* include/asm-mips/mach-au1x00/au1xxx_ide.h version 01.30.00 Aug. 02 2005
|
||||
*
|
||||
* BRIEF MODULE DESCRIPTION
|
||||
* AMD Alchemy Au1xxx IDE interface routines over the Static Bus
|
||||
@@ -27,14 +27,14 @@
|
||||
* 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* Note: for more information, please refer "AMD Alchemy Au1200/Au1550 IDE
|
||||
* Interface and Linux Device Driver" Application Note.
|
||||
* Interface and Linux Device Driver" Application Note.
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
|
||||
#define DMA_WAIT_TIMEOUT 100
|
||||
#define NUM_DESCRIPTORS PRD_ENTRIES
|
||||
#define NUM_DESCRIPTORS PRD_ENTRIES
|
||||
#else /* CONFIG_BLK_DEV_IDE_AU1XXX_PIO_DBDMA */
|
||||
#define NUM_DESCRIPTORS 2
|
||||
#define NUM_DESCRIPTORS 2
|
||||
#endif
|
||||
|
||||
#ifndef AU1XXX_ATA_RQSIZE
|
||||
@@ -84,8 +84,8 @@ typedef struct {
|
||||
#define TWP_MASK (0x3F << 14)
|
||||
#define TCSW_MASK (0x0F << 10)
|
||||
#define TPM_MASK (0x0F << 6)
|
||||
#define TA_MASK (0x3F << 0)
|
||||
#define TS_MASK (1 << 8)
|
||||
#define TA_MASK (0x3F << 0)
|
||||
#define TS_MASK (1 << 8)
|
||||
|
||||
/* Timing parameters PIO mode 0 */
|
||||
#define SBC_IDE_PIO0_TCSOE (0x04 << 29)
|
||||
@@ -96,7 +96,7 @@ typedef struct {
|
||||
#define SBC_IDE_PIO0_TWP (0x10 << 14)
|
||||
#define SBC_IDE_PIO0_TCSW (0x04 << 10)
|
||||
#define SBC_IDE_PIO0_TPM (0x00 << 6)
|
||||
#define SBC_IDE_PIO0_TA (0x15 << 0)
|
||||
#define SBC_IDE_PIO0_TA (0x15 << 0)
|
||||
/* Timing parameters PIO mode 1 */
|
||||
#define SBC_IDE_PIO1_TCSOE (0x03 << 29)
|
||||
#define SBC_IDE_PIO1_TOECS (0x01 << 26)
|
||||
@@ -106,7 +106,7 @@ typedef struct {
|
||||
#define SBC_IDE_PIO1_TWP (0x08 << 14)
|
||||
#define SBC_IDE_PIO1_TCSW (0x03 << 10)
|
||||
#define SBC_IDE_PIO1_TPM (0x00 << 6)
|
||||
#define SBC_IDE_PIO1_TA (0x0B << 0)
|
||||
#define SBC_IDE_PIO1_TA (0x0B << 0)
|
||||
/* Timing parameters PIO mode 2 */
|
||||
#define SBC_IDE_PIO2_TCSOE (0x05 << 29)
|
||||
#define SBC_IDE_PIO2_TOECS (0x01 << 26)
|
||||
@@ -116,7 +116,7 @@ typedef struct {
|
||||
#define SBC_IDE_PIO2_TWP (0x1F << 14)
|
||||
#define SBC_IDE_PIO2_TCSW (0x05 << 10)
|
||||
#define SBC_IDE_PIO2_TPM (0x00 << 6)
|
||||
#define SBC_IDE_PIO2_TA (0x22 << 0)
|
||||
#define SBC_IDE_PIO2_TA (0x22 << 0)
|
||||
/* Timing parameters PIO mode 3 */
|
||||
#define SBC_IDE_PIO3_TCSOE (0x05 << 29)
|
||||
#define SBC_IDE_PIO3_TOECS (0x01 << 26)
|
||||
@@ -126,7 +126,7 @@ typedef struct {
|
||||
#define SBC_IDE_PIO3_TWP (0x15 << 14)
|
||||
#define SBC_IDE_PIO3_TCSW (0x05 << 10)
|
||||
#define SBC_IDE_PIO3_TPM (0x00 << 6)
|
||||
#define SBC_IDE_PIO3_TA (0x1A << 0)
|
||||
#define SBC_IDE_PIO3_TA (0x1A << 0)
|
||||
/* Timing parameters PIO mode 4 */
|
||||
#define SBC_IDE_PIO4_TCSOE (0x04 << 29)
|
||||
#define SBC_IDE_PIO4_TOECS (0x01 << 26)
|
||||
@@ -136,7 +136,7 @@ typedef struct {
|
||||
#define SBC_IDE_PIO4_TWP (0x0D << 14)
|
||||
#define SBC_IDE_PIO4_TCSW (0x03 << 10)
|
||||
#define SBC_IDE_PIO4_TPM (0x00 << 6)
|
||||
#define SBC_IDE_PIO4_TA (0x12 << 0)
|
||||
#define SBC_IDE_PIO4_TA (0x12 << 0)
|
||||
/* Timing parameters MDMA mode 0 */
|
||||
#define SBC_IDE_MDMA0_TCSOE (0x03 << 29)
|
||||
#define SBC_IDE_MDMA0_TOECS (0x01 << 26)
|
||||
|
@@ -53,7 +53,7 @@
|
||||
|
||||
#define PSC_CTRL_DISABLE 0
|
||||
#define PSC_CTRL_SUSPEND 2
|
||||
#define PSC_CTRL_ENABLE 3
|
||||
#define PSC_CTRL_ENABLE 3
|
||||
|
||||
/* AC97 Registers. */
|
||||
#define PSC_AC97CFG_OFFSET 0x00000008
|
||||
@@ -85,8 +85,8 @@
|
||||
#define PSC_AC97CFG_SE_ENABLE (1 << 25)
|
||||
|
||||
#define PSC_AC97CFG_LEN_MASK (0xf << 21)
|
||||
#define PSC_AC97CFG_TXSLOT_MASK (0x3ff << 11)
|
||||
#define PSC_AC97CFG_RXSLOT_MASK (0x3ff << 1)
|
||||
#define PSC_AC97CFG_TXSLOT_MASK (0x3ff << 11)
|
||||
#define PSC_AC97CFG_RXSLOT_MASK (0x3ff << 1)
|
||||
#define PSC_AC97CFG_GE_ENABLE (1)
|
||||
|
||||
/* Enable slots 3-12. */
|
||||
@@ -95,7 +95,7 @@
|
||||
|
||||
/*
|
||||
* The word length equation is ((x) * 2) + 2, so choose 'x' appropriately.
|
||||
* The only sensible numbers are 7, 9, or possibly 11. Nah, just do the
|
||||
* The only sensible numbers are 7, 9, or possibly 11. Nah, just do the
|
||||
* arithmetic in the macro.
|
||||
*/
|
||||
#define PSC_AC97CFG_SET_LEN(x) (((((x) - 2) / 2) & 0xf) << 21)
|
||||
|
@@ -12,14 +12,14 @@
|
||||
#include <asm/mach-au1x00/au1000.h>
|
||||
|
||||
/* The default GPIO numberspace as documented in the Alchemy manuals.
|
||||
* GPIO0-31 from GPIO1 block, GPIO200-215 from GPIO2 block.
|
||||
* GPIO0-31 from GPIO1 block, GPIO200-215 from GPIO2 block.
|
||||
*/
|
||||
#define ALCHEMY_GPIO1_BASE 0
|
||||
#define ALCHEMY_GPIO2_BASE 200
|
||||
|
||||
#define ALCHEMY_GPIO1_NUM 32
|
||||
#define ALCHEMY_GPIO2_NUM 16
|
||||
#define ALCHEMY_GPIO1_MAX (ALCHEMY_GPIO1_BASE + ALCHEMY_GPIO1_NUM - 1)
|
||||
#define ALCHEMY_GPIO1_MAX (ALCHEMY_GPIO1_BASE + ALCHEMY_GPIO1_NUM - 1)
|
||||
#define ALCHEMY_GPIO2_MAX (ALCHEMY_GPIO2_BASE + ALCHEMY_GPIO2_NUM - 1)
|
||||
|
||||
#define MAKE_IRQ(intc, off) (AU1000_INTC##intc##_INT_BASE + (off))
|
||||
@@ -67,7 +67,7 @@ static inline int au1500_gpio1_to_irq(int gpio)
|
||||
switch (gpio) {
|
||||
case 0 ... 15:
|
||||
case 20:
|
||||
case 23 ... 28: return MAKE_IRQ(1, gpio);
|
||||
case 23 ... 28: return MAKE_IRQ(1, gpio);
|
||||
}
|
||||
|
||||
return -ENXIO;
|
||||
@@ -139,8 +139,8 @@ static inline int au1550_gpio1_to_irq(int gpio)
|
||||
|
||||
switch (gpio) {
|
||||
case 0 ... 15:
|
||||
case 20 ... 28: return MAKE_IRQ(1, gpio);
|
||||
case 16 ... 17: return MAKE_IRQ(1, 18 + gpio - 16);
|
||||
case 20 ... 28: return MAKE_IRQ(1, gpio);
|
||||
case 16 ... 17: return MAKE_IRQ(1, 18 + gpio - 16);
|
||||
}
|
||||
|
||||
return -ENXIO;
|
||||
@@ -152,9 +152,9 @@ static inline int au1550_gpio2_to_irq(int gpio)
|
||||
|
||||
switch (gpio) {
|
||||
case 0: return MAKE_IRQ(1, 16);
|
||||
case 1 ... 5: return MAKE_IRQ(1, 17); /* shared GPIO201_205 */
|
||||
case 1 ... 5: return MAKE_IRQ(1, 17); /* shared GPIO201_205 */
|
||||
case 6 ... 7: return MAKE_IRQ(1, 29 + gpio - 6);
|
||||
case 8 ... 15: return MAKE_IRQ(1, 31); /* shared GPIO208_215 */
|
||||
case 8 ... 15: return MAKE_IRQ(1, 31); /* shared GPIO208_215 */
|
||||
}
|
||||
|
||||
return -ENXIO;
|
||||
@@ -190,7 +190,7 @@ static inline int au1200_gpio2_to_irq(int gpio)
|
||||
case 0 ... 2: return MAKE_IRQ(0, 5 + gpio - 0);
|
||||
case 3: return MAKE_IRQ(0, 22);
|
||||
case 4 ... 7: return MAKE_IRQ(0, 24 + gpio - 4);
|
||||
case 8 ... 15: return MAKE_IRQ(0, 28); /* shared GPIO208_215 */
|
||||
case 8 ... 15: return MAKE_IRQ(0, 28); /* shared GPIO208_215 */
|
||||
}
|
||||
|
||||
return -ENXIO;
|
||||
@@ -428,7 +428,7 @@ static inline void alchemy_gpio2_disable_int(int gpio2)
|
||||
/**
|
||||
* alchemy_gpio2_enable - Activate GPIO2 block.
|
||||
*
|
||||
* The GPIO2 block must be enabled excplicitly to work. On systems
|
||||
* The GPIO2 block must be enabled excplicitly to work. On systems
|
||||
* where this isn't done by the bootloader, this macro can be used.
|
||||
*/
|
||||
static inline void alchemy_gpio2_enable(void)
|
||||
@@ -533,7 +533,7 @@ static inline int alchemy_irq_to_gpio(int irq)
|
||||
* 2 (1 for Au1000) gpio_chips are registered.
|
||||
*
|
||||
*(3) GPIOLIB=n, ALCHEMY_GPIO_INDIRECT=y:
|
||||
* the boards' gpio.h must provide the linux gpio wrapper functions,
|
||||
* the boards' gpio.h must provide the linux gpio wrapper functions,
|
||||
*
|
||||
*(4) GPIOLIB=n, ALCHEMY_GPIO_INDIRECT=n:
|
||||
* inlinable gpio functions are provided which enable access to the
|
||||
|
@@ -130,7 +130,7 @@ static inline int au1300_gpio_getinitlvl(unsigned int gpio)
|
||||
* A gpiochip for the 75 GPIOs is registered.
|
||||
*
|
||||
*(3) GPIOLIB=n, ALCHEMY_GPIO_INDIRECT=y:
|
||||
* the boards' gpio.h must provide the linux gpio wrapper functions,
|
||||
* the boards' gpio.h must provide the linux gpio wrapper functions,
|
||||
*
|
||||
*(4) GPIOLIB=n, ALCHEMY_GPIO_INDIRECT=n:
|
||||
* inlinable gpio functions are provided which enable access to the
|
||||
|
@@ -182,7 +182,7 @@ enum bcm63xx_regs_set {
|
||||
#define BCM_6328_PERF_BASE (0xb0000000)
|
||||
#define BCM_6328_TIMER_BASE (0xb0000040)
|
||||
#define BCM_6328_WDT_BASE (0xb000005c)
|
||||
#define BCM_6328_UART0_BASE (0xb0000100)
|
||||
#define BCM_6328_UART0_BASE (0xb0000100)
|
||||
#define BCM_6328_UART1_BASE (0xb0000120)
|
||||
#define BCM_6328_GPIO_BASE (0xb0000080)
|
||||
#define BCM_6328_SPI_BASE (0xdeadbeef)
|
||||
|
@@ -88,7 +88,7 @@
|
||||
#define bcm_mpi_readl(o) bcm_rset_readl(RSET_MPI, (o))
|
||||
#define bcm_mpi_writel(v, o) bcm_rset_writel(RSET_MPI, (v), (o))
|
||||
#define bcm_pcmcia_readl(o) bcm_rset_readl(RSET_PCMCIA, (o))
|
||||
#define bcm_pcmcia_writel(v, o) bcm_rset_writel(RSET_PCMCIA, (v), (o))
|
||||
#define bcm_pcmcia_writel(v, o) bcm_rset_writel(RSET_PCMCIA, (v), (o))
|
||||
#define bcm_pcie_readl(o) bcm_rset_readl(RSET_PCIE, (o))
|
||||
#define bcm_pcie_writel(v, o) bcm_rset_writel(RSET_PCIE, (v), (o))
|
||||
#define bcm_sdram_readl(o) bcm_rset_readl(RSET_SDRAM, (o))
|
||||
|
@@ -19,7 +19,7 @@ struct bcm_enet_desc {
|
||||
#define DMADESC_SOP_MASK (1 << 13)
|
||||
#define DMADESC_ESOP_MASK (DMADESC_EOP_MASK | DMADESC_SOP_MASK)
|
||||
#define DMADESC_WRAP_MASK (1 << 12)
|
||||
#define DMADESC_USB_NOZERO_MASK (1 << 1)
|
||||
#define DMADESC_USB_NOZERO_MASK (1 << 1)
|
||||
#define DMADESC_USB_ZERO_MASK (1 << 0)
|
||||
|
||||
/* status */
|
||||
|
@@ -143,7 +143,7 @@
|
||||
CKCTL_6368_NAND_EN | \
|
||||
CKCTL_6368_IPSEC_EN)
|
||||
|
||||
/* System PLL Control register */
|
||||
/* System PLL Control register */
|
||||
#define PERF_SYS_PLL_CTL_REG 0x8
|
||||
#define SYS_PLL_SOFT_RESET 0x1
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
#define SOFTRESET_6338_DMAMEM_MASK (1 << 6)
|
||||
#define SOFTRESET_6338_SAR_MASK (1 << 7)
|
||||
#define SOFTRESET_6338_ACLC_MASK (1 << 8)
|
||||
#define SOFTRESET_6338_ADSLMIPSPLL_MASK (1 << 10)
|
||||
#define SOFTRESET_6338_ADSLMIPSPLL_MASK (1 << 10)
|
||||
#define SOFTRESET_6338_ALL (SOFTRESET_6338_SPI_MASK | \
|
||||
SOFTRESET_6338_ENET_MASK | \
|
||||
SOFTRESET_6338_USBH_MASK | \
|
||||
@@ -238,7 +238,7 @@
|
||||
#define SOFTRESET_6348_DMAMEM_MASK (1 << 6)
|
||||
#define SOFTRESET_6348_SAR_MASK (1 << 7)
|
||||
#define SOFTRESET_6348_ACLC_MASK (1 << 8)
|
||||
#define SOFTRESET_6348_ADSLMIPSPLL_MASK (1 << 10)
|
||||
#define SOFTRESET_6348_ADSLMIPSPLL_MASK (1 << 10)
|
||||
|
||||
#define SOFTRESET_6348_ALL (SOFTRESET_6348_SPI_MASK | \
|
||||
SOFTRESET_6348_ENET_MASK | \
|
||||
@@ -560,7 +560,7 @@
|
||||
|
||||
|
||||
#define GPIO_PINMUX_OTHR_REG 0x24
|
||||
#define GPIO_PINMUX_OTHR_6328_USB_SHIFT 12
|
||||
#define GPIO_PINMUX_OTHR_6328_USB_SHIFT 12
|
||||
#define GPIO_PINMUX_OTHR_6328_USB_MASK (3 << GPIO_PINMUX_OTHR_6328_USB_SHIFT)
|
||||
#define GPIO_PINMUX_OTHR_6328_USB_HOST (1 << GPIO_PINMUX_OTHR_6328_USB_SHIFT)
|
||||
#define GPIO_PINMUX_OTHR_6328_USB_DEV (2 << GPIO_PINMUX_OTHR_6328_USB_SHIFT)
|
||||
@@ -572,12 +572,12 @@
|
||||
/* those bits must be kept as read in gpio basemode register*/
|
||||
|
||||
#define GPIO_STRAPBUS_REG 0x40
|
||||
#define STRAPBUS_6358_BOOT_SEL_PARALLEL (1 << 1)
|
||||
#define STRAPBUS_6358_BOOT_SEL_PARALLEL (1 << 1)
|
||||
#define STRAPBUS_6358_BOOT_SEL_SERIAL (0 << 1)
|
||||
#define STRAPBUS_6368_BOOT_SEL_MASK 0x3
|
||||
#define STRAPBUS_6368_BOOT_SEL_NAND 0
|
||||
#define STRAPBUS_6368_BOOT_SEL_SERIAL 1
|
||||
#define STRAPBUS_6368_BOOT_SEL_PARALLEL 3
|
||||
#define STRAPBUS_6368_BOOT_SEL_PARALLEL 3
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
@@ -812,7 +812,7 @@
|
||||
#define USBH_PRIV_SWAP_OHCI_DATA_MASK (1 << USBH_PRIV_SWAP_OHCI_DATA_SHIFT)
|
||||
|
||||
#define USBH_PRIV_UTMI_CTL_6368_REG 0x10
|
||||
#define USBH_PRIV_UTMI_CTL_NODRIV_SHIFT 12
|
||||
#define USBH_PRIV_UTMI_CTL_NODRIV_SHIFT 12
|
||||
#define USBH_PRIV_UTMI_CTL_NODRIV_MASK (0xf << USBH_PRIV_UTMI_CTL_NODRIV_SHIFT)
|
||||
#define USBH_PRIV_UTMI_CTL_HOSTB_SHIFT 0
|
||||
#define USBH_PRIV_UTMI_CTL_HOSTB_MASK (0xf << USBH_PRIV_UTMI_CTL_HOSTB_SHIFT)
|
||||
@@ -841,7 +841,7 @@
|
||||
#define USBD_CONTROL_INIT_SEL_MASK (0xf << USBD_CONTROL_INIT_SEL_SHIFT)
|
||||
#define USBD_CONTROL_FIFO_RESET_SHIFT 6
|
||||
#define USBD_CONTROL_FIFO_RESET_MASK (3 << USBD_CONTROL_FIFO_RESET_SHIFT)
|
||||
#define USBD_CONTROL_SETUPERRLOCK_SHIFT 5
|
||||
#define USBD_CONTROL_SETUPERRLOCK_SHIFT 5
|
||||
#define USBD_CONTROL_SETUPERRLOCK_MASK (1 << USBD_CONTROL_SETUPERRLOCK_SHIFT)
|
||||
#define USBD_CONTROL_DONE_CSRS_SHIFT 0
|
||||
#define USBD_CONTROL_DONE_CSRS_MASK (1 << USBD_CONTROL_DONE_CSRS_SHIFT)
|
||||
@@ -852,7 +852,7 @@
|
||||
#define USBD_STRAPS_APP_SELF_PWR_MASK (1 << USBD_STRAPS_APP_SELF_PWR_SHIFT)
|
||||
#define USBD_STRAPS_APP_DISCON_SHIFT 9
|
||||
#define USBD_STRAPS_APP_DISCON_MASK (1 << USBD_STRAPS_APP_DISCON_SHIFT)
|
||||
#define USBD_STRAPS_APP_CSRPRGSUP_SHIFT 8
|
||||
#define USBD_STRAPS_APP_CSRPRGSUP_SHIFT 8
|
||||
#define USBD_STRAPS_APP_CSRPRGSUP_MASK (1 << USBD_STRAPS_APP_CSRPRGSUP_SHIFT)
|
||||
#define USBD_STRAPS_APP_RMTWKUP_SHIFT 6
|
||||
#define USBD_STRAPS_APP_RMTWKUP_MASK (1 << USBD_STRAPS_APP_RMTWKUP_SHIFT)
|
||||
@@ -943,7 +943,7 @@
|
||||
#define USBD_EPNUM_TYPEMAP_REG 0x50
|
||||
#define USBD_EPNUM_TYPEMAP_TYPE_SHIFT 8
|
||||
#define USBD_EPNUM_TYPEMAP_TYPE_MASK (0x3 << USBD_EPNUM_TYPEMAP_TYPE_SHIFT)
|
||||
#define USBD_EPNUM_TYPEMAP_DMA_CH_SHIFT 0
|
||||
#define USBD_EPNUM_TYPEMAP_DMA_CH_SHIFT 0
|
||||
#define USBD_EPNUM_TYPEMAP_DMA_CH_MASK (0xf << USBD_EPNUM_TYPEMAP_DMACH_SHIFT)
|
||||
|
||||
/* Misc per-endpoint settings */
|
||||
@@ -1048,8 +1048,8 @@
|
||||
#define MPI_L2PREMAP_IS_CARDBUS_MASK (1 << 2)
|
||||
|
||||
#define MPI_PCIMODESEL_REG 0x144
|
||||
#define MPI_PCIMODESEL_BAR1_NOSWAP_MASK (1 << 0)
|
||||
#define MPI_PCIMODESEL_BAR2_NOSWAP_MASK (1 << 1)
|
||||
#define MPI_PCIMODESEL_BAR1_NOSWAP_MASK (1 << 0)
|
||||
#define MPI_PCIMODESEL_BAR2_NOSWAP_MASK (1 << 1)
|
||||
#define MPI_PCIMODESEL_EXT_ARB_MASK (1 << 2)
|
||||
#define MPI_PCIMODESEL_PREFETCH_SHIFT 4
|
||||
#define MPI_PCIMODESEL_PREFETCH_MASK (0xf << MPI_PCIMODESEL_PREFETCH_SHIFT)
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#ifndef __ASM_MACH_BCM63XX_IRQ_H
|
||||
#define __ASM_MACH_BCM63XX_IRQ_H
|
||||
|
||||
#define NR_IRQS 128
|
||||
#define NR_IRQS 128
|
||||
#define MIPS_CPU_IRQ_BASE 0
|
||||
|
||||
#endif
|
||||
|
@@ -51,8 +51,8 @@ enum octeon_irq {
|
||||
/* 256 - 511 represent the MSI interrupts 0-255 */
|
||||
#define OCTEON_IRQ_MSI_BIT0 (256)
|
||||
|
||||
#define OCTEON_IRQ_MSI_LAST (OCTEON_IRQ_MSI_BIT0 + 255)
|
||||
#define OCTEON_IRQ_LAST (OCTEON_IRQ_MSI_LAST + 1)
|
||||
#define OCTEON_IRQ_MSI_LAST (OCTEON_IRQ_MSI_BIT0 + 255)
|
||||
#define OCTEON_IRQ_LAST (OCTEON_IRQ_MSI_LAST + 1)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@@ -16,7 +16,7 @@
|
||||
#define CP0_PRID_OCTEON_PASS1 0x000d0000
|
||||
#define CP0_PRID_OCTEON_CN30XX 0x000d0200
|
||||
|
||||
.macro kernel_entry_setup
|
||||
.macro kernel_entry_setup
|
||||
# Registers set by bootloader:
|
||||
# (only 32 bits set by bootloader, all addresses are physical
|
||||
# addresses, and need to have the appropriate memory region set
|
||||
@@ -28,12 +28,12 @@
|
||||
.set push
|
||||
.set arch=octeon
|
||||
# Read the cavium mem control register
|
||||
dmfc0 v0, CP0_CVMMEMCTL_REG
|
||||
dmfc0 v0, CP0_CVMMEMCTL_REG
|
||||
# Clear the lower 6 bits, the CVMSEG size
|
||||
dins v0, $0, 0, 6
|
||||
ori v0, CONFIG_CAVIUM_OCTEON_CVMSEG_SIZE
|
||||
dmtc0 v0, CP0_CVMMEMCTL_REG # Write the cavium mem control register
|
||||
dmfc0 v0, CP0_CVMCTL_REG # Read the cavium control register
|
||||
dins v0, $0, 0, 6
|
||||
ori v0, CONFIG_CAVIUM_OCTEON_CVMSEG_SIZE
|
||||
dmtc0 v0, CP0_CVMMEMCTL_REG # Write the cavium mem control register
|
||||
dmfc0 v0, CP0_CVMCTL_REG # Read the cavium control register
|
||||
#ifdef CONFIG_CAVIUM_OCTEON_HW_FIX_UNALIGNED
|
||||
# Disable unaligned load/store support but leave HW fixup enabled
|
||||
or v0, v0, 0x5001
|
||||
@@ -69,14 +69,14 @@ skip:
|
||||
and v0, v0, v1
|
||||
ori v0, v0, (6 << 7)
|
||||
# Write the cavium control register
|
||||
dmtc0 v0, CP0_CVMCTL_REG
|
||||
dmtc0 v0, CP0_CVMCTL_REG
|
||||
sync
|
||||
# Flush dcache after config change
|
||||
cache 9, 0($0)
|
||||
cache 9, 0($0)
|
||||
# Get my core id
|
||||
rdhwr v0, $0
|
||||
rdhwr v0, $0
|
||||
# Jump the master to kernel_entry
|
||||
bne a2, zero, octeon_main_processor
|
||||
bne a2, zero, octeon_main_processor
|
||||
nop
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
@@ -87,21 +87,21 @@ skip:
|
||||
#
|
||||
|
||||
# This is the variable where the next core to boot os stored
|
||||
PTR_LA t0, octeon_processor_boot
|
||||
PTR_LA t0, octeon_processor_boot
|
||||
octeon_spin_wait_boot:
|
||||
# Get the core id of the next to be booted
|
||||
LONG_L t1, (t0)
|
||||
LONG_L t1, (t0)
|
||||
# Keep looping if it isn't me
|
||||
bne t1, v0, octeon_spin_wait_boot
|
||||
nop
|
||||
# Get my GP from the global variable
|
||||
PTR_LA t0, octeon_processor_gp
|
||||
LONG_L gp, (t0)
|
||||
PTR_LA t0, octeon_processor_gp
|
||||
LONG_L gp, (t0)
|
||||
# Get my SP from the global variable
|
||||
PTR_LA t0, octeon_processor_sp
|
||||
LONG_L sp, (t0)
|
||||
PTR_LA t0, octeon_processor_sp
|
||||
LONG_L sp, (t0)
|
||||
# Set the SP global variable to zero so the master knows we've started
|
||||
LONG_S zero, (t0)
|
||||
LONG_S zero, (t0)
|
||||
#ifdef __OCTEON__
|
||||
syncw
|
||||
syncw
|
||||
@@ -130,7 +130,7 @@ octeon_main_processor:
|
||||
/*
|
||||
* Do SMP slave processor setup necessary before we can savely execute C code.
|
||||
*/
|
||||
.macro smp_slave_setup
|
||||
.macro smp_slave_setup
|
||||
.endm
|
||||
|
||||
#endif /* __ASM_MACH_CAVIUM_OCTEON_KERNEL_ENTRY_H */
|
||||
|
@@ -32,9 +32,9 @@
|
||||
#define cpu_scache_line_size() 0
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
#define cpu_has_llsc 0
|
||||
#define cpu_has_llsc 0
|
||||
#else
|
||||
#define cpu_has_llsc 1
|
||||
#define cpu_has_llsc 1
|
||||
#endif
|
||||
|
||||
#define cpu_has_mips16 0
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2006 Yoichi Yuasa <yuasa@linux-mips.org>
|
||||
* Copyright (C) 2006 Yoichi Yuasa <yuasa@linux-mips.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@@ -110,7 +110,7 @@ enum bcsr_whoami_boards {
|
||||
BCSR_WHOAMI_DB1300,
|
||||
};
|
||||
|
||||
/* STATUS reg. Unless otherwise noted, they're valid on all boards.
|
||||
/* STATUS reg. Unless otherwise noted, they're valid on all boards.
|
||||
* PB1200 = DB1200.
|
||||
*/
|
||||
#define BCSR_STATUS_PC0VS 0x0003
|
||||
@@ -190,7 +190,7 @@ enum bcsr_whoami_boards {
|
||||
#define BCSR_RESETS_OTPWRPROT 0x1000 /* DB1300 */
|
||||
#define BCSR_RESETS_OTPCSB 0x2000 /* DB1300 */
|
||||
#define BCSR_RESETS_OTGPWR 0x4000 /* DB1300 */
|
||||
#define BCSR_RESETS_USBHPWR 0x8000 /* DB1300 */
|
||||
#define BCSR_RESETS_USBHPWR 0x8000 /* DB1300 */
|
||||
|
||||
#define BCSR_BOARD_LCDVEE 0x0001
|
||||
#define BCSR_BOARD_LCDVDD 0x0002
|
||||
|
@@ -63,7 +63,7 @@
|
||||
* the interrupt define and subtracting the DB1200_INT_BEGIN value.
|
||||
*
|
||||
* Example: IDE bis pos is = 64 - 64
|
||||
* ETH bit pos is = 65 - 64
|
||||
* ETH bit pos is = 65 - 64
|
||||
*/
|
||||
enum external_db1200_ints {
|
||||
DB1200_INT_BEGIN = AU1000_MAX_INTR + 1,
|
||||
|
@@ -21,7 +21,7 @@
|
||||
#define DB1300_SD1_INSERT_INT (DB1300_FIRST_INT + 12)
|
||||
#define DB1300_SD1_EJECT_INT (DB1300_FIRST_INT + 13)
|
||||
#define DB1300_OTG_VBUS_OC_INT (DB1300_FIRST_INT + 14)
|
||||
#define DB1300_HOST_VBUS_OC_INT (DB1300_FIRST_INT + 15)
|
||||
#define DB1300_HOST_VBUS_OC_INT (DB1300_FIRST_INT + 15)
|
||||
#define DB1300_LAST_INT (DB1300_FIRST_INT + 15)
|
||||
|
||||
/* SMSC9210 CS */
|
||||
|
@@ -8,7 +8,7 @@
|
||||
#ifndef __ASM_MACH_EMMA2RH_IRQ_H
|
||||
#define __ASM_MACH_EMMA2RH_IRQ_H
|
||||
|
||||
#define NR_IRQS 256
|
||||
#define NR_IRQS 256
|
||||
|
||||
#include_next <irq.h>
|
||||
|
||||
|
@@ -8,6 +8,6 @@
|
||||
#ifndef __ASM_MACH_GENERIC_CPU_FEATURE_OVERRIDES_H
|
||||
#define __ASM_MACH_GENERIC_CPU_FEATURE_OVERRIDES_H
|
||||
|
||||
/* Intentionally empty file ... */
|
||||
/* Intentionally empty file ... */
|
||||
|
||||
#endif /* __ASM_MACH_GENERIC_CPU_FEATURE_OVERRIDES_H */
|
||||
|
@@ -98,7 +98,7 @@ static inline void fd_disable_irq(void)
|
||||
static inline int fd_request_irq(void)
|
||||
{
|
||||
return request_irq(FLOPPY_IRQ, floppy_interrupt,
|
||||
0, "floppy", NULL);
|
||||
0, "floppy", NULL);
|
||||
}
|
||||
|
||||
static inline void fd_free_irq(void)
|
||||
@@ -106,7 +106,7 @@ static inline void fd_free_irq(void)
|
||||
free_irq(FLOPPY_IRQ, NULL);
|
||||
}
|
||||
|
||||
#define fd_free_irq() free_irq(FLOPPY_IRQ, NULL);
|
||||
#define fd_free_irq() free_irq(FLOPPY_IRQ, NULL);
|
||||
|
||||
|
||||
static inline unsigned long fd_getfdaddr1(void)
|
||||
|
@@ -51,7 +51,7 @@ static inline void __ide_flush_dcache_range(unsigned long addr, unsigned long si
|
||||
/*
|
||||
* insw() and gang might be called with interrupts disabled, so we can't
|
||||
* send IPIs for flushing due to the potencial of deadlocks, see the comment
|
||||
* above smp_call_function() in arch/mips/kernel/smp.c. We work around the
|
||||
* above smp_call_function() in arch/mips/kernel/smp.c. We work around the
|
||||
* problem by disabling preemption so we know we actually perform the flush
|
||||
* on the processor that actually has the lines to be flushed which hopefully
|
||||
* is even better for performance anyway.
|
||||
@@ -123,7 +123,7 @@ static inline void __ide_mm_outsl(void __iomem * port, void *addr, u32 count)
|
||||
__ide_flush_epilogue();
|
||||
}
|
||||
|
||||
/* ide_insw calls insw, not __ide_insw. Why? */
|
||||
/* ide_insw calls insw, not __ide_insw. Why? */
|
||||
#undef insw
|
||||
#undef insl
|
||||
#undef outsw
|
||||
|
@@ -9,12 +9,12 @@
|
||||
#define __ASM_MACH_GENERIC_IRQ_H
|
||||
|
||||
#ifndef NR_IRQS
|
||||
#define NR_IRQS 128
|
||||
#define NR_IRQS 128
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_I8259
|
||||
#ifndef I8259A_IRQ_BASE
|
||||
#define I8259A_IRQ_BASE 0
|
||||
#define I8259A_IRQ_BASE 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@@ -69,7 +69,7 @@
|
||||
#define HIGHMEM_START (_AC(1, UL) << _AC(59, UL))
|
||||
#endif
|
||||
|
||||
#define TO_PHYS(x) ( ((x) & TO_PHYS_MASK))
|
||||
#define TO_PHYS(x) ( ((x) & TO_PHYS_MASK))
|
||||
#define TO_CAC(x) (CAC_BASE | ((x) & TO_PHYS_MASK))
|
||||
#define TO_UNCAC(x) (UNCAC_BASE | ((x) & TO_PHYS_MASK))
|
||||
|
||||
|
@@ -51,8 +51,8 @@
|
||||
* We might not get launched at the address the kernel is linked to,
|
||||
* so we jump there.
|
||||
*/
|
||||
PTR_LA t0, 0f
|
||||
jr t0
|
||||
PTR_LA t0, 0f
|
||||
jr t0
|
||||
0:
|
||||
.endm
|
||||
|
||||
|
@@ -7,7 +7,7 @@
|
||||
|
||||
#define pa_to_nid(addr) NASID_TO_COMPACT_NODEID(NASID_GET(addr))
|
||||
|
||||
#define LEVELS_PER_SLICE 128
|
||||
#define LEVELS_PER_SLICE 128
|
||||
|
||||
struct slice_data {
|
||||
unsigned long irq_enable_mask[2];
|
||||
|
@@ -34,7 +34,7 @@ extern int pcibus_to_node(struct pci_bus *);
|
||||
|
||||
extern unsigned char __node_distances[MAX_COMPACT_NODES][MAX_COMPACT_NODES];
|
||||
|
||||
#define node_distance(from, to) (__node_distances[(from)][(to)])
|
||||
#define node_distance(from, to) (__node_distances[(from)][(to)])
|
||||
|
||||
#include <asm-generic/topology.h>
|
||||
|
||||
|
@@ -28,7 +28,7 @@
|
||||
#define cpu_has_ic_fills_f_dc 0
|
||||
#define cpu_has_dsp 0
|
||||
#define cpu_has_dsp2 0
|
||||
#define cpu_icache_snoops_remote_store 1
|
||||
#define cpu_icache_snoops_remote_store 1
|
||||
#define cpu_has_mipsmt 0
|
||||
#define cpu_has_userlocal 0
|
||||
|
||||
|
@@ -6,7 +6,7 @@
|
||||
* Copyright (C) 1994 - 1999, 2000, 03, 04 Ralf Baechle
|
||||
* Copyright (C) 2000, 2002 Maciej W. Rozycki
|
||||
* Copyright (C) 1990, 1999, 2000 Silicon Graphics, Inc.
|
||||
* 2004 pf
|
||||
* 2004 pf
|
||||
*/
|
||||
#ifndef _ASM_MACH_IP28_SPACES_H
|
||||
#define _ASM_MACH_IP28_SPACES_H
|
||||
|
@@ -50,7 +50,7 @@ static inline dma_addr_t plat_map_dma_mem_page(struct device *dev,
|
||||
return pa;
|
||||
}
|
||||
|
||||
/* This is almost certainly wrong but it's what dma-ip32.c used to use */
|
||||
/* This is almost certainly wrong but it's what dma-ip32.c used to use */
|
||||
static inline unsigned long plat_dma_addr_to_phys(struct device *dev,
|
||||
dma_addr_t dma_addr)
|
||||
{
|
||||
|
@@ -17,7 +17,7 @@
|
||||
#define MIPS4K_ICACHE_REFILL_WAR 0
|
||||
#define MIPS_CACHE_SYNC_WAR 0
|
||||
#define TX49XX_ICACHE_INDEX_INV_WAR 0
|
||||
#define ICACHE_REFILLS_WORKAROUND_WAR 1
|
||||
#define ICACHE_REFILLS_WORKAROUND_WAR 1
|
||||
#define R10000_LLSC_WAR 0
|
||||
#define MIPS34K_MISSED_ITLB_WAR 0
|
||||
|
||||
|
@@ -90,7 +90,7 @@ static inline void fd_disable_irq(void)
|
||||
static inline int fd_request_irq(void)
|
||||
{
|
||||
return request_irq(FLOPPY_IRQ, floppy_interrupt,
|
||||
0, "floppy", NULL);
|
||||
0, "floppy", NULL);
|
||||
}
|
||||
|
||||
static inline void fd_free_irq(void)
|
||||
|
@@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2010, Lars-Peter Clausen <lars@metafoo.de>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
|
@@ -3,7 +3,7 @@
|
||||
* JZ7420/JZ4740 DMA definitions
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
@@ -40,9 +40,9 @@ enum jz4740_dma_width {
|
||||
};
|
||||
|
||||
enum jz4740_dma_transfer_size {
|
||||
JZ4740_DMA_TRANSFER_SIZE_4BYTE = 0,
|
||||
JZ4740_DMA_TRANSFER_SIZE_1BYTE = 1,
|
||||
JZ4740_DMA_TRANSFER_SIZE_2BYTE = 2,
|
||||
JZ4740_DMA_TRANSFER_SIZE_4BYTE = 0,
|
||||
JZ4740_DMA_TRANSFER_SIZE_1BYTE = 1,
|
||||
JZ4740_DMA_TRANSFER_SIZE_2BYTE = 2,
|
||||
JZ4740_DMA_TRANSFER_SIZE_16BYTE = 3,
|
||||
JZ4740_DMA_TRANSFER_SIZE_32BYTE = 4,
|
||||
};
|
||||
@@ -87,4 +87,4 @@ uint32_t jz4740_dma_get_residue(const struct jz4740_dma_chan *dma);
|
||||
void jz4740_dma_set_complete_cb(struct jz4740_dma_chan *dma,
|
||||
jz4740_dma_complete_callback_t cb);
|
||||
|
||||
#endif /* __ASM_JZ4740_DMA_H__ */
|
||||
#endif /* __ASM_JZ4740_DMA_H__ */
|
||||
|
@@ -198,7 +198,7 @@ uint32_t jz_gpio_port_get_value(int port, uint32_t mask);
|
||||
#define JZ_GPIO_FUNC_MEM_ADDR14 JZ_GPIO_FUNC1
|
||||
#define JZ_GPIO_FUNC_MEM_ADDR15 JZ_GPIO_FUNC1
|
||||
#define JZ_GPIO_FUNC_MEM_ADDR16 JZ_GPIO_FUNC1
|
||||
#define JZ_GPIO_FUNC_LCD_CLS JZ_GPIO_FUNC1
|
||||
#define JZ_GPIO_FUNC_LCD_CLS JZ_GPIO_FUNC1
|
||||
#define JZ_GPIO_FUNC_LCD_SPL JZ_GPIO_FUNC1
|
||||
#define JZ_GPIO_FUNC_MEM_DCS JZ_GPIO_FUNC1
|
||||
#define JZ_GPIO_FUNC_MEM_RAS JZ_GPIO_FUNC1
|
||||
|
@@ -3,7 +3,7 @@
|
||||
* JZ4740 IRQ definitions
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
|
@@ -3,7 +3,7 @@
|
||||
* JZ4740 platform device definitions
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
|
@@ -3,7 +3,7 @@
|
||||
* JZ4740 platform timer support
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user