1/*
2 * linux/include/asm-mips/tx4938/tx4938_mips.h
3 * Generic bitmask definitions
4 *
5 * 2003-2005 (c) MontaVista Software, Inc. This file is licensed under the
6 * terms of the GNU General Public License version 2. This program is
7 * licensed "as is" without any warranty of any kind, whether express
8 * or implied.
9 *
10 * Support for TX4938 in 2.6 - Manish Lachwani (mlachwani@mvista.com)
11 */
12
13#ifndef TX4938_TX4938_MIPS_H
14#define TX4938_TX4938_MIPS_H
15#ifndef __ASSEMBLY__
16
17#define reg_rd08(r)    ((u8 )(*((vu8 *)(r))))
18#define reg_rd16(r)    ((u16)(*((vu16*)(r))))
19#define reg_rd32(r)    ((u32)(*((vu32*)(r))))
20#define reg_rd64(r)    ((u64)(*((vu64*)(r))))
21
22#define reg_wr08(r,v)  ((*((vu8 *)(r)))=((u8 )(v)))
23#define reg_wr16(r,v)  ((*((vu16*)(r)))=((u16)(v)))
24#define reg_wr32(r,v)  ((*((vu32*)(r)))=((u32)(v)))
25#define reg_wr64(r,v)  ((*((vu64*)(r)))=((u64)(v)))
26
27typedef volatile __signed char vs8;
28typedef volatile unsigned char vu8;
29
30typedef volatile __signed short vs16;
31typedef volatile unsigned short vu16;
32
33typedef volatile __signed int vs32;
34typedef volatile unsigned int vu32;
35
36typedef s8 s08;
37typedef vs8 vs08;
38
39typedef u8 u08;
40typedef vu8 vu08;
41
42#if (_MIPS_SZLONG == 64)
43
44typedef volatile __signed__ long vs64;
45typedef volatile unsigned long vu64;
46
47#else
48
49typedef volatile __signed__ long long vs64;
50typedef volatile unsigned long long vu64;
51
52#endif
53#endif
54#endif
55