5810N/A/*
5810N/A * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
5810N/A */
5810N/A
5810N/A/*
5810N/A * Redistribution and use in source and binary forms, with or without modification,
5810N/A * are permitted provided that the following conditions are met:
5810N/A *
5810N/A * 1. Redistributions of source code must retain the above copyright notice,
5810N/A * this list of conditions and the following disclaimer.
5810N/A *
5810N/A * 2. Redistributions in binary form must reproduce the above copyright notice,
5810N/A * this list of conditions and the following disclaimer in the documentation
5810N/A * and/or other materials provided with the distribution.
5810N/A *
5810N/A * 3. Neither the name of the copyright holder nor the names of its contributors
5810N/A * may be used to endorse or promote products derived from this software without
5810N/A * specific prior written permission.
5810N/A *
5810N/A * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
5810N/A * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
5810N/A * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
5810N/A * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
5810N/A * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
5810N/A * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
5810N/A * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
5810N/A * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
5810N/A * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
5810N/A * OF THE POSSIBILITY OF SUCH DAMAGE.
5810N/A */
5810N/A
5810N/A#ifndef _PSIF_HW_CSR_H
5810N/A#define _PSIF_HW_CSR_H
5810N/A#ifdef __cplusplus
5810N/Aextern "C" {
5810N/A#endif
5810N/A
5810N/A#include "psif_api.h"
5810N/A
5810N/A/* The psif base address setup access ids */
5810N/Aenum psif_csr_map {
5810N/A PSIF_CSR_ADDR_BASE_ADDR_ATSP = 0x5248,
5810N/A PSIF_CSR_ADDR_BASE_ADDR_AH = 0x55948,
5810N/A PSIF_CSR_ADDR_BASE_ADDR_QP = 0x55960,
5810N/A PSIF_CSR_ADDR_BASE_ADDR_SQ_CMPL = 0x59d68,
5810N/A PSIF_CSR_ADDR_BASE_ADDR_KEY = 0x59d80,
5810N/A PSIF_CSR_ADDR_BASE_ADDR_RQSP = 0x59e08,
5810N/A PSIF_CSR_ADDR_BASE_ADDR_RQ_SW = 0x59e20,
5810N/A PSIF_CSR_ADDR_BASE_ADDR_RQ_HW = 0x59e38,
5810N/A PSIF_CSR_ADDR_BASE_ADDR_SQ_SW = 0xc4548,
5810N/A PSIF_CSR_ADDR_BASE_ADDR_SQ_HW = 0xc4560,
5810N/A PSIF_CSR_ADDR_BASE_ADDR_SQ_RING = 0xc4d18,
5810N/A PSIF_CSR_ADDR_BASE_ADDR_SQ_RSPQ = 0xc4f68,
5810N/A PSIF_CSR_ADDR_BASE_ADDR_SQ_TVL = 0xc5388,
5810N/A PSIF_CSR_ADDR_BASE_ADDR_CQ_SW = 0xcd7a0,
5810N/A PSIF_CSR_ADDR_BASE_ADDR_CQ_HW = 0xcd7b8,
5810N/A PSIF_CSR_ADDR_END = 0xce9f0
5810N/A}; /* enum psif_csr_map */
5810N/A
5810N/A/* The psif base address setup access ids as offset in a struct */
5810N/A/* *** DEPRECATED DATA TYPE *** */
5810N/Astruct psif_csr_be {
5810N/A __be64 ingenting_01[((0x5248) / sizeof(__be64))];
5810N/A /* HW:TSU_HOST_QP_BASE_ADDR_0 -> struct base_addr_atsp [165 bits] */
5810N/A __be64 base_addr_atsp[3]; /* Offset 0x5248 */
5810N/A /* HW:TSU_QPS_AHA_BASE_ADDR_0 -> struct base_addr_ah [165 bits] */
5810N/A __be64 ingenting_03[((0x55948 - 0x5248) / sizeof(__be64)) - 3];
5810N/A __be64 base_addr_ah[3]; /* Offset 0x55948 */
5810N/A /* HW:TSU_QPS_QP_BASE_ADDR_0 -> struct base_addr_qp [165 bits] */
5810N/A __be64 ingenting_04[((0x55960 - 0x55948) / sizeof(__be64)) - 3];
5810N/A __be64 base_addr_qp[3]; /* Offset 0x55960 */
5810N/A /* HW:TSU_CMPL_SQ_BASE_ADDR_0 -> struct base_addr_sq_cmpl [165 bits] */
5810N/A __be64 ingenting_05[((0x59d68 - 0x55960) / sizeof(__be64)) - 3];
5810N/A __be64 base_addr_sq_cmpl[3]; /* Offset 0x59d68 */
5810N/A /* HW:TSU_VAL_KEY_BASE_ADDR_0 -> struct base_addr_key [165 bits] */
5810N/A __be64 ingenting_06[((0x59d80 - 0x59d68) / sizeof(__be64)) - 3];
5810N/A __be64 base_addr_key[3]; /* Offset 0x59d80 */
5810N/A /* HW:TSU_RQH_QP_BASE_ADDR_0 -> struct base_addr_rqsp [165 bits] */
5810N/A __be64 ingenting_07[((0x59e08 - 0x59d80) / sizeof(__be64)) - 3];
5810N/A __be64 base_addr_rqsp[3]; /* Offset 0x59e08 */
5810N/A /* HW:TSU_DSCR_RQ_BASE_ADDR_SW_0 -> struct base_addr_rq_sw [165 bits] */
5810N/A __be64 ingenting_08[((0x59e20 - 0x59e08) / sizeof(__be64)) - 3];
5810N/A __be64 base_addr_rq_sw[3]; /* Offset 0x59e20 */
5810N/A /* HW:TSU_DSCR_RQ_BASE_ADDR_HW_0 -> struct base_addr_rq_hw [165 bits] */
5810N/A __be64 ingenting_09[((0x59e38 - 0x59e20) / sizeof(__be64)) - 3];
5810N/A __be64 base_addr_rq_hw[3]; /* Offset 0x59e38 */
5810N/A /* HW:TSU_IBPR_P1_EOIB_MAC1 SW:ibpr_p1_eoib_mac1
5810N/A * -> struct psif_csr_ibpr_p1_eoib_mac1 [64 bits] */
5810N/A __be64 ingenting_10[((0xbfcb8 - 0x59e38) / sizeof(__be64)) - 1];
5810N/A __be64 ibpr_p1_eoib_mac1; /* Offset 0xbfcb8 */
5810N/A /* HW:TSU_IBPR_P1_EOIB_MAC2 SW:ibpr_p1_eoib_mac2
5810N/A * -> struct psif_csr_ibpr_p1_eoib_mac2 [64 bits] */
5810N/A __be64 ingenting_11[((0xbfcc0 - 0xbfcb8) / sizeof(__be64)) - 1];
5810N/A __be64 ibpr_p1_eoib_mac2; /* Offset 0xbfcc0 */
5810N/A /* HW:TSU_IBPR_P2_EOIB_MAC1 SW:ibpr_p2_eoib_mac1
5810N/A * -> struct psif_csr_ibpr_p2_eoib_mac1 [64 bits] */
5810N/A __be64 ingenting_12[((0xbfcc8 - 0xbfcc0) / sizeof(__be64)) - 1];
5810N/A __be64 ibpr_p2_eoib_mac1; /* Offset 0xbfcc8 */
5810N/A /* HW:TSU_IBPR_P2_EOIB_MAC2 SW:ibpr_p2_eoib_mac2
5810N/A * -> struct psif_csr_ibpr_p2_eoib_mac2 [64 bits] */
5810N/A __be64 ingenting_13[((0xbfcd0 - 0xbfcc8) / sizeof(__be64)) - 1];
5810N/A __be64 ibpr_p2_eoib_mac2; /* Offset 0xbfcd0 */
5810N/A /* HW:TSU_SQS_SQ_BASE_ADDR_SW_0 -> struct base_addr_sq_sw [165 bits] */
5810N/A __be64 ingenting_14[((0xc4548 - 0xbfcd0) / sizeof(__be64)) - 3];
5810N/A __be64 base_addr_sq_sw[3]; /* Offset 0xc4548 */
5810N/A /* HW:TSU_SQS_SQ_BASE_ADDR_HW_0 -> struct base_addr_sq_hw [165 bits] */
5810N/A __be64 ingenting_15[((0xc4560 - 0xc4548) / sizeof(__be64)) - 3];
5810N/A __be64 base_addr_sq_hw[3]; /* Offset 0xc4560 */
5810N/A /* HW:TSU_SQS_PIO_RING_BASE_ADDR_0 -> struct base_addr_sq_ring [165 bits] */
5810N/A __be64 ingenting_16[((0xc4d18 - 0xc4560) / sizeof(__be64)) - 3];
5810N/A __be64 base_addr_sq_ring[3]; /* Offset 0xc4d18 */
5810N/A /* HW:TSU_SQS_RSPQ_BASE_ADDR_0 -> struct base_addr_sq_rspq [165 bits] */
5810N/A __be64 ingenting_17[((0xc4f68 - 0xc4d18) / sizeof(__be64)) - 3];
5810N/A __be64 base_addr_sq_rspq[3]; /* Offset 0xc4f68 */
5810N/A /* HW:TSU_SQS_RSPQ_TVL_BASE_ADDR_0 -> struct base_addr_sq_tvl [165 bits] */
5810N/A __be64 ingenting_18[((0xc5388 - 0xc4f68) / sizeof(__be64)) - 3];
5810N/A __be64 base_addr_sq_tvl[3]; /* Offset 0xc5388 */
5810N/A /* HW:TSU_CBLD_CQ_BASE_ADDR_SW_0 -> struct base_addr_cq_sw [165 bits] */
5810N/A __be64 ingenting_19[((0xcd7a0 - 0xc5388) / sizeof(__be64)) - 3];
5810N/A __be64 base_addr_cq_sw[3]; /* Offset 0xcd7a0 */
5810N/A /* HW:TSU_CBLD_CQ_BASE_ADDR_HW_0 -> struct base_addr_cq_hw [165 bits] */
5810N/A __be64 ingenting_20[((0xcd7b8 - 0xcd7a0) / sizeof(__be64)) - 3];
5810N/A __be64 base_addr_cq_hw[3]; /* Offset 0xcd7b8 */
5810N/A __be64 ingenting_21[((0xce9f0 - 0xcd7b8) / sizeof(__be64)) - 3];
5810N/A}; /* struct psif_csr_be [6770560 bits] */
5810N/A
5810N/A#ifdef __cplusplus
5810N/A}
5810N/A#endif
5810N/A#endif /* _PSIF_HW_CSR_H */