• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/arch/mips/include/asm/octeon/
1/***********************license start***************
2 * Author: Cavium Networks
3 *
4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK
6 *
7 * Copyright (c) 2003-2008 Cavium Networks
8 *
9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as
11 * published by the Free Software Foundation.
12 *
13 * This file is distributed in the hope that it will be useful, but
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16 * NONINFRINGEMENT.  See the GNU General Public License for more
17 * details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this file; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 * or visit http://www.gnu.org/licenses/.
23 *
24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/
27
28#ifndef __CVMX_LED_DEFS_H__
29#define __CVMX_LED_DEFS_H__
30
31#define CVMX_LED_BLINK \
32	 CVMX_ADD_IO_SEG(0x0001180000001A48ull)
33#define CVMX_LED_CLK_PHASE \
34	 CVMX_ADD_IO_SEG(0x0001180000001A08ull)
35#define CVMX_LED_CYLON \
36	 CVMX_ADD_IO_SEG(0x0001180000001AF8ull)
37#define CVMX_LED_DBG \
38	 CVMX_ADD_IO_SEG(0x0001180000001A18ull)
39#define CVMX_LED_EN \
40	 CVMX_ADD_IO_SEG(0x0001180000001A00ull)
41#define CVMX_LED_POLARITY \
42	 CVMX_ADD_IO_SEG(0x0001180000001A50ull)
43#define CVMX_LED_PRT \
44	 CVMX_ADD_IO_SEG(0x0001180000001A10ull)
45#define CVMX_LED_PRT_FMT \
46	 CVMX_ADD_IO_SEG(0x0001180000001A30ull)
47#define CVMX_LED_PRT_STATUSX(offset) \
48	 CVMX_ADD_IO_SEG(0x0001180000001A80ull + (((offset) & 7) * 8))
49#define CVMX_LED_UDD_CNTX(offset) \
50	 CVMX_ADD_IO_SEG(0x0001180000001A20ull + (((offset) & 1) * 8))
51#define CVMX_LED_UDD_DATX(offset) \
52	 CVMX_ADD_IO_SEG(0x0001180000001A38ull + (((offset) & 1) * 8))
53#define CVMX_LED_UDD_DAT_CLRX(offset) \
54	 CVMX_ADD_IO_SEG(0x0001180000001AC8ull + (((offset) & 1) * 16))
55#define CVMX_LED_UDD_DAT_SETX(offset) \
56	 CVMX_ADD_IO_SEG(0x0001180000001AC0ull + (((offset) & 1) * 16))
57
58union cvmx_led_blink {
59	uint64_t u64;
60	struct cvmx_led_blink_s {
61		uint64_t reserved_8_63:56;
62		uint64_t rate:8;
63	} s;
64	struct cvmx_led_blink_s cn38xx;
65	struct cvmx_led_blink_s cn38xxp2;
66	struct cvmx_led_blink_s cn56xx;
67	struct cvmx_led_blink_s cn56xxp1;
68	struct cvmx_led_blink_s cn58xx;
69	struct cvmx_led_blink_s cn58xxp1;
70};
71
72union cvmx_led_clk_phase {
73	uint64_t u64;
74	struct cvmx_led_clk_phase_s {
75		uint64_t reserved_7_63:57;
76		uint64_t phase:7;
77	} s;
78	struct cvmx_led_clk_phase_s cn38xx;
79	struct cvmx_led_clk_phase_s cn38xxp2;
80	struct cvmx_led_clk_phase_s cn56xx;
81	struct cvmx_led_clk_phase_s cn56xxp1;
82	struct cvmx_led_clk_phase_s cn58xx;
83	struct cvmx_led_clk_phase_s cn58xxp1;
84};
85
86union cvmx_led_cylon {
87	uint64_t u64;
88	struct cvmx_led_cylon_s {
89		uint64_t reserved_16_63:48;
90		uint64_t rate:16;
91	} s;
92	struct cvmx_led_cylon_s cn38xx;
93	struct cvmx_led_cylon_s cn38xxp2;
94	struct cvmx_led_cylon_s cn56xx;
95	struct cvmx_led_cylon_s cn56xxp1;
96	struct cvmx_led_cylon_s cn58xx;
97	struct cvmx_led_cylon_s cn58xxp1;
98};
99
100union cvmx_led_dbg {
101	uint64_t u64;
102	struct cvmx_led_dbg_s {
103		uint64_t reserved_1_63:63;
104		uint64_t dbg_en:1;
105	} s;
106	struct cvmx_led_dbg_s cn38xx;
107	struct cvmx_led_dbg_s cn38xxp2;
108	struct cvmx_led_dbg_s cn56xx;
109	struct cvmx_led_dbg_s cn56xxp1;
110	struct cvmx_led_dbg_s cn58xx;
111	struct cvmx_led_dbg_s cn58xxp1;
112};
113
114union cvmx_led_en {
115	uint64_t u64;
116	struct cvmx_led_en_s {
117		uint64_t reserved_1_63:63;
118		uint64_t en:1;
119	} s;
120	struct cvmx_led_en_s cn38xx;
121	struct cvmx_led_en_s cn38xxp2;
122	struct cvmx_led_en_s cn56xx;
123	struct cvmx_led_en_s cn56xxp1;
124	struct cvmx_led_en_s cn58xx;
125	struct cvmx_led_en_s cn58xxp1;
126};
127
128union cvmx_led_polarity {
129	uint64_t u64;
130	struct cvmx_led_polarity_s {
131		uint64_t reserved_1_63:63;
132		uint64_t polarity:1;
133	} s;
134	struct cvmx_led_polarity_s cn38xx;
135	struct cvmx_led_polarity_s cn38xxp2;
136	struct cvmx_led_polarity_s cn56xx;
137	struct cvmx_led_polarity_s cn56xxp1;
138	struct cvmx_led_polarity_s cn58xx;
139	struct cvmx_led_polarity_s cn58xxp1;
140};
141
142union cvmx_led_prt {
143	uint64_t u64;
144	struct cvmx_led_prt_s {
145		uint64_t reserved_8_63:56;
146		uint64_t prt_en:8;
147	} s;
148	struct cvmx_led_prt_s cn38xx;
149	struct cvmx_led_prt_s cn38xxp2;
150	struct cvmx_led_prt_s cn56xx;
151	struct cvmx_led_prt_s cn56xxp1;
152	struct cvmx_led_prt_s cn58xx;
153	struct cvmx_led_prt_s cn58xxp1;
154};
155
156union cvmx_led_prt_fmt {
157	uint64_t u64;
158	struct cvmx_led_prt_fmt_s {
159		uint64_t reserved_4_63:60;
160		uint64_t format:4;
161	} s;
162	struct cvmx_led_prt_fmt_s cn38xx;
163	struct cvmx_led_prt_fmt_s cn38xxp2;
164	struct cvmx_led_prt_fmt_s cn56xx;
165	struct cvmx_led_prt_fmt_s cn56xxp1;
166	struct cvmx_led_prt_fmt_s cn58xx;
167	struct cvmx_led_prt_fmt_s cn58xxp1;
168};
169
170union cvmx_led_prt_statusx {
171	uint64_t u64;
172	struct cvmx_led_prt_statusx_s {
173		uint64_t reserved_6_63:58;
174		uint64_t status:6;
175	} s;
176	struct cvmx_led_prt_statusx_s cn38xx;
177	struct cvmx_led_prt_statusx_s cn38xxp2;
178	struct cvmx_led_prt_statusx_s cn56xx;
179	struct cvmx_led_prt_statusx_s cn56xxp1;
180	struct cvmx_led_prt_statusx_s cn58xx;
181	struct cvmx_led_prt_statusx_s cn58xxp1;
182};
183
184union cvmx_led_udd_cntx {
185	uint64_t u64;
186	struct cvmx_led_udd_cntx_s {
187		uint64_t reserved_6_63:58;
188		uint64_t cnt:6;
189	} s;
190	struct cvmx_led_udd_cntx_s cn38xx;
191	struct cvmx_led_udd_cntx_s cn38xxp2;
192	struct cvmx_led_udd_cntx_s cn56xx;
193	struct cvmx_led_udd_cntx_s cn56xxp1;
194	struct cvmx_led_udd_cntx_s cn58xx;
195	struct cvmx_led_udd_cntx_s cn58xxp1;
196};
197
198union cvmx_led_udd_datx {
199	uint64_t u64;
200	struct cvmx_led_udd_datx_s {
201		uint64_t reserved_32_63:32;
202		uint64_t dat:32;
203	} s;
204	struct cvmx_led_udd_datx_s cn38xx;
205	struct cvmx_led_udd_datx_s cn38xxp2;
206	struct cvmx_led_udd_datx_s cn56xx;
207	struct cvmx_led_udd_datx_s cn56xxp1;
208	struct cvmx_led_udd_datx_s cn58xx;
209	struct cvmx_led_udd_datx_s cn58xxp1;
210};
211
212union cvmx_led_udd_dat_clrx {
213	uint64_t u64;
214	struct cvmx_led_udd_dat_clrx_s {
215		uint64_t reserved_32_63:32;
216		uint64_t clr:32;
217	} s;
218	struct cvmx_led_udd_dat_clrx_s cn38xx;
219	struct cvmx_led_udd_dat_clrx_s cn38xxp2;
220	struct cvmx_led_udd_dat_clrx_s cn56xx;
221	struct cvmx_led_udd_dat_clrx_s cn56xxp1;
222	struct cvmx_led_udd_dat_clrx_s cn58xx;
223	struct cvmx_led_udd_dat_clrx_s cn58xxp1;
224};
225
226union cvmx_led_udd_dat_setx {
227	uint64_t u64;
228	struct cvmx_led_udd_dat_setx_s {
229		uint64_t reserved_32_63:32;
230		uint64_t set:32;
231	} s;
232	struct cvmx_led_udd_dat_setx_s cn38xx;
233	struct cvmx_led_udd_dat_setx_s cn38xxp2;
234	struct cvmx_led_udd_dat_setx_s cn56xx;
235	struct cvmx_led_udd_dat_setx_s cn56xxp1;
236	struct cvmx_led_udd_dat_setx_s cn58xx;
237	struct cvmx_led_udd_dat_setx_s cn58xxp1;
238};
239
240#endif
241