linux/arch/mips/include/asm/octeon/cvmx-led-defs.h
<<
>>
Prefs
   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