linux/arch/mips/include/asm/octeon/cvmx-rnm-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-2012 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_RNM_DEFS_H__
  29#define __CVMX_RNM_DEFS_H__
  30
  31#define CVMX_RNM_BIST_STATUS (CVMX_ADD_IO_SEG(0x0001180040000008ull))
  32#define CVMX_RNM_CTL_STATUS (CVMX_ADD_IO_SEG(0x0001180040000000ull))
  33#define CVMX_RNM_EER_DBG (CVMX_ADD_IO_SEG(0x0001180040000018ull))
  34#define CVMX_RNM_EER_KEY (CVMX_ADD_IO_SEG(0x0001180040000010ull))
  35#define CVMX_RNM_SERIAL_NUM (CVMX_ADD_IO_SEG(0x0001180040000020ull))
  36
  37union cvmx_rnm_bist_status {
  38        uint64_t u64;
  39        struct cvmx_rnm_bist_status_s {
  40#ifdef __BIG_ENDIAN_BITFIELD
  41                uint64_t reserved_2_63:62;
  42                uint64_t rrc:1;
  43                uint64_t mem:1;
  44#else
  45                uint64_t mem:1;
  46                uint64_t rrc:1;
  47                uint64_t reserved_2_63:62;
  48#endif
  49        } s;
  50        struct cvmx_rnm_bist_status_s cn30xx;
  51        struct cvmx_rnm_bist_status_s cn31xx;
  52        struct cvmx_rnm_bist_status_s cn38xx;
  53        struct cvmx_rnm_bist_status_s cn38xxp2;
  54        struct cvmx_rnm_bist_status_s cn50xx;
  55        struct cvmx_rnm_bist_status_s cn52xx;
  56        struct cvmx_rnm_bist_status_s cn52xxp1;
  57        struct cvmx_rnm_bist_status_s cn56xx;
  58        struct cvmx_rnm_bist_status_s cn56xxp1;
  59        struct cvmx_rnm_bist_status_s cn58xx;
  60        struct cvmx_rnm_bist_status_s cn58xxp1;
  61        struct cvmx_rnm_bist_status_s cn61xx;
  62        struct cvmx_rnm_bist_status_s cn63xx;
  63        struct cvmx_rnm_bist_status_s cn63xxp1;
  64        struct cvmx_rnm_bist_status_s cn66xx;
  65        struct cvmx_rnm_bist_status_s cn68xx;
  66        struct cvmx_rnm_bist_status_s cn68xxp1;
  67        struct cvmx_rnm_bist_status_s cnf71xx;
  68};
  69
  70union cvmx_rnm_ctl_status {
  71        uint64_t u64;
  72        struct cvmx_rnm_ctl_status_s {
  73#ifdef __BIG_ENDIAN_BITFIELD
  74                uint64_t reserved_12_63:52;
  75                uint64_t dis_mak:1;
  76                uint64_t eer_lck:1;
  77                uint64_t eer_val:1;
  78                uint64_t ent_sel:4;
  79                uint64_t exp_ent:1;
  80                uint64_t rng_rst:1;
  81                uint64_t rnm_rst:1;
  82                uint64_t rng_en:1;
  83                uint64_t ent_en:1;
  84#else
  85                uint64_t ent_en:1;
  86                uint64_t rng_en:1;
  87                uint64_t rnm_rst:1;
  88                uint64_t rng_rst:1;
  89                uint64_t exp_ent:1;
  90                uint64_t ent_sel:4;
  91                uint64_t eer_val:1;
  92                uint64_t eer_lck:1;
  93                uint64_t dis_mak:1;
  94                uint64_t reserved_12_63:52;
  95#endif
  96        } s;
  97        struct cvmx_rnm_ctl_status_cn30xx {
  98#ifdef __BIG_ENDIAN_BITFIELD
  99                uint64_t reserved_4_63:60;
 100                uint64_t rng_rst:1;
 101                uint64_t rnm_rst:1;
 102                uint64_t rng_en:1;
 103                uint64_t ent_en:1;
 104#else
 105                uint64_t ent_en:1;
 106                uint64_t rng_en:1;
 107                uint64_t rnm_rst:1;
 108                uint64_t rng_rst:1;
 109                uint64_t reserved_4_63:60;
 110#endif
 111        } cn30xx;
 112        struct cvmx_rnm_ctl_status_cn30xx cn31xx;
 113        struct cvmx_rnm_ctl_status_cn30xx cn38xx;
 114        struct cvmx_rnm_ctl_status_cn30xx cn38xxp2;
 115        struct cvmx_rnm_ctl_status_cn50xx {
 116#ifdef __BIG_ENDIAN_BITFIELD
 117                uint64_t reserved_9_63:55;
 118                uint64_t ent_sel:4;
 119                uint64_t exp_ent:1;
 120                uint64_t rng_rst:1;
 121                uint64_t rnm_rst:1;
 122                uint64_t rng_en:1;
 123                uint64_t ent_en:1;
 124#else
 125                uint64_t ent_en:1;
 126                uint64_t rng_en:1;
 127                uint64_t rnm_rst:1;
 128                uint64_t rng_rst:1;
 129                uint64_t exp_ent:1;
 130                uint64_t ent_sel:4;
 131                uint64_t reserved_9_63:55;
 132#endif
 133        } cn50xx;
 134        struct cvmx_rnm_ctl_status_cn50xx cn52xx;
 135        struct cvmx_rnm_ctl_status_cn50xx cn52xxp1;
 136        struct cvmx_rnm_ctl_status_cn50xx cn56xx;
 137        struct cvmx_rnm_ctl_status_cn50xx cn56xxp1;
 138        struct cvmx_rnm_ctl_status_cn50xx cn58xx;
 139        struct cvmx_rnm_ctl_status_cn50xx cn58xxp1;
 140        struct cvmx_rnm_ctl_status_s cn61xx;
 141        struct cvmx_rnm_ctl_status_cn63xx {
 142#ifdef __BIG_ENDIAN_BITFIELD
 143                uint64_t reserved_11_63:53;
 144                uint64_t eer_lck:1;
 145                uint64_t eer_val:1;
 146                uint64_t ent_sel:4;
 147                uint64_t exp_ent:1;
 148                uint64_t rng_rst:1;
 149                uint64_t rnm_rst:1;
 150                uint64_t rng_en:1;
 151                uint64_t ent_en:1;
 152#else
 153                uint64_t ent_en:1;
 154                uint64_t rng_en:1;
 155                uint64_t rnm_rst:1;
 156                uint64_t rng_rst:1;
 157                uint64_t exp_ent:1;
 158                uint64_t ent_sel:4;
 159                uint64_t eer_val:1;
 160                uint64_t eer_lck:1;
 161                uint64_t reserved_11_63:53;
 162#endif
 163        } cn63xx;
 164        struct cvmx_rnm_ctl_status_cn63xx cn63xxp1;
 165        struct cvmx_rnm_ctl_status_s cn66xx;
 166        struct cvmx_rnm_ctl_status_cn63xx cn68xx;
 167        struct cvmx_rnm_ctl_status_cn63xx cn68xxp1;
 168        struct cvmx_rnm_ctl_status_s cnf71xx;
 169};
 170
 171union cvmx_rnm_eer_dbg {
 172        uint64_t u64;
 173        struct cvmx_rnm_eer_dbg_s {
 174#ifdef __BIG_ENDIAN_BITFIELD
 175                uint64_t dat:64;
 176#else
 177                uint64_t dat:64;
 178#endif
 179        } s;
 180        struct cvmx_rnm_eer_dbg_s cn61xx;
 181        struct cvmx_rnm_eer_dbg_s cn63xx;
 182        struct cvmx_rnm_eer_dbg_s cn63xxp1;
 183        struct cvmx_rnm_eer_dbg_s cn66xx;
 184        struct cvmx_rnm_eer_dbg_s cn68xx;
 185        struct cvmx_rnm_eer_dbg_s cn68xxp1;
 186        struct cvmx_rnm_eer_dbg_s cnf71xx;
 187};
 188
 189union cvmx_rnm_eer_key {
 190        uint64_t u64;
 191        struct cvmx_rnm_eer_key_s {
 192#ifdef __BIG_ENDIAN_BITFIELD
 193                uint64_t key:64;
 194#else
 195                uint64_t key:64;
 196#endif
 197        } s;
 198        struct cvmx_rnm_eer_key_s cn61xx;
 199        struct cvmx_rnm_eer_key_s cn63xx;
 200        struct cvmx_rnm_eer_key_s cn63xxp1;
 201        struct cvmx_rnm_eer_key_s cn66xx;
 202        struct cvmx_rnm_eer_key_s cn68xx;
 203        struct cvmx_rnm_eer_key_s cn68xxp1;
 204        struct cvmx_rnm_eer_key_s cnf71xx;
 205};
 206
 207union cvmx_rnm_serial_num {
 208        uint64_t u64;
 209        struct cvmx_rnm_serial_num_s {
 210#ifdef __BIG_ENDIAN_BITFIELD
 211                uint64_t dat:64;
 212#else
 213                uint64_t dat:64;
 214#endif
 215        } s;
 216        struct cvmx_rnm_serial_num_s cn61xx;
 217        struct cvmx_rnm_serial_num_s cn63xx;
 218        struct cvmx_rnm_serial_num_s cn66xx;
 219        struct cvmx_rnm_serial_num_s cn68xx;
 220        struct cvmx_rnm_serial_num_s cn68xxp1;
 221        struct cvmx_rnm_serial_num_s cnf71xx;
 222};
 223
 224#endif
 225