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 36 union 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