linux/arch/mips/include/asm/octeon/cvmx-l2t-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-2017 Cavium, Inc.
   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_L2T_DEFS_H__
  29#define __CVMX_L2T_DEFS_H__
  30
  31#include <uapi/asm/bitfield.h>
  32
  33#define CVMX_L2T_ERR    (CVMX_ADD_IO_SEG(0x0001180080000008ull))
  34
  35
  36union cvmx_l2t_err {
  37        uint64_t u64;
  38        struct cvmx_l2t_err_s {
  39                __BITFIELD_FIELD(uint64_t reserved_29_63:35,
  40                __BITFIELD_FIELD(uint64_t fadru:1,
  41                __BITFIELD_FIELD(uint64_t lck_intena2:1,
  42                __BITFIELD_FIELD(uint64_t lckerr2:1,
  43                __BITFIELD_FIELD(uint64_t lck_intena:1,
  44                __BITFIELD_FIELD(uint64_t lckerr:1,
  45                __BITFIELD_FIELD(uint64_t fset:3,
  46                __BITFIELD_FIELD(uint64_t fadr:10,
  47                __BITFIELD_FIELD(uint64_t fsyn:6,
  48                __BITFIELD_FIELD(uint64_t ded_err:1,
  49                __BITFIELD_FIELD(uint64_t sec_err:1,
  50                __BITFIELD_FIELD(uint64_t ded_intena:1,
  51                __BITFIELD_FIELD(uint64_t sec_intena:1,
  52                __BITFIELD_FIELD(uint64_t ecc_ena:1,
  53                ;))))))))))))))
  54        } s;
  55        struct cvmx_l2t_err_cn30xx {
  56                __BITFIELD_FIELD(uint64_t reserved_28_63:36,
  57                __BITFIELD_FIELD(uint64_t lck_intena2:1,
  58                __BITFIELD_FIELD(uint64_t lckerr2:1,
  59                __BITFIELD_FIELD(uint64_t lck_intena:1,
  60                __BITFIELD_FIELD(uint64_t lckerr:1,
  61                __BITFIELD_FIELD(uint64_t reserved_23_23:1,
  62                __BITFIELD_FIELD(uint64_t fset:2,
  63                __BITFIELD_FIELD(uint64_t reserved_19_20:2,
  64                __BITFIELD_FIELD(uint64_t fadr:8,
  65                __BITFIELD_FIELD(uint64_t fsyn:6,
  66                __BITFIELD_FIELD(uint64_t ded_err:1,
  67                __BITFIELD_FIELD(uint64_t sec_err:1,
  68                __BITFIELD_FIELD(uint64_t ded_intena:1,
  69                __BITFIELD_FIELD(uint64_t sec_intena:1,
  70                __BITFIELD_FIELD(uint64_t ecc_ena:1,
  71                ;)))))))))))))))
  72        } cn30xx;
  73        struct cvmx_l2t_err_cn31xx {
  74                __BITFIELD_FIELD(uint64_t reserved_28_63:36,
  75                __BITFIELD_FIELD(uint64_t lck_intena2:1,
  76                __BITFIELD_FIELD(uint64_t lckerr2:1,
  77                __BITFIELD_FIELD(uint64_t lck_intena:1,
  78                __BITFIELD_FIELD(uint64_t lckerr:1,
  79                __BITFIELD_FIELD(uint64_t reserved_23_23:1,
  80                __BITFIELD_FIELD(uint64_t fset:2,
  81                __BITFIELD_FIELD(uint64_t reserved_20_20:1,
  82                __BITFIELD_FIELD(uint64_t fadr:9,
  83                __BITFIELD_FIELD(uint64_t fsyn:6,
  84                __BITFIELD_FIELD(uint64_t ded_err:1,
  85                __BITFIELD_FIELD(uint64_t sec_err:1,
  86                __BITFIELD_FIELD(uint64_t ded_intena:1,
  87                __BITFIELD_FIELD(uint64_t sec_intena:1,
  88                __BITFIELD_FIELD(uint64_t ecc_ena:1,
  89                ;)))))))))))))))
  90        } cn31xx;
  91        struct cvmx_l2t_err_cn38xx {
  92                __BITFIELD_FIELD(uint64_t reserved_28_63:36,
  93                __BITFIELD_FIELD(uint64_t lck_intena2:1,
  94                __BITFIELD_FIELD(uint64_t lckerr2:1,
  95                __BITFIELD_FIELD(uint64_t lck_intena:1,
  96                __BITFIELD_FIELD(uint64_t lckerr:1,
  97                __BITFIELD_FIELD(uint64_t fset:3,
  98                __BITFIELD_FIELD(uint64_t fadr:10,
  99                __BITFIELD_FIELD(uint64_t fsyn:6,
 100                __BITFIELD_FIELD(uint64_t ded_err:1,
 101                __BITFIELD_FIELD(uint64_t sec_err:1,
 102                __BITFIELD_FIELD(uint64_t ded_intena:1,
 103                __BITFIELD_FIELD(uint64_t sec_intena:1,
 104                __BITFIELD_FIELD(uint64_t ecc_ena:1,
 105                ;)))))))))))))
 106        } cn38xx;
 107        struct cvmx_l2t_err_cn50xx {
 108                __BITFIELD_FIELD(uint64_t reserved_28_63:36,
 109                __BITFIELD_FIELD(uint64_t lck_intena2:1,
 110                __BITFIELD_FIELD(uint64_t lckerr2:1,
 111                __BITFIELD_FIELD(uint64_t lck_intena:1,
 112                __BITFIELD_FIELD(uint64_t lckerr:1,
 113                __BITFIELD_FIELD(uint64_t fset:3,
 114                __BITFIELD_FIELD(uint64_t reserved_18_20:3,
 115                __BITFIELD_FIELD(uint64_t fadr:7,
 116                __BITFIELD_FIELD(uint64_t fsyn:6,
 117                __BITFIELD_FIELD(uint64_t ded_err:1,
 118                __BITFIELD_FIELD(uint64_t sec_err:1,
 119                __BITFIELD_FIELD(uint64_t ded_intena:1,
 120                __BITFIELD_FIELD(uint64_t sec_intena:1,
 121                __BITFIELD_FIELD(uint64_t ecc_ena:1,
 122                ;))))))))))))))
 123        } cn50xx;
 124        struct cvmx_l2t_err_cn52xx {
 125                __BITFIELD_FIELD(uint64_t reserved_28_63:36,
 126                __BITFIELD_FIELD(uint64_t lck_intena2:1,
 127                __BITFIELD_FIELD(uint64_t lckerr2:1,
 128                __BITFIELD_FIELD(uint64_t lck_intena:1,
 129                __BITFIELD_FIELD(uint64_t lckerr:1,
 130                __BITFIELD_FIELD(uint64_t fset:3,
 131                __BITFIELD_FIELD(uint64_t reserved_20_20:1,
 132                __BITFIELD_FIELD(uint64_t fadr:9,
 133                __BITFIELD_FIELD(uint64_t fsyn:6,
 134                __BITFIELD_FIELD(uint64_t ded_err:1,
 135                __BITFIELD_FIELD(uint64_t sec_err:1,
 136                __BITFIELD_FIELD(uint64_t ded_intena:1,
 137                __BITFIELD_FIELD(uint64_t sec_intena:1,
 138                __BITFIELD_FIELD(uint64_t ecc_ena:1,
 139                ;))))))))))))))
 140        } cn52xx;
 141};
 142
 143#endif
 144