1a7187a2fSDavid Daney /***********************license start*************** 2a7187a2fSDavid Daney * Author: Cavium Networks 3a7187a2fSDavid Daney * 4a7187a2fSDavid Daney * Contact: support@caviumnetworks.com 5a7187a2fSDavid Daney * This file is part of the OCTEON SDK 6a7187a2fSDavid Daney * 7c5aa59e8SDavid Daney * Copyright (c) 2003-2012 Cavium Networks 8a7187a2fSDavid Daney * 9a7187a2fSDavid Daney * This file is free software; you can redistribute it and/or modify 10a7187a2fSDavid Daney * it under the terms of the GNU General Public License, Version 2, as 11a7187a2fSDavid Daney * published by the Free Software Foundation. 12a7187a2fSDavid Daney * 13a7187a2fSDavid Daney * This file is distributed in the hope that it will be useful, but 14a7187a2fSDavid Daney * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty 15a7187a2fSDavid Daney * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or 16a7187a2fSDavid Daney * NONINFRINGEMENT. See the GNU General Public License for more 17a7187a2fSDavid Daney * details. 18a7187a2fSDavid Daney * 19a7187a2fSDavid Daney * You should have received a copy of the GNU General Public License 20a7187a2fSDavid Daney * along with this file; if not, write to the Free Software 21a7187a2fSDavid Daney * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 22a7187a2fSDavid Daney * or visit http://www.gnu.org/licenses/. 23a7187a2fSDavid Daney * 24a7187a2fSDavid Daney * This file may also be available under a different license from Cavium. 25a7187a2fSDavid Daney * Contact Cavium Networks for more information 26a7187a2fSDavid Daney ***********************license end**************************************/ 27a7187a2fSDavid Daney 28a7187a2fSDavid Daney #ifndef __CVMX_MIXX_DEFS_H__ 29a7187a2fSDavid Daney #define __CVMX_MIXX_DEFS_H__ 30a7187a2fSDavid Daney 31aa32a955SDavid Daney #define CVMX_MIXX_BIST(offset) (CVMX_ADD_IO_SEG(0x0001070000100078ull) + ((offset) & 1) * 2048) 32aa32a955SDavid Daney #define CVMX_MIXX_CTL(offset) (CVMX_ADD_IO_SEG(0x0001070000100020ull) + ((offset) & 1) * 2048) 33aa32a955SDavid Daney #define CVMX_MIXX_INTENA(offset) (CVMX_ADD_IO_SEG(0x0001070000100050ull) + ((offset) & 1) * 2048) 34aa32a955SDavid Daney #define CVMX_MIXX_IRCNT(offset) (CVMX_ADD_IO_SEG(0x0001070000100030ull) + ((offset) & 1) * 2048) 35aa32a955SDavid Daney #define CVMX_MIXX_IRHWM(offset) (CVMX_ADD_IO_SEG(0x0001070000100028ull) + ((offset) & 1) * 2048) 36aa32a955SDavid Daney #define CVMX_MIXX_IRING1(offset) (CVMX_ADD_IO_SEG(0x0001070000100010ull) + ((offset) & 1) * 2048) 37aa32a955SDavid Daney #define CVMX_MIXX_IRING2(offset) (CVMX_ADD_IO_SEG(0x0001070000100018ull) + ((offset) & 1) * 2048) 38aa32a955SDavid Daney #define CVMX_MIXX_ISR(offset) (CVMX_ADD_IO_SEG(0x0001070000100048ull) + ((offset) & 1) * 2048) 39aa32a955SDavid Daney #define CVMX_MIXX_ORCNT(offset) (CVMX_ADD_IO_SEG(0x0001070000100040ull) + ((offset) & 1) * 2048) 40aa32a955SDavid Daney #define CVMX_MIXX_ORHWM(offset) (CVMX_ADD_IO_SEG(0x0001070000100038ull) + ((offset) & 1) * 2048) 41aa32a955SDavid Daney #define CVMX_MIXX_ORING1(offset) (CVMX_ADD_IO_SEG(0x0001070000100000ull) + ((offset) & 1) * 2048) 42aa32a955SDavid Daney #define CVMX_MIXX_ORING2(offset) (CVMX_ADD_IO_SEG(0x0001070000100008ull) + ((offset) & 1) * 2048) 43aa32a955SDavid Daney #define CVMX_MIXX_REMCNT(offset) (CVMX_ADD_IO_SEG(0x0001070000100058ull) + ((offset) & 1) * 2048) 44aa32a955SDavid Daney #define CVMX_MIXX_TSCTL(offset) (CVMX_ADD_IO_SEG(0x0001070000100068ull) + ((offset) & 1) * 2048) 45aa32a955SDavid Daney #define CVMX_MIXX_TSTAMP(offset) (CVMX_ADD_IO_SEG(0x0001070000100060ull) + ((offset) & 1) * 2048) 46a7187a2fSDavid Daney 47a7187a2fSDavid Daney union cvmx_mixx_bist { 48a7187a2fSDavid Daney uint64_t u64; 49a7187a2fSDavid Daney struct cvmx_mixx_bist_s { 50c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 51aa32a955SDavid Daney uint64_t reserved_6_63:58; 52aa32a955SDavid Daney uint64_t opfdat:1; 53aa32a955SDavid Daney uint64_t mrgdat:1; 54a7187a2fSDavid Daney uint64_t mrqdat:1; 55a7187a2fSDavid Daney uint64_t ipfdat:1; 56a7187a2fSDavid Daney uint64_t irfdat:1; 57a7187a2fSDavid Daney uint64_t orfdat:1; 58c5aa59e8SDavid Daney #else 59c5aa59e8SDavid Daney uint64_t orfdat:1; 60c5aa59e8SDavid Daney uint64_t irfdat:1; 61c5aa59e8SDavid Daney uint64_t ipfdat:1; 62c5aa59e8SDavid Daney uint64_t mrqdat:1; 63c5aa59e8SDavid Daney uint64_t mrgdat:1; 64c5aa59e8SDavid Daney uint64_t opfdat:1; 65c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 66c5aa59e8SDavid Daney #endif 67a7187a2fSDavid Daney } s; 68aa32a955SDavid Daney struct cvmx_mixx_bist_cn52xx { 69c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 70aa32a955SDavid Daney uint64_t reserved_4_63:60; 71aa32a955SDavid Daney uint64_t mrqdat:1; 72aa32a955SDavid Daney uint64_t ipfdat:1; 73aa32a955SDavid Daney uint64_t irfdat:1; 74aa32a955SDavid Daney uint64_t orfdat:1; 75c5aa59e8SDavid Daney #else 76c5aa59e8SDavid Daney uint64_t orfdat:1; 77c5aa59e8SDavid Daney uint64_t irfdat:1; 78c5aa59e8SDavid Daney uint64_t ipfdat:1; 79c5aa59e8SDavid Daney uint64_t mrqdat:1; 80c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 81c5aa59e8SDavid Daney #endif 82aa32a955SDavid Daney } cn52xx; 83a7187a2fSDavid Daney }; 84a7187a2fSDavid Daney 85a7187a2fSDavid Daney union cvmx_mixx_ctl { 86a7187a2fSDavid Daney uint64_t u64; 87a7187a2fSDavid Daney struct cvmx_mixx_ctl_s { 88c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 89aa32a955SDavid Daney uint64_t reserved_12_63:52; 90aa32a955SDavid Daney uint64_t ts_thresh:4; 91a7187a2fSDavid Daney uint64_t crc_strip:1; 92a7187a2fSDavid Daney uint64_t busy:1; 93a7187a2fSDavid Daney uint64_t en:1; 94a7187a2fSDavid Daney uint64_t reset:1; 95a7187a2fSDavid Daney uint64_t lendian:1; 96a7187a2fSDavid Daney uint64_t nbtarb:1; 97a7187a2fSDavid Daney uint64_t mrq_hwm:2; 98c5aa59e8SDavid Daney #else 99c5aa59e8SDavid Daney uint64_t mrq_hwm:2; 100c5aa59e8SDavid Daney uint64_t nbtarb:1; 101c5aa59e8SDavid Daney uint64_t lendian:1; 102c5aa59e8SDavid Daney uint64_t reset:1; 103c5aa59e8SDavid Daney uint64_t en:1; 104c5aa59e8SDavid Daney uint64_t busy:1; 105c5aa59e8SDavid Daney uint64_t crc_strip:1; 106c5aa59e8SDavid Daney uint64_t ts_thresh:4; 107c5aa59e8SDavid Daney uint64_t reserved_12_63:52; 108c5aa59e8SDavid Daney #endif 109a7187a2fSDavid Daney } s; 110aa32a955SDavid Daney struct cvmx_mixx_ctl_cn52xx { 111c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 112aa32a955SDavid Daney uint64_t reserved_8_63:56; 113aa32a955SDavid Daney uint64_t crc_strip:1; 114aa32a955SDavid Daney uint64_t busy:1; 115aa32a955SDavid Daney uint64_t en:1; 116aa32a955SDavid Daney uint64_t reset:1; 117aa32a955SDavid Daney uint64_t lendian:1; 118aa32a955SDavid Daney uint64_t nbtarb:1; 119aa32a955SDavid Daney uint64_t mrq_hwm:2; 120c5aa59e8SDavid Daney #else 121c5aa59e8SDavid Daney uint64_t mrq_hwm:2; 122c5aa59e8SDavid Daney uint64_t nbtarb:1; 123c5aa59e8SDavid Daney uint64_t lendian:1; 124c5aa59e8SDavid Daney uint64_t reset:1; 125c5aa59e8SDavid Daney uint64_t en:1; 126c5aa59e8SDavid Daney uint64_t busy:1; 127c5aa59e8SDavid Daney uint64_t crc_strip:1; 128c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 129c5aa59e8SDavid Daney #endif 130aa32a955SDavid Daney } cn52xx; 131a7187a2fSDavid Daney }; 132a7187a2fSDavid Daney 133a7187a2fSDavid Daney union cvmx_mixx_intena { 134a7187a2fSDavid Daney uint64_t u64; 135a7187a2fSDavid Daney struct cvmx_mixx_intena_s { 136c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 137aa32a955SDavid Daney uint64_t reserved_8_63:56; 138aa32a955SDavid Daney uint64_t tsena:1; 139a7187a2fSDavid Daney uint64_t orunena:1; 140a7187a2fSDavid Daney uint64_t irunena:1; 141a7187a2fSDavid Daney uint64_t data_drpena:1; 142a7187a2fSDavid Daney uint64_t ithena:1; 143a7187a2fSDavid Daney uint64_t othena:1; 144a7187a2fSDavid Daney uint64_t ivfena:1; 145a7187a2fSDavid Daney uint64_t ovfena:1; 146c5aa59e8SDavid Daney #else 147c5aa59e8SDavid Daney uint64_t ovfena:1; 148c5aa59e8SDavid Daney uint64_t ivfena:1; 149c5aa59e8SDavid Daney uint64_t othena:1; 150c5aa59e8SDavid Daney uint64_t ithena:1; 151c5aa59e8SDavid Daney uint64_t data_drpena:1; 152c5aa59e8SDavid Daney uint64_t irunena:1; 153c5aa59e8SDavid Daney uint64_t orunena:1; 154c5aa59e8SDavid Daney uint64_t tsena:1; 155c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 156c5aa59e8SDavid Daney #endif 157a7187a2fSDavid Daney } s; 158aa32a955SDavid Daney struct cvmx_mixx_intena_cn52xx { 159c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 160aa32a955SDavid Daney uint64_t reserved_7_63:57; 161aa32a955SDavid Daney uint64_t orunena:1; 162aa32a955SDavid Daney uint64_t irunena:1; 163aa32a955SDavid Daney uint64_t data_drpena:1; 164aa32a955SDavid Daney uint64_t ithena:1; 165aa32a955SDavid Daney uint64_t othena:1; 166aa32a955SDavid Daney uint64_t ivfena:1; 167aa32a955SDavid Daney uint64_t ovfena:1; 168c5aa59e8SDavid Daney #else 169c5aa59e8SDavid Daney uint64_t ovfena:1; 170c5aa59e8SDavid Daney uint64_t ivfena:1; 171c5aa59e8SDavid Daney uint64_t othena:1; 172c5aa59e8SDavid Daney uint64_t ithena:1; 173c5aa59e8SDavid Daney uint64_t data_drpena:1; 174c5aa59e8SDavid Daney uint64_t irunena:1; 175c5aa59e8SDavid Daney uint64_t orunena:1; 176c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 177c5aa59e8SDavid Daney #endif 178aa32a955SDavid Daney } cn52xx; 179a7187a2fSDavid Daney }; 180a7187a2fSDavid Daney 181a7187a2fSDavid Daney union cvmx_mixx_ircnt { 182a7187a2fSDavid Daney uint64_t u64; 183a7187a2fSDavid Daney struct cvmx_mixx_ircnt_s { 184c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 185a7187a2fSDavid Daney uint64_t reserved_20_63:44; 186a7187a2fSDavid Daney uint64_t ircnt:20; 187c5aa59e8SDavid Daney #else 188c5aa59e8SDavid Daney uint64_t ircnt:20; 189c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 190c5aa59e8SDavid Daney #endif 191a7187a2fSDavid Daney } s; 192a7187a2fSDavid Daney }; 193a7187a2fSDavid Daney 194a7187a2fSDavid Daney union cvmx_mixx_irhwm { 195a7187a2fSDavid Daney uint64_t u64; 196a7187a2fSDavid Daney struct cvmx_mixx_irhwm_s { 197c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 198a7187a2fSDavid Daney uint64_t reserved_40_63:24; 199a7187a2fSDavid Daney uint64_t ibplwm:20; 200a7187a2fSDavid Daney uint64_t irhwm:20; 201c5aa59e8SDavid Daney #else 202c5aa59e8SDavid Daney uint64_t irhwm:20; 203c5aa59e8SDavid Daney uint64_t ibplwm:20; 204c5aa59e8SDavid Daney uint64_t reserved_40_63:24; 205c5aa59e8SDavid Daney #endif 206a7187a2fSDavid Daney } s; 207a7187a2fSDavid Daney }; 208a7187a2fSDavid Daney 209a7187a2fSDavid Daney union cvmx_mixx_iring1 { 210a7187a2fSDavid Daney uint64_t u64; 211a7187a2fSDavid Daney struct cvmx_mixx_iring1_s { 212c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 213a7187a2fSDavid Daney uint64_t reserved_60_63:4; 214a7187a2fSDavid Daney uint64_t isize:20; 215aa32a955SDavid Daney uint64_t ibase:37; 216aa32a955SDavid Daney uint64_t reserved_0_2:3; 217c5aa59e8SDavid Daney #else 218c5aa59e8SDavid Daney uint64_t reserved_0_2:3; 219c5aa59e8SDavid Daney uint64_t ibase:37; 220c5aa59e8SDavid Daney uint64_t isize:20; 221c5aa59e8SDavid Daney uint64_t reserved_60_63:4; 222c5aa59e8SDavid Daney #endif 223aa32a955SDavid Daney } s; 224aa32a955SDavid Daney struct cvmx_mixx_iring1_cn52xx { 225c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 226aa32a955SDavid Daney uint64_t reserved_60_63:4; 227aa32a955SDavid Daney uint64_t isize:20; 228a7187a2fSDavid Daney uint64_t reserved_36_39:4; 229a7187a2fSDavid Daney uint64_t ibase:33; 230a7187a2fSDavid Daney uint64_t reserved_0_2:3; 231c5aa59e8SDavid Daney #else 232c5aa59e8SDavid Daney uint64_t reserved_0_2:3; 233c5aa59e8SDavid Daney uint64_t ibase:33; 234c5aa59e8SDavid Daney uint64_t reserved_36_39:4; 235c5aa59e8SDavid Daney uint64_t isize:20; 236c5aa59e8SDavid Daney uint64_t reserved_60_63:4; 237c5aa59e8SDavid Daney #endif 238aa32a955SDavid Daney } cn52xx; 239a7187a2fSDavid Daney }; 240a7187a2fSDavid Daney 241a7187a2fSDavid Daney union cvmx_mixx_iring2 { 242a7187a2fSDavid Daney uint64_t u64; 243a7187a2fSDavid Daney struct cvmx_mixx_iring2_s { 244c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 245a7187a2fSDavid Daney uint64_t reserved_52_63:12; 246a7187a2fSDavid Daney uint64_t itlptr:20; 247a7187a2fSDavid Daney uint64_t reserved_20_31:12; 248a7187a2fSDavid Daney uint64_t idbell:20; 249c5aa59e8SDavid Daney #else 250c5aa59e8SDavid Daney uint64_t idbell:20; 251c5aa59e8SDavid Daney uint64_t reserved_20_31:12; 252c5aa59e8SDavid Daney uint64_t itlptr:20; 253c5aa59e8SDavid Daney uint64_t reserved_52_63:12; 254c5aa59e8SDavid Daney #endif 255a7187a2fSDavid Daney } s; 256a7187a2fSDavid Daney }; 257a7187a2fSDavid Daney 258a7187a2fSDavid Daney union cvmx_mixx_isr { 259a7187a2fSDavid Daney uint64_t u64; 260a7187a2fSDavid Daney struct cvmx_mixx_isr_s { 261c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 262aa32a955SDavid Daney uint64_t reserved_8_63:56; 263aa32a955SDavid Daney uint64_t ts:1; 264a7187a2fSDavid Daney uint64_t orun:1; 265a7187a2fSDavid Daney uint64_t irun:1; 266a7187a2fSDavid Daney uint64_t data_drp:1; 267a7187a2fSDavid Daney uint64_t irthresh:1; 268a7187a2fSDavid Daney uint64_t orthresh:1; 269a7187a2fSDavid Daney uint64_t idblovf:1; 270a7187a2fSDavid Daney uint64_t odblovf:1; 271c5aa59e8SDavid Daney #else 272c5aa59e8SDavid Daney uint64_t odblovf:1; 273c5aa59e8SDavid Daney uint64_t idblovf:1; 274c5aa59e8SDavid Daney uint64_t orthresh:1; 275c5aa59e8SDavid Daney uint64_t irthresh:1; 276c5aa59e8SDavid Daney uint64_t data_drp:1; 277c5aa59e8SDavid Daney uint64_t irun:1; 278c5aa59e8SDavid Daney uint64_t orun:1; 279c5aa59e8SDavid Daney uint64_t ts:1; 280c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 281c5aa59e8SDavid Daney #endif 282a7187a2fSDavid Daney } s; 283aa32a955SDavid Daney struct cvmx_mixx_isr_cn52xx { 284c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 285aa32a955SDavid Daney uint64_t reserved_7_63:57; 286aa32a955SDavid Daney uint64_t orun:1; 287aa32a955SDavid Daney uint64_t irun:1; 288aa32a955SDavid Daney uint64_t data_drp:1; 289aa32a955SDavid Daney uint64_t irthresh:1; 290aa32a955SDavid Daney uint64_t orthresh:1; 291aa32a955SDavid Daney uint64_t idblovf:1; 292aa32a955SDavid Daney uint64_t odblovf:1; 293c5aa59e8SDavid Daney #else 294c5aa59e8SDavid Daney uint64_t odblovf:1; 295c5aa59e8SDavid Daney uint64_t idblovf:1; 296c5aa59e8SDavid Daney uint64_t orthresh:1; 297c5aa59e8SDavid Daney uint64_t irthresh:1; 298c5aa59e8SDavid Daney uint64_t data_drp:1; 299c5aa59e8SDavid Daney uint64_t irun:1; 300c5aa59e8SDavid Daney uint64_t orun:1; 301c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 302c5aa59e8SDavid Daney #endif 303aa32a955SDavid Daney } cn52xx; 304a7187a2fSDavid Daney }; 305a7187a2fSDavid Daney 306a7187a2fSDavid Daney union cvmx_mixx_orcnt { 307a7187a2fSDavid Daney uint64_t u64; 308a7187a2fSDavid Daney struct cvmx_mixx_orcnt_s { 309c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 310a7187a2fSDavid Daney uint64_t reserved_20_63:44; 311a7187a2fSDavid Daney uint64_t orcnt:20; 312c5aa59e8SDavid Daney #else 313c5aa59e8SDavid Daney uint64_t orcnt:20; 314c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 315c5aa59e8SDavid Daney #endif 316a7187a2fSDavid Daney } s; 317a7187a2fSDavid Daney }; 318a7187a2fSDavid Daney 319a7187a2fSDavid Daney union cvmx_mixx_orhwm { 320a7187a2fSDavid Daney uint64_t u64; 321a7187a2fSDavid Daney struct cvmx_mixx_orhwm_s { 322c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 323a7187a2fSDavid Daney uint64_t reserved_20_63:44; 324a7187a2fSDavid Daney uint64_t orhwm:20; 325c5aa59e8SDavid Daney #else 326c5aa59e8SDavid Daney uint64_t orhwm:20; 327c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 328c5aa59e8SDavid Daney #endif 329a7187a2fSDavid Daney } s; 330a7187a2fSDavid Daney }; 331a7187a2fSDavid Daney 332a7187a2fSDavid Daney union cvmx_mixx_oring1 { 333a7187a2fSDavid Daney uint64_t u64; 334a7187a2fSDavid Daney struct cvmx_mixx_oring1_s { 335c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 336a7187a2fSDavid Daney uint64_t reserved_60_63:4; 337a7187a2fSDavid Daney uint64_t osize:20; 338aa32a955SDavid Daney uint64_t obase:37; 339aa32a955SDavid Daney uint64_t reserved_0_2:3; 340c5aa59e8SDavid Daney #else 341c5aa59e8SDavid Daney uint64_t reserved_0_2:3; 342c5aa59e8SDavid Daney uint64_t obase:37; 343c5aa59e8SDavid Daney uint64_t osize:20; 344c5aa59e8SDavid Daney uint64_t reserved_60_63:4; 345c5aa59e8SDavid Daney #endif 346aa32a955SDavid Daney } s; 347aa32a955SDavid Daney struct cvmx_mixx_oring1_cn52xx { 348c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 349aa32a955SDavid Daney uint64_t reserved_60_63:4; 350aa32a955SDavid Daney uint64_t osize:20; 351a7187a2fSDavid Daney uint64_t reserved_36_39:4; 352a7187a2fSDavid Daney uint64_t obase:33; 353a7187a2fSDavid Daney uint64_t reserved_0_2:3; 354c5aa59e8SDavid Daney #else 355c5aa59e8SDavid Daney uint64_t reserved_0_2:3; 356c5aa59e8SDavid Daney uint64_t obase:33; 357c5aa59e8SDavid Daney uint64_t reserved_36_39:4; 358c5aa59e8SDavid Daney uint64_t osize:20; 359c5aa59e8SDavid Daney uint64_t reserved_60_63:4; 360c5aa59e8SDavid Daney #endif 361aa32a955SDavid Daney } cn52xx; 362a7187a2fSDavid Daney }; 363a7187a2fSDavid Daney 364a7187a2fSDavid Daney union cvmx_mixx_oring2 { 365a7187a2fSDavid Daney uint64_t u64; 366a7187a2fSDavid Daney struct cvmx_mixx_oring2_s { 367c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 368a7187a2fSDavid Daney uint64_t reserved_52_63:12; 369a7187a2fSDavid Daney uint64_t otlptr:20; 370a7187a2fSDavid Daney uint64_t reserved_20_31:12; 371a7187a2fSDavid Daney uint64_t odbell:20; 372c5aa59e8SDavid Daney #else 373c5aa59e8SDavid Daney uint64_t odbell:20; 374c5aa59e8SDavid Daney uint64_t reserved_20_31:12; 375c5aa59e8SDavid Daney uint64_t otlptr:20; 376c5aa59e8SDavid Daney uint64_t reserved_52_63:12; 377c5aa59e8SDavid Daney #endif 378a7187a2fSDavid Daney } s; 379a7187a2fSDavid Daney }; 380a7187a2fSDavid Daney 381a7187a2fSDavid Daney union cvmx_mixx_remcnt { 382a7187a2fSDavid Daney uint64_t u64; 383a7187a2fSDavid Daney struct cvmx_mixx_remcnt_s { 384c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 385a7187a2fSDavid Daney uint64_t reserved_52_63:12; 386a7187a2fSDavid Daney uint64_t iremcnt:20; 387a7187a2fSDavid Daney uint64_t reserved_20_31:12; 388a7187a2fSDavid Daney uint64_t oremcnt:20; 389c5aa59e8SDavid Daney #else 390c5aa59e8SDavid Daney uint64_t oremcnt:20; 391c5aa59e8SDavid Daney uint64_t reserved_20_31:12; 392c5aa59e8SDavid Daney uint64_t iremcnt:20; 393c5aa59e8SDavid Daney uint64_t reserved_52_63:12; 394c5aa59e8SDavid Daney #endif 395a7187a2fSDavid Daney } s; 396aa32a955SDavid Daney }; 397aa32a955SDavid Daney 398aa32a955SDavid Daney union cvmx_mixx_tsctl { 399aa32a955SDavid Daney uint64_t u64; 400aa32a955SDavid Daney struct cvmx_mixx_tsctl_s { 401c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 402aa32a955SDavid Daney uint64_t reserved_21_63:43; 403aa32a955SDavid Daney uint64_t tsavl:5; 404aa32a955SDavid Daney uint64_t reserved_13_15:3; 405aa32a955SDavid Daney uint64_t tstot:5; 406aa32a955SDavid Daney uint64_t reserved_5_7:3; 407aa32a955SDavid Daney uint64_t tscnt:5; 408c5aa59e8SDavid Daney #else 409c5aa59e8SDavid Daney uint64_t tscnt:5; 410c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 411c5aa59e8SDavid Daney uint64_t tstot:5; 412c5aa59e8SDavid Daney uint64_t reserved_13_15:3; 413c5aa59e8SDavid Daney uint64_t tsavl:5; 414c5aa59e8SDavid Daney uint64_t reserved_21_63:43; 415c5aa59e8SDavid Daney #endif 416aa32a955SDavid Daney } s; 417aa32a955SDavid Daney }; 418aa32a955SDavid Daney 419aa32a955SDavid Daney union cvmx_mixx_tstamp { 420aa32a955SDavid Daney uint64_t u64; 421aa32a955SDavid Daney struct cvmx_mixx_tstamp_s { 422c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 423aa32a955SDavid Daney uint64_t tstamp:64; 424c5aa59e8SDavid Daney #else 425c5aa59e8SDavid Daney uint64_t tstamp:64; 426c5aa59e8SDavid Daney #endif 427aa32a955SDavid Daney } s; 428a7187a2fSDavid Daney }; 429a7187a2fSDavid Daney 430a7187a2fSDavid Daney #endif 431