[x86] add rootwait option to the kernel command line (#6209)
[openwrt/svn-archive/archive.git] / target / linux / s3c24xx / files-2.6.31 / drivers / ar6000 / include / AR6Khwreg.h
1 /*
2 * Copyright (c) 2004-2007 Atheros Communications Inc.
3 * All rights reserved.
4 *
5 * $ATH_LICENSE_HOSTSDK0_C$
6 *
7 * This file contains the definitions for AR6001 registers
8 * that may be directly manipulated by Host software.
9 */
10
11 #ifndef __AR6KHWREG_H__
12 #define __AR6KHWREG_H__
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 /* Host registers */
19 #define HOST_INT_STATUS_ADDRESS 0x00000400
20 #define CPU_INT_STATUS_ADDRESS 0x00000401
21 #define ERROR_INT_STATUS_ADDRESS 0x00000402
22 #define INT_STATUS_ENABLE_ADDRESS 0x00000418
23 #define CPU_INT_STATUS_ENABLE_ADDRESS 0x00000419
24 #define COUNT_ADDRESS 0x00000420
25 #define COUNT_DEC_ADDRESS 0x00000440
26 #define WINDOW_DATA_ADDRESS 0x00000474
27 #define WINDOW_WRITE_ADDR_ADDRESS 0x00000478
28 #define WINDOW_READ_ADDR_ADDRESS 0x0000047c
29
30 /* Target addresses */
31 #define RESET_CONTROL_ADDRESS 0x0c000000
32 #define MC_REMAP_VALID_ADDRESS 0x0c004080
33 #define MC_REMAP_SIZE_ADDRESS 0x0c004100
34 #define MC_REMAP_COMPARE_ADDRESS 0x0c004180
35 #define MC_REMAP_TARGET_ADDRESS 0x0c004200
36 #define LOCAL_COUNT_ADDRESS 0x0c014080
37 #define LOCAL_SCRATCH_ADDRESS 0x0c0140c0
38
39
40 #define INT_STATUS_ENABLE_ERROR_MSB 7
41 #define INT_STATUS_ENABLE_ERROR_LSB 7
42 #define INT_STATUS_ENABLE_ERROR_MASK 0x00000080
43 #define INT_STATUS_ENABLE_ERROR_GET(x) (((x) & INT_STATUS_ENABLE_ERROR_MASK) >> INT_STATUS_ENABLE_ERROR_LSB)
44 #define INT_STATUS_ENABLE_ERROR_SET(x) (((x) << INT_STATUS_ENABLE_ERROR_LSB) & INT_STATUS_ENABLE_ERROR_MASK)
45
46 #define INT_STATUS_ENABLE_CPU_MSB 6
47 #define INT_STATUS_ENABLE_CPU_LSB 6
48 #define INT_STATUS_ENABLE_CPU_MASK 0x00000040
49 #define INT_STATUS_ENABLE_CPU_GET(x) (((x) & INT_STATUS_ENABLE_CPU_MASK) >> INT_STATUS_ENABLE_CPU_LSB)
50 #define INT_STATUS_ENABLE_CPU_SET(x) (((x) << INT_STATUS_ENABLE_CPU_LSB) & INT_STATUS_ENABLE_CPU_MASK)
51
52 #define INT_STATUS_ENABLE_COUNTER_MSB 4
53 #define INT_STATUS_ENABLE_COUNTER_LSB 4
54 #define INT_STATUS_ENABLE_COUNTER_MASK 0x00000010
55 #define INT_STATUS_ENABLE_COUNTER_GET(x) (((x) & INT_STATUS_ENABLE_COUNTER_MASK) >> INT_STATUS_ENABLE_COUNTER_LSB)
56 #define INT_STATUS_ENABLE_COUNTER_SET(x) (((x) << INT_STATUS_ENABLE_COUNTER_LSB) & INT_STATUS_ENABLE_COUNTER_MASK)
57
58 #define INT_STATUS_ENABLE_MBOX_DATA_MSB 3
59 #define INT_STATUS_ENABLE_MBOX_DATA_LSB 0
60 #define INT_STATUS_ENABLE_MBOX_DATA_MASK 0x0000000f
61 #define INT_STATUS_ENABLE_MBOX_DATA_GET(x) (((x) & INT_STATUS_ENABLE_MBOX_DATA_MASK) >> INT_STATUS_ENABLE_MBOX_DATA_LSB)
62 #define INT_STATUS_ENABLE_MBOX_DATA_SET(x) (((x) << INT_STATUS_ENABLE_MBOX_DATA_LSB) & INT_STATUS_ENABLE_MBOX_DATA_MASK)
63
64 #define ERROR_STATUS_ENABLE_RX_UNDERFLOW_MSB 1
65 #define ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB 1
66 #define ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK 0x00000002
67 #define ERROR_STATUS_ENABLE_RX_UNDERFLOW_GET(x) (((x) & ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK) >> ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB)
68 #define ERROR_STATUS_ENABLE_RX_UNDERFLOW_SET(x) (((x) << ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB) & ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK)
69
70 #define ERROR_STATUS_ENABLE_TX_OVERFLOW_MSB 0
71 #define ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB 0
72 #define ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK 0x00000001
73 #define ERROR_STATUS_ENABLE_TX_OVERFLOW_GET(x) (((x) & ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK) >> ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB)
74 #define ERROR_STATUS_ENABLE_TX_OVERFLOW_SET(x) (((x) << ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB) & ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK)
75
76
77 #define CPU_INT_STATUS_ENABLE_BIT_MSB 7
78 #define CPU_INT_STATUS_ENABLE_BIT_LSB 0
79 #define CPU_INT_STATUS_ENABLE_BIT_MASK 0x000000ff
80 #define CPU_INT_STATUS_ENABLE_BIT_GET(x) (((x) & CPU_INT_STATUS_ENABLE_BIT_MASK) >> CPU_INT_STATUS_ENABLE_BIT_LSB)
81 #define CPU_INT_STATUS_ENABLE_BIT_SET(x) (((x) << CPU_INT_STATUS_ENABLE_BIT_LSB) & CPU_INT_STATUS_ENABLE_BIT_MASK)
82
83 #define COUNTER_INT_STATUS_ENABLE_BIT_MSB 7
84 #define COUNTER_INT_STATUS_ENABLE_BIT_LSB 0
85 #define COUNTER_INT_STATUS_ENABLE_BIT_MASK 0x000000ff
86 #define COUNTER_INT_STATUS_ENABLE_BIT_GET(x) (((x) & COUNTER_INT_STATUS_ENABLE_BIT_MASK) >> COUNTER_INT_STATUS_ENABLE_BIT_LSB)
87 #define COUNTER_INT_STATUS_ENABLE_BIT_SET(x) (((x) << COUNTER_INT_STATUS_ENABLE_BIT_LSB) & COUNTER_INT_STATUS_ENABLE_BIT_MASK)
88
89 #define ERROR_INT_STATUS_WAKEUP_MSB 2
90 #define ERROR_INT_STATUS_WAKEUP_LSB 2
91 #define ERROR_INT_STATUS_WAKEUP_MASK 0x00000004
92 #define ERROR_INT_STATUS_WAKEUP_GET(x) (((x) & ERROR_INT_STATUS_WAKEUP_MASK) >> ERROR_INT_STATUS_WAKEUP_LSB)
93 #define ERROR_INT_STATUS_WAKEUP_SET(x) (((x) << ERROR_INT_STATUS_WAKEUP_LSB) & ERROR_INT_STATUS_WAKEUP_MASK)
94
95 #define ERROR_INT_STATUS_RX_UNDERFLOW_MSB 1
96 #define ERROR_INT_STATUS_RX_UNDERFLOW_LSB 1
97 #define ERROR_INT_STATUS_RX_UNDERFLOW_MASK 0x00000002
98 #define ERROR_INT_STATUS_RX_UNDERFLOW_GET(x) (((x) & ERROR_INT_STATUS_RX_UNDERFLOW_MASK) >> ERROR_INT_STATUS_RX_UNDERFLOW_LSB)
99 #define ERROR_INT_STATUS_RX_UNDERFLOW_SET(x) (((x) << ERROR_INT_STATUS_RX_UNDERFLOW_LSB) & ERROR_INT_STATUS_RX_UNDERFLOW_MASK)
100
101 #define ERROR_INT_STATUS_TX_OVERFLOW_MSB 0
102 #define ERROR_INT_STATUS_TX_OVERFLOW_LSB 0
103 #define ERROR_INT_STATUS_TX_OVERFLOW_MASK 0x00000001
104 #define ERROR_INT_STATUS_TX_OVERFLOW_GET(x) (((x) & ERROR_INT_STATUS_TX_OVERFLOW_MASK) >> ERROR_INT_STATUS_TX_OVERFLOW_LSB)
105 #define ERROR_INT_STATUS_TX_OVERFLOW_SET(x) (((x) << ERROR_INT_STATUS_TX_OVERFLOW_LSB) & ERROR_INT_STATUS_TX_OVERFLOW_MASK)
106
107 #define HOST_INT_STATUS_ERROR_MSB 7
108 #define HOST_INT_STATUS_ERROR_LSB 7
109 #define HOST_INT_STATUS_ERROR_MASK 0x00000080
110 #define HOST_INT_STATUS_ERROR_GET(x) (((x) & HOST_INT_STATUS_ERROR_MASK) >> HOST_INT_STATUS_ERROR_LSB)
111 #define HOST_INT_STATUS_ERROR_SET(x) (((x) << HOST_INT_STATUS_ERROR_LSB) & HOST_INT_STATUS_ERROR_MASK)
112
113 #define HOST_INT_STATUS_CPU_MSB 6
114 #define HOST_INT_STATUS_CPU_LSB 6
115 #define HOST_INT_STATUS_CPU_MASK 0x00000040
116 #define HOST_INT_STATUS_CPU_GET(x) (((x) & HOST_INT_STATUS_CPU_MASK) >> HOST_INT_STATUS_CPU_LSB)
117 #define HOST_INT_STATUS_CPU_SET(x) (((x) << HOST_INT_STATUS_CPU_LSB) & HOST_INT_STATUS_CPU_MASK)
118
119 #define HOST_INT_STATUS_COUNTER_MSB 4
120 #define HOST_INT_STATUS_COUNTER_LSB 4
121 #define HOST_INT_STATUS_COUNTER_MASK 0x00000010
122 #define HOST_INT_STATUS_COUNTER_GET(x) (((x) & HOST_INT_STATUS_COUNTER_MASK) >> HOST_INT_STATUS_COUNTER_LSB)
123 #define HOST_INT_STATUS_COUNTER_SET(x) (((x) << HOST_INT_STATUS_COUNTER_LSB) & HOST_INT_STATUS_COUNTER_MASK)
124
125 #define RESET_CONTROL_WARM_RST_MSB 7
126 #define RESET_CONTROL_WARM_RST_LSB 7
127 #define RESET_CONTROL_WARM_RST_MASK 0x00000080
128 #define RESET_CONTROL_WARM_RST_GET(x) (((x) & RESET_CONTROL_WARM_RST_MASK) >> RESET_CONTROL_WARM_RST_LSB)
129 #define RESET_CONTROL_WARM_RST_SET(x) (((x) << RESET_CONTROL_WARM_RST_LSB) & RESET_CONTROL_WARM_RST_MASK)
130
131 #define RESET_CONTROL_COLD_RST_MSB 8
132 #define RESET_CONTROL_COLD_RST_LSB 8
133 #define RESET_CONTROL_COLD_RST_MASK 0x00000100
134 #define RESET_CONTROL_COLD_RST_GET(x) (((x) & RESET_CONTROL_COLD_RST_MASK) >> RESET_CONTROL_COLD_RST_LSB)
135 #define RESET_CONTROL_COLD_RST_SET(x) (((x) << RESET_CONTROL_COLD_RST_LSB) & RESET_CONTROL_COLD_RST_MASK)
136
137 #define RESET_CAUSE_LAST_MSB 2
138 #define RESET_CAUSE_LAST_LSB 0
139 #define RESET_CAUSE_LAST_MASK 0x00000007
140 #define RESET_CAUSE_LAST_GET(x) (((x) & RESET_CAUSE_LAST_MASK) >> RESET_CAUSE_LAST_LSB)
141 #define RESET_CAUSE_LAST_SET(x) (((x) << RESET_CAUSE_LAST_LSB) & RESET_CAUSE_LAST_MASK)
142
143 #ifdef __cplusplus
144 }
145 #endif
146
147 #endif /* __AR6KHWREG_H__ */