diff options
Diffstat (limited to 'sys/contrib/ncsw/inc/integrations/P3041/part_integration_ext.h')
-rw-r--r-- | sys/contrib/ncsw/inc/integrations/P3041/part_integration_ext.h | 995 |
1 files changed, 995 insertions, 0 deletions
diff --git a/sys/contrib/ncsw/inc/integrations/P3041/part_integration_ext.h b/sys/contrib/ncsw/inc/integrations/P3041/part_integration_ext.h new file mode 100644 index 0000000..0eb5746 --- /dev/null +++ b/sys/contrib/ncsw/inc/integrations/P3041/part_integration_ext.h @@ -0,0 +1,995 @@ +/****************************************************************************** + + © 1995-2003, 2004, 2005-2011 Freescale Semiconductor, Inc. + All rights reserved. + + This is proprietary source code of Freescale Semiconductor Inc., + and its use is subject to the NetComm Device Drivers EULA. + The copyright notice above does not evidence any actual or intended + publication of such source code. + + ALTERNATIVELY, redistribution and use in source and binary forms, with + or without modification, are permitted provided that the following + conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Freescale Semiconductor nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + **************************************************************************/ +/** + + @File part_integration_ext.h + + @Description P3041 external definitions and structures. +*//***************************************************************************/ +#ifndef __PART_INTEGRATION_EXT_H +#define __PART_INTEGRATION_EXT_H + +#include "std_ext.h" +#include "ddr_std_ext.h" +#include "enet_ext.h" +#include "dpaa_integration_ext.h" + + +/**************************************************************************//** + @Group P3041_chip_id P3041 Application Programming Interface + + @Description P3041 Chip functions,definitions and enums. + + @{ +*//***************************************************************************/ + +#define CORE_E500MC + +#define INTG_MAX_NUM_OF_CORES 4 + + +/**************************************************************************//** + @Description Module types. +*//***************************************************************************/ +typedef enum e_ModuleId +{ + e_MODULE_ID_DUART_1 = 0, + e_MODULE_ID_DUART_2, + e_MODULE_ID_DUART_3, + e_MODULE_ID_DUART_4, + e_MODULE_ID_LAW, + e_MODULE_ID_LBC, + e_MODULE_ID_PAMU, + e_MODULE_ID_QM, /**< Queue manager module */ + e_MODULE_ID_BM, /**< Buffer manager module */ + e_MODULE_ID_QM_CE_PORTAL_0, + e_MODULE_ID_QM_CI_PORTAL_0, + e_MODULE_ID_QM_CE_PORTAL_1, + e_MODULE_ID_QM_CI_PORTAL_1, + e_MODULE_ID_QM_CE_PORTAL_2, + e_MODULE_ID_QM_CI_PORTAL_2, + e_MODULE_ID_QM_CE_PORTAL_3, + e_MODULE_ID_QM_CI_PORTAL_3, + e_MODULE_ID_QM_CE_PORTAL_4, + e_MODULE_ID_QM_CI_PORTAL_4, + e_MODULE_ID_QM_CE_PORTAL_5, + e_MODULE_ID_QM_CI_PORTAL_5, + e_MODULE_ID_QM_CE_PORTAL_6, + e_MODULE_ID_QM_CI_PORTAL_6, + e_MODULE_ID_QM_CE_PORTAL_7, + e_MODULE_ID_QM_CI_PORTAL_7, + e_MODULE_ID_QM_CE_PORTAL_8, + e_MODULE_ID_QM_CI_PORTAL_8, + e_MODULE_ID_QM_CE_PORTAL_9, + e_MODULE_ID_QM_CI_PORTAL_9, + e_MODULE_ID_BM_CE_PORTAL_0, + e_MODULE_ID_BM_CI_PORTAL_0, + e_MODULE_ID_BM_CE_PORTAL_1, + e_MODULE_ID_BM_CI_PORTAL_1, + e_MODULE_ID_BM_CE_PORTAL_2, + e_MODULE_ID_BM_CI_PORTAL_2, + e_MODULE_ID_BM_CE_PORTAL_3, + e_MODULE_ID_BM_CI_PORTAL_3, + e_MODULE_ID_BM_CE_PORTAL_4, + e_MODULE_ID_BM_CI_PORTAL_4, + e_MODULE_ID_BM_CE_PORTAL_5, + e_MODULE_ID_BM_CI_PORTAL_5, + e_MODULE_ID_BM_CE_PORTAL_6, + e_MODULE_ID_BM_CI_PORTAL_6, + e_MODULE_ID_BM_CE_PORTAL_7, + e_MODULE_ID_BM_CI_PORTAL_7, + e_MODULE_ID_BM_CE_PORTAL_8, + e_MODULE_ID_BM_CI_PORTAL_8, + e_MODULE_ID_BM_CE_PORTAL_9, + e_MODULE_ID_BM_CI_PORTAL_9, + e_MODULE_ID_FM, /**< Frame manager module */ + e_MODULE_ID_FM_RTC, /**< FM Real-Time-Clock */ + e_MODULE_ID_FM_MURAM, /**< FM Multi-User-RAM */ + e_MODULE_ID_FM_BMI, /**< FM BMI block */ + e_MODULE_ID_FM_QMI, /**< FM QMI block */ + e_MODULE_ID_FM_PARSER, /**< FM parser block */ + e_MODULE_ID_FM_PORT_HO1, /**< FM Host-command/offline-parsing port block */ + e_MODULE_ID_FM_PORT_HO2, /**< FM Host-command/offline-parsing port block */ + e_MODULE_ID_FM_PORT_HO3, /**< FM Host-command/offline-parsing port block */ + e_MODULE_ID_FM_PORT_HO4, /**< FM Host-command/offline-parsing port block */ + e_MODULE_ID_FM_PORT_HO5, /**< FM Host-command/offline-parsing port block */ + e_MODULE_ID_FM_PORT_HO6, /**< FM Host-command/offline-parsing port block */ + e_MODULE_ID_FM_PORT_HO7, /**< FM Host-command/offline-parsing port block */ + e_MODULE_ID_FM_PORT_1GRx1, /**< FM Rx 1G MAC port block */ + e_MODULE_ID_FM_PORT_1GRx2, /**< FM Rx 1G MAC port block */ + e_MODULE_ID_FM_PORT_1GRx3, /**< FM Rx 1G MAC port block */ + e_MODULE_ID_FM_PORT_1GRx4, /**< FM Rx 1G MAC port block */ + e_MODULE_ID_FM_PORT_1GRx5, /**< FM Rx 1G MAC port block */ + e_MODULE_ID_FM_PORT_10GRx, /**< FM Rx 10G MAC port block */ + e_MODULE_ID_FM_PORT_1GTx1, /**< FM Tx 1G MAC port block */ + e_MODULE_ID_FM_PORT_1GTx2, /**< FM Tx 1G MAC port block */ + e_MODULE_ID_FM_PORT_1GTx3, /**< FM Tx 1G MAC port block */ + e_MODULE_ID_FM_PORT_1GTx4, /**< FM Tx 1G MAC port block */ + e_MODULE_ID_FM_PORT_1GTx5, /**< FM Tx 1G MAC port block */ + e_MODULE_ID_FM_PORT_10GTx, /**< FM Tx 10G MAC port block */ + e_MODULE_ID_FM_PLCR, /**< FM Policer */ + e_MODULE_ID_FM_KG, /**< FM Keygen */ + e_MODULE_ID_FM_DMA, /**< FM DMA */ + e_MODULE_ID_FM_FPM, /**< FM FPM */ + e_MODULE_ID_FM_IRAM, /**< FM Instruction-RAM */ + e_MODULE_ID_FM_1GMDIO1, /**< FM 1G MDIO MAC 1*/ + e_MODULE_ID_FM_1GMDIO2, /**< FM 1G MDIO MAC 2*/ + e_MODULE_ID_FM_1GMDIO3, /**< FM 1G MDIO MAC 3*/ + e_MODULE_ID_FM_1GMDIO4, /**< FM 1G MDIO MAC 4*/ + e_MODULE_ID_FM_1GMDIO5, /**< FM 1G MDIO MAC 5*/ + e_MODULE_ID_FM_10GMDIO, /**< FM 10G MDIO */ + e_MODULE_ID_FM_PRS_IRAM, /**< FM SW-parser Instruction-RAM */ + e_MODULE_ID_FM_1GMAC1, /**< FM 1G MAC #1 */ + e_MODULE_ID_FM_1GMAC2, /**< FM 1G MAC #2 */ + e_MODULE_ID_FM_1GMAC3, /**< FM 1G MAC #3 */ + e_MODULE_ID_FM_1GMAC4, /**< FM 1G MAC #4 */ + e_MODULE_ID_FM_1GMAC5, /**< FM 1G MAC #5 */ + e_MODULE_ID_FM_10GMAC, /**< FM 10G MAC */ + + e_MODULE_ID_SEC_GEN, /**< SEC 4.0 General registers */ + e_MODULE_ID_SEC_QI, /**< SEC 4.0 QI registers */ + e_MODULE_ID_SEC_JQ0, /**< SEC 4.0 JQ-0 registers */ + e_MODULE_ID_SEC_JQ1, /**< SEC 4.0 JQ-1 registers */ + e_MODULE_ID_SEC_JQ2, /**< SEC 4.0 JQ-2 registers */ + e_MODULE_ID_SEC_JQ3, /**< SEC 4.0 JQ-3 registers */ + e_MODULE_ID_SEC_RTIC, /**< SEC 4.0 RTIC registers */ + e_MODULE_ID_SEC_DECO0_CCB0, /**< SEC 4.0 DECO-0/CCB-0 registers */ + e_MODULE_ID_SEC_DECO1_CCB1, /**< SEC 4.0 DECO-1/CCB-1 registers */ + e_MODULE_ID_SEC_DECO2_CCB2, /**< SEC 4.0 DECO-2/CCB-2 registers */ + e_MODULE_ID_SEC_DECO3_CCB3, /**< SEC 4.0 DECO-3/CCB-3 registers */ + e_MODULE_ID_SEC_DECO4_CCB4, /**< SEC 4.0 DECO-4/CCB-4 registers */ + + e_MODULE_ID_PIC, /**< PIC */ + e_MODULE_ID_GPIO, /**< GPIO */ + e_MODULE_ID_SERDES, /**< SERDES */ + e_MODULE_ID_CPC, /**< CoreNet-Platform-Cache */ + e_MODULE_ID_DUMMY_LAST +} e_ModuleId; + +#define NUM_OF_MODULES e_MODULE_ID_DUMMY_LAST + +/* Offsets relative to CCSR base */ +#define P3041_OFFSET_LAW 0x00000c00 +#define P3041_OFFSET_DDR 0x00008000 +#define P3041_OFFSET_CPC 0x00010000 +#define P3041_OFFSET_CCM 0x00018000 +#define P3041_OFFSET_PAMU 0x00020000 +#define P3041_OFFSET_PIC 0x00040000 +#define P3041_OFFSET_GUTIL 0x000e0000 +#define P3041_OFFSET_RCPM 0x000e2000 +#define P3041_OFFSET_SERDES 0x000ea000 +#define P3041_OFFSET_DMA1 0x00100100 +#define P3041_OFFSET_DMA2 0x00101100 +#define P3041_OFFSET_ESPI 0x00110000 +#define P3041_OFFSET_ESDHC 0x00114000 +#define P3041_OFFSET_I2C1 0x00118000 +#define P3041_OFFSET_I2C2 0x00118100 +#define P3041_OFFSET_I2C3 0x00119000 +#define P3041_OFFSET_I2C4 0x00119100 +#define P3041_OFFSET_DUART1 0x0011c500 +#define P3041_OFFSET_DUART2 0x0011c600 +#define P3041_OFFSET_DUART3 0x0011d500 +#define P3041_OFFSET_DUART4 0x0011d600 +#define P3041_OFFSET_LBC 0x00124000 +#define P3041_OFFSET_GPIO 0x00130000 +#define P3041_OFFSET_PCIE1 0x00200000 +#define P3041_OFFSET_PCIE2 0x00201000 +#define P3041_OFFSET_PCIE3 0x00202000 +#define P3041_OFFSET_PCIE4 0x00203000 +#define P3041_OFFSET_USB1 0x00210000 +#define P3041_OFFSET_USB2 0x00211000 +#define P3041_OFFSET_USB_PHY 0x00214000 +#define P3041_OFFSET_SATA1 0x00220000 +#define P3041_OFFSET_SATA2 0x00221000 +#define P3041_OFFSET_SEC_GEN 0x00300000 +#define P3041_OFFSET_SEC_JQ0 0x00301000 +#define P3041_OFFSET_SEC_JQ1 0x00302000 +#define P3041_OFFSET_SEC_JQ2 0x00303000 +#define P3041_OFFSET_SEC_JQ3 0x00304000 +#define P3041_OFFSET_SEC_RESERVED 0x00305000 +#define P3041_OFFSET_SEC_RTIC 0x00306000 +#define P3041_OFFSET_SEC_QI 0x00307000 +#define P3041_OFFSET_SEC_DECO0_CCB0 0x00308000 +#define P3041_OFFSET_SEC_DECO1_CCB1 0x00309000 +#define P3041_OFFSET_PME 0x00316000 +#define P3041_OFFSET_QM 0x00318000 +#define P3041_OFFSET_BM 0x0031a000 +#define P3041_OFFSET_FM 0x00400000 + +#define P3041_OFFSET_FM_MURAM P3041_OFFSET_FM +#define P3041_OFFSET_FM_BMI (P3041_OFFSET_FM + 0x00080000) +#define P3041_OFFSET_FM_QMI (P3041_OFFSET_FM + 0x00080400) +#define P3041_OFFSET_FM_PARSER (P3041_OFFSET_FM + 0x00080800) +#define P3041_OFFSET_FM_PORT_HO1 (P3041_OFFSET_FM + 0x00081000) /* host command/offline parser */ +#define P3041_OFFSET_FM_PORT_HO2 (P3041_OFFSET_FM + 0x00082000) +#define P3041_OFFSET_FM_PORT_HO3 (P3041_OFFSET_FM + 0x00083000) +#define P3041_OFFSET_FM_PORT_HO4 (P3041_OFFSET_FM + 0x00084000) +#define P3041_OFFSET_FM_PORT_HO5 (P3041_OFFSET_FM + 0x00085000) +#define P3041_OFFSET_FM_PORT_HO6 (P3041_OFFSET_FM + 0x00086000) +#define P3041_OFFSET_FM_PORT_HO7 (P3041_OFFSET_FM + 0x00087000) +#define P3041_OFFSET_FM_PORT_1GRX1 (P3041_OFFSET_FM + 0x00088000) +#define P3041_OFFSET_FM_PORT_1GRX2 (P3041_OFFSET_FM + 0x00089000) +#define P3041_OFFSET_FM_PORT_1GRX3 (P3041_OFFSET_FM + 0x0008a000) +#define P3041_OFFSET_FM_PORT_1GRX4 (P3041_OFFSET_FM + 0x0008b000) +#define P3041_OFFSET_FM_PORT_1GRX5 (P3041_OFFSET_FM + 0x0008c000) +#define P3041_OFFSET_FM_PORT_10GRX (P3041_OFFSET_FM + 0x00090000) +#define P3041_OFFSET_FM_PORT_1GTX1 (P3041_OFFSET_FM + 0x000a8000) +#define P3041_OFFSET_FM_PORT_1GTX2 (P3041_OFFSET_FM + 0x000a9000) +#define P3041_OFFSET_FM_PORT_1GTX3 (P3041_OFFSET_FM + 0x000aa000) +#define P3041_OFFSET_FM_PORT_1GTX4 (P3041_OFFSET_FM + 0x000ab000) +#define P3041_OFFSET_FM_PORT_1GTX5 (P3041_OFFSET_FM + 0x000ac000) +#define P3041_OFFSET_FM_PORT_10GTX (P3041_OFFSET_FM + 0x000b0000) +#define P3041_OFFSET_FM_PLCR (P3041_OFFSET_FM + 0x000c0000) +#define P3041_OFFSET_FM_KG (P3041_OFFSET_FM + 0x000c1000) +#define P3041_OFFSET_FM_DMA (P3041_OFFSET_FM + 0x000c2000) +#define P3041_OFFSET_FM_FPM (P3041_OFFSET_FM + 0x000c3000) +#define P3041_OFFSET_FM_IRAM (P3041_OFFSET_FM + 0x000c4000) +#define P3041_OFFSET_FM_PARSER_IRAM (P3041_OFFSET_FM + 0x000c7000) +#define P3041_OFFSET_FM_1GMAC1 (P3041_OFFSET_FM + 0x000e0000) +#define P3041_OFFSET_FM_1GMDIO (P3041_OFFSET_FM + 0x000e1000 + 0x120) +#define P3041_OFFSET_FM_1GMAC2 (P3041_OFFSET_FM + 0x000e2000) +#define P3041_OFFSET_FM_1GMAC3 (P3041_OFFSET_FM + 0x000e4000) +#define P3041_OFFSET_FM_1GMAC4 (P3041_OFFSET_FM + 0x000e6000) +#define P3041_OFFSET_FM_1GMAC5 (P3041_OFFSET_FM + 0x000e8000) +#define P3041_OFFSET_FM_10GMAC (P3041_OFFSET_FM + 0x000f0000) +#define P3041_OFFSET_FM_10GMDIO (P3041_OFFSET_FM + 0x000f1000 + 0x030) +#define P3041_OFFSET_FM_RTC (P3041_OFFSET_FM + 0x000fe000) + +/* Offsets relative to QM or BM portals base */ +#define P3041_OFFSET_PORTALS_CE_AREA 0x000000 /* cache enabled area */ +#define P3041_OFFSET_PORTALS_CI_AREA 0x100000 /* cache inhibited area */ + +#define P3041_CE_PORTAL_SIZE 0x4000 +#define P3041_CI_PORTAL_SIZE 0x1000 + +#define P3041_OFFSET_PORTALS_CE(portal) \ + (P3041_OFFSET_PORTALS_CE_AREA + P3041_CE_PORTAL_SIZE * (portal)) +#define P3041_OFFSET_PORTALS_CI(portal) \ + (P3041_OFFSET_PORTALS_CI_AREA + P3041_CI_PORTAL_SIZE * (portal)) + + +/**************************************************************************//** + @Description Transaction source ID (for memory controllers error reporting). +*//***************************************************************************/ +typedef enum e_TransSrc +{ + e_TRANS_SRC_PCIE_1 = 0x0, /**< PCI Express 1 */ + e_TRANS_SRC_PCIE_2 = 0x1, /**< PCI Express 2 */ + e_TRANS_SRC_PCIE_3 = 0x2, /**< PCI Express 3 */ + e_TRANS_SRC_PCIE_4 = 0x3, /**< PCI Express 4 */ + e_TRANS_SRC_SRIO_1 = 0x8, /**< SRIO 1 */ + e_TRANS_SRC_SRIO_2 = 0x9, /**< SRIO 2 */ + e_TRANS_SRC_BMAN = 0x18, /**< BMan */ + e_TRANS_SRC_PAMU = 0x1C, /**< PAMU */ + e_TRANS_SRC_PME = 0x20, /**< PME */ + e_TRANS_SRC_SEC = 0x21, /**< Security engine */ + e_TRANS_SRC_QMAN = 0x3C, /**< QMan */ + e_TRANS_SRC_USB_1 = 0x40, /**< USB 1 */ + e_TRANS_SRC_USB_2 = 0x41, /**< USB 2 */ + e_TRANS_SRC_ESDHC = 0x44, /**< eSDHC */ + e_TRANS_SRC_PBL = 0x48, /**< Pre-boot loader */ + e_TRANS_SRC_NPC = 0x4B, /**< Nexus port controller */ + e_TRANS_SRC_RMAN = 0x5D, /**< RIO message manager */ + e_TRANS_SRC_SATA_1 = 0x60, /**< SATA 1 */ + e_TRANS_SRC_SATA_2 = 0x61, /**< SATA 2 */ + e_TRANS_SRC_DMA_1 = 0x70, /**< DMA 1 */ + e_TRANS_SRC_DMA_2 = 0x71, /**< DMA 2 */ + e_TRANS_SRC_CORE_0_INST = 0x80, /**< Processor 0 (instruction) */ + e_TRANS_SRC_CORE_0_DATA = 0x81, /**< Processor 0 (data) */ + e_TRANS_SRC_CORE_1_INST = 0x82, /**< Processor 1 (instruction) */ + e_TRANS_SRC_CORE_1_DATA = 0x83, /**< Processor 1 (data) */ + e_TRANS_SRC_CORE_2_INST = 0x84, /**< Processor 2 (instruction) */ + e_TRANS_SRC_CORE_2_DATA = 0x85, /**< Processor 2 (data) */ + e_TRANS_SRC_CORE_3_INST = 0x86, /**< Processor 3 (instruction) */ + e_TRANS_SRC_CORE_3_DATA = 0x87, /**< Processor 3 (data) */ + e_TRANS_SRC_FM_10G = 0xC0, /**< FM XAUI */ + e_TRANS_SRC_FM_HO_1 = 0xC1, /**< FM offline, host 1 */ + e_TRANS_SRC_FM_HO_2 = 0xC2, /**< FM offline, host 2 */ + e_TRANS_SRC_FM_HO_3 = 0xC3, /**< FM offline, host 3 */ + e_TRANS_SRC_FM_HO_4 = 0xC4, /**< FM offline, host 4 */ + e_TRANS_SRC_FM_HO_5 = 0xC5, /**< FM offline, host 5 */ + e_TRANS_SRC_FM_HO_6 = 0xC6, /**< FM offline, host 6 */ + e_TRANS_SRC_FM_HO_7 = 0xC7, /**< FM offline, host 7 */ + e_TRANS_SRC_FM_GETH_1 = 0xC8, /**< FM GETH 1 */ + e_TRANS_SRC_FM_GETH_2 = 0xC9, /**< FM GETH 2 */ + e_TRANS_SRC_FM_GETH_3 = 0xCA, /**< FM GETH 3 */ + e_TRANS_SRC_FM_GETH_4 = 0xCB, /**< FM GETH 4 */ + e_TRANS_SRC_FM_GETH_5 = 0xCC /**< FM GETH 5 */ +} e_TransSrc; + +/**************************************************************************//** + @Description Local Access Window Target interface ID +*//***************************************************************************/ +typedef enum e_P3041LawTargetId +{ + e_P3041_LAW_TARGET_PCIE_1 = 0x0, /**< PCI Express 1 */ + e_P3041_LAW_TARGET_PCIE_2 = 0x1, /**< PCI Express 2 */ + e_P3041_LAW_TARGET_PCIE_3 = 0x2, /**< PCI Express 3 */ + e_P3041_LAW_TARGET_PCIE_4 = 0x3, /**< PCI Express 4 */ + e_P3041_LAW_TARGET_SRIO_1 = 0x8, /**< SRIO 1 */ + e_P3041_LAW_TARGET_SRIO_2 = 0x9, /**< SRIO 2 */ + e_P3041_LAW_TARGET_DDR_CPC = 0x10, /**< DDR controller or CPC SRAM */ + e_P3041_LAW_TARGET_BMAN = 0x18, /**< BMAN target interface ID */ + e_P3041_LAW_TARGET_DCSR = 0x1D, /**< DCSR */ + e_P3041_LAW_TARGET_LBC = 0x1F, /**< Local Bus target interface ID */ + e_P3041_LAW_TARGET_QMAN = 0x3C, /**< QMAN target interface ID */ + e_P3041_LAW_TARGET_NONE = 0xFF /**< None */ +} e_P3041LawTargetId; + +/*************************************************************** + P3041 general routines +****************************************************************/ +/**************************************************************************//** + @Group P3041_init_grp P3041 Initialization Unit + + @Description P3041 initialization unit API functions, definitions and enums + + @{ +*//***************************************************************************/ + +/**************************************************************************//** + @Description Part ID and revision number +*//***************************************************************************/ +typedef enum e_P3041DeviceName +{ + e_P3041_REV_INVALID = 0x00000000, /**< Invalid revision */ + e_P3041_REV_1_0 = (int)0x82190310, /**< P3041 with security, revision 1.0 */ + e_P3041_REV_1_0_NO_SEC = (int)0x82110310 /**< P3041 without security, revision 1.0 */ +} e_P3041DeviceName; + +/**************************************************************************//** + @Description Device Disable Register +*//***************************************************************************/ +typedef enum e_P3041DeviceDisable +{ + e_P3041_DEV_DISABLE_PCIE_1 = 0, /**< PCI Express controller 1 disable */ + e_P3041_DEV_DISABLE_PCIE_2, /**< PCI Express controller 2 disable */ + e_P3041_DEV_DISABLE_PCIE_3, /**< PCI Express controller 3 disable */ + e_P3041_DEV_DISABLE_PCIE_4, /**< PCI Express controller 4 disable */ + e_P3041_DEV_DISABLE_RMAN, /**< RapidIO message manager disable */ + e_P3041_DEV_DISABLE_SRIO_1, /**< Serial RapidIO controller 1 disable */ + e_P3041_DEV_DISABLE_SRIO_2, /**< Serial RapidIO controller 2 disable */ + e_P3041_DEV_DISABLE_DMA_1 = 9, /**< DMA controller 1 disable */ + e_P3041_DEV_DISABLE_DMA_2, /**< DMA controller 2 disable */ + e_P3041_DEV_DISABLE_DDR, /**< DDR controller disable */ + e_P3041_DEV_DISABLE_SATA_1 = 17, /**< SATA controller 1 disable */ + e_P3041_DEV_DISABLE_SATA_2, /**< SATA controller 2 disable */ + e_P3041_DEV_DISABLE_LBC, /**< eLBC controller disable */ + e_P3041_DEV_DISABLE_USB_1, /**< USB controller 1 disable */ + e_P3041_DEV_DISABLE_USB_2, /**< USB controller 2 disable */ + e_P3041_DEV_DISABLE_ESDHC = 23, /**< eSDHC controller disable */ + e_P3041_DEV_DISABLE_GPIO, /**< GPIO controller disable */ + e_P3041_DEV_DISABLE_ESPI, /**< eSPI controller disable */ + e_P3041_DEV_DISABLE_I2C_1, /**< I2C module 1 (controllers 1 and 2) disable */ + e_P3041_DEV_DISABLE_I2C_2, /**< I2C module 2 (controllers 3 and 4) disable */ + e_P3041_DEV_DISABLE_DUART_1 = 30, /**< DUART controller 1 disable */ + e_P3041_DEV_DISABLE_DUART_2, /**< DUART controller 2 disable */ + e_P3041_DEV_DISABLE_DISR1_DUMMY_LAST = 32, + /**< Dummy entry signing end of DEVDISR1 register controllers */ + e_P3041_DEV_DISABLE_PME = e_P3041_DEV_DISABLE_DISR1_DUMMY_LAST, + /**< Pattern match engine disable */ + e_P3041_DEV_DISABLE_SEC, /**< Security disable */ + e_P3041_DEV_DISABLE_QM_BM = e_P3041_DEV_DISABLE_DISR1_DUMMY_LAST + 4, + /**< Queue manager/buffer manager disable */ + e_P3041_DEV_DISABLE_FM = e_P3041_DEV_DISABLE_DISR1_DUMMY_LAST + 6, + /**< Frame manager disable */ + e_P3041_DEV_DISABLE_10G, /**< 10G Ethernet controller disable */ + e_P3041_DEV_DISABLE_DTSEC_1, /**< dTSEC controller 1 disable */ + e_P3041_DEV_DISABLE_DTSEC_2, /**< dTSEC controller 2 disable */ + e_P3041_DEV_DISABLE_DTSEC_3, /**< dTSEC controller 3 disable */ + e_P3041_DEV_DISABLE_DTSEC_4, /**< dTSEC controller 4 disable */ + e_P3041_DEV_DISABLE_DTSEC_5 /**< dTSEC controller 5 disable */ +} e_P3041DeviceDisable; + + +/**************************************************************************//* + @Description structure representing P3041 devices configuration +*//***************************************************************************/ +typedef struct t_P3041Devices +{ + struct + { + struct + { + bool enabled; + uint8_t serdesBank; + uint16_t serdesLane; /**< Most significant bits represent lanes used by this bank, + one bit for lane, lane A is the first and so on, e.g., + set 0xF000 for ABCD lanes */ + e_EnetInterface ethIf; + uint8_t ratio; + bool divByTwo; + bool isTwoHalfSgmii; + } dtsecs[FM_MAX_NUM_OF_1G_MACS]; + struct + { + bool enabled; + uint8_t serdesBank; + uint16_t serdesLane; + } tgec; + } fm; +} t_P3041Devices; + +/**************************************************************************//** + @Function P3041_GetRevInfo + + @Description Obtain revision information. + + @Param[in] gutilBase - Gutil memory map virtual base address. + + @Return Part ID and revision. +*//***************************************************************************/ +e_P3041DeviceName P3041_GetRevInfo(uintptr_t gutilBase); + +/**************************************************************************//** + @Function P3041_GetE500Factor + + @Description Obtain core's multiplication factors. + + @Param[in] gutilBase - Gutil memory map virtual base address. + @Param[in] coreIndex - Core index. + @Param[out] p_E500MulFactor - E500 to CCB multification factor. + @Param[out] p_E500DivFactor - E500 to CCB division factor. + +*//***************************************************************************/ +void P3041_GetE500Factor(uintptr_t gutilBase, + uint8_t coreIndex, + uint32_t *p_E500MulFactor, + uint32_t *p_E500DivFactor); + +/**************************************************************************//** + @Function P3041_GetCcbFactor + + @Description Obtain system multiplication factor. + + @Param[in] gutilBase - Gutil memory map virtual base address. + + @Return System multiplication factor. +*//***************************************************************************/ +uint32_t P3041_GetCcbFactor(uintptr_t gutilBase); + +/**************************************************************************//** + @Function P3041_GetDdrFactor + + @Description Obtain DDR clock multiplication factor. + + @Param[in] gutilBase - Gutil memory map virtual base address. + + @Return DDR clock multiplication factor. +*//***************************************************************************/ +uint32_t P3041_GetDdrFactor(uintptr_t gutilBase); + +/**************************************************************************//** + @Function P3041_GetDdrType + + @Description Obtain DDR memory type. + + @Param[in] gutilBase - Gutil memory map virtual base address. + + @Return DDR type. +*//***************************************************************************/ +e_DdrType P3041_GetDdrType(uintptr_t gutilBase); + +/**************************************************************************//** + @Function P3041_GetFmFactor + + @Description returns FM multiplication factors. (This value is returned using + two parameters to avoid using float parameter). + + @Param[in] gutilBase - Gutil memory map virtual base address. + @Param[out] p_FmMulFactor - FM to CCB multification factor. + @Param[out] p_FmDivFactor - FM to CCB division factor. + +*//***************************************************************************/ +void P3041_GetFmFactor(uintptr_t gutilBase, + uint32_t *p_FmMulFactor, + uint32_t *p_FmDivFactor); + + +void P3041_CoreTimeBaseEnable(uintptr_t rcpmBase); +void P3041_CoreTimeBaseDisable(uintptr_t rcpmBase); + +typedef enum e_SerdesProtocol +{ + SRDS_PROTOCOL_NONE = 0, + SRDS_PROTOCOL_PCIE1, + SRDS_PROTOCOL_PCIE2, + SRDS_PROTOCOL_PCIE3, + SRDS_PROTOCOL_PCIE4, + SRDS_PROTOCOL_SRIO1, + SRDS_PROTOCOL_SRIO2, + SRDS_PROTOCOL_SGMII_FM, + SRDS_PROTOCOL_XAUI_FM, + SRDS_PROTOCOL_SATA1, + SRDS_PROTOCOL_SATA2, + SRDS_PROTOCOL_AURORA +} e_SerdesProtocol; + +t_Error P3041_DeviceDisable(uintptr_t gutilBase, e_P3041DeviceDisable device, bool disable); +void P3041_GetDevicesConfiguration(uintptr_t gutilBase, t_P3041Devices *p_Devices); +t_Error P3041_PamuDisableBypass(uintptr_t gutilBase, uint8_t pamuId, bool disable); +uint32_t P3041_SerdesRcwGetProtocol(uintptr_t gutilBase); +bool P3041_SerdesRcwIsDeviceConfigured(uintptr_t gutilBase, e_SerdesProtocol device); +bool P3041_SerdesRcwIsLaneEnabled(uintptr_t gutilBase, uint32_t lane); + +/** @} */ /* end of P3041_init_grp group */ +/** @} */ /* end of P3041_grp group */ + + +/***************************************************************************** + INTEGRATION-SPECIFIC MODULE CODES +******************************************************************************/ +#define MODULE_UNKNOWN 0x00000000 +#define MODULE_MEM 0x00010000 +#define MODULE_MM 0x00020000 +#define MODULE_CORE 0x00030000 +#define MODULE_P3041 0x00040000 +#define MODULE_P3041_PLATFORM 0x00050000 +#define MODULE_PM 0x00060000 +#define MODULE_MMU 0x00070000 +#define MODULE_PIC 0x00080000 +#define MODULE_CPC 0x00090000 +#define MODULE_DUART 0x000a0000 +#define MODULE_SERDES 0x000b0000 +#define MODULE_PIO 0x000c0000 +#define MODULE_QM 0x000d0000 +#define MODULE_BM 0x000e0000 +#define MODULE_SEC 0x000f0000 +#define MODULE_LAW 0x00100000 +#define MODULE_LBC 0x00110000 +#define MODULE_PAMU 0x00120000 +#define MODULE_FM 0x00130000 +#define MODULE_FM_MURAM 0x00140000 +#define MODULE_FM_PCD 0x00150000 +#define MODULE_FM_RTC 0x00160000 +#define MODULE_FM_MAC 0x00170000 +#define MODULE_FM_PORT 0x00180000 +#define MODULE_DPA 0x00190000 +#define MODULE_MII 0x001a0000 +#define MODULE_I2C 0x001b0000 +#define MODULE_DMA 0x001c0000 +#define MODULE_DDR 0x001d0000 +#define MODULE_ESPI 0x001e0000 + +/***************************************************************************** + PAMU INTEGRATION-SPECIFIC DEFINITIONS +******************************************************************************/ +#define PAMU_NUM_OF_PARTITIONS 4 + + +/***************************************************************************** + LAW INTEGRATION-SPECIFIC DEFINITIONS +******************************************************************************/ +#define LAW_NUM_OF_WINDOWS 32 +#define LAW_MIN_WINDOW_SIZE 0x0000000000001000LL /**< 4KB */ +#define LAW_MAX_WINDOW_SIZE 0x0000002000000000LL /**< 64GB */ + + +/***************************************************************************** + LBC INTEGRATION-SPECIFIC DEFINITIONS +******************************************************************************/ +/**************************************************************************//** + @Group lbc_exception_grp LBC Exception Unit + + @Description LBC Exception unit API functions, definitions and enums + + @{ +*//***************************************************************************/ + +/**************************************************************************//** + @Anchor lbc_exbm + + @Collection LBC Errors Bit Mask + + These errors are reported through the exceptions callback.. + The values can be or'ed in any combination in the errors mask + parameter of the errors report structure. + + These errors can also be passed as a bit-mask to + LBC_EnableErrorChecking() or LBC_DisableErrorChecking(), + for enabling or disabling error checking. + @{ +*//***************************************************************************/ +#define LBC_ERR_BUS_MONITOR 0x80000000 /**< Bus monitor error */ +#define LBC_ERR_PARITY_ECC 0x20000000 /**< Parity error for GPCM/UPM */ +#define LBC_ERR_WRITE_PROTECT 0x04000000 /**< Write protection error */ +#define LBC_ERR_CHIP_SELECT 0x00080000 /**< Unrecognized chip select */ + +#define LBC_ERR_ALL (LBC_ERR_BUS_MONITOR | LBC_ERR_PARITY_ECC | \ + LBC_ERR_WRITE_PROTECT | LBC_ERR_CHIP_SELECT) + /**< All possible errors */ +/* @} */ +/** @} */ /* end of lbc_exception_grp group */ + +#define LBC_INCORRECT_ERROR_REPORT_ERRATA + +#define LBC_NUM_OF_BANKS 8 +#define LBC_MAX_CS_SIZE 0x0000000100000000LL /* Up to 4G memory block size */ +#define LBC_PARITY_SUPPORT +#define LBC_HIGH_CLK_DIVIDERS +#define LBC_FCM_AVAILABLE + +/***************************************************************************** + GPIO INTEGRATION-SPECIFIC DEFINITIONS +******************************************************************************/ +#define GPIO_NUM_OF_PORTS 1 /**< Number of ports in GPIO module; + Each port contains up to 32 I/O pins. */ + +#define GPIO_VALID_PIN_MASKS \ + { /* Port A */ 0xFFFFFFFF } + +#define GPIO_VALID_INTR_MASKS \ + { /* Port A */ 0xFFFFFFFF } + + +/***************************************************************************** + SERDES INTEGRATION-SPECIFIC DEFINITIONS +******************************************************************************/ +#define SRDS_MAX_LANES 18 +#define SRDS_MAX_BANK 3 + +/* Serdes lanes general information provided in the following form: + 1) Lane index in Serdes Control Registers Map + 2) Lane enable/disable bit number in RCW + 3) Lane bank index */ +#define SRDS_LANES \ +{ \ + { 0, 152, 0 }, \ + { 1, 153, 0 }, \ + { 2, 154, 0 }, \ + { 3, 155, 0 }, \ + { 4, 156, 0 }, \ + { 5, 157, 0 }, \ + { 6, 158, 0 }, \ + { 7, 159, 0 }, \ + { 8, 160, 0 }, \ + { 9, 161, 0 }, \ + { 16, 162, 1 }, \ + { 17, 163, 1 }, \ + { 18, 164, 1 }, \ + { 19, 165, 1 }, \ + { 20, 166, 2 }, \ + { 21, 167, 2 }, \ + { 22, 168, 2 }, \ + { 23, 169, 2 } \ +} + +#define SRDS_PROTOCOL_ALL_OPTIONS +/* Serdes lanes assignment and multiplexing. + Each option is selected by SRDS_PRTCL bits of RCW. */ +#define SRDS_PROTOCOL_OPTIONS \ +/* Protocol Lane assignment */ \ +{ \ +/* 0x00 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \ + SRDS_PROTOCOL_PCIE4, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_SGMII_FM, 0, 0, 0}, \ +/* 0x01 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \ + SRDS_PROTOCOL_PCIE4, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM}, \ +/* 0x02 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \ + SRDS_PROTOCOL_PCIE4, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x03 */ {SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_SGMII_FM, 0, 0, 0}, \ +/* 0x04 */ {SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM}, \ +/* 0x05 */ {SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x06 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_SGMII_FM, 0, 0, 0}, \ +/* 0x07 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM}, \ +/* 0x08 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x09 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_SGMII_FM, 0, 0, 0}, \ +/* 0x0A */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM}, \ +/* 0x0B */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x0C */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x0D */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_SGMII_FM, 0, 0, 0}, \ +/* 0x0E */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM}, \ +/* 0x0F */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM}, \ +/* 0x10 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x11 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x12 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_SGMII_FM, 0, 0, 0}, \ +/* 0x13 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM}, \ +/* 0x14 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM}, \ +/* 0x15 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x16 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1}, \ +/* 0x17 */ {SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x18 */ {SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_SGMII_FM, 0, 0, 0}, \ +/* 0x19 */ {SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM}, \ +/* 0x1A */ {SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM}, \ +/* 0x1B */ {SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x1C */ {SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM}, \ +/* 0x1D */ {SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x1E */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x1F */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_SGMII_FM, 0, 0, 0}, \ +/* 0x20 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM}, \ +/* 0x21 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM}, \ +/* 0x22 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x23 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x24 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_SGMII_FM, 0, 0, 0}, \ +/* 0x25 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM}, \ +/* 0x26 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM}, \ +/* 0x27 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x28 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x29 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_SGMII_FM, 0, 0, 0}, \ +/* 0x2A */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM}, \ +/* 0x2B */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x2C */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x2D */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_SGMII_FM, 0, 0, 0}, \ +/* 0x2E */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM}, \ +/* 0x2F */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x30 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x31 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_SGMII_FM, 0, 0, 0}, \ +/* 0x32 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM}, \ +/* 0x33 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x34 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x35 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x36 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \ +/* 0x37 */ {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, \ + SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \ + SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_AURORA, \ + SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, \ + 0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2} \ +} + +/***************************************************************************** + DDR INTEGRATION-SPECIFIC DEFINITIONS +******************************************************************************/ +#define DDR_NUM_OF_VALID_CS 4 + +/***************************************************************************** + DMA INTEGRATION-SPECIFIC DEFINITIONS +******************************************************************************/ +#define DMA_NUM_OF_CONTROLLERS 2 + +/***************************************************************************** + CPC INTEGRATION-SPECIFIC DEFINITIONS +******************************************************************************/ + +#define CPC_MAX_SIZE_SRAM_ERRATA_CPC4 +#define CPC_HARDWARE_FLUSH_ERRATA_CPC10 + + +#endif /* __PART_INTEGRATION_EXT_H */ |