1232809Sjmallett/***********************license start*************** 2232809Sjmallett * Copyright (c) 2003-2012 Cavium Inc. (support@cavium.com). All rights 3232809Sjmallett * reserved. 4232809Sjmallett * 5232809Sjmallett * 6232809Sjmallett * Redistribution and use in source and binary forms, with or without 7232809Sjmallett * modification, are permitted provided that the following conditions are 8232809Sjmallett * met: 9232809Sjmallett * 10232809Sjmallett * * Redistributions of source code must retain the above copyright 11232809Sjmallett * notice, this list of conditions and the following disclaimer. 12232809Sjmallett * 13232809Sjmallett * * Redistributions in binary form must reproduce the above 14232809Sjmallett * copyright notice, this list of conditions and the following 15232809Sjmallett * disclaimer in the documentation and/or other materials provided 16232809Sjmallett * with the distribution. 17232809Sjmallett 18232809Sjmallett * * Neither the name of Cavium Inc. nor the names of 19232809Sjmallett * its contributors may be used to endorse or promote products 20232809Sjmallett * derived from this software without specific prior written 21232809Sjmallett * permission. 22232809Sjmallett 23232809Sjmallett * This Software, including technical data, may be subject to U.S. export control 24232809Sjmallett * laws, including the U.S. Export Administration Act and its associated 25232809Sjmallett * regulations, and may be subject to export or import regulations in other 26232809Sjmallett * countries. 27232809Sjmallett 28232809Sjmallett * TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS" 29232809Sjmallett * AND WITH ALL FAULTS AND CAVIUM INC. MAKES NO PROMISES, REPRESENTATIONS OR 30232809Sjmallett * WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO 31232809Sjmallett * THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY REPRESENTATION OR 32232809Sjmallett * DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT DEFECTS, AND CAVIUM 33232809Sjmallett * SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES OF TITLE, 34232809Sjmallett * MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF 35232809Sjmallett * VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR 36232809Sjmallett * CORRESPONDENCE TO DESCRIPTION. THE ENTIRE RISK ARISING OUT OF USE OR 37232809Sjmallett * PERFORMANCE OF THE SOFTWARE LIES WITH YOU. 38232809Sjmallett ***********************license end**************************************/ 39232809Sjmallett 40232809Sjmallett 41232809Sjmallett/** 42232809Sjmallett * cvmx-iob1-defs.h 43232809Sjmallett * 44232809Sjmallett * Configuration and status register (CSR) type definitions for 45232809Sjmallett * Octeon iob1. 46232809Sjmallett * 47232809Sjmallett * This file is auto generated. Do not edit. 48232809Sjmallett * 49232809Sjmallett * <hr>$Revision$<hr> 50232809Sjmallett * 51232809Sjmallett */ 52232809Sjmallett#ifndef __CVMX_IOB1_DEFS_H__ 53232809Sjmallett#define __CVMX_IOB1_DEFS_H__ 54232809Sjmallett 55232809Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 56232809Sjmallett#define CVMX_IOB1_BIST_STATUS CVMX_IOB1_BIST_STATUS_FUNC() 57232809Sjmallettstatic inline uint64_t CVMX_IOB1_BIST_STATUS_FUNC(void) 58232809Sjmallett{ 59232809Sjmallett if (!(OCTEON_IS_MODEL(OCTEON_CN68XX))) 60232809Sjmallett cvmx_warn("CVMX_IOB1_BIST_STATUS not supported on this chip\n"); 61232809Sjmallett return CVMX_ADD_IO_SEG(0x00011800F00107F8ull); 62232809Sjmallett} 63232809Sjmallett#else 64232809Sjmallett#define CVMX_IOB1_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011800F00107F8ull)) 65232809Sjmallett#endif 66232809Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 67232809Sjmallett#define CVMX_IOB1_CTL_STATUS CVMX_IOB1_CTL_STATUS_FUNC() 68232809Sjmallettstatic inline uint64_t CVMX_IOB1_CTL_STATUS_FUNC(void) 69232809Sjmallett{ 70232809Sjmallett if (!(OCTEON_IS_MODEL(OCTEON_CN68XX))) 71232809Sjmallett cvmx_warn("CVMX_IOB1_CTL_STATUS not supported on this chip\n"); 72232809Sjmallett return CVMX_ADD_IO_SEG(0x00011800F0010050ull); 73232809Sjmallett} 74232809Sjmallett#else 75232809Sjmallett#define CVMX_IOB1_CTL_STATUS (CVMX_ADD_IO_SEG(0x00011800F0010050ull)) 76232809Sjmallett#endif 77232809Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 78232809Sjmallett#define CVMX_IOB1_TO_CMB_CREDITS CVMX_IOB1_TO_CMB_CREDITS_FUNC() 79232809Sjmallettstatic inline uint64_t CVMX_IOB1_TO_CMB_CREDITS_FUNC(void) 80232809Sjmallett{ 81232809Sjmallett if (!(OCTEON_IS_MODEL(OCTEON_CN68XX))) 82232809Sjmallett cvmx_warn("CVMX_IOB1_TO_CMB_CREDITS not supported on this chip\n"); 83232809Sjmallett return CVMX_ADD_IO_SEG(0x00011800F00100B0ull); 84232809Sjmallett} 85232809Sjmallett#else 86232809Sjmallett#define CVMX_IOB1_TO_CMB_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00100B0ull)) 87232809Sjmallett#endif 88232809Sjmallett 89232809Sjmallett/** 90232809Sjmallett * cvmx_iob1_bist_status 91232809Sjmallett * 92232809Sjmallett * IOB_BIST_STATUS = BIST Status of IOB Memories 93232809Sjmallett * 94232809Sjmallett * The result of the BIST run on the IOB memories. 95232809Sjmallett */ 96232809Sjmallettunion cvmx_iob1_bist_status { 97232809Sjmallett uint64_t u64; 98232809Sjmallett struct cvmx_iob1_bist_status_s { 99232809Sjmallett#ifdef __BIG_ENDIAN_BITFIELD 100232809Sjmallett uint64_t reserved_9_63 : 55; 101232809Sjmallett uint64_t xmdfif : 1; /**< xmdfif_bist_status */ 102232809Sjmallett uint64_t xmcfif : 1; /**< xmcfif_bist_status */ 103232809Sjmallett uint64_t iorfif : 1; /**< iorfif_bist_status */ 104232809Sjmallett uint64_t rsdfif : 1; /**< rsdfif_bist_status */ 105232809Sjmallett uint64_t iocfif : 1; /**< iocfif_bist_status */ 106232809Sjmallett uint64_t reserved_2_3 : 2; 107232809Sjmallett uint64_t icrp0 : 1; /**< icr_pko_bist_mem0_status */ 108232809Sjmallett uint64_t icrp1 : 1; /**< icr_pko_bist_mem1_status */ 109232809Sjmallett#else 110232809Sjmallett uint64_t icrp1 : 1; 111232809Sjmallett uint64_t icrp0 : 1; 112232809Sjmallett uint64_t reserved_2_3 : 2; 113232809Sjmallett uint64_t iocfif : 1; 114232809Sjmallett uint64_t rsdfif : 1; 115232809Sjmallett uint64_t iorfif : 1; 116232809Sjmallett uint64_t xmcfif : 1; 117232809Sjmallett uint64_t xmdfif : 1; 118232809Sjmallett uint64_t reserved_9_63 : 55; 119232809Sjmallett#endif 120232809Sjmallett } s; 121232809Sjmallett struct cvmx_iob1_bist_status_s cn68xx; 122232809Sjmallett struct cvmx_iob1_bist_status_s cn68xxp1; 123232809Sjmallett}; 124232809Sjmalletttypedef union cvmx_iob1_bist_status cvmx_iob1_bist_status_t; 125232809Sjmallett 126232809Sjmallett/** 127232809Sjmallett * cvmx_iob1_ctl_status 128232809Sjmallett * 129232809Sjmallett * IOB Control Status = IOB Control and Status Register 130232809Sjmallett * 131232809Sjmallett * Provides control for IOB functions. 132232809Sjmallett */ 133232809Sjmallettunion cvmx_iob1_ctl_status { 134232809Sjmallett uint64_t u64; 135232809Sjmallett struct cvmx_iob1_ctl_status_s { 136232809Sjmallett#ifdef __BIG_ENDIAN_BITFIELD 137232809Sjmallett uint64_t reserved_11_63 : 53; 138232809Sjmallett uint64_t fif_dly : 1; /**< Delay async FIFO counts to be used when clock ratio 139232809Sjmallett is greater then 3:1. Writes should be followed by an 140232809Sjmallett immediate read. */ 141232809Sjmallett uint64_t xmc_per : 4; /**< IBC XMC PUSH EARLY */ 142232809Sjmallett uint64_t reserved_0_5 : 6; 143232809Sjmallett#else 144232809Sjmallett uint64_t reserved_0_5 : 6; 145232809Sjmallett uint64_t xmc_per : 4; 146232809Sjmallett uint64_t fif_dly : 1; 147232809Sjmallett uint64_t reserved_11_63 : 53; 148232809Sjmallett#endif 149232809Sjmallett } s; 150232809Sjmallett struct cvmx_iob1_ctl_status_s cn68xx; 151232809Sjmallett struct cvmx_iob1_ctl_status_s cn68xxp1; 152232809Sjmallett}; 153232809Sjmalletttypedef union cvmx_iob1_ctl_status cvmx_iob1_ctl_status_t; 154232809Sjmallett 155232809Sjmallett/** 156232809Sjmallett * cvmx_iob1_to_cmb_credits 157232809Sjmallett * 158232809Sjmallett * IOB_TO_CMB_CREDITS = IOB To CMB Credits 159232809Sjmallett * 160232809Sjmallett * Controls the number of reads and writes that may be outstanding to the L2C (via the CMB). 161232809Sjmallett */ 162232809Sjmallettunion cvmx_iob1_to_cmb_credits { 163232809Sjmallett uint64_t u64; 164232809Sjmallett struct cvmx_iob1_to_cmb_credits_s { 165232809Sjmallett#ifdef __BIG_ENDIAN_BITFIELD 166232809Sjmallett uint64_t reserved_10_63 : 54; 167232809Sjmallett uint64_t pko_rd : 4; /**< Number of PKO reads that can be out to L2C where 168232809Sjmallett 0 == 16-credits. */ 169232809Sjmallett uint64_t reserved_3_5 : 3; 170232809Sjmallett uint64_t ncb_wr : 3; /**< Number of NCB/PKI writes that can be out to L2C 171232809Sjmallett where 0 == 8-credits. */ 172232809Sjmallett#else 173232809Sjmallett uint64_t ncb_wr : 3; 174232809Sjmallett uint64_t reserved_3_5 : 3; 175232809Sjmallett uint64_t pko_rd : 4; 176232809Sjmallett uint64_t reserved_10_63 : 54; 177232809Sjmallett#endif 178232809Sjmallett } s; 179232809Sjmallett struct cvmx_iob1_to_cmb_credits_s cn68xx; 180232809Sjmallett struct cvmx_iob1_to_cmb_credits_s cn68xxp1; 181232809Sjmallett}; 182232809Sjmalletttypedef union cvmx_iob1_to_cmb_credits cvmx_iob1_to_cmb_credits_t; 183232809Sjmallett 184232809Sjmallett#endif 185