162306a36Sopenharmony_ci/* bnx2x_reg.h: Qlogic Everest network driver. 262306a36Sopenharmony_ci * 362306a36Sopenharmony_ci * Copyright (c) 2007-2013 Broadcom Corporation 462306a36Sopenharmony_ci * Copyright (c) 2014 QLogic Corporation 562306a36Sopenharmony_ci * All rights reserved 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * This program is free software; you can redistribute it and/or modify 862306a36Sopenharmony_ci * it under the terms of the GNU General Public License as published by 962306a36Sopenharmony_ci * the Free Software Foundation. 1062306a36Sopenharmony_ci * 1162306a36Sopenharmony_ci * The registers description starts with the register Access type followed 1262306a36Sopenharmony_ci * by size in bits. For example [RW 32]. The access types are: 1362306a36Sopenharmony_ci * R - Read only 1462306a36Sopenharmony_ci * RC - Clear on read 1562306a36Sopenharmony_ci * RW - Read/Write 1662306a36Sopenharmony_ci * ST - Statistics register (clear on read) 1762306a36Sopenharmony_ci * W - Write only 1862306a36Sopenharmony_ci * WB - Wide bus register - the size is over 32 bits and it should be 1962306a36Sopenharmony_ci * read/write in consecutive 32 bits accesses 2062306a36Sopenharmony_ci * WR - Write Clear (write 1 to clear the bit) 2162306a36Sopenharmony_ci * 2262306a36Sopenharmony_ci */ 2362306a36Sopenharmony_ci#ifndef BNX2X_REG_H 2462306a36Sopenharmony_ci#define BNX2X_REG_H 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci#define ATC_ATC_INT_STS_REG_ADDRESS_ERROR (0x1<<0) 2762306a36Sopenharmony_ci#define ATC_ATC_INT_STS_REG_ATC_GPA_MULTIPLE_HITS (0x1<<2) 2862306a36Sopenharmony_ci#define ATC_ATC_INT_STS_REG_ATC_IREQ_LESS_THAN_STU (0x1<<5) 2962306a36Sopenharmony_ci#define ATC_ATC_INT_STS_REG_ATC_RCPL_TO_EMPTY_CNT (0x1<<3) 3062306a36Sopenharmony_ci#define ATC_ATC_INT_STS_REG_ATC_TCPL_ERROR (0x1<<4) 3162306a36Sopenharmony_ci#define ATC_ATC_INT_STS_REG_ATC_TCPL_TO_NOT_PEND (0x1<<1) 3262306a36Sopenharmony_ci/* [RW 1] Initiate the ATC array - reset all the valid bits */ 3362306a36Sopenharmony_ci#define ATC_REG_ATC_INIT_ARRAY 0x1100b8 3462306a36Sopenharmony_ci/* [R 1] ATC initialization done */ 3562306a36Sopenharmony_ci#define ATC_REG_ATC_INIT_DONE 0x1100bc 3662306a36Sopenharmony_ci/* [RC 6] Interrupt register #0 read clear */ 3762306a36Sopenharmony_ci#define ATC_REG_ATC_INT_STS_CLR 0x1101c0 3862306a36Sopenharmony_ci/* [RW 5] Parity mask register #0 read/write */ 3962306a36Sopenharmony_ci#define ATC_REG_ATC_PRTY_MASK 0x1101d8 4062306a36Sopenharmony_ci/* [R 5] Parity register #0 read */ 4162306a36Sopenharmony_ci#define ATC_REG_ATC_PRTY_STS 0x1101cc 4262306a36Sopenharmony_ci/* [RC 5] Parity register #0 read clear */ 4362306a36Sopenharmony_ci#define ATC_REG_ATC_PRTY_STS_CLR 0x1101d0 4462306a36Sopenharmony_ci/* [RW 19] Interrupt mask register #0 read/write */ 4562306a36Sopenharmony_ci#define BRB1_REG_BRB1_INT_MASK 0x60128 4662306a36Sopenharmony_ci/* [R 19] Interrupt register #0 read */ 4762306a36Sopenharmony_ci#define BRB1_REG_BRB1_INT_STS 0x6011c 4862306a36Sopenharmony_ci/* [RW 4] Parity mask register #0 read/write */ 4962306a36Sopenharmony_ci#define BRB1_REG_BRB1_PRTY_MASK 0x60138 5062306a36Sopenharmony_ci/* [R 4] Parity register #0 read */ 5162306a36Sopenharmony_ci#define BRB1_REG_BRB1_PRTY_STS 0x6012c 5262306a36Sopenharmony_ci/* [RC 4] Parity register #0 read clear */ 5362306a36Sopenharmony_ci#define BRB1_REG_BRB1_PRTY_STS_CLR 0x60130 5462306a36Sopenharmony_ci/* [RW 10] At address BRB1_IND_FREE_LIST_PRS_CRDT initialize free head. At 5562306a36Sopenharmony_ci * address BRB1_IND_FREE_LIST_PRS_CRDT+1 initialize free tail. At address 5662306a36Sopenharmony_ci * BRB1_IND_FREE_LIST_PRS_CRDT+2 initialize parser initial credit. Warning - 5762306a36Sopenharmony_ci * following reset the first rbc access to this reg must be write; there can 5862306a36Sopenharmony_ci * be no more rbc writes after the first one; there can be any number of rbc 5962306a36Sopenharmony_ci * read following the first write; rbc access not following these rules will 6062306a36Sopenharmony_ci * result in hang condition. */ 6162306a36Sopenharmony_ci#define BRB1_REG_FREE_LIST_PRS_CRDT 0x60200 6262306a36Sopenharmony_ci/* [RW 10] The number of free blocks below which the full signal to class 0 6362306a36Sopenharmony_ci * is asserted */ 6462306a36Sopenharmony_ci#define BRB1_REG_FULL_0_XOFF_THRESHOLD_0 0x601d0 6562306a36Sopenharmony_ci#define BRB1_REG_FULL_0_XOFF_THRESHOLD_1 0x60230 6662306a36Sopenharmony_ci/* [RW 11] The number of free blocks above which the full signal to class 0 6762306a36Sopenharmony_ci * is de-asserted */ 6862306a36Sopenharmony_ci#define BRB1_REG_FULL_0_XON_THRESHOLD_0 0x601d4 6962306a36Sopenharmony_ci#define BRB1_REG_FULL_0_XON_THRESHOLD_1 0x60234 7062306a36Sopenharmony_ci/* [RW 11] The number of free blocks below which the full signal to class 1 7162306a36Sopenharmony_ci * is asserted */ 7262306a36Sopenharmony_ci#define BRB1_REG_FULL_1_XOFF_THRESHOLD_0 0x601d8 7362306a36Sopenharmony_ci#define BRB1_REG_FULL_1_XOFF_THRESHOLD_1 0x60238 7462306a36Sopenharmony_ci/* [RW 11] The number of free blocks above which the full signal to class 1 7562306a36Sopenharmony_ci * is de-asserted */ 7662306a36Sopenharmony_ci#define BRB1_REG_FULL_1_XON_THRESHOLD_0 0x601dc 7762306a36Sopenharmony_ci#define BRB1_REG_FULL_1_XON_THRESHOLD_1 0x6023c 7862306a36Sopenharmony_ci/* [RW 11] The number of free blocks below which the full signal to the LB 7962306a36Sopenharmony_ci * port is asserted */ 8062306a36Sopenharmony_ci#define BRB1_REG_FULL_LB_XOFF_THRESHOLD 0x601e0 8162306a36Sopenharmony_ci/* [RW 10] The number of free blocks above which the full signal to the LB 8262306a36Sopenharmony_ci * port is de-asserted */ 8362306a36Sopenharmony_ci#define BRB1_REG_FULL_LB_XON_THRESHOLD 0x601e4 8462306a36Sopenharmony_ci/* [RW 10] The number of free blocks above which the High_llfc signal to 8562306a36Sopenharmony_ci interface #n is de-asserted. */ 8662306a36Sopenharmony_ci#define BRB1_REG_HIGH_LLFC_HIGH_THRESHOLD_0 0x6014c 8762306a36Sopenharmony_ci/* [RW 10] The number of free blocks below which the High_llfc signal to 8862306a36Sopenharmony_ci interface #n is asserted. */ 8962306a36Sopenharmony_ci#define BRB1_REG_HIGH_LLFC_LOW_THRESHOLD_0 0x6013c 9062306a36Sopenharmony_ci/* [RW 11] The number of blocks guarantied for the LB port */ 9162306a36Sopenharmony_ci#define BRB1_REG_LB_GUARANTIED 0x601ec 9262306a36Sopenharmony_ci/* [RW 11] The hysteresis on the guarantied buffer space for the Lb port 9362306a36Sopenharmony_ci * before signaling XON. */ 9462306a36Sopenharmony_ci#define BRB1_REG_LB_GUARANTIED_HYST 0x60264 9562306a36Sopenharmony_ci/* [RW 24] LL RAM data. */ 9662306a36Sopenharmony_ci#define BRB1_REG_LL_RAM 0x61000 9762306a36Sopenharmony_ci/* [RW 10] The number of free blocks above which the Low_llfc signal to 9862306a36Sopenharmony_ci interface #n is de-asserted. */ 9962306a36Sopenharmony_ci#define BRB1_REG_LOW_LLFC_HIGH_THRESHOLD_0 0x6016c 10062306a36Sopenharmony_ci/* [RW 10] The number of free blocks below which the Low_llfc signal to 10162306a36Sopenharmony_ci interface #n is asserted. */ 10262306a36Sopenharmony_ci#define BRB1_REG_LOW_LLFC_LOW_THRESHOLD_0 0x6015c 10362306a36Sopenharmony_ci/* [RW 11] The number of blocks guarantied for class 0 in MAC 0. The 10462306a36Sopenharmony_ci * register is applicable only when per_class_guaranty_mode is set. */ 10562306a36Sopenharmony_ci#define BRB1_REG_MAC_0_CLASS_0_GUARANTIED 0x60244 10662306a36Sopenharmony_ci/* [RW 11] The hysteresis on the guarantied buffer space for class 0 in MAC 10762306a36Sopenharmony_ci * 1 before signaling XON. The register is applicable only when 10862306a36Sopenharmony_ci * per_class_guaranty_mode is set. */ 10962306a36Sopenharmony_ci#define BRB1_REG_MAC_0_CLASS_0_GUARANTIED_HYST 0x60254 11062306a36Sopenharmony_ci/* [RW 11] The number of blocks guarantied for class 1 in MAC 0. The 11162306a36Sopenharmony_ci * register is applicable only when per_class_guaranty_mode is set. */ 11262306a36Sopenharmony_ci#define BRB1_REG_MAC_0_CLASS_1_GUARANTIED 0x60248 11362306a36Sopenharmony_ci/* [RW 11] The hysteresis on the guarantied buffer space for class 1in MAC 0 11462306a36Sopenharmony_ci * before signaling XON. The register is applicable only when 11562306a36Sopenharmony_ci * per_class_guaranty_mode is set. */ 11662306a36Sopenharmony_ci#define BRB1_REG_MAC_0_CLASS_1_GUARANTIED_HYST 0x60258 11762306a36Sopenharmony_ci/* [RW 11] The number of blocks guarantied for class 0in MAC1.The register 11862306a36Sopenharmony_ci * is applicable only when per_class_guaranty_mode is set. */ 11962306a36Sopenharmony_ci#define BRB1_REG_MAC_1_CLASS_0_GUARANTIED 0x6024c 12062306a36Sopenharmony_ci/* [RW 11] The hysteresis on the guarantied buffer space for class 0 in MAC 12162306a36Sopenharmony_ci * 1 before signaling XON. The register is applicable only when 12262306a36Sopenharmony_ci * per_class_guaranty_mode is set. */ 12362306a36Sopenharmony_ci#define BRB1_REG_MAC_1_CLASS_0_GUARANTIED_HYST 0x6025c 12462306a36Sopenharmony_ci/* [RW 11] The number of blocks guarantied for class 1 in MAC 1. The 12562306a36Sopenharmony_ci * register is applicable only when per_class_guaranty_mode is set. */ 12662306a36Sopenharmony_ci#define BRB1_REG_MAC_1_CLASS_1_GUARANTIED 0x60250 12762306a36Sopenharmony_ci/* [RW 11] The hysteresis on the guarantied buffer space for class 1 in MAC 12862306a36Sopenharmony_ci * 1 before signaling XON. The register is applicable only when 12962306a36Sopenharmony_ci * per_class_guaranty_mode is set. */ 13062306a36Sopenharmony_ci#define BRB1_REG_MAC_1_CLASS_1_GUARANTIED_HYST 0x60260 13162306a36Sopenharmony_ci/* [RW 11] The number of blocks guarantied for the MAC port. The register is 13262306a36Sopenharmony_ci * applicable only when per_class_guaranty_mode is reset. */ 13362306a36Sopenharmony_ci#define BRB1_REG_MAC_GUARANTIED_0 0x601e8 13462306a36Sopenharmony_ci#define BRB1_REG_MAC_GUARANTIED_1 0x60240 13562306a36Sopenharmony_ci/* [R 24] The number of full blocks. */ 13662306a36Sopenharmony_ci#define BRB1_REG_NUM_OF_FULL_BLOCKS 0x60090 13762306a36Sopenharmony_ci/* [ST 32] The number of cycles that the write_full signal towards MAC #0 13862306a36Sopenharmony_ci was asserted. */ 13962306a36Sopenharmony_ci#define BRB1_REG_NUM_OF_FULL_CYCLES_0 0x600c8 14062306a36Sopenharmony_ci#define BRB1_REG_NUM_OF_FULL_CYCLES_1 0x600cc 14162306a36Sopenharmony_ci#define BRB1_REG_NUM_OF_FULL_CYCLES_4 0x600d8 14262306a36Sopenharmony_ci/* [ST 32] The number of cycles that the pause signal towards MAC #0 was 14362306a36Sopenharmony_ci asserted. */ 14462306a36Sopenharmony_ci#define BRB1_REG_NUM_OF_PAUSE_CYCLES_0 0x600b8 14562306a36Sopenharmony_ci#define BRB1_REG_NUM_OF_PAUSE_CYCLES_1 0x600bc 14662306a36Sopenharmony_ci/* [RW 10] The number of free blocks below which the pause signal to class 0 14762306a36Sopenharmony_ci * is asserted */ 14862306a36Sopenharmony_ci#define BRB1_REG_PAUSE_0_XOFF_THRESHOLD_0 0x601c0 14962306a36Sopenharmony_ci#define BRB1_REG_PAUSE_0_XOFF_THRESHOLD_1 0x60220 15062306a36Sopenharmony_ci/* [RW 11] The number of free blocks above which the pause signal to class 0 15162306a36Sopenharmony_ci * is de-asserted */ 15262306a36Sopenharmony_ci#define BRB1_REG_PAUSE_0_XON_THRESHOLD_0 0x601c4 15362306a36Sopenharmony_ci#define BRB1_REG_PAUSE_0_XON_THRESHOLD_1 0x60224 15462306a36Sopenharmony_ci/* [RW 11] The number of free blocks below which the pause signal to class 1 15562306a36Sopenharmony_ci * is asserted */ 15662306a36Sopenharmony_ci#define BRB1_REG_PAUSE_1_XOFF_THRESHOLD_0 0x601c8 15762306a36Sopenharmony_ci#define BRB1_REG_PAUSE_1_XOFF_THRESHOLD_1 0x60228 15862306a36Sopenharmony_ci/* [RW 11] The number of free blocks above which the pause signal to class 1 15962306a36Sopenharmony_ci * is de-asserted */ 16062306a36Sopenharmony_ci#define BRB1_REG_PAUSE_1_XON_THRESHOLD_0 0x601cc 16162306a36Sopenharmony_ci#define BRB1_REG_PAUSE_1_XON_THRESHOLD_1 0x6022c 16262306a36Sopenharmony_ci/* [RW 10] Write client 0: De-assert pause threshold. Not Functional */ 16362306a36Sopenharmony_ci#define BRB1_REG_PAUSE_HIGH_THRESHOLD_0 0x60078 16462306a36Sopenharmony_ci#define BRB1_REG_PAUSE_HIGH_THRESHOLD_1 0x6007c 16562306a36Sopenharmony_ci/* [RW 10] Write client 0: Assert pause threshold. */ 16662306a36Sopenharmony_ci#define BRB1_REG_PAUSE_LOW_THRESHOLD_0 0x60068 16762306a36Sopenharmony_ci/* [RW 1] Indicates if to use per-class guaranty mode (new mode) or per-MAC 16862306a36Sopenharmony_ci * guaranty mode (backwards-compatible mode). 0=per-MAC guaranty mode (BC 16962306a36Sopenharmony_ci * mode). 1=per-class guaranty mode (new mode). */ 17062306a36Sopenharmony_ci#define BRB1_REG_PER_CLASS_GUARANTY_MODE 0x60268 17162306a36Sopenharmony_ci/* [R 24] The number of full blocks occpied by port. */ 17262306a36Sopenharmony_ci#define BRB1_REG_PORT_NUM_OCC_BLOCKS_0 0x60094 17362306a36Sopenharmony_ci/* [RW 1] Reset the design by software. */ 17462306a36Sopenharmony_ci#define BRB1_REG_SOFT_RESET 0x600dc 17562306a36Sopenharmony_ci/* [R 5] Used to read the value of the XX protection CAM occupancy counter. */ 17662306a36Sopenharmony_ci#define CCM_REG_CAM_OCCUP 0xd0188 17762306a36Sopenharmony_ci/* [RW 1] CM - CFC Interface enable. If 0 - the valid input is disregarded; 17862306a36Sopenharmony_ci acknowledge output is deasserted; all other signals are treated as usual; 17962306a36Sopenharmony_ci if 1 - normal activity. */ 18062306a36Sopenharmony_ci#define CCM_REG_CCM_CFC_IFEN 0xd003c 18162306a36Sopenharmony_ci/* [RW 1] CM - QM Interface enable. If 0 - the acknowledge input is 18262306a36Sopenharmony_ci disregarded; valid is deasserted; all other signals are treated as usual; 18362306a36Sopenharmony_ci if 1 - normal activity. */ 18462306a36Sopenharmony_ci#define CCM_REG_CCM_CQM_IFEN 0xd000c 18562306a36Sopenharmony_ci/* [RW 1] If set the Q index; received from the QM is inserted to event ID. 18662306a36Sopenharmony_ci Otherwise 0 is inserted. */ 18762306a36Sopenharmony_ci#define CCM_REG_CCM_CQM_USE_Q 0xd00c0 18862306a36Sopenharmony_ci/* [RW 11] Interrupt mask register #0 read/write */ 18962306a36Sopenharmony_ci#define CCM_REG_CCM_INT_MASK 0xd01e4 19062306a36Sopenharmony_ci/* [R 11] Interrupt register #0 read */ 19162306a36Sopenharmony_ci#define CCM_REG_CCM_INT_STS 0xd01d8 19262306a36Sopenharmony_ci/* [RW 27] Parity mask register #0 read/write */ 19362306a36Sopenharmony_ci#define CCM_REG_CCM_PRTY_MASK 0xd01f4 19462306a36Sopenharmony_ci/* [R 27] Parity register #0 read */ 19562306a36Sopenharmony_ci#define CCM_REG_CCM_PRTY_STS 0xd01e8 19662306a36Sopenharmony_ci/* [RC 27] Parity register #0 read clear */ 19762306a36Sopenharmony_ci#define CCM_REG_CCM_PRTY_STS_CLR 0xd01ec 19862306a36Sopenharmony_ci/* [RW 3] The size of AG context region 0 in REG-pairs. Designates the MS 19962306a36Sopenharmony_ci REG-pair number (e.g. if region 0 is 6 REG-pairs; the value should be 5). 20062306a36Sopenharmony_ci Is used to determine the number of the AG context REG-pairs written back; 20162306a36Sopenharmony_ci when the input message Reg1WbFlg isn't set. */ 20262306a36Sopenharmony_ci#define CCM_REG_CCM_REG0_SZ 0xd00c4 20362306a36Sopenharmony_ci/* [RW 1] CM - STORM 0 Interface enable. If 0 - the acknowledge input is 20462306a36Sopenharmony_ci disregarded; valid is deasserted; all other signals are treated as usual; 20562306a36Sopenharmony_ci if 1 - normal activity. */ 20662306a36Sopenharmony_ci#define CCM_REG_CCM_STORM0_IFEN 0xd0004 20762306a36Sopenharmony_ci/* [RW 1] CM - STORM 1 Interface enable. If 0 - the acknowledge input is 20862306a36Sopenharmony_ci disregarded; valid is deasserted; all other signals are treated as usual; 20962306a36Sopenharmony_ci if 1 - normal activity. */ 21062306a36Sopenharmony_ci#define CCM_REG_CCM_STORM1_IFEN 0xd0008 21162306a36Sopenharmony_ci/* [RW 1] CDU AG read Interface enable. If 0 - the request input is 21262306a36Sopenharmony_ci disregarded; valid output is deasserted; all other signals are treated as 21362306a36Sopenharmony_ci usual; if 1 - normal activity. */ 21462306a36Sopenharmony_ci#define CCM_REG_CDU_AG_RD_IFEN 0xd0030 21562306a36Sopenharmony_ci/* [RW 1] CDU AG write Interface enable. If 0 - the request and valid input 21662306a36Sopenharmony_ci are disregarded; all other signals are treated as usual; if 1 - normal 21762306a36Sopenharmony_ci activity. */ 21862306a36Sopenharmony_ci#define CCM_REG_CDU_AG_WR_IFEN 0xd002c 21962306a36Sopenharmony_ci/* [RW 1] CDU STORM read Interface enable. If 0 - the request input is 22062306a36Sopenharmony_ci disregarded; valid output is deasserted; all other signals are treated as 22162306a36Sopenharmony_ci usual; if 1 - normal activity. */ 22262306a36Sopenharmony_ci#define CCM_REG_CDU_SM_RD_IFEN 0xd0038 22362306a36Sopenharmony_ci/* [RW 1] CDU STORM write Interface enable. If 0 - the request and valid 22462306a36Sopenharmony_ci input is disregarded; all other signals are treated as usual; if 1 - 22562306a36Sopenharmony_ci normal activity. */ 22662306a36Sopenharmony_ci#define CCM_REG_CDU_SM_WR_IFEN 0xd0034 22762306a36Sopenharmony_ci/* [RW 4] CFC output initial credit. Max credit available - 15.Write writes 22862306a36Sopenharmony_ci the initial credit value; read returns the current value of the credit 22962306a36Sopenharmony_ci counter. Must be initialized to 1 at start-up. */ 23062306a36Sopenharmony_ci#define CCM_REG_CFC_INIT_CRD 0xd0204 23162306a36Sopenharmony_ci/* [RW 2] Auxiliary counter flag Q number 1. */ 23262306a36Sopenharmony_ci#define CCM_REG_CNT_AUX1_Q 0xd00c8 23362306a36Sopenharmony_ci/* [RW 2] Auxiliary counter flag Q number 2. */ 23462306a36Sopenharmony_ci#define CCM_REG_CNT_AUX2_Q 0xd00cc 23562306a36Sopenharmony_ci/* [RW 28] The CM header value for QM request (primary). */ 23662306a36Sopenharmony_ci#define CCM_REG_CQM_CCM_HDR_P 0xd008c 23762306a36Sopenharmony_ci/* [RW 28] The CM header value for QM request (secondary). */ 23862306a36Sopenharmony_ci#define CCM_REG_CQM_CCM_HDR_S 0xd0090 23962306a36Sopenharmony_ci/* [RW 1] QM - CM Interface enable. If 0 - the valid input is disregarded; 24062306a36Sopenharmony_ci acknowledge output is deasserted; all other signals are treated as usual; 24162306a36Sopenharmony_ci if 1 - normal activity. */ 24262306a36Sopenharmony_ci#define CCM_REG_CQM_CCM_IFEN 0xd0014 24362306a36Sopenharmony_ci/* [RW 6] QM output initial credit. Max credit available - 32. Write writes 24462306a36Sopenharmony_ci the initial credit value; read returns the current value of the credit 24562306a36Sopenharmony_ci counter. Must be initialized to 32 at start-up. */ 24662306a36Sopenharmony_ci#define CCM_REG_CQM_INIT_CRD 0xd020c 24762306a36Sopenharmony_ci/* [RW 3] The weight of the QM (primary) input in the WRR mechanism. 0 24862306a36Sopenharmony_ci stands for weight 8 (the most prioritised); 1 stands for weight 1(least 24962306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 25062306a36Sopenharmony_ci#define CCM_REG_CQM_P_WEIGHT 0xd00b8 25162306a36Sopenharmony_ci/* [RW 3] The weight of the QM (secondary) input in the WRR mechanism. 0 25262306a36Sopenharmony_ci stands for weight 8 (the most prioritised); 1 stands for weight 1(least 25362306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 25462306a36Sopenharmony_ci#define CCM_REG_CQM_S_WEIGHT 0xd00bc 25562306a36Sopenharmony_ci/* [RW 1] Input SDM Interface enable. If 0 - the valid input is disregarded; 25662306a36Sopenharmony_ci acknowledge output is deasserted; all other signals are treated as usual; 25762306a36Sopenharmony_ci if 1 - normal activity. */ 25862306a36Sopenharmony_ci#define CCM_REG_CSDM_IFEN 0xd0018 25962306a36Sopenharmony_ci/* [RC 1] Set when the message length mismatch (relative to last indication) 26062306a36Sopenharmony_ci at the SDM interface is detected. */ 26162306a36Sopenharmony_ci#define CCM_REG_CSDM_LENGTH_MIS 0xd0170 26262306a36Sopenharmony_ci/* [RW 3] The weight of the SDM input in the WRR mechanism. 0 stands for 26362306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 26462306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 26562306a36Sopenharmony_ci#define CCM_REG_CSDM_WEIGHT 0xd00b4 26662306a36Sopenharmony_ci/* [RW 28] The CM header for QM formatting in case of an error in the QM 26762306a36Sopenharmony_ci inputs. */ 26862306a36Sopenharmony_ci#define CCM_REG_ERR_CCM_HDR 0xd0094 26962306a36Sopenharmony_ci/* [RW 8] The Event ID in case the input message ErrorFlg is set. */ 27062306a36Sopenharmony_ci#define CCM_REG_ERR_EVNT_ID 0xd0098 27162306a36Sopenharmony_ci/* [RW 8] FIC0 output initial credit. Max credit available - 255. Write 27262306a36Sopenharmony_ci writes the initial credit value; read returns the current value of the 27362306a36Sopenharmony_ci credit counter. Must be initialized to 64 at start-up. */ 27462306a36Sopenharmony_ci#define CCM_REG_FIC0_INIT_CRD 0xd0210 27562306a36Sopenharmony_ci/* [RW 8] FIC1 output initial credit. Max credit available - 255.Write 27662306a36Sopenharmony_ci writes the initial credit value; read returns the current value of the 27762306a36Sopenharmony_ci credit counter. Must be initialized to 64 at start-up. */ 27862306a36Sopenharmony_ci#define CCM_REG_FIC1_INIT_CRD 0xd0214 27962306a36Sopenharmony_ci/* [RW 1] Arbitration between Input Arbiter groups: 0 - fair Round-Robin; 1 28062306a36Sopenharmony_ci - strict priority defined by ~ccm_registers_gr_ag_pr.gr_ag_pr; 28162306a36Sopenharmony_ci ~ccm_registers_gr_ld0_pr.gr_ld0_pr and 28262306a36Sopenharmony_ci ~ccm_registers_gr_ld1_pr.gr_ld1_pr. Groups are according to channels and 28362306a36Sopenharmony_ci outputs to STORM: aggregation; load FIC0; load FIC1 and store. */ 28462306a36Sopenharmony_ci#define CCM_REG_GR_ARB_TYPE 0xd015c 28562306a36Sopenharmony_ci/* [RW 2] Load (FIC0) channel group priority. The lowest priority is 0; the 28662306a36Sopenharmony_ci highest priority is 3. It is supposed; that the Store channel priority is 28762306a36Sopenharmony_ci the complement to 4 of the rest priorities - Aggregation channel; Load 28862306a36Sopenharmony_ci (FIC0) channel and Load (FIC1). */ 28962306a36Sopenharmony_ci#define CCM_REG_GR_LD0_PR 0xd0164 29062306a36Sopenharmony_ci/* [RW 2] Load (FIC1) channel group priority. The lowest priority is 0; the 29162306a36Sopenharmony_ci highest priority is 3. It is supposed; that the Store channel priority is 29262306a36Sopenharmony_ci the complement to 4 of the rest priorities - Aggregation channel; Load 29362306a36Sopenharmony_ci (FIC0) channel and Load (FIC1). */ 29462306a36Sopenharmony_ci#define CCM_REG_GR_LD1_PR 0xd0168 29562306a36Sopenharmony_ci/* [RW 2] General flags index. */ 29662306a36Sopenharmony_ci#define CCM_REG_INV_DONE_Q 0xd0108 29762306a36Sopenharmony_ci/* [RW 4] The number of double REG-pairs(128 bits); loaded from the STORM 29862306a36Sopenharmony_ci context and sent to STORM; for a specific connection type. The double 29962306a36Sopenharmony_ci REG-pairs are used in order to align to STORM context row size of 128 30062306a36Sopenharmony_ci bits. The offset of these data in the STORM context is always 0. Index 30162306a36Sopenharmony_ci _(0..15) stands for the connection type (one of 16). */ 30262306a36Sopenharmony_ci#define CCM_REG_N_SM_CTX_LD_0 0xd004c 30362306a36Sopenharmony_ci#define CCM_REG_N_SM_CTX_LD_1 0xd0050 30462306a36Sopenharmony_ci#define CCM_REG_N_SM_CTX_LD_2 0xd0054 30562306a36Sopenharmony_ci#define CCM_REG_N_SM_CTX_LD_3 0xd0058 30662306a36Sopenharmony_ci#define CCM_REG_N_SM_CTX_LD_4 0xd005c 30762306a36Sopenharmony_ci/* [RW 1] Input pbf Interface enable. If 0 - the valid input is disregarded; 30862306a36Sopenharmony_ci acknowledge output is deasserted; all other signals are treated as usual; 30962306a36Sopenharmony_ci if 1 - normal activity. */ 31062306a36Sopenharmony_ci#define CCM_REG_PBF_IFEN 0xd0028 31162306a36Sopenharmony_ci/* [RC 1] Set when the message length mismatch (relative to last indication) 31262306a36Sopenharmony_ci at the pbf interface is detected. */ 31362306a36Sopenharmony_ci#define CCM_REG_PBF_LENGTH_MIS 0xd0180 31462306a36Sopenharmony_ci/* [RW 3] The weight of the input pbf in the WRR mechanism. 0 stands for 31562306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 31662306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 31762306a36Sopenharmony_ci#define CCM_REG_PBF_WEIGHT 0xd00ac 31862306a36Sopenharmony_ci#define CCM_REG_PHYS_QNUM1_0 0xd0134 31962306a36Sopenharmony_ci#define CCM_REG_PHYS_QNUM1_1 0xd0138 32062306a36Sopenharmony_ci#define CCM_REG_PHYS_QNUM2_0 0xd013c 32162306a36Sopenharmony_ci#define CCM_REG_PHYS_QNUM2_1 0xd0140 32262306a36Sopenharmony_ci#define CCM_REG_PHYS_QNUM3_0 0xd0144 32362306a36Sopenharmony_ci#define CCM_REG_PHYS_QNUM3_1 0xd0148 32462306a36Sopenharmony_ci#define CCM_REG_QOS_PHYS_QNUM0_0 0xd0114 32562306a36Sopenharmony_ci#define CCM_REG_QOS_PHYS_QNUM0_1 0xd0118 32662306a36Sopenharmony_ci#define CCM_REG_QOS_PHYS_QNUM1_0 0xd011c 32762306a36Sopenharmony_ci#define CCM_REG_QOS_PHYS_QNUM1_1 0xd0120 32862306a36Sopenharmony_ci#define CCM_REG_QOS_PHYS_QNUM2_0 0xd0124 32962306a36Sopenharmony_ci#define CCM_REG_QOS_PHYS_QNUM2_1 0xd0128 33062306a36Sopenharmony_ci#define CCM_REG_QOS_PHYS_QNUM3_0 0xd012c 33162306a36Sopenharmony_ci#define CCM_REG_QOS_PHYS_QNUM3_1 0xd0130 33262306a36Sopenharmony_ci/* [RW 1] STORM - CM Interface enable. If 0 - the valid input is 33362306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 33462306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 33562306a36Sopenharmony_ci#define CCM_REG_STORM_CCM_IFEN 0xd0010 33662306a36Sopenharmony_ci/* [RC 1] Set when the message length mismatch (relative to last indication) 33762306a36Sopenharmony_ci at the STORM interface is detected. */ 33862306a36Sopenharmony_ci#define CCM_REG_STORM_LENGTH_MIS 0xd016c 33962306a36Sopenharmony_ci/* [RW 3] The weight of the STORM input in the WRR (Weighted Round robin) 34062306a36Sopenharmony_ci mechanism. 0 stands for weight 8 (the most prioritised); 1 stands for 34162306a36Sopenharmony_ci weight 1(least prioritised); 2 stands for weight 2 (more prioritised); 34262306a36Sopenharmony_ci tc. */ 34362306a36Sopenharmony_ci#define CCM_REG_STORM_WEIGHT 0xd009c 34462306a36Sopenharmony_ci/* [RW 1] Input tsem Interface enable. If 0 - the valid input is 34562306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 34662306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 34762306a36Sopenharmony_ci#define CCM_REG_TSEM_IFEN 0xd001c 34862306a36Sopenharmony_ci/* [RC 1] Set when the message length mismatch (relative to last indication) 34962306a36Sopenharmony_ci at the tsem interface is detected. */ 35062306a36Sopenharmony_ci#define CCM_REG_TSEM_LENGTH_MIS 0xd0174 35162306a36Sopenharmony_ci/* [RW 3] The weight of the input tsem in the WRR mechanism. 0 stands for 35262306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 35362306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 35462306a36Sopenharmony_ci#define CCM_REG_TSEM_WEIGHT 0xd00a0 35562306a36Sopenharmony_ci/* [RW 1] Input usem Interface enable. If 0 - the valid input is 35662306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 35762306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 35862306a36Sopenharmony_ci#define CCM_REG_USEM_IFEN 0xd0024 35962306a36Sopenharmony_ci/* [RC 1] Set when message length mismatch (relative to last indication) at 36062306a36Sopenharmony_ci the usem interface is detected. */ 36162306a36Sopenharmony_ci#define CCM_REG_USEM_LENGTH_MIS 0xd017c 36262306a36Sopenharmony_ci/* [RW 3] The weight of the input usem in the WRR mechanism. 0 stands for 36362306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 36462306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 36562306a36Sopenharmony_ci#define CCM_REG_USEM_WEIGHT 0xd00a8 36662306a36Sopenharmony_ci/* [RW 1] Input xsem Interface enable. If 0 - the valid input is 36762306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 36862306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 36962306a36Sopenharmony_ci#define CCM_REG_XSEM_IFEN 0xd0020 37062306a36Sopenharmony_ci/* [RC 1] Set when the message length mismatch (relative to last indication) 37162306a36Sopenharmony_ci at the xsem interface is detected. */ 37262306a36Sopenharmony_ci#define CCM_REG_XSEM_LENGTH_MIS 0xd0178 37362306a36Sopenharmony_ci/* [RW 3] The weight of the input xsem in the WRR mechanism. 0 stands for 37462306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 37562306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 37662306a36Sopenharmony_ci#define CCM_REG_XSEM_WEIGHT 0xd00a4 37762306a36Sopenharmony_ci/* [RW 19] Indirect access to the descriptor table of the XX protection 37862306a36Sopenharmony_ci mechanism. The fields are: [5:0] - message length; [12:6] - message 37962306a36Sopenharmony_ci pointer; 18:13] - next pointer. */ 38062306a36Sopenharmony_ci#define CCM_REG_XX_DESCR_TABLE 0xd0300 38162306a36Sopenharmony_ci#define CCM_REG_XX_DESCR_TABLE_SIZE 24 38262306a36Sopenharmony_ci/* [R 7] Used to read the value of XX protection Free counter. */ 38362306a36Sopenharmony_ci#define CCM_REG_XX_FREE 0xd0184 38462306a36Sopenharmony_ci/* [RW 6] Initial value for the credit counter; responsible for fulfilling 38562306a36Sopenharmony_ci of the Input Stage XX protection buffer by the XX protection pending 38662306a36Sopenharmony_ci messages. Max credit available - 127. Write writes the initial credit 38762306a36Sopenharmony_ci value; read returns the current value of the credit counter. Must be 38862306a36Sopenharmony_ci initialized to maximum XX protected message size - 2 at start-up. */ 38962306a36Sopenharmony_ci#define CCM_REG_XX_INIT_CRD 0xd0220 39062306a36Sopenharmony_ci/* [RW 7] The maximum number of pending messages; which may be stored in XX 39162306a36Sopenharmony_ci protection. At read the ~ccm_registers_xx_free.xx_free counter is read. 39262306a36Sopenharmony_ci At write comprises the start value of the ~ccm_registers_xx_free.xx_free 39362306a36Sopenharmony_ci counter. */ 39462306a36Sopenharmony_ci#define CCM_REG_XX_MSG_NUM 0xd0224 39562306a36Sopenharmony_ci/* [RW 8] The Event ID; sent to the STORM in case of XX overflow. */ 39662306a36Sopenharmony_ci#define CCM_REG_XX_OVFL_EVNT_ID 0xd0044 39762306a36Sopenharmony_ci/* [RW 18] Indirect access to the XX table of the XX protection mechanism. 39862306a36Sopenharmony_ci The fields are: [5:0] - tail pointer; 11:6] - Link List size; 17:12] - 39962306a36Sopenharmony_ci header pointer. */ 40062306a36Sopenharmony_ci#define CCM_REG_XX_TABLE 0xd0280 40162306a36Sopenharmony_ci#define CDU_REG_CDU_CHK_MASK0 0x101000 40262306a36Sopenharmony_ci#define CDU_REG_CDU_CHK_MASK1 0x101004 40362306a36Sopenharmony_ci#define CDU_REG_CDU_CONTROL0 0x101008 40462306a36Sopenharmony_ci#define CDU_REG_CDU_DEBUG 0x101010 40562306a36Sopenharmony_ci#define CDU_REG_CDU_GLOBAL_PARAMS 0x101020 40662306a36Sopenharmony_ci/* [RW 7] Interrupt mask register #0 read/write */ 40762306a36Sopenharmony_ci#define CDU_REG_CDU_INT_MASK 0x10103c 40862306a36Sopenharmony_ci/* [R 7] Interrupt register #0 read */ 40962306a36Sopenharmony_ci#define CDU_REG_CDU_INT_STS 0x101030 41062306a36Sopenharmony_ci/* [RW 5] Parity mask register #0 read/write */ 41162306a36Sopenharmony_ci#define CDU_REG_CDU_PRTY_MASK 0x10104c 41262306a36Sopenharmony_ci/* [R 5] Parity register #0 read */ 41362306a36Sopenharmony_ci#define CDU_REG_CDU_PRTY_STS 0x101040 41462306a36Sopenharmony_ci/* [RC 5] Parity register #0 read clear */ 41562306a36Sopenharmony_ci#define CDU_REG_CDU_PRTY_STS_CLR 0x101044 41662306a36Sopenharmony_ci/* [RC 32] logging of error data in case of a CDU load error: 41762306a36Sopenharmony_ci {expected_cid[15:0]; xpected_type[2:0]; xpected_region[2:0]; ctive_error; 41862306a36Sopenharmony_ci ype_error; ctual_active; ctual_compressed_context}; */ 41962306a36Sopenharmony_ci#define CDU_REG_ERROR_DATA 0x101014 42062306a36Sopenharmony_ci/* [WB 216] L1TT ram access. each entry has the following format : 42162306a36Sopenharmony_ci {mrege_regions[7:0]; ffset12[5:0]...offset0[5:0]; 42262306a36Sopenharmony_ci ength12[5:0]...length0[5:0]; d12[3:0]...id0[3:0]} */ 42362306a36Sopenharmony_ci#define CDU_REG_L1TT 0x101800 42462306a36Sopenharmony_ci/* [WB 24] MATT ram access. each entry has the following 42562306a36Sopenharmony_ci format:{RegionLength[11:0]; egionOffset[11:0]} */ 42662306a36Sopenharmony_ci#define CDU_REG_MATT 0x101100 42762306a36Sopenharmony_ci/* [RW 1] when this bit is set the CDU operates in e1hmf mode */ 42862306a36Sopenharmony_ci#define CDU_REG_MF_MODE 0x101050 42962306a36Sopenharmony_ci/* [R 1] indication the initializing the activity counter by the hardware 43062306a36Sopenharmony_ci was done. */ 43162306a36Sopenharmony_ci#define CFC_REG_AC_INIT_DONE 0x104078 43262306a36Sopenharmony_ci/* [RW 13] activity counter ram access */ 43362306a36Sopenharmony_ci#define CFC_REG_ACTIVITY_COUNTER 0x104400 43462306a36Sopenharmony_ci#define CFC_REG_ACTIVITY_COUNTER_SIZE 256 43562306a36Sopenharmony_ci/* [R 1] indication the initializing the cams by the hardware was done. */ 43662306a36Sopenharmony_ci#define CFC_REG_CAM_INIT_DONE 0x10407c 43762306a36Sopenharmony_ci/* [RW 2] Interrupt mask register #0 read/write */ 43862306a36Sopenharmony_ci#define CFC_REG_CFC_INT_MASK 0x104108 43962306a36Sopenharmony_ci/* [R 2] Interrupt register #0 read */ 44062306a36Sopenharmony_ci#define CFC_REG_CFC_INT_STS 0x1040fc 44162306a36Sopenharmony_ci/* [RC 2] Interrupt register #0 read clear */ 44262306a36Sopenharmony_ci#define CFC_REG_CFC_INT_STS_CLR 0x104100 44362306a36Sopenharmony_ci/* [RW 4] Parity mask register #0 read/write */ 44462306a36Sopenharmony_ci#define CFC_REG_CFC_PRTY_MASK 0x104118 44562306a36Sopenharmony_ci/* [R 4] Parity register #0 read */ 44662306a36Sopenharmony_ci#define CFC_REG_CFC_PRTY_STS 0x10410c 44762306a36Sopenharmony_ci/* [RC 4] Parity register #0 read clear */ 44862306a36Sopenharmony_ci#define CFC_REG_CFC_PRTY_STS_CLR 0x104110 44962306a36Sopenharmony_ci/* [RW 21] CID cam access (21:1 - Data; alid - 0) */ 45062306a36Sopenharmony_ci#define CFC_REG_CID_CAM 0x104800 45162306a36Sopenharmony_ci#define CFC_REG_CONTROL0 0x104028 45262306a36Sopenharmony_ci#define CFC_REG_DEBUG0 0x104050 45362306a36Sopenharmony_ci/* [RW 14] indicates per error (in #cfc_registers_cfc_error_vector.cfc_error 45462306a36Sopenharmony_ci vector) whether the cfc should be disabled upon it */ 45562306a36Sopenharmony_ci#define CFC_REG_DISABLE_ON_ERROR 0x104044 45662306a36Sopenharmony_ci/* [RC 14] CFC error vector. when the CFC detects an internal error it will 45762306a36Sopenharmony_ci set one of these bits. the bit description can be found in CFC 45862306a36Sopenharmony_ci specifications */ 45962306a36Sopenharmony_ci#define CFC_REG_ERROR_VECTOR 0x10403c 46062306a36Sopenharmony_ci/* [WB 93] LCID info ram access */ 46162306a36Sopenharmony_ci#define CFC_REG_INFO_RAM 0x105000 46262306a36Sopenharmony_ci#define CFC_REG_INFO_RAM_SIZE 1024 46362306a36Sopenharmony_ci#define CFC_REG_INIT_REG 0x10404c 46462306a36Sopenharmony_ci#define CFC_REG_INTERFACES 0x104058 46562306a36Sopenharmony_ci/* [RW 24] {weight_load_client7[2:0] to weight_load_client0[2:0]}. this 46662306a36Sopenharmony_ci field allows changing the priorities of the weighted-round-robin arbiter 46762306a36Sopenharmony_ci which selects which CFC load client should be served next */ 46862306a36Sopenharmony_ci#define CFC_REG_LCREQ_WEIGHTS 0x104084 46962306a36Sopenharmony_ci/* [RW 16] Link List ram access; data = {prev_lcid; ext_lcid} */ 47062306a36Sopenharmony_ci#define CFC_REG_LINK_LIST 0x104c00 47162306a36Sopenharmony_ci#define CFC_REG_LINK_LIST_SIZE 256 47262306a36Sopenharmony_ci/* [R 1] indication the initializing the link list by the hardware was done. */ 47362306a36Sopenharmony_ci#define CFC_REG_LL_INIT_DONE 0x104074 47462306a36Sopenharmony_ci/* [R 9] Number of allocated LCIDs which are at empty state */ 47562306a36Sopenharmony_ci#define CFC_REG_NUM_LCIDS_ALLOC 0x104020 47662306a36Sopenharmony_ci/* [R 9] Number of Arriving LCIDs in Link List Block */ 47762306a36Sopenharmony_ci#define CFC_REG_NUM_LCIDS_ARRIVING 0x104004 47862306a36Sopenharmony_ci#define CFC_REG_NUM_LCIDS_INSIDE_PF 0x104120 47962306a36Sopenharmony_ci/* [R 9] Number of Leaving LCIDs in Link List Block */ 48062306a36Sopenharmony_ci#define CFC_REG_NUM_LCIDS_LEAVING 0x104018 48162306a36Sopenharmony_ci#define CFC_REG_WEAK_ENABLE_PF 0x104124 48262306a36Sopenharmony_ci/* [RW 8] The event id for aggregated interrupt 0 */ 48362306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_EVENT_0 0xc2038 48462306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_EVENT_10 0xc2060 48562306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_EVENT_11 0xc2064 48662306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_EVENT_12 0xc2068 48762306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_EVENT_13 0xc206c 48862306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_EVENT_14 0xc2070 48962306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_EVENT_15 0xc2074 49062306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_EVENT_16 0xc2078 49162306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_EVENT_2 0xc2040 49262306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_EVENT_3 0xc2044 49362306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_EVENT_4 0xc2048 49462306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_EVENT_5 0xc204c 49562306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_EVENT_6 0xc2050 49662306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_EVENT_7 0xc2054 49762306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_EVENT_8 0xc2058 49862306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_EVENT_9 0xc205c 49962306a36Sopenharmony_ci/* [RW 1] For each aggregated interrupt index whether the mode is normal (0) 50062306a36Sopenharmony_ci or auto-mask-mode (1) */ 50162306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_MODE_10 0xc21e0 50262306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_MODE_11 0xc21e4 50362306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_MODE_12 0xc21e8 50462306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_MODE_13 0xc21ec 50562306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_MODE_14 0xc21f0 50662306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_MODE_15 0xc21f4 50762306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_MODE_16 0xc21f8 50862306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_MODE_6 0xc21d0 50962306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_MODE_7 0xc21d4 51062306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_MODE_8 0xc21d8 51162306a36Sopenharmony_ci#define CSDM_REG_AGG_INT_MODE_9 0xc21dc 51262306a36Sopenharmony_ci/* [RW 13] The start address in the internal RAM for the cfc_rsp lcid */ 51362306a36Sopenharmony_ci#define CSDM_REG_CFC_RSP_START_ADDR 0xc2008 51462306a36Sopenharmony_ci/* [RW 16] The maximum value of the completion counter #0 */ 51562306a36Sopenharmony_ci#define CSDM_REG_CMP_COUNTER_MAX0 0xc201c 51662306a36Sopenharmony_ci/* [RW 16] The maximum value of the completion counter #1 */ 51762306a36Sopenharmony_ci#define CSDM_REG_CMP_COUNTER_MAX1 0xc2020 51862306a36Sopenharmony_ci/* [RW 16] The maximum value of the completion counter #2 */ 51962306a36Sopenharmony_ci#define CSDM_REG_CMP_COUNTER_MAX2 0xc2024 52062306a36Sopenharmony_ci/* [RW 16] The maximum value of the completion counter #3 */ 52162306a36Sopenharmony_ci#define CSDM_REG_CMP_COUNTER_MAX3 0xc2028 52262306a36Sopenharmony_ci/* [RW 13] The start address in the internal RAM for the completion 52362306a36Sopenharmony_ci counters. */ 52462306a36Sopenharmony_ci#define CSDM_REG_CMP_COUNTER_START_ADDR 0xc200c 52562306a36Sopenharmony_ci/* [RW 32] Interrupt mask register #0 read/write */ 52662306a36Sopenharmony_ci#define CSDM_REG_CSDM_INT_MASK_0 0xc229c 52762306a36Sopenharmony_ci#define CSDM_REG_CSDM_INT_MASK_1 0xc22ac 52862306a36Sopenharmony_ci/* [R 32] Interrupt register #0 read */ 52962306a36Sopenharmony_ci#define CSDM_REG_CSDM_INT_STS_0 0xc2290 53062306a36Sopenharmony_ci#define CSDM_REG_CSDM_INT_STS_1 0xc22a0 53162306a36Sopenharmony_ci/* [RW 11] Parity mask register #0 read/write */ 53262306a36Sopenharmony_ci#define CSDM_REG_CSDM_PRTY_MASK 0xc22bc 53362306a36Sopenharmony_ci/* [R 11] Parity register #0 read */ 53462306a36Sopenharmony_ci#define CSDM_REG_CSDM_PRTY_STS 0xc22b0 53562306a36Sopenharmony_ci/* [RC 11] Parity register #0 read clear */ 53662306a36Sopenharmony_ci#define CSDM_REG_CSDM_PRTY_STS_CLR 0xc22b4 53762306a36Sopenharmony_ci#define CSDM_REG_ENABLE_IN1 0xc2238 53862306a36Sopenharmony_ci#define CSDM_REG_ENABLE_IN2 0xc223c 53962306a36Sopenharmony_ci#define CSDM_REG_ENABLE_OUT1 0xc2240 54062306a36Sopenharmony_ci#define CSDM_REG_ENABLE_OUT2 0xc2244 54162306a36Sopenharmony_ci/* [RW 4] The initial number of messages that can be sent to the pxp control 54262306a36Sopenharmony_ci interface without receiving any ACK. */ 54362306a36Sopenharmony_ci#define CSDM_REG_INIT_CREDIT_PXP_CTRL 0xc24bc 54462306a36Sopenharmony_ci/* [ST 32] The number of ACK after placement messages received */ 54562306a36Sopenharmony_ci#define CSDM_REG_NUM_OF_ACK_AFTER_PLACE 0xc227c 54662306a36Sopenharmony_ci/* [ST 32] The number of packet end messages received from the parser */ 54762306a36Sopenharmony_ci#define CSDM_REG_NUM_OF_PKT_END_MSG 0xc2274 54862306a36Sopenharmony_ci/* [ST 32] The number of requests received from the pxp async if */ 54962306a36Sopenharmony_ci#define CSDM_REG_NUM_OF_PXP_ASYNC_REQ 0xc2278 55062306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 0 */ 55162306a36Sopenharmony_ci#define CSDM_REG_NUM_OF_Q0_CMD 0xc2248 55262306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 10 */ 55362306a36Sopenharmony_ci#define CSDM_REG_NUM_OF_Q10_CMD 0xc226c 55462306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 11 */ 55562306a36Sopenharmony_ci#define CSDM_REG_NUM_OF_Q11_CMD 0xc2270 55662306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 1 */ 55762306a36Sopenharmony_ci#define CSDM_REG_NUM_OF_Q1_CMD 0xc224c 55862306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 3 */ 55962306a36Sopenharmony_ci#define CSDM_REG_NUM_OF_Q3_CMD 0xc2250 56062306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 4 */ 56162306a36Sopenharmony_ci#define CSDM_REG_NUM_OF_Q4_CMD 0xc2254 56262306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 5 */ 56362306a36Sopenharmony_ci#define CSDM_REG_NUM_OF_Q5_CMD 0xc2258 56462306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 6 */ 56562306a36Sopenharmony_ci#define CSDM_REG_NUM_OF_Q6_CMD 0xc225c 56662306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 7 */ 56762306a36Sopenharmony_ci#define CSDM_REG_NUM_OF_Q7_CMD 0xc2260 56862306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 8 */ 56962306a36Sopenharmony_ci#define CSDM_REG_NUM_OF_Q8_CMD 0xc2264 57062306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 9 */ 57162306a36Sopenharmony_ci#define CSDM_REG_NUM_OF_Q9_CMD 0xc2268 57262306a36Sopenharmony_ci/* [RW 13] The start address in the internal RAM for queue counters */ 57362306a36Sopenharmony_ci#define CSDM_REG_Q_COUNTER_START_ADDR 0xc2010 57462306a36Sopenharmony_ci/* [R 1] pxp_ctrl rd_data fifo empty in sdm_dma_rsp block */ 57562306a36Sopenharmony_ci#define CSDM_REG_RSP_PXP_CTRL_RDATA_EMPTY 0xc2548 57662306a36Sopenharmony_ci/* [R 1] parser fifo empty in sdm_sync block */ 57762306a36Sopenharmony_ci#define CSDM_REG_SYNC_PARSER_EMPTY 0xc2550 57862306a36Sopenharmony_ci/* [R 1] parser serial fifo empty in sdm_sync block */ 57962306a36Sopenharmony_ci#define CSDM_REG_SYNC_SYNC_EMPTY 0xc2558 58062306a36Sopenharmony_ci/* [RW 32] Tick for timer counter. Applicable only when 58162306a36Sopenharmony_ci ~csdm_registers_timer_tick_enable.timer_tick_enable =1 */ 58262306a36Sopenharmony_ci#define CSDM_REG_TIMER_TICK 0xc2000 58362306a36Sopenharmony_ci/* [RW 5] The number of time_slots in the arbitration cycle */ 58462306a36Sopenharmony_ci#define CSEM_REG_ARB_CYCLE_SIZE 0x200034 58562306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 0. Source 58662306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 58762306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2 */ 58862306a36Sopenharmony_ci#define CSEM_REG_ARB_ELEMENT0 0x200020 58962306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 1. Source 59062306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 59162306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2. 59262306a36Sopenharmony_ci Could not be equal to register ~csem_registers_arb_element0.arb_element0 */ 59362306a36Sopenharmony_ci#define CSEM_REG_ARB_ELEMENT1 0x200024 59462306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 2. Source 59562306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 59662306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2. 59762306a36Sopenharmony_ci Could not be equal to register ~csem_registers_arb_element0.arb_element0 59862306a36Sopenharmony_ci and ~csem_registers_arb_element1.arb_element1 */ 59962306a36Sopenharmony_ci#define CSEM_REG_ARB_ELEMENT2 0x200028 60062306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 3. Source 60162306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 60262306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2.Could 60362306a36Sopenharmony_ci not be equal to register ~csem_registers_arb_element0.arb_element0 and 60462306a36Sopenharmony_ci ~csem_registers_arb_element1.arb_element1 and 60562306a36Sopenharmony_ci ~csem_registers_arb_element2.arb_element2 */ 60662306a36Sopenharmony_ci#define CSEM_REG_ARB_ELEMENT3 0x20002c 60762306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 4. Source 60862306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 60962306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2. 61062306a36Sopenharmony_ci Could not be equal to register ~csem_registers_arb_element0.arb_element0 61162306a36Sopenharmony_ci and ~csem_registers_arb_element1.arb_element1 and 61262306a36Sopenharmony_ci ~csem_registers_arb_element2.arb_element2 and 61362306a36Sopenharmony_ci ~csem_registers_arb_element3.arb_element3 */ 61462306a36Sopenharmony_ci#define CSEM_REG_ARB_ELEMENT4 0x200030 61562306a36Sopenharmony_ci/* [RW 32] Interrupt mask register #0 read/write */ 61662306a36Sopenharmony_ci#define CSEM_REG_CSEM_INT_MASK_0 0x200110 61762306a36Sopenharmony_ci#define CSEM_REG_CSEM_INT_MASK_1 0x200120 61862306a36Sopenharmony_ci/* [R 32] Interrupt register #0 read */ 61962306a36Sopenharmony_ci#define CSEM_REG_CSEM_INT_STS_0 0x200104 62062306a36Sopenharmony_ci#define CSEM_REG_CSEM_INT_STS_1 0x200114 62162306a36Sopenharmony_ci/* [RW 32] Parity mask register #0 read/write */ 62262306a36Sopenharmony_ci#define CSEM_REG_CSEM_PRTY_MASK_0 0x200130 62362306a36Sopenharmony_ci#define CSEM_REG_CSEM_PRTY_MASK_1 0x200140 62462306a36Sopenharmony_ci/* [R 32] Parity register #0 read */ 62562306a36Sopenharmony_ci#define CSEM_REG_CSEM_PRTY_STS_0 0x200124 62662306a36Sopenharmony_ci#define CSEM_REG_CSEM_PRTY_STS_1 0x200134 62762306a36Sopenharmony_ci/* [RC 32] Parity register #0 read clear */ 62862306a36Sopenharmony_ci#define CSEM_REG_CSEM_PRTY_STS_CLR_0 0x200128 62962306a36Sopenharmony_ci#define CSEM_REG_CSEM_PRTY_STS_CLR_1 0x200138 63062306a36Sopenharmony_ci#define CSEM_REG_ENABLE_IN 0x2000a4 63162306a36Sopenharmony_ci#define CSEM_REG_ENABLE_OUT 0x2000a8 63262306a36Sopenharmony_ci/* [RW 32] This address space contains all registers and memories that are 63362306a36Sopenharmony_ci placed in SEM_FAST block. The SEM_FAST registers are described in 63462306a36Sopenharmony_ci appendix B. In order to access the sem_fast registers the base address 63562306a36Sopenharmony_ci ~fast_memory.fast_memory should be added to eachsem_fast register offset. */ 63662306a36Sopenharmony_ci#define CSEM_REG_FAST_MEMORY 0x220000 63762306a36Sopenharmony_ci/* [RW 1] Disables input messages from FIC0 May be updated during run_time 63862306a36Sopenharmony_ci by the microcode */ 63962306a36Sopenharmony_ci#define CSEM_REG_FIC0_DISABLE 0x200224 64062306a36Sopenharmony_ci/* [RW 1] Disables input messages from FIC1 May be updated during run_time 64162306a36Sopenharmony_ci by the microcode */ 64262306a36Sopenharmony_ci#define CSEM_REG_FIC1_DISABLE 0x200234 64362306a36Sopenharmony_ci/* [RW 15] Interrupt table Read and write access to it is not possible in 64462306a36Sopenharmony_ci the middle of the work */ 64562306a36Sopenharmony_ci#define CSEM_REG_INT_TABLE 0x200400 64662306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that entered through 64762306a36Sopenharmony_ci FIC0 */ 64862306a36Sopenharmony_ci#define CSEM_REG_MSG_NUM_FIC0 0x200000 64962306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that entered through 65062306a36Sopenharmony_ci FIC1 */ 65162306a36Sopenharmony_ci#define CSEM_REG_MSG_NUM_FIC1 0x200004 65262306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that were sent to 65362306a36Sopenharmony_ci FOC0 */ 65462306a36Sopenharmony_ci#define CSEM_REG_MSG_NUM_FOC0 0x200008 65562306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that were sent to 65662306a36Sopenharmony_ci FOC1 */ 65762306a36Sopenharmony_ci#define CSEM_REG_MSG_NUM_FOC1 0x20000c 65862306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that were sent to 65962306a36Sopenharmony_ci FOC2 */ 66062306a36Sopenharmony_ci#define CSEM_REG_MSG_NUM_FOC2 0x200010 66162306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that were sent to 66262306a36Sopenharmony_ci FOC3 */ 66362306a36Sopenharmony_ci#define CSEM_REG_MSG_NUM_FOC3 0x200014 66462306a36Sopenharmony_ci/* [RW 1] Disables input messages from the passive buffer May be updated 66562306a36Sopenharmony_ci during run_time by the microcode */ 66662306a36Sopenharmony_ci#define CSEM_REG_PAS_DISABLE 0x20024c 66762306a36Sopenharmony_ci/* [WB 128] Debug only. Passive buffer memory */ 66862306a36Sopenharmony_ci#define CSEM_REG_PASSIVE_BUFFER 0x202000 66962306a36Sopenharmony_ci/* [WB 46] pram memory. B45 is parity; b[44:0] - data. */ 67062306a36Sopenharmony_ci#define CSEM_REG_PRAM 0x240000 67162306a36Sopenharmony_ci/* [R 16] Valid sleeping threads indication have bit per thread */ 67262306a36Sopenharmony_ci#define CSEM_REG_SLEEP_THREADS_VALID 0x20026c 67362306a36Sopenharmony_ci/* [R 1] EXT_STORE FIFO is empty in sem_slow_ls_ext */ 67462306a36Sopenharmony_ci#define CSEM_REG_SLOW_EXT_STORE_EMPTY 0x2002a0 67562306a36Sopenharmony_ci/* [RW 16] List of free threads . There is a bit per thread. */ 67662306a36Sopenharmony_ci#define CSEM_REG_THREADS_LIST 0x2002e4 67762306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 0 */ 67862306a36Sopenharmony_ci#define CSEM_REG_TS_0_AS 0x200038 67962306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 10 */ 68062306a36Sopenharmony_ci#define CSEM_REG_TS_10_AS 0x200060 68162306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 11 */ 68262306a36Sopenharmony_ci#define CSEM_REG_TS_11_AS 0x200064 68362306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 12 */ 68462306a36Sopenharmony_ci#define CSEM_REG_TS_12_AS 0x200068 68562306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 13 */ 68662306a36Sopenharmony_ci#define CSEM_REG_TS_13_AS 0x20006c 68762306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 14 */ 68862306a36Sopenharmony_ci#define CSEM_REG_TS_14_AS 0x200070 68962306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 15 */ 69062306a36Sopenharmony_ci#define CSEM_REG_TS_15_AS 0x200074 69162306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 16 */ 69262306a36Sopenharmony_ci#define CSEM_REG_TS_16_AS 0x200078 69362306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 17 */ 69462306a36Sopenharmony_ci#define CSEM_REG_TS_17_AS 0x20007c 69562306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 18 */ 69662306a36Sopenharmony_ci#define CSEM_REG_TS_18_AS 0x200080 69762306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 1 */ 69862306a36Sopenharmony_ci#define CSEM_REG_TS_1_AS 0x20003c 69962306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 2 */ 70062306a36Sopenharmony_ci#define CSEM_REG_TS_2_AS 0x200040 70162306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 3 */ 70262306a36Sopenharmony_ci#define CSEM_REG_TS_3_AS 0x200044 70362306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 4 */ 70462306a36Sopenharmony_ci#define CSEM_REG_TS_4_AS 0x200048 70562306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 5 */ 70662306a36Sopenharmony_ci#define CSEM_REG_TS_5_AS 0x20004c 70762306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 6 */ 70862306a36Sopenharmony_ci#define CSEM_REG_TS_6_AS 0x200050 70962306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 7 */ 71062306a36Sopenharmony_ci#define CSEM_REG_TS_7_AS 0x200054 71162306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 8 */ 71262306a36Sopenharmony_ci#define CSEM_REG_TS_8_AS 0x200058 71362306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 9 */ 71462306a36Sopenharmony_ci#define CSEM_REG_TS_9_AS 0x20005c 71562306a36Sopenharmony_ci/* [W 7] VF or PF ID for reset error bit. Values 0-63 reset error bit for 64 71662306a36Sopenharmony_ci * VF; values 64-67 reset error for 4 PF; values 68-127 are not valid. */ 71762306a36Sopenharmony_ci#define CSEM_REG_VFPF_ERR_NUM 0x200380 71862306a36Sopenharmony_ci/* [RW 1] Parity mask register #0 read/write */ 71962306a36Sopenharmony_ci#define DBG_REG_DBG_PRTY_MASK 0xc0a8 72062306a36Sopenharmony_ci/* [R 1] Parity register #0 read */ 72162306a36Sopenharmony_ci#define DBG_REG_DBG_PRTY_STS 0xc09c 72262306a36Sopenharmony_ci/* [RC 1] Parity register #0 read clear */ 72362306a36Sopenharmony_ci#define DBG_REG_DBG_PRTY_STS_CLR 0xc0a0 72462306a36Sopenharmony_ci/* [RW 1] When set the DMAE will process the commands as in E1.5. 1.The 72562306a36Sopenharmony_ci * function that is used is always SRC-PCI; 2.VF_Valid = 0; 3.VFID=0; 72662306a36Sopenharmony_ci * 4.Completion function=0; 5.Error handling=0 */ 72762306a36Sopenharmony_ci#define DMAE_REG_BACKWARD_COMP_EN 0x10207c 72862306a36Sopenharmony_ci/* [RW 32] Commands memory. The address to command X; row Y is to calculated 72962306a36Sopenharmony_ci as 14*X+Y. */ 73062306a36Sopenharmony_ci#define DMAE_REG_CMD_MEM 0x102400 73162306a36Sopenharmony_ci#define DMAE_REG_CMD_MEM_SIZE 224 73262306a36Sopenharmony_ci/* [RW 1] If 0 - the CRC-16c initial value is all zeroes; if 1 - the CRC-16c 73362306a36Sopenharmony_ci initial value is all ones. */ 73462306a36Sopenharmony_ci#define DMAE_REG_CRC16C_INIT 0x10201c 73562306a36Sopenharmony_ci/* [RW 1] If 0 - the CRC-16 T10 initial value is all zeroes; if 1 - the 73662306a36Sopenharmony_ci CRC-16 T10 initial value is all ones. */ 73762306a36Sopenharmony_ci#define DMAE_REG_CRC16T10_INIT 0x102020 73862306a36Sopenharmony_ci/* [RW 2] Interrupt mask register #0 read/write */ 73962306a36Sopenharmony_ci#define DMAE_REG_DMAE_INT_MASK 0x102054 74062306a36Sopenharmony_ci/* [RW 4] Parity mask register #0 read/write */ 74162306a36Sopenharmony_ci#define DMAE_REG_DMAE_PRTY_MASK 0x102064 74262306a36Sopenharmony_ci/* [R 4] Parity register #0 read */ 74362306a36Sopenharmony_ci#define DMAE_REG_DMAE_PRTY_STS 0x102058 74462306a36Sopenharmony_ci/* [RC 4] Parity register #0 read clear */ 74562306a36Sopenharmony_ci#define DMAE_REG_DMAE_PRTY_STS_CLR 0x10205c 74662306a36Sopenharmony_ci/* [RW 1] Command 0 go. */ 74762306a36Sopenharmony_ci#define DMAE_REG_GO_C0 0x102080 74862306a36Sopenharmony_ci/* [RW 1] Command 1 go. */ 74962306a36Sopenharmony_ci#define DMAE_REG_GO_C1 0x102084 75062306a36Sopenharmony_ci/* [RW 1] Command 10 go. */ 75162306a36Sopenharmony_ci#define DMAE_REG_GO_C10 0x102088 75262306a36Sopenharmony_ci/* [RW 1] Command 11 go. */ 75362306a36Sopenharmony_ci#define DMAE_REG_GO_C11 0x10208c 75462306a36Sopenharmony_ci/* [RW 1] Command 12 go. */ 75562306a36Sopenharmony_ci#define DMAE_REG_GO_C12 0x102090 75662306a36Sopenharmony_ci/* [RW 1] Command 13 go. */ 75762306a36Sopenharmony_ci#define DMAE_REG_GO_C13 0x102094 75862306a36Sopenharmony_ci/* [RW 1] Command 14 go. */ 75962306a36Sopenharmony_ci#define DMAE_REG_GO_C14 0x102098 76062306a36Sopenharmony_ci/* [RW 1] Command 15 go. */ 76162306a36Sopenharmony_ci#define DMAE_REG_GO_C15 0x10209c 76262306a36Sopenharmony_ci/* [RW 1] Command 2 go. */ 76362306a36Sopenharmony_ci#define DMAE_REG_GO_C2 0x1020a0 76462306a36Sopenharmony_ci/* [RW 1] Command 3 go. */ 76562306a36Sopenharmony_ci#define DMAE_REG_GO_C3 0x1020a4 76662306a36Sopenharmony_ci/* [RW 1] Command 4 go. */ 76762306a36Sopenharmony_ci#define DMAE_REG_GO_C4 0x1020a8 76862306a36Sopenharmony_ci/* [RW 1] Command 5 go. */ 76962306a36Sopenharmony_ci#define DMAE_REG_GO_C5 0x1020ac 77062306a36Sopenharmony_ci/* [RW 1] Command 6 go. */ 77162306a36Sopenharmony_ci#define DMAE_REG_GO_C6 0x1020b0 77262306a36Sopenharmony_ci/* [RW 1] Command 7 go. */ 77362306a36Sopenharmony_ci#define DMAE_REG_GO_C7 0x1020b4 77462306a36Sopenharmony_ci/* [RW 1] Command 8 go. */ 77562306a36Sopenharmony_ci#define DMAE_REG_GO_C8 0x1020b8 77662306a36Sopenharmony_ci/* [RW 1] Command 9 go. */ 77762306a36Sopenharmony_ci#define DMAE_REG_GO_C9 0x1020bc 77862306a36Sopenharmony_ci/* [RW 1] DMAE GRC Interface (Target; aster) enable. If 0 - the acknowledge 77962306a36Sopenharmony_ci input is disregarded; valid is deasserted; all other signals are treated 78062306a36Sopenharmony_ci as usual; if 1 - normal activity. */ 78162306a36Sopenharmony_ci#define DMAE_REG_GRC_IFEN 0x102008 78262306a36Sopenharmony_ci/* [RW 1] DMAE PCI Interface (Request; ead; rite) enable. If 0 - the 78362306a36Sopenharmony_ci acknowledge input is disregarded; valid is deasserted; full is asserted; 78462306a36Sopenharmony_ci all other signals are treated as usual; if 1 - normal activity. */ 78562306a36Sopenharmony_ci#define DMAE_REG_PCI_IFEN 0x102004 78662306a36Sopenharmony_ci/* [RW 4] DMAE- PCI Request Interface initial credit. Write writes the 78762306a36Sopenharmony_ci initial value to the credit counter; related to the address. Read returns 78862306a36Sopenharmony_ci the current value of the counter. */ 78962306a36Sopenharmony_ci#define DMAE_REG_PXP_REQ_INIT_CRD 0x1020c0 79062306a36Sopenharmony_ci/* [RW 8] Aggregation command. */ 79162306a36Sopenharmony_ci#define DORQ_REG_AGG_CMD0 0x170060 79262306a36Sopenharmony_ci/* [RW 8] Aggregation command. */ 79362306a36Sopenharmony_ci#define DORQ_REG_AGG_CMD1 0x170064 79462306a36Sopenharmony_ci/* [RW 8] Aggregation command. */ 79562306a36Sopenharmony_ci#define DORQ_REG_AGG_CMD2 0x170068 79662306a36Sopenharmony_ci/* [RW 8] Aggregation command. */ 79762306a36Sopenharmony_ci#define DORQ_REG_AGG_CMD3 0x17006c 79862306a36Sopenharmony_ci/* [RW 28] UCM Header. */ 79962306a36Sopenharmony_ci#define DORQ_REG_CMHEAD_RX 0x170050 80062306a36Sopenharmony_ci/* [RW 32] Doorbell address for RBC doorbells (function 0). */ 80162306a36Sopenharmony_ci#define DORQ_REG_DB_ADDR0 0x17008c 80262306a36Sopenharmony_ci/* [RW 5] Interrupt mask register #0 read/write */ 80362306a36Sopenharmony_ci#define DORQ_REG_DORQ_INT_MASK 0x170180 80462306a36Sopenharmony_ci/* [R 5] Interrupt register #0 read */ 80562306a36Sopenharmony_ci#define DORQ_REG_DORQ_INT_STS 0x170174 80662306a36Sopenharmony_ci/* [RC 5] Interrupt register #0 read clear */ 80762306a36Sopenharmony_ci#define DORQ_REG_DORQ_INT_STS_CLR 0x170178 80862306a36Sopenharmony_ci/* [RW 2] Parity mask register #0 read/write */ 80962306a36Sopenharmony_ci#define DORQ_REG_DORQ_PRTY_MASK 0x170190 81062306a36Sopenharmony_ci/* [R 2] Parity register #0 read */ 81162306a36Sopenharmony_ci#define DORQ_REG_DORQ_PRTY_STS 0x170184 81262306a36Sopenharmony_ci/* [RC 2] Parity register #0 read clear */ 81362306a36Sopenharmony_ci#define DORQ_REG_DORQ_PRTY_STS_CLR 0x170188 81462306a36Sopenharmony_ci/* [RW 8] The address to write the DPM CID to STORM. */ 81562306a36Sopenharmony_ci#define DORQ_REG_DPM_CID_ADDR 0x170044 81662306a36Sopenharmony_ci/* [RW 5] The DPM mode CID extraction offset. */ 81762306a36Sopenharmony_ci#define DORQ_REG_DPM_CID_OFST 0x170030 81862306a36Sopenharmony_ci/* [RW 12] The threshold of the DQ FIFO to send the almost full interrupt. */ 81962306a36Sopenharmony_ci#define DORQ_REG_DQ_FIFO_AFULL_TH 0x17007c 82062306a36Sopenharmony_ci/* [RW 12] The threshold of the DQ FIFO to send the full interrupt. */ 82162306a36Sopenharmony_ci#define DORQ_REG_DQ_FIFO_FULL_TH 0x170078 82262306a36Sopenharmony_ci/* [R 13] Current value of the DQ FIFO fill level according to following 82362306a36Sopenharmony_ci pointer. The range is 0 - 256 FIFO rows; where each row stands for the 82462306a36Sopenharmony_ci doorbell. */ 82562306a36Sopenharmony_ci#define DORQ_REG_DQ_FILL_LVLF 0x1700a4 82662306a36Sopenharmony_ci/* [R 1] DQ FIFO full status. Is set; when FIFO filling level is more or 82762306a36Sopenharmony_ci equal to full threshold; reset on full clear. */ 82862306a36Sopenharmony_ci#define DORQ_REG_DQ_FULL_ST 0x1700c0 82962306a36Sopenharmony_ci/* [RW 28] The value sent to CM header in the case of CFC load error. */ 83062306a36Sopenharmony_ci#define DORQ_REG_ERR_CMHEAD 0x170058 83162306a36Sopenharmony_ci#define DORQ_REG_IF_EN 0x170004 83262306a36Sopenharmony_ci#define DORQ_REG_MAX_RVFID_SIZE 0x1701ec 83362306a36Sopenharmony_ci#define DORQ_REG_MODE_ACT 0x170008 83462306a36Sopenharmony_ci/* [RW 5] The normal mode CID extraction offset. */ 83562306a36Sopenharmony_ci#define DORQ_REG_NORM_CID_OFST 0x17002c 83662306a36Sopenharmony_ci/* [RW 28] TCM Header when only TCP context is loaded. */ 83762306a36Sopenharmony_ci#define DORQ_REG_NORM_CMHEAD_TX 0x17004c 83862306a36Sopenharmony_ci/* [RW 3] The number of simultaneous outstanding requests to Context Fetch 83962306a36Sopenharmony_ci Interface. */ 84062306a36Sopenharmony_ci#define DORQ_REG_OUTST_REQ 0x17003c 84162306a36Sopenharmony_ci#define DORQ_REG_PF_USAGE_CNT 0x1701d0 84262306a36Sopenharmony_ci#define DORQ_REG_REGN 0x170038 84362306a36Sopenharmony_ci/* [R 4] Current value of response A counter credit. Initial credit is 84462306a36Sopenharmony_ci configured through write to ~dorq_registers_rsp_init_crd.rsp_init_crd 84562306a36Sopenharmony_ci register. */ 84662306a36Sopenharmony_ci#define DORQ_REG_RSPA_CRD_CNT 0x1700ac 84762306a36Sopenharmony_ci/* [R 4] Current value of response B counter credit. Initial credit is 84862306a36Sopenharmony_ci configured through write to ~dorq_registers_rsp_init_crd.rsp_init_crd 84962306a36Sopenharmony_ci register. */ 85062306a36Sopenharmony_ci#define DORQ_REG_RSPB_CRD_CNT 0x1700b0 85162306a36Sopenharmony_ci/* [RW 4] The initial credit at the Doorbell Response Interface. The write 85262306a36Sopenharmony_ci writes the same initial credit to the rspa_crd_cnt and rspb_crd_cnt. The 85362306a36Sopenharmony_ci read reads this written value. */ 85462306a36Sopenharmony_ci#define DORQ_REG_RSP_INIT_CRD 0x170048 85562306a36Sopenharmony_ci#define DORQ_REG_RSPB_CRD_CNT 0x1700b0 85662306a36Sopenharmony_ci#define DORQ_REG_VF_NORM_CID_BASE 0x1701a0 85762306a36Sopenharmony_ci#define DORQ_REG_VF_NORM_CID_OFST 0x1701f4 85862306a36Sopenharmony_ci#define DORQ_REG_VF_NORM_CID_WND_SIZE 0x1701a4 85962306a36Sopenharmony_ci#define DORQ_REG_VF_NORM_MAX_CID_COUNT 0x1701e4 86062306a36Sopenharmony_ci#define DORQ_REG_VF_NORM_VF_BASE 0x1701a8 86162306a36Sopenharmony_ci/* [RW 10] VF type validation mask value */ 86262306a36Sopenharmony_ci#define DORQ_REG_VF_TYPE_MASK_0 0x170218 86362306a36Sopenharmony_ci/* [RW 17] VF type validation Min MCID value */ 86462306a36Sopenharmony_ci#define DORQ_REG_VF_TYPE_MAX_MCID_0 0x1702d8 86562306a36Sopenharmony_ci/* [RW 17] VF type validation Max MCID value */ 86662306a36Sopenharmony_ci#define DORQ_REG_VF_TYPE_MIN_MCID_0 0x170298 86762306a36Sopenharmony_ci/* [RW 10] VF type validation comp value */ 86862306a36Sopenharmony_ci#define DORQ_REG_VF_TYPE_VALUE_0 0x170258 86962306a36Sopenharmony_ci#define DORQ_REG_VF_USAGE_CT_LIMIT 0x170340 87062306a36Sopenharmony_ci 87162306a36Sopenharmony_ci/* [RW 4] Initial activity counter value on the load request; when the 87262306a36Sopenharmony_ci shortcut is done. */ 87362306a36Sopenharmony_ci#define DORQ_REG_SHRT_ACT_CNT 0x170070 87462306a36Sopenharmony_ci/* [RW 28] TCM Header when both ULP and TCP context is loaded. */ 87562306a36Sopenharmony_ci#define DORQ_REG_SHRT_CMHEAD 0x170054 87662306a36Sopenharmony_ci#define HC_CONFIG_0_REG_ATTN_BIT_EN_0 (0x1<<4) 87762306a36Sopenharmony_ci#define HC_CONFIG_0_REG_BLOCK_DISABLE_0 (0x1<<0) 87862306a36Sopenharmony_ci#define HC_CONFIG_0_REG_INT_LINE_EN_0 (0x1<<3) 87962306a36Sopenharmony_ci#define HC_CONFIG_0_REG_MSI_ATTN_EN_0 (0x1<<7) 88062306a36Sopenharmony_ci#define HC_CONFIG_0_REG_MSI_MSIX_INT_EN_0 (0x1<<2) 88162306a36Sopenharmony_ci#define HC_CONFIG_0_REG_SINGLE_ISR_EN_0 (0x1<<1) 88262306a36Sopenharmony_ci#define HC_CONFIG_1_REG_BLOCK_DISABLE_1 (0x1<<0) 88362306a36Sopenharmony_ci#define DORQ_REG_VF_USAGE_CNT 0x170320 88462306a36Sopenharmony_ci#define HC_REG_AGG_INT_0 0x108050 88562306a36Sopenharmony_ci#define HC_REG_AGG_INT_1 0x108054 88662306a36Sopenharmony_ci#define HC_REG_ATTN_BIT 0x108120 88762306a36Sopenharmony_ci#define HC_REG_ATTN_IDX 0x108100 88862306a36Sopenharmony_ci#define HC_REG_ATTN_MSG0_ADDR_L 0x108018 88962306a36Sopenharmony_ci#define HC_REG_ATTN_MSG1_ADDR_L 0x108020 89062306a36Sopenharmony_ci#define HC_REG_ATTN_NUM_P0 0x108038 89162306a36Sopenharmony_ci#define HC_REG_ATTN_NUM_P1 0x10803c 89262306a36Sopenharmony_ci#define HC_REG_COMMAND_REG 0x108180 89362306a36Sopenharmony_ci#define HC_REG_CONFIG_0 0x108000 89462306a36Sopenharmony_ci#define HC_REG_CONFIG_1 0x108004 89562306a36Sopenharmony_ci#define HC_REG_FUNC_NUM_P0 0x1080ac 89662306a36Sopenharmony_ci#define HC_REG_FUNC_NUM_P1 0x1080b0 89762306a36Sopenharmony_ci/* [RW 3] Parity mask register #0 read/write */ 89862306a36Sopenharmony_ci#define HC_REG_HC_PRTY_MASK 0x1080a0 89962306a36Sopenharmony_ci/* [R 3] Parity register #0 read */ 90062306a36Sopenharmony_ci#define HC_REG_HC_PRTY_STS 0x108094 90162306a36Sopenharmony_ci/* [RC 3] Parity register #0 read clear */ 90262306a36Sopenharmony_ci#define HC_REG_HC_PRTY_STS_CLR 0x108098 90362306a36Sopenharmony_ci#define HC_REG_INT_MASK 0x108108 90462306a36Sopenharmony_ci#define HC_REG_LEADING_EDGE_0 0x108040 90562306a36Sopenharmony_ci#define HC_REG_LEADING_EDGE_1 0x108048 90662306a36Sopenharmony_ci#define HC_REG_MAIN_MEMORY 0x108800 90762306a36Sopenharmony_ci#define HC_REG_MAIN_MEMORY_SIZE 152 90862306a36Sopenharmony_ci#define HC_REG_P0_PROD_CONS 0x108200 90962306a36Sopenharmony_ci#define HC_REG_P1_PROD_CONS 0x108400 91062306a36Sopenharmony_ci#define HC_REG_PBA_COMMAND 0x108140 91162306a36Sopenharmony_ci#define HC_REG_PCI_CONFIG_0 0x108010 91262306a36Sopenharmony_ci#define HC_REG_PCI_CONFIG_1 0x108014 91362306a36Sopenharmony_ci#define HC_REG_STATISTIC_COUNTERS 0x109000 91462306a36Sopenharmony_ci#define HC_REG_TRAILING_EDGE_0 0x108044 91562306a36Sopenharmony_ci#define HC_REG_TRAILING_EDGE_1 0x10804c 91662306a36Sopenharmony_ci#define HC_REG_UC_RAM_ADDR_0 0x108028 91762306a36Sopenharmony_ci#define HC_REG_UC_RAM_ADDR_1 0x108030 91862306a36Sopenharmony_ci#define HC_REG_USTORM_ADDR_FOR_COALESCE 0x108068 91962306a36Sopenharmony_ci#define HC_REG_VQID_0 0x108008 92062306a36Sopenharmony_ci#define HC_REG_VQID_1 0x10800c 92162306a36Sopenharmony_ci#define IGU_BLOCK_CONFIGURATION_REG_BACKWARD_COMP_EN (0x1<<1) 92262306a36Sopenharmony_ci#define IGU_BLOCK_CONFIGURATION_REG_BLOCK_ENABLE (0x1<<0) 92362306a36Sopenharmony_ci#define IGU_REG_ATTENTION_ACK_BITS 0x130108 92462306a36Sopenharmony_ci/* [R 4] Debug: attn_fsm */ 92562306a36Sopenharmony_ci#define IGU_REG_ATTN_FSM 0x130054 92662306a36Sopenharmony_ci#define IGU_REG_ATTN_MSG_ADDR_H 0x13011c 92762306a36Sopenharmony_ci#define IGU_REG_ATTN_MSG_ADDR_L 0x130120 92862306a36Sopenharmony_ci/* [R 4] Debug: [3] - attention write done message is pending (0-no pending; 92962306a36Sopenharmony_ci * 1-pending). [2:0] = PFID. Pending means attention message was sent; but 93062306a36Sopenharmony_ci * write done didn't receive. */ 93162306a36Sopenharmony_ci#define IGU_REG_ATTN_WRITE_DONE_PENDING 0x130030 93262306a36Sopenharmony_ci#define IGU_REG_BLOCK_CONFIGURATION 0x130000 93362306a36Sopenharmony_ci#define IGU_REG_COMMAND_REG_32LSB_DATA 0x130124 93462306a36Sopenharmony_ci#define IGU_REG_COMMAND_REG_CTRL 0x13012c 93562306a36Sopenharmony_ci/* [WB_R 32] Cleanup bit status per SB. 1 = cleanup is set. 0 = cleanup bit 93662306a36Sopenharmony_ci * is clear. The bits in this registers are set and clear via the producer 93762306a36Sopenharmony_ci * command. Data valid only in addresses 0-4. all the rest are zero. */ 93862306a36Sopenharmony_ci#define IGU_REG_CSTORM_TYPE_0_SB_CLEANUP 0x130200 93962306a36Sopenharmony_ci/* [R 5] Debug: ctrl_fsm */ 94062306a36Sopenharmony_ci#define IGU_REG_CTRL_FSM 0x130064 94162306a36Sopenharmony_ci/* [R 1] data available for error memory. If this bit is clear do not red 94262306a36Sopenharmony_ci * from error_handling_memory. */ 94362306a36Sopenharmony_ci#define IGU_REG_ERROR_HANDLING_DATA_VALID 0x130130 94462306a36Sopenharmony_ci/* [RW 11] Parity mask register #0 read/write */ 94562306a36Sopenharmony_ci#define IGU_REG_IGU_PRTY_MASK 0x1300a8 94662306a36Sopenharmony_ci/* [R 11] Parity register #0 read */ 94762306a36Sopenharmony_ci#define IGU_REG_IGU_PRTY_STS 0x13009c 94862306a36Sopenharmony_ci/* [RC 11] Parity register #0 read clear */ 94962306a36Sopenharmony_ci#define IGU_REG_IGU_PRTY_STS_CLR 0x1300a0 95062306a36Sopenharmony_ci/* [R 4] Debug: int_handle_fsm */ 95162306a36Sopenharmony_ci#define IGU_REG_INT_HANDLE_FSM 0x130050 95262306a36Sopenharmony_ci#define IGU_REG_LEADING_EDGE_LATCH 0x130134 95362306a36Sopenharmony_ci/* [RW 14] mapping CAM; relevant for E2 operating mode only. [0] - valid. 95462306a36Sopenharmony_ci * [6:1] - vector number; [13:7] - FID (if VF - [13] = 0; [12:7] = VF 95562306a36Sopenharmony_ci * number; if PF - [13] = 1; [12:10] = 0; [9:7] = PF number); */ 95662306a36Sopenharmony_ci#define IGU_REG_MAPPING_MEMORY 0x131000 95762306a36Sopenharmony_ci#define IGU_REG_MAPPING_MEMORY_SIZE 136 95862306a36Sopenharmony_ci#define IGU_REG_PBA_STATUS_LSB 0x130138 95962306a36Sopenharmony_ci#define IGU_REG_PBA_STATUS_MSB 0x13013c 96062306a36Sopenharmony_ci#define IGU_REG_PCI_PF_MSI_EN 0x130140 96162306a36Sopenharmony_ci#define IGU_REG_PCI_PF_MSIX_EN 0x130144 96262306a36Sopenharmony_ci#define IGU_REG_PCI_PF_MSIX_FUNC_MASK 0x130148 96362306a36Sopenharmony_ci/* [WB_R 32] Each bit represent the pending bits status for that SB. 0 = no 96462306a36Sopenharmony_ci * pending; 1 = pending. Pendings means interrupt was asserted; and write 96562306a36Sopenharmony_ci * done was not received. Data valid only in addresses 0-4. all the rest are 96662306a36Sopenharmony_ci * zero. */ 96762306a36Sopenharmony_ci#define IGU_REG_PENDING_BITS_STATUS 0x130300 96862306a36Sopenharmony_ci#define IGU_REG_PF_CONFIGURATION 0x130154 96962306a36Sopenharmony_ci/* [RW 20] producers only. E2 mode: address 0-135 match to the mapping 97062306a36Sopenharmony_ci * memory; 136 - PF0 default prod; 137 PF1 default prod; 138 - PF2 default 97162306a36Sopenharmony_ci * prod; 139 PF3 default prod; 140 - PF0 - ATTN prod; 141 - PF1 - ATTN prod; 97262306a36Sopenharmony_ci * 142 - PF2 - ATTN prod; 143 - PF3 - ATTN prod; 144-147 reserved. E1.5 mode 97362306a36Sopenharmony_ci * - In backward compatible mode; for non default SB; each even line in the 97462306a36Sopenharmony_ci * memory holds the U producer and each odd line hold the C producer. The 97562306a36Sopenharmony_ci * first 128 producer are for NDSB (PF0 - 0-31; PF1 - 32-63 and so on). The 97662306a36Sopenharmony_ci * last 20 producers are for the DSB for each PF. each PF has five segments 97762306a36Sopenharmony_ci * (the order inside each segment is PF0; PF1; PF2; PF3) - 128-131 U prods; 97862306a36Sopenharmony_ci * 132-135 C prods; 136-139 X prods; 140-143 T prods; 144-147 ATTN prods; */ 97962306a36Sopenharmony_ci#define IGU_REG_PROD_CONS_MEMORY 0x132000 98062306a36Sopenharmony_ci/* [R 3] Debug: pxp_arb_fsm */ 98162306a36Sopenharmony_ci#define IGU_REG_PXP_ARB_FSM 0x130068 98262306a36Sopenharmony_ci/* [RW 6] Write one for each bit will reset the appropriate memory. When the 98362306a36Sopenharmony_ci * memory reset finished the appropriate bit will be clear. Bit 0 - mapping 98462306a36Sopenharmony_ci * memory; Bit 1 - SB memory; Bit 2 - SB interrupt and mask register; Bit 3 98562306a36Sopenharmony_ci * - MSIX memory; Bit 4 - PBA memory; Bit 5 - statistics; */ 98662306a36Sopenharmony_ci#define IGU_REG_RESET_MEMORIES 0x130158 98762306a36Sopenharmony_ci/* [R 4] Debug: sb_ctrl_fsm */ 98862306a36Sopenharmony_ci#define IGU_REG_SB_CTRL_FSM 0x13004c 98962306a36Sopenharmony_ci#define IGU_REG_SB_INT_BEFORE_MASK_LSB 0x13015c 99062306a36Sopenharmony_ci#define IGU_REG_SB_INT_BEFORE_MASK_MSB 0x130160 99162306a36Sopenharmony_ci#define IGU_REG_SB_MASK_LSB 0x130164 99262306a36Sopenharmony_ci#define IGU_REG_SB_MASK_MSB 0x130168 99362306a36Sopenharmony_ci/* [RW 16] Number of command that were dropped without causing an interrupt 99462306a36Sopenharmony_ci * due to: read access for WO BAR address; or write access for RO BAR 99562306a36Sopenharmony_ci * address or any access for reserved address or PCI function error is set 99662306a36Sopenharmony_ci * and address is not MSIX; PBA or cleanup */ 99762306a36Sopenharmony_ci#define IGU_REG_SILENT_DROP 0x13016c 99862306a36Sopenharmony_ci/* [RW 10] Number of MSI/MSIX/ATTN messages sent for the function: 0-63 - 99962306a36Sopenharmony_ci * number of MSIX messages per VF; 64-67 - number of MSI/MSIX messages per 100062306a36Sopenharmony_ci * PF; 68-71 number of ATTN messages per PF */ 100162306a36Sopenharmony_ci#define IGU_REG_STATISTIC_NUM_MESSAGE_SENT 0x130800 100262306a36Sopenharmony_ci/* [RW 32] Number of cycles the timer mask masking the IGU interrupt when a 100362306a36Sopenharmony_ci * timer mask command arrives. Value must be bigger than 100. */ 100462306a36Sopenharmony_ci#define IGU_REG_TIMER_MASKING_VALUE 0x13003c 100562306a36Sopenharmony_ci#define IGU_REG_TRAILING_EDGE_LATCH 0x130104 100662306a36Sopenharmony_ci#define IGU_REG_VF_CONFIGURATION 0x130170 100762306a36Sopenharmony_ci/* [WB_R 32] Each bit represent write done pending bits status for that SB 100862306a36Sopenharmony_ci * (MSI/MSIX message was sent and write done was not received yet). 0 = 100962306a36Sopenharmony_ci * clear; 1 = set. Data valid only in addresses 0-4. all the rest are zero. */ 101062306a36Sopenharmony_ci#define IGU_REG_WRITE_DONE_PENDING 0x130480 101162306a36Sopenharmony_ci#define MCP_A_REG_MCPR_SCRATCH 0x3a0000 101262306a36Sopenharmony_ci#define MCP_REG_MCPR_ACCESS_LOCK 0x8009c 101362306a36Sopenharmony_ci#define MCP_REG_MCPR_CPU_PROGRAM_COUNTER 0x8501c 101462306a36Sopenharmony_ci#define MCP_REG_MCPR_GP_INPUTS 0x800c0 101562306a36Sopenharmony_ci#define MCP_REG_MCPR_GP_OENABLE 0x800c8 101662306a36Sopenharmony_ci#define MCP_REG_MCPR_GP_OUTPUTS 0x800c4 101762306a36Sopenharmony_ci#define MCP_REG_MCPR_IMC_COMMAND 0x85900 101862306a36Sopenharmony_ci#define MCP_REG_MCPR_IMC_DATAREG0 0x85920 101962306a36Sopenharmony_ci#define MCP_REG_MCPR_IMC_SLAVE_CONTROL 0x85904 102062306a36Sopenharmony_ci#define MCP_REG_MCPR_CPU_PROGRAM_COUNTER 0x8501c 102162306a36Sopenharmony_ci#define MCP_REG_MCPR_NVM_ACCESS_ENABLE 0x86424 102262306a36Sopenharmony_ci#define MCP_REG_MCPR_NVM_ADDR 0x8640c 102362306a36Sopenharmony_ci#define MCP_REG_MCPR_NVM_CFG4 0x8642c 102462306a36Sopenharmony_ci#define MCP_REG_MCPR_NVM_COMMAND 0x86400 102562306a36Sopenharmony_ci#define MCP_REG_MCPR_NVM_READ 0x86410 102662306a36Sopenharmony_ci#define MCP_REG_MCPR_NVM_SW_ARB 0x86420 102762306a36Sopenharmony_ci#define MCP_REG_MCPR_NVM_WRITE 0x86408 102862306a36Sopenharmony_ci#define MCP_REG_MCPR_SCRATCH 0xa0000 102962306a36Sopenharmony_ci#define MISC_AEU_GENERAL_MASK_REG_AEU_NIG_CLOSE_MASK (0x1<<1) 103062306a36Sopenharmony_ci#define MISC_AEU_GENERAL_MASK_REG_AEU_PXP_CLOSE_MASK (0x1<<0) 103162306a36Sopenharmony_ci/* [R 32] read first 32 bit after inversion of function 0. mapped as 103262306a36Sopenharmony_ci follows: [0] NIG attention for function0; [1] NIG attention for 103362306a36Sopenharmony_ci function1; [2] GPIO1 mcp; [3] GPIO2 mcp; [4] GPIO3 mcp; [5] GPIO4 mcp; 103462306a36Sopenharmony_ci [6] GPIO1 function 1; [7] GPIO2 function 1; [8] GPIO3 function 1; [9] 103562306a36Sopenharmony_ci GPIO4 function 1; [10] PCIE glue/PXP VPD event function0; [11] PCIE 103662306a36Sopenharmony_ci glue/PXP VPD event function1; [12] PCIE glue/PXP Expansion ROM event0; 103762306a36Sopenharmony_ci [13] PCIE glue/PXP Expansion ROM event1; [14] SPIO4; [15] SPIO5; [16] 103862306a36Sopenharmony_ci MSI/X indication for mcp; [17] MSI/X indication for function 1; [18] BRB 103962306a36Sopenharmony_ci Parity error; [19] BRB Hw interrupt; [20] PRS Parity error; [21] PRS Hw 104062306a36Sopenharmony_ci interrupt; [22] SRC Parity error; [23] SRC Hw interrupt; [24] TSDM Parity 104162306a36Sopenharmony_ci error; [25] TSDM Hw interrupt; [26] TCM Parity error; [27] TCM Hw 104262306a36Sopenharmony_ci interrupt; [28] TSEMI Parity error; [29] TSEMI Hw interrupt; [30] PBF 104362306a36Sopenharmony_ci Parity error; [31] PBF Hw interrupt; */ 104462306a36Sopenharmony_ci#define MISC_REG_AEU_AFTER_INVERT_1_FUNC_0 0xa42c 104562306a36Sopenharmony_ci#define MISC_REG_AEU_AFTER_INVERT_1_FUNC_1 0xa430 104662306a36Sopenharmony_ci/* [R 32] read first 32 bit after inversion of mcp. mapped as follows: [0] 104762306a36Sopenharmony_ci NIG attention for function0; [1] NIG attention for function1; [2] GPIO1 104862306a36Sopenharmony_ci mcp; [3] GPIO2 mcp; [4] GPIO3 mcp; [5] GPIO4 mcp; [6] GPIO1 function 1; 104962306a36Sopenharmony_ci [7] GPIO2 function 1; [8] GPIO3 function 1; [9] GPIO4 function 1; [10] 105062306a36Sopenharmony_ci PCIE glue/PXP VPD event function0; [11] PCIE glue/PXP VPD event 105162306a36Sopenharmony_ci function1; [12] PCIE glue/PXP Expansion ROM event0; [13] PCIE glue/PXP 105262306a36Sopenharmony_ci Expansion ROM event1; [14] SPIO4; [15] SPIO5; [16] MSI/X indication for 105362306a36Sopenharmony_ci mcp; [17] MSI/X indication for function 1; [18] BRB Parity error; [19] 105462306a36Sopenharmony_ci BRB Hw interrupt; [20] PRS Parity error; [21] PRS Hw interrupt; [22] SRC 105562306a36Sopenharmony_ci Parity error; [23] SRC Hw interrupt; [24] TSDM Parity error; [25] TSDM Hw 105662306a36Sopenharmony_ci interrupt; [26] TCM Parity error; [27] TCM Hw interrupt; [28] TSEMI 105762306a36Sopenharmony_ci Parity error; [29] TSEMI Hw interrupt; [30] PBF Parity error; [31] PBF Hw 105862306a36Sopenharmony_ci interrupt; */ 105962306a36Sopenharmony_ci#define MISC_REG_AEU_AFTER_INVERT_1_MCP 0xa434 106062306a36Sopenharmony_ci/* [R 32] read second 32 bit after inversion of function 0. mapped as 106162306a36Sopenharmony_ci follows: [0] PBClient Parity error; [1] PBClient Hw interrupt; [2] QM 106262306a36Sopenharmony_ci Parity error; [3] QM Hw interrupt; [4] Timers Parity error; [5] Timers Hw 106362306a36Sopenharmony_ci interrupt; [6] XSDM Parity error; [7] XSDM Hw interrupt; [8] XCM Parity 106462306a36Sopenharmony_ci error; [9] XCM Hw interrupt; [10] XSEMI Parity error; [11] XSEMI Hw 106562306a36Sopenharmony_ci interrupt; [12] DoorbellQ Parity error; [13] DoorbellQ Hw interrupt; [14] 106662306a36Sopenharmony_ci NIG Parity error; [15] NIG Hw interrupt; [16] Vaux PCI core Parity error; 106762306a36Sopenharmony_ci [17] Vaux PCI core Hw interrupt; [18] Debug Parity error; [19] Debug Hw 106862306a36Sopenharmony_ci interrupt; [20] USDM Parity error; [21] USDM Hw interrupt; [22] UCM 106962306a36Sopenharmony_ci Parity error; [23] UCM Hw interrupt; [24] USEMI Parity error; [25] USEMI 107062306a36Sopenharmony_ci Hw interrupt; [26] UPB Parity error; [27] UPB Hw interrupt; [28] CSDM 107162306a36Sopenharmony_ci Parity error; [29] CSDM Hw interrupt; [30] CCM Parity error; [31] CCM Hw 107262306a36Sopenharmony_ci interrupt; */ 107362306a36Sopenharmony_ci#define MISC_REG_AEU_AFTER_INVERT_2_FUNC_0 0xa438 107462306a36Sopenharmony_ci#define MISC_REG_AEU_AFTER_INVERT_2_FUNC_1 0xa43c 107562306a36Sopenharmony_ci/* [R 32] read second 32 bit after inversion of mcp. mapped as follows: [0] 107662306a36Sopenharmony_ci PBClient Parity error; [1] PBClient Hw interrupt; [2] QM Parity error; 107762306a36Sopenharmony_ci [3] QM Hw interrupt; [4] Timers Parity error; [5] Timers Hw interrupt; 107862306a36Sopenharmony_ci [6] XSDM Parity error; [7] XSDM Hw interrupt; [8] XCM Parity error; [9] 107962306a36Sopenharmony_ci XCM Hw interrupt; [10] XSEMI Parity error; [11] XSEMI Hw interrupt; [12] 108062306a36Sopenharmony_ci DoorbellQ Parity error; [13] DoorbellQ Hw interrupt; [14] NIG Parity 108162306a36Sopenharmony_ci error; [15] NIG Hw interrupt; [16] Vaux PCI core Parity error; [17] Vaux 108262306a36Sopenharmony_ci PCI core Hw interrupt; [18] Debug Parity error; [19] Debug Hw interrupt; 108362306a36Sopenharmony_ci [20] USDM Parity error; [21] USDM Hw interrupt; [22] UCM Parity error; 108462306a36Sopenharmony_ci [23] UCM Hw interrupt; [24] USEMI Parity error; [25] USEMI Hw interrupt; 108562306a36Sopenharmony_ci [26] UPB Parity error; [27] UPB Hw interrupt; [28] CSDM Parity error; 108662306a36Sopenharmony_ci [29] CSDM Hw interrupt; [30] CCM Parity error; [31] CCM Hw interrupt; */ 108762306a36Sopenharmony_ci#define MISC_REG_AEU_AFTER_INVERT_2_MCP 0xa440 108862306a36Sopenharmony_ci/* [R 32] read third 32 bit after inversion of function 0. mapped as 108962306a36Sopenharmony_ci follows: [0] CSEMI Parity error; [1] CSEMI Hw interrupt; [2] PXP Parity 109062306a36Sopenharmony_ci error; [3] PXP Hw interrupt; [4] PXPpciClockClient Parity error; [5] 109162306a36Sopenharmony_ci PXPpciClockClient Hw interrupt; [6] CFC Parity error; [7] CFC Hw 109262306a36Sopenharmony_ci interrupt; [8] CDU Parity error; [9] CDU Hw interrupt; [10] DMAE Parity 109362306a36Sopenharmony_ci error; [11] DMAE Hw interrupt; [12] IGU (HC) Parity error; [13] IGU (HC) 109462306a36Sopenharmony_ci Hw interrupt; [14] MISC Parity error; [15] MISC Hw interrupt; [16] 109562306a36Sopenharmony_ci pxp_misc_mps_attn; [17] Flash event; [18] SMB event; [19] MCP attn0; [20] 109662306a36Sopenharmony_ci MCP attn1; [21] SW timers attn_1 func0; [22] SW timers attn_2 func0; [23] 109762306a36Sopenharmony_ci SW timers attn_3 func0; [24] SW timers attn_4 func0; [25] PERST; [26] SW 109862306a36Sopenharmony_ci timers attn_1 func1; [27] SW timers attn_2 func1; [28] SW timers attn_3 109962306a36Sopenharmony_ci func1; [29] SW timers attn_4 func1; [30] General attn0; [31] General 110062306a36Sopenharmony_ci attn1; */ 110162306a36Sopenharmony_ci#define MISC_REG_AEU_AFTER_INVERT_3_FUNC_0 0xa444 110262306a36Sopenharmony_ci#define MISC_REG_AEU_AFTER_INVERT_3_FUNC_1 0xa448 110362306a36Sopenharmony_ci/* [R 32] read third 32 bit after inversion of mcp. mapped as follows: [0] 110462306a36Sopenharmony_ci CSEMI Parity error; [1] CSEMI Hw interrupt; [2] PXP Parity error; [3] PXP 110562306a36Sopenharmony_ci Hw interrupt; [4] PXPpciClockClient Parity error; [5] PXPpciClockClient 110662306a36Sopenharmony_ci Hw interrupt; [6] CFC Parity error; [7] CFC Hw interrupt; [8] CDU Parity 110762306a36Sopenharmony_ci error; [9] CDU Hw interrupt; [10] DMAE Parity error; [11] DMAE Hw 110862306a36Sopenharmony_ci interrupt; [12] IGU (HC) Parity error; [13] IGU (HC) Hw interrupt; [14] 110962306a36Sopenharmony_ci MISC Parity error; [15] MISC Hw interrupt; [16] pxp_misc_mps_attn; [17] 111062306a36Sopenharmony_ci Flash event; [18] SMB event; [19] MCP attn0; [20] MCP attn1; [21] SW 111162306a36Sopenharmony_ci timers attn_1 func0; [22] SW timers attn_2 func0; [23] SW timers attn_3 111262306a36Sopenharmony_ci func0; [24] SW timers attn_4 func0; [25] PERST; [26] SW timers attn_1 111362306a36Sopenharmony_ci func1; [27] SW timers attn_2 func1; [28] SW timers attn_3 func1; [29] SW 111462306a36Sopenharmony_ci timers attn_4 func1; [30] General attn0; [31] General attn1; */ 111562306a36Sopenharmony_ci#define MISC_REG_AEU_AFTER_INVERT_3_MCP 0xa44c 111662306a36Sopenharmony_ci/* [R 32] read fourth 32 bit after inversion of function 0. mapped as 111762306a36Sopenharmony_ci follows: [0] General attn2; [1] General attn3; [2] General attn4; [3] 111862306a36Sopenharmony_ci General attn5; [4] General attn6; [5] General attn7; [6] General attn8; 111962306a36Sopenharmony_ci [7] General attn9; [8] General attn10; [9] General attn11; [10] General 112062306a36Sopenharmony_ci attn12; [11] General attn13; [12] General attn14; [13] General attn15; 112162306a36Sopenharmony_ci [14] General attn16; [15] General attn17; [16] General attn18; [17] 112262306a36Sopenharmony_ci General attn19; [18] General attn20; [19] General attn21; [20] Main power 112362306a36Sopenharmony_ci interrupt; [21] RBCR Latched attn; [22] RBCT Latched attn; [23] RBCN 112462306a36Sopenharmony_ci Latched attn; [24] RBCU Latched attn; [25] RBCP Latched attn; [26] GRC 112562306a36Sopenharmony_ci Latched timeout attention; [27] GRC Latched reserved access attention; 112662306a36Sopenharmony_ci [28] MCP Latched rom_parity; [29] MCP Latched ump_rx_parity; [30] MCP 112762306a36Sopenharmony_ci Latched ump_tx_parity; [31] MCP Latched scpad_parity; */ 112862306a36Sopenharmony_ci#define MISC_REG_AEU_AFTER_INVERT_4_FUNC_0 0xa450 112962306a36Sopenharmony_ci#define MISC_REG_AEU_AFTER_INVERT_4_FUNC_1 0xa454 113062306a36Sopenharmony_ci/* [R 32] read fourth 32 bit after inversion of mcp. mapped as follows: [0] 113162306a36Sopenharmony_ci General attn2; [1] General attn3; [2] General attn4; [3] General attn5; 113262306a36Sopenharmony_ci [4] General attn6; [5] General attn7; [6] General attn8; [7] General 113362306a36Sopenharmony_ci attn9; [8] General attn10; [9] General attn11; [10] General attn12; [11] 113462306a36Sopenharmony_ci General attn13; [12] General attn14; [13] General attn15; [14] General 113562306a36Sopenharmony_ci attn16; [15] General attn17; [16] General attn18; [17] General attn19; 113662306a36Sopenharmony_ci [18] General attn20; [19] General attn21; [20] Main power interrupt; [21] 113762306a36Sopenharmony_ci RBCR Latched attn; [22] RBCT Latched attn; [23] RBCN Latched attn; [24] 113862306a36Sopenharmony_ci RBCU Latched attn; [25] RBCP Latched attn; [26] GRC Latched timeout 113962306a36Sopenharmony_ci attention; [27] GRC Latched reserved access attention; [28] MCP Latched 114062306a36Sopenharmony_ci rom_parity; [29] MCP Latched ump_rx_parity; [30] MCP Latched 114162306a36Sopenharmony_ci ump_tx_parity; [31] MCP Latched scpad_parity; */ 114262306a36Sopenharmony_ci#define MISC_REG_AEU_AFTER_INVERT_4_MCP 0xa458 114362306a36Sopenharmony_ci/* [R 32] Read fifth 32 bit after inversion of function 0. Mapped as 114462306a36Sopenharmony_ci * follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC 114562306a36Sopenharmony_ci * attention [3] PGLUE B RBC parity; [4] ATC attention; [5] ATC parity; [6] 114662306a36Sopenharmony_ci * CNIG attention (reserved); [7] CNIG parity (reserved); [31-8] Reserved; */ 114762306a36Sopenharmony_ci#define MISC_REG_AEU_AFTER_INVERT_5_FUNC_0 0xa700 114862306a36Sopenharmony_ci/* [W 14] write to this register results with the clear of the latched 114962306a36Sopenharmony_ci signals; one in d0 clears RBCR latch; one in d1 clears RBCT latch; one in 115062306a36Sopenharmony_ci d2 clears RBCN latch; one in d3 clears RBCU latch; one in d4 clears RBCP 115162306a36Sopenharmony_ci latch; one in d5 clears GRC Latched timeout attention; one in d6 clears 115262306a36Sopenharmony_ci GRC Latched reserved access attention; one in d7 clears Latched 115362306a36Sopenharmony_ci rom_parity; one in d8 clears Latched ump_rx_parity; one in d9 clears 115462306a36Sopenharmony_ci Latched ump_tx_parity; one in d10 clears Latched scpad_parity (both 115562306a36Sopenharmony_ci ports); one in d11 clears pxpv_misc_mps_attn; one in d12 clears 115662306a36Sopenharmony_ci pxp_misc_exp_rom_attn0; one in d13 clears pxp_misc_exp_rom_attn1; read 115762306a36Sopenharmony_ci from this register return zero */ 115862306a36Sopenharmony_ci#define MISC_REG_AEU_CLR_LATCH_SIGNAL 0xa45c 115962306a36Sopenharmony_ci/* [RW 32] first 32b for enabling the output for function 0 output0. mapped 116062306a36Sopenharmony_ci as follows: [0] NIG attention for function0; [1] NIG attention for 116162306a36Sopenharmony_ci function1; [2] GPIO1 function 0; [3] GPIO2 function 0; [4] GPIO3 function 116262306a36Sopenharmony_ci 0; [5] GPIO4 function 0; [6] GPIO1 function 1; [7] GPIO2 function 1; [8] 116362306a36Sopenharmony_ci GPIO3 function 1; [9] GPIO4 function 1; [10] PCIE glue/PXP VPD event 116462306a36Sopenharmony_ci function0; [11] PCIE glue/PXP VPD event function1; [12] PCIE glue/PXP 116562306a36Sopenharmony_ci Expansion ROM event0; [13] PCIE glue/PXP Expansion ROM event1; [14] 116662306a36Sopenharmony_ci SPIO4; [15] SPIO5; [16] MSI/X indication for function 0; [17] MSI/X 116762306a36Sopenharmony_ci indication for function 1; [18] BRB Parity error; [19] BRB Hw interrupt; 116862306a36Sopenharmony_ci [20] PRS Parity error; [21] PRS Hw interrupt; [22] SRC Parity error; [23] 116962306a36Sopenharmony_ci SRC Hw interrupt; [24] TSDM Parity error; [25] TSDM Hw interrupt; [26] 117062306a36Sopenharmony_ci TCM Parity error; [27] TCM Hw interrupt; [28] TSEMI Parity error; [29] 117162306a36Sopenharmony_ci TSEMI Hw interrupt; [30] PBF Parity error; [31] PBF Hw interrupt; */ 117262306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_0 0xa06c 117362306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_1 0xa07c 117462306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_2 0xa08c 117562306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_3 0xa09c 117662306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_5 0xa0bc 117762306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_6 0xa0cc 117862306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_7 0xa0dc 117962306a36Sopenharmony_ci/* [RW 32] first 32b for enabling the output for function 1 output0. mapped 118062306a36Sopenharmony_ci as follows: [0] NIG attention for function0; [1] NIG attention for 118162306a36Sopenharmony_ci function1; [2] GPIO1 function 1; [3] GPIO2 function 1; [4] GPIO3 function 118262306a36Sopenharmony_ci 1; [5] GPIO4 function 1; [6] GPIO1 function 1; [7] GPIO2 function 1; [8] 118362306a36Sopenharmony_ci GPIO3 function 1; [9] GPIO4 function 1; [10] PCIE glue/PXP VPD event 118462306a36Sopenharmony_ci function0; [11] PCIE glue/PXP VPD event function1; [12] PCIE glue/PXP 118562306a36Sopenharmony_ci Expansion ROM event0; [13] PCIE glue/PXP Expansion ROM event1; [14] 118662306a36Sopenharmony_ci SPIO4; [15] SPIO5; [16] MSI/X indication for function 1; [17] MSI/X 118762306a36Sopenharmony_ci indication for function 1; [18] BRB Parity error; [19] BRB Hw interrupt; 118862306a36Sopenharmony_ci [20] PRS Parity error; [21] PRS Hw interrupt; [22] SRC Parity error; [23] 118962306a36Sopenharmony_ci SRC Hw interrupt; [24] TSDM Parity error; [25] TSDM Hw interrupt; [26] 119062306a36Sopenharmony_ci TCM Parity error; [27] TCM Hw interrupt; [28] TSEMI Parity error; [29] 119162306a36Sopenharmony_ci TSEMI Hw interrupt; [30] PBF Parity error; [31] PBF Hw interrupt; */ 119262306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_0 0xa10c 119362306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_1 0xa11c 119462306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_2 0xa12c 119562306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_3 0xa13c 119662306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_5 0xa15c 119762306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_6 0xa16c 119862306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_7 0xa17c 119962306a36Sopenharmony_ci/* [RW 32] first 32b for enabling the output for close the gate nig. mapped 120062306a36Sopenharmony_ci as follows: [0] NIG attention for function0; [1] NIG attention for 120162306a36Sopenharmony_ci function1; [2] GPIO1 function 0; [3] GPIO2 function 0; [4] GPIO3 function 120262306a36Sopenharmony_ci 0; [5] GPIO4 function 0; [6] GPIO1 function 1; [7] GPIO2 function 1; [8] 120362306a36Sopenharmony_ci GPIO3 function 1; [9] GPIO4 function 1; [10] PCIE glue/PXP VPD event 120462306a36Sopenharmony_ci function0; [11] PCIE glue/PXP VPD event function1; [12] PCIE glue/PXP 120562306a36Sopenharmony_ci Expansion ROM event0; [13] PCIE glue/PXP Expansion ROM event1; [14] 120662306a36Sopenharmony_ci SPIO4; [15] SPIO5; [16] MSI/X indication for function 0; [17] MSI/X 120762306a36Sopenharmony_ci indication for function 1; [18] BRB Parity error; [19] BRB Hw interrupt; 120862306a36Sopenharmony_ci [20] PRS Parity error; [21] PRS Hw interrupt; [22] SRC Parity error; [23] 120962306a36Sopenharmony_ci SRC Hw interrupt; [24] TSDM Parity error; [25] TSDM Hw interrupt; [26] 121062306a36Sopenharmony_ci TCM Parity error; [27] TCM Hw interrupt; [28] TSEMI Parity error; [29] 121162306a36Sopenharmony_ci TSEMI Hw interrupt; [30] PBF Parity error; [31] PBF Hw interrupt; */ 121262306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_NIG_0 0xa0ec 121362306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_NIG_1 0xa18c 121462306a36Sopenharmony_ci/* [RW 32] first 32b for enabling the output for close the gate pxp. mapped 121562306a36Sopenharmony_ci as follows: [0] NIG attention for function0; [1] NIG attention for 121662306a36Sopenharmony_ci function1; [2] GPIO1 function 0; [3] GPIO2 function 0; [4] GPIO3 function 121762306a36Sopenharmony_ci 0; [5] GPIO4 function 0; [6] GPIO1 function 1; [7] GPIO2 function 1; [8] 121862306a36Sopenharmony_ci GPIO3 function 1; [9] GPIO4 function 1; [10] PCIE glue/PXP VPD event 121962306a36Sopenharmony_ci function0; [11] PCIE glue/PXP VPD event function1; [12] PCIE glue/PXP 122062306a36Sopenharmony_ci Expansion ROM event0; [13] PCIE glue/PXP Expansion ROM event1; [14] 122162306a36Sopenharmony_ci SPIO4; [15] SPIO5; [16] MSI/X indication for function 0; [17] MSI/X 122262306a36Sopenharmony_ci indication for function 1; [18] BRB Parity error; [19] BRB Hw interrupt; 122362306a36Sopenharmony_ci [20] PRS Parity error; [21] PRS Hw interrupt; [22] SRC Parity error; [23] 122462306a36Sopenharmony_ci SRC Hw interrupt; [24] TSDM Parity error; [25] TSDM Hw interrupt; [26] 122562306a36Sopenharmony_ci TCM Parity error; [27] TCM Hw interrupt; [28] TSEMI Parity error; [29] 122662306a36Sopenharmony_ci TSEMI Hw interrupt; [30] PBF Parity error; [31] PBF Hw interrupt; */ 122762306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_PXP_0 0xa0fc 122862306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE1_PXP_1 0xa19c 122962306a36Sopenharmony_ci/* [RW 32] second 32b for enabling the output for function 0 output0. mapped 123062306a36Sopenharmony_ci as follows: [0] PBClient Parity error; [1] PBClient Hw interrupt; [2] QM 123162306a36Sopenharmony_ci Parity error; [3] QM Hw interrupt; [4] Timers Parity error; [5] Timers Hw 123262306a36Sopenharmony_ci interrupt; [6] XSDM Parity error; [7] XSDM Hw interrupt; [8] XCM Parity 123362306a36Sopenharmony_ci error; [9] XCM Hw interrupt; [10] XSEMI Parity error; [11] XSEMI Hw 123462306a36Sopenharmony_ci interrupt; [12] DoorbellQ Parity error; [13] DoorbellQ Hw interrupt; [14] 123562306a36Sopenharmony_ci NIG Parity error; [15] NIG Hw interrupt; [16] Vaux PCI core Parity error; 123662306a36Sopenharmony_ci [17] Vaux PCI core Hw interrupt; [18] Debug Parity error; [19] Debug Hw 123762306a36Sopenharmony_ci interrupt; [20] USDM Parity error; [21] USDM Hw interrupt; [22] UCM 123862306a36Sopenharmony_ci Parity error; [23] UCM Hw interrupt; [24] USEMI Parity error; [25] USEMI 123962306a36Sopenharmony_ci Hw interrupt; [26] UPB Parity error; [27] UPB Hw interrupt; [28] CSDM 124062306a36Sopenharmony_ci Parity error; [29] CSDM Hw interrupt; [30] CCM Parity error; [31] CCM Hw 124162306a36Sopenharmony_ci interrupt; */ 124262306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE2_FUNC_0_OUT_0 0xa070 124362306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE2_FUNC_0_OUT_1 0xa080 124462306a36Sopenharmony_ci/* [RW 32] second 32b for enabling the output for function 1 output0. mapped 124562306a36Sopenharmony_ci as follows: [0] PBClient Parity error; [1] PBClient Hw interrupt; [2] QM 124662306a36Sopenharmony_ci Parity error; [3] QM Hw interrupt; [4] Timers Parity error; [5] Timers Hw 124762306a36Sopenharmony_ci interrupt; [6] XSDM Parity error; [7] XSDM Hw interrupt; [8] XCM Parity 124862306a36Sopenharmony_ci error; [9] XCM Hw interrupt; [10] XSEMI Parity error; [11] XSEMI Hw 124962306a36Sopenharmony_ci interrupt; [12] DoorbellQ Parity error; [13] DoorbellQ Hw interrupt; [14] 125062306a36Sopenharmony_ci NIG Parity error; [15] NIG Hw interrupt; [16] Vaux PCI core Parity error; 125162306a36Sopenharmony_ci [17] Vaux PCI core Hw interrupt; [18] Debug Parity error; [19] Debug Hw 125262306a36Sopenharmony_ci interrupt; [20] USDM Parity error; [21] USDM Hw interrupt; [22] UCM 125362306a36Sopenharmony_ci Parity error; [23] UCM Hw interrupt; [24] USEMI Parity error; [25] USEMI 125462306a36Sopenharmony_ci Hw interrupt; [26] UPB Parity error; [27] UPB Hw interrupt; [28] CSDM 125562306a36Sopenharmony_ci Parity error; [29] CSDM Hw interrupt; [30] CCM Parity error; [31] CCM Hw 125662306a36Sopenharmony_ci interrupt; */ 125762306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE2_FUNC_1_OUT_0 0xa110 125862306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE2_FUNC_1_OUT_1 0xa120 125962306a36Sopenharmony_ci/* [RW 32] second 32b for enabling the output for close the gate nig. mapped 126062306a36Sopenharmony_ci as follows: [0] PBClient Parity error; [1] PBClient Hw interrupt; [2] QM 126162306a36Sopenharmony_ci Parity error; [3] QM Hw interrupt; [4] Timers Parity error; [5] Timers Hw 126262306a36Sopenharmony_ci interrupt; [6] XSDM Parity error; [7] XSDM Hw interrupt; [8] XCM Parity 126362306a36Sopenharmony_ci error; [9] XCM Hw interrupt; [10] XSEMI Parity error; [11] XSEMI Hw 126462306a36Sopenharmony_ci interrupt; [12] DoorbellQ Parity error; [13] DoorbellQ Hw interrupt; [14] 126562306a36Sopenharmony_ci NIG Parity error; [15] NIG Hw interrupt; [16] Vaux PCI core Parity error; 126662306a36Sopenharmony_ci [17] Vaux PCI core Hw interrupt; [18] Debug Parity error; [19] Debug Hw 126762306a36Sopenharmony_ci interrupt; [20] USDM Parity error; [21] USDM Hw interrupt; [22] UCM 126862306a36Sopenharmony_ci Parity error; [23] UCM Hw interrupt; [24] USEMI Parity error; [25] USEMI 126962306a36Sopenharmony_ci Hw interrupt; [26] UPB Parity error; [27] UPB Hw interrupt; [28] CSDM 127062306a36Sopenharmony_ci Parity error; [29] CSDM Hw interrupt; [30] CCM Parity error; [31] CCM Hw 127162306a36Sopenharmony_ci interrupt; */ 127262306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE2_NIG_0 0xa0f0 127362306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE2_NIG_1 0xa190 127462306a36Sopenharmony_ci/* [RW 32] second 32b for enabling the output for close the gate pxp. mapped 127562306a36Sopenharmony_ci as follows: [0] PBClient Parity error; [1] PBClient Hw interrupt; [2] QM 127662306a36Sopenharmony_ci Parity error; [3] QM Hw interrupt; [4] Timers Parity error; [5] Timers Hw 127762306a36Sopenharmony_ci interrupt; [6] XSDM Parity error; [7] XSDM Hw interrupt; [8] XCM Parity 127862306a36Sopenharmony_ci error; [9] XCM Hw interrupt; [10] XSEMI Parity error; [11] XSEMI Hw 127962306a36Sopenharmony_ci interrupt; [12] DoorbellQ Parity error; [13] DoorbellQ Hw interrupt; [14] 128062306a36Sopenharmony_ci NIG Parity error; [15] NIG Hw interrupt; [16] Vaux PCI core Parity error; 128162306a36Sopenharmony_ci [17] Vaux PCI core Hw interrupt; [18] Debug Parity error; [19] Debug Hw 128262306a36Sopenharmony_ci interrupt; [20] USDM Parity error; [21] USDM Hw interrupt; [22] UCM 128362306a36Sopenharmony_ci Parity error; [23] UCM Hw interrupt; [24] USEMI Parity error; [25] USEMI 128462306a36Sopenharmony_ci Hw interrupt; [26] UPB Parity error; [27] UPB Hw interrupt; [28] CSDM 128562306a36Sopenharmony_ci Parity error; [29] CSDM Hw interrupt; [30] CCM Parity error; [31] CCM Hw 128662306a36Sopenharmony_ci interrupt; */ 128762306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE2_PXP_0 0xa100 128862306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE2_PXP_1 0xa1a0 128962306a36Sopenharmony_ci/* [RW 32] third 32b for enabling the output for function 0 output0. mapped 129062306a36Sopenharmony_ci as follows: [0] CSEMI Parity error; [1] CSEMI Hw interrupt; [2] PXP 129162306a36Sopenharmony_ci Parity error; [3] PXP Hw interrupt; [4] PXPpciClockClient Parity error; 129262306a36Sopenharmony_ci [5] PXPpciClockClient Hw interrupt; [6] CFC Parity error; [7] CFC Hw 129362306a36Sopenharmony_ci interrupt; [8] CDU Parity error; [9] CDU Hw interrupt; [10] DMAE Parity 129462306a36Sopenharmony_ci error; [11] DMAE Hw interrupt; [12] IGU (HC) Parity error; [13] IGU (HC) 129562306a36Sopenharmony_ci Hw interrupt; [14] MISC Parity error; [15] MISC Hw interrupt; [16] 129662306a36Sopenharmony_ci pxp_misc_mps_attn; [17] Flash event; [18] SMB event; [19] MCP attn0; [20] 129762306a36Sopenharmony_ci MCP attn1; [21] SW timers attn_1 func0; [22] SW timers attn_2 func0; [23] 129862306a36Sopenharmony_ci SW timers attn_3 func0; [24] SW timers attn_4 func0; [25] PERST; [26] SW 129962306a36Sopenharmony_ci timers attn_1 func1; [27] SW timers attn_2 func1; [28] SW timers attn_3 130062306a36Sopenharmony_ci func1; [29] SW timers attn_4 func1; [30] General attn0; [31] General 130162306a36Sopenharmony_ci attn1; */ 130262306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE3_FUNC_0_OUT_0 0xa074 130362306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE3_FUNC_0_OUT_1 0xa084 130462306a36Sopenharmony_ci/* [RW 32] third 32b for enabling the output for function 1 output0. mapped 130562306a36Sopenharmony_ci as follows: [0] CSEMI Parity error; [1] CSEMI Hw interrupt; [2] PXP 130662306a36Sopenharmony_ci Parity error; [3] PXP Hw interrupt; [4] PXPpciClockClient Parity error; 130762306a36Sopenharmony_ci [5] PXPpciClockClient Hw interrupt; [6] CFC Parity error; [7] CFC Hw 130862306a36Sopenharmony_ci interrupt; [8] CDU Parity error; [9] CDU Hw interrupt; [10] DMAE Parity 130962306a36Sopenharmony_ci error; [11] DMAE Hw interrupt; [12] IGU (HC) Parity error; [13] IGU (HC) 131062306a36Sopenharmony_ci Hw interrupt; [14] MISC Parity error; [15] MISC Hw interrupt; [16] 131162306a36Sopenharmony_ci pxp_misc_mps_attn; [17] Flash event; [18] SMB event; [19] MCP attn0; [20] 131262306a36Sopenharmony_ci MCP attn1; [21] SW timers attn_1 func0; [22] SW timers attn_2 func0; [23] 131362306a36Sopenharmony_ci SW timers attn_3 func0; [24] SW timers attn_4 func0; [25] PERST; [26] SW 131462306a36Sopenharmony_ci timers attn_1 func1; [27] SW timers attn_2 func1; [28] SW timers attn_3 131562306a36Sopenharmony_ci func1; [29] SW timers attn_4 func1; [30] General attn0; [31] General 131662306a36Sopenharmony_ci attn1; */ 131762306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE3_FUNC_1_OUT_0 0xa114 131862306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE3_FUNC_1_OUT_1 0xa124 131962306a36Sopenharmony_ci/* [RW 32] third 32b for enabling the output for close the gate nig. mapped 132062306a36Sopenharmony_ci as follows: [0] CSEMI Parity error; [1] CSEMI Hw interrupt; [2] PXP 132162306a36Sopenharmony_ci Parity error; [3] PXP Hw interrupt; [4] PXPpciClockClient Parity error; 132262306a36Sopenharmony_ci [5] PXPpciClockClient Hw interrupt; [6] CFC Parity error; [7] CFC Hw 132362306a36Sopenharmony_ci interrupt; [8] CDU Parity error; [9] CDU Hw interrupt; [10] DMAE Parity 132462306a36Sopenharmony_ci error; [11] DMAE Hw interrupt; [12] IGU (HC) Parity error; [13] IGU (HC) 132562306a36Sopenharmony_ci Hw interrupt; [14] MISC Parity error; [15] MISC Hw interrupt; [16] 132662306a36Sopenharmony_ci pxp_misc_mps_attn; [17] Flash event; [18] SMB event; [19] MCP attn0; [20] 132762306a36Sopenharmony_ci MCP attn1; [21] SW timers attn_1 func0; [22] SW timers attn_2 func0; [23] 132862306a36Sopenharmony_ci SW timers attn_3 func0; [24] SW timers attn_4 func0; [25] PERST; [26] SW 132962306a36Sopenharmony_ci timers attn_1 func1; [27] SW timers attn_2 func1; [28] SW timers attn_3 133062306a36Sopenharmony_ci func1; [29] SW timers attn_4 func1; [30] General attn0; [31] General 133162306a36Sopenharmony_ci attn1; */ 133262306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE3_NIG_0 0xa0f4 133362306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE3_NIG_1 0xa194 133462306a36Sopenharmony_ci/* [RW 32] third 32b for enabling the output for close the gate pxp. mapped 133562306a36Sopenharmony_ci as follows: [0] CSEMI Parity error; [1] CSEMI Hw interrupt; [2] PXP 133662306a36Sopenharmony_ci Parity error; [3] PXP Hw interrupt; [4] PXPpciClockClient Parity error; 133762306a36Sopenharmony_ci [5] PXPpciClockClient Hw interrupt; [6] CFC Parity error; [7] CFC Hw 133862306a36Sopenharmony_ci interrupt; [8] CDU Parity error; [9] CDU Hw interrupt; [10] DMAE Parity 133962306a36Sopenharmony_ci error; [11] DMAE Hw interrupt; [12] IGU (HC) Parity error; [13] IGU (HC) 134062306a36Sopenharmony_ci Hw interrupt; [14] MISC Parity error; [15] MISC Hw interrupt; [16] 134162306a36Sopenharmony_ci pxp_misc_mps_attn; [17] Flash event; [18] SMB event; [19] MCP attn0; [20] 134262306a36Sopenharmony_ci MCP attn1; [21] SW timers attn_1 func0; [22] SW timers attn_2 func0; [23] 134362306a36Sopenharmony_ci SW timers attn_3 func0; [24] SW timers attn_4 func0; [25] PERST; [26] SW 134462306a36Sopenharmony_ci timers attn_1 func1; [27] SW timers attn_2 func1; [28] SW timers attn_3 134562306a36Sopenharmony_ci func1; [29] SW timers attn_4 func1; [30] General attn0; [31] General 134662306a36Sopenharmony_ci attn1; */ 134762306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE3_PXP_0 0xa104 134862306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE3_PXP_1 0xa1a4 134962306a36Sopenharmony_ci/* [RW 32] fourth 32b for enabling the output for function 0 output0.mapped 135062306a36Sopenharmony_ci as follows: [0] General attn2; [1] General attn3; [2] General attn4; [3] 135162306a36Sopenharmony_ci General attn5; [4] General attn6; [5] General attn7; [6] General attn8; 135262306a36Sopenharmony_ci [7] General attn9; [8] General attn10; [9] General attn11; [10] General 135362306a36Sopenharmony_ci attn12; [11] General attn13; [12] General attn14; [13] General attn15; 135462306a36Sopenharmony_ci [14] General attn16; [15] General attn17; [16] General attn18; [17] 135562306a36Sopenharmony_ci General attn19; [18] General attn20; [19] General attn21; [20] Main power 135662306a36Sopenharmony_ci interrupt; [21] RBCR Latched attn; [22] RBCT Latched attn; [23] RBCN 135762306a36Sopenharmony_ci Latched attn; [24] RBCU Latched attn; [25] RBCP Latched attn; [26] GRC 135862306a36Sopenharmony_ci Latched timeout attention; [27] GRC Latched reserved access attention; 135962306a36Sopenharmony_ci [28] MCP Latched rom_parity; [29] MCP Latched ump_rx_parity; [30] MCP 136062306a36Sopenharmony_ci Latched ump_tx_parity; [31] MCP Latched scpad_parity; */ 136162306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_0 0xa078 136262306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_2 0xa098 136362306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_4 0xa0b8 136462306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_5 0xa0c8 136562306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_6 0xa0d8 136662306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_7 0xa0e8 136762306a36Sopenharmony_ci/* [RW 32] fourth 32b for enabling the output for function 1 output0.mapped 136862306a36Sopenharmony_ci as follows: [0] General attn2; [1] General attn3; [2] General attn4; [3] 136962306a36Sopenharmony_ci General attn5; [4] General attn6; [5] General attn7; [6] General attn8; 137062306a36Sopenharmony_ci [7] General attn9; [8] General attn10; [9] General attn11; [10] General 137162306a36Sopenharmony_ci attn12; [11] General attn13; [12] General attn14; [13] General attn15; 137262306a36Sopenharmony_ci [14] General attn16; [15] General attn17; [16] General attn18; [17] 137362306a36Sopenharmony_ci General attn19; [18] General attn20; [19] General attn21; [20] Main power 137462306a36Sopenharmony_ci interrupt; [21] RBCR Latched attn; [22] RBCT Latched attn; [23] RBCN 137562306a36Sopenharmony_ci Latched attn; [24] RBCU Latched attn; [25] RBCP Latched attn; [26] GRC 137662306a36Sopenharmony_ci Latched timeout attention; [27] GRC Latched reserved access attention; 137762306a36Sopenharmony_ci [28] MCP Latched rom_parity; [29] MCP Latched ump_rx_parity; [30] MCP 137862306a36Sopenharmony_ci Latched ump_tx_parity; [31] MCP Latched scpad_parity; */ 137962306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_0 0xa118 138062306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_2 0xa138 138162306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_4 0xa158 138262306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_5 0xa168 138362306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_6 0xa178 138462306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_7 0xa188 138562306a36Sopenharmony_ci/* [RW 32] fourth 32b for enabling the output for close the gate nig.mapped 138662306a36Sopenharmony_ci as follows: [0] General attn2; [1] General attn3; [2] General attn4; [3] 138762306a36Sopenharmony_ci General attn5; [4] General attn6; [5] General attn7; [6] General attn8; 138862306a36Sopenharmony_ci [7] General attn9; [8] General attn10; [9] General attn11; [10] General 138962306a36Sopenharmony_ci attn12; [11] General attn13; [12] General attn14; [13] General attn15; 139062306a36Sopenharmony_ci [14] General attn16; [15] General attn17; [16] General attn18; [17] 139162306a36Sopenharmony_ci General attn19; [18] General attn20; [19] General attn21; [20] Main power 139262306a36Sopenharmony_ci interrupt; [21] RBCR Latched attn; [22] RBCT Latched attn; [23] RBCN 139362306a36Sopenharmony_ci Latched attn; [24] RBCU Latched attn; [25] RBCP Latched attn; [26] GRC 139462306a36Sopenharmony_ci Latched timeout attention; [27] GRC Latched reserved access attention; 139562306a36Sopenharmony_ci [28] MCP Latched rom_parity; [29] MCP Latched ump_rx_parity; [30] MCP 139662306a36Sopenharmony_ci Latched ump_tx_parity; [31] MCP Latched scpad_parity; */ 139762306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE4_NIG_0 0xa0f8 139862306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE4_NIG_1 0xa198 139962306a36Sopenharmony_ci/* [RW 32] fourth 32b for enabling the output for close the gate pxp.mapped 140062306a36Sopenharmony_ci as follows: [0] General attn2; [1] General attn3; [2] General attn4; [3] 140162306a36Sopenharmony_ci General attn5; [4] General attn6; [5] General attn7; [6] General attn8; 140262306a36Sopenharmony_ci [7] General attn9; [8] General attn10; [9] General attn11; [10] General 140362306a36Sopenharmony_ci attn12; [11] General attn13; [12] General attn14; [13] General attn15; 140462306a36Sopenharmony_ci [14] General attn16; [15] General attn17; [16] General attn18; [17] 140562306a36Sopenharmony_ci General attn19; [18] General attn20; [19] General attn21; [20] Main power 140662306a36Sopenharmony_ci interrupt; [21] RBCR Latched attn; [22] RBCT Latched attn; [23] RBCN 140762306a36Sopenharmony_ci Latched attn; [24] RBCU Latched attn; [25] RBCP Latched attn; [26] GRC 140862306a36Sopenharmony_ci Latched timeout attention; [27] GRC Latched reserved access attention; 140962306a36Sopenharmony_ci [28] MCP Latched rom_parity; [29] MCP Latched ump_rx_parity; [30] MCP 141062306a36Sopenharmony_ci Latched ump_tx_parity; [31] MCP Latched scpad_parity; */ 141162306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE4_PXP_0 0xa108 141262306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE4_PXP_1 0xa1a8 141362306a36Sopenharmony_ci/* [RW 32] fifth 32b for enabling the output for function 0 output0. Mapped 141462306a36Sopenharmony_ci * as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC 141562306a36Sopenharmony_ci * attention [3] PGLUE B RBC parity; [4] ATC attention; [5] ATC parity; [6] 141662306a36Sopenharmony_ci * mstat0 attention; [7] mstat0 parity; [8] mstat1 attention; [9] mstat1 141762306a36Sopenharmony_ci * parity; [31-10] Reserved; */ 141862306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE5_FUNC_0_OUT_0 0xa688 141962306a36Sopenharmony_ci/* [RW 32] Fifth 32b for enabling the output for function 1 output0. Mapped 142062306a36Sopenharmony_ci * as follows: [0] PGLUE config_space; [1] PGLUE misc_flr; [2] PGLUE B RBC 142162306a36Sopenharmony_ci * attention [3] PGLUE B RBC parity; [4] ATC attention; [5] ATC parity; [6] 142262306a36Sopenharmony_ci * mstat0 attention; [7] mstat0 parity; [8] mstat1 attention; [9] mstat1 142362306a36Sopenharmony_ci * parity; [31-10] Reserved; */ 142462306a36Sopenharmony_ci#define MISC_REG_AEU_ENABLE5_FUNC_1_OUT_0 0xa6b0 142562306a36Sopenharmony_ci/* [RW 1] set/clr general attention 0; this will set/clr bit 94 in the aeu 142662306a36Sopenharmony_ci 128 bit vector */ 142762306a36Sopenharmony_ci#define MISC_REG_AEU_GENERAL_ATTN_0 0xa000 142862306a36Sopenharmony_ci#define MISC_REG_AEU_GENERAL_ATTN_1 0xa004 142962306a36Sopenharmony_ci#define MISC_REG_AEU_GENERAL_ATTN_10 0xa028 143062306a36Sopenharmony_ci#define MISC_REG_AEU_GENERAL_ATTN_11 0xa02c 143162306a36Sopenharmony_ci#define MISC_REG_AEU_GENERAL_ATTN_12 0xa030 143262306a36Sopenharmony_ci#define MISC_REG_AEU_GENERAL_ATTN_2 0xa008 143362306a36Sopenharmony_ci#define MISC_REG_AEU_GENERAL_ATTN_3 0xa00c 143462306a36Sopenharmony_ci#define MISC_REG_AEU_GENERAL_ATTN_4 0xa010 143562306a36Sopenharmony_ci#define MISC_REG_AEU_GENERAL_ATTN_5 0xa014 143662306a36Sopenharmony_ci#define MISC_REG_AEU_GENERAL_ATTN_6 0xa018 143762306a36Sopenharmony_ci#define MISC_REG_AEU_GENERAL_ATTN_7 0xa01c 143862306a36Sopenharmony_ci#define MISC_REG_AEU_GENERAL_ATTN_8 0xa020 143962306a36Sopenharmony_ci#define MISC_REG_AEU_GENERAL_ATTN_9 0xa024 144062306a36Sopenharmony_ci#define MISC_REG_AEU_GENERAL_MASK 0xa61c 144162306a36Sopenharmony_ci/* [RW 32] first 32b for inverting the input for function 0; for each bit: 144262306a36Sopenharmony_ci 0= do not invert; 1= invert; mapped as follows: [0] NIG attention for 144362306a36Sopenharmony_ci function0; [1] NIG attention for function1; [2] GPIO1 mcp; [3] GPIO2 mcp; 144462306a36Sopenharmony_ci [4] GPIO3 mcp; [5] GPIO4 mcp; [6] GPIO1 function 1; [7] GPIO2 function 1; 144562306a36Sopenharmony_ci [8] GPIO3 function 1; [9] GPIO4 function 1; [10] PCIE glue/PXP VPD event 144662306a36Sopenharmony_ci function0; [11] PCIE glue/PXP VPD event function1; [12] PCIE glue/PXP 144762306a36Sopenharmony_ci Expansion ROM event0; [13] PCIE glue/PXP Expansion ROM event1; [14] 144862306a36Sopenharmony_ci SPIO4; [15] SPIO5; [16] MSI/X indication for mcp; [17] MSI/X indication 144962306a36Sopenharmony_ci for function 1; [18] BRB Parity error; [19] BRB Hw interrupt; [20] PRS 145062306a36Sopenharmony_ci Parity error; [21] PRS Hw interrupt; [22] SRC Parity error; [23] SRC Hw 145162306a36Sopenharmony_ci interrupt; [24] TSDM Parity error; [25] TSDM Hw interrupt; [26] TCM 145262306a36Sopenharmony_ci Parity error; [27] TCM Hw interrupt; [28] TSEMI Parity error; [29] TSEMI 145362306a36Sopenharmony_ci Hw interrupt; [30] PBF Parity error; [31] PBF Hw interrupt; */ 145462306a36Sopenharmony_ci#define MISC_REG_AEU_INVERTER_1_FUNC_0 0xa22c 145562306a36Sopenharmony_ci#define MISC_REG_AEU_INVERTER_1_FUNC_1 0xa23c 145662306a36Sopenharmony_ci/* [RW 32] second 32b for inverting the input for function 0; for each bit: 145762306a36Sopenharmony_ci 0= do not invert; 1= invert. mapped as follows: [0] PBClient Parity 145862306a36Sopenharmony_ci error; [1] PBClient Hw interrupt; [2] QM Parity error; [3] QM Hw 145962306a36Sopenharmony_ci interrupt; [4] Timers Parity error; [5] Timers Hw interrupt; [6] XSDM 146062306a36Sopenharmony_ci Parity error; [7] XSDM Hw interrupt; [8] XCM Parity error; [9] XCM Hw 146162306a36Sopenharmony_ci interrupt; [10] XSEMI Parity error; [11] XSEMI Hw interrupt; [12] 146262306a36Sopenharmony_ci DoorbellQ Parity error; [13] DoorbellQ Hw interrupt; [14] NIG Parity 146362306a36Sopenharmony_ci error; [15] NIG Hw interrupt; [16] Vaux PCI core Parity error; [17] Vaux 146462306a36Sopenharmony_ci PCI core Hw interrupt; [18] Debug Parity error; [19] Debug Hw interrupt; 146562306a36Sopenharmony_ci [20] USDM Parity error; [21] USDM Hw interrupt; [22] UCM Parity error; 146662306a36Sopenharmony_ci [23] UCM Hw interrupt; [24] USEMI Parity error; [25] USEMI Hw interrupt; 146762306a36Sopenharmony_ci [26] UPB Parity error; [27] UPB Hw interrupt; [28] CSDM Parity error; 146862306a36Sopenharmony_ci [29] CSDM Hw interrupt; [30] CCM Parity error; [31] CCM Hw interrupt; */ 146962306a36Sopenharmony_ci#define MISC_REG_AEU_INVERTER_2_FUNC_0 0xa230 147062306a36Sopenharmony_ci#define MISC_REG_AEU_INVERTER_2_FUNC_1 0xa240 147162306a36Sopenharmony_ci/* [RW 10] [7:0] = mask 8 attention output signals toward IGU function0; 147262306a36Sopenharmony_ci [9:8] = raserved. Zero = mask; one = unmask */ 147362306a36Sopenharmony_ci#define MISC_REG_AEU_MASK_ATTN_FUNC_0 0xa060 147462306a36Sopenharmony_ci#define MISC_REG_AEU_MASK_ATTN_FUNC_1 0xa064 147562306a36Sopenharmony_ci/* [RW 1] If set a system kill occurred */ 147662306a36Sopenharmony_ci#define MISC_REG_AEU_SYS_KILL_OCCURRED 0xa610 147762306a36Sopenharmony_ci/* [RW 32] Represent the status of the input vector to the AEU when a system 147862306a36Sopenharmony_ci kill occurred. The register is reset in por reset. Mapped as follows: [0] 147962306a36Sopenharmony_ci NIG attention for function0; [1] NIG attention for function1; [2] GPIO1 148062306a36Sopenharmony_ci mcp; [3] GPIO2 mcp; [4] GPIO3 mcp; [5] GPIO4 mcp; [6] GPIO1 function 1; 148162306a36Sopenharmony_ci [7] GPIO2 function 1; [8] GPIO3 function 1; [9] GPIO4 function 1; [10] 148262306a36Sopenharmony_ci PCIE glue/PXP VPD event function0; [11] PCIE glue/PXP VPD event 148362306a36Sopenharmony_ci function1; [12] PCIE glue/PXP Expansion ROM event0; [13] PCIE glue/PXP 148462306a36Sopenharmony_ci Expansion ROM event1; [14] SPIO4; [15] SPIO5; [16] MSI/X indication for 148562306a36Sopenharmony_ci mcp; [17] MSI/X indication for function 1; [18] BRB Parity error; [19] 148662306a36Sopenharmony_ci BRB Hw interrupt; [20] PRS Parity error; [21] PRS Hw interrupt; [22] SRC 148762306a36Sopenharmony_ci Parity error; [23] SRC Hw interrupt; [24] TSDM Parity error; [25] TSDM Hw 148862306a36Sopenharmony_ci interrupt; [26] TCM Parity error; [27] TCM Hw interrupt; [28] TSEMI 148962306a36Sopenharmony_ci Parity error; [29] TSEMI Hw interrupt; [30] PBF Parity error; [31] PBF Hw 149062306a36Sopenharmony_ci interrupt; */ 149162306a36Sopenharmony_ci#define MISC_REG_AEU_SYS_KILL_STATUS_0 0xa600 149262306a36Sopenharmony_ci#define MISC_REG_AEU_SYS_KILL_STATUS_1 0xa604 149362306a36Sopenharmony_ci#define MISC_REG_AEU_SYS_KILL_STATUS_2 0xa608 149462306a36Sopenharmony_ci#define MISC_REG_AEU_SYS_KILL_STATUS_3 0xa60c 149562306a36Sopenharmony_ci/* [R 4] This field indicates the type of the device. '0' - 2 Ports; '1' - 1 149662306a36Sopenharmony_ci Port. */ 149762306a36Sopenharmony_ci#define MISC_REG_BOND_ID 0xa400 149862306a36Sopenharmony_ci/* [R 16] These bits indicate the part number for the chip. */ 149962306a36Sopenharmony_ci#define MISC_REG_CHIP_NUM 0xa408 150062306a36Sopenharmony_ci/* [R 4] These bits indicate the base revision of the chip. This value 150162306a36Sopenharmony_ci starts at 0x0 for the A0 tape-out and increments by one for each 150262306a36Sopenharmony_ci all-layer tape-out. */ 150362306a36Sopenharmony_ci#define MISC_REG_CHIP_REV 0xa40c 150462306a36Sopenharmony_ci/* [R 14] otp_misc_do[100:0] spare bits collection: 13:11- 150562306a36Sopenharmony_ci * otp_misc_do[100:98]; 10:7 - otp_misc_do[87:84]; 6:3 - otp_misc_do[75:72]; 150662306a36Sopenharmony_ci * 2:1 - otp_misc_do[51:50]; 0 - otp_misc_do[1]. */ 150762306a36Sopenharmony_ci#define MISC_REG_CHIP_TYPE 0xac60 150862306a36Sopenharmony_ci#define MISC_REG_CHIP_TYPE_57811_MASK (1<<1) 150962306a36Sopenharmony_ci#define MISC_REG_CPMU_LP_DR_ENABLE 0xa858 151062306a36Sopenharmony_ci/* [RW 1] FW EEE LPI Enable. When 1 indicates that EEE LPI mode is enabled 151162306a36Sopenharmony_ci * by FW. When 0 indicates that the EEE LPI mode is disabled by FW. Clk 151262306a36Sopenharmony_ci * 25MHz. Reset on hard reset. */ 151362306a36Sopenharmony_ci#define MISC_REG_CPMU_LP_FW_ENABLE_P0 0xa84c 151462306a36Sopenharmony_ci/* [RW 32] EEE LPI Idle Threshold. The threshold value for the idle EEE LPI 151562306a36Sopenharmony_ci * counter. Timer tick is 1 us. Clock 25MHz. Reset on hard reset. */ 151662306a36Sopenharmony_ci#define MISC_REG_CPMU_LP_IDLE_THR_P0 0xa8a0 151762306a36Sopenharmony_ci/* [RW 18] LPI entry events mask. [0] - Vmain SM Mask. When 1 indicates that 151862306a36Sopenharmony_ci * the Vmain SM end state is disabled. When 0 indicates that the Vmain SM 151962306a36Sopenharmony_ci * end state is enabled. [1] - FW Queues Empty Mask. When 1 indicates that 152062306a36Sopenharmony_ci * the FW command that all Queues are empty is disabled. When 0 indicates 152162306a36Sopenharmony_ci * that the FW command that all Queues are empty is enabled. [2] - FW Early 152262306a36Sopenharmony_ci * Exit Mask / Reserved (Entry mask). When 1 indicates that the FW Early 152362306a36Sopenharmony_ci * Exit command is disabled. When 0 indicates that the FW Early Exit command 152462306a36Sopenharmony_ci * is enabled. This bit applicable only in the EXIT Events Mask registers. 152562306a36Sopenharmony_ci * [3] - PBF Request Mask. When 1 indicates that the PBF Request indication 152662306a36Sopenharmony_ci * is disabled. When 0 indicates that the PBF Request indication is enabled. 152762306a36Sopenharmony_ci * [4] - Tx Request Mask. When =1 indicates that the Tx other Than PBF 152862306a36Sopenharmony_ci * Request indication is disabled. When 0 indicates that the Tx Other Than 152962306a36Sopenharmony_ci * PBF Request indication is enabled. [5] - Rx EEE LPI Status Mask. When 1 153062306a36Sopenharmony_ci * indicates that the RX EEE LPI Status indication is disabled. When 0 153162306a36Sopenharmony_ci * indicates that the RX EEE LPI Status indication is enabled. In the EXIT 153262306a36Sopenharmony_ci * Events Masks registers; this bit masks the falling edge detect of the LPI 153362306a36Sopenharmony_ci * Status (Rx LPI is on - off). [6] - Tx Pause Mask. When 1 indicates that 153462306a36Sopenharmony_ci * the Tx Pause indication is disabled. When 0 indicates that the Tx Pause 153562306a36Sopenharmony_ci * indication is enabled. [7] - BRB1 Empty Mask. When 1 indicates that the 153662306a36Sopenharmony_ci * BRB1 EMPTY indication is disabled. When 0 indicates that the BRB1 EMPTY 153762306a36Sopenharmony_ci * indication is enabled. [8] - QM Idle Mask. When 1 indicates that the QM 153862306a36Sopenharmony_ci * IDLE indication is disabled. When 0 indicates that the QM IDLE indication 153962306a36Sopenharmony_ci * is enabled. (One bit for both VOQ0 and VOQ1). [9] - QM LB Idle Mask. When 154062306a36Sopenharmony_ci * 1 indicates that the QM IDLE indication for LOOPBACK is disabled. When 0 154162306a36Sopenharmony_ci * indicates that the QM IDLE indication for LOOPBACK is enabled. [10] - L1 154262306a36Sopenharmony_ci * Status Mask. When 1 indicates that the L1 Status indication from the PCIE 154362306a36Sopenharmony_ci * CORE is disabled. When 0 indicates that the RX EEE LPI Status indication 154462306a36Sopenharmony_ci * from the PCIE CORE is enabled. In the EXIT Events Masks registers; this 154562306a36Sopenharmony_ci * bit masks the falling edge detect of the L1 status (L1 is on - off). [11] 154662306a36Sopenharmony_ci * - P0 E0 EEE EEE LPI REQ Mask. When =1 indicates that the P0 E0 EEE EEE 154762306a36Sopenharmony_ci * LPI REQ indication is disabled. When =0 indicates that the P0 E0 EEE LPI 154862306a36Sopenharmony_ci * REQ indication is enabled. [12] - P1 E0 EEE LPI REQ Mask. When =1 154962306a36Sopenharmony_ci * indicates that the P0 EEE LPI REQ indication is disabled. When =0 155062306a36Sopenharmony_ci * indicates that the P0 EEE LPI REQ indication is enabled. [13] - P0 E1 EEE 155162306a36Sopenharmony_ci * LPI REQ Mask. When =1 indicates that the P0 EEE LPI REQ indication is 155262306a36Sopenharmony_ci * disabled. When =0 indicates that the P0 EEE LPI REQ indication is 155362306a36Sopenharmony_ci * enabled. [14] - P1 E1 EEE LPI REQ Mask. When =1 indicates that the P0 EEE 155462306a36Sopenharmony_ci * LPI REQ indication is disabled. When =0 indicates that the P0 EEE LPI REQ 155562306a36Sopenharmony_ci * indication is enabled. [15] - L1 REQ Mask. When =1 indicates that the L1 155662306a36Sopenharmony_ci * REQ indication is disabled. When =0 indicates that the L1 indication is 155762306a36Sopenharmony_ci * enabled. [16] - Rx EEE LPI Status Edge Detect Mask. When =1 indicates 155862306a36Sopenharmony_ci * that the RX EEE LPI Status Falling Edge Detect indication is disabled (Rx 155962306a36Sopenharmony_ci * EEE LPI is on - off). When =0 indicates that the RX EEE LPI Status 156062306a36Sopenharmony_ci * Falling Edge Detec indication is enabled (Rx EEE LPI is on - off). This 156162306a36Sopenharmony_ci * bit is applicable only in the EXIT Events Masks registers. [17] - L1 156262306a36Sopenharmony_ci * Status Edge Detect Mask. When =1 indicates that the L1 Status Falling 156362306a36Sopenharmony_ci * Edge Detect indication from the PCIE CORE is disabled (L1 is on - off). 156462306a36Sopenharmony_ci * When =0 indicates that the L1 Status Falling Edge Detect indication from 156562306a36Sopenharmony_ci * the PCIE CORE is enabled (L1 is on - off). This bit is applicable only in 156662306a36Sopenharmony_ci * the EXIT Events Masks registers. Clock 25MHz. Reset on hard reset. */ 156762306a36Sopenharmony_ci#define MISC_REG_CPMU_LP_MASK_ENT_P0 0xa880 156862306a36Sopenharmony_ci/* [RW 18] EEE LPI exit events mask. [0] - Vmain SM Mask. When 1 indicates 156962306a36Sopenharmony_ci * that the Vmain SM end state is disabled. When 0 indicates that the Vmain 157062306a36Sopenharmony_ci * SM end state is enabled. [1] - FW Queues Empty Mask. When 1 indicates 157162306a36Sopenharmony_ci * that the FW command that all Queues are empty is disabled. When 0 157262306a36Sopenharmony_ci * indicates that the FW command that all Queues are empty is enabled. [2] - 157362306a36Sopenharmony_ci * FW Early Exit Mask / Reserved (Entry mask). When 1 indicates that the FW 157462306a36Sopenharmony_ci * Early Exit command is disabled. When 0 indicates that the FW Early Exit 157562306a36Sopenharmony_ci * command is enabled. This bit applicable only in the EXIT Events Mask 157662306a36Sopenharmony_ci * registers. [3] - PBF Request Mask. When 1 indicates that the PBF Request 157762306a36Sopenharmony_ci * indication is disabled. When 0 indicates that the PBF Request indication 157862306a36Sopenharmony_ci * is enabled. [4] - Tx Request Mask. When =1 indicates that the Tx other 157962306a36Sopenharmony_ci * Than PBF Request indication is disabled. When 0 indicates that the Tx 158062306a36Sopenharmony_ci * Other Than PBF Request indication is enabled. [5] - Rx EEE LPI Status 158162306a36Sopenharmony_ci * Mask. When 1 indicates that the RX EEE LPI Status indication is disabled. 158262306a36Sopenharmony_ci * When 0 indicates that the RX LPI Status indication is enabled. In the 158362306a36Sopenharmony_ci * EXIT Events Masks registers; this bit masks the falling edge detect of 158462306a36Sopenharmony_ci * the EEE LPI Status (Rx EEE LPI is on - off). [6] - Tx Pause Mask. When 1 158562306a36Sopenharmony_ci * indicates that the Tx Pause indication is disabled. When 0 indicates that 158662306a36Sopenharmony_ci * the Tx Pause indication is enabled. [7] - BRB1 Empty Mask. When 1 158762306a36Sopenharmony_ci * indicates that the BRB1 EMPTY indication is disabled. When 0 indicates 158862306a36Sopenharmony_ci * that the BRB1 EMPTY indication is enabled. [8] - QM Idle Mask. When 1 158962306a36Sopenharmony_ci * indicates that the QM IDLE indication is disabled. When 0 indicates that 159062306a36Sopenharmony_ci * the QM IDLE indication is enabled. (One bit for both VOQ0 and VOQ1). [9] 159162306a36Sopenharmony_ci * - QM LB Idle Mask. When 1 indicates that the QM IDLE indication for 159262306a36Sopenharmony_ci * LOOPBACK is disabled. When 0 indicates that the QM IDLE indication for 159362306a36Sopenharmony_ci * LOOPBACK is enabled. [10] - L1 Status Mask. When 1 indicates that the L1 159462306a36Sopenharmony_ci * Status indication from the PCIE CORE is disabled. When 0 indicates that 159562306a36Sopenharmony_ci * the RX EEE LPI Status indication from the PCIE CORE is enabled. In the 159662306a36Sopenharmony_ci * EXIT Events Masks registers; this bit masks the falling edge detect of 159762306a36Sopenharmony_ci * the L1 status (L1 is on - off). [11] - P0 E0 EEE EEE LPI REQ Mask. When 159862306a36Sopenharmony_ci * =1 indicates that the P0 E0 EEE EEE LPI REQ indication is disabled. When 159962306a36Sopenharmony_ci * =0 indicates that the P0 E0 EEE LPI REQ indication is enabled. [12] - P1 160062306a36Sopenharmony_ci * E0 EEE LPI REQ Mask. When =1 indicates that the P0 EEE LPI REQ indication 160162306a36Sopenharmony_ci * is disabled. When =0 indicates that the P0 EEE LPI REQ indication is 160262306a36Sopenharmony_ci * enabled. [13] - P0 E1 EEE LPI REQ Mask. When =1 indicates that the P0 EEE 160362306a36Sopenharmony_ci * LPI REQ indication is disabled. When =0 indicates that the P0 EEE LPI REQ 160462306a36Sopenharmony_ci * indication is enabled. [14] - P1 E1 EEE LPI REQ Mask. When =1 indicates 160562306a36Sopenharmony_ci * that the P0 EEE LPI REQ indication is disabled. When =0 indicates that 160662306a36Sopenharmony_ci * the P0 EEE LPI REQ indication is enabled. [15] - L1 REQ Mask. When =1 160762306a36Sopenharmony_ci * indicates that the L1 REQ indication is disabled. When =0 indicates that 160862306a36Sopenharmony_ci * the L1 indication is enabled. [16] - Rx EEE LPI Status Edge Detect Mask. 160962306a36Sopenharmony_ci * When =1 indicates that the RX EEE LPI Status Falling Edge Detect 161062306a36Sopenharmony_ci * indication is disabled (Rx EEE LPI is on - off). When =0 indicates that 161162306a36Sopenharmony_ci * the RX EEE LPI Status Falling Edge Detec indication is enabled (Rx EEE 161262306a36Sopenharmony_ci * LPI is on - off). This bit is applicable only in the EXIT Events Masks 161362306a36Sopenharmony_ci * registers. [17] - L1 Status Edge Detect Mask. When =1 indicates that the 161462306a36Sopenharmony_ci * L1 Status Falling Edge Detect indication from the PCIE CORE is disabled 161562306a36Sopenharmony_ci * (L1 is on - off). When =0 indicates that the L1 Status Falling Edge 161662306a36Sopenharmony_ci * Detect indication from the PCIE CORE is enabled (L1 is on - off). This 161762306a36Sopenharmony_ci * bit is applicable only in the EXIT Events Masks registers.Clock 25MHz. 161862306a36Sopenharmony_ci * Reset on hard reset. */ 161962306a36Sopenharmony_ci#define MISC_REG_CPMU_LP_MASK_EXT_P0 0xa888 162062306a36Sopenharmony_ci/* [RW 16] EEE LPI Entry Events Counter. A statistic counter with the number 162162306a36Sopenharmony_ci * of counts that the SM entered the EEE LPI state. Clock 25MHz. Read only 162262306a36Sopenharmony_ci * register. Reset on hard reset. */ 162362306a36Sopenharmony_ci#define MISC_REG_CPMU_LP_SM_ENT_CNT_P0 0xa8b8 162462306a36Sopenharmony_ci/* [RW 16] EEE LPI Entry Events Counter. A statistic counter with the number 162562306a36Sopenharmony_ci * of counts that the SM entered the EEE LPI state. Clock 25MHz. Read only 162662306a36Sopenharmony_ci * register. Reset on hard reset. */ 162762306a36Sopenharmony_ci#define MISC_REG_CPMU_LP_SM_ENT_CNT_P1 0xa8bc 162862306a36Sopenharmony_ci/* [RW 32] The following driver registers(1...16) represent 16 drivers and 162962306a36Sopenharmony_ci 32 clients. Each client can be controlled by one driver only. One in each 163062306a36Sopenharmony_ci bit represent that this driver control the appropriate client (Ex: bit 5 163162306a36Sopenharmony_ci is set means this driver control client number 5). addr1 = set; addr0 = 163262306a36Sopenharmony_ci clear; read from both addresses will give the same result = status. write 163362306a36Sopenharmony_ci to address 1 will set a request to control all the clients that their 163462306a36Sopenharmony_ci appropriate bit (in the write command) is set. if the client is free (the 163562306a36Sopenharmony_ci appropriate bit in all the other drivers is clear) one will be written to 163662306a36Sopenharmony_ci that driver register; if the client isn't free the bit will remain zero. 163762306a36Sopenharmony_ci if the appropriate bit is set (the driver request to gain control on a 163862306a36Sopenharmony_ci client it already controls the ~MISC_REGISTERS_INT_STS.GENERIC_SW 163962306a36Sopenharmony_ci interrupt will be asserted). write to address 0 will set a request to 164062306a36Sopenharmony_ci free all the clients that their appropriate bit (in the write command) is 164162306a36Sopenharmony_ci set. if the appropriate bit is clear (the driver request to free a client 164262306a36Sopenharmony_ci it doesn't controls the ~MISC_REGISTERS_INT_STS.GENERIC_SW interrupt will 164362306a36Sopenharmony_ci be asserted). */ 164462306a36Sopenharmony_ci#define MISC_REG_DRIVER_CONTROL_1 0xa510 164562306a36Sopenharmony_ci#define MISC_REG_DRIVER_CONTROL_7 0xa3c8 164662306a36Sopenharmony_ci/* [RW 1] e1hmf for WOL. If clr WOL signal o the PXP will be send on bit 0 164762306a36Sopenharmony_ci only. */ 164862306a36Sopenharmony_ci#define MISC_REG_E1HMF_MODE 0xa5f8 164962306a36Sopenharmony_ci/* [R 1] Status of four port mode path swap input pin. */ 165062306a36Sopenharmony_ci#define MISC_REG_FOUR_PORT_PATH_SWAP 0xa75c 165162306a36Sopenharmony_ci/* [RW 2] 4 port path swap overwrite.[0] - Overwrite control; if it is 0 - 165262306a36Sopenharmony_ci the path_swap output is equal to 4 port mode path swap input pin; if it 165362306a36Sopenharmony_ci is 1 - the path_swap output is equal to bit[1] of this register; [1] - 165462306a36Sopenharmony_ci Overwrite value. If bit[0] of this register is 1 this is the value that 165562306a36Sopenharmony_ci receives the path_swap output. Reset on Hard reset. */ 165662306a36Sopenharmony_ci#define MISC_REG_FOUR_PORT_PATH_SWAP_OVWR 0xa738 165762306a36Sopenharmony_ci/* [R 1] Status of 4 port mode port swap input pin. */ 165862306a36Sopenharmony_ci#define MISC_REG_FOUR_PORT_PORT_SWAP 0xa754 165962306a36Sopenharmony_ci/* [RW 2] 4 port port swap overwrite.[0] - Overwrite control; if it is 0 - 166062306a36Sopenharmony_ci the port_swap output is equal to 4 port mode port swap input pin; if it 166162306a36Sopenharmony_ci is 1 - the port_swap output is equal to bit[1] of this register; [1] - 166262306a36Sopenharmony_ci Overwrite value. If bit[0] of this register is 1 this is the value that 166362306a36Sopenharmony_ci receives the port_swap output. Reset on Hard reset. */ 166462306a36Sopenharmony_ci#define MISC_REG_FOUR_PORT_PORT_SWAP_OVWR 0xa734 166562306a36Sopenharmony_ci/* [RW 32] Debug only: spare RW register reset by core reset */ 166662306a36Sopenharmony_ci#define MISC_REG_GENERIC_CR_0 0xa460 166762306a36Sopenharmony_ci#define MISC_REG_GENERIC_CR_1 0xa464 166862306a36Sopenharmony_ci/* [RW 32] Debug only: spare RW register reset by por reset */ 166962306a36Sopenharmony_ci#define MISC_REG_GENERIC_POR_1 0xa474 167062306a36Sopenharmony_ci/* [RW 32] Bit[0]: EPIO MODE SEL: Setting this bit to 1 will allow SW/FW to 167162306a36Sopenharmony_ci use all of the 32 Extended GPIO pins. Without setting this bit; an EPIO 167262306a36Sopenharmony_ci can not be configured as an output. Each output has its output enable in 167362306a36Sopenharmony_ci the MCP register space; but this bit needs to be set to make use of that. 167462306a36Sopenharmony_ci Bit[3:1] spare. Bit[4]: WCVTMON_PWRDN: Powerdown for Warpcore VTMON. When 167562306a36Sopenharmony_ci set to 1 - Powerdown. Bit[5]: WCVTMON_RESETB: Reset for Warpcore VTMON. 167662306a36Sopenharmony_ci When set to 0 - vTMON is in reset. Bit[6]: setting this bit will change 167762306a36Sopenharmony_ci the i/o to an output and will drive the TimeSync output. Bit[31:7]: 167862306a36Sopenharmony_ci spare. Global register. Reset by hard reset. */ 167962306a36Sopenharmony_ci#define MISC_REG_GEN_PURP_HWG 0xa9a0 168062306a36Sopenharmony_ci/* [RW 32] GPIO. [31-28] FLOAT port 0; [27-24] FLOAT port 0; When any of 168162306a36Sopenharmony_ci these bits is written as a '1'; the corresponding SPIO bit will turn off 168262306a36Sopenharmony_ci it's drivers and become an input. This is the reset state of all GPIO 168362306a36Sopenharmony_ci pins. The read value of these bits will be a '1' if that last command 168462306a36Sopenharmony_ci (#SET; #CLR; or #FLOAT) for this bit was a #FLOAT. (reset value 0xff). 168562306a36Sopenharmony_ci [23-20] CLR port 1; 19-16] CLR port 0; When any of these bits is written 168662306a36Sopenharmony_ci as a '1'; the corresponding GPIO bit will drive low. The read value of 168762306a36Sopenharmony_ci these bits will be a '1' if that last command (#SET; #CLR; or #FLOAT) for 168862306a36Sopenharmony_ci this bit was a #CLR. (reset value 0). [15-12] SET port 1; 11-8] port 0; 168962306a36Sopenharmony_ci SET When any of these bits is written as a '1'; the corresponding GPIO 169062306a36Sopenharmony_ci bit will drive high (if it has that capability). The read value of these 169162306a36Sopenharmony_ci bits will be a '1' if that last command (#SET; #CLR; or #FLOAT) for this 169262306a36Sopenharmony_ci bit was a #SET. (reset value 0). [7-4] VALUE port 1; [3-0] VALUE port 0; 169362306a36Sopenharmony_ci RO; These bits indicate the read value of each of the eight GPIO pins. 169462306a36Sopenharmony_ci This is the result value of the pin; not the drive value. Writing these 169562306a36Sopenharmony_ci bits will have not effect. */ 169662306a36Sopenharmony_ci#define MISC_REG_GPIO 0xa490 169762306a36Sopenharmony_ci/* [RW 8] These bits enable the GPIO_INTs to signals event to the 169862306a36Sopenharmony_ci IGU/MCP.according to the following map: [0] p0_gpio_0; [1] p0_gpio_1; [2] 169962306a36Sopenharmony_ci p0_gpio_2; [3] p0_gpio_3; [4] p1_gpio_0; [5] p1_gpio_1; [6] p1_gpio_2; 170062306a36Sopenharmony_ci [7] p1_gpio_3; */ 170162306a36Sopenharmony_ci#define MISC_REG_GPIO_EVENT_EN 0xa2bc 170262306a36Sopenharmony_ci/* [RW 32] GPIO INT. [31-28] OLD_CLR port1; [27-24] OLD_CLR port0; Writing a 170362306a36Sopenharmony_ci '1' to these bit clears the corresponding bit in the #OLD_VALUE register. 170462306a36Sopenharmony_ci This will acknowledge an interrupt on the falling edge of corresponding 170562306a36Sopenharmony_ci GPIO input (reset value 0). [23-16] OLD_SET [23-16] port1; OLD_SET port0; 170662306a36Sopenharmony_ci Writing a '1' to these bit sets the corresponding bit in the #OLD_VALUE 170762306a36Sopenharmony_ci register. This will acknowledge an interrupt on the rising edge of 170862306a36Sopenharmony_ci corresponding SPIO input (reset value 0). [15-12] OLD_VALUE [11-8] port1; 170962306a36Sopenharmony_ci OLD_VALUE port0; RO; These bits indicate the old value of the GPIO input 171062306a36Sopenharmony_ci value. When the ~INT_STATE bit is set; this bit indicates the OLD value 171162306a36Sopenharmony_ci of the pin such that if ~INT_STATE is set and this bit is '0'; then the 171262306a36Sopenharmony_ci interrupt is due to a low to high edge. If ~INT_STATE is set and this bit 171362306a36Sopenharmony_ci is '1'; then the interrupt is due to a high to low edge (reset value 0). 171462306a36Sopenharmony_ci [7-4] INT_STATE port1; [3-0] INT_STATE RO port0; These bits indicate the 171562306a36Sopenharmony_ci current GPIO interrupt state for each GPIO pin. This bit is cleared when 171662306a36Sopenharmony_ci the appropriate #OLD_SET or #OLD_CLR command bit is written. This bit is 171762306a36Sopenharmony_ci set when the GPIO input does not match the current value in #OLD_VALUE 171862306a36Sopenharmony_ci (reset value 0). */ 171962306a36Sopenharmony_ci#define MISC_REG_GPIO_INT 0xa494 172062306a36Sopenharmony_ci/* [R 28] this field hold the last information that caused reserved 172162306a36Sopenharmony_ci attention. bits [19:0] - address; [22:20] function; [23] reserved; 172262306a36Sopenharmony_ci [27:24] the master that caused the attention - according to the following 172362306a36Sopenharmony_ci encodeing:1 = pxp; 2 = mcp; 3 = usdm; 4 = tsdm; 5 = xsdm; 6 = csdm; 7 = 172462306a36Sopenharmony_ci dbu; 8 = dmae */ 172562306a36Sopenharmony_ci#define MISC_REG_GRC_RSV_ATTN 0xa3c0 172662306a36Sopenharmony_ci/* [R 28] this field hold the last information that caused timeout 172762306a36Sopenharmony_ci attention. bits [19:0] - address; [22:20] function; [23] reserved; 172862306a36Sopenharmony_ci [27:24] the master that caused the attention - according to the following 172962306a36Sopenharmony_ci encodeing:1 = pxp; 2 = mcp; 3 = usdm; 4 = tsdm; 5 = xsdm; 6 = csdm; 7 = 173062306a36Sopenharmony_ci dbu; 8 = dmae */ 173162306a36Sopenharmony_ci#define MISC_REG_GRC_TIMEOUT_ATTN 0xa3c4 173262306a36Sopenharmony_ci/* [RW 1] Setting this bit enables a timer in the GRC block to timeout any 173362306a36Sopenharmony_ci access that does not finish within 173462306a36Sopenharmony_ci ~misc_registers_grc_timout_val.grc_timeout_val cycles. When this bit is 173562306a36Sopenharmony_ci cleared; this timeout is disabled. If this timeout occurs; the GRC shall 173662306a36Sopenharmony_ci assert it attention output. */ 173762306a36Sopenharmony_ci#define MISC_REG_GRC_TIMEOUT_EN 0xa280 173862306a36Sopenharmony_ci/* [RW 28] 28 LSB of LCPLL first register; reset val = 521. inside order of 173962306a36Sopenharmony_ci the bits is: [2:0] OAC reset value 001) CML output buffer bias control; 174062306a36Sopenharmony_ci 111 for +40%; 011 for +20%; 001 for 0%; 000 for -20%. [5:3] Icp_ctrl 174162306a36Sopenharmony_ci (reset value 001) Charge pump current control; 111 for 720u; 011 for 174262306a36Sopenharmony_ci 600u; 001 for 480u and 000 for 360u. [7:6] Bias_ctrl (reset value 00) 174362306a36Sopenharmony_ci Global bias control; When bit 7 is high bias current will be 10 0gh; When 174462306a36Sopenharmony_ci bit 6 is high bias will be 100w; Valid values are 00; 10; 01. [10:8] 174562306a36Sopenharmony_ci Pll_observe (reset value 010) Bits to control observability. bit 10 is 174662306a36Sopenharmony_ci for test bias; bit 9 is for test CK; bit 8 is test Vc. [12:11] Vth_ctrl 174762306a36Sopenharmony_ci (reset value 00) Comparator threshold control. 00 for 0.6V; 01 for 0.54V 174862306a36Sopenharmony_ci and 10 for 0.66V. [13] pllSeqStart (reset value 0) Enables VCO tuning 174962306a36Sopenharmony_ci sequencer: 1= sequencer disabled; 0= sequencer enabled (inverted 175062306a36Sopenharmony_ci internally). [14] reserved (reset value 0) Reset for VCO sequencer is 175162306a36Sopenharmony_ci connected to RESET input directly. [15] capRetry_en (reset value 0) 175262306a36Sopenharmony_ci enable retry on cap search failure (inverted). [16] freqMonitor_e (reset 175362306a36Sopenharmony_ci value 0) bit to continuously monitor vco freq (inverted). [17] 175462306a36Sopenharmony_ci freqDetRestart_en (reset value 0) bit to enable restart when not freq 175562306a36Sopenharmony_ci locked (inverted). [18] freqDetRetry_en (reset value 0) bit to enable 175662306a36Sopenharmony_ci retry on freq det failure(inverted). [19] pllForceFdone_en (reset value 175762306a36Sopenharmony_ci 0) bit to enable pllForceFdone & pllForceFpass into pllSeq. [20] 175862306a36Sopenharmony_ci pllForceFdone (reset value 0) bit to force freqDone. [21] pllForceFpass 175962306a36Sopenharmony_ci (reset value 0) bit to force freqPass. [22] pllForceDone_en (reset value 176062306a36Sopenharmony_ci 0) bit to enable pllForceCapDone. [23] pllForceCapDone (reset value 0) 176162306a36Sopenharmony_ci bit to force capDone. [24] pllForceCapPass_en (reset value 0) bit to 176262306a36Sopenharmony_ci enable pllForceCapPass. [25] pllForceCapPass (reset value 0) bit to force 176362306a36Sopenharmony_ci capPass. [26] capRestart (reset value 0) bit to force cap sequencer to 176462306a36Sopenharmony_ci restart. [27] capSelectM_en (reset value 0) bit to enable cap select 176562306a36Sopenharmony_ci register bits. */ 176662306a36Sopenharmony_ci#define MISC_REG_LCPLL_CTRL_1 0xa2a4 176762306a36Sopenharmony_ci#define MISC_REG_LCPLL_CTRL_REG_2 0xa2a8 176862306a36Sopenharmony_ci/* [RW 1] LCPLL power down. Global register. Active High. Reset on POR 176962306a36Sopenharmony_ci * reset. */ 177062306a36Sopenharmony_ci#define MISC_REG_LCPLL_E40_PWRDWN 0xaa74 177162306a36Sopenharmony_ci/* [RW 1] LCPLL VCO reset. Global register. Active Low Reset on POR reset. */ 177262306a36Sopenharmony_ci#define MISC_REG_LCPLL_E40_RESETB_ANA 0xaa78 177362306a36Sopenharmony_ci/* [RW 1] LCPLL post-divider reset. Global register. Active Low Reset on POR 177462306a36Sopenharmony_ci * reset. */ 177562306a36Sopenharmony_ci#define MISC_REG_LCPLL_E40_RESETB_DIG 0xaa7c 177662306a36Sopenharmony_ci/* [RW 4] Interrupt mask register #0 read/write */ 177762306a36Sopenharmony_ci#define MISC_REG_MISC_INT_MASK 0xa388 177862306a36Sopenharmony_ci/* [RW 1] Parity mask register #0 read/write */ 177962306a36Sopenharmony_ci#define MISC_REG_MISC_PRTY_MASK 0xa398 178062306a36Sopenharmony_ci/* [R 1] Parity register #0 read */ 178162306a36Sopenharmony_ci#define MISC_REG_MISC_PRTY_STS 0xa38c 178262306a36Sopenharmony_ci/* [RC 1] Parity register #0 read clear */ 178362306a36Sopenharmony_ci#define MISC_REG_MISC_PRTY_STS_CLR 0xa390 178462306a36Sopenharmony_ci#define MISC_REG_NIG_WOL_P0 0xa270 178562306a36Sopenharmony_ci#define MISC_REG_NIG_WOL_P1 0xa274 178662306a36Sopenharmony_ci/* [R 1] If set indicate that the pcie_rst_b was asserted without perst 178762306a36Sopenharmony_ci assertion */ 178862306a36Sopenharmony_ci#define MISC_REG_PCIE_HOT_RESET 0xa618 178962306a36Sopenharmony_ci/* [RW 32] 32 LSB of storm PLL first register; reset val = 0x 071d2911. 179062306a36Sopenharmony_ci inside order of the bits is: [0] P1 divider[0] (reset value 1); [1] P1 179162306a36Sopenharmony_ci divider[1] (reset value 0); [2] P1 divider[2] (reset value 0); [3] P1 179262306a36Sopenharmony_ci divider[3] (reset value 0); [4] P2 divider[0] (reset value 1); [5] P2 179362306a36Sopenharmony_ci divider[1] (reset value 0); [6] P2 divider[2] (reset value 0); [7] P2 179462306a36Sopenharmony_ci divider[3] (reset value 0); [8] ph_det_dis (reset value 1); [9] 179562306a36Sopenharmony_ci freq_det_dis (reset value 0); [10] Icpx[0] (reset value 0); [11] Icpx[1] 179662306a36Sopenharmony_ci (reset value 1); [12] Icpx[2] (reset value 0); [13] Icpx[3] (reset value 179762306a36Sopenharmony_ci 1); [14] Icpx[4] (reset value 0); [15] Icpx[5] (reset value 0); [16] 179862306a36Sopenharmony_ci Rx[0] (reset value 1); [17] Rx[1] (reset value 0); [18] vc_en (reset 179962306a36Sopenharmony_ci value 1); [19] vco_rng[0] (reset value 1); [20] vco_rng[1] (reset value 180062306a36Sopenharmony_ci 1); [21] Kvco_xf[0] (reset value 0); [22] Kvco_xf[1] (reset value 0); 180162306a36Sopenharmony_ci [23] Kvco_xf[2] (reset value 0); [24] Kvco_xs[0] (reset value 1); [25] 180262306a36Sopenharmony_ci Kvco_xs[1] (reset value 1); [26] Kvco_xs[2] (reset value 1); [27] 180362306a36Sopenharmony_ci testd_en (reset value 0); [28] testd_sel[0] (reset value 0); [29] 180462306a36Sopenharmony_ci testd_sel[1] (reset value 0); [30] testd_sel[2] (reset value 0); [31] 180562306a36Sopenharmony_ci testa_en (reset value 0); */ 180662306a36Sopenharmony_ci#define MISC_REG_PLL_STORM_CTRL_1 0xa294 180762306a36Sopenharmony_ci#define MISC_REG_PLL_STORM_CTRL_2 0xa298 180862306a36Sopenharmony_ci#define MISC_REG_PLL_STORM_CTRL_3 0xa29c 180962306a36Sopenharmony_ci#define MISC_REG_PLL_STORM_CTRL_4 0xa2a0 181062306a36Sopenharmony_ci/* [R 1] Status of 4 port mode enable input pin. */ 181162306a36Sopenharmony_ci#define MISC_REG_PORT4MODE_EN 0xa750 181262306a36Sopenharmony_ci/* [RW 2] 4 port mode enable overwrite.[0] - Overwrite control; if it is 0 - 181362306a36Sopenharmony_ci * the port4mode_en output is equal to 4 port mode input pin; if it is 1 - 181462306a36Sopenharmony_ci * the port4mode_en output is equal to bit[1] of this register; [1] - 181562306a36Sopenharmony_ci * Overwrite value. If bit[0] of this register is 1 this is the value that 181662306a36Sopenharmony_ci * receives the port4mode_en output . */ 181762306a36Sopenharmony_ci#define MISC_REG_PORT4MODE_EN_OVWR 0xa720 181862306a36Sopenharmony_ci/* [RW 32] reset reg#2; rite/read one = the specific block is out of reset; 181962306a36Sopenharmony_ci write/read zero = the specific block is in reset; addr 0-wr- the write 182062306a36Sopenharmony_ci value will be written to the register; addr 1-set - one will be written 182162306a36Sopenharmony_ci to all the bits that have the value of one in the data written (bits that 182262306a36Sopenharmony_ci have the value of zero will not be change) ; addr 2-clear - zero will be 182362306a36Sopenharmony_ci written to all the bits that have the value of one in the data written 182462306a36Sopenharmony_ci (bits that have the value of zero will not be change); addr 3-ignore; 182562306a36Sopenharmony_ci read ignore from all addr except addr 00; inside order of the bits is: 182662306a36Sopenharmony_ci [0] rst_bmac0; [1] rst_bmac1; [2] rst_emac0; [3] rst_emac1; [4] rst_grc; 182762306a36Sopenharmony_ci [5] rst_mcp_n_reset_reg_hard_core; [6] rst_ mcp_n_hard_core_rst_b; [7] 182862306a36Sopenharmony_ci rst_ mcp_n_reset_cmn_cpu; [8] rst_ mcp_n_reset_cmn_core; [9] rst_rbcn; 182962306a36Sopenharmony_ci [10] rst_dbg; [11] rst_misc_core; [12] rst_dbue (UART); [13] 183062306a36Sopenharmony_ci Pci_resetmdio_n; [14] rst_emac0_hard_core; [15] rst_emac1_hard_core; 16] 183162306a36Sopenharmony_ci rst_pxp_rq_rd_wr; 31:17] reserved */ 183262306a36Sopenharmony_ci#define MISC_REG_RESET_REG_1 0xa580 183362306a36Sopenharmony_ci#define MISC_REG_RESET_REG_2 0xa590 183462306a36Sopenharmony_ci/* [RW 20] 20 bit GRC address where the scratch-pad of the MCP that is 183562306a36Sopenharmony_ci shared with the driver resides */ 183662306a36Sopenharmony_ci#define MISC_REG_SHARED_MEM_ADDR 0xa2b4 183762306a36Sopenharmony_ci/* [RW 32] SPIO. [31-24] FLOAT When any of these bits is written as a '1'; 183862306a36Sopenharmony_ci the corresponding SPIO bit will turn off it's drivers and become an 183962306a36Sopenharmony_ci input. This is the reset state of all SPIO pins. The read value of these 184062306a36Sopenharmony_ci bits will be a '1' if that last command (#SET; #CL; or #FLOAT) for this 184162306a36Sopenharmony_ci bit was a #FLOAT. (reset value 0xff). [23-16] CLR When any of these bits 184262306a36Sopenharmony_ci is written as a '1'; the corresponding SPIO bit will drive low. The read 184362306a36Sopenharmony_ci value of these bits will be a '1' if that last command (#SET; #CLR; or 184462306a36Sopenharmony_ci#FLOAT) for this bit was a #CLR. (reset value 0). [15-8] SET When any of 184562306a36Sopenharmony_ci these bits is written as a '1'; the corresponding SPIO bit will drive 184662306a36Sopenharmony_ci high (if it has that capability). The read value of these bits will be a 184762306a36Sopenharmony_ci '1' if that last command (#SET; #CLR; or #FLOAT) for this bit was a #SET. 184862306a36Sopenharmony_ci (reset value 0). [7-0] VALUE RO; These bits indicate the read value of 184962306a36Sopenharmony_ci each of the eight SPIO pins. This is the result value of the pin; not the 185062306a36Sopenharmony_ci drive value. Writing these bits will have not effect. Each 8 bits field 185162306a36Sopenharmony_ci is divided as follows: [0] VAUX Enable; when pulsed low; enables supply 185262306a36Sopenharmony_ci from VAUX. (This is an output pin only; the FLOAT field is not applicable 185362306a36Sopenharmony_ci for this pin); [1] VAUX Disable; when pulsed low; disables supply form 185462306a36Sopenharmony_ci VAUX. (This is an output pin only; FLOAT field is not applicable for this 185562306a36Sopenharmony_ci pin); [2] SEL_VAUX_B - Control to power switching logic. Drive low to 185662306a36Sopenharmony_ci select VAUX supply. (This is an output pin only; it is not controlled by 185762306a36Sopenharmony_ci the SET and CLR fields; it is controlled by the Main Power SM; the FLOAT 185862306a36Sopenharmony_ci field is not applicable for this pin; only the VALUE fields is relevant - 185962306a36Sopenharmony_ci it reflects the output value); [3] port swap [4] spio_4; [5] spio_5; [6] 186062306a36Sopenharmony_ci Bit 0 of UMP device ID select; read by UMP firmware; [7] Bit 1 of UMP 186162306a36Sopenharmony_ci device ID select; read by UMP firmware. */ 186262306a36Sopenharmony_ci#define MISC_REG_SPIO 0xa4fc 186362306a36Sopenharmony_ci/* [RW 8] These bits enable the SPIO_INTs to signals event to the IGU/MC. 186462306a36Sopenharmony_ci according to the following map: [3:0] reserved; [4] spio_4 [5] spio_5; 186562306a36Sopenharmony_ci [7:0] reserved */ 186662306a36Sopenharmony_ci#define MISC_REG_SPIO_EVENT_EN 0xa2b8 186762306a36Sopenharmony_ci/* [RW 32] SPIO INT. [31-24] OLD_CLR Writing a '1' to these bit clears the 186862306a36Sopenharmony_ci corresponding bit in the #OLD_VALUE register. This will acknowledge an 186962306a36Sopenharmony_ci interrupt on the falling edge of corresponding SPIO input (reset value 187062306a36Sopenharmony_ci 0). [23-16] OLD_SET Writing a '1' to these bit sets the corresponding bit 187162306a36Sopenharmony_ci in the #OLD_VALUE register. This will acknowledge an interrupt on the 187262306a36Sopenharmony_ci rising edge of corresponding SPIO input (reset value 0). [15-8] OLD_VALUE 187362306a36Sopenharmony_ci RO; These bits indicate the old value of the SPIO input value. When the 187462306a36Sopenharmony_ci ~INT_STATE bit is set; this bit indicates the OLD value of the pin such 187562306a36Sopenharmony_ci that if ~INT_STATE is set and this bit is '0'; then the interrupt is due 187662306a36Sopenharmony_ci to a low to high edge. If ~INT_STATE is set and this bit is '1'; then the 187762306a36Sopenharmony_ci interrupt is due to a high to low edge (reset value 0). [7-0] INT_STATE 187862306a36Sopenharmony_ci RO; These bits indicate the current SPIO interrupt state for each SPIO 187962306a36Sopenharmony_ci pin. This bit is cleared when the appropriate #OLD_SET or #OLD_CLR 188062306a36Sopenharmony_ci command bit is written. This bit is set when the SPIO input does not 188162306a36Sopenharmony_ci match the current value in #OLD_VALUE (reset value 0). */ 188262306a36Sopenharmony_ci#define MISC_REG_SPIO_INT 0xa500 188362306a36Sopenharmony_ci/* [RW 32] reload value for counter 4 if reload; the value will be reload if 188462306a36Sopenharmony_ci the counter reached zero and the reload bit 188562306a36Sopenharmony_ci (~misc_registers_sw_timer_cfg_4.sw_timer_cfg_4[1] ) is set */ 188662306a36Sopenharmony_ci#define MISC_REG_SW_TIMER_RELOAD_VAL_4 0xa2fc 188762306a36Sopenharmony_ci/* [RW 32] the value of the counter for sw timers1-8. there are 8 addresses 188862306a36Sopenharmony_ci in this register. address 0 - timer 1; address 1 - timer 2, ... address 7 - 188962306a36Sopenharmony_ci timer 8 */ 189062306a36Sopenharmony_ci#define MISC_REG_SW_TIMER_VAL 0xa5c0 189162306a36Sopenharmony_ci/* [R 1] Status of two port mode path swap input pin. */ 189262306a36Sopenharmony_ci#define MISC_REG_TWO_PORT_PATH_SWAP 0xa758 189362306a36Sopenharmony_ci/* [RW 2] 2 port swap overwrite.[0] - Overwrite control; if it is 0 - the 189462306a36Sopenharmony_ci path_swap output is equal to 2 port mode path swap input pin; if it is 1 189562306a36Sopenharmony_ci - the path_swap output is equal to bit[1] of this register; [1] - 189662306a36Sopenharmony_ci Overwrite value. If bit[0] of this register is 1 this is the value that 189762306a36Sopenharmony_ci receives the path_swap output. Reset on Hard reset. */ 189862306a36Sopenharmony_ci#define MISC_REG_TWO_PORT_PATH_SWAP_OVWR 0xa72c 189962306a36Sopenharmony_ci/* [RW 1] Set by the MCP to remember if one or more of the drivers is/are 190062306a36Sopenharmony_ci loaded; 0-prepare; -unprepare */ 190162306a36Sopenharmony_ci#define MISC_REG_UNPREPARED 0xa424 190262306a36Sopenharmony_ci#define NIG_LLH0_BRB1_DRV_MASK_REG_LLH0_BRB1_DRV_MASK_BRCST (0x1<<0) 190362306a36Sopenharmony_ci#define NIG_LLH0_BRB1_DRV_MASK_REG_LLH0_BRB1_DRV_MASK_MLCST (0x1<<1) 190462306a36Sopenharmony_ci#define NIG_LLH0_BRB1_DRV_MASK_REG_LLH0_BRB1_DRV_MASK_NO_VLAN (0x1<<4) 190562306a36Sopenharmony_ci#define NIG_LLH0_BRB1_DRV_MASK_REG_LLH0_BRB1_DRV_MASK_UNCST (0x1<<2) 190662306a36Sopenharmony_ci#define NIG_LLH0_BRB1_DRV_MASK_REG_LLH0_BRB1_DRV_MASK_VLAN (0x1<<3) 190762306a36Sopenharmony_ci/* [RW 5] MDIO PHY Address. The WC uses this address to determine whether or 190862306a36Sopenharmony_ci * not it is the recipient of the message on the MDIO interface. The value 190962306a36Sopenharmony_ci * is compared to the value on ctrl_md_devad. Drives output 191062306a36Sopenharmony_ci * misc_xgxs0_phy_addr. Global register. */ 191162306a36Sopenharmony_ci#define MISC_REG_WC0_CTRL_PHY_ADDR 0xa9cc 191262306a36Sopenharmony_ci#define MISC_REG_WC0_RESET 0xac30 191362306a36Sopenharmony_ci/* [RW 2] XMAC Core port mode. Indicates the number of ports on the system 191462306a36Sopenharmony_ci side. This should be less than or equal to phy_port_mode; if some of the 191562306a36Sopenharmony_ci ports are not used. This enables reduction of frequency on the core side. 191662306a36Sopenharmony_ci This is a strap input for the XMAC_MP core. 00 - Single Port Mode; 01 - 191762306a36Sopenharmony_ci Dual Port Mode; 10 - Tri Port Mode; 11 - Quad Port Mode. This is a strap 191862306a36Sopenharmony_ci input for the XMAC_MP core; and should be changed only while reset is 191962306a36Sopenharmony_ci held low. Reset on Hard reset. */ 192062306a36Sopenharmony_ci#define MISC_REG_XMAC_CORE_PORT_MODE 0xa964 192162306a36Sopenharmony_ci/* [RW 2] XMAC PHY port mode. Indicates the number of ports on the Warp 192262306a36Sopenharmony_ci Core. This is a strap input for the XMAC_MP core. 00 - Single Port Mode; 192362306a36Sopenharmony_ci 01 - Dual Port Mode; 1x - Quad Port Mode; This is a strap input for the 192462306a36Sopenharmony_ci XMAC_MP core; and should be changed only while reset is held low. Reset 192562306a36Sopenharmony_ci on Hard reset. */ 192662306a36Sopenharmony_ci#define MISC_REG_XMAC_PHY_PORT_MODE 0xa960 192762306a36Sopenharmony_ci/* [RW 32] 1 [47] Packet Size = 64 Write to this register write bits 31:0. 192862306a36Sopenharmony_ci * Reads from this register will clear bits 31:0. */ 192962306a36Sopenharmony_ci#define MSTAT_REG_RX_STAT_GR64_LO 0x200 193062306a36Sopenharmony_ci/* [RW 32] 1 [00] Tx Good Packet Count Write to this register write bits 193162306a36Sopenharmony_ci * 31:0. Reads from this register will clear bits 31:0. */ 193262306a36Sopenharmony_ci#define MSTAT_REG_TX_STAT_GTXPOK_LO 0 193362306a36Sopenharmony_ci#define NIG_LLH0_BRB1_DRV_MASK_REG_LLH0_BRB1_DRV_MASK_BRCST (0x1<<0) 193462306a36Sopenharmony_ci#define NIG_LLH0_BRB1_DRV_MASK_REG_LLH0_BRB1_DRV_MASK_MLCST (0x1<<1) 193562306a36Sopenharmony_ci#define NIG_LLH0_BRB1_DRV_MASK_REG_LLH0_BRB1_DRV_MASK_NO_VLAN (0x1<<4) 193662306a36Sopenharmony_ci#define NIG_LLH0_BRB1_DRV_MASK_REG_LLH0_BRB1_DRV_MASK_UNCST (0x1<<2) 193762306a36Sopenharmony_ci#define NIG_LLH0_BRB1_DRV_MASK_REG_LLH0_BRB1_DRV_MASK_VLAN (0x1<<3) 193862306a36Sopenharmony_ci#define NIG_LLH0_XCM_MASK_REG_LLH0_XCM_MASK_BCN (0x1<<0) 193962306a36Sopenharmony_ci#define NIG_LLH1_XCM_MASK_REG_LLH1_XCM_MASK_BCN (0x1<<0) 194062306a36Sopenharmony_ci#define NIG_MASK_INTERRUPT_PORT0_REG_MASK_EMAC0_MISC_MI_INT (0x1<<0) 194162306a36Sopenharmony_ci#define NIG_MASK_INTERRUPT_PORT0_REG_MASK_SERDES0_LINK_STATUS (0x1<<9) 194262306a36Sopenharmony_ci#define NIG_MASK_INTERRUPT_PORT0_REG_MASK_XGXS0_LINK10G (0x1<<15) 194362306a36Sopenharmony_ci#define NIG_MASK_INTERRUPT_PORT0_REG_MASK_XGXS0_LINK_STATUS (0xf<<18) 194462306a36Sopenharmony_ci/* [RW 1] Input enable for RX_BMAC0 IF */ 194562306a36Sopenharmony_ci#define NIG_REG_BMAC0_IN_EN 0x100ac 194662306a36Sopenharmony_ci/* [RW 1] output enable for TX_BMAC0 IF */ 194762306a36Sopenharmony_ci#define NIG_REG_BMAC0_OUT_EN 0x100e0 194862306a36Sopenharmony_ci/* [RW 1] output enable for TX BMAC pause port 0 IF */ 194962306a36Sopenharmony_ci#define NIG_REG_BMAC0_PAUSE_OUT_EN 0x10110 195062306a36Sopenharmony_ci/* [RW 1] output enable for RX_BMAC0_REGS IF */ 195162306a36Sopenharmony_ci#define NIG_REG_BMAC0_REGS_OUT_EN 0x100e8 195262306a36Sopenharmony_ci/* [RW 1] output enable for RX BRB1 port0 IF */ 195362306a36Sopenharmony_ci#define NIG_REG_BRB0_OUT_EN 0x100f8 195462306a36Sopenharmony_ci/* [RW 1] Input enable for TX BRB1 pause port 0 IF */ 195562306a36Sopenharmony_ci#define NIG_REG_BRB0_PAUSE_IN_EN 0x100c4 195662306a36Sopenharmony_ci/* [RW 1] output enable for RX BRB1 port1 IF */ 195762306a36Sopenharmony_ci#define NIG_REG_BRB1_OUT_EN 0x100fc 195862306a36Sopenharmony_ci/* [RW 1] Input enable for TX BRB1 pause port 1 IF */ 195962306a36Sopenharmony_ci#define NIG_REG_BRB1_PAUSE_IN_EN 0x100c8 196062306a36Sopenharmony_ci/* [RW 1] output enable for RX BRB1 LP IF */ 196162306a36Sopenharmony_ci#define NIG_REG_BRB_LB_OUT_EN 0x10100 196262306a36Sopenharmony_ci/* [WB_W 82] Debug packet to LP from RBC; Data spelling:[63:0] data; 64] 196362306a36Sopenharmony_ci error; [67:65]eop_bvalid; [68]eop; [69]sop; [70]port_id; 71]flush; 196462306a36Sopenharmony_ci 72:73]-vnic_num; 81:74]-sideband_info */ 196562306a36Sopenharmony_ci#define NIG_REG_DEBUG_PACKET_LB 0x10800 196662306a36Sopenharmony_ci/* [RW 1] Input enable for TX Debug packet */ 196762306a36Sopenharmony_ci#define NIG_REG_EGRESS_DEBUG_IN_EN 0x100dc 196862306a36Sopenharmony_ci/* [RW 1] If 1 - egress drain mode for port0 is active. In this mode all 196962306a36Sopenharmony_ci packets from PBFare not forwarded to the MAC and just deleted from FIFO. 197062306a36Sopenharmony_ci First packet may be deleted from the middle. And last packet will be 197162306a36Sopenharmony_ci always deleted till the end. */ 197262306a36Sopenharmony_ci#define NIG_REG_EGRESS_DRAIN0_MODE 0x10060 197362306a36Sopenharmony_ci/* [RW 1] Output enable to EMAC0 */ 197462306a36Sopenharmony_ci#define NIG_REG_EGRESS_EMAC0_OUT_EN 0x10120 197562306a36Sopenharmony_ci/* [RW 1] MAC configuration for packets of port0. If 1 - all packet outputs 197662306a36Sopenharmony_ci to emac for port0; other way to bmac for port0 */ 197762306a36Sopenharmony_ci#define NIG_REG_EGRESS_EMAC0_PORT 0x10058 197862306a36Sopenharmony_ci/* [RW 1] Input enable for TX PBF user packet port0 IF */ 197962306a36Sopenharmony_ci#define NIG_REG_EGRESS_PBF0_IN_EN 0x100cc 198062306a36Sopenharmony_ci/* [RW 1] Input enable for TX PBF user packet port1 IF */ 198162306a36Sopenharmony_ci#define NIG_REG_EGRESS_PBF1_IN_EN 0x100d0 198262306a36Sopenharmony_ci/* [RW 1] Input enable for TX UMP management packet port0 IF */ 198362306a36Sopenharmony_ci#define NIG_REG_EGRESS_UMP0_IN_EN 0x100d4 198462306a36Sopenharmony_ci/* [RW 1] Input enable for RX_EMAC0 IF */ 198562306a36Sopenharmony_ci#define NIG_REG_EMAC0_IN_EN 0x100a4 198662306a36Sopenharmony_ci/* [RW 1] output enable for TX EMAC pause port 0 IF */ 198762306a36Sopenharmony_ci#define NIG_REG_EMAC0_PAUSE_OUT_EN 0x10118 198862306a36Sopenharmony_ci/* [R 1] status from emac0. This bit is set when MDINT from either the 198962306a36Sopenharmony_ci EXT_MDINT pin or from the Copper PHY is driven low. This condition must 199062306a36Sopenharmony_ci be cleared in the attached PHY device that is driving the MINT pin. */ 199162306a36Sopenharmony_ci#define NIG_REG_EMAC0_STATUS_MISC_MI_INT 0x10494 199262306a36Sopenharmony_ci/* [WB 48] This address space contains BMAC0 registers. The BMAC registers 199362306a36Sopenharmony_ci are described in appendix A. In order to access the BMAC0 registers; the 199462306a36Sopenharmony_ci base address; NIG_REGISTERS_INGRESS_BMAC0_MEM; Offset: 0x10c00; should be 199562306a36Sopenharmony_ci added to each BMAC register offset */ 199662306a36Sopenharmony_ci#define NIG_REG_INGRESS_BMAC0_MEM 0x10c00 199762306a36Sopenharmony_ci/* [WB 48] This address space contains BMAC1 registers. The BMAC registers 199862306a36Sopenharmony_ci are described in appendix A. In order to access the BMAC0 registers; the 199962306a36Sopenharmony_ci base address; NIG_REGISTERS_INGRESS_BMAC1_MEM; Offset: 0x11000; should be 200062306a36Sopenharmony_ci added to each BMAC register offset */ 200162306a36Sopenharmony_ci#define NIG_REG_INGRESS_BMAC1_MEM 0x11000 200262306a36Sopenharmony_ci/* [R 1] FIFO empty in EOP descriptor FIFO of LP in NIG_RX_EOP */ 200362306a36Sopenharmony_ci#define NIG_REG_INGRESS_EOP_LB_EMPTY 0x104e0 200462306a36Sopenharmony_ci/* [RW 17] Debug only. RX_EOP_DSCR_lb_FIFO in NIG_RX_EOP. Data 200562306a36Sopenharmony_ci packet_length[13:0]; mac_error[14]; trunc_error[15]; parity[16] */ 200662306a36Sopenharmony_ci#define NIG_REG_INGRESS_EOP_LB_FIFO 0x104e4 200762306a36Sopenharmony_ci/* [RW 27] 0 - must be active for Everest A0; 1- for Everest B0 when latch 200862306a36Sopenharmony_ci logic for interrupts must be used. Enable per bit of interrupt of 200962306a36Sopenharmony_ci ~latch_status.latch_status */ 201062306a36Sopenharmony_ci#define NIG_REG_LATCH_BC_0 0x16210 201162306a36Sopenharmony_ci/* [RW 27] Latch for each interrupt from Unicore.b[0] 201262306a36Sopenharmony_ci status_emac0_misc_mi_int; b[1] status_emac0_misc_mi_complete; 201362306a36Sopenharmony_ci b[2]status_emac0_misc_cfg_change; b[3]status_emac0_misc_link_status; 201462306a36Sopenharmony_ci b[4]status_emac0_misc_link_change; b[5]status_emac0_misc_attn; 201562306a36Sopenharmony_ci b[6]status_serdes0_mac_crs; b[7]status_serdes0_autoneg_complete; 201662306a36Sopenharmony_ci b[8]status_serdes0_fiber_rxact; b[9]status_serdes0_link_status; 201762306a36Sopenharmony_ci b[10]status_serdes0_mr_page_rx; b[11]status_serdes0_cl73_an_complete; 201862306a36Sopenharmony_ci b[12]status_serdes0_cl73_mr_page_rx; b[13]status_serdes0_rx_sigdet; 201962306a36Sopenharmony_ci b[14]status_xgxs0_remotemdioreq; b[15]status_xgxs0_link10g; 202062306a36Sopenharmony_ci b[16]status_xgxs0_autoneg_complete; b[17]status_xgxs0_fiber_rxact; 202162306a36Sopenharmony_ci b[21:18]status_xgxs0_link_status; b[22]status_xgxs0_mr_page_rx; 202262306a36Sopenharmony_ci b[23]status_xgxs0_cl73_an_complete; b[24]status_xgxs0_cl73_mr_page_rx; 202362306a36Sopenharmony_ci b[25]status_xgxs0_rx_sigdet; b[26]status_xgxs0_mac_crs */ 202462306a36Sopenharmony_ci#define NIG_REG_LATCH_STATUS_0 0x18000 202562306a36Sopenharmony_ci/* [RW 1] led 10g for port 0 */ 202662306a36Sopenharmony_ci#define NIG_REG_LED_10G_P0 0x10320 202762306a36Sopenharmony_ci/* [RW 1] led 10g for port 1 */ 202862306a36Sopenharmony_ci#define NIG_REG_LED_10G_P1 0x10324 202962306a36Sopenharmony_ci/* [RW 1] Port0: This bit is set to enable the use of the 203062306a36Sopenharmony_ci ~nig_registers_led_control_blink_rate_p0.led_control_blink_rate_p0 field 203162306a36Sopenharmony_ci defined below. If this bit is cleared; then the blink rate will be about 203262306a36Sopenharmony_ci 8Hz. */ 203362306a36Sopenharmony_ci#define NIG_REG_LED_CONTROL_BLINK_RATE_ENA_P0 0x10318 203462306a36Sopenharmony_ci/* [RW 12] Port0: Specifies the period of each blink cycle (on + off) for 203562306a36Sopenharmony_ci Traffic LED in milliseconds. Must be a non-zero value. This 12-bit field 203662306a36Sopenharmony_ci is reset to 0x080; giving a default blink period of approximately 8Hz. */ 203762306a36Sopenharmony_ci#define NIG_REG_LED_CONTROL_BLINK_RATE_P0 0x10310 203862306a36Sopenharmony_ci/* [RW 1] Port0: If set along with the 203962306a36Sopenharmony_ci ~nig_registers_led_control_override_traffic_p0.led_control_override_traffic_p0 204062306a36Sopenharmony_ci bit and ~nig_registers_led_control_traffic_p0.led_control_traffic_p0 LED 204162306a36Sopenharmony_ci bit; the Traffic LED will blink with the blink rate specified in 204262306a36Sopenharmony_ci ~nig_registers_led_control_blink_rate_p0.led_control_blink_rate_p0 and 204362306a36Sopenharmony_ci ~nig_registers_led_control_blink_rate_ena_p0.led_control_blink_rate_ena_p0 204462306a36Sopenharmony_ci fields. */ 204562306a36Sopenharmony_ci#define NIG_REG_LED_CONTROL_BLINK_TRAFFIC_P0 0x10308 204662306a36Sopenharmony_ci/* [RW 1] Port0: If set overrides hardware control of the Traffic LED. The 204762306a36Sopenharmony_ci Traffic LED will then be controlled via bit ~nig_registers_ 204862306a36Sopenharmony_ci led_control_traffic_p0.led_control_traffic_p0 and bit 204962306a36Sopenharmony_ci ~nig_registers_led_control_blink_traffic_p0.led_control_blink_traffic_p0 */ 205062306a36Sopenharmony_ci#define NIG_REG_LED_CONTROL_OVERRIDE_TRAFFIC_P0 0x102f8 205162306a36Sopenharmony_ci/* [RW 1] Port0: If set along with the led_control_override_trafic_p0 bit; 205262306a36Sopenharmony_ci turns on the Traffic LED. If the led_control_blink_traffic_p0 bit is also 205362306a36Sopenharmony_ci set; the LED will blink with blink rate specified in 205462306a36Sopenharmony_ci ~nig_registers_led_control_blink_rate_p0.led_control_blink_rate_p0 and 205562306a36Sopenharmony_ci ~nig_regsters_led_control_blink_rate_ena_p0.led_control_blink_rate_ena_p0 205662306a36Sopenharmony_ci fields. */ 205762306a36Sopenharmony_ci#define NIG_REG_LED_CONTROL_TRAFFIC_P0 0x10300 205862306a36Sopenharmony_ci/* [RW 4] led mode for port0: 0 MAC; 1-3 PHY1; 4 MAC2; 5-7 PHY4; 8-MAC3; 205962306a36Sopenharmony_ci 9-11PHY7; 12 MAC4; 13-15 PHY10; */ 206062306a36Sopenharmony_ci#define NIG_REG_LED_MODE_P0 0x102f0 206162306a36Sopenharmony_ci/* [RW 3] for port0 enable for llfc ppp and pause. b0 - brb1 enable; b1- 206262306a36Sopenharmony_ci tsdm enable; b2- usdm enable */ 206362306a36Sopenharmony_ci#define NIG_REG_LLFC_EGRESS_SRC_ENABLE_0 0x16070 206462306a36Sopenharmony_ci#define NIG_REG_LLFC_EGRESS_SRC_ENABLE_1 0x16074 206562306a36Sopenharmony_ci/* [RW 1] SAFC enable for port0. This register may get 1 only when 206662306a36Sopenharmony_ci ~ppp_enable.ppp_enable = 0 and pause_enable.pause_enable =0 for the same 206762306a36Sopenharmony_ci port */ 206862306a36Sopenharmony_ci#define NIG_REG_LLFC_ENABLE_0 0x16208 206962306a36Sopenharmony_ci#define NIG_REG_LLFC_ENABLE_1 0x1620c 207062306a36Sopenharmony_ci/* [RW 16] classes are high-priority for port0 */ 207162306a36Sopenharmony_ci#define NIG_REG_LLFC_HIGH_PRIORITY_CLASSES_0 0x16058 207262306a36Sopenharmony_ci#define NIG_REG_LLFC_HIGH_PRIORITY_CLASSES_1 0x1605c 207362306a36Sopenharmony_ci/* [RW 16] classes are low-priority for port0 */ 207462306a36Sopenharmony_ci#define NIG_REG_LLFC_LOW_PRIORITY_CLASSES_0 0x16060 207562306a36Sopenharmony_ci#define NIG_REG_LLFC_LOW_PRIORITY_CLASSES_1 0x16064 207662306a36Sopenharmony_ci/* [RW 1] Output enable of message to LLFC BMAC IF for port0 */ 207762306a36Sopenharmony_ci#define NIG_REG_LLFC_OUT_EN_0 0x160c8 207862306a36Sopenharmony_ci#define NIG_REG_LLFC_OUT_EN_1 0x160cc 207962306a36Sopenharmony_ci#define NIG_REG_LLH0_ACPI_PAT_0_CRC 0x1015c 208062306a36Sopenharmony_ci#define NIG_REG_LLH0_ACPI_PAT_6_LEN 0x10154 208162306a36Sopenharmony_ci#define NIG_REG_LLH0_BRB1_DRV_MASK 0x10244 208262306a36Sopenharmony_ci#define NIG_REG_LLH0_BRB1_DRV_MASK_MF 0x16048 208362306a36Sopenharmony_ci/* [RW 1] send to BRB1 if no match on any of RMP rules. */ 208462306a36Sopenharmony_ci#define NIG_REG_LLH0_BRB1_NOT_MCP 0x1025c 208562306a36Sopenharmony_ci/* [RW 2] Determine the classification participants. 0: no classification.1: 208662306a36Sopenharmony_ci classification upon VLAN id. 2: classification upon MAC address. 3: 208762306a36Sopenharmony_ci classification upon both VLAN id & MAC addr. */ 208862306a36Sopenharmony_ci#define NIG_REG_LLH0_CLS_TYPE 0x16080 208962306a36Sopenharmony_ci/* [RW 32] cm header for llh0 */ 209062306a36Sopenharmony_ci#define NIG_REG_LLH0_CM_HEADER 0x1007c 209162306a36Sopenharmony_ci#define NIG_REG_LLH0_DEST_IP_0_1 0x101dc 209262306a36Sopenharmony_ci#define NIG_REG_LLH0_DEST_MAC_0_0 0x101c0 209362306a36Sopenharmony_ci/* [RW 16] destination TCP address 1. The LLH will look for this address in 209462306a36Sopenharmony_ci all incoming packets. */ 209562306a36Sopenharmony_ci#define NIG_REG_LLH0_DEST_TCP_0 0x10220 209662306a36Sopenharmony_ci/* [RW 16] destination UDP address 1 The LLH will look for this address in 209762306a36Sopenharmony_ci all incoming packets. */ 209862306a36Sopenharmony_ci#define NIG_REG_LLH0_DEST_UDP_0 0x10214 209962306a36Sopenharmony_ci#define NIG_REG_LLH0_ERROR_MASK 0x1008c 210062306a36Sopenharmony_ci/* [RW 8] event id for llh0 */ 210162306a36Sopenharmony_ci#define NIG_REG_LLH0_EVENT_ID 0x10084 210262306a36Sopenharmony_ci#define NIG_REG_LLH0_FUNC_EN 0x160fc 210362306a36Sopenharmony_ci#define NIG_REG_LLH0_FUNC_MEM 0x16180 210462306a36Sopenharmony_ci#define NIG_REG_LLH0_FUNC_MEM_ENABLE 0x16140 210562306a36Sopenharmony_ci#define NIG_REG_LLH0_FUNC_VLAN_ID 0x16100 210662306a36Sopenharmony_ci/* [RW 1] Determine the IP version to look for in 210762306a36Sopenharmony_ci ~nig_registers_llh0_dest_ip_0.llh0_dest_ip_0. 0 - IPv6; 1-IPv4 */ 210862306a36Sopenharmony_ci#define NIG_REG_LLH0_IPV4_IPV6_0 0x10208 210962306a36Sopenharmony_ci/* [RW 1] t bit for llh0 */ 211062306a36Sopenharmony_ci#define NIG_REG_LLH0_T_BIT 0x10074 211162306a36Sopenharmony_ci/* [RW 12] VLAN ID 1. In case of VLAN packet the LLH will look for this ID. */ 211262306a36Sopenharmony_ci#define NIG_REG_LLH0_VLAN_ID_0 0x1022c 211362306a36Sopenharmony_ci/* [RW 8] init credit counter for port0 in LLH */ 211462306a36Sopenharmony_ci#define NIG_REG_LLH0_XCM_INIT_CREDIT 0x10554 211562306a36Sopenharmony_ci#define NIG_REG_LLH0_XCM_MASK 0x10130 211662306a36Sopenharmony_ci#define NIG_REG_LLH1_BRB1_DRV_MASK 0x10248 211762306a36Sopenharmony_ci/* [RW 1] send to BRB1 if no match on any of RMP rules. */ 211862306a36Sopenharmony_ci#define NIG_REG_LLH1_BRB1_NOT_MCP 0x102dc 211962306a36Sopenharmony_ci/* [RW 2] Determine the classification participants. 0: no classification.1: 212062306a36Sopenharmony_ci classification upon VLAN id. 2: classification upon MAC address. 3: 212162306a36Sopenharmony_ci classification upon both VLAN id & MAC addr. */ 212262306a36Sopenharmony_ci#define NIG_REG_LLH1_CLS_TYPE 0x16084 212362306a36Sopenharmony_ci/* [RW 32] cm header for llh1 */ 212462306a36Sopenharmony_ci#define NIG_REG_LLH1_CM_HEADER 0x10080 212562306a36Sopenharmony_ci#define NIG_REG_LLH1_ERROR_MASK 0x10090 212662306a36Sopenharmony_ci/* [RW 8] event id for llh1 */ 212762306a36Sopenharmony_ci#define NIG_REG_LLH1_EVENT_ID 0x10088 212862306a36Sopenharmony_ci#define NIG_REG_LLH1_FUNC_EN 0x16104 212962306a36Sopenharmony_ci#define NIG_REG_LLH1_FUNC_MEM 0x161c0 213062306a36Sopenharmony_ci#define NIG_REG_LLH1_FUNC_MEM_ENABLE 0x16160 213162306a36Sopenharmony_ci#define NIG_REG_LLH1_FUNC_MEM_SIZE 16 213262306a36Sopenharmony_ci/* [RW 1] When this bit is set; the LLH will classify the packet before 213362306a36Sopenharmony_ci * sending it to the BRB or calculating WoL on it. This bit controls port 1 213462306a36Sopenharmony_ci * only. The legacy llh_multi_function_mode bit controls port 0. */ 213562306a36Sopenharmony_ci#define NIG_REG_LLH1_MF_MODE 0x18614 213662306a36Sopenharmony_ci/* [RW 8] init credit counter for port1 in LLH */ 213762306a36Sopenharmony_ci#define NIG_REG_LLH1_XCM_INIT_CREDIT 0x10564 213862306a36Sopenharmony_ci#define NIG_REG_LLH1_XCM_MASK 0x10134 213962306a36Sopenharmony_ci/* [RW 1] When this bit is set; the LLH will expect all packets to be with 214062306a36Sopenharmony_ci e1hov */ 214162306a36Sopenharmony_ci#define NIG_REG_LLH_E1HOV_MODE 0x160d8 214262306a36Sopenharmony_ci/* [RW 16] Outer VLAN type identifier for multi-function mode. In non 214362306a36Sopenharmony_ci * multi-function mode; it will hold the inner VLAN type. Typically 0x8100. 214462306a36Sopenharmony_ci */ 214562306a36Sopenharmony_ci#define NIG_REG_LLH_E1HOV_TYPE_1 0x16028 214662306a36Sopenharmony_ci/* [RW 1] When this bit is set; the LLH will classify the packet before 214762306a36Sopenharmony_ci sending it to the BRB or calculating WoL on it. */ 214862306a36Sopenharmony_ci#define NIG_REG_LLH_MF_MODE 0x16024 214962306a36Sopenharmony_ci#define NIG_REG_MASK_INTERRUPT_PORT0 0x10330 215062306a36Sopenharmony_ci#define NIG_REG_MASK_INTERRUPT_PORT1 0x10334 215162306a36Sopenharmony_ci/* [RW 1] Output signal from NIG to EMAC0. When set enables the EMAC0 block. */ 215262306a36Sopenharmony_ci#define NIG_REG_NIG_EMAC0_EN 0x1003c 215362306a36Sopenharmony_ci/* [RW 1] Output signal from NIG to EMAC1. When set enables the EMAC1 block. */ 215462306a36Sopenharmony_ci#define NIG_REG_NIG_EMAC1_EN 0x10040 215562306a36Sopenharmony_ci/* [RW 1] Output signal from NIG to TX_EMAC0. When set indicates to the 215662306a36Sopenharmony_ci EMAC0 to strip the CRC from the ingress packets. */ 215762306a36Sopenharmony_ci#define NIG_REG_NIG_INGRESS_EMAC0_NO_CRC 0x10044 215862306a36Sopenharmony_ci/* [R 32] Interrupt register #0 read */ 215962306a36Sopenharmony_ci#define NIG_REG_NIG_INT_STS_0 0x103b0 216062306a36Sopenharmony_ci#define NIG_REG_NIG_INT_STS_1 0x103c0 216162306a36Sopenharmony_ci/* [RC 32] Interrupt register #0 read clear */ 216262306a36Sopenharmony_ci#define NIG_REG_NIG_INT_STS_CLR_0 0x103b4 216362306a36Sopenharmony_ci/* [R 32] Legacy E1 and E1H location for parity error mask register. */ 216462306a36Sopenharmony_ci#define NIG_REG_NIG_PRTY_MASK 0x103dc 216562306a36Sopenharmony_ci/* [RW 32] Parity mask register #0 read/write */ 216662306a36Sopenharmony_ci#define NIG_REG_NIG_PRTY_MASK_0 0x183c8 216762306a36Sopenharmony_ci#define NIG_REG_NIG_PRTY_MASK_1 0x183d8 216862306a36Sopenharmony_ci/* [R 32] Legacy E1 and E1H location for parity error status register. */ 216962306a36Sopenharmony_ci#define NIG_REG_NIG_PRTY_STS 0x103d0 217062306a36Sopenharmony_ci/* [R 32] Parity register #0 read */ 217162306a36Sopenharmony_ci#define NIG_REG_NIG_PRTY_STS_0 0x183bc 217262306a36Sopenharmony_ci#define NIG_REG_NIG_PRTY_STS_1 0x183cc 217362306a36Sopenharmony_ci/* [R 32] Legacy E1 and E1H location for parity error status clear register. */ 217462306a36Sopenharmony_ci#define NIG_REG_NIG_PRTY_STS_CLR 0x103d4 217562306a36Sopenharmony_ci/* [RC 32] Parity register #0 read clear */ 217662306a36Sopenharmony_ci#define NIG_REG_NIG_PRTY_STS_CLR_0 0x183c0 217762306a36Sopenharmony_ci#define NIG_REG_NIG_PRTY_STS_CLR_1 0x183d0 217862306a36Sopenharmony_ci#define MCPR_IMC_COMMAND_ENABLE (1L<<31) 217962306a36Sopenharmony_ci#define MCPR_IMC_COMMAND_IMC_STATUS_BITSHIFT 16 218062306a36Sopenharmony_ci#define MCPR_IMC_COMMAND_OPERATION_BITSHIFT 28 218162306a36Sopenharmony_ci#define MCPR_IMC_COMMAND_TRANSFER_ADDRESS_BITSHIFT 8 218262306a36Sopenharmony_ci/* [RW 6] Bit-map indicating which L2 hdrs may appear after the basic 218362306a36Sopenharmony_ci * Ethernet header. */ 218462306a36Sopenharmony_ci#define NIG_REG_P0_HDRS_AFTER_BASIC 0x18038 218562306a36Sopenharmony_ci/* [RW 1] HW PFC enable bit. Set this bit to enable the PFC functionality in 218662306a36Sopenharmony_ci * the NIG. Other flow control modes such as PAUSE and SAFC/LLFC should be 218762306a36Sopenharmony_ci * disabled when this bit is set. */ 218862306a36Sopenharmony_ci#define NIG_REG_P0_HWPFC_ENABLE 0x18078 218962306a36Sopenharmony_ci#define NIG_REG_P0_LLH_FUNC_MEM2 0x18480 219062306a36Sopenharmony_ci#define NIG_REG_P0_LLH_FUNC_MEM2_ENABLE 0x18440 219162306a36Sopenharmony_ci/* [RW 17] Packet TimeSync information that is buffered in 1-deep FIFOs for 219262306a36Sopenharmony_ci * the host. Bits [15:0] return the sequence ID of the packet. Bit 16 219362306a36Sopenharmony_ci * indicates the validity of the data in the buffer. Writing a 1 to bit 16 219462306a36Sopenharmony_ci * will clear the buffer. 219562306a36Sopenharmony_ci */ 219662306a36Sopenharmony_ci#define NIG_REG_P0_LLH_PTP_HOST_BUF_SEQID 0x1875c 219762306a36Sopenharmony_ci/* [R 32] Packet TimeSync information that is buffered in 1-deep FIFOs for 219862306a36Sopenharmony_ci * the host. This location returns the lower 32 bits of timestamp value. 219962306a36Sopenharmony_ci */ 220062306a36Sopenharmony_ci#define NIG_REG_P0_LLH_PTP_HOST_BUF_TS_LSB 0x18754 220162306a36Sopenharmony_ci/* [R 32] Packet TimeSync information that is buffered in 1-deep FIFOs for 220262306a36Sopenharmony_ci * the host. This location returns the upper 32 bits of timestamp value. 220362306a36Sopenharmony_ci */ 220462306a36Sopenharmony_ci#define NIG_REG_P0_LLH_PTP_HOST_BUF_TS_MSB 0x18758 220562306a36Sopenharmony_ci/* [RW 11] Mask register for the various parameters used in determining PTP 220662306a36Sopenharmony_ci * packet presence. Set each bit to 1 to mask out the particular parameter. 220762306a36Sopenharmony_ci * 0-IPv4 DA 0 of 224.0.1.129. 1-IPv4 DA 1 of 224.0.0.107. 2-IPv6 DA 0 of 220862306a36Sopenharmony_ci * 0xFF0*:0:0:0:0:0:0:181. 3-IPv6 DA 1 of 0xFF02:0:0:0:0:0:0:6B. 4-UDP 220962306a36Sopenharmony_ci * destination port 0 of 319. 5-UDP destination port 1 of 320. 6-MAC 221062306a36Sopenharmony_ci * Ethertype 0 of 0x88F7. 7-configurable MAC Ethertype 1. 8-MAC DA 0 of 221162306a36Sopenharmony_ci * 0x01-1B-19-00-00-00. 9-MAC DA 1 of 0x01-80-C2-00-00-0E. 10-configurable 221262306a36Sopenharmony_ci * MAC DA 2. The reset default is set to mask out all parameters. 221362306a36Sopenharmony_ci */ 221462306a36Sopenharmony_ci#define NIG_REG_P0_LLH_PTP_PARAM_MASK 0x187a0 221562306a36Sopenharmony_ci/* [RW 14] Mask register for the rules used in detecting PTP packets. Set 221662306a36Sopenharmony_ci * each bit to 1 to mask out that particular rule. 0-{IPv4 DA 0; UDP DP 0} . 221762306a36Sopenharmony_ci * 1-{IPv4 DA 0; UDP DP 1} . 2-{IPv4 DA 1; UDP DP 0} . 3-{IPv4 DA 1; UDP DP 221862306a36Sopenharmony_ci * 1} . 4-{IPv6 DA 0; UDP DP 0} . 5-{IPv6 DA 0; UDP DP 1} . 6-{IPv6 DA 1; 221962306a36Sopenharmony_ci * UDP DP 0} . 7-{IPv6 DA 1; UDP DP 1} . 8-{MAC DA 0; Ethertype 0} . 9-{MAC 222062306a36Sopenharmony_ci * DA 1; Ethertype 0} . 10-{MAC DA 0; Ethertype 1} . 11-{MAC DA 1; Ethertype 222162306a36Sopenharmony_ci * 1} . 12-{MAC DA 2; Ethertype 0} . 13-{MAC DA 2; Ethertype 1} . The reset 222262306a36Sopenharmony_ci * default is to mask out all of the rules. Note that rules 0-3 are for IPv4 222362306a36Sopenharmony_ci * packets only and require that the packet is IPv4 for the rules to match. 222462306a36Sopenharmony_ci * Note that rules 4-7 are for IPv6 packets only and require that the packet 222562306a36Sopenharmony_ci * is IPv6 for the rules to match. 222662306a36Sopenharmony_ci */ 222762306a36Sopenharmony_ci#define NIG_REG_P0_LLH_PTP_RULE_MASK 0x187a4 222862306a36Sopenharmony_ci/* [RW 1] Set to 1 to enable PTP packets to be forwarded to the host. */ 222962306a36Sopenharmony_ci#define NIG_REG_P0_LLH_PTP_TO_HOST 0x187ac 223062306a36Sopenharmony_ci/* [RW 1] Input enable for RX MAC interface. */ 223162306a36Sopenharmony_ci#define NIG_REG_P0_MAC_IN_EN 0x185ac 223262306a36Sopenharmony_ci/* [RW 1] Output enable for TX MAC interface */ 223362306a36Sopenharmony_ci#define NIG_REG_P0_MAC_OUT_EN 0x185b0 223462306a36Sopenharmony_ci/* [RW 1] Output enable for TX PAUSE signal to the MAC. */ 223562306a36Sopenharmony_ci#define NIG_REG_P0_MAC_PAUSE_OUT_EN 0x185b4 223662306a36Sopenharmony_ci/* [RW 32] Eight 4-bit configurations for specifying which COS (0-15 for 223762306a36Sopenharmony_ci * future expansion) each priorty is to be mapped to. Bits 3:0 specify the 223862306a36Sopenharmony_ci * COS for priority 0. Bits 31:28 specify the COS for priority 7. The 3-bit 223962306a36Sopenharmony_ci * priority field is extracted from the outer-most VLAN in receive packet. 224062306a36Sopenharmony_ci * Only COS 0 and COS 1 are supported in E2. */ 224162306a36Sopenharmony_ci#define NIG_REG_P0_PKT_PRIORITY_TO_COS 0x18054 224262306a36Sopenharmony_ci/* [RW 6] Enable for TimeSync feature. Bits [2:0] are for RX side. Bits 224362306a36Sopenharmony_ci * [5:3] are for TX side. Bit 0 enables TimeSync on RX side. Bit 1 enables 224462306a36Sopenharmony_ci * V1 frame format in timesync event detection on RX side. Bit 2 enables V2 224562306a36Sopenharmony_ci * frame format in timesync event detection on RX side. Bit 3 enables 224662306a36Sopenharmony_ci * TimeSync on TX side. Bit 4 enables V1 frame format in timesync event 224762306a36Sopenharmony_ci * detection on TX side. Bit 5 enables V2 frame format in timesync event 224862306a36Sopenharmony_ci * detection on TX side. Note that for HW to detect PTP packet and extract 224962306a36Sopenharmony_ci * data from the packet, at least one of the version bits of that traffic 225062306a36Sopenharmony_ci * direction has to be enabled. 225162306a36Sopenharmony_ci */ 225262306a36Sopenharmony_ci#define NIG_REG_P0_PTP_EN 0x18788 225362306a36Sopenharmony_ci/* [RW 16] Bit-map indicating which SAFC/PFC priorities to map to COS 0. A 225462306a36Sopenharmony_ci * priority is mapped to COS 0 when the corresponding mask bit is 1. More 225562306a36Sopenharmony_ci * than one bit may be set; allowing multiple priorities to be mapped to one 225662306a36Sopenharmony_ci * COS. */ 225762306a36Sopenharmony_ci#define NIG_REG_P0_RX_COS0_PRIORITY_MASK 0x18058 225862306a36Sopenharmony_ci/* [RW 16] Bit-map indicating which SAFC/PFC priorities to map to COS 1. A 225962306a36Sopenharmony_ci * priority is mapped to COS 1 when the corresponding mask bit is 1. More 226062306a36Sopenharmony_ci * than one bit may be set; allowing multiple priorities to be mapped to one 226162306a36Sopenharmony_ci * COS. */ 226262306a36Sopenharmony_ci#define NIG_REG_P0_RX_COS1_PRIORITY_MASK 0x1805c 226362306a36Sopenharmony_ci/* [RW 16] Bit-map indicating which SAFC/PFC priorities to map to COS 2. A 226462306a36Sopenharmony_ci * priority is mapped to COS 2 when the corresponding mask bit is 1. More 226562306a36Sopenharmony_ci * than one bit may be set; allowing multiple priorities to be mapped to one 226662306a36Sopenharmony_ci * COS. */ 226762306a36Sopenharmony_ci#define NIG_REG_P0_RX_COS2_PRIORITY_MASK 0x186b0 226862306a36Sopenharmony_ci/* [RW 16] Bit-map indicating which SAFC/PFC priorities to map to COS 3. A 226962306a36Sopenharmony_ci * priority is mapped to COS 3 when the corresponding mask bit is 1. More 227062306a36Sopenharmony_ci * than one bit may be set; allowing multiple priorities to be mapped to one 227162306a36Sopenharmony_ci * COS. */ 227262306a36Sopenharmony_ci#define NIG_REG_P0_RX_COS3_PRIORITY_MASK 0x186b4 227362306a36Sopenharmony_ci/* [RW 16] Bit-map indicating which SAFC/PFC priorities to map to COS 4. A 227462306a36Sopenharmony_ci * priority is mapped to COS 4 when the corresponding mask bit is 1. More 227562306a36Sopenharmony_ci * than one bit may be set; allowing multiple priorities to be mapped to one 227662306a36Sopenharmony_ci * COS. */ 227762306a36Sopenharmony_ci#define NIG_REG_P0_RX_COS4_PRIORITY_MASK 0x186b8 227862306a36Sopenharmony_ci/* [RW 16] Bit-map indicating which SAFC/PFC priorities to map to COS 5. A 227962306a36Sopenharmony_ci * priority is mapped to COS 5 when the corresponding mask bit is 1. More 228062306a36Sopenharmony_ci * than one bit may be set; allowing multiple priorities to be mapped to one 228162306a36Sopenharmony_ci * COS. */ 228262306a36Sopenharmony_ci#define NIG_REG_P0_RX_COS5_PRIORITY_MASK 0x186bc 228362306a36Sopenharmony_ci/* [R 1] RX FIFO for receiving data from MAC is empty. */ 228462306a36Sopenharmony_ci/* [RW 15] Specify which of the credit registers the client is to be mapped 228562306a36Sopenharmony_ci * to. Bits[2:0] are for client 0; bits [14:12] are for client 4. For 228662306a36Sopenharmony_ci * clients that are not subject to WFQ credit blocking - their 228762306a36Sopenharmony_ci * specifications here are not used. */ 228862306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CLIENT_CREDIT_MAP 0x180f0 228962306a36Sopenharmony_ci/* [RW 32] Specify which of the credit registers the client is to be mapped 229062306a36Sopenharmony_ci * to. This register specifies bits 31:0 of the 36-bit value. Bits[3:0] are 229162306a36Sopenharmony_ci * for client 0; bits [35:32] are for client 8. For clients that are not 229262306a36Sopenharmony_ci * subject to WFQ credit blocking - their specifications here are not used. 229362306a36Sopenharmony_ci * This is a new register (with 2_) added in E3 B0 to accommodate the 9 229462306a36Sopenharmony_ci * input clients to ETS arbiter. The reset default is set for management and 229562306a36Sopenharmony_ci * debug to use credit registers 6, 7, and 8, respectively, and COSes 0-5 to 229662306a36Sopenharmony_ci * use credit registers 0-5 respectively (0x543210876). Note that credit 229762306a36Sopenharmony_ci * registers can not be shared between clients. */ 229862306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CLIENT_CREDIT_MAP2_LSB 0x18688 229962306a36Sopenharmony_ci/* [RW 4] Specify which of the credit registers the client is to be mapped 230062306a36Sopenharmony_ci * to. This register specifies bits 35:32 of the 36-bit value. Bits[3:0] are 230162306a36Sopenharmony_ci * for client 0; bits [35:32] are for client 8. For clients that are not 230262306a36Sopenharmony_ci * subject to WFQ credit blocking - their specifications here are not used. 230362306a36Sopenharmony_ci * This is a new register (with 2_) added in E3 B0 to accommodate the 9 230462306a36Sopenharmony_ci * input clients to ETS arbiter. The reset default is set for management and 230562306a36Sopenharmony_ci * debug to use credit registers 6, 7, and 8, respectively, and COSes 0-5 to 230662306a36Sopenharmony_ci * use credit registers 0-5 respectively (0x543210876). Note that credit 230762306a36Sopenharmony_ci * registers can not be shared between clients. */ 230862306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CLIENT_CREDIT_MAP2_MSB 0x1868c 230962306a36Sopenharmony_ci/* [RW 5] Specify whether the client competes directly in the strict 231062306a36Sopenharmony_ci * priority arbiter. The bits are mapped according to client ID (client IDs 231162306a36Sopenharmony_ci * are defined in tx_arb_priority_client). Default value is set to enable 231262306a36Sopenharmony_ci * strict priorities for clients 0-2 -- management and debug traffic. */ 231362306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CLIENT_IS_STRICT 0x180e8 231462306a36Sopenharmony_ci/* [RW 5] Specify whether the client is subject to WFQ credit blocking. The 231562306a36Sopenharmony_ci * bits are mapped according to client ID (client IDs are defined in 231662306a36Sopenharmony_ci * tx_arb_priority_client). Default value is 0 for not using WFQ credit 231762306a36Sopenharmony_ci * blocking. */ 231862306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CLIENT_IS_SUBJECT2WFQ 0x180ec 231962306a36Sopenharmony_ci/* [RW 32] Specify the upper bound that credit register 0 is allowed to 232062306a36Sopenharmony_ci * reach. */ 232162306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_0 0x1810c 232262306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_1 0x18110 232362306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_2 0x18114 232462306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_3 0x18118 232562306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_4 0x1811c 232662306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_5 0x186a0 232762306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_6 0x186a4 232862306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_7 0x186a8 232962306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_8 0x186ac 233062306a36Sopenharmony_ci/* [RW 32] Specify the weight (in bytes) to be added to credit register 0 233162306a36Sopenharmony_ci * when it is time to increment. */ 233262306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_0 0x180f8 233362306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_1 0x180fc 233462306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_2 0x18100 233562306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_3 0x18104 233662306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_4 0x18108 233762306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_5 0x18690 233862306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_6 0x18694 233962306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_7 0x18698 234062306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_8 0x1869c 234162306a36Sopenharmony_ci/* [RW 12] Specify the number of strict priority arbitration slots between 234262306a36Sopenharmony_ci * two round-robin arbitration slots to avoid starvation. A value of 0 means 234362306a36Sopenharmony_ci * no strict priority cycles - the strict priority with anti-starvation 234462306a36Sopenharmony_ci * arbiter becomes a round-robin arbiter. */ 234562306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_NUM_STRICT_ARB_SLOTS 0x180f4 234662306a36Sopenharmony_ci/* [RW 15] Specify the client number to be assigned to each priority of the 234762306a36Sopenharmony_ci * strict priority arbiter. Priority 0 is the highest priority. Bits [2:0] 234862306a36Sopenharmony_ci * are for priority 0 client; bits [14:12] are for priority 4 client. The 234962306a36Sopenharmony_ci * clients are assigned the following IDs: 0-management; 1-debug traffic 235062306a36Sopenharmony_ci * from this port; 2-debug traffic from other port; 3-COS0 traffic; 4-COS1 235162306a36Sopenharmony_ci * traffic. The reset value[14:0] is set to 0x4688 (15'b100_011_010_001_000) 235262306a36Sopenharmony_ci * for management at priority 0; debug traffic at priorities 1 and 2; COS0 235362306a36Sopenharmony_ci * traffic at priority 3; and COS1 traffic at priority 4. */ 235462306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_PRIORITY_CLIENT 0x180e4 235562306a36Sopenharmony_ci/* [RW 6] Bit-map indicating which L2 hdrs may appear after the basic 235662306a36Sopenharmony_ci * Ethernet header. */ 235762306a36Sopenharmony_ci#define NIG_REG_P1_HDRS_AFTER_BASIC 0x1818c 235862306a36Sopenharmony_ci#define NIG_REG_P1_LLH_FUNC_MEM2 0x184c0 235962306a36Sopenharmony_ci#define NIG_REG_P1_LLH_FUNC_MEM2_ENABLE 0x18460a 236062306a36Sopenharmony_ci/* [RW 17] Packet TimeSync information that is buffered in 1-deep FIFOs for 236162306a36Sopenharmony_ci * the host. Bits [15:0] return the sequence ID of the packet. Bit 16 236262306a36Sopenharmony_ci * indicates the validity of the data in the buffer. Writing a 1 to bit 16 236362306a36Sopenharmony_ci * will clear the buffer. 236462306a36Sopenharmony_ci */ 236562306a36Sopenharmony_ci#define NIG_REG_P1_LLH_PTP_HOST_BUF_SEQID 0x18774 236662306a36Sopenharmony_ci/* [R 32] Packet TimeSync information that is buffered in 1-deep FIFOs for 236762306a36Sopenharmony_ci * the host. This location returns the lower 32 bits of timestamp value. 236862306a36Sopenharmony_ci */ 236962306a36Sopenharmony_ci#define NIG_REG_P1_LLH_PTP_HOST_BUF_TS_LSB 0x1876c 237062306a36Sopenharmony_ci/* [R 32] Packet TimeSync information that is buffered in 1-deep FIFOs for 237162306a36Sopenharmony_ci * the host. This location returns the upper 32 bits of timestamp value. 237262306a36Sopenharmony_ci */ 237362306a36Sopenharmony_ci#define NIG_REG_P1_LLH_PTP_HOST_BUF_TS_MSB 0x18770 237462306a36Sopenharmony_ci/* [RW 11] Mask register for the various parameters used in determining PTP 237562306a36Sopenharmony_ci * packet presence. Set each bit to 1 to mask out the particular parameter. 237662306a36Sopenharmony_ci * 0-IPv4 DA 0 of 224.0.1.129. 1-IPv4 DA 1 of 224.0.0.107. 2-IPv6 DA 0 of 237762306a36Sopenharmony_ci * 0xFF0*:0:0:0:0:0:0:181. 3-IPv6 DA 1 of 0xFF02:0:0:0:0:0:0:6B. 4-UDP 237862306a36Sopenharmony_ci * destination port 0 of 319. 5-UDP destination port 1 of 320. 6-MAC 237962306a36Sopenharmony_ci * Ethertype 0 of 0x88F7. 7-configurable MAC Ethertype 1. 8-MAC DA 0 of 238062306a36Sopenharmony_ci * 0x01-1B-19-00-00-00. 9-MAC DA 1 of 0x01-80-C2-00-00-0E. 10-configurable 238162306a36Sopenharmony_ci * MAC DA 2. The reset default is set to mask out all parameters. 238262306a36Sopenharmony_ci */ 238362306a36Sopenharmony_ci#define NIG_REG_P1_LLH_PTP_PARAM_MASK 0x187c8 238462306a36Sopenharmony_ci/* [RW 14] Mask register for the rules used in detecting PTP packets. Set 238562306a36Sopenharmony_ci * each bit to 1 to mask out that particular rule. 0-{IPv4 DA 0; UDP DP 0} . 238662306a36Sopenharmony_ci * 1-{IPv4 DA 0; UDP DP 1} . 2-{IPv4 DA 1; UDP DP 0} . 3-{IPv4 DA 1; UDP DP 238762306a36Sopenharmony_ci * 1} . 4-{IPv6 DA 0; UDP DP 0} . 5-{IPv6 DA 0; UDP DP 1} . 6-{IPv6 DA 1; 238862306a36Sopenharmony_ci * UDP DP 0} . 7-{IPv6 DA 1; UDP DP 1} . 8-{MAC DA 0; Ethertype 0} . 9-{MAC 238962306a36Sopenharmony_ci * DA 1; Ethertype 0} . 10-{MAC DA 0; Ethertype 1} . 11-{MAC DA 1; Ethertype 239062306a36Sopenharmony_ci * 1} . 12-{MAC DA 2; Ethertype 0} . 13-{MAC DA 2; Ethertype 1} . The reset 239162306a36Sopenharmony_ci * default is to mask out all of the rules. Note that rules 0-3 are for IPv4 239262306a36Sopenharmony_ci * packets only and require that the packet is IPv4 for the rules to match. 239362306a36Sopenharmony_ci * Note that rules 4-7 are for IPv6 packets only and require that the packet 239462306a36Sopenharmony_ci * is IPv6 for the rules to match. 239562306a36Sopenharmony_ci */ 239662306a36Sopenharmony_ci#define NIG_REG_P1_LLH_PTP_RULE_MASK 0x187cc 239762306a36Sopenharmony_ci/* [RW 1] Set to 1 to enable PTP packets to be forwarded to the host. */ 239862306a36Sopenharmony_ci#define NIG_REG_P1_LLH_PTP_TO_HOST 0x187d4 239962306a36Sopenharmony_ci/* [RW 32] Specify the client number to be assigned to each priority of the 240062306a36Sopenharmony_ci * strict priority arbiter. This register specifies bits 31:0 of the 36-bit 240162306a36Sopenharmony_ci * value. Priority 0 is the highest priority. Bits [3:0] are for priority 0 240262306a36Sopenharmony_ci * client; bits [35-32] are for priority 8 client. The clients are assigned 240362306a36Sopenharmony_ci * the following IDs: 0-management; 1-debug traffic from this port; 2-debug 240462306a36Sopenharmony_ci * traffic from other port; 3-COS0 traffic; 4-COS1 traffic; 5-COS2 traffic; 240562306a36Sopenharmony_ci * 6-COS3 traffic; 7-COS4 traffic; 8-COS5 traffic. The reset value[35:0] is 240662306a36Sopenharmony_ci * set to 0x345678021. This is a new register (with 2_) added in E3 B0 to 240762306a36Sopenharmony_ci * accommodate the 9 input clients to ETS arbiter. */ 240862306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_PRIORITY_CLIENT2_LSB 0x18680 240962306a36Sopenharmony_ci/* [RW 4] Specify the client number to be assigned to each priority of the 241062306a36Sopenharmony_ci * strict priority arbiter. This register specifies bits 35:32 of the 36-bit 241162306a36Sopenharmony_ci * value. Priority 0 is the highest priority. Bits [3:0] are for priority 0 241262306a36Sopenharmony_ci * client; bits [35-32] are for priority 8 client. The clients are assigned 241362306a36Sopenharmony_ci * the following IDs: 0-management; 1-debug traffic from this port; 2-debug 241462306a36Sopenharmony_ci * traffic from other port; 3-COS0 traffic; 4-COS1 traffic; 5-COS2 traffic; 241562306a36Sopenharmony_ci * 6-COS3 traffic; 7-COS4 traffic; 8-COS5 traffic. The reset value[35:0] is 241662306a36Sopenharmony_ci * set to 0x345678021. This is a new register (with 2_) added in E3 B0 to 241762306a36Sopenharmony_ci * accommodate the 9 input clients to ETS arbiter. */ 241862306a36Sopenharmony_ci#define NIG_REG_P0_TX_ARB_PRIORITY_CLIENT2_MSB 0x18684 241962306a36Sopenharmony_ci/* [RW 1] MCP-to-host path enable. Set this bit to enable the routing of MCP 242062306a36Sopenharmony_ci * packets to BRB LB interface to forward the packet to the host. All 242162306a36Sopenharmony_ci * packets from MCP are forwarded to the network when this bit is cleared - 242262306a36Sopenharmony_ci * regardless of the configured destination in tx_mng_destination register. 242362306a36Sopenharmony_ci * When MCP-to-host paths for both ports 0 and 1 are disabled - the arbiter 242462306a36Sopenharmony_ci * for BRB LB interface is bypassed and PBF LB traffic is always selected to 242562306a36Sopenharmony_ci * send to BRB LB. 242662306a36Sopenharmony_ci */ 242762306a36Sopenharmony_ci#define NIG_REG_P0_TX_MNG_HOST_ENABLE 0x182f4 242862306a36Sopenharmony_ci#define NIG_REG_P1_HWPFC_ENABLE 0x181d0 242962306a36Sopenharmony_ci#define NIG_REG_P1_MAC_IN_EN 0x185c0 243062306a36Sopenharmony_ci/* [RW 1] Output enable for TX MAC interface */ 243162306a36Sopenharmony_ci#define NIG_REG_P1_MAC_OUT_EN 0x185c4 243262306a36Sopenharmony_ci/* [RW 1] Output enable for TX PAUSE signal to the MAC. */ 243362306a36Sopenharmony_ci#define NIG_REG_P1_MAC_PAUSE_OUT_EN 0x185c8 243462306a36Sopenharmony_ci/* [RW 32] Eight 4-bit configurations for specifying which COS (0-15 for 243562306a36Sopenharmony_ci * future expansion) each priorty is to be mapped to. Bits 3:0 specify the 243662306a36Sopenharmony_ci * COS for priority 0. Bits 31:28 specify the COS for priority 7. The 3-bit 243762306a36Sopenharmony_ci * priority field is extracted from the outer-most VLAN in receive packet. 243862306a36Sopenharmony_ci * Only COS 0 and COS 1 are supported in E2. */ 243962306a36Sopenharmony_ci#define NIG_REG_P1_PKT_PRIORITY_TO_COS 0x181a8 244062306a36Sopenharmony_ci/* [RW 6] Enable for TimeSync feature. Bits [2:0] are for RX side. Bits 244162306a36Sopenharmony_ci * [5:3] are for TX side. Bit 0 enables TimeSync on RX side. Bit 1 enables 244262306a36Sopenharmony_ci * V1 frame format in timesync event detection on RX side. Bit 2 enables V2 244362306a36Sopenharmony_ci * frame format in timesync event detection on RX side. Bit 3 enables 244462306a36Sopenharmony_ci * TimeSync on TX side. Bit 4 enables V1 frame format in timesync event 244562306a36Sopenharmony_ci * detection on TX side. Bit 5 enables V2 frame format in timesync event 244662306a36Sopenharmony_ci * detection on TX side. Note that for HW to detect PTP packet and extract 244762306a36Sopenharmony_ci * data from the packet, at least one of the version bits of that traffic 244862306a36Sopenharmony_ci * direction has to be enabled. 244962306a36Sopenharmony_ci */ 245062306a36Sopenharmony_ci#define NIG_REG_P1_PTP_EN 0x187b0 245162306a36Sopenharmony_ci/* [RW 16] Bit-map indicating which SAFC/PFC priorities to map to COS 0. A 245262306a36Sopenharmony_ci * priority is mapped to COS 0 when the corresponding mask bit is 1. More 245362306a36Sopenharmony_ci * than one bit may be set; allowing multiple priorities to be mapped to one 245462306a36Sopenharmony_ci * COS. */ 245562306a36Sopenharmony_ci#define NIG_REG_P1_RX_COS0_PRIORITY_MASK 0x181ac 245662306a36Sopenharmony_ci/* [RW 16] Bit-map indicating which SAFC/PFC priorities to map to COS 1. A 245762306a36Sopenharmony_ci * priority is mapped to COS 1 when the corresponding mask bit is 1. More 245862306a36Sopenharmony_ci * than one bit may be set; allowing multiple priorities to be mapped to one 245962306a36Sopenharmony_ci * COS. */ 246062306a36Sopenharmony_ci#define NIG_REG_P1_RX_COS1_PRIORITY_MASK 0x181b0 246162306a36Sopenharmony_ci/* [RW 16] Bit-map indicating which SAFC/PFC priorities to map to COS 2. A 246262306a36Sopenharmony_ci * priority is mapped to COS 2 when the corresponding mask bit is 1. More 246362306a36Sopenharmony_ci * than one bit may be set; allowing multiple priorities to be mapped to one 246462306a36Sopenharmony_ci * COS. */ 246562306a36Sopenharmony_ci#define NIG_REG_P1_RX_COS2_PRIORITY_MASK 0x186f8 246662306a36Sopenharmony_ci/* [R 1] RX FIFO for receiving data from MAC is empty. */ 246762306a36Sopenharmony_ci#define NIG_REG_P1_RX_MACFIFO_EMPTY 0x1858c 246862306a36Sopenharmony_ci/* [R 1] TLLH FIFO is empty. */ 246962306a36Sopenharmony_ci#define NIG_REG_P1_TLLH_FIFO_EMPTY 0x18338 247062306a36Sopenharmony_ci/* [RW 19] Packet TimeSync information that is buffered in 1-deep FIFOs for 247162306a36Sopenharmony_ci * TX side. Bits [15:0] reflect the sequence ID of the packet. Bit 16 247262306a36Sopenharmony_ci * indicates the validity of the data in the buffer. Bit 17 indicates that 247362306a36Sopenharmony_ci * the sequence ID is valid and it is waiting for the TX timestamp value. 247462306a36Sopenharmony_ci * Bit 18 indicates whether the timestamp is from a SW request (value of 1) 247562306a36Sopenharmony_ci * or HW request (value of 0). Writing a 1 to bit 16 will clear the buffer. 247662306a36Sopenharmony_ci */ 247762306a36Sopenharmony_ci#define NIG_REG_P0_TLLH_PTP_BUF_SEQID 0x187e0 247862306a36Sopenharmony_ci/* [R 32] Packet TimeSync information that is buffered in 1-deep FIFOs for 247962306a36Sopenharmony_ci * MCP. This location returns the lower 32 bits of timestamp value. 248062306a36Sopenharmony_ci */ 248162306a36Sopenharmony_ci#define NIG_REG_P0_TLLH_PTP_BUF_TS_LSB 0x187d8 248262306a36Sopenharmony_ci/* [R 32] Packet TimeSync information that is buffered in 1-deep FIFOs for 248362306a36Sopenharmony_ci * MCP. This location returns the upper 32 bits of timestamp value. 248462306a36Sopenharmony_ci */ 248562306a36Sopenharmony_ci#define NIG_REG_P0_TLLH_PTP_BUF_TS_MSB 0x187dc 248662306a36Sopenharmony_ci/* [RW 11] Mask register for the various parameters used in determining PTP 248762306a36Sopenharmony_ci * packet presence. Set each bit to 1 to mask out the particular parameter. 248862306a36Sopenharmony_ci * 0-IPv4 DA 0 of 224.0.1.129. 1-IPv4 DA 1 of 224.0.0.107. 2-IPv6 DA 0 of 248962306a36Sopenharmony_ci * 0xFF0*:0:0:0:0:0:0:181. 3-IPv6 DA 1 of 0xFF02:0:0:0:0:0:0:6B. 4-UDP 249062306a36Sopenharmony_ci * destination port 0 of 319. 5-UDP destination port 1 of 320. 6-MAC 249162306a36Sopenharmony_ci * Ethertype 0 of 0x88F7. 7-configurable MAC Ethertype 1. 8-MAC DA 0 of 249262306a36Sopenharmony_ci * 0x01-1B-19-00-00-00. 9-MAC DA 1 of 0x01-80-C2-00-00-0E. 10-configurable 249362306a36Sopenharmony_ci * MAC DA 2. The reset default is set to mask out all parameters. 249462306a36Sopenharmony_ci */ 249562306a36Sopenharmony_ci#define NIG_REG_P0_TLLH_PTP_PARAM_MASK 0x187f0 249662306a36Sopenharmony_ci/* [RW 14] Mask register for the rules used in detecting PTP packets. Set 249762306a36Sopenharmony_ci * each bit to 1 to mask out that particular rule. 0-{IPv4 DA 0; UDP DP 0} . 249862306a36Sopenharmony_ci * 1-{IPv4 DA 0; UDP DP 1} . 2-{IPv4 DA 1; UDP DP 0} . 3-{IPv4 DA 1; UDP DP 249962306a36Sopenharmony_ci * 1} . 4-{IPv6 DA 0; UDP DP 0} . 5-{IPv6 DA 0; UDP DP 1} . 6-{IPv6 DA 1; 250062306a36Sopenharmony_ci * UDP DP 0} . 7-{IPv6 DA 1; UDP DP 1} . 8-{MAC DA 0; Ethertype 0} . 9-{MAC 250162306a36Sopenharmony_ci * DA 1; Ethertype 0} . 10-{MAC DA 0; Ethertype 1} . 11-{MAC DA 1; Ethertype 250262306a36Sopenharmony_ci * 1} . 12-{MAC DA 2; Ethertype 0} . 13-{MAC DA 2; Ethertype 1} . The reset 250362306a36Sopenharmony_ci * default is to mask out all of the rules. 250462306a36Sopenharmony_ci */ 250562306a36Sopenharmony_ci#define NIG_REG_P0_TLLH_PTP_RULE_MASK 0x187f4 250662306a36Sopenharmony_ci/* [RW 19] Packet TimeSync information that is buffered in 1-deep FIFOs for 250762306a36Sopenharmony_ci * TX side. Bits [15:0] reflect the sequence ID of the packet. Bit 16 250862306a36Sopenharmony_ci * indicates the validity of the data in the buffer. Bit 17 indicates that 250962306a36Sopenharmony_ci * the sequence ID is valid and it is waiting for the TX timestamp value. 251062306a36Sopenharmony_ci * Bit 18 indicates whether the timestamp is from a SW request (value of 1) 251162306a36Sopenharmony_ci * or HW request (value of 0). Writing a 1 to bit 16 will clear the buffer. 251262306a36Sopenharmony_ci */ 251362306a36Sopenharmony_ci#define NIG_REG_P1_TLLH_PTP_BUF_SEQID 0x187ec 251462306a36Sopenharmony_ci/* [R 32] Packet TimeSync information that is buffered in 1-deep FIFOs for 251562306a36Sopenharmony_ci * MCP. This location returns the lower 32 bits of timestamp value. 251662306a36Sopenharmony_ci */ 251762306a36Sopenharmony_ci#define NIG_REG_P1_TLLH_PTP_BUF_TS_LSB 0x187e4 251862306a36Sopenharmony_ci/* [R 32] Packet TimeSync information that is buffered in 1-deep FIFOs for 251962306a36Sopenharmony_ci * MCP. This location returns the upper 32 bits of timestamp value. 252062306a36Sopenharmony_ci */ 252162306a36Sopenharmony_ci#define NIG_REG_P1_TLLH_PTP_BUF_TS_MSB 0x187e8 252262306a36Sopenharmony_ci/* [RW 11] Mask register for the various parameters used in determining PTP 252362306a36Sopenharmony_ci * packet presence. Set each bit to 1 to mask out the particular parameter. 252462306a36Sopenharmony_ci * 0-IPv4 DA 0 of 224.0.1.129. 1-IPv4 DA 1 of 224.0.0.107. 2-IPv6 DA 0 of 252562306a36Sopenharmony_ci * 0xFF0*:0:0:0:0:0:0:181. 3-IPv6 DA 1 of 0xFF02:0:0:0:0:0:0:6B. 4-UDP 252662306a36Sopenharmony_ci * destination port 0 of 319. 5-UDP destination port 1 of 320. 6-MAC 252762306a36Sopenharmony_ci * Ethertype 0 of 0x88F7. 7-configurable MAC Ethertype 1. 8-MAC DA 0 of 252862306a36Sopenharmony_ci * 0x01-1B-19-00-00-00. 9-MAC DA 1 of 0x01-80-C2-00-00-0E. 10-configurable 252962306a36Sopenharmony_ci * MAC DA 2. The reset default is set to mask out all parameters. 253062306a36Sopenharmony_ci */ 253162306a36Sopenharmony_ci#define NIG_REG_P1_TLLH_PTP_PARAM_MASK 0x187f8 253262306a36Sopenharmony_ci/* [RW 14] Mask register for the rules used in detecting PTP packets. Set 253362306a36Sopenharmony_ci * each bit to 1 to mask out that particular rule. 0-{IPv4 DA 0; UDP DP 0} . 253462306a36Sopenharmony_ci * 1-{IPv4 DA 0; UDP DP 1} . 2-{IPv4 DA 1; UDP DP 0} . 3-{IPv4 DA 1; UDP DP 253562306a36Sopenharmony_ci * 1} . 4-{IPv6 DA 0; UDP DP 0} . 5-{IPv6 DA 0; UDP DP 1} . 6-{IPv6 DA 1; 253662306a36Sopenharmony_ci * UDP DP 0} . 7-{IPv6 DA 1; UDP DP 1} . 8-{MAC DA 0; Ethertype 0} . 9-{MAC 253762306a36Sopenharmony_ci * DA 1; Ethertype 0} . 10-{MAC DA 0; Ethertype 1} . 11-{MAC DA 1; Ethertype 253862306a36Sopenharmony_ci * 1} . 12-{MAC DA 2; Ethertype 0} . 13-{MAC DA 2; Ethertype 1} . The reset 253962306a36Sopenharmony_ci * default is to mask out all of the rules. 254062306a36Sopenharmony_ci */ 254162306a36Sopenharmony_ci#define NIG_REG_P1_TLLH_PTP_RULE_MASK 0x187fc 254262306a36Sopenharmony_ci/* [RW 32] Specify which of the credit registers the client is to be mapped 254362306a36Sopenharmony_ci * to. This register specifies bits 31:0 of the 36-bit value. Bits[3:0] are 254462306a36Sopenharmony_ci * for client 0; bits [35:32] are for client 8. For clients that are not 254562306a36Sopenharmony_ci * subject to WFQ credit blocking - their specifications here are not used. 254662306a36Sopenharmony_ci * This is a new register (with 2_) added in E3 B0 to accommodate the 9 254762306a36Sopenharmony_ci * input clients to ETS arbiter. The reset default is set for management and 254862306a36Sopenharmony_ci * debug to use credit registers 6, 7, and 8, respectively, and COSes 0-5 to 254962306a36Sopenharmony_ci * use credit registers 0-5 respectively (0x543210876). Note that credit 255062306a36Sopenharmony_ci * registers can not be shared between clients. Note also that there are 255162306a36Sopenharmony_ci * only COS0-2 in port 1- there is a total of 6 clients in port 1. Only 255262306a36Sopenharmony_ci * credit registers 0-5 are valid. This register should be configured 255362306a36Sopenharmony_ci * appropriately before enabling WFQ. */ 255462306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_CLIENT_CREDIT_MAP2_LSB 0x186e8 255562306a36Sopenharmony_ci/* [RW 4] Specify which of the credit registers the client is to be mapped 255662306a36Sopenharmony_ci * to. This register specifies bits 35:32 of the 36-bit value. Bits[3:0] are 255762306a36Sopenharmony_ci * for client 0; bits [35:32] are for client 8. For clients that are not 255862306a36Sopenharmony_ci * subject to WFQ credit blocking - their specifications here are not used. 255962306a36Sopenharmony_ci * This is a new register (with 2_) added in E3 B0 to accommodate the 9 256062306a36Sopenharmony_ci * input clients to ETS arbiter. The reset default is set for management and 256162306a36Sopenharmony_ci * debug to use credit registers 6, 7, and 8, respectively, and COSes 0-5 to 256262306a36Sopenharmony_ci * use credit registers 0-5 respectively (0x543210876). Note that credit 256362306a36Sopenharmony_ci * registers can not be shared between clients. Note also that there are 256462306a36Sopenharmony_ci * only COS0-2 in port 1- there is a total of 6 clients in port 1. Only 256562306a36Sopenharmony_ci * credit registers 0-5 are valid. This register should be configured 256662306a36Sopenharmony_ci * appropriately before enabling WFQ. */ 256762306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_CLIENT_CREDIT_MAP2_MSB 0x186ec 256862306a36Sopenharmony_ci/* [RW 9] Specify whether the client competes directly in the strict 256962306a36Sopenharmony_ci * priority arbiter. The bits are mapped according to client ID (client IDs 257062306a36Sopenharmony_ci * are defined in tx_arb_priority_client2): 0-management; 1-debug traffic 257162306a36Sopenharmony_ci * from this port; 2-debug traffic from other port; 3-COS0 traffic; 4-COS1 257262306a36Sopenharmony_ci * traffic; 5-COS2 traffic; 6-COS3 traffic; 7-COS4 traffic; 8-COS5 traffic. 257362306a36Sopenharmony_ci * Default value is set to enable strict priorities for all clients. */ 257462306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_CLIENT_IS_STRICT 0x18234 257562306a36Sopenharmony_ci/* [RW 9] Specify whether the client is subject to WFQ credit blocking. The 257662306a36Sopenharmony_ci * bits are mapped according to client ID (client IDs are defined in 257762306a36Sopenharmony_ci * tx_arb_priority_client2): 0-management; 1-debug traffic from this port; 257862306a36Sopenharmony_ci * 2-debug traffic from other port; 3-COS0 traffic; 4-COS1 traffic; 5-COS2 257962306a36Sopenharmony_ci * traffic; 6-COS3 traffic; 7-COS4 traffic; 8-COS5 traffic. Default value is 258062306a36Sopenharmony_ci * 0 for not using WFQ credit blocking. */ 258162306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_CLIENT_IS_SUBJECT2WFQ 0x18238 258262306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_0 0x18258 258362306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_1 0x1825c 258462306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_2 0x18260 258562306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_3 0x18264 258662306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_4 0x18268 258762306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_5 0x186f4 258862306a36Sopenharmony_ci/* [RW 32] Specify the weight (in bytes) to be added to credit register 0 258962306a36Sopenharmony_ci * when it is time to increment. */ 259062306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_0 0x18244 259162306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_1 0x18248 259262306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_2 0x1824c 259362306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_3 0x18250 259462306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_4 0x18254 259562306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_5 0x186f0 259662306a36Sopenharmony_ci/* [RW 12] Specify the number of strict priority arbitration slots between 259762306a36Sopenharmony_ci two round-robin arbitration slots to avoid starvation. A value of 0 means 259862306a36Sopenharmony_ci no strict priority cycles - the strict priority with anti-starvation 259962306a36Sopenharmony_ci arbiter becomes a round-robin arbiter. */ 260062306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_NUM_STRICT_ARB_SLOTS 0x18240 260162306a36Sopenharmony_ci/* [RW 32] Specify the client number to be assigned to each priority of the 260262306a36Sopenharmony_ci strict priority arbiter. This register specifies bits 31:0 of the 36-bit 260362306a36Sopenharmony_ci value. Priority 0 is the highest priority. Bits [3:0] are for priority 0 260462306a36Sopenharmony_ci client; bits [35-32] are for priority 8 client. The clients are assigned 260562306a36Sopenharmony_ci the following IDs: 0-management; 1-debug traffic from this port; 2-debug 260662306a36Sopenharmony_ci traffic from other port; 3-COS0 traffic; 4-COS1 traffic; 5-COS2 traffic; 260762306a36Sopenharmony_ci 6-COS3 traffic; 7-COS4 traffic; 8-COS5 traffic. The reset value[35:0] is 260862306a36Sopenharmony_ci set to 0x345678021. This is a new register (with 2_) added in E3 B0 to 260962306a36Sopenharmony_ci accommodate the 9 input clients to ETS arbiter. Note that this register 261062306a36Sopenharmony_ci is the same as the one for port 0, except that port 1 only has COS 0-2 261162306a36Sopenharmony_ci traffic. There is no traffic for COS 3-5 of port 1. */ 261262306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_PRIORITY_CLIENT2_LSB 0x186e0 261362306a36Sopenharmony_ci/* [RW 4] Specify the client number to be assigned to each priority of the 261462306a36Sopenharmony_ci strict priority arbiter. This register specifies bits 35:32 of the 36-bit 261562306a36Sopenharmony_ci value. Priority 0 is the highest priority. Bits [3:0] are for priority 0 261662306a36Sopenharmony_ci client; bits [35-32] are for priority 8 client. The clients are assigned 261762306a36Sopenharmony_ci the following IDs: 0-management; 1-debug traffic from this port; 2-debug 261862306a36Sopenharmony_ci traffic from other port; 3-COS0 traffic; 4-COS1 traffic; 5-COS2 traffic; 261962306a36Sopenharmony_ci 6-COS3 traffic; 7-COS4 traffic; 8-COS5 traffic. The reset value[35:0] is 262062306a36Sopenharmony_ci set to 0x345678021. This is a new register (with 2_) added in E3 B0 to 262162306a36Sopenharmony_ci accommodate the 9 input clients to ETS arbiter. Note that this register 262262306a36Sopenharmony_ci is the same as the one for port 0, except that port 1 only has COS 0-2 262362306a36Sopenharmony_ci traffic. There is no traffic for COS 3-5 of port 1. */ 262462306a36Sopenharmony_ci#define NIG_REG_P1_TX_ARB_PRIORITY_CLIENT2_MSB 0x186e4 262562306a36Sopenharmony_ci/* [R 1] TX FIFO for transmitting data to MAC is empty. */ 262662306a36Sopenharmony_ci#define NIG_REG_P1_TX_MACFIFO_EMPTY 0x18594 262762306a36Sopenharmony_ci/* [RW 1] MCP-to-host path enable. Set this bit to enable the routing of MCP 262862306a36Sopenharmony_ci * packets to BRB LB interface to forward the packet to the host. All 262962306a36Sopenharmony_ci * packets from MCP are forwarded to the network when this bit is cleared - 263062306a36Sopenharmony_ci * regardless of the configured destination in tx_mng_destination register. 263162306a36Sopenharmony_ci */ 263262306a36Sopenharmony_ci#define NIG_REG_P1_TX_MNG_HOST_ENABLE 0x182f8 263362306a36Sopenharmony_ci/* [R 1] FIFO empty status of the MCP TX FIFO used for storing MCP packets 263462306a36Sopenharmony_ci forwarded to the host. */ 263562306a36Sopenharmony_ci#define NIG_REG_P1_TX_MNG_HOST_FIFO_EMPTY 0x182b8 263662306a36Sopenharmony_ci/* [RW 32] Specify the upper bound that credit register 0 is allowed to 263762306a36Sopenharmony_ci * reach. */ 263862306a36Sopenharmony_ci/* [RW 1] Pause enable for port0. This register may get 1 only when 263962306a36Sopenharmony_ci ~safc_enable.safc_enable = 0 and ppp_enable.ppp_enable =0 for the same 264062306a36Sopenharmony_ci port */ 264162306a36Sopenharmony_ci#define NIG_REG_PAUSE_ENABLE_0 0x160c0 264262306a36Sopenharmony_ci#define NIG_REG_PAUSE_ENABLE_1 0x160c4 264362306a36Sopenharmony_ci/* [RW 1] Input enable for RX PBF LP IF */ 264462306a36Sopenharmony_ci#define NIG_REG_PBF_LB_IN_EN 0x100b4 264562306a36Sopenharmony_ci/* [RW 1] Value of this register will be transmitted to port swap when 264662306a36Sopenharmony_ci ~nig_registers_strap_override.strap_override =1 */ 264762306a36Sopenharmony_ci#define NIG_REG_PORT_SWAP 0x10394 264862306a36Sopenharmony_ci/* [RW 1] PPP enable for port0. This register may get 1 only when 264962306a36Sopenharmony_ci * ~safc_enable.safc_enable = 0 and pause_enable.pause_enable =0 for the 265062306a36Sopenharmony_ci * same port */ 265162306a36Sopenharmony_ci#define NIG_REG_PPP_ENABLE_0 0x160b0 265262306a36Sopenharmony_ci#define NIG_REG_PPP_ENABLE_1 0x160b4 265362306a36Sopenharmony_ci/* [RW 1] output enable for RX parser descriptor IF */ 265462306a36Sopenharmony_ci#define NIG_REG_PRS_EOP_OUT_EN 0x10104 265562306a36Sopenharmony_ci/* [RW 1] Input enable for RX parser request IF */ 265662306a36Sopenharmony_ci#define NIG_REG_PRS_REQ_IN_EN 0x100b8 265762306a36Sopenharmony_ci/* [RW 5] control to serdes - CL45 DEVAD */ 265862306a36Sopenharmony_ci#define NIG_REG_SERDES0_CTRL_MD_DEVAD 0x10370 265962306a36Sopenharmony_ci/* [RW 1] control to serdes; 0 - clause 45; 1 - clause 22 */ 266062306a36Sopenharmony_ci#define NIG_REG_SERDES0_CTRL_MD_ST 0x1036c 266162306a36Sopenharmony_ci/* [RW 5] control to serdes - CL22 PHY_ADD and CL45 PRTAD */ 266262306a36Sopenharmony_ci#define NIG_REG_SERDES0_CTRL_PHY_ADDR 0x10374 266362306a36Sopenharmony_ci/* [R 1] status from serdes0 that inputs to interrupt logic of link status */ 266462306a36Sopenharmony_ci#define NIG_REG_SERDES0_STATUS_LINK_STATUS 0x10578 266562306a36Sopenharmony_ci/* [R 32] Rx statistics : In user packets discarded due to BRB backpressure 266662306a36Sopenharmony_ci for port0 */ 266762306a36Sopenharmony_ci#define NIG_REG_STAT0_BRB_DISCARD 0x105f0 266862306a36Sopenharmony_ci/* [R 32] Rx statistics : In user packets truncated due to BRB backpressure 266962306a36Sopenharmony_ci for port0 */ 267062306a36Sopenharmony_ci#define NIG_REG_STAT0_BRB_TRUNCATE 0x105f8 267162306a36Sopenharmony_ci/* [WB_R 36] Tx statistics : Number of packets from emac0 or bmac0 that 267262306a36Sopenharmony_ci between 1024 and 1522 bytes for port0 */ 267362306a36Sopenharmony_ci#define NIG_REG_STAT0_EGRESS_MAC_PKT0 0x10750 267462306a36Sopenharmony_ci/* [WB_R 36] Tx statistics : Number of packets from emac0 or bmac0 that 267562306a36Sopenharmony_ci between 1523 bytes and above for port0 */ 267662306a36Sopenharmony_ci#define NIG_REG_STAT0_EGRESS_MAC_PKT1 0x10760 267762306a36Sopenharmony_ci/* [R 32] Rx statistics : In user packets discarded due to BRB backpressure 267862306a36Sopenharmony_ci for port1 */ 267962306a36Sopenharmony_ci#define NIG_REG_STAT1_BRB_DISCARD 0x10628 268062306a36Sopenharmony_ci/* [WB_R 36] Tx statistics : Number of packets from emac1 or bmac1 that 268162306a36Sopenharmony_ci between 1024 and 1522 bytes for port1 */ 268262306a36Sopenharmony_ci#define NIG_REG_STAT1_EGRESS_MAC_PKT0 0x107a0 268362306a36Sopenharmony_ci/* [WB_R 36] Tx statistics : Number of packets from emac1 or bmac1 that 268462306a36Sopenharmony_ci between 1523 bytes and above for port1 */ 268562306a36Sopenharmony_ci#define NIG_REG_STAT1_EGRESS_MAC_PKT1 0x107b0 268662306a36Sopenharmony_ci/* [WB_R 64] Rx statistics : User octets received for LP */ 268762306a36Sopenharmony_ci#define NIG_REG_STAT2_BRB_OCTET 0x107e0 268862306a36Sopenharmony_ci#define NIG_REG_STATUS_INTERRUPT_PORT0 0x10328 268962306a36Sopenharmony_ci#define NIG_REG_STATUS_INTERRUPT_PORT1 0x1032c 269062306a36Sopenharmony_ci/* [RW 1] port swap mux selection. If this register equal to 0 then port 269162306a36Sopenharmony_ci swap is equal to SPIO pin that inputs from ifmux_serdes_swap. If 1 then 269262306a36Sopenharmony_ci ort swap is equal to ~nig_registers_port_swap.port_swap */ 269362306a36Sopenharmony_ci#define NIG_REG_STRAP_OVERRIDE 0x10398 269462306a36Sopenharmony_ci/* [WB 64] Addresses for TimeSync related registers in the timesync 269562306a36Sopenharmony_ci * generator sub-module. 269662306a36Sopenharmony_ci */ 269762306a36Sopenharmony_ci#define NIG_REG_TIMESYNC_GEN_REG 0x18800 269862306a36Sopenharmony_ci/* [RW 1] output enable for RX_XCM0 IF */ 269962306a36Sopenharmony_ci#define NIG_REG_XCM0_OUT_EN 0x100f0 270062306a36Sopenharmony_ci/* [RW 1] output enable for RX_XCM1 IF */ 270162306a36Sopenharmony_ci#define NIG_REG_XCM1_OUT_EN 0x100f4 270262306a36Sopenharmony_ci/* [RW 1] control to xgxs - remote PHY in-band MDIO */ 270362306a36Sopenharmony_ci#define NIG_REG_XGXS0_CTRL_EXTREMOTEMDIOST 0x10348 270462306a36Sopenharmony_ci/* [RW 5] control to xgxs - CL45 DEVAD */ 270562306a36Sopenharmony_ci#define NIG_REG_XGXS0_CTRL_MD_DEVAD 0x1033c 270662306a36Sopenharmony_ci/* [RW 1] control to xgxs; 0 - clause 45; 1 - clause 22 */ 270762306a36Sopenharmony_ci#define NIG_REG_XGXS0_CTRL_MD_ST 0x10338 270862306a36Sopenharmony_ci/* [RW 5] control to xgxs - CL22 PHY_ADD and CL45 PRTAD */ 270962306a36Sopenharmony_ci#define NIG_REG_XGXS0_CTRL_PHY_ADDR 0x10340 271062306a36Sopenharmony_ci/* [R 1] status from xgxs0 that inputs to interrupt logic of link10g. */ 271162306a36Sopenharmony_ci#define NIG_REG_XGXS0_STATUS_LINK10G 0x10680 271262306a36Sopenharmony_ci/* [R 4] status from xgxs0 that inputs to interrupt logic of link status */ 271362306a36Sopenharmony_ci#define NIG_REG_XGXS0_STATUS_LINK_STATUS 0x10684 271462306a36Sopenharmony_ci/* [RW 2] selection for XGXS lane of port 0 in NIG_MUX block */ 271562306a36Sopenharmony_ci#define NIG_REG_XGXS_LANE_SEL_P0 0x102e8 271662306a36Sopenharmony_ci/* [RW 1] selection for port0 for NIG_MUX block : 0 = SerDes; 1 = XGXS */ 271762306a36Sopenharmony_ci#define NIG_REG_XGXS_SERDES0_MODE_SEL 0x102e0 271862306a36Sopenharmony_ci#define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_EMAC0_MISC_MI_INT (0x1<<0) 271962306a36Sopenharmony_ci#define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_SERDES0_LINK_STATUS (0x1<<9) 272062306a36Sopenharmony_ci#define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK10G (0x1<<15) 272162306a36Sopenharmony_ci#define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK_STATUS (0xf<<18) 272262306a36Sopenharmony_ci#define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK_STATUS_SIZE 18 272362306a36Sopenharmony_ci/* [RW 31] The upper bound of the weight of COS0 in the ETS command arbiter. */ 272462306a36Sopenharmony_ci#define PBF_REG_COS0_UPPER_BOUND 0x15c05c 272562306a36Sopenharmony_ci/* [RW 31] The upper bound of the weight of COS0 in the ETS command arbiter 272662306a36Sopenharmony_ci * of port 0. */ 272762306a36Sopenharmony_ci#define PBF_REG_COS0_UPPER_BOUND_P0 0x15c2cc 272862306a36Sopenharmony_ci/* [RW 31] The upper bound of the weight of COS0 in the ETS command arbiter 272962306a36Sopenharmony_ci * of port 1. */ 273062306a36Sopenharmony_ci#define PBF_REG_COS0_UPPER_BOUND_P1 0x15c2e4 273162306a36Sopenharmony_ci/* [RW 31] The weight of COS0 in the ETS command arbiter. */ 273262306a36Sopenharmony_ci#define PBF_REG_COS0_WEIGHT 0x15c054 273362306a36Sopenharmony_ci/* [RW 31] The weight of COS0 in port 0 ETS command arbiter. */ 273462306a36Sopenharmony_ci#define PBF_REG_COS0_WEIGHT_P0 0x15c2a8 273562306a36Sopenharmony_ci/* [RW 31] The weight of COS0 in port 1 ETS command arbiter. */ 273662306a36Sopenharmony_ci#define PBF_REG_COS0_WEIGHT_P1 0x15c2c0 273762306a36Sopenharmony_ci/* [RW 31] The upper bound of the weight of COS1 in the ETS command arbiter. */ 273862306a36Sopenharmony_ci#define PBF_REG_COS1_UPPER_BOUND 0x15c060 273962306a36Sopenharmony_ci/* [RW 31] The weight of COS1 in the ETS command arbiter. */ 274062306a36Sopenharmony_ci#define PBF_REG_COS1_WEIGHT 0x15c058 274162306a36Sopenharmony_ci/* [RW 31] The weight of COS1 in port 0 ETS command arbiter. */ 274262306a36Sopenharmony_ci#define PBF_REG_COS1_WEIGHT_P0 0x15c2ac 274362306a36Sopenharmony_ci/* [RW 31] The weight of COS1 in port 1 ETS command arbiter. */ 274462306a36Sopenharmony_ci#define PBF_REG_COS1_WEIGHT_P1 0x15c2c4 274562306a36Sopenharmony_ci/* [RW 31] The weight of COS2 in port 0 ETS command arbiter. */ 274662306a36Sopenharmony_ci#define PBF_REG_COS2_WEIGHT_P0 0x15c2b0 274762306a36Sopenharmony_ci/* [RW 31] The weight of COS2 in port 1 ETS command arbiter. */ 274862306a36Sopenharmony_ci#define PBF_REG_COS2_WEIGHT_P1 0x15c2c8 274962306a36Sopenharmony_ci/* [RW 31] The weight of COS3 in port 0 ETS command arbiter. */ 275062306a36Sopenharmony_ci#define PBF_REG_COS3_WEIGHT_P0 0x15c2b4 275162306a36Sopenharmony_ci/* [RW 31] The weight of COS4 in port 0 ETS command arbiter. */ 275262306a36Sopenharmony_ci#define PBF_REG_COS4_WEIGHT_P0 0x15c2b8 275362306a36Sopenharmony_ci/* [RW 31] The weight of COS5 in port 0 ETS command arbiter. */ 275462306a36Sopenharmony_ci#define PBF_REG_COS5_WEIGHT_P0 0x15c2bc 275562306a36Sopenharmony_ci/* [R 11] Current credit for the LB queue in the tx port buffers in 16 byte 275662306a36Sopenharmony_ci * lines. */ 275762306a36Sopenharmony_ci#define PBF_REG_CREDIT_LB_Q 0x140338 275862306a36Sopenharmony_ci/* [R 11] Current credit for queue 0 in the tx port buffers in 16 byte 275962306a36Sopenharmony_ci * lines. */ 276062306a36Sopenharmony_ci#define PBF_REG_CREDIT_Q0 0x14033c 276162306a36Sopenharmony_ci/* [R 11] Current credit for queue 1 in the tx port buffers in 16 byte 276262306a36Sopenharmony_ci * lines. */ 276362306a36Sopenharmony_ci#define PBF_REG_CREDIT_Q1 0x140340 276462306a36Sopenharmony_ci/* [RW 1] Disable processing further tasks from port 0 (after ending the 276562306a36Sopenharmony_ci current task in process). */ 276662306a36Sopenharmony_ci#define PBF_REG_DISABLE_NEW_TASK_PROC_P0 0x14005c 276762306a36Sopenharmony_ci/* [RW 1] Disable processing further tasks from port 1 (after ending the 276862306a36Sopenharmony_ci current task in process). */ 276962306a36Sopenharmony_ci#define PBF_REG_DISABLE_NEW_TASK_PROC_P1 0x140060 277062306a36Sopenharmony_ci/* [RW 1] Disable processing further tasks from port 4 (after ending the 277162306a36Sopenharmony_ci current task in process). */ 277262306a36Sopenharmony_ci#define PBF_REG_DISABLE_NEW_TASK_PROC_P4 0x14006c 277362306a36Sopenharmony_ci#define PBF_REG_DISABLE_PF 0x1402e8 277462306a36Sopenharmony_ci#define PBF_REG_DISABLE_VF 0x1402ec 277562306a36Sopenharmony_ci/* [RW 18] For port 0: For each client that is subject to WFQ (the 277662306a36Sopenharmony_ci * corresponding bit is 1); indicates to which of the credit registers this 277762306a36Sopenharmony_ci * client is mapped. For clients which are not credit blocked; their mapping 277862306a36Sopenharmony_ci * is dont care. */ 277962306a36Sopenharmony_ci#define PBF_REG_ETS_ARB_CLIENT_CREDIT_MAP_P0 0x15c288 278062306a36Sopenharmony_ci/* [RW 9] For port 1: For each client that is subject to WFQ (the 278162306a36Sopenharmony_ci * corresponding bit is 1); indicates to which of the credit registers this 278262306a36Sopenharmony_ci * client is mapped. For clients which are not credit blocked; their mapping 278362306a36Sopenharmony_ci * is dont care. */ 278462306a36Sopenharmony_ci#define PBF_REG_ETS_ARB_CLIENT_CREDIT_MAP_P1 0x15c28c 278562306a36Sopenharmony_ci/* [RW 6] For port 0: Bit per client to indicate if the client competes in 278662306a36Sopenharmony_ci * the strict priority arbiter directly (corresponding bit = 1); or first 278762306a36Sopenharmony_ci * goes to the RR arbiter (corresponding bit = 0); and then competes in the 278862306a36Sopenharmony_ci * lowest priority in the strict-priority arbiter. */ 278962306a36Sopenharmony_ci#define PBF_REG_ETS_ARB_CLIENT_IS_STRICT_P0 0x15c278 279062306a36Sopenharmony_ci/* [RW 3] For port 1: Bit per client to indicate if the client competes in 279162306a36Sopenharmony_ci * the strict priority arbiter directly (corresponding bit = 1); or first 279262306a36Sopenharmony_ci * goes to the RR arbiter (corresponding bit = 0); and then competes in the 279362306a36Sopenharmony_ci * lowest priority in the strict-priority arbiter. */ 279462306a36Sopenharmony_ci#define PBF_REG_ETS_ARB_CLIENT_IS_STRICT_P1 0x15c27c 279562306a36Sopenharmony_ci/* [RW 6] For port 0: Bit per client to indicate if the client is subject to 279662306a36Sopenharmony_ci * WFQ credit blocking (corresponding bit = 1). */ 279762306a36Sopenharmony_ci#define PBF_REG_ETS_ARB_CLIENT_IS_SUBJECT2WFQ_P0 0x15c280 279862306a36Sopenharmony_ci/* [RW 3] For port 0: Bit per client to indicate if the client is subject to 279962306a36Sopenharmony_ci * WFQ credit blocking (corresponding bit = 1). */ 280062306a36Sopenharmony_ci#define PBF_REG_ETS_ARB_CLIENT_IS_SUBJECT2WFQ_P1 0x15c284 280162306a36Sopenharmony_ci/* [RW 16] For port 0: The number of strict priority arbitration slots 280262306a36Sopenharmony_ci * between 2 RR arbitration slots. A value of 0 means no strict priority 280362306a36Sopenharmony_ci * cycles; i.e. the strict-priority w/ anti-starvation arbiter is a RR 280462306a36Sopenharmony_ci * arbiter. */ 280562306a36Sopenharmony_ci#define PBF_REG_ETS_ARB_NUM_STRICT_ARB_SLOTS_P0 0x15c2a0 280662306a36Sopenharmony_ci/* [RW 16] For port 1: The number of strict priority arbitration slots 280762306a36Sopenharmony_ci * between 2 RR arbitration slots. A value of 0 means no strict priority 280862306a36Sopenharmony_ci * cycles; i.e. the strict-priority w/ anti-starvation arbiter is a RR 280962306a36Sopenharmony_ci * arbiter. */ 281062306a36Sopenharmony_ci#define PBF_REG_ETS_ARB_NUM_STRICT_ARB_SLOTS_P1 0x15c2a4 281162306a36Sopenharmony_ci/* [RW 18] For port 0: Indicates which client is connected to each priority 281262306a36Sopenharmony_ci * in the strict-priority arbiter. Priority 0 is the highest priority, and 281362306a36Sopenharmony_ci * priority 5 is the lowest; to which the RR output is connected to (this is 281462306a36Sopenharmony_ci * not configurable). */ 281562306a36Sopenharmony_ci#define PBF_REG_ETS_ARB_PRIORITY_CLIENT_P0 0x15c270 281662306a36Sopenharmony_ci/* [RW 9] For port 1: Indicates which client is connected to each priority 281762306a36Sopenharmony_ci * in the strict-priority arbiter. Priority 0 is the highest priority, and 281862306a36Sopenharmony_ci * priority 5 is the lowest; to which the RR output is connected to (this is 281962306a36Sopenharmony_ci * not configurable). */ 282062306a36Sopenharmony_ci#define PBF_REG_ETS_ARB_PRIORITY_CLIENT_P1 0x15c274 282162306a36Sopenharmony_ci/* [RW 1] Indicates that ETS is performed between the COSes in the command 282262306a36Sopenharmony_ci * arbiter. If reset strict priority w/ anti-starvation will be performed 282362306a36Sopenharmony_ci * w/o WFQ. */ 282462306a36Sopenharmony_ci#define PBF_REG_ETS_ENABLED 0x15c050 282562306a36Sopenharmony_ci/* [RW 6] Bit-map indicating which L2 hdrs may appear after the basic 282662306a36Sopenharmony_ci * Ethernet header. */ 282762306a36Sopenharmony_ci#define PBF_REG_HDRS_AFTER_BASIC 0x15c0a8 282862306a36Sopenharmony_ci/* [RW 6] Bit-map indicating which L2 hdrs may appear after L2 tag 0 */ 282962306a36Sopenharmony_ci#define PBF_REG_HDRS_AFTER_TAG_0 0x15c0b8 283062306a36Sopenharmony_ci/* [R 1] Removed for E3 B0 - Indicates which COS is conncted to the highest 283162306a36Sopenharmony_ci * priority in the command arbiter. */ 283262306a36Sopenharmony_ci#define PBF_REG_HIGH_PRIORITY_COS_NUM 0x15c04c 283362306a36Sopenharmony_ci#define PBF_REG_IF_ENABLE_REG 0x140044 283462306a36Sopenharmony_ci/* [RW 1] Init bit. When set the initial credits are copied to the credit 283562306a36Sopenharmony_ci registers (except the port credits). Should be set and then reset after 283662306a36Sopenharmony_ci the configuration of the block has ended. */ 283762306a36Sopenharmony_ci#define PBF_REG_INIT 0x140000 283862306a36Sopenharmony_ci/* [RW 11] Initial credit for the LB queue in the tx port buffers in 16 byte 283962306a36Sopenharmony_ci * lines. */ 284062306a36Sopenharmony_ci#define PBF_REG_INIT_CRD_LB_Q 0x15c248 284162306a36Sopenharmony_ci/* [RW 11] Initial credit for queue 0 in the tx port buffers in 16 byte 284262306a36Sopenharmony_ci * lines. */ 284362306a36Sopenharmony_ci#define PBF_REG_INIT_CRD_Q0 0x15c230 284462306a36Sopenharmony_ci/* [RW 11] Initial credit for queue 1 in the tx port buffers in 16 byte 284562306a36Sopenharmony_ci * lines. */ 284662306a36Sopenharmony_ci#define PBF_REG_INIT_CRD_Q1 0x15c234 284762306a36Sopenharmony_ci/* [RW 1] Init bit for port 0. When set the initial credit of port 0 is 284862306a36Sopenharmony_ci copied to the credit register. Should be set and then reset after the 284962306a36Sopenharmony_ci configuration of the port has ended. */ 285062306a36Sopenharmony_ci#define PBF_REG_INIT_P0 0x140004 285162306a36Sopenharmony_ci/* [RW 1] Init bit for port 1. When set the initial credit of port 1 is 285262306a36Sopenharmony_ci copied to the credit register. Should be set and then reset after the 285362306a36Sopenharmony_ci configuration of the port has ended. */ 285462306a36Sopenharmony_ci#define PBF_REG_INIT_P1 0x140008 285562306a36Sopenharmony_ci/* [RW 1] Init bit for port 4. When set the initial credit of port 4 is 285662306a36Sopenharmony_ci copied to the credit register. Should be set and then reset after the 285762306a36Sopenharmony_ci configuration of the port has ended. */ 285862306a36Sopenharmony_ci#define PBF_REG_INIT_P4 0x14000c 285962306a36Sopenharmony_ci/* [R 32] Cyclic counter for the amount credits in 16 bytes lines added for 286062306a36Sopenharmony_ci * the LB queue. Reset upon init. */ 286162306a36Sopenharmony_ci#define PBF_REG_INTERNAL_CRD_FREED_CNT_LB_Q 0x140354 286262306a36Sopenharmony_ci/* [R 32] Cyclic counter for the amount credits in 16 bytes lines added for 286362306a36Sopenharmony_ci * queue 0. Reset upon init. */ 286462306a36Sopenharmony_ci#define PBF_REG_INTERNAL_CRD_FREED_CNT_Q0 0x140358 286562306a36Sopenharmony_ci/* [R 32] Cyclic counter for the amount credits in 16 bytes lines added for 286662306a36Sopenharmony_ci * queue 1. Reset upon init. */ 286762306a36Sopenharmony_ci#define PBF_REG_INTERNAL_CRD_FREED_CNT_Q1 0x14035c 286862306a36Sopenharmony_ci/* [RW 1] Enable for mac interface 0. */ 286962306a36Sopenharmony_ci#define PBF_REG_MAC_IF0_ENABLE 0x140030 287062306a36Sopenharmony_ci/* [RW 1] Enable for mac interface 1. */ 287162306a36Sopenharmony_ci#define PBF_REG_MAC_IF1_ENABLE 0x140034 287262306a36Sopenharmony_ci/* [RW 1] Enable for the loopback interface. */ 287362306a36Sopenharmony_ci#define PBF_REG_MAC_LB_ENABLE 0x140040 287462306a36Sopenharmony_ci/* [RW 6] Bit-map indicating which headers must appear in the packet */ 287562306a36Sopenharmony_ci#define PBF_REG_MUST_HAVE_HDRS 0x15c0c4 287662306a36Sopenharmony_ci/* [RW 16] The number of strict priority arbitration slots between 2 RR 287762306a36Sopenharmony_ci * arbitration slots. A value of 0 means no strict priority cycles; i.e. the 287862306a36Sopenharmony_ci * strict-priority w/ anti-starvation arbiter is a RR arbiter. */ 287962306a36Sopenharmony_ci#define PBF_REG_NUM_STRICT_ARB_SLOTS 0x15c064 288062306a36Sopenharmony_ci/* [RW 10] Port 0 threshold used by arbiter in 16 byte lines used when pause 288162306a36Sopenharmony_ci not suppoterd. */ 288262306a36Sopenharmony_ci#define PBF_REG_P0_ARB_THRSH 0x1400e4 288362306a36Sopenharmony_ci/* [R 11] Current credit for port 0 in the tx port buffers in 16 byte lines. */ 288462306a36Sopenharmony_ci#define PBF_REG_P0_CREDIT 0x140200 288562306a36Sopenharmony_ci/* [RW 11] Initial credit for port 0 in the tx port buffers in 16 byte 288662306a36Sopenharmony_ci lines. */ 288762306a36Sopenharmony_ci#define PBF_REG_P0_INIT_CRD 0x1400d0 288862306a36Sopenharmony_ci/* [R 32] Cyclic counter for the amount credits in 16 bytes lines added for 288962306a36Sopenharmony_ci * port 0. Reset upon init. */ 289062306a36Sopenharmony_ci#define PBF_REG_P0_INTERNAL_CRD_FREED_CNT 0x140308 289162306a36Sopenharmony_ci/* [R 1] Removed for E3 B0 - Indication that pause is enabled for port 0. */ 289262306a36Sopenharmony_ci#define PBF_REG_P0_PAUSE_ENABLE 0x140014 289362306a36Sopenharmony_ci/* [R 8] Removed for E3 B0 - Number of tasks in port 0 task queue. */ 289462306a36Sopenharmony_ci#define PBF_REG_P0_TASK_CNT 0x140204 289562306a36Sopenharmony_ci/* [R 32] Removed for E3 B0 - Cyclic counter for number of 8 byte lines 289662306a36Sopenharmony_ci * freed from the task queue of port 0. Reset upon init. */ 289762306a36Sopenharmony_ci#define PBF_REG_P0_TQ_LINES_FREED_CNT 0x1402f0 289862306a36Sopenharmony_ci/* [R 12] Number of 8 bytes lines occupied in the task queue of port 0. */ 289962306a36Sopenharmony_ci#define PBF_REG_P0_TQ_OCCUPANCY 0x1402fc 290062306a36Sopenharmony_ci/* [R 11] Removed for E3 B0 - Current credit for port 1 in the tx port 290162306a36Sopenharmony_ci * buffers in 16 byte lines. */ 290262306a36Sopenharmony_ci#define PBF_REG_P1_CREDIT 0x140208 290362306a36Sopenharmony_ci/* [R 11] Removed for E3 B0 - Initial credit for port 0 in the tx port 290462306a36Sopenharmony_ci * buffers in 16 byte lines. */ 290562306a36Sopenharmony_ci#define PBF_REG_P1_INIT_CRD 0x1400d4 290662306a36Sopenharmony_ci/* [R 32] Cyclic counter for the amount credits in 16 bytes lines added for 290762306a36Sopenharmony_ci * port 1. Reset upon init. */ 290862306a36Sopenharmony_ci#define PBF_REG_P1_INTERNAL_CRD_FREED_CNT 0x14030c 290962306a36Sopenharmony_ci/* [R 8] Removed for E3 B0 - Number of tasks in port 1 task queue. */ 291062306a36Sopenharmony_ci#define PBF_REG_P1_TASK_CNT 0x14020c 291162306a36Sopenharmony_ci/* [R 32] Removed for E3 B0 - Cyclic counter for number of 8 byte lines 291262306a36Sopenharmony_ci * freed from the task queue of port 1. Reset upon init. */ 291362306a36Sopenharmony_ci#define PBF_REG_P1_TQ_LINES_FREED_CNT 0x1402f4 291462306a36Sopenharmony_ci/* [R 12] Number of 8 bytes lines occupied in the task queue of port 1. */ 291562306a36Sopenharmony_ci#define PBF_REG_P1_TQ_OCCUPANCY 0x140300 291662306a36Sopenharmony_ci/* [R 11] Current credit for port 4 in the tx port buffers in 16 byte lines. */ 291762306a36Sopenharmony_ci#define PBF_REG_P4_CREDIT 0x140210 291862306a36Sopenharmony_ci/* [RW 11] Initial credit for port 4 in the tx port buffers in 16 byte 291962306a36Sopenharmony_ci lines. */ 292062306a36Sopenharmony_ci#define PBF_REG_P4_INIT_CRD 0x1400e0 292162306a36Sopenharmony_ci/* [R 32] Cyclic counter for the amount credits in 16 bytes lines added for 292262306a36Sopenharmony_ci * port 4. Reset upon init. */ 292362306a36Sopenharmony_ci#define PBF_REG_P4_INTERNAL_CRD_FREED_CNT 0x140310 292462306a36Sopenharmony_ci/* [R 8] Removed for E3 B0 - Number of tasks in port 4 task queue. */ 292562306a36Sopenharmony_ci#define PBF_REG_P4_TASK_CNT 0x140214 292662306a36Sopenharmony_ci/* [R 32] Removed for E3 B0 - Cyclic counter for number of 8 byte lines 292762306a36Sopenharmony_ci * freed from the task queue of port 4. Reset upon init. */ 292862306a36Sopenharmony_ci#define PBF_REG_P4_TQ_LINES_FREED_CNT 0x1402f8 292962306a36Sopenharmony_ci/* [R 12] Number of 8 bytes lines occupied in the task queue of port 4. */ 293062306a36Sopenharmony_ci#define PBF_REG_P4_TQ_OCCUPANCY 0x140304 293162306a36Sopenharmony_ci/* [RW 5] Interrupt mask register #0 read/write */ 293262306a36Sopenharmony_ci#define PBF_REG_PBF_INT_MASK 0x1401d4 293362306a36Sopenharmony_ci/* [R 5] Interrupt register #0 read */ 293462306a36Sopenharmony_ci#define PBF_REG_PBF_INT_STS 0x1401c8 293562306a36Sopenharmony_ci/* [RW 20] Parity mask register #0 read/write */ 293662306a36Sopenharmony_ci#define PBF_REG_PBF_PRTY_MASK 0x1401e4 293762306a36Sopenharmony_ci/* [R 28] Parity register #0 read */ 293862306a36Sopenharmony_ci#define PBF_REG_PBF_PRTY_STS 0x1401d8 293962306a36Sopenharmony_ci/* [RC 20] Parity register #0 read clear */ 294062306a36Sopenharmony_ci#define PBF_REG_PBF_PRTY_STS_CLR 0x1401dc 294162306a36Sopenharmony_ci/* [RW 16] The Ethernet type value for L2 tag 0 */ 294262306a36Sopenharmony_ci#define PBF_REG_TAG_ETHERTYPE_0 0x15c090 294362306a36Sopenharmony_ci/* [RW 4] The length of the info field for L2 tag 0. The length is between 294462306a36Sopenharmony_ci * 2B and 14B; in 2B granularity */ 294562306a36Sopenharmony_ci#define PBF_REG_TAG_LEN_0 0x15c09c 294662306a36Sopenharmony_ci/* [R 32] Cyclic counter for number of 8 byte lines freed from the LB task 294762306a36Sopenharmony_ci * queue. Reset upon init. */ 294862306a36Sopenharmony_ci#define PBF_REG_TQ_LINES_FREED_CNT_LB_Q 0x14038c 294962306a36Sopenharmony_ci/* [R 32] Cyclic counter for number of 8 byte lines freed from the task 295062306a36Sopenharmony_ci * queue 0. Reset upon init. */ 295162306a36Sopenharmony_ci#define PBF_REG_TQ_LINES_FREED_CNT_Q0 0x140390 295262306a36Sopenharmony_ci/* [R 32] Cyclic counter for number of 8 byte lines freed from task queue 1. 295362306a36Sopenharmony_ci * Reset upon init. */ 295462306a36Sopenharmony_ci#define PBF_REG_TQ_LINES_FREED_CNT_Q1 0x140394 295562306a36Sopenharmony_ci/* [R 13] Number of 8 bytes lines occupied in the task queue of the LB 295662306a36Sopenharmony_ci * queue. */ 295762306a36Sopenharmony_ci#define PBF_REG_TQ_OCCUPANCY_LB_Q 0x1403a8 295862306a36Sopenharmony_ci/* [R 13] Number of 8 bytes lines occupied in the task queue of queue 0. */ 295962306a36Sopenharmony_ci#define PBF_REG_TQ_OCCUPANCY_Q0 0x1403ac 296062306a36Sopenharmony_ci/* [R 13] Number of 8 bytes lines occupied in the task queue of queue 1. */ 296162306a36Sopenharmony_ci#define PBF_REG_TQ_OCCUPANCY_Q1 0x1403b0 296262306a36Sopenharmony_ci/* [RW 16] One of 8 values that should be compared to type in Ethernet 296362306a36Sopenharmony_ci * parsing. If there is a match; the field after Ethernet is the first VLAN. 296462306a36Sopenharmony_ci * Reset value is 0x8100 which is the standard VLAN type. Note that when 296562306a36Sopenharmony_ci * checking second VLAN; type is compared only to 0x8100. 296662306a36Sopenharmony_ci */ 296762306a36Sopenharmony_ci#define PBF_REG_VLAN_TYPE_0 0x15c06c 296862306a36Sopenharmony_ci/* [RW 2] Interrupt mask register #0 read/write */ 296962306a36Sopenharmony_ci#define PB_REG_PB_INT_MASK 0x28 297062306a36Sopenharmony_ci/* [R 2] Interrupt register #0 read */ 297162306a36Sopenharmony_ci#define PB_REG_PB_INT_STS 0x1c 297262306a36Sopenharmony_ci/* [RW 4] Parity mask register #0 read/write */ 297362306a36Sopenharmony_ci#define PB_REG_PB_PRTY_MASK 0x38 297462306a36Sopenharmony_ci/* [R 4] Parity register #0 read */ 297562306a36Sopenharmony_ci#define PB_REG_PB_PRTY_STS 0x2c 297662306a36Sopenharmony_ci/* [RC 4] Parity register #0 read clear */ 297762306a36Sopenharmony_ci#define PB_REG_PB_PRTY_STS_CLR 0x30 297862306a36Sopenharmony_ci#define PGLUE_B_PGLUE_B_INT_STS_REG_ADDRESS_ERROR (0x1<<0) 297962306a36Sopenharmony_ci#define PGLUE_B_PGLUE_B_INT_STS_REG_CSSNOOP_FIFO_OVERFLOW (0x1<<8) 298062306a36Sopenharmony_ci#define PGLUE_B_PGLUE_B_INT_STS_REG_INCORRECT_RCV_BEHAVIOR (0x1<<1) 298162306a36Sopenharmony_ci#define PGLUE_B_PGLUE_B_INT_STS_REG_TCPL_ERROR_ATTN (0x1<<6) 298262306a36Sopenharmony_ci#define PGLUE_B_PGLUE_B_INT_STS_REG_TCPL_IN_TWO_RCBS_ATTN (0x1<<7) 298362306a36Sopenharmony_ci#define PGLUE_B_PGLUE_B_INT_STS_REG_VF_GRC_SPACE_VIOLATION_ATTN (0x1<<4) 298462306a36Sopenharmony_ci#define PGLUE_B_PGLUE_B_INT_STS_REG_VF_LENGTH_VIOLATION_ATTN (0x1<<3) 298562306a36Sopenharmony_ci#define PGLUE_B_PGLUE_B_INT_STS_REG_VF_MSIX_BAR_VIOLATION_ATTN (0x1<<5) 298662306a36Sopenharmony_ci#define PGLUE_B_PGLUE_B_INT_STS_REG_WAS_ERROR_ATTN (0x1<<2) 298762306a36Sopenharmony_ci/* [R 8] Config space A attention dirty bits. Each bit indicates that the 298862306a36Sopenharmony_ci * corresponding PF generates config space A attention. Set by PXP. Reset by 298962306a36Sopenharmony_ci * MCP writing 1 to icfg_space_a_request_clr. Note: register contains bits 299062306a36Sopenharmony_ci * from both paths. */ 299162306a36Sopenharmony_ci#define PGLUE_B_REG_CFG_SPACE_A_REQUEST 0x9010 299262306a36Sopenharmony_ci/* [R 8] Config space B attention dirty bits. Each bit indicates that the 299362306a36Sopenharmony_ci * corresponding PF generates config space B attention. Set by PXP. Reset by 299462306a36Sopenharmony_ci * MCP writing 1 to icfg_space_b_request_clr. Note: register contains bits 299562306a36Sopenharmony_ci * from both paths. */ 299662306a36Sopenharmony_ci#define PGLUE_B_REG_CFG_SPACE_B_REQUEST 0x9014 299762306a36Sopenharmony_ci/* [RW 1] Type A PF enable inbound interrupt table for CSDM. 0 - disable; 1 299862306a36Sopenharmony_ci * - enable. */ 299962306a36Sopenharmony_ci#define PGLUE_B_REG_CSDM_INB_INT_A_PF_ENABLE 0x9194 300062306a36Sopenharmony_ci/* [RW 18] Type B VF inbound interrupt table for CSDM: bits[17:9]-mask; 300162306a36Sopenharmony_ci * its[8:0]-address. Bits [1:0] must be zero (DW resolution address). */ 300262306a36Sopenharmony_ci#define PGLUE_B_REG_CSDM_INB_INT_B_VF 0x916c 300362306a36Sopenharmony_ci/* [RW 1] Type B VF enable inbound interrupt table for CSDM. 0 - disable; 1 300462306a36Sopenharmony_ci * - enable. */ 300562306a36Sopenharmony_ci#define PGLUE_B_REG_CSDM_INB_INT_B_VF_ENABLE 0x919c 300662306a36Sopenharmony_ci/* [RW 16] Start offset of CSDM zone A (queue zone) in the internal RAM */ 300762306a36Sopenharmony_ci#define PGLUE_B_REG_CSDM_START_OFFSET_A 0x9100 300862306a36Sopenharmony_ci/* [RW 16] Start offset of CSDM zone B (legacy zone) in the internal RAM */ 300962306a36Sopenharmony_ci#define PGLUE_B_REG_CSDM_START_OFFSET_B 0x9108 301062306a36Sopenharmony_ci/* [RW 5] VF Shift of CSDM zone B (legacy zone) in the internal RAM */ 301162306a36Sopenharmony_ci#define PGLUE_B_REG_CSDM_VF_SHIFT_B 0x9110 301262306a36Sopenharmony_ci/* [RW 1] 0 - Zone A size is 136x32B; 1 - Zone A size is 152x32B. */ 301362306a36Sopenharmony_ci#define PGLUE_B_REG_CSDM_ZONE_A_SIZE_PF 0x91ac 301462306a36Sopenharmony_ci/* [R 8] FLR request attention dirty bits for PFs 0 to 7. Each bit indicates 301562306a36Sopenharmony_ci * that the FLR register of the corresponding PF was set. Set by PXP. Reset 301662306a36Sopenharmony_ci * by MCP writing 1 to flr_request_pf_7_0_clr. Note: register contains bits 301762306a36Sopenharmony_ci * from both paths. */ 301862306a36Sopenharmony_ci#define PGLUE_B_REG_FLR_REQUEST_PF_7_0 0x9028 301962306a36Sopenharmony_ci/* [W 8] FLR request attention dirty bits clear for PFs 0 to 7. MCP writes 1 302062306a36Sopenharmony_ci * to a bit in this register in order to clear the corresponding bit in 302162306a36Sopenharmony_ci * flr_request_pf_7_0 register. Note: register contains bits from both 302262306a36Sopenharmony_ci * paths. */ 302362306a36Sopenharmony_ci#define PGLUE_B_REG_FLR_REQUEST_PF_7_0_CLR 0x9418 302462306a36Sopenharmony_ci/* [R 32] FLR request attention dirty bits for VFs 96 to 127. Each bit 302562306a36Sopenharmony_ci * indicates that the FLR register of the corresponding VF was set. Set by 302662306a36Sopenharmony_ci * PXP. Reset by MCP writing 1 to flr_request_vf_127_96_clr. */ 302762306a36Sopenharmony_ci#define PGLUE_B_REG_FLR_REQUEST_VF_127_96 0x9024 302862306a36Sopenharmony_ci/* [R 32] FLR request attention dirty bits for VFs 0 to 31. Each bit 302962306a36Sopenharmony_ci * indicates that the FLR register of the corresponding VF was set. Set by 303062306a36Sopenharmony_ci * PXP. Reset by MCP writing 1 to flr_request_vf_31_0_clr. */ 303162306a36Sopenharmony_ci#define PGLUE_B_REG_FLR_REQUEST_VF_31_0 0x9018 303262306a36Sopenharmony_ci/* [R 32] FLR request attention dirty bits for VFs 32 to 63. Each bit 303362306a36Sopenharmony_ci * indicates that the FLR register of the corresponding VF was set. Set by 303462306a36Sopenharmony_ci * PXP. Reset by MCP writing 1 to flr_request_vf_63_32_clr. */ 303562306a36Sopenharmony_ci#define PGLUE_B_REG_FLR_REQUEST_VF_63_32 0x901c 303662306a36Sopenharmony_ci/* [R 32] FLR request attention dirty bits for VFs 64 to 95. Each bit 303762306a36Sopenharmony_ci * indicates that the FLR register of the corresponding VF was set. Set by 303862306a36Sopenharmony_ci * PXP. Reset by MCP writing 1 to flr_request_vf_95_64_clr. */ 303962306a36Sopenharmony_ci#define PGLUE_B_REG_FLR_REQUEST_VF_95_64 0x9020 304062306a36Sopenharmony_ci/* [R 8] Each bit indicates an incorrect behavior in user RX interface. Bit 304162306a36Sopenharmony_ci * 0 - Target memory read arrived with a correctable error. Bit 1 - Target 304262306a36Sopenharmony_ci * memory read arrived with an uncorrectable error. Bit 2 - Configuration RW 304362306a36Sopenharmony_ci * arrived with a correctable error. Bit 3 - Configuration RW arrived with 304462306a36Sopenharmony_ci * an uncorrectable error. Bit 4 - Completion with Configuration Request 304562306a36Sopenharmony_ci * Retry Status. Bit 5 - Expansion ROM access received with a write request. 304662306a36Sopenharmony_ci * Bit 6 - Completion with pcie_rx_err of 0000; CMPL_STATUS of non-zero; and 304762306a36Sopenharmony_ci * pcie_rx_last not asserted. Bit 7 - Completion with pcie_rx_err of 1010; 304862306a36Sopenharmony_ci * and pcie_rx_last not asserted. */ 304962306a36Sopenharmony_ci#define PGLUE_B_REG_INCORRECT_RCV_DETAILS 0x9068 305062306a36Sopenharmony_ci#define PGLUE_B_REG_INTERNAL_PFID_ENABLE_MASTER 0x942c 305162306a36Sopenharmony_ci#define PGLUE_B_REG_INTERNAL_PFID_ENABLE_TARGET_READ 0x9430 305262306a36Sopenharmony_ci#define PGLUE_B_REG_INTERNAL_PFID_ENABLE_TARGET_WRITE 0x9434 305362306a36Sopenharmony_ci#define PGLUE_B_REG_INTERNAL_VFID_ENABLE 0x9438 305462306a36Sopenharmony_ci/* [W 7] Writing 1 to each bit in this register clears a corresponding error 305562306a36Sopenharmony_ci * details register and enables logging new error details. Bit 0 - clears 305662306a36Sopenharmony_ci * INCORRECT_RCV_DETAILS; Bit 1 - clears RX_ERR_DETAILS; Bit 2 - clears 305762306a36Sopenharmony_ci * TX_ERR_WR_ADD_31_0 TX_ERR_WR_ADD_63_32 TX_ERR_WR_DETAILS 305862306a36Sopenharmony_ci * TX_ERR_WR_DETAILS2 TX_ERR_RD_ADD_31_0 TX_ERR_RD_ADD_63_32 305962306a36Sopenharmony_ci * TX_ERR_RD_DETAILS TX_ERR_RD_DETAILS2 TX_ERR_WR_DETAILS_ICPL; Bit 3 - 306062306a36Sopenharmony_ci * clears VF_LENGTH_VIOLATION_DETAILS. Bit 4 - clears 306162306a36Sopenharmony_ci * VF_GRC_SPACE_VIOLATION_DETAILS. Bit 5 - clears RX_TCPL_ERR_DETAILS. Bit 6 306262306a36Sopenharmony_ci * - clears TCPL_IN_TWO_RCBS_DETAILS. */ 306362306a36Sopenharmony_ci#define PGLUE_B_REG_LATCHED_ERRORS_CLR 0x943c 306462306a36Sopenharmony_ci 306562306a36Sopenharmony_ci/* [R 9] Interrupt register #0 read */ 306662306a36Sopenharmony_ci#define PGLUE_B_REG_PGLUE_B_INT_STS 0x9298 306762306a36Sopenharmony_ci/* [RC 9] Interrupt register #0 read clear */ 306862306a36Sopenharmony_ci#define PGLUE_B_REG_PGLUE_B_INT_STS_CLR 0x929c 306962306a36Sopenharmony_ci/* [RW 2] Parity mask register #0 read/write */ 307062306a36Sopenharmony_ci#define PGLUE_B_REG_PGLUE_B_PRTY_MASK 0x92b4 307162306a36Sopenharmony_ci/* [R 2] Parity register #0 read */ 307262306a36Sopenharmony_ci#define PGLUE_B_REG_PGLUE_B_PRTY_STS 0x92a8 307362306a36Sopenharmony_ci/* [RC 2] Parity register #0 read clear */ 307462306a36Sopenharmony_ci#define PGLUE_B_REG_PGLUE_B_PRTY_STS_CLR 0x92ac 307562306a36Sopenharmony_ci/* [R 13] Details of first request received with error. [2:0] - PFID. [3] - 307662306a36Sopenharmony_ci * VF_VALID. [9:4] - VFID. [11:10] - Error Code - 0 - Indicates Completion 307762306a36Sopenharmony_ci * Timeout of a User Tx non-posted request. 1 - unsupported request. 2 - 307862306a36Sopenharmony_ci * completer abort. 3 - Illegal value for this field. [12] valid - indicates 307962306a36Sopenharmony_ci * if there was a completion error since the last time this register was 308062306a36Sopenharmony_ci * cleared. */ 308162306a36Sopenharmony_ci#define PGLUE_B_REG_RX_ERR_DETAILS 0x9080 308262306a36Sopenharmony_ci/* [R 18] Details of first ATS Translation Completion request received with 308362306a36Sopenharmony_ci * error. [2:0] - PFID. [3] - VF_VALID. [9:4] - VFID. [11:10] - Error Code - 308462306a36Sopenharmony_ci * 0 - Indicates Completion Timeout of a User Tx non-posted request. 1 - 308562306a36Sopenharmony_ci * unsupported request. 2 - completer abort. 3 - Illegal value for this 308662306a36Sopenharmony_ci * field. [16:12] - ATC OTB EntryID. [17] valid - indicates if there was a 308762306a36Sopenharmony_ci * completion error since the last time this register was cleared. */ 308862306a36Sopenharmony_ci#define PGLUE_B_REG_RX_TCPL_ERR_DETAILS 0x9084 308962306a36Sopenharmony_ci/* [W 8] Debug only - Shadow BME bits clear for PFs 0 to 7. MCP writes 1 to 309062306a36Sopenharmony_ci * a bit in this register in order to clear the corresponding bit in 309162306a36Sopenharmony_ci * shadow_bme_pf_7_0 register. MCP should never use this unless a 309262306a36Sopenharmony_ci * work-around is needed. Note: register contains bits from both paths. */ 309362306a36Sopenharmony_ci#define PGLUE_B_REG_SHADOW_BME_PF_7_0_CLR 0x9458 309462306a36Sopenharmony_ci/* [R 8] SR IOV disabled attention dirty bits. Each bit indicates that the 309562306a36Sopenharmony_ci * VF enable register of the corresponding PF is written to 0 and was 309662306a36Sopenharmony_ci * previously 1. Set by PXP. Reset by MCP writing 1 to 309762306a36Sopenharmony_ci * sr_iov_disabled_request_clr. Note: register contains bits from both 309862306a36Sopenharmony_ci * paths. */ 309962306a36Sopenharmony_ci#define PGLUE_B_REG_SR_IOV_DISABLED_REQUEST 0x9030 310062306a36Sopenharmony_ci/* [R 32] Indicates the status of tags 32-63. 0 - tags is used - read 310162306a36Sopenharmony_ci * completion did not return yet. 1 - tag is unused. Same functionality as 310262306a36Sopenharmony_ci * pxp2_registers_pgl_exp_rom_data2 for tags 0-31. */ 310362306a36Sopenharmony_ci#define PGLUE_B_REG_TAGS_63_32 0x9244 310462306a36Sopenharmony_ci/* [RW 1] Type A PF enable inbound interrupt table for TSDM. 0 - disable; 1 310562306a36Sopenharmony_ci * - enable. */ 310662306a36Sopenharmony_ci#define PGLUE_B_REG_TSDM_INB_INT_A_PF_ENABLE 0x9170 310762306a36Sopenharmony_ci/* [RW 16] Start offset of TSDM zone A (queue zone) in the internal RAM */ 310862306a36Sopenharmony_ci#define PGLUE_B_REG_TSDM_START_OFFSET_A 0x90c4 310962306a36Sopenharmony_ci/* [RW 16] Start offset of TSDM zone B (legacy zone) in the internal RAM */ 311062306a36Sopenharmony_ci#define PGLUE_B_REG_TSDM_START_OFFSET_B 0x90cc 311162306a36Sopenharmony_ci/* [RW 5] VF Shift of TSDM zone B (legacy zone) in the internal RAM */ 311262306a36Sopenharmony_ci#define PGLUE_B_REG_TSDM_VF_SHIFT_B 0x90d4 311362306a36Sopenharmony_ci/* [RW 1] 0 - Zone A size is 136x32B; 1 - Zone A size is 152x32B. */ 311462306a36Sopenharmony_ci#define PGLUE_B_REG_TSDM_ZONE_A_SIZE_PF 0x91a0 311562306a36Sopenharmony_ci/* [R 32] Address [31:0] of first read request not submitted due to error */ 311662306a36Sopenharmony_ci#define PGLUE_B_REG_TX_ERR_RD_ADD_31_0 0x9098 311762306a36Sopenharmony_ci/* [R 32] Address [63:32] of first read request not submitted due to error */ 311862306a36Sopenharmony_ci#define PGLUE_B_REG_TX_ERR_RD_ADD_63_32 0x909c 311962306a36Sopenharmony_ci/* [R 31] Details of first read request not submitted due to error. [4:0] 312062306a36Sopenharmony_ci * VQID. [5] TREQ. 1 - Indicates the request is a Translation Request. 312162306a36Sopenharmony_ci * [20:8] - Length in bytes. [23:21] - PFID. [24] - VF_VALID. [30:25] - 312262306a36Sopenharmony_ci * VFID. */ 312362306a36Sopenharmony_ci#define PGLUE_B_REG_TX_ERR_RD_DETAILS 0x90a0 312462306a36Sopenharmony_ci/* [R 26] Details of first read request not submitted due to error. [15:0] 312562306a36Sopenharmony_ci * Request ID. [19:16] client ID. [20] - last SR. [24:21] - Error type - 312662306a36Sopenharmony_ci * [21] - Indicates was_error was set; [22] - Indicates BME was cleared; 312762306a36Sopenharmony_ci * [23] - Indicates FID_enable was cleared; [24] - Indicates VF with parent 312862306a36Sopenharmony_ci * PF FLR_request or IOV_disable_request dirty bit is set. [25] valid - 312962306a36Sopenharmony_ci * indicates if there was a request not submitted due to error since the 313062306a36Sopenharmony_ci * last time this register was cleared. */ 313162306a36Sopenharmony_ci#define PGLUE_B_REG_TX_ERR_RD_DETAILS2 0x90a4 313262306a36Sopenharmony_ci/* [R 32] Address [31:0] of first write request not submitted due to error */ 313362306a36Sopenharmony_ci#define PGLUE_B_REG_TX_ERR_WR_ADD_31_0 0x9088 313462306a36Sopenharmony_ci/* [R 32] Address [63:32] of first write request not submitted due to error */ 313562306a36Sopenharmony_ci#define PGLUE_B_REG_TX_ERR_WR_ADD_63_32 0x908c 313662306a36Sopenharmony_ci/* [R 31] Details of first write request not submitted due to error. [4:0] 313762306a36Sopenharmony_ci * VQID. [20:8] - Length in bytes. [23:21] - PFID. [24] - VF_VALID. [30:25] 313862306a36Sopenharmony_ci * - VFID. */ 313962306a36Sopenharmony_ci#define PGLUE_B_REG_TX_ERR_WR_DETAILS 0x9090 314062306a36Sopenharmony_ci/* [R 26] Details of first write request not submitted due to error. [15:0] 314162306a36Sopenharmony_ci * Request ID. [19:16] client ID. [20] - last SR. [24:21] - Error type - 314262306a36Sopenharmony_ci * [21] - Indicates was_error was set; [22] - Indicates BME was cleared; 314362306a36Sopenharmony_ci * [23] - Indicates FID_enable was cleared; [24] - Indicates VF with parent 314462306a36Sopenharmony_ci * PF FLR_request or IOV_disable_request dirty bit is set. [25] valid - 314562306a36Sopenharmony_ci * indicates if there was a request not submitted due to error since the 314662306a36Sopenharmony_ci * last time this register was cleared. */ 314762306a36Sopenharmony_ci#define PGLUE_B_REG_TX_ERR_WR_DETAILS2 0x9094 314862306a36Sopenharmony_ci/* [RW 10] Type A PF/VF inbound interrupt table for USDM: bits[9:5]-mask; 314962306a36Sopenharmony_ci * its[4:0]-address relative to start_offset_a. Bits [1:0] can have any 315062306a36Sopenharmony_ci * value (Byte resolution address). */ 315162306a36Sopenharmony_ci#define PGLUE_B_REG_USDM_INB_INT_A_0 0x9128 315262306a36Sopenharmony_ci#define PGLUE_B_REG_USDM_INB_INT_A_1 0x912c 315362306a36Sopenharmony_ci#define PGLUE_B_REG_USDM_INB_INT_A_2 0x9130 315462306a36Sopenharmony_ci#define PGLUE_B_REG_USDM_INB_INT_A_3 0x9134 315562306a36Sopenharmony_ci#define PGLUE_B_REG_USDM_INB_INT_A_4 0x9138 315662306a36Sopenharmony_ci#define PGLUE_B_REG_USDM_INB_INT_A_5 0x913c 315762306a36Sopenharmony_ci#define PGLUE_B_REG_USDM_INB_INT_A_6 0x9140 315862306a36Sopenharmony_ci/* [RW 1] Type A PF enable inbound interrupt table for USDM. 0 - disable; 1 315962306a36Sopenharmony_ci * - enable. */ 316062306a36Sopenharmony_ci#define PGLUE_B_REG_USDM_INB_INT_A_PF_ENABLE 0x917c 316162306a36Sopenharmony_ci/* [RW 1] Type A VF enable inbound interrupt table for USDM. 0 - disable; 1 316262306a36Sopenharmony_ci * - enable. */ 316362306a36Sopenharmony_ci#define PGLUE_B_REG_USDM_INB_INT_A_VF_ENABLE 0x9180 316462306a36Sopenharmony_ci/* [RW 1] Type B VF enable inbound interrupt table for USDM. 0 - disable; 1 316562306a36Sopenharmony_ci * - enable. */ 316662306a36Sopenharmony_ci#define PGLUE_B_REG_USDM_INB_INT_B_VF_ENABLE 0x9184 316762306a36Sopenharmony_ci/* [RW 16] Start offset of USDM zone A (queue zone) in the internal RAM */ 316862306a36Sopenharmony_ci#define PGLUE_B_REG_USDM_START_OFFSET_A 0x90d8 316962306a36Sopenharmony_ci/* [RW 16] Start offset of USDM zone B (legacy zone) in the internal RAM */ 317062306a36Sopenharmony_ci#define PGLUE_B_REG_USDM_START_OFFSET_B 0x90e0 317162306a36Sopenharmony_ci/* [RW 5] VF Shift of USDM zone B (legacy zone) in the internal RAM */ 317262306a36Sopenharmony_ci#define PGLUE_B_REG_USDM_VF_SHIFT_B 0x90e8 317362306a36Sopenharmony_ci/* [RW 1] 0 - Zone A size is 136x32B; 1 - Zone A size is 152x32B. */ 317462306a36Sopenharmony_ci#define PGLUE_B_REG_USDM_ZONE_A_SIZE_PF 0x91a4 317562306a36Sopenharmony_ci/* [R 26] Details of first target VF request accessing VF GRC space that 317662306a36Sopenharmony_ci * failed permission check. [14:0] Address. [15] w_nr: 0 - Read; 1 - Write. 317762306a36Sopenharmony_ci * [21:16] VFID. [24:22] - PFID. [25] valid - indicates if there was a 317862306a36Sopenharmony_ci * request accessing VF GRC space that failed permission check since the 317962306a36Sopenharmony_ci * last time this register was cleared. Permission checks are: function 318062306a36Sopenharmony_ci * permission; R/W permission; address range permission. */ 318162306a36Sopenharmony_ci#define PGLUE_B_REG_VF_GRC_SPACE_VIOLATION_DETAILS 0x9234 318262306a36Sopenharmony_ci/* [R 31] Details of first target VF request with length violation (too many 318362306a36Sopenharmony_ci * DWs) accessing BAR0. [12:0] Address in DWs (bits [14:2] of byte address). 318462306a36Sopenharmony_ci * [14:13] BAR. [20:15] VFID. [23:21] - PFID. [29:24] - Length in DWs. [30] 318562306a36Sopenharmony_ci * valid - indicates if there was a request with length violation since the 318662306a36Sopenharmony_ci * last time this register was cleared. Length violations: length of more 318762306a36Sopenharmony_ci * than 2DWs; length of 2DWs and address not QW aligned; window is GRC and 318862306a36Sopenharmony_ci * length is more than 1 DW. */ 318962306a36Sopenharmony_ci#define PGLUE_B_REG_VF_LENGTH_VIOLATION_DETAILS 0x9230 319062306a36Sopenharmony_ci/* [R 8] Was_error indication dirty bits for PFs 0 to 7. Each bit indicates 319162306a36Sopenharmony_ci * that there was a completion with uncorrectable error for the 319262306a36Sopenharmony_ci * corresponding PF. Set by PXP. Reset by MCP writing 1 to 319362306a36Sopenharmony_ci * was_error_pf_7_0_clr. */ 319462306a36Sopenharmony_ci#define PGLUE_B_REG_WAS_ERROR_PF_7_0 0x907c 319562306a36Sopenharmony_ci/* [W 8] Was_error indication dirty bits clear for PFs 0 to 7. MCP writes 1 319662306a36Sopenharmony_ci * to a bit in this register in order to clear the corresponding bit in 319762306a36Sopenharmony_ci * flr_request_pf_7_0 register. */ 319862306a36Sopenharmony_ci#define PGLUE_B_REG_WAS_ERROR_PF_7_0_CLR 0x9470 319962306a36Sopenharmony_ci/* [R 32] Was_error indication dirty bits for VFs 96 to 127. Each bit 320062306a36Sopenharmony_ci * indicates that there was a completion with uncorrectable error for the 320162306a36Sopenharmony_ci * corresponding VF. Set by PXP. Reset by MCP writing 1 to 320262306a36Sopenharmony_ci * was_error_vf_127_96_clr. */ 320362306a36Sopenharmony_ci#define PGLUE_B_REG_WAS_ERROR_VF_127_96 0x9078 320462306a36Sopenharmony_ci/* [W 32] Was_error indication dirty bits clear for VFs 96 to 127. MCP 320562306a36Sopenharmony_ci * writes 1 to a bit in this register in order to clear the corresponding 320662306a36Sopenharmony_ci * bit in was_error_vf_127_96 register. */ 320762306a36Sopenharmony_ci#define PGLUE_B_REG_WAS_ERROR_VF_127_96_CLR 0x9474 320862306a36Sopenharmony_ci/* [R 32] Was_error indication dirty bits for VFs 0 to 31. Each bit 320962306a36Sopenharmony_ci * indicates that there was a completion with uncorrectable error for the 321062306a36Sopenharmony_ci * corresponding VF. Set by PXP. Reset by MCP writing 1 to 321162306a36Sopenharmony_ci * was_error_vf_31_0_clr. */ 321262306a36Sopenharmony_ci#define PGLUE_B_REG_WAS_ERROR_VF_31_0 0x906c 321362306a36Sopenharmony_ci/* [W 32] Was_error indication dirty bits clear for VFs 0 to 31. MCP writes 321462306a36Sopenharmony_ci * 1 to a bit in this register in order to clear the corresponding bit in 321562306a36Sopenharmony_ci * was_error_vf_31_0 register. */ 321662306a36Sopenharmony_ci#define PGLUE_B_REG_WAS_ERROR_VF_31_0_CLR 0x9478 321762306a36Sopenharmony_ci/* [R 32] Was_error indication dirty bits for VFs 32 to 63. Each bit 321862306a36Sopenharmony_ci * indicates that there was a completion with uncorrectable error for the 321962306a36Sopenharmony_ci * corresponding VF. Set by PXP. Reset by MCP writing 1 to 322062306a36Sopenharmony_ci * was_error_vf_63_32_clr. */ 322162306a36Sopenharmony_ci#define PGLUE_B_REG_WAS_ERROR_VF_63_32 0x9070 322262306a36Sopenharmony_ci/* [W 32] Was_error indication dirty bits clear for VFs 32 to 63. MCP writes 322362306a36Sopenharmony_ci * 1 to a bit in this register in order to clear the corresponding bit in 322462306a36Sopenharmony_ci * was_error_vf_63_32 register. */ 322562306a36Sopenharmony_ci#define PGLUE_B_REG_WAS_ERROR_VF_63_32_CLR 0x947c 322662306a36Sopenharmony_ci/* [R 32] Was_error indication dirty bits for VFs 64 to 95. Each bit 322762306a36Sopenharmony_ci * indicates that there was a completion with uncorrectable error for the 322862306a36Sopenharmony_ci * corresponding VF. Set by PXP. Reset by MCP writing 1 to 322962306a36Sopenharmony_ci * was_error_vf_95_64_clr. */ 323062306a36Sopenharmony_ci#define PGLUE_B_REG_WAS_ERROR_VF_95_64 0x9074 323162306a36Sopenharmony_ci/* [W 32] Was_error indication dirty bits clear for VFs 64 to 95. MCP writes 323262306a36Sopenharmony_ci * 1 to a bit in this register in order to clear the corresponding bit in 323362306a36Sopenharmony_ci * was_error_vf_95_64 register. */ 323462306a36Sopenharmony_ci#define PGLUE_B_REG_WAS_ERROR_VF_95_64_CLR 0x9480 323562306a36Sopenharmony_ci/* [RW 1] Type A PF enable inbound interrupt table for XSDM. 0 - disable; 1 323662306a36Sopenharmony_ci * - enable. */ 323762306a36Sopenharmony_ci#define PGLUE_B_REG_XSDM_INB_INT_A_PF_ENABLE 0x9188 323862306a36Sopenharmony_ci/* [RW 16] Start offset of XSDM zone A (queue zone) in the internal RAM */ 323962306a36Sopenharmony_ci#define PGLUE_B_REG_XSDM_START_OFFSET_A 0x90ec 324062306a36Sopenharmony_ci/* [RW 16] Start offset of XSDM zone B (legacy zone) in the internal RAM */ 324162306a36Sopenharmony_ci#define PGLUE_B_REG_XSDM_START_OFFSET_B 0x90f4 324262306a36Sopenharmony_ci/* [RW 5] VF Shift of XSDM zone B (legacy zone) in the internal RAM */ 324362306a36Sopenharmony_ci#define PGLUE_B_REG_XSDM_VF_SHIFT_B 0x90fc 324462306a36Sopenharmony_ci/* [RW 1] 0 - Zone A size is 136x32B; 1 - Zone A size is 152x32B. */ 324562306a36Sopenharmony_ci#define PGLUE_B_REG_XSDM_ZONE_A_SIZE_PF 0x91a8 324662306a36Sopenharmony_ci#define PRS_REG_A_PRSU_20 0x40134 324762306a36Sopenharmony_ci/* [R 8] debug only: CFC load request current credit. Transaction based. */ 324862306a36Sopenharmony_ci#define PRS_REG_CFC_LD_CURRENT_CREDIT 0x40164 324962306a36Sopenharmony_ci/* [R 8] debug only: CFC search request current credit. Transaction based. */ 325062306a36Sopenharmony_ci#define PRS_REG_CFC_SEARCH_CURRENT_CREDIT 0x40168 325162306a36Sopenharmony_ci/* [RW 6] The initial credit for the search message to the CFC interface. 325262306a36Sopenharmony_ci Credit is transaction based. */ 325362306a36Sopenharmony_ci#define PRS_REG_CFC_SEARCH_INITIAL_CREDIT 0x4011c 325462306a36Sopenharmony_ci/* [RW 24] CID for port 0 if no match */ 325562306a36Sopenharmony_ci#define PRS_REG_CID_PORT_0 0x400fc 325662306a36Sopenharmony_ci/* [RW 32] The CM header for flush message where 'load existed' bit in CFC 325762306a36Sopenharmony_ci load response is reset and packet type is 0. Used in packet start message 325862306a36Sopenharmony_ci to TCM. */ 325962306a36Sopenharmony_ci#define PRS_REG_CM_HDR_FLUSH_LOAD_TYPE_0 0x400dc 326062306a36Sopenharmony_ci#define PRS_REG_CM_HDR_FLUSH_LOAD_TYPE_1 0x400e0 326162306a36Sopenharmony_ci#define PRS_REG_CM_HDR_FLUSH_LOAD_TYPE_2 0x400e4 326262306a36Sopenharmony_ci#define PRS_REG_CM_HDR_FLUSH_LOAD_TYPE_3 0x400e8 326362306a36Sopenharmony_ci#define PRS_REG_CM_HDR_FLUSH_LOAD_TYPE_4 0x400ec 326462306a36Sopenharmony_ci#define PRS_REG_CM_HDR_FLUSH_LOAD_TYPE_5 0x400f0 326562306a36Sopenharmony_ci/* [RW 32] The CM header for flush message where 'load existed' bit in CFC 326662306a36Sopenharmony_ci load response is set and packet type is 0. Used in packet start message 326762306a36Sopenharmony_ci to TCM. */ 326862306a36Sopenharmony_ci#define PRS_REG_CM_HDR_FLUSH_NO_LOAD_TYPE_0 0x400bc 326962306a36Sopenharmony_ci#define PRS_REG_CM_HDR_FLUSH_NO_LOAD_TYPE_1 0x400c0 327062306a36Sopenharmony_ci#define PRS_REG_CM_HDR_FLUSH_NO_LOAD_TYPE_2 0x400c4 327162306a36Sopenharmony_ci#define PRS_REG_CM_HDR_FLUSH_NO_LOAD_TYPE_3 0x400c8 327262306a36Sopenharmony_ci#define PRS_REG_CM_HDR_FLUSH_NO_LOAD_TYPE_4 0x400cc 327362306a36Sopenharmony_ci#define PRS_REG_CM_HDR_FLUSH_NO_LOAD_TYPE_5 0x400d0 327462306a36Sopenharmony_ci/* [RW 32] The CM header for a match and packet type 1 for loopback port. 327562306a36Sopenharmony_ci Used in packet start message to TCM. */ 327662306a36Sopenharmony_ci#define PRS_REG_CM_HDR_LOOPBACK_TYPE_1 0x4009c 327762306a36Sopenharmony_ci#define PRS_REG_CM_HDR_LOOPBACK_TYPE_2 0x400a0 327862306a36Sopenharmony_ci#define PRS_REG_CM_HDR_LOOPBACK_TYPE_3 0x400a4 327962306a36Sopenharmony_ci#define PRS_REG_CM_HDR_LOOPBACK_TYPE_4 0x400a8 328062306a36Sopenharmony_ci/* [RW 32] The CM header for a match and packet type 0. Used in packet start 328162306a36Sopenharmony_ci message to TCM. */ 328262306a36Sopenharmony_ci#define PRS_REG_CM_HDR_TYPE_0 0x40078 328362306a36Sopenharmony_ci#define PRS_REG_CM_HDR_TYPE_1 0x4007c 328462306a36Sopenharmony_ci#define PRS_REG_CM_HDR_TYPE_2 0x40080 328562306a36Sopenharmony_ci#define PRS_REG_CM_HDR_TYPE_3 0x40084 328662306a36Sopenharmony_ci#define PRS_REG_CM_HDR_TYPE_4 0x40088 328762306a36Sopenharmony_ci/* [RW 32] The CM header in case there was not a match on the connection */ 328862306a36Sopenharmony_ci#define PRS_REG_CM_NO_MATCH_HDR 0x400b8 328962306a36Sopenharmony_ci/* [RW 1] Indicates if in e1hov mode. 0=non-e1hov mode; 1=e1hov mode. */ 329062306a36Sopenharmony_ci#define PRS_REG_E1HOV_MODE 0x401c8 329162306a36Sopenharmony_ci/* [RW 8] The 8-bit event ID for a match and packet type 1. Used in packet 329262306a36Sopenharmony_ci start message to TCM. */ 329362306a36Sopenharmony_ci#define PRS_REG_EVENT_ID_1 0x40054 329462306a36Sopenharmony_ci#define PRS_REG_EVENT_ID_2 0x40058 329562306a36Sopenharmony_ci#define PRS_REG_EVENT_ID_3 0x4005c 329662306a36Sopenharmony_ci/* [RW 16] The Ethernet type value for FCoE */ 329762306a36Sopenharmony_ci#define PRS_REG_FCOE_TYPE 0x401d0 329862306a36Sopenharmony_ci/* [RW 8] Context region for flush packet with packet type 0. Used in CFC 329962306a36Sopenharmony_ci load request message. */ 330062306a36Sopenharmony_ci#define PRS_REG_FLUSH_REGIONS_TYPE_0 0x40004 330162306a36Sopenharmony_ci#define PRS_REG_FLUSH_REGIONS_TYPE_1 0x40008 330262306a36Sopenharmony_ci#define PRS_REG_FLUSH_REGIONS_TYPE_2 0x4000c 330362306a36Sopenharmony_ci#define PRS_REG_FLUSH_REGIONS_TYPE_3 0x40010 330462306a36Sopenharmony_ci#define PRS_REG_FLUSH_REGIONS_TYPE_4 0x40014 330562306a36Sopenharmony_ci#define PRS_REG_FLUSH_REGIONS_TYPE_5 0x40018 330662306a36Sopenharmony_ci#define PRS_REG_FLUSH_REGIONS_TYPE_6 0x4001c 330762306a36Sopenharmony_ci#define PRS_REG_FLUSH_REGIONS_TYPE_7 0x40020 330862306a36Sopenharmony_ci/* [RW 6] Bit-map indicating which L2 hdrs may appear after the basic 330962306a36Sopenharmony_ci * Ethernet header. */ 331062306a36Sopenharmony_ci#define PRS_REG_HDRS_AFTER_BASIC 0x40238 331162306a36Sopenharmony_ci/* [RW 6] Bit-map indicating which L2 hdrs may appear after the basic 331262306a36Sopenharmony_ci * Ethernet header for port 0 packets. */ 331362306a36Sopenharmony_ci#define PRS_REG_HDRS_AFTER_BASIC_PORT_0 0x40270 331462306a36Sopenharmony_ci#define PRS_REG_HDRS_AFTER_BASIC_PORT_1 0x40290 331562306a36Sopenharmony_ci/* [R 6] Bit-map indicating which L2 hdrs may appear after L2 tag 0 */ 331662306a36Sopenharmony_ci#define PRS_REG_HDRS_AFTER_TAG_0 0x40248 331762306a36Sopenharmony_ci/* [RW 6] Bit-map indicating which L2 hdrs may appear after L2 tag 0 for 331862306a36Sopenharmony_ci * port 0 packets */ 331962306a36Sopenharmony_ci#define PRS_REG_HDRS_AFTER_TAG_0_PORT_0 0x40280 332062306a36Sopenharmony_ci#define PRS_REG_HDRS_AFTER_TAG_0_PORT_1 0x402a0 332162306a36Sopenharmony_ci/* [RW 4] The increment value to send in the CFC load request message */ 332262306a36Sopenharmony_ci#define PRS_REG_INC_VALUE 0x40048 332362306a36Sopenharmony_ci/* [RW 6] Bit-map indicating which headers must appear in the packet */ 332462306a36Sopenharmony_ci#define PRS_REG_MUST_HAVE_HDRS 0x40254 332562306a36Sopenharmony_ci/* [RW 6] Bit-map indicating which headers must appear in the packet for 332662306a36Sopenharmony_ci * port 0 packets */ 332762306a36Sopenharmony_ci#define PRS_REG_MUST_HAVE_HDRS_PORT_0 0x4028c 332862306a36Sopenharmony_ci#define PRS_REG_MUST_HAVE_HDRS_PORT_1 0x402ac 332962306a36Sopenharmony_ci#define PRS_REG_NIC_MODE 0x40138 333062306a36Sopenharmony_ci/* [RW 8] The 8-bit event ID for cases where there is no match on the 333162306a36Sopenharmony_ci connection. Used in packet start message to TCM. */ 333262306a36Sopenharmony_ci#define PRS_REG_NO_MATCH_EVENT_ID 0x40070 333362306a36Sopenharmony_ci/* [ST 24] The number of input CFC flush packets */ 333462306a36Sopenharmony_ci#define PRS_REG_NUM_OF_CFC_FLUSH_MESSAGES 0x40128 333562306a36Sopenharmony_ci/* [ST 32] The number of cycles the Parser halted its operation since it 333662306a36Sopenharmony_ci could not allocate the next serial number */ 333762306a36Sopenharmony_ci#define PRS_REG_NUM_OF_DEAD_CYCLES 0x40130 333862306a36Sopenharmony_ci/* [ST 24] The number of input packets */ 333962306a36Sopenharmony_ci#define PRS_REG_NUM_OF_PACKETS 0x40124 334062306a36Sopenharmony_ci/* [ST 24] The number of input transparent flush packets */ 334162306a36Sopenharmony_ci#define PRS_REG_NUM_OF_TRANSPARENT_FLUSH_MESSAGES 0x4012c 334262306a36Sopenharmony_ci/* [RW 8] Context region for received Ethernet packet with a match and 334362306a36Sopenharmony_ci packet type 0. Used in CFC load request message */ 334462306a36Sopenharmony_ci#define PRS_REG_PACKET_REGIONS_TYPE_0 0x40028 334562306a36Sopenharmony_ci#define PRS_REG_PACKET_REGIONS_TYPE_1 0x4002c 334662306a36Sopenharmony_ci#define PRS_REG_PACKET_REGIONS_TYPE_2 0x40030 334762306a36Sopenharmony_ci#define PRS_REG_PACKET_REGIONS_TYPE_3 0x40034 334862306a36Sopenharmony_ci#define PRS_REG_PACKET_REGIONS_TYPE_4 0x40038 334962306a36Sopenharmony_ci#define PRS_REG_PACKET_REGIONS_TYPE_5 0x4003c 335062306a36Sopenharmony_ci#define PRS_REG_PACKET_REGIONS_TYPE_6 0x40040 335162306a36Sopenharmony_ci#define PRS_REG_PACKET_REGIONS_TYPE_7 0x40044 335262306a36Sopenharmony_ci/* [R 2] debug only: Number of pending requests for CAC on port 0. */ 335362306a36Sopenharmony_ci#define PRS_REG_PENDING_BRB_CAC0_RQ 0x40174 335462306a36Sopenharmony_ci/* [R 2] debug only: Number of pending requests for header parsing. */ 335562306a36Sopenharmony_ci#define PRS_REG_PENDING_BRB_PRS_RQ 0x40170 335662306a36Sopenharmony_ci/* [R 1] Interrupt register #0 read */ 335762306a36Sopenharmony_ci#define PRS_REG_PRS_INT_STS 0x40188 335862306a36Sopenharmony_ci/* [RW 8] Parity mask register #0 read/write */ 335962306a36Sopenharmony_ci#define PRS_REG_PRS_PRTY_MASK 0x401a4 336062306a36Sopenharmony_ci/* [R 8] Parity register #0 read */ 336162306a36Sopenharmony_ci#define PRS_REG_PRS_PRTY_STS 0x40198 336262306a36Sopenharmony_ci/* [RC 8] Parity register #0 read clear */ 336362306a36Sopenharmony_ci#define PRS_REG_PRS_PRTY_STS_CLR 0x4019c 336462306a36Sopenharmony_ci/* [RW 8] Context region for pure acknowledge packets. Used in CFC load 336562306a36Sopenharmony_ci request message */ 336662306a36Sopenharmony_ci#define PRS_REG_PURE_REGIONS 0x40024 336762306a36Sopenharmony_ci/* [R 32] debug only: Serial number status lsb 32 bits. '1' indicates this 336862306a36Sopenharmony_ci serail number was released by SDM but cannot be used because a previous 336962306a36Sopenharmony_ci serial number was not released. */ 337062306a36Sopenharmony_ci#define PRS_REG_SERIAL_NUM_STATUS_LSB 0x40154 337162306a36Sopenharmony_ci/* [R 32] debug only: Serial number status msb 32 bits. '1' indicates this 337262306a36Sopenharmony_ci serail number was released by SDM but cannot be used because a previous 337362306a36Sopenharmony_ci serial number was not released. */ 337462306a36Sopenharmony_ci#define PRS_REG_SERIAL_NUM_STATUS_MSB 0x40158 337562306a36Sopenharmony_ci/* [R 4] debug only: SRC current credit. Transaction based. */ 337662306a36Sopenharmony_ci#define PRS_REG_SRC_CURRENT_CREDIT 0x4016c 337762306a36Sopenharmony_ci/* [RW 16] The Ethernet type value for L2 tag 0 */ 337862306a36Sopenharmony_ci#define PRS_REG_TAG_ETHERTYPE_0 0x401d4 337962306a36Sopenharmony_ci/* [RW 4] The length of the info field for L2 tag 0. The length is between 338062306a36Sopenharmony_ci * 2B and 14B; in 2B granularity */ 338162306a36Sopenharmony_ci#define PRS_REG_TAG_LEN_0 0x4022c 338262306a36Sopenharmony_ci/* [R 8] debug only: TCM current credit. Cycle based. */ 338362306a36Sopenharmony_ci#define PRS_REG_TCM_CURRENT_CREDIT 0x40160 338462306a36Sopenharmony_ci/* [R 8] debug only: TSDM current credit. Transaction based. */ 338562306a36Sopenharmony_ci#define PRS_REG_TSDM_CURRENT_CREDIT 0x4015c 338662306a36Sopenharmony_ci/* [RW 16] One of 8 values that should be compared to type in Ethernet 338762306a36Sopenharmony_ci * parsing. If there is a match; the field after Ethernet is the first VLAN. 338862306a36Sopenharmony_ci * Reset value is 0x8100 which is the standard VLAN type. Note that when 338962306a36Sopenharmony_ci * checking second VLAN; type is compared only to 0x8100. 339062306a36Sopenharmony_ci */ 339162306a36Sopenharmony_ci#define PRS_REG_VLAN_TYPE_0 0x401a8 339262306a36Sopenharmony_ci#define PXP2_PXP2_INT_MASK_0_REG_PGL_CPL_AFT (0x1<<19) 339362306a36Sopenharmony_ci#define PXP2_PXP2_INT_MASK_0_REG_PGL_CPL_OF (0x1<<20) 339462306a36Sopenharmony_ci#define PXP2_PXP2_INT_MASK_0_REG_PGL_PCIE_ATTN (0x1<<22) 339562306a36Sopenharmony_ci#define PXP2_PXP2_INT_MASK_0_REG_PGL_READ_BLOCKED (0x1<<23) 339662306a36Sopenharmony_ci#define PXP2_PXP2_INT_MASK_0_REG_PGL_WRITE_BLOCKED (0x1<<24) 339762306a36Sopenharmony_ci#define PXP2_PXP2_INT_STS_0_REG_WR_PGLUE_EOP_ERROR (0x1<<7) 339862306a36Sopenharmony_ci#define PXP2_PXP2_INT_STS_CLR_0_REG_WR_PGLUE_EOP_ERROR (0x1<<7) 339962306a36Sopenharmony_ci/* [R 6] Debug only: Number of used entries in the data FIFO */ 340062306a36Sopenharmony_ci#define PXP2_REG_HST_DATA_FIFO_STATUS 0x12047c 340162306a36Sopenharmony_ci/* [R 7] Debug only: Number of used entries in the header FIFO */ 340262306a36Sopenharmony_ci#define PXP2_REG_HST_HEADER_FIFO_STATUS 0x120478 340362306a36Sopenharmony_ci#define PXP2_REG_PGL_ADDR_88_F0 0x120534 340462306a36Sopenharmony_ci/* [R 32] GRC address for configuration access to PCIE config address 0x88. 340562306a36Sopenharmony_ci * any write to this PCIE address will cause a GRC write access to the 340662306a36Sopenharmony_ci * address that's in t this register */ 340762306a36Sopenharmony_ci#define PXP2_REG_PGL_ADDR_88_F1 0x120544 340862306a36Sopenharmony_ci#define PXP2_REG_PGL_ADDR_8C_F0 0x120538 340962306a36Sopenharmony_ci/* [R 32] GRC address for configuration access to PCIE config address 0x8c. 341062306a36Sopenharmony_ci * any write to this PCIE address will cause a GRC write access to the 341162306a36Sopenharmony_ci * address that's in t this register */ 341262306a36Sopenharmony_ci#define PXP2_REG_PGL_ADDR_8C_F1 0x120548 341362306a36Sopenharmony_ci#define PXP2_REG_PGL_ADDR_90_F0 0x12053c 341462306a36Sopenharmony_ci/* [R 32] GRC address for configuration access to PCIE config address 0x90. 341562306a36Sopenharmony_ci * any write to this PCIE address will cause a GRC write access to the 341662306a36Sopenharmony_ci * address that's in t this register */ 341762306a36Sopenharmony_ci#define PXP2_REG_PGL_ADDR_90_F1 0x12054c 341862306a36Sopenharmony_ci#define PXP2_REG_PGL_ADDR_94_F0 0x120540 341962306a36Sopenharmony_ci/* [R 32] GRC address for configuration access to PCIE config address 0x94. 342062306a36Sopenharmony_ci * any write to this PCIE address will cause a GRC write access to the 342162306a36Sopenharmony_ci * address that's in t this register */ 342262306a36Sopenharmony_ci#define PXP2_REG_PGL_ADDR_94_F1 0x120550 342362306a36Sopenharmony_ci#define PXP2_REG_PGL_CONTROL0 0x120490 342462306a36Sopenharmony_ci#define PXP2_REG_PGL_CONTROL1 0x120514 342562306a36Sopenharmony_ci#define PXP2_REG_PGL_DEBUG 0x120520 342662306a36Sopenharmony_ci/* [RW 32] third dword data of expansion rom request. this register is 342762306a36Sopenharmony_ci special. reading from it provides a vector outstanding read requests. if 342862306a36Sopenharmony_ci a bit is zero it means that a read request on the corresponding tag did 342962306a36Sopenharmony_ci not finish yet (not all completions have arrived for it) */ 343062306a36Sopenharmony_ci#define PXP2_REG_PGL_EXP_ROM2 0x120808 343162306a36Sopenharmony_ci/* [RW 32] Inbound interrupt table for CSDM: bits[31:16]-mask; 343262306a36Sopenharmony_ci its[15:0]-address */ 343362306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_CSDM_0 0x1204f4 343462306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_CSDM_1 0x1204f8 343562306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_CSDM_2 0x1204fc 343662306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_CSDM_3 0x120500 343762306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_CSDM_4 0x120504 343862306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_CSDM_5 0x120508 343962306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_CSDM_6 0x12050c 344062306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_CSDM_7 0x120510 344162306a36Sopenharmony_ci/* [RW 32] Inbound interrupt table for TSDM: bits[31:16]-mask; 344262306a36Sopenharmony_ci its[15:0]-address */ 344362306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_TSDM_0 0x120494 344462306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_TSDM_1 0x120498 344562306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_TSDM_2 0x12049c 344662306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_TSDM_3 0x1204a0 344762306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_TSDM_4 0x1204a4 344862306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_TSDM_5 0x1204a8 344962306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_TSDM_6 0x1204ac 345062306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_TSDM_7 0x1204b0 345162306a36Sopenharmony_ci/* [RW 32] Inbound interrupt table for USDM: bits[31:16]-mask; 345262306a36Sopenharmony_ci its[15:0]-address */ 345362306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_USDM_0 0x1204b4 345462306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_USDM_1 0x1204b8 345562306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_USDM_2 0x1204bc 345662306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_USDM_3 0x1204c0 345762306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_USDM_4 0x1204c4 345862306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_USDM_5 0x1204c8 345962306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_USDM_6 0x1204cc 346062306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_USDM_7 0x1204d0 346162306a36Sopenharmony_ci/* [RW 32] Inbound interrupt table for XSDM: bits[31:16]-mask; 346262306a36Sopenharmony_ci its[15:0]-address */ 346362306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_XSDM_0 0x1204d4 346462306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_XSDM_1 0x1204d8 346562306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_XSDM_2 0x1204dc 346662306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_XSDM_3 0x1204e0 346762306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_XSDM_4 0x1204e4 346862306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_XSDM_5 0x1204e8 346962306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_XSDM_6 0x1204ec 347062306a36Sopenharmony_ci#define PXP2_REG_PGL_INT_XSDM_7 0x1204f0 347162306a36Sopenharmony_ci/* [RW 3] this field allows one function to pretend being another function 347262306a36Sopenharmony_ci when accessing any BAR mapped resource within the device. the value of 347362306a36Sopenharmony_ci the field is the number of the function that will be accessed 347462306a36Sopenharmony_ci effectively. after software write to this bit it must read it in order to 347562306a36Sopenharmony_ci know that the new value is updated */ 347662306a36Sopenharmony_ci#define PXP2_REG_PGL_PRETEND_FUNC_F0 0x120674 347762306a36Sopenharmony_ci#define PXP2_REG_PGL_PRETEND_FUNC_F1 0x120678 347862306a36Sopenharmony_ci#define PXP2_REG_PGL_PRETEND_FUNC_F2 0x12067c 347962306a36Sopenharmony_ci#define PXP2_REG_PGL_PRETEND_FUNC_F3 0x120680 348062306a36Sopenharmony_ci#define PXP2_REG_PGL_PRETEND_FUNC_F4 0x120684 348162306a36Sopenharmony_ci#define PXP2_REG_PGL_PRETEND_FUNC_F5 0x120688 348262306a36Sopenharmony_ci#define PXP2_REG_PGL_PRETEND_FUNC_F6 0x12068c 348362306a36Sopenharmony_ci#define PXP2_REG_PGL_PRETEND_FUNC_F7 0x120690 348462306a36Sopenharmony_ci/* [R 1] this bit indicates that a read request was blocked because of 348562306a36Sopenharmony_ci bus_master_en was deasserted */ 348662306a36Sopenharmony_ci#define PXP2_REG_PGL_READ_BLOCKED 0x120568 348762306a36Sopenharmony_ci#define PXP2_REG_PGL_TAGS_LIMIT 0x1205a8 348862306a36Sopenharmony_ci/* [R 18] debug only */ 348962306a36Sopenharmony_ci#define PXP2_REG_PGL_TXW_CDTS 0x12052c 349062306a36Sopenharmony_ci/* [R 1] this bit indicates that a write request was blocked because of 349162306a36Sopenharmony_ci bus_master_en was deasserted */ 349262306a36Sopenharmony_ci#define PXP2_REG_PGL_WRITE_BLOCKED 0x120564 349362306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_ADD1 0x1201c0 349462306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_ADD10 0x1201e4 349562306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_ADD11 0x1201e8 349662306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_ADD2 0x1201c4 349762306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_ADD28 0x120228 349862306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_ADD3 0x1201c8 349962306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_ADD6 0x1201d4 350062306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_ADD7 0x1201d8 350162306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_ADD8 0x1201dc 350262306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_ADD9 0x1201e0 350362306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_CREDIT 0x12032c 350462306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_L1 0x1202b0 350562306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_L10 0x1202d4 350662306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_L11 0x1202d8 350762306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_L2 0x1202b4 350862306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_L28 0x120318 350962306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_L3 0x1202b8 351062306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_L6 0x1202c4 351162306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_L7 0x1202c8 351262306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_L8 0x1202cc 351362306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_L9 0x1202d0 351462306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_RD 0x120324 351562306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_UB1 0x120238 351662306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_UB10 0x12025c 351762306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_UB11 0x120260 351862306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_UB2 0x12023c 351962306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_UB28 0x1202a0 352062306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_UB3 0x120240 352162306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_UB6 0x12024c 352262306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_UB7 0x120250 352362306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_UB8 0x120254 352462306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_UB9 0x120258 352562306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_BW_WR 0x120328 352662306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_CDU0_L2P 0x120000 352762306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_QM0_L2P 0x120038 352862306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_SRC0_L2P 0x120054 352962306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_TM0_L2P 0x12001c 353062306a36Sopenharmony_ci#define PXP2_REG_PSWRQ_TSDM0_L2P 0x1200e0 353162306a36Sopenharmony_ci/* [RW 32] Interrupt mask register #0 read/write */ 353262306a36Sopenharmony_ci#define PXP2_REG_PXP2_INT_MASK_0 0x120578 353362306a36Sopenharmony_ci/* [R 32] Interrupt register #0 read */ 353462306a36Sopenharmony_ci#define PXP2_REG_PXP2_INT_STS_0 0x12056c 353562306a36Sopenharmony_ci#define PXP2_REG_PXP2_INT_STS_1 0x120608 353662306a36Sopenharmony_ci/* [RC 32] Interrupt register #0 read clear */ 353762306a36Sopenharmony_ci#define PXP2_REG_PXP2_INT_STS_CLR_0 0x120570 353862306a36Sopenharmony_ci/* [RW 32] Parity mask register #0 read/write */ 353962306a36Sopenharmony_ci#define PXP2_REG_PXP2_PRTY_MASK_0 0x120588 354062306a36Sopenharmony_ci#define PXP2_REG_PXP2_PRTY_MASK_1 0x120598 354162306a36Sopenharmony_ci/* [R 32] Parity register #0 read */ 354262306a36Sopenharmony_ci#define PXP2_REG_PXP2_PRTY_STS_0 0x12057c 354362306a36Sopenharmony_ci#define PXP2_REG_PXP2_PRTY_STS_1 0x12058c 354462306a36Sopenharmony_ci/* [RC 32] Parity register #0 read clear */ 354562306a36Sopenharmony_ci#define PXP2_REG_PXP2_PRTY_STS_CLR_0 0x120580 354662306a36Sopenharmony_ci#define PXP2_REG_PXP2_PRTY_STS_CLR_1 0x120590 354762306a36Sopenharmony_ci/* [R 1] Debug only: The 'almost full' indication from each fifo (gives 354862306a36Sopenharmony_ci indication about backpressure) */ 354962306a36Sopenharmony_ci#define PXP2_REG_RD_ALMOST_FULL_0 0x120424 355062306a36Sopenharmony_ci/* [R 8] Debug only: The blocks counter - number of unused block ids */ 355162306a36Sopenharmony_ci#define PXP2_REG_RD_BLK_CNT 0x120418 355262306a36Sopenharmony_ci/* [RW 8] Debug only: Total number of available blocks in Tetris Buffer. 355362306a36Sopenharmony_ci Must be bigger than 6. Normally should not be changed. */ 355462306a36Sopenharmony_ci#define PXP2_REG_RD_BLK_NUM_CFG 0x12040c 355562306a36Sopenharmony_ci/* [RW 2] CDU byte swapping mode configuration for master read requests */ 355662306a36Sopenharmony_ci#define PXP2_REG_RD_CDURD_SWAP_MODE 0x120404 355762306a36Sopenharmony_ci/* [RW 1] When '1'; inputs to the PSWRD block are ignored */ 355862306a36Sopenharmony_ci#define PXP2_REG_RD_DISABLE_INPUTS 0x120374 355962306a36Sopenharmony_ci/* [R 1] PSWRD internal memories initialization is done */ 356062306a36Sopenharmony_ci#define PXP2_REG_RD_INIT_DONE 0x120370 356162306a36Sopenharmony_ci/* [RW 8] The maximum number of blocks in Tetris Buffer that can be 356262306a36Sopenharmony_ci allocated for vq10 */ 356362306a36Sopenharmony_ci#define PXP2_REG_RD_MAX_BLKS_VQ10 0x1203a0 356462306a36Sopenharmony_ci/* [RW 8] The maximum number of blocks in Tetris Buffer that can be 356562306a36Sopenharmony_ci allocated for vq11 */ 356662306a36Sopenharmony_ci#define PXP2_REG_RD_MAX_BLKS_VQ11 0x1203a4 356762306a36Sopenharmony_ci/* [RW 8] The maximum number of blocks in Tetris Buffer that can be 356862306a36Sopenharmony_ci allocated for vq17 */ 356962306a36Sopenharmony_ci#define PXP2_REG_RD_MAX_BLKS_VQ17 0x1203bc 357062306a36Sopenharmony_ci/* [RW 8] The maximum number of blocks in Tetris Buffer that can be 357162306a36Sopenharmony_ci allocated for vq18 */ 357262306a36Sopenharmony_ci#define PXP2_REG_RD_MAX_BLKS_VQ18 0x1203c0 357362306a36Sopenharmony_ci/* [RW 8] The maximum number of blocks in Tetris Buffer that can be 357462306a36Sopenharmony_ci allocated for vq19 */ 357562306a36Sopenharmony_ci#define PXP2_REG_RD_MAX_BLKS_VQ19 0x1203c4 357662306a36Sopenharmony_ci/* [RW 8] The maximum number of blocks in Tetris Buffer that can be 357762306a36Sopenharmony_ci allocated for vq22 */ 357862306a36Sopenharmony_ci#define PXP2_REG_RD_MAX_BLKS_VQ22 0x1203d0 357962306a36Sopenharmony_ci/* [RW 8] The maximum number of blocks in Tetris Buffer that can be 358062306a36Sopenharmony_ci allocated for vq25 */ 358162306a36Sopenharmony_ci#define PXP2_REG_RD_MAX_BLKS_VQ25 0x1203dc 358262306a36Sopenharmony_ci/* [RW 8] The maximum number of blocks in Tetris Buffer that can be 358362306a36Sopenharmony_ci allocated for vq6 */ 358462306a36Sopenharmony_ci#define PXP2_REG_RD_MAX_BLKS_VQ6 0x120390 358562306a36Sopenharmony_ci/* [RW 8] The maximum number of blocks in Tetris Buffer that can be 358662306a36Sopenharmony_ci allocated for vq9 */ 358762306a36Sopenharmony_ci#define PXP2_REG_RD_MAX_BLKS_VQ9 0x12039c 358862306a36Sopenharmony_ci/* [RW 2] PBF byte swapping mode configuration for master read requests */ 358962306a36Sopenharmony_ci#define PXP2_REG_RD_PBF_SWAP_MODE 0x1203f4 359062306a36Sopenharmony_ci/* [R 1] Debug only: Indication if delivery ports are idle */ 359162306a36Sopenharmony_ci#define PXP2_REG_RD_PORT_IS_IDLE_0 0x12041c 359262306a36Sopenharmony_ci#define PXP2_REG_RD_PORT_IS_IDLE_1 0x120420 359362306a36Sopenharmony_ci/* [RW 2] QM byte swapping mode configuration for master read requests */ 359462306a36Sopenharmony_ci#define PXP2_REG_RD_QM_SWAP_MODE 0x1203f8 359562306a36Sopenharmony_ci/* [R 7] Debug only: The SR counter - number of unused sub request ids */ 359662306a36Sopenharmony_ci#define PXP2_REG_RD_SR_CNT 0x120414 359762306a36Sopenharmony_ci/* [RW 2] SRC byte swapping mode configuration for master read requests */ 359862306a36Sopenharmony_ci#define PXP2_REG_RD_SRC_SWAP_MODE 0x120400 359962306a36Sopenharmony_ci/* [RW 7] Debug only: Total number of available PCI read sub-requests. Must 360062306a36Sopenharmony_ci be bigger than 1. Normally should not be changed. */ 360162306a36Sopenharmony_ci#define PXP2_REG_RD_SR_NUM_CFG 0x120408 360262306a36Sopenharmony_ci/* [RW 1] Signals the PSWRD block to start initializing internal memories */ 360362306a36Sopenharmony_ci#define PXP2_REG_RD_START_INIT 0x12036c 360462306a36Sopenharmony_ci/* [RW 2] TM byte swapping mode configuration for master read requests */ 360562306a36Sopenharmony_ci#define PXP2_REG_RD_TM_SWAP_MODE 0x1203fc 360662306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ0 write requests */ 360762306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD0 0x1201bc 360862306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ12 read requests */ 360962306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD12 0x1201ec 361062306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ13 read requests */ 361162306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD13 0x1201f0 361262306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ14 read requests */ 361362306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD14 0x1201f4 361462306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ15 read requests */ 361562306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD15 0x1201f8 361662306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ16 read requests */ 361762306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD16 0x1201fc 361862306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ17 read requests */ 361962306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD17 0x120200 362062306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ18 read requests */ 362162306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD18 0x120204 362262306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ19 read requests */ 362362306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD19 0x120208 362462306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ20 read requests */ 362562306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD20 0x12020c 362662306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ22 read requests */ 362762306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD22 0x120210 362862306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ23 read requests */ 362962306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD23 0x120214 363062306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ24 read requests */ 363162306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD24 0x120218 363262306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ25 read requests */ 363362306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD25 0x12021c 363462306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ26 read requests */ 363562306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD26 0x120220 363662306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ27 read requests */ 363762306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD27 0x120224 363862306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ4 read requests */ 363962306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD4 0x1201cc 364062306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ5 read requests */ 364162306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_ADD5 0x1201d0 364262306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ0 Read requests */ 364362306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L0 0x1202ac 364462306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ12 Read requests */ 364562306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L12 0x1202dc 364662306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ13 Read requests */ 364762306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L13 0x1202e0 364862306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ14 Read requests */ 364962306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L14 0x1202e4 365062306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ15 Read requests */ 365162306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L15 0x1202e8 365262306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ16 Read requests */ 365362306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L16 0x1202ec 365462306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ17 Read requests */ 365562306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L17 0x1202f0 365662306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ18 Read requests */ 365762306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L18 0x1202f4 365862306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ19 Read requests */ 365962306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L19 0x1202f8 366062306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ20 Read requests */ 366162306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L20 0x1202fc 366262306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ22 Read requests */ 366362306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L22 0x120300 366462306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ23 Read requests */ 366562306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L23 0x120304 366662306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ24 Read requests */ 366762306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L24 0x120308 366862306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ25 Read requests */ 366962306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L25 0x12030c 367062306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ26 Read requests */ 367162306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L26 0x120310 367262306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ27 Read requests */ 367362306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L27 0x120314 367462306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ4 Read requests */ 367562306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L4 0x1202bc 367662306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ5 Read- currently not used */ 367762306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_L5 0x1202c0 367862306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ0 read requests */ 367962306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND0 0x120234 368062306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ12 read requests */ 368162306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND12 0x120264 368262306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ13 read requests */ 368362306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND13 0x120268 368462306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ14 read requests */ 368562306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND14 0x12026c 368662306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ15 read requests */ 368762306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND15 0x120270 368862306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ16 read requests */ 368962306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND16 0x120274 369062306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ17 read requests */ 369162306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND17 0x120278 369262306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ18 read requests */ 369362306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND18 0x12027c 369462306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ19 read requests */ 369562306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND19 0x120280 369662306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ20 read requests */ 369762306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND20 0x120284 369862306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ22 read requests */ 369962306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND22 0x120288 370062306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ23 read requests */ 370162306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND23 0x12028c 370262306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ24 read requests */ 370362306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND24 0x120290 370462306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ25 read requests */ 370562306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND25 0x120294 370662306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ26 read requests */ 370762306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND26 0x120298 370862306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ27 read requests */ 370962306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND27 0x12029c 371062306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ4 read requests */ 371162306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND4 0x120244 371262306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ5 read requests */ 371362306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_RD_UBOUND5 0x120248 371462306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ29 write requests */ 371562306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_WR_ADD29 0x12022c 371662306a36Sopenharmony_ci/* [RW 10] Bandwidth addition to VQ30 write requests */ 371762306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_WR_ADD30 0x120230 371862306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ29 Write requests */ 371962306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_WR_L29 0x12031c 372062306a36Sopenharmony_ci/* [RW 10] Bandwidth Typical L for VQ30 Write requests */ 372162306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_WR_L30 0x120320 372262306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ29 */ 372362306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_WR_UBOUND29 0x1202a4 372462306a36Sopenharmony_ci/* [RW 7] Bandwidth upper bound for VQ30 */ 372562306a36Sopenharmony_ci#define PXP2_REG_RQ_BW_WR_UBOUND30 0x1202a8 372662306a36Sopenharmony_ci/* [RW 18] external first_mem_addr field in L2P table for CDU module port 0 */ 372762306a36Sopenharmony_ci#define PXP2_REG_RQ_CDU0_EFIRST_MEM_ADDR 0x120008 372862306a36Sopenharmony_ci/* [RW 2] Endian mode for cdu */ 372962306a36Sopenharmony_ci#define PXP2_REG_RQ_CDU_ENDIAN_M 0x1201a0 373062306a36Sopenharmony_ci#define PXP2_REG_RQ_CDU_FIRST_ILT 0x12061c 373162306a36Sopenharmony_ci#define PXP2_REG_RQ_CDU_LAST_ILT 0x120620 373262306a36Sopenharmony_ci/* [RW 3] page size in L2P table for CDU module; -4k; -8k; -16k; -32k; -64k; 373362306a36Sopenharmony_ci -128k */ 373462306a36Sopenharmony_ci#define PXP2_REG_RQ_CDU_P_SIZE 0x120018 373562306a36Sopenharmony_ci/* [R 1] 1' indicates that the requester has finished its internal 373662306a36Sopenharmony_ci configuration */ 373762306a36Sopenharmony_ci#define PXP2_REG_RQ_CFG_DONE 0x1201b4 373862306a36Sopenharmony_ci/* [RW 2] Endian mode for debug */ 373962306a36Sopenharmony_ci#define PXP2_REG_RQ_DBG_ENDIAN_M 0x1201a4 374062306a36Sopenharmony_ci/* [RW 1] When '1'; requests will enter input buffers but wont get out 374162306a36Sopenharmony_ci towards the glue */ 374262306a36Sopenharmony_ci#define PXP2_REG_RQ_DISABLE_INPUTS 0x120330 374362306a36Sopenharmony_ci/* [RW 4] Determines alignment of write SRs when a request is split into 374462306a36Sopenharmony_ci * several SRs. 0 - 8B aligned. 1 - 64B aligned. 2 - 128B aligned. 3 - 256B 374562306a36Sopenharmony_ci * aligned. 4 - 512B aligned. */ 374662306a36Sopenharmony_ci#define PXP2_REG_RQ_DRAM_ALIGN 0x1205b0 374762306a36Sopenharmony_ci/* [RW 4] Determines alignment of read SRs when a request is split into 374862306a36Sopenharmony_ci * several SRs. 0 - 8B aligned. 1 - 64B aligned. 2 - 128B aligned. 3 - 256B 374962306a36Sopenharmony_ci * aligned. 4 - 512B aligned. */ 375062306a36Sopenharmony_ci#define PXP2_REG_RQ_DRAM_ALIGN_RD 0x12092c 375162306a36Sopenharmony_ci/* [RW 1] when set the new alignment method (E2) will be applied; when reset 375262306a36Sopenharmony_ci * the original alignment method (E1 E1H) will be applied */ 375362306a36Sopenharmony_ci#define PXP2_REG_RQ_DRAM_ALIGN_SEL 0x120930 375462306a36Sopenharmony_ci/* [RW 1] If 1 ILT failiue will not result in ELT access; An interrupt will 375562306a36Sopenharmony_ci be asserted */ 375662306a36Sopenharmony_ci#define PXP2_REG_RQ_ELT_DISABLE 0x12066c 375762306a36Sopenharmony_ci/* [RW 2] Endian mode for hc */ 375862306a36Sopenharmony_ci#define PXP2_REG_RQ_HC_ENDIAN_M 0x1201a8 375962306a36Sopenharmony_ci/* [RW 1] when '0' ILT logic will work as in A0; otherwise B0; for back 376062306a36Sopenharmony_ci compatibility needs; Note that different registers are used per mode */ 376162306a36Sopenharmony_ci#define PXP2_REG_RQ_ILT_MODE 0x1205b4 376262306a36Sopenharmony_ci/* [WB 53] Onchip address table */ 376362306a36Sopenharmony_ci#define PXP2_REG_RQ_ONCHIP_AT 0x122000 376462306a36Sopenharmony_ci/* [WB 53] Onchip address table - B0 */ 376562306a36Sopenharmony_ci#define PXP2_REG_RQ_ONCHIP_AT_B0 0x128000 376662306a36Sopenharmony_ci/* [RW 13] Pending read limiter threshold; in Dwords */ 376762306a36Sopenharmony_ci#define PXP2_REG_RQ_PDR_LIMIT 0x12033c 376862306a36Sopenharmony_ci/* [RW 2] Endian mode for qm */ 376962306a36Sopenharmony_ci#define PXP2_REG_RQ_QM_ENDIAN_M 0x120194 377062306a36Sopenharmony_ci#define PXP2_REG_RQ_QM_FIRST_ILT 0x120634 377162306a36Sopenharmony_ci#define PXP2_REG_RQ_QM_LAST_ILT 0x120638 377262306a36Sopenharmony_ci/* [RW 3] page size in L2P table for QM module; -4k; -8k; -16k; -32k; -64k; 377362306a36Sopenharmony_ci -128k */ 377462306a36Sopenharmony_ci#define PXP2_REG_RQ_QM_P_SIZE 0x120050 377562306a36Sopenharmony_ci/* [RW 1] 1' indicates that the RBC has finished configuring the PSWRQ */ 377662306a36Sopenharmony_ci#define PXP2_REG_RQ_RBC_DONE 0x1201b0 377762306a36Sopenharmony_ci/* [RW 3] Max burst size filed for read requests port 0; 000 - 128B; 377862306a36Sopenharmony_ci 001:256B; 010: 512B; 11:1K:100:2K; 01:4K */ 377962306a36Sopenharmony_ci#define PXP2_REG_RQ_RD_MBS0 0x120160 378062306a36Sopenharmony_ci/* [RW 3] Max burst size filed for read requests port 1; 000 - 128B; 378162306a36Sopenharmony_ci 001:256B; 010: 512B; 11:1K:100:2K; 01:4K */ 378262306a36Sopenharmony_ci#define PXP2_REG_RQ_RD_MBS1 0x120168 378362306a36Sopenharmony_ci/* [RW 2] Endian mode for src */ 378462306a36Sopenharmony_ci#define PXP2_REG_RQ_SRC_ENDIAN_M 0x12019c 378562306a36Sopenharmony_ci#define PXP2_REG_RQ_SRC_FIRST_ILT 0x12063c 378662306a36Sopenharmony_ci#define PXP2_REG_RQ_SRC_LAST_ILT 0x120640 378762306a36Sopenharmony_ci/* [RW 3] page size in L2P table for SRC module; -4k; -8k; -16k; -32k; -64k; 378862306a36Sopenharmony_ci -128k */ 378962306a36Sopenharmony_ci#define PXP2_REG_RQ_SRC_P_SIZE 0x12006c 379062306a36Sopenharmony_ci/* [RW 2] Endian mode for tm */ 379162306a36Sopenharmony_ci#define PXP2_REG_RQ_TM_ENDIAN_M 0x120198 379262306a36Sopenharmony_ci#define PXP2_REG_RQ_TM_FIRST_ILT 0x120644 379362306a36Sopenharmony_ci#define PXP2_REG_RQ_TM_LAST_ILT 0x120648 379462306a36Sopenharmony_ci/* [RW 3] page size in L2P table for TM module; -4k; -8k; -16k; -32k; -64k; 379562306a36Sopenharmony_ci -128k */ 379662306a36Sopenharmony_ci#define PXP2_REG_RQ_TM_P_SIZE 0x120034 379762306a36Sopenharmony_ci/* [R 5] Number of entries in the ufifo; his fifo has l2p completions */ 379862306a36Sopenharmony_ci#define PXP2_REG_RQ_UFIFO_NUM_OF_ENTRY 0x12080c 379962306a36Sopenharmony_ci/* [RW 18] external first_mem_addr field in L2P table for USDM module port 0 */ 380062306a36Sopenharmony_ci#define PXP2_REG_RQ_USDM0_EFIRST_MEM_ADDR 0x120094 380162306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 0 in pswrq memory */ 380262306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ0_ENTRY_CNT 0x120810 380362306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 10 in pswrq memory */ 380462306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ10_ENTRY_CNT 0x120818 380562306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 11 in pswrq memory */ 380662306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ11_ENTRY_CNT 0x120820 380762306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 12 in pswrq memory */ 380862306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ12_ENTRY_CNT 0x120828 380962306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 13 in pswrq memory */ 381062306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ13_ENTRY_CNT 0x120830 381162306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 14 in pswrq memory */ 381262306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ14_ENTRY_CNT 0x120838 381362306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 15 in pswrq memory */ 381462306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ15_ENTRY_CNT 0x120840 381562306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 16 in pswrq memory */ 381662306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ16_ENTRY_CNT 0x120848 381762306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 17 in pswrq memory */ 381862306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ17_ENTRY_CNT 0x120850 381962306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 18 in pswrq memory */ 382062306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ18_ENTRY_CNT 0x120858 382162306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 19 in pswrq memory */ 382262306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ19_ENTRY_CNT 0x120860 382362306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 1 in pswrq memory */ 382462306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ1_ENTRY_CNT 0x120868 382562306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 20 in pswrq memory */ 382662306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ20_ENTRY_CNT 0x120870 382762306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 21 in pswrq memory */ 382862306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ21_ENTRY_CNT 0x120878 382962306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 22 in pswrq memory */ 383062306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ22_ENTRY_CNT 0x120880 383162306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 23 in pswrq memory */ 383262306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ23_ENTRY_CNT 0x120888 383362306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 24 in pswrq memory */ 383462306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ24_ENTRY_CNT 0x120890 383562306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 25 in pswrq memory */ 383662306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ25_ENTRY_CNT 0x120898 383762306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 26 in pswrq memory */ 383862306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ26_ENTRY_CNT 0x1208a0 383962306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 27 in pswrq memory */ 384062306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ27_ENTRY_CNT 0x1208a8 384162306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 28 in pswrq memory */ 384262306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ28_ENTRY_CNT 0x1208b0 384362306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 29 in pswrq memory */ 384462306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ29_ENTRY_CNT 0x1208b8 384562306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 2 in pswrq memory */ 384662306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ2_ENTRY_CNT 0x1208c0 384762306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 30 in pswrq memory */ 384862306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ30_ENTRY_CNT 0x1208c8 384962306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 31 in pswrq memory */ 385062306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ31_ENTRY_CNT 0x1208d0 385162306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 3 in pswrq memory */ 385262306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ3_ENTRY_CNT 0x1208d8 385362306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 4 in pswrq memory */ 385462306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ4_ENTRY_CNT 0x1208e0 385562306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 5 in pswrq memory */ 385662306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ5_ENTRY_CNT 0x1208e8 385762306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 6 in pswrq memory */ 385862306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ6_ENTRY_CNT 0x1208f0 385962306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 7 in pswrq memory */ 386062306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ7_ENTRY_CNT 0x1208f8 386162306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 8 in pswrq memory */ 386262306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ8_ENTRY_CNT 0x120900 386362306a36Sopenharmony_ci/* [R 8] Number of entries occupied by vq 9 in pswrq memory */ 386462306a36Sopenharmony_ci#define PXP2_REG_RQ_VQ9_ENTRY_CNT 0x120908 386562306a36Sopenharmony_ci/* [RW 3] Max burst size filed for write requests port 0; 000 - 128B; 386662306a36Sopenharmony_ci 001:256B; 010: 512B; */ 386762306a36Sopenharmony_ci#define PXP2_REG_RQ_WR_MBS0 0x12015c 386862306a36Sopenharmony_ci/* [RW 3] Max burst size filed for write requests port 1; 000 - 128B; 386962306a36Sopenharmony_ci 001:256B; 010: 512B; */ 387062306a36Sopenharmony_ci#define PXP2_REG_RQ_WR_MBS1 0x120164 387162306a36Sopenharmony_ci/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the 387262306a36Sopenharmony_ci buffer reaches this number has_payload will be asserted */ 387362306a36Sopenharmony_ci#define PXP2_REG_WR_CDU_MPS 0x1205f0 387462306a36Sopenharmony_ci/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the 387562306a36Sopenharmony_ci buffer reaches this number has_payload will be asserted */ 387662306a36Sopenharmony_ci#define PXP2_REG_WR_CSDM_MPS 0x1205d0 387762306a36Sopenharmony_ci/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the 387862306a36Sopenharmony_ci buffer reaches this number has_payload will be asserted */ 387962306a36Sopenharmony_ci#define PXP2_REG_WR_DBG_MPS 0x1205e8 388062306a36Sopenharmony_ci/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the 388162306a36Sopenharmony_ci buffer reaches this number has_payload will be asserted */ 388262306a36Sopenharmony_ci#define PXP2_REG_WR_DMAE_MPS 0x1205ec 388362306a36Sopenharmony_ci/* [RW 10] if Number of entries in dmae fifo will be higher than this 388462306a36Sopenharmony_ci threshold then has_payload indication will be asserted; the default value 388562306a36Sopenharmony_ci should be equal to > write MBS size! */ 388662306a36Sopenharmony_ci#define PXP2_REG_WR_DMAE_TH 0x120368 388762306a36Sopenharmony_ci/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the 388862306a36Sopenharmony_ci buffer reaches this number has_payload will be asserted */ 388962306a36Sopenharmony_ci#define PXP2_REG_WR_HC_MPS 0x1205c8 389062306a36Sopenharmony_ci/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the 389162306a36Sopenharmony_ci buffer reaches this number has_payload will be asserted */ 389262306a36Sopenharmony_ci#define PXP2_REG_WR_QM_MPS 0x1205dc 389362306a36Sopenharmony_ci/* [RW 1] 0 - working in A0 mode; - working in B0 mode */ 389462306a36Sopenharmony_ci#define PXP2_REG_WR_REV_MODE 0x120670 389562306a36Sopenharmony_ci/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the 389662306a36Sopenharmony_ci buffer reaches this number has_payload will be asserted */ 389762306a36Sopenharmony_ci#define PXP2_REG_WR_SRC_MPS 0x1205e4 389862306a36Sopenharmony_ci/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the 389962306a36Sopenharmony_ci buffer reaches this number has_payload will be asserted */ 390062306a36Sopenharmony_ci#define PXP2_REG_WR_TM_MPS 0x1205e0 390162306a36Sopenharmony_ci/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the 390262306a36Sopenharmony_ci buffer reaches this number has_payload will be asserted */ 390362306a36Sopenharmony_ci#define PXP2_REG_WR_TSDM_MPS 0x1205d4 390462306a36Sopenharmony_ci/* [RW 10] if Number of entries in usdmdp fifo will be higher than this 390562306a36Sopenharmony_ci threshold then has_payload indication will be asserted; the default value 390662306a36Sopenharmony_ci should be equal to > write MBS size! */ 390762306a36Sopenharmony_ci#define PXP2_REG_WR_USDMDP_TH 0x120348 390862306a36Sopenharmony_ci/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the 390962306a36Sopenharmony_ci buffer reaches this number has_payload will be asserted */ 391062306a36Sopenharmony_ci#define PXP2_REG_WR_USDM_MPS 0x1205cc 391162306a36Sopenharmony_ci/* [RW 2] 0 - 128B; - 256B; - 512B; - 1024B; when the payload in the 391262306a36Sopenharmony_ci buffer reaches this number has_payload will be asserted */ 391362306a36Sopenharmony_ci#define PXP2_REG_WR_XSDM_MPS 0x1205d8 391462306a36Sopenharmony_ci/* [R 1] debug only: Indication if PSWHST arbiter is idle */ 391562306a36Sopenharmony_ci#define PXP_REG_HST_ARB_IS_IDLE 0x103004 391662306a36Sopenharmony_ci/* [R 8] debug only: A bit mask for all PSWHST arbiter clients. '1' means 391762306a36Sopenharmony_ci this client is waiting for the arbiter. */ 391862306a36Sopenharmony_ci#define PXP_REG_HST_CLIENTS_WAITING_TO_ARB 0x103008 391962306a36Sopenharmony_ci/* [RW 1] When 1; doorbells are discarded and not passed to doorbell queue 392062306a36Sopenharmony_ci block. Should be used for close the gates. */ 392162306a36Sopenharmony_ci#define PXP_REG_HST_DISCARD_DOORBELLS 0x1030a4 392262306a36Sopenharmony_ci/* [R 1] debug only: '1' means this PSWHST is discarding doorbells. This bit 392362306a36Sopenharmony_ci should update according to 'hst_discard_doorbells' register when the state 392462306a36Sopenharmony_ci machine is idle */ 392562306a36Sopenharmony_ci#define PXP_REG_HST_DISCARD_DOORBELLS_STATUS 0x1030a0 392662306a36Sopenharmony_ci/* [RW 1] When 1; new internal writes arriving to the block are discarded. 392762306a36Sopenharmony_ci Should be used for close the gates. */ 392862306a36Sopenharmony_ci#define PXP_REG_HST_DISCARD_INTERNAL_WRITES 0x1030a8 392962306a36Sopenharmony_ci/* [R 6] debug only: A bit mask for all PSWHST internal write clients. '1' 393062306a36Sopenharmony_ci means this PSWHST is discarding inputs from this client. Each bit should 393162306a36Sopenharmony_ci update according to 'hst_discard_internal_writes' register when the state 393262306a36Sopenharmony_ci machine is idle. */ 393362306a36Sopenharmony_ci#define PXP_REG_HST_DISCARD_INTERNAL_WRITES_STATUS 0x10309c 393462306a36Sopenharmony_ci/* [WB 160] Used for initialization of the inbound interrupts memory */ 393562306a36Sopenharmony_ci#define PXP_REG_HST_INBOUND_INT 0x103800 393662306a36Sopenharmony_ci/* [RW 7] Indirect access to the permission table. The fields are : {Valid; 393762306a36Sopenharmony_ci * VFID[5:0]} 393862306a36Sopenharmony_ci */ 393962306a36Sopenharmony_ci#define PXP_REG_HST_ZONE_PERMISSION_TABLE 0x103400 394062306a36Sopenharmony_ci/* [RW 32] Interrupt mask register #0 read/write */ 394162306a36Sopenharmony_ci#define PXP_REG_PXP_INT_MASK_0 0x103074 394262306a36Sopenharmony_ci#define PXP_REG_PXP_INT_MASK_1 0x103084 394362306a36Sopenharmony_ci/* [R 32] Interrupt register #0 read */ 394462306a36Sopenharmony_ci#define PXP_REG_PXP_INT_STS_0 0x103068 394562306a36Sopenharmony_ci#define PXP_REG_PXP_INT_STS_1 0x103078 394662306a36Sopenharmony_ci/* [RC 32] Interrupt register #0 read clear */ 394762306a36Sopenharmony_ci#define PXP_REG_PXP_INT_STS_CLR_0 0x10306c 394862306a36Sopenharmony_ci#define PXP_REG_PXP_INT_STS_CLR_1 0x10307c 394962306a36Sopenharmony_ci/* [RW 27] Parity mask register #0 read/write */ 395062306a36Sopenharmony_ci#define PXP_REG_PXP_PRTY_MASK 0x103094 395162306a36Sopenharmony_ci/* [R 26] Parity register #0 read */ 395262306a36Sopenharmony_ci#define PXP_REG_PXP_PRTY_STS 0x103088 395362306a36Sopenharmony_ci/* [RC 27] Parity register #0 read clear */ 395462306a36Sopenharmony_ci#define PXP_REG_PXP_PRTY_STS_CLR 0x10308c 395562306a36Sopenharmony_ci/* [RW 4] The activity counter initial increment value sent in the load 395662306a36Sopenharmony_ci request */ 395762306a36Sopenharmony_ci#define QM_REG_ACTCTRINITVAL_0 0x168040 395862306a36Sopenharmony_ci#define QM_REG_ACTCTRINITVAL_1 0x168044 395962306a36Sopenharmony_ci#define QM_REG_ACTCTRINITVAL_2 0x168048 396062306a36Sopenharmony_ci#define QM_REG_ACTCTRINITVAL_3 0x16804c 396162306a36Sopenharmony_ci/* [RW 32] The base logical address (in bytes) of each physical queue. The 396262306a36Sopenharmony_ci index I represents the physical queue number. The 12 lsbs are ignore and 396362306a36Sopenharmony_ci considered zero so practically there are only 20 bits in this register; 396462306a36Sopenharmony_ci queues 63-0 */ 396562306a36Sopenharmony_ci#define QM_REG_BASEADDR 0x168900 396662306a36Sopenharmony_ci/* [RW 32] The base logical address (in bytes) of each physical queue. The 396762306a36Sopenharmony_ci index I represents the physical queue number. The 12 lsbs are ignore and 396862306a36Sopenharmony_ci considered zero so practically there are only 20 bits in this register; 396962306a36Sopenharmony_ci queues 127-64 */ 397062306a36Sopenharmony_ci#define QM_REG_BASEADDR_EXT_A 0x16e100 397162306a36Sopenharmony_ci/* [RW 16] The byte credit cost for each task. This value is for both ports */ 397262306a36Sopenharmony_ci#define QM_REG_BYTECRDCOST 0x168234 397362306a36Sopenharmony_ci/* [RW 16] The initial byte credit value for both ports. */ 397462306a36Sopenharmony_ci#define QM_REG_BYTECRDINITVAL 0x168238 397562306a36Sopenharmony_ci/* [RW 32] A bit per physical queue. If the bit is cleared then the physical 397662306a36Sopenharmony_ci queue uses port 0 else it uses port 1; queues 31-0 */ 397762306a36Sopenharmony_ci#define QM_REG_BYTECRDPORT_LSB 0x168228 397862306a36Sopenharmony_ci/* [RW 32] A bit per physical queue. If the bit is cleared then the physical 397962306a36Sopenharmony_ci queue uses port 0 else it uses port 1; queues 95-64 */ 398062306a36Sopenharmony_ci#define QM_REG_BYTECRDPORT_LSB_EXT_A 0x16e520 398162306a36Sopenharmony_ci/* [RW 32] A bit per physical queue. If the bit is cleared then the physical 398262306a36Sopenharmony_ci queue uses port 0 else it uses port 1; queues 63-32 */ 398362306a36Sopenharmony_ci#define QM_REG_BYTECRDPORT_MSB 0x168224 398462306a36Sopenharmony_ci/* [RW 32] A bit per physical queue. If the bit is cleared then the physical 398562306a36Sopenharmony_ci queue uses port 0 else it uses port 1; queues 127-96 */ 398662306a36Sopenharmony_ci#define QM_REG_BYTECRDPORT_MSB_EXT_A 0x16e51c 398762306a36Sopenharmony_ci/* [RW 16] The byte credit value that if above the QM is considered almost 398862306a36Sopenharmony_ci full */ 398962306a36Sopenharmony_ci#define QM_REG_BYTECREDITAFULLTHR 0x168094 399062306a36Sopenharmony_ci/* [RW 4] The initial credit for interface */ 399162306a36Sopenharmony_ci#define QM_REG_CMINITCRD_0 0x1680cc 399262306a36Sopenharmony_ci#define QM_REG_BYTECRDCMDQ_0 0x16e6e8 399362306a36Sopenharmony_ci#define QM_REG_CMINITCRD_1 0x1680d0 399462306a36Sopenharmony_ci#define QM_REG_CMINITCRD_2 0x1680d4 399562306a36Sopenharmony_ci#define QM_REG_CMINITCRD_3 0x1680d8 399662306a36Sopenharmony_ci#define QM_REG_CMINITCRD_4 0x1680dc 399762306a36Sopenharmony_ci#define QM_REG_CMINITCRD_5 0x1680e0 399862306a36Sopenharmony_ci#define QM_REG_CMINITCRD_6 0x1680e4 399962306a36Sopenharmony_ci#define QM_REG_CMINITCRD_7 0x1680e8 400062306a36Sopenharmony_ci/* [RW 8] A mask bit per CM interface. If this bit is 0 then this interface 400162306a36Sopenharmony_ci is masked */ 400262306a36Sopenharmony_ci#define QM_REG_CMINTEN 0x1680ec 400362306a36Sopenharmony_ci/* [RW 12] A bit vector which indicates which one of the queues are tied to 400462306a36Sopenharmony_ci interface 0 */ 400562306a36Sopenharmony_ci#define QM_REG_CMINTVOQMASK_0 0x1681f4 400662306a36Sopenharmony_ci#define QM_REG_CMINTVOQMASK_1 0x1681f8 400762306a36Sopenharmony_ci#define QM_REG_CMINTVOQMASK_2 0x1681fc 400862306a36Sopenharmony_ci#define QM_REG_CMINTVOQMASK_3 0x168200 400962306a36Sopenharmony_ci#define QM_REG_CMINTVOQMASK_4 0x168204 401062306a36Sopenharmony_ci#define QM_REG_CMINTVOQMASK_5 0x168208 401162306a36Sopenharmony_ci#define QM_REG_CMINTVOQMASK_6 0x16820c 401262306a36Sopenharmony_ci#define QM_REG_CMINTVOQMASK_7 0x168210 401362306a36Sopenharmony_ci/* [RW 20] The number of connections divided by 16 which dictates the size 401462306a36Sopenharmony_ci of each queue which belongs to even function number. */ 401562306a36Sopenharmony_ci#define QM_REG_CONNNUM_0 0x168020 401662306a36Sopenharmony_ci/* [R 6] Keep the fill level of the fifo from write client 4 */ 401762306a36Sopenharmony_ci#define QM_REG_CQM_WRC_FIFOLVL 0x168018 401862306a36Sopenharmony_ci/* [RW 8] The context regions sent in the CFC load request */ 401962306a36Sopenharmony_ci#define QM_REG_CTXREG_0 0x168030 402062306a36Sopenharmony_ci#define QM_REG_CTXREG_1 0x168034 402162306a36Sopenharmony_ci#define QM_REG_CTXREG_2 0x168038 402262306a36Sopenharmony_ci#define QM_REG_CTXREG_3 0x16803c 402362306a36Sopenharmony_ci/* [RW 12] The VOQ mask used to select the VOQs which needs to be full for 402462306a36Sopenharmony_ci bypass enable */ 402562306a36Sopenharmony_ci#define QM_REG_ENBYPVOQMASK 0x16823c 402662306a36Sopenharmony_ci/* [RW 32] A bit mask per each physical queue. If a bit is set then the 402762306a36Sopenharmony_ci physical queue uses the byte credit; queues 31-0 */ 402862306a36Sopenharmony_ci#define QM_REG_ENBYTECRD_LSB 0x168220 402962306a36Sopenharmony_ci/* [RW 32] A bit mask per each physical queue. If a bit is set then the 403062306a36Sopenharmony_ci physical queue uses the byte credit; queues 95-64 */ 403162306a36Sopenharmony_ci#define QM_REG_ENBYTECRD_LSB_EXT_A 0x16e518 403262306a36Sopenharmony_ci/* [RW 32] A bit mask per each physical queue. If a bit is set then the 403362306a36Sopenharmony_ci physical queue uses the byte credit; queues 63-32 */ 403462306a36Sopenharmony_ci#define QM_REG_ENBYTECRD_MSB 0x16821c 403562306a36Sopenharmony_ci/* [RW 32] A bit mask per each physical queue. If a bit is set then the 403662306a36Sopenharmony_ci physical queue uses the byte credit; queues 127-96 */ 403762306a36Sopenharmony_ci#define QM_REG_ENBYTECRD_MSB_EXT_A 0x16e514 403862306a36Sopenharmony_ci/* [RW 4] If cleared then the secondary interface will not be served by the 403962306a36Sopenharmony_ci RR arbiter */ 404062306a36Sopenharmony_ci#define QM_REG_ENSEC 0x1680f0 404162306a36Sopenharmony_ci/* [RW 32] NA */ 404262306a36Sopenharmony_ci#define QM_REG_FUNCNUMSEL_LSB 0x168230 404362306a36Sopenharmony_ci/* [RW 32] NA */ 404462306a36Sopenharmony_ci#define QM_REG_FUNCNUMSEL_MSB 0x16822c 404562306a36Sopenharmony_ci/* [RW 32] A mask register to mask the Almost empty signals which will not 404662306a36Sopenharmony_ci be use for the almost empty indication to the HW block; queues 31:0 */ 404762306a36Sopenharmony_ci#define QM_REG_HWAEMPTYMASK_LSB 0x168218 404862306a36Sopenharmony_ci/* [RW 32] A mask register to mask the Almost empty signals which will not 404962306a36Sopenharmony_ci be use for the almost empty indication to the HW block; queues 95-64 */ 405062306a36Sopenharmony_ci#define QM_REG_HWAEMPTYMASK_LSB_EXT_A 0x16e510 405162306a36Sopenharmony_ci/* [RW 32] A mask register to mask the Almost empty signals which will not 405262306a36Sopenharmony_ci be use for the almost empty indication to the HW block; queues 63:32 */ 405362306a36Sopenharmony_ci#define QM_REG_HWAEMPTYMASK_MSB 0x168214 405462306a36Sopenharmony_ci/* [RW 32] A mask register to mask the Almost empty signals which will not 405562306a36Sopenharmony_ci be use for the almost empty indication to the HW block; queues 127-96 */ 405662306a36Sopenharmony_ci#define QM_REG_HWAEMPTYMASK_MSB_EXT_A 0x16e50c 405762306a36Sopenharmony_ci/* [RW 4] The number of outstanding request to CFC */ 405862306a36Sopenharmony_ci#define QM_REG_OUTLDREQ 0x168804 405962306a36Sopenharmony_ci/* [RC 1] A flag to indicate that overflow error occurred in one of the 406062306a36Sopenharmony_ci queues. */ 406162306a36Sopenharmony_ci#define QM_REG_OVFERROR 0x16805c 406262306a36Sopenharmony_ci/* [RC 7] the Q where the overflow occurs */ 406362306a36Sopenharmony_ci#define QM_REG_OVFQNUM 0x168058 406462306a36Sopenharmony_ci/* [R 16] Pause state for physical queues 15-0 */ 406562306a36Sopenharmony_ci#define QM_REG_PAUSESTATE0 0x168410 406662306a36Sopenharmony_ci/* [R 16] Pause state for physical queues 31-16 */ 406762306a36Sopenharmony_ci#define QM_REG_PAUSESTATE1 0x168414 406862306a36Sopenharmony_ci/* [R 16] Pause state for physical queues 47-32 */ 406962306a36Sopenharmony_ci#define QM_REG_PAUSESTATE2 0x16e684 407062306a36Sopenharmony_ci/* [R 16] Pause state for physical queues 63-48 */ 407162306a36Sopenharmony_ci#define QM_REG_PAUSESTATE3 0x16e688 407262306a36Sopenharmony_ci/* [R 16] Pause state for physical queues 79-64 */ 407362306a36Sopenharmony_ci#define QM_REG_PAUSESTATE4 0x16e68c 407462306a36Sopenharmony_ci/* [R 16] Pause state for physical queues 95-80 */ 407562306a36Sopenharmony_ci#define QM_REG_PAUSESTATE5 0x16e690 407662306a36Sopenharmony_ci/* [R 16] Pause state for physical queues 111-96 */ 407762306a36Sopenharmony_ci#define QM_REG_PAUSESTATE6 0x16e694 407862306a36Sopenharmony_ci/* [R 16] Pause state for physical queues 127-112 */ 407962306a36Sopenharmony_ci#define QM_REG_PAUSESTATE7 0x16e698 408062306a36Sopenharmony_ci/* [RW 2] The PCI attributes field used in the PCI request. */ 408162306a36Sopenharmony_ci#define QM_REG_PCIREQAT 0x168054 408262306a36Sopenharmony_ci#define QM_REG_PF_EN 0x16e70c 408362306a36Sopenharmony_ci/* [R 24] The number of tasks stored in the QM for the PF. only even 408462306a36Sopenharmony_ci * functions are valid in E2 (odd I registers will be hard wired to 0) */ 408562306a36Sopenharmony_ci#define QM_REG_PF_USG_CNT_0 0x16e040 408662306a36Sopenharmony_ci/* [R 16] NOT USED */ 408762306a36Sopenharmony_ci#define QM_REG_PORT0BYTECRD 0x168300 408862306a36Sopenharmony_ci/* [R 16] The byte credit of port 1 */ 408962306a36Sopenharmony_ci#define QM_REG_PORT1BYTECRD 0x168304 409062306a36Sopenharmony_ci/* [RW 3] pci function number of queues 15-0 */ 409162306a36Sopenharmony_ci#define QM_REG_PQ2PCIFUNC_0 0x16e6bc 409262306a36Sopenharmony_ci#define QM_REG_PQ2PCIFUNC_1 0x16e6c0 409362306a36Sopenharmony_ci#define QM_REG_PQ2PCIFUNC_2 0x16e6c4 409462306a36Sopenharmony_ci#define QM_REG_PQ2PCIFUNC_3 0x16e6c8 409562306a36Sopenharmony_ci#define QM_REG_PQ2PCIFUNC_4 0x16e6cc 409662306a36Sopenharmony_ci#define QM_REG_PQ2PCIFUNC_5 0x16e6d0 409762306a36Sopenharmony_ci#define QM_REG_PQ2PCIFUNC_6 0x16e6d4 409862306a36Sopenharmony_ci#define QM_REG_PQ2PCIFUNC_7 0x16e6d8 409962306a36Sopenharmony_ci/* [WB 54] Pointer Table Memory for queues 63-0; The mapping is as follow: 410062306a36Sopenharmony_ci ptrtbl[53:30] read pointer; ptrtbl[29:6] write pointer; ptrtbl[5:4] read 410162306a36Sopenharmony_ci bank0; ptrtbl[3:2] read bank 1; ptrtbl[1:0] write bank; */ 410262306a36Sopenharmony_ci#define QM_REG_PTRTBL 0x168a00 410362306a36Sopenharmony_ci/* [WB 54] Pointer Table Memory for queues 127-64; The mapping is as follow: 410462306a36Sopenharmony_ci ptrtbl[53:30] read pointer; ptrtbl[29:6] write pointer; ptrtbl[5:4] read 410562306a36Sopenharmony_ci bank0; ptrtbl[3:2] read bank 1; ptrtbl[1:0] write bank; */ 410662306a36Sopenharmony_ci#define QM_REG_PTRTBL_EXT_A 0x16e200 410762306a36Sopenharmony_ci/* [RW 2] Interrupt mask register #0 read/write */ 410862306a36Sopenharmony_ci#define QM_REG_QM_INT_MASK 0x168444 410962306a36Sopenharmony_ci/* [R 2] Interrupt register #0 read */ 411062306a36Sopenharmony_ci#define QM_REG_QM_INT_STS 0x168438 411162306a36Sopenharmony_ci/* [RW 12] Parity mask register #0 read/write */ 411262306a36Sopenharmony_ci#define QM_REG_QM_PRTY_MASK 0x168454 411362306a36Sopenharmony_ci/* [R 12] Parity register #0 read */ 411462306a36Sopenharmony_ci#define QM_REG_QM_PRTY_STS 0x168448 411562306a36Sopenharmony_ci/* [RC 12] Parity register #0 read clear */ 411662306a36Sopenharmony_ci#define QM_REG_QM_PRTY_STS_CLR 0x16844c 411762306a36Sopenharmony_ci/* [R 32] Current queues in pipeline: Queues from 32 to 63 */ 411862306a36Sopenharmony_ci#define QM_REG_QSTATUS_HIGH 0x16802c 411962306a36Sopenharmony_ci/* [R 32] Current queues in pipeline: Queues from 96 to 127 */ 412062306a36Sopenharmony_ci#define QM_REG_QSTATUS_HIGH_EXT_A 0x16e408 412162306a36Sopenharmony_ci/* [R 32] Current queues in pipeline: Queues from 0 to 31 */ 412262306a36Sopenharmony_ci#define QM_REG_QSTATUS_LOW 0x168028 412362306a36Sopenharmony_ci/* [R 32] Current queues in pipeline: Queues from 64 to 95 */ 412462306a36Sopenharmony_ci#define QM_REG_QSTATUS_LOW_EXT_A 0x16e404 412562306a36Sopenharmony_ci/* [R 24] The number of tasks queued for each queue; queues 63-0 */ 412662306a36Sopenharmony_ci#define QM_REG_QTASKCTR_0 0x168308 412762306a36Sopenharmony_ci/* [R 24] The number of tasks queued for each queue; queues 127-64 */ 412862306a36Sopenharmony_ci#define QM_REG_QTASKCTR_EXT_A_0 0x16e584 412962306a36Sopenharmony_ci/* [RW 4] Queue tied to VOQ */ 413062306a36Sopenharmony_ci#define QM_REG_QVOQIDX_0 0x1680f4 413162306a36Sopenharmony_ci#define QM_REG_QVOQIDX_10 0x16811c 413262306a36Sopenharmony_ci#define QM_REG_QVOQIDX_100 0x16e49c 413362306a36Sopenharmony_ci#define QM_REG_QVOQIDX_101 0x16e4a0 413462306a36Sopenharmony_ci#define QM_REG_QVOQIDX_102 0x16e4a4 413562306a36Sopenharmony_ci#define QM_REG_QVOQIDX_103 0x16e4a8 413662306a36Sopenharmony_ci#define QM_REG_QVOQIDX_104 0x16e4ac 413762306a36Sopenharmony_ci#define QM_REG_QVOQIDX_105 0x16e4b0 413862306a36Sopenharmony_ci#define QM_REG_QVOQIDX_106 0x16e4b4 413962306a36Sopenharmony_ci#define QM_REG_QVOQIDX_107 0x16e4b8 414062306a36Sopenharmony_ci#define QM_REG_QVOQIDX_108 0x16e4bc 414162306a36Sopenharmony_ci#define QM_REG_QVOQIDX_109 0x16e4c0 414262306a36Sopenharmony_ci#define QM_REG_QVOQIDX_11 0x168120 414362306a36Sopenharmony_ci#define QM_REG_QVOQIDX_110 0x16e4c4 414462306a36Sopenharmony_ci#define QM_REG_QVOQIDX_111 0x16e4c8 414562306a36Sopenharmony_ci#define QM_REG_QVOQIDX_112 0x16e4cc 414662306a36Sopenharmony_ci#define QM_REG_QVOQIDX_113 0x16e4d0 414762306a36Sopenharmony_ci#define QM_REG_QVOQIDX_114 0x16e4d4 414862306a36Sopenharmony_ci#define QM_REG_QVOQIDX_115 0x16e4d8 414962306a36Sopenharmony_ci#define QM_REG_QVOQIDX_116 0x16e4dc 415062306a36Sopenharmony_ci#define QM_REG_QVOQIDX_117 0x16e4e0 415162306a36Sopenharmony_ci#define QM_REG_QVOQIDX_118 0x16e4e4 415262306a36Sopenharmony_ci#define QM_REG_QVOQIDX_119 0x16e4e8 415362306a36Sopenharmony_ci#define QM_REG_QVOQIDX_12 0x168124 415462306a36Sopenharmony_ci#define QM_REG_QVOQIDX_120 0x16e4ec 415562306a36Sopenharmony_ci#define QM_REG_QVOQIDX_121 0x16e4f0 415662306a36Sopenharmony_ci#define QM_REG_QVOQIDX_122 0x16e4f4 415762306a36Sopenharmony_ci#define QM_REG_QVOQIDX_123 0x16e4f8 415862306a36Sopenharmony_ci#define QM_REG_QVOQIDX_124 0x16e4fc 415962306a36Sopenharmony_ci#define QM_REG_QVOQIDX_125 0x16e500 416062306a36Sopenharmony_ci#define QM_REG_QVOQIDX_126 0x16e504 416162306a36Sopenharmony_ci#define QM_REG_QVOQIDX_127 0x16e508 416262306a36Sopenharmony_ci#define QM_REG_QVOQIDX_13 0x168128 416362306a36Sopenharmony_ci#define QM_REG_QVOQIDX_14 0x16812c 416462306a36Sopenharmony_ci#define QM_REG_QVOQIDX_15 0x168130 416562306a36Sopenharmony_ci#define QM_REG_QVOQIDX_16 0x168134 416662306a36Sopenharmony_ci#define QM_REG_QVOQIDX_17 0x168138 416762306a36Sopenharmony_ci#define QM_REG_QVOQIDX_21 0x168148 416862306a36Sopenharmony_ci#define QM_REG_QVOQIDX_22 0x16814c 416962306a36Sopenharmony_ci#define QM_REG_QVOQIDX_23 0x168150 417062306a36Sopenharmony_ci#define QM_REG_QVOQIDX_24 0x168154 417162306a36Sopenharmony_ci#define QM_REG_QVOQIDX_25 0x168158 417262306a36Sopenharmony_ci#define QM_REG_QVOQIDX_26 0x16815c 417362306a36Sopenharmony_ci#define QM_REG_QVOQIDX_27 0x168160 417462306a36Sopenharmony_ci#define QM_REG_QVOQIDX_28 0x168164 417562306a36Sopenharmony_ci#define QM_REG_QVOQIDX_29 0x168168 417662306a36Sopenharmony_ci#define QM_REG_QVOQIDX_30 0x16816c 417762306a36Sopenharmony_ci#define QM_REG_QVOQIDX_31 0x168170 417862306a36Sopenharmony_ci#define QM_REG_QVOQIDX_32 0x168174 417962306a36Sopenharmony_ci#define QM_REG_QVOQIDX_33 0x168178 418062306a36Sopenharmony_ci#define QM_REG_QVOQIDX_34 0x16817c 418162306a36Sopenharmony_ci#define QM_REG_QVOQIDX_35 0x168180 418262306a36Sopenharmony_ci#define QM_REG_QVOQIDX_36 0x168184 418362306a36Sopenharmony_ci#define QM_REG_QVOQIDX_37 0x168188 418462306a36Sopenharmony_ci#define QM_REG_QVOQIDX_38 0x16818c 418562306a36Sopenharmony_ci#define QM_REG_QVOQIDX_39 0x168190 418662306a36Sopenharmony_ci#define QM_REG_QVOQIDX_40 0x168194 418762306a36Sopenharmony_ci#define QM_REG_QVOQIDX_41 0x168198 418862306a36Sopenharmony_ci#define QM_REG_QVOQIDX_42 0x16819c 418962306a36Sopenharmony_ci#define QM_REG_QVOQIDX_43 0x1681a0 419062306a36Sopenharmony_ci#define QM_REG_QVOQIDX_44 0x1681a4 419162306a36Sopenharmony_ci#define QM_REG_QVOQIDX_45 0x1681a8 419262306a36Sopenharmony_ci#define QM_REG_QVOQIDX_46 0x1681ac 419362306a36Sopenharmony_ci#define QM_REG_QVOQIDX_47 0x1681b0 419462306a36Sopenharmony_ci#define QM_REG_QVOQIDX_48 0x1681b4 419562306a36Sopenharmony_ci#define QM_REG_QVOQIDX_49 0x1681b8 419662306a36Sopenharmony_ci#define QM_REG_QVOQIDX_5 0x168108 419762306a36Sopenharmony_ci#define QM_REG_QVOQIDX_50 0x1681bc 419862306a36Sopenharmony_ci#define QM_REG_QVOQIDX_51 0x1681c0 419962306a36Sopenharmony_ci#define QM_REG_QVOQIDX_52 0x1681c4 420062306a36Sopenharmony_ci#define QM_REG_QVOQIDX_53 0x1681c8 420162306a36Sopenharmony_ci#define QM_REG_QVOQIDX_54 0x1681cc 420262306a36Sopenharmony_ci#define QM_REG_QVOQIDX_55 0x1681d0 420362306a36Sopenharmony_ci#define QM_REG_QVOQIDX_56 0x1681d4 420462306a36Sopenharmony_ci#define QM_REG_QVOQIDX_57 0x1681d8 420562306a36Sopenharmony_ci#define QM_REG_QVOQIDX_58 0x1681dc 420662306a36Sopenharmony_ci#define QM_REG_QVOQIDX_59 0x1681e0 420762306a36Sopenharmony_ci#define QM_REG_QVOQIDX_6 0x16810c 420862306a36Sopenharmony_ci#define QM_REG_QVOQIDX_60 0x1681e4 420962306a36Sopenharmony_ci#define QM_REG_QVOQIDX_61 0x1681e8 421062306a36Sopenharmony_ci#define QM_REG_QVOQIDX_62 0x1681ec 421162306a36Sopenharmony_ci#define QM_REG_QVOQIDX_63 0x1681f0 421262306a36Sopenharmony_ci#define QM_REG_QVOQIDX_64 0x16e40c 421362306a36Sopenharmony_ci#define QM_REG_QVOQIDX_65 0x16e410 421462306a36Sopenharmony_ci#define QM_REG_QVOQIDX_69 0x16e420 421562306a36Sopenharmony_ci#define QM_REG_QVOQIDX_7 0x168110 421662306a36Sopenharmony_ci#define QM_REG_QVOQIDX_70 0x16e424 421762306a36Sopenharmony_ci#define QM_REG_QVOQIDX_71 0x16e428 421862306a36Sopenharmony_ci#define QM_REG_QVOQIDX_72 0x16e42c 421962306a36Sopenharmony_ci#define QM_REG_QVOQIDX_73 0x16e430 422062306a36Sopenharmony_ci#define QM_REG_QVOQIDX_74 0x16e434 422162306a36Sopenharmony_ci#define QM_REG_QVOQIDX_75 0x16e438 422262306a36Sopenharmony_ci#define QM_REG_QVOQIDX_76 0x16e43c 422362306a36Sopenharmony_ci#define QM_REG_QVOQIDX_77 0x16e440 422462306a36Sopenharmony_ci#define QM_REG_QVOQIDX_78 0x16e444 422562306a36Sopenharmony_ci#define QM_REG_QVOQIDX_79 0x16e448 422662306a36Sopenharmony_ci#define QM_REG_QVOQIDX_8 0x168114 422762306a36Sopenharmony_ci#define QM_REG_QVOQIDX_80 0x16e44c 422862306a36Sopenharmony_ci#define QM_REG_QVOQIDX_81 0x16e450 422962306a36Sopenharmony_ci#define QM_REG_QVOQIDX_85 0x16e460 423062306a36Sopenharmony_ci#define QM_REG_QVOQIDX_86 0x16e464 423162306a36Sopenharmony_ci#define QM_REG_QVOQIDX_87 0x16e468 423262306a36Sopenharmony_ci#define QM_REG_QVOQIDX_88 0x16e46c 423362306a36Sopenharmony_ci#define QM_REG_QVOQIDX_89 0x16e470 423462306a36Sopenharmony_ci#define QM_REG_QVOQIDX_9 0x168118 423562306a36Sopenharmony_ci#define QM_REG_QVOQIDX_90 0x16e474 423662306a36Sopenharmony_ci#define QM_REG_QVOQIDX_91 0x16e478 423762306a36Sopenharmony_ci#define QM_REG_QVOQIDX_92 0x16e47c 423862306a36Sopenharmony_ci#define QM_REG_QVOQIDX_93 0x16e480 423962306a36Sopenharmony_ci#define QM_REG_QVOQIDX_94 0x16e484 424062306a36Sopenharmony_ci#define QM_REG_QVOQIDX_95 0x16e488 424162306a36Sopenharmony_ci#define QM_REG_QVOQIDX_96 0x16e48c 424262306a36Sopenharmony_ci#define QM_REG_QVOQIDX_97 0x16e490 424362306a36Sopenharmony_ci#define QM_REG_QVOQIDX_98 0x16e494 424462306a36Sopenharmony_ci#define QM_REG_QVOQIDX_99 0x16e498 424562306a36Sopenharmony_ci/* [RW 1] Initialization bit command */ 424662306a36Sopenharmony_ci#define QM_REG_SOFT_RESET 0x168428 424762306a36Sopenharmony_ci/* [RW 8] The credit cost per every task in the QM. A value per each VOQ */ 424862306a36Sopenharmony_ci#define QM_REG_TASKCRDCOST_0 0x16809c 424962306a36Sopenharmony_ci#define QM_REG_TASKCRDCOST_1 0x1680a0 425062306a36Sopenharmony_ci#define QM_REG_TASKCRDCOST_2 0x1680a4 425162306a36Sopenharmony_ci#define QM_REG_TASKCRDCOST_4 0x1680ac 425262306a36Sopenharmony_ci#define QM_REG_TASKCRDCOST_5 0x1680b0 425362306a36Sopenharmony_ci/* [R 6] Keep the fill level of the fifo from write client 3 */ 425462306a36Sopenharmony_ci#define QM_REG_TQM_WRC_FIFOLVL 0x168010 425562306a36Sopenharmony_ci/* [R 6] Keep the fill level of the fifo from write client 2 */ 425662306a36Sopenharmony_ci#define QM_REG_UQM_WRC_FIFOLVL 0x168008 425762306a36Sopenharmony_ci/* [RC 32] Credit update error register */ 425862306a36Sopenharmony_ci#define QM_REG_VOQCRDERRREG 0x168408 425962306a36Sopenharmony_ci/* [R 16] The credit value for each VOQ */ 426062306a36Sopenharmony_ci#define QM_REG_VOQCREDIT_0 0x1682d0 426162306a36Sopenharmony_ci#define QM_REG_VOQCREDIT_1 0x1682d4 426262306a36Sopenharmony_ci#define QM_REG_VOQCREDIT_4 0x1682e0 426362306a36Sopenharmony_ci/* [RW 16] The credit value that if above the QM is considered almost full */ 426462306a36Sopenharmony_ci#define QM_REG_VOQCREDITAFULLTHR 0x168090 426562306a36Sopenharmony_ci/* [RW 16] The init and maximum credit for each VoQ */ 426662306a36Sopenharmony_ci#define QM_REG_VOQINITCREDIT_0 0x168060 426762306a36Sopenharmony_ci#define QM_REG_VOQINITCREDIT_1 0x168064 426862306a36Sopenharmony_ci#define QM_REG_VOQINITCREDIT_2 0x168068 426962306a36Sopenharmony_ci#define QM_REG_VOQINITCREDIT_4 0x168070 427062306a36Sopenharmony_ci#define QM_REG_VOQINITCREDIT_5 0x168074 427162306a36Sopenharmony_ci/* [RW 1] The port of which VOQ belongs */ 427262306a36Sopenharmony_ci#define QM_REG_VOQPORT_0 0x1682a0 427362306a36Sopenharmony_ci#define QM_REG_VOQPORT_1 0x1682a4 427462306a36Sopenharmony_ci#define QM_REG_VOQPORT_2 0x1682a8 427562306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */ 427662306a36Sopenharmony_ci#define QM_REG_VOQQMASK_0_LSB 0x168240 427762306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */ 427862306a36Sopenharmony_ci#define QM_REG_VOQQMASK_0_LSB_EXT_A 0x16e524 427962306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */ 428062306a36Sopenharmony_ci#define QM_REG_VOQQMASK_0_MSB 0x168244 428162306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */ 428262306a36Sopenharmony_ci#define QM_REG_VOQQMASK_0_MSB_EXT_A 0x16e528 428362306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */ 428462306a36Sopenharmony_ci#define QM_REG_VOQQMASK_10_LSB 0x168290 428562306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */ 428662306a36Sopenharmony_ci#define QM_REG_VOQQMASK_10_LSB_EXT_A 0x16e574 428762306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */ 428862306a36Sopenharmony_ci#define QM_REG_VOQQMASK_10_MSB 0x168294 428962306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */ 429062306a36Sopenharmony_ci#define QM_REG_VOQQMASK_10_MSB_EXT_A 0x16e578 429162306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */ 429262306a36Sopenharmony_ci#define QM_REG_VOQQMASK_11_LSB 0x168298 429362306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */ 429462306a36Sopenharmony_ci#define QM_REG_VOQQMASK_11_LSB_EXT_A 0x16e57c 429562306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */ 429662306a36Sopenharmony_ci#define QM_REG_VOQQMASK_11_MSB 0x16829c 429762306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */ 429862306a36Sopenharmony_ci#define QM_REG_VOQQMASK_11_MSB_EXT_A 0x16e580 429962306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */ 430062306a36Sopenharmony_ci#define QM_REG_VOQQMASK_1_LSB 0x168248 430162306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */ 430262306a36Sopenharmony_ci#define QM_REG_VOQQMASK_1_LSB_EXT_A 0x16e52c 430362306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */ 430462306a36Sopenharmony_ci#define QM_REG_VOQQMASK_1_MSB 0x16824c 430562306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */ 430662306a36Sopenharmony_ci#define QM_REG_VOQQMASK_1_MSB_EXT_A 0x16e530 430762306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */ 430862306a36Sopenharmony_ci#define QM_REG_VOQQMASK_2_LSB 0x168250 430962306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */ 431062306a36Sopenharmony_ci#define QM_REG_VOQQMASK_2_LSB_EXT_A 0x16e534 431162306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */ 431262306a36Sopenharmony_ci#define QM_REG_VOQQMASK_2_MSB 0x168254 431362306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */ 431462306a36Sopenharmony_ci#define QM_REG_VOQQMASK_2_MSB_EXT_A 0x16e538 431562306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */ 431662306a36Sopenharmony_ci#define QM_REG_VOQQMASK_3_LSB 0x168258 431762306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */ 431862306a36Sopenharmony_ci#define QM_REG_VOQQMASK_3_LSB_EXT_A 0x16e53c 431962306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */ 432062306a36Sopenharmony_ci#define QM_REG_VOQQMASK_3_MSB_EXT_A 0x16e540 432162306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */ 432262306a36Sopenharmony_ci#define QM_REG_VOQQMASK_4_LSB 0x168260 432362306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */ 432462306a36Sopenharmony_ci#define QM_REG_VOQQMASK_4_LSB_EXT_A 0x16e544 432562306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */ 432662306a36Sopenharmony_ci#define QM_REG_VOQQMASK_4_MSB 0x168264 432762306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */ 432862306a36Sopenharmony_ci#define QM_REG_VOQQMASK_4_MSB_EXT_A 0x16e548 432962306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */ 433062306a36Sopenharmony_ci#define QM_REG_VOQQMASK_5_LSB 0x168268 433162306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */ 433262306a36Sopenharmony_ci#define QM_REG_VOQQMASK_5_LSB_EXT_A 0x16e54c 433362306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */ 433462306a36Sopenharmony_ci#define QM_REG_VOQQMASK_5_MSB 0x16826c 433562306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */ 433662306a36Sopenharmony_ci#define QM_REG_VOQQMASK_5_MSB_EXT_A 0x16e550 433762306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */ 433862306a36Sopenharmony_ci#define QM_REG_VOQQMASK_6_LSB 0x168270 433962306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */ 434062306a36Sopenharmony_ci#define QM_REG_VOQQMASK_6_LSB_EXT_A 0x16e554 434162306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */ 434262306a36Sopenharmony_ci#define QM_REG_VOQQMASK_6_MSB 0x168274 434362306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */ 434462306a36Sopenharmony_ci#define QM_REG_VOQQMASK_6_MSB_EXT_A 0x16e558 434562306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */ 434662306a36Sopenharmony_ci#define QM_REG_VOQQMASK_7_LSB 0x168278 434762306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */ 434862306a36Sopenharmony_ci#define QM_REG_VOQQMASK_7_LSB_EXT_A 0x16e55c 434962306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */ 435062306a36Sopenharmony_ci#define QM_REG_VOQQMASK_7_MSB 0x16827c 435162306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */ 435262306a36Sopenharmony_ci#define QM_REG_VOQQMASK_7_MSB_EXT_A 0x16e560 435362306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */ 435462306a36Sopenharmony_ci#define QM_REG_VOQQMASK_8_LSB 0x168280 435562306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */ 435662306a36Sopenharmony_ci#define QM_REG_VOQQMASK_8_LSB_EXT_A 0x16e564 435762306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 63-32 */ 435862306a36Sopenharmony_ci#define QM_REG_VOQQMASK_8_MSB 0x168284 435962306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */ 436062306a36Sopenharmony_ci#define QM_REG_VOQQMASK_8_MSB_EXT_A 0x16e568 436162306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 31-0 */ 436262306a36Sopenharmony_ci#define QM_REG_VOQQMASK_9_LSB 0x168288 436362306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 95-64 */ 436462306a36Sopenharmony_ci#define QM_REG_VOQQMASK_9_LSB_EXT_A 0x16e56c 436562306a36Sopenharmony_ci/* [RW 32] The physical queue number associated with each VOQ; queues 127-96 */ 436662306a36Sopenharmony_ci#define QM_REG_VOQQMASK_9_MSB_EXT_A 0x16e570 436762306a36Sopenharmony_ci/* [RW 32] Wrr weights */ 436862306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_0 0x16880c 436962306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_1 0x168810 437062306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_10 0x168814 437162306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_11 0x168818 437262306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_12 0x16881c 437362306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_13 0x168820 437462306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_14 0x168824 437562306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_15 0x168828 437662306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_16 0x16e000 437762306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_17 0x16e004 437862306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_18 0x16e008 437962306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_19 0x16e00c 438062306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_2 0x16882c 438162306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_20 0x16e010 438262306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_21 0x16e014 438362306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_22 0x16e018 438462306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_23 0x16e01c 438562306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_24 0x16e020 438662306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_25 0x16e024 438762306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_26 0x16e028 438862306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_27 0x16e02c 438962306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_28 0x16e030 439062306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_29 0x16e034 439162306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_3 0x168830 439262306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_30 0x16e038 439362306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_31 0x16e03c 439462306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_4 0x168834 439562306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_5 0x168838 439662306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_6 0x16883c 439762306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_7 0x168840 439862306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_8 0x168844 439962306a36Sopenharmony_ci#define QM_REG_WRRWEIGHTS_9 0x168848 440062306a36Sopenharmony_ci/* [R 6] Keep the fill level of the fifo from write client 1 */ 440162306a36Sopenharmony_ci#define QM_REG_XQM_WRC_FIFOLVL 0x168000 440262306a36Sopenharmony_ci/* [W 1] reset to parity interrupt */ 440362306a36Sopenharmony_ci#define SEM_FAST_REG_PARITY_RST 0x18840 440462306a36Sopenharmony_ci#define SRC_REG_COUNTFREE0 0x40500 440562306a36Sopenharmony_ci/* [RW 1] If clr the searcher is compatible to E1 A0 - support only two 440662306a36Sopenharmony_ci ports. If set the searcher support 8 functions. */ 440762306a36Sopenharmony_ci#define SRC_REG_E1HMF_ENABLE 0x404cc 440862306a36Sopenharmony_ci#define SRC_REG_FIRSTFREE0 0x40510 440962306a36Sopenharmony_ci#define SRC_REG_KEYRSS0_0 0x40408 441062306a36Sopenharmony_ci#define SRC_REG_KEYRSS0_7 0x40424 441162306a36Sopenharmony_ci#define SRC_REG_KEYRSS1_9 0x40454 441262306a36Sopenharmony_ci#define SRC_REG_KEYSEARCH_0 0x40458 441362306a36Sopenharmony_ci#define SRC_REG_KEYSEARCH_1 0x4045c 441462306a36Sopenharmony_ci#define SRC_REG_KEYSEARCH_2 0x40460 441562306a36Sopenharmony_ci#define SRC_REG_KEYSEARCH_3 0x40464 441662306a36Sopenharmony_ci#define SRC_REG_KEYSEARCH_4 0x40468 441762306a36Sopenharmony_ci#define SRC_REG_KEYSEARCH_5 0x4046c 441862306a36Sopenharmony_ci#define SRC_REG_KEYSEARCH_6 0x40470 441962306a36Sopenharmony_ci#define SRC_REG_KEYSEARCH_7 0x40474 442062306a36Sopenharmony_ci#define SRC_REG_KEYSEARCH_8 0x40478 442162306a36Sopenharmony_ci#define SRC_REG_KEYSEARCH_9 0x4047c 442262306a36Sopenharmony_ci#define SRC_REG_LASTFREE0 0x40530 442362306a36Sopenharmony_ci#define SRC_REG_NUMBER_HASH_BITS0 0x40400 442462306a36Sopenharmony_ci/* [RW 1] Reset internal state machines. */ 442562306a36Sopenharmony_ci#define SRC_REG_SOFT_RST 0x4049c 442662306a36Sopenharmony_ci/* [R 3] Interrupt register #0 read */ 442762306a36Sopenharmony_ci#define SRC_REG_SRC_INT_STS 0x404ac 442862306a36Sopenharmony_ci/* [RW 3] Parity mask register #0 read/write */ 442962306a36Sopenharmony_ci#define SRC_REG_SRC_PRTY_MASK 0x404c8 443062306a36Sopenharmony_ci/* [R 3] Parity register #0 read */ 443162306a36Sopenharmony_ci#define SRC_REG_SRC_PRTY_STS 0x404bc 443262306a36Sopenharmony_ci/* [RC 3] Parity register #0 read clear */ 443362306a36Sopenharmony_ci#define SRC_REG_SRC_PRTY_STS_CLR 0x404c0 443462306a36Sopenharmony_ci/* [R 4] Used to read the value of the XX protection CAM occupancy counter. */ 443562306a36Sopenharmony_ci#define TCM_REG_CAM_OCCUP 0x5017c 443662306a36Sopenharmony_ci/* [RW 1] CDU AG read Interface enable. If 0 - the request input is 443762306a36Sopenharmony_ci disregarded; valid output is deasserted; all other signals are treated as 443862306a36Sopenharmony_ci usual; if 1 - normal activity. */ 443962306a36Sopenharmony_ci#define TCM_REG_CDU_AG_RD_IFEN 0x50034 444062306a36Sopenharmony_ci/* [RW 1] CDU AG write Interface enable. If 0 - the request and valid input 444162306a36Sopenharmony_ci are disregarded; all other signals are treated as usual; if 1 - normal 444262306a36Sopenharmony_ci activity. */ 444362306a36Sopenharmony_ci#define TCM_REG_CDU_AG_WR_IFEN 0x50030 444462306a36Sopenharmony_ci/* [RW 1] CDU STORM read Interface enable. If 0 - the request input is 444562306a36Sopenharmony_ci disregarded; valid output is deasserted; all other signals are treated as 444662306a36Sopenharmony_ci usual; if 1 - normal activity. */ 444762306a36Sopenharmony_ci#define TCM_REG_CDU_SM_RD_IFEN 0x5003c 444862306a36Sopenharmony_ci/* [RW 1] CDU STORM write Interface enable. If 0 - the request and valid 444962306a36Sopenharmony_ci input is disregarded; all other signals are treated as usual; if 1 - 445062306a36Sopenharmony_ci normal activity. */ 445162306a36Sopenharmony_ci#define TCM_REG_CDU_SM_WR_IFEN 0x50038 445262306a36Sopenharmony_ci/* [RW 4] CFC output initial credit. Max credit available - 15.Write writes 445362306a36Sopenharmony_ci the initial credit value; read returns the current value of the credit 445462306a36Sopenharmony_ci counter. Must be initialized to 1 at start-up. */ 445562306a36Sopenharmony_ci#define TCM_REG_CFC_INIT_CRD 0x50204 445662306a36Sopenharmony_ci/* [RW 3] The weight of the CP input in the WRR mechanism. 0 stands for 445762306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 445862306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 445962306a36Sopenharmony_ci#define TCM_REG_CP_WEIGHT 0x500c0 446062306a36Sopenharmony_ci/* [RW 1] Input csem Interface enable. If 0 - the valid input is 446162306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 446262306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 446362306a36Sopenharmony_ci#define TCM_REG_CSEM_IFEN 0x5002c 446462306a36Sopenharmony_ci/* [RC 1] Message length mismatch (relative to last indication) at the In#9 446562306a36Sopenharmony_ci interface. */ 446662306a36Sopenharmony_ci#define TCM_REG_CSEM_LENGTH_MIS 0x50174 446762306a36Sopenharmony_ci/* [RW 3] The weight of the input csem in the WRR mechanism. 0 stands for 446862306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 446962306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 447062306a36Sopenharmony_ci#define TCM_REG_CSEM_WEIGHT 0x500bc 447162306a36Sopenharmony_ci/* [RW 8] The Event ID in case of ErrorFlg is set in the input message. */ 447262306a36Sopenharmony_ci#define TCM_REG_ERR_EVNT_ID 0x500a0 447362306a36Sopenharmony_ci/* [RW 28] The CM erroneous header for QM and Timers formatting. */ 447462306a36Sopenharmony_ci#define TCM_REG_ERR_TCM_HDR 0x5009c 447562306a36Sopenharmony_ci/* [RW 8] The Event ID for Timers expiration. */ 447662306a36Sopenharmony_ci#define TCM_REG_EXPR_EVNT_ID 0x500a4 447762306a36Sopenharmony_ci/* [RW 8] FIC0 output initial credit. Max credit available - 255.Write 447862306a36Sopenharmony_ci writes the initial credit value; read returns the current value of the 447962306a36Sopenharmony_ci credit counter. Must be initialized to 64 at start-up. */ 448062306a36Sopenharmony_ci#define TCM_REG_FIC0_INIT_CRD 0x5020c 448162306a36Sopenharmony_ci/* [RW 8] FIC1 output initial credit. Max credit available - 255.Write 448262306a36Sopenharmony_ci writes the initial credit value; read returns the current value of the 448362306a36Sopenharmony_ci credit counter. Must be initialized to 64 at start-up. */ 448462306a36Sopenharmony_ci#define TCM_REG_FIC1_INIT_CRD 0x50210 448562306a36Sopenharmony_ci/* [RW 1] Arbitration between Input Arbiter groups: 0 - fair Round-Robin; 1 448662306a36Sopenharmony_ci - strict priority defined by ~tcm_registers_gr_ag_pr.gr_ag_pr; 448762306a36Sopenharmony_ci ~tcm_registers_gr_ld0_pr.gr_ld0_pr and 448862306a36Sopenharmony_ci ~tcm_registers_gr_ld1_pr.gr_ld1_pr. */ 448962306a36Sopenharmony_ci#define TCM_REG_GR_ARB_TYPE 0x50114 449062306a36Sopenharmony_ci/* [RW 2] Load (FIC0) channel group priority. The lowest priority is 0; the 449162306a36Sopenharmony_ci highest priority is 3. It is supposed that the Store channel is the 449262306a36Sopenharmony_ci complement of the other 3 groups. */ 449362306a36Sopenharmony_ci#define TCM_REG_GR_LD0_PR 0x5011c 449462306a36Sopenharmony_ci/* [RW 2] Load (FIC1) channel group priority. The lowest priority is 0; the 449562306a36Sopenharmony_ci highest priority is 3. It is supposed that the Store channel is the 449662306a36Sopenharmony_ci complement of the other 3 groups. */ 449762306a36Sopenharmony_ci#define TCM_REG_GR_LD1_PR 0x50120 449862306a36Sopenharmony_ci/* [RW 4] The number of double REG-pairs; loaded from the STORM context and 449962306a36Sopenharmony_ci sent to STORM; for a specific connection type. The double REG-pairs are 450062306a36Sopenharmony_ci used to align to STORM context row size of 128 bits. The offset of these 450162306a36Sopenharmony_ci data in the STORM context is always 0. Index _i stands for the connection 450262306a36Sopenharmony_ci type (one of 16). */ 450362306a36Sopenharmony_ci#define TCM_REG_N_SM_CTX_LD_0 0x50050 450462306a36Sopenharmony_ci#define TCM_REG_N_SM_CTX_LD_1 0x50054 450562306a36Sopenharmony_ci#define TCM_REG_N_SM_CTX_LD_2 0x50058 450662306a36Sopenharmony_ci#define TCM_REG_N_SM_CTX_LD_3 0x5005c 450762306a36Sopenharmony_ci#define TCM_REG_N_SM_CTX_LD_4 0x50060 450862306a36Sopenharmony_ci#define TCM_REG_N_SM_CTX_LD_5 0x50064 450962306a36Sopenharmony_ci/* [RW 1] Input pbf Interface enable. If 0 - the valid input is disregarded; 451062306a36Sopenharmony_ci acknowledge output is deasserted; all other signals are treated as usual; 451162306a36Sopenharmony_ci if 1 - normal activity. */ 451262306a36Sopenharmony_ci#define TCM_REG_PBF_IFEN 0x50024 451362306a36Sopenharmony_ci/* [RC 1] Message length mismatch (relative to last indication) at the In#7 451462306a36Sopenharmony_ci interface. */ 451562306a36Sopenharmony_ci#define TCM_REG_PBF_LENGTH_MIS 0x5016c 451662306a36Sopenharmony_ci/* [RW 3] The weight of the input pbf in the WRR mechanism. 0 stands for 451762306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 451862306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 451962306a36Sopenharmony_ci#define TCM_REG_PBF_WEIGHT 0x500b4 452062306a36Sopenharmony_ci#define TCM_REG_PHYS_QNUM0_0 0x500e0 452162306a36Sopenharmony_ci#define TCM_REG_PHYS_QNUM0_1 0x500e4 452262306a36Sopenharmony_ci#define TCM_REG_PHYS_QNUM1_0 0x500e8 452362306a36Sopenharmony_ci#define TCM_REG_PHYS_QNUM1_1 0x500ec 452462306a36Sopenharmony_ci#define TCM_REG_PHYS_QNUM2_0 0x500f0 452562306a36Sopenharmony_ci#define TCM_REG_PHYS_QNUM2_1 0x500f4 452662306a36Sopenharmony_ci#define TCM_REG_PHYS_QNUM3_0 0x500f8 452762306a36Sopenharmony_ci#define TCM_REG_PHYS_QNUM3_1 0x500fc 452862306a36Sopenharmony_ci/* [RW 1] Input prs Interface enable. If 0 - the valid input is disregarded; 452962306a36Sopenharmony_ci acknowledge output is deasserted; all other signals are treated as usual; 453062306a36Sopenharmony_ci if 1 - normal activity. */ 453162306a36Sopenharmony_ci#define TCM_REG_PRS_IFEN 0x50020 453262306a36Sopenharmony_ci/* [RC 1] Message length mismatch (relative to last indication) at the In#6 453362306a36Sopenharmony_ci interface. */ 453462306a36Sopenharmony_ci#define TCM_REG_PRS_LENGTH_MIS 0x50168 453562306a36Sopenharmony_ci/* [RW 3] The weight of the input prs in the WRR mechanism. 0 stands for 453662306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 453762306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 453862306a36Sopenharmony_ci#define TCM_REG_PRS_WEIGHT 0x500b0 453962306a36Sopenharmony_ci/* [RW 8] The Event ID for Timers formatting in case of stop done. */ 454062306a36Sopenharmony_ci#define TCM_REG_STOP_EVNT_ID 0x500a8 454162306a36Sopenharmony_ci/* [RC 1] Message length mismatch (relative to last indication) at the STORM 454262306a36Sopenharmony_ci interface. */ 454362306a36Sopenharmony_ci#define TCM_REG_STORM_LENGTH_MIS 0x50160 454462306a36Sopenharmony_ci/* [RW 1] STORM - CM Interface enable. If 0 - the valid input is 454562306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 454662306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 454762306a36Sopenharmony_ci#define TCM_REG_STORM_TCM_IFEN 0x50010 454862306a36Sopenharmony_ci/* [RW 3] The weight of the STORM input in the WRR mechanism. 0 stands for 454962306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 455062306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 455162306a36Sopenharmony_ci#define TCM_REG_STORM_WEIGHT 0x500ac 455262306a36Sopenharmony_ci/* [RW 1] CM - CFC Interface enable. If 0 - the valid input is disregarded; 455362306a36Sopenharmony_ci acknowledge output is deasserted; all other signals are treated as usual; 455462306a36Sopenharmony_ci if 1 - normal activity. */ 455562306a36Sopenharmony_ci#define TCM_REG_TCM_CFC_IFEN 0x50040 455662306a36Sopenharmony_ci/* [RW 11] Interrupt mask register #0 read/write */ 455762306a36Sopenharmony_ci#define TCM_REG_TCM_INT_MASK 0x501dc 455862306a36Sopenharmony_ci/* [R 11] Interrupt register #0 read */ 455962306a36Sopenharmony_ci#define TCM_REG_TCM_INT_STS 0x501d0 456062306a36Sopenharmony_ci/* [RW 27] Parity mask register #0 read/write */ 456162306a36Sopenharmony_ci#define TCM_REG_TCM_PRTY_MASK 0x501ec 456262306a36Sopenharmony_ci/* [R 27] Parity register #0 read */ 456362306a36Sopenharmony_ci#define TCM_REG_TCM_PRTY_STS 0x501e0 456462306a36Sopenharmony_ci/* [RC 27] Parity register #0 read clear */ 456562306a36Sopenharmony_ci#define TCM_REG_TCM_PRTY_STS_CLR 0x501e4 456662306a36Sopenharmony_ci/* [RW 3] The size of AG context region 0 in REG-pairs. Designates the MS 456762306a36Sopenharmony_ci REG-pair number (e.g. if region 0 is 6 REG-pairs; the value should be 5). 456862306a36Sopenharmony_ci Is used to determine the number of the AG context REG-pairs written back; 456962306a36Sopenharmony_ci when the input message Reg1WbFlg isn't set. */ 457062306a36Sopenharmony_ci#define TCM_REG_TCM_REG0_SZ 0x500d8 457162306a36Sopenharmony_ci/* [RW 1] CM - STORM 0 Interface enable. If 0 - the acknowledge input is 457262306a36Sopenharmony_ci disregarded; valid is deasserted; all other signals are treated as usual; 457362306a36Sopenharmony_ci if 1 - normal activity. */ 457462306a36Sopenharmony_ci#define TCM_REG_TCM_STORM0_IFEN 0x50004 457562306a36Sopenharmony_ci/* [RW 1] CM - STORM 1 Interface enable. If 0 - the acknowledge input is 457662306a36Sopenharmony_ci disregarded; valid is deasserted; all other signals are treated as usual; 457762306a36Sopenharmony_ci if 1 - normal activity. */ 457862306a36Sopenharmony_ci#define TCM_REG_TCM_STORM1_IFEN 0x50008 457962306a36Sopenharmony_ci/* [RW 1] CM - QM Interface enable. If 0 - the acknowledge input is 458062306a36Sopenharmony_ci disregarded; valid is deasserted; all other signals are treated as usual; 458162306a36Sopenharmony_ci if 1 - normal activity. */ 458262306a36Sopenharmony_ci#define TCM_REG_TCM_TQM_IFEN 0x5000c 458362306a36Sopenharmony_ci/* [RW 1] If set the Q index; received from the QM is inserted to event ID. */ 458462306a36Sopenharmony_ci#define TCM_REG_TCM_TQM_USE_Q 0x500d4 458562306a36Sopenharmony_ci/* [RW 28] The CM header for Timers expiration command. */ 458662306a36Sopenharmony_ci#define TCM_REG_TM_TCM_HDR 0x50098 458762306a36Sopenharmony_ci/* [RW 1] Timers - CM Interface enable. If 0 - the valid input is 458862306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 458962306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 459062306a36Sopenharmony_ci#define TCM_REG_TM_TCM_IFEN 0x5001c 459162306a36Sopenharmony_ci/* [RW 3] The weight of the Timers input in the WRR mechanism. 0 stands for 459262306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 459362306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 459462306a36Sopenharmony_ci#define TCM_REG_TM_WEIGHT 0x500d0 459562306a36Sopenharmony_ci/* [RW 6] QM output initial credit. Max credit available - 32.Write writes 459662306a36Sopenharmony_ci the initial credit value; read returns the current value of the credit 459762306a36Sopenharmony_ci counter. Must be initialized to 32 at start-up. */ 459862306a36Sopenharmony_ci#define TCM_REG_TQM_INIT_CRD 0x5021c 459962306a36Sopenharmony_ci/* [RW 3] The weight of the QM (primary) input in the WRR mechanism. 0 460062306a36Sopenharmony_ci stands for weight 8 (the most prioritised); 1 stands for weight 1(least 460162306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 460262306a36Sopenharmony_ci#define TCM_REG_TQM_P_WEIGHT 0x500c8 460362306a36Sopenharmony_ci/* [RW 3] The weight of the QM (secondary) input in the WRR mechanism. 0 460462306a36Sopenharmony_ci stands for weight 8 (the most prioritised); 1 stands for weight 1(least 460562306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 460662306a36Sopenharmony_ci#define TCM_REG_TQM_S_WEIGHT 0x500cc 460762306a36Sopenharmony_ci/* [RW 28] The CM header value for QM request (primary). */ 460862306a36Sopenharmony_ci#define TCM_REG_TQM_TCM_HDR_P 0x50090 460962306a36Sopenharmony_ci/* [RW 28] The CM header value for QM request (secondary). */ 461062306a36Sopenharmony_ci#define TCM_REG_TQM_TCM_HDR_S 0x50094 461162306a36Sopenharmony_ci/* [RW 1] QM - CM Interface enable. If 0 - the valid input is disregarded; 461262306a36Sopenharmony_ci acknowledge output is deasserted; all other signals are treated as usual; 461362306a36Sopenharmony_ci if 1 - normal activity. */ 461462306a36Sopenharmony_ci#define TCM_REG_TQM_TCM_IFEN 0x50014 461562306a36Sopenharmony_ci/* [RW 1] Input SDM Interface enable. If 0 - the valid input is disregarded; 461662306a36Sopenharmony_ci acknowledge output is deasserted; all other signals are treated as usual; 461762306a36Sopenharmony_ci if 1 - normal activity. */ 461862306a36Sopenharmony_ci#define TCM_REG_TSDM_IFEN 0x50018 461962306a36Sopenharmony_ci/* [RC 1] Message length mismatch (relative to last indication) at the SDM 462062306a36Sopenharmony_ci interface. */ 462162306a36Sopenharmony_ci#define TCM_REG_TSDM_LENGTH_MIS 0x50164 462262306a36Sopenharmony_ci/* [RW 3] The weight of the SDM input in the WRR mechanism. 0 stands for 462362306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 462462306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 462562306a36Sopenharmony_ci#define TCM_REG_TSDM_WEIGHT 0x500c4 462662306a36Sopenharmony_ci/* [RW 1] Input usem Interface enable. If 0 - the valid input is 462762306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 462862306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 462962306a36Sopenharmony_ci#define TCM_REG_USEM_IFEN 0x50028 463062306a36Sopenharmony_ci/* [RC 1] Message length mismatch (relative to last indication) at the In#8 463162306a36Sopenharmony_ci interface. */ 463262306a36Sopenharmony_ci#define TCM_REG_USEM_LENGTH_MIS 0x50170 463362306a36Sopenharmony_ci/* [RW 3] The weight of the input usem in the WRR mechanism. 0 stands for 463462306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 463562306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 463662306a36Sopenharmony_ci#define TCM_REG_USEM_WEIGHT 0x500b8 463762306a36Sopenharmony_ci/* [RW 21] Indirect access to the descriptor table of the XX protection 463862306a36Sopenharmony_ci mechanism. The fields are: [5:0] - length of the message; 15:6] - message 463962306a36Sopenharmony_ci pointer; 20:16] - next pointer. */ 464062306a36Sopenharmony_ci#define TCM_REG_XX_DESCR_TABLE 0x50280 464162306a36Sopenharmony_ci#define TCM_REG_XX_DESCR_TABLE_SIZE 29 464262306a36Sopenharmony_ci/* [R 6] Use to read the value of XX protection Free counter. */ 464362306a36Sopenharmony_ci#define TCM_REG_XX_FREE 0x50178 464462306a36Sopenharmony_ci/* [RW 6] Initial value for the credit counter; responsible for fulfilling 464562306a36Sopenharmony_ci of the Input Stage XX protection buffer by the XX protection pending 464662306a36Sopenharmony_ci messages. Max credit available - 127.Write writes the initial credit 464762306a36Sopenharmony_ci value; read returns the current value of the credit counter. Must be 464862306a36Sopenharmony_ci initialized to 19 at start-up. */ 464962306a36Sopenharmony_ci#define TCM_REG_XX_INIT_CRD 0x50220 465062306a36Sopenharmony_ci/* [RW 6] Maximum link list size (messages locked) per connection in the XX 465162306a36Sopenharmony_ci protection. */ 465262306a36Sopenharmony_ci#define TCM_REG_XX_MAX_LL_SZ 0x50044 465362306a36Sopenharmony_ci/* [RW 6] The maximum number of pending messages; which may be stored in XX 465462306a36Sopenharmony_ci protection. ~tcm_registers_xx_free.xx_free is read on read. */ 465562306a36Sopenharmony_ci#define TCM_REG_XX_MSG_NUM 0x50224 465662306a36Sopenharmony_ci/* [RW 8] The Event ID; sent to the STORM in case of XX overflow. */ 465762306a36Sopenharmony_ci#define TCM_REG_XX_OVFL_EVNT_ID 0x50048 465862306a36Sopenharmony_ci/* [RW 16] Indirect access to the XX table of the XX protection mechanism. 465962306a36Sopenharmony_ci The fields are:[4:0] - tail pointer; [10:5] - Link List size; 15:11] - 466062306a36Sopenharmony_ci header pointer. */ 466162306a36Sopenharmony_ci#define TCM_REG_XX_TABLE 0x50240 466262306a36Sopenharmony_ci/* [RW 4] Load value for cfc ac credit cnt. */ 466362306a36Sopenharmony_ci#define TM_REG_CFC_AC_CRDCNT_VAL 0x164208 466462306a36Sopenharmony_ci/* [RW 4] Load value for cfc cld credit cnt. */ 466562306a36Sopenharmony_ci#define TM_REG_CFC_CLD_CRDCNT_VAL 0x164210 466662306a36Sopenharmony_ci/* [RW 8] Client0 context region. */ 466762306a36Sopenharmony_ci#define TM_REG_CL0_CONT_REGION 0x164030 466862306a36Sopenharmony_ci/* [RW 8] Client1 context region. */ 466962306a36Sopenharmony_ci#define TM_REG_CL1_CONT_REGION 0x164034 467062306a36Sopenharmony_ci/* [RW 8] Client2 context region. */ 467162306a36Sopenharmony_ci#define TM_REG_CL2_CONT_REGION 0x164038 467262306a36Sopenharmony_ci/* [RW 2] Client in High priority client number. */ 467362306a36Sopenharmony_ci#define TM_REG_CLIN_PRIOR0_CLIENT 0x164024 467462306a36Sopenharmony_ci/* [RW 4] Load value for clout0 cred cnt. */ 467562306a36Sopenharmony_ci#define TM_REG_CLOUT_CRDCNT0_VAL 0x164220 467662306a36Sopenharmony_ci/* [RW 4] Load value for clout1 cred cnt. */ 467762306a36Sopenharmony_ci#define TM_REG_CLOUT_CRDCNT1_VAL 0x164228 467862306a36Sopenharmony_ci/* [RW 4] Load value for clout2 cred cnt. */ 467962306a36Sopenharmony_ci#define TM_REG_CLOUT_CRDCNT2_VAL 0x164230 468062306a36Sopenharmony_ci/* [RW 1] Enable client0 input. */ 468162306a36Sopenharmony_ci#define TM_REG_EN_CL0_INPUT 0x164008 468262306a36Sopenharmony_ci/* [RW 1] Enable client1 input. */ 468362306a36Sopenharmony_ci#define TM_REG_EN_CL1_INPUT 0x16400c 468462306a36Sopenharmony_ci/* [RW 1] Enable client2 input. */ 468562306a36Sopenharmony_ci#define TM_REG_EN_CL2_INPUT 0x164010 468662306a36Sopenharmony_ci#define TM_REG_EN_LINEAR0_TIMER 0x164014 468762306a36Sopenharmony_ci/* [RW 1] Enable real time counter. */ 468862306a36Sopenharmony_ci#define TM_REG_EN_REAL_TIME_CNT 0x1640d8 468962306a36Sopenharmony_ci/* [RW 1] Enable for Timers state machines. */ 469062306a36Sopenharmony_ci#define TM_REG_EN_TIMERS 0x164000 469162306a36Sopenharmony_ci/* [RW 4] Load value for expiration credit cnt. CFC max number of 469262306a36Sopenharmony_ci outstanding load requests for timers (expiration) context loading. */ 469362306a36Sopenharmony_ci#define TM_REG_EXP_CRDCNT_VAL 0x164238 469462306a36Sopenharmony_ci/* [RW 32] Linear0 logic address. */ 469562306a36Sopenharmony_ci#define TM_REG_LIN0_LOGIC_ADDR 0x164240 469662306a36Sopenharmony_ci/* [RW 18] Linear0 Max active cid (in banks of 32 entries). */ 469762306a36Sopenharmony_ci#define TM_REG_LIN0_MAX_ACTIVE_CID 0x164048 469862306a36Sopenharmony_ci/* [ST 16] Linear0 Number of scans counter. */ 469962306a36Sopenharmony_ci#define TM_REG_LIN0_NUM_SCANS 0x1640a0 470062306a36Sopenharmony_ci/* [WB 64] Linear0 phy address. */ 470162306a36Sopenharmony_ci#define TM_REG_LIN0_PHY_ADDR 0x164270 470262306a36Sopenharmony_ci/* [RW 1] Linear0 physical address valid. */ 470362306a36Sopenharmony_ci#define TM_REG_LIN0_PHY_ADDR_VALID 0x164248 470462306a36Sopenharmony_ci#define TM_REG_LIN0_SCAN_ON 0x1640d0 470562306a36Sopenharmony_ci/* [RW 24] Linear0 array scan timeout. */ 470662306a36Sopenharmony_ci#define TM_REG_LIN0_SCAN_TIME 0x16403c 470762306a36Sopenharmony_ci#define TM_REG_LIN0_VNIC_UC 0x164128 470862306a36Sopenharmony_ci/* [RW 32] Linear1 logic address. */ 470962306a36Sopenharmony_ci#define TM_REG_LIN1_LOGIC_ADDR 0x164250 471062306a36Sopenharmony_ci/* [WB 64] Linear1 phy address. */ 471162306a36Sopenharmony_ci#define TM_REG_LIN1_PHY_ADDR 0x164280 471262306a36Sopenharmony_ci/* [RW 1] Linear1 physical address valid. */ 471362306a36Sopenharmony_ci#define TM_REG_LIN1_PHY_ADDR_VALID 0x164258 471462306a36Sopenharmony_ci/* [RW 6] Linear timer set_clear fifo threshold. */ 471562306a36Sopenharmony_ci#define TM_REG_LIN_SETCLR_FIFO_ALFULL_THR 0x164070 471662306a36Sopenharmony_ci/* [RW 2] Load value for pci arbiter credit cnt. */ 471762306a36Sopenharmony_ci#define TM_REG_PCIARB_CRDCNT_VAL 0x164260 471862306a36Sopenharmony_ci/* [RW 20] The amount of hardware cycles for each timer tick. */ 471962306a36Sopenharmony_ci#define TM_REG_TIMER_TICK_SIZE 0x16401c 472062306a36Sopenharmony_ci/* [RW 8] Timers Context region. */ 472162306a36Sopenharmony_ci#define TM_REG_TM_CONTEXT_REGION 0x164044 472262306a36Sopenharmony_ci/* [RW 1] Interrupt mask register #0 read/write */ 472362306a36Sopenharmony_ci#define TM_REG_TM_INT_MASK 0x1640fc 472462306a36Sopenharmony_ci/* [R 1] Interrupt register #0 read */ 472562306a36Sopenharmony_ci#define TM_REG_TM_INT_STS 0x1640f0 472662306a36Sopenharmony_ci/* [RW 7] Parity mask register #0 read/write */ 472762306a36Sopenharmony_ci#define TM_REG_TM_PRTY_MASK 0x16410c 472862306a36Sopenharmony_ci/* [R 7] Parity register #0 read */ 472962306a36Sopenharmony_ci#define TM_REG_TM_PRTY_STS 0x164100 473062306a36Sopenharmony_ci/* [RC 7] Parity register #0 read clear */ 473162306a36Sopenharmony_ci#define TM_REG_TM_PRTY_STS_CLR 0x164104 473262306a36Sopenharmony_ci/* [RW 8] The event id for aggregated interrupt 0 */ 473362306a36Sopenharmony_ci#define TSDM_REG_AGG_INT_EVENT_0 0x42038 473462306a36Sopenharmony_ci#define TSDM_REG_AGG_INT_EVENT_1 0x4203c 473562306a36Sopenharmony_ci#define TSDM_REG_AGG_INT_EVENT_2 0x42040 473662306a36Sopenharmony_ci#define TSDM_REG_AGG_INT_EVENT_3 0x42044 473762306a36Sopenharmony_ci#define TSDM_REG_AGG_INT_EVENT_4 0x42048 473862306a36Sopenharmony_ci/* [RW 1] The T bit for aggregated interrupt 0 */ 473962306a36Sopenharmony_ci#define TSDM_REG_AGG_INT_T_0 0x420b8 474062306a36Sopenharmony_ci#define TSDM_REG_AGG_INT_T_1 0x420bc 474162306a36Sopenharmony_ci/* [RW 13] The start address in the internal RAM for the cfc_rsp lcid */ 474262306a36Sopenharmony_ci#define TSDM_REG_CFC_RSP_START_ADDR 0x42008 474362306a36Sopenharmony_ci/* [RW 16] The maximum value of the completion counter #0 */ 474462306a36Sopenharmony_ci#define TSDM_REG_CMP_COUNTER_MAX0 0x4201c 474562306a36Sopenharmony_ci/* [RW 16] The maximum value of the completion counter #1 */ 474662306a36Sopenharmony_ci#define TSDM_REG_CMP_COUNTER_MAX1 0x42020 474762306a36Sopenharmony_ci/* [RW 16] The maximum value of the completion counter #2 */ 474862306a36Sopenharmony_ci#define TSDM_REG_CMP_COUNTER_MAX2 0x42024 474962306a36Sopenharmony_ci/* [RW 16] The maximum value of the completion counter #3 */ 475062306a36Sopenharmony_ci#define TSDM_REG_CMP_COUNTER_MAX3 0x42028 475162306a36Sopenharmony_ci/* [RW 13] The start address in the internal RAM for the completion 475262306a36Sopenharmony_ci counters. */ 475362306a36Sopenharmony_ci#define TSDM_REG_CMP_COUNTER_START_ADDR 0x4200c 475462306a36Sopenharmony_ci#define TSDM_REG_ENABLE_IN1 0x42238 475562306a36Sopenharmony_ci#define TSDM_REG_ENABLE_IN2 0x4223c 475662306a36Sopenharmony_ci#define TSDM_REG_ENABLE_OUT1 0x42240 475762306a36Sopenharmony_ci#define TSDM_REG_ENABLE_OUT2 0x42244 475862306a36Sopenharmony_ci/* [RW 4] The initial number of messages that can be sent to the pxp control 475962306a36Sopenharmony_ci interface without receiving any ACK. */ 476062306a36Sopenharmony_ci#define TSDM_REG_INIT_CREDIT_PXP_CTRL 0x424bc 476162306a36Sopenharmony_ci/* [ST 32] The number of ACK after placement messages received */ 476262306a36Sopenharmony_ci#define TSDM_REG_NUM_OF_ACK_AFTER_PLACE 0x4227c 476362306a36Sopenharmony_ci/* [ST 32] The number of packet end messages received from the parser */ 476462306a36Sopenharmony_ci#define TSDM_REG_NUM_OF_PKT_END_MSG 0x42274 476562306a36Sopenharmony_ci/* [ST 32] The number of requests received from the pxp async if */ 476662306a36Sopenharmony_ci#define TSDM_REG_NUM_OF_PXP_ASYNC_REQ 0x42278 476762306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 0 */ 476862306a36Sopenharmony_ci#define TSDM_REG_NUM_OF_Q0_CMD 0x42248 476962306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 10 */ 477062306a36Sopenharmony_ci#define TSDM_REG_NUM_OF_Q10_CMD 0x4226c 477162306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 11 */ 477262306a36Sopenharmony_ci#define TSDM_REG_NUM_OF_Q11_CMD 0x42270 477362306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 1 */ 477462306a36Sopenharmony_ci#define TSDM_REG_NUM_OF_Q1_CMD 0x4224c 477562306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 3 */ 477662306a36Sopenharmony_ci#define TSDM_REG_NUM_OF_Q3_CMD 0x42250 477762306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 4 */ 477862306a36Sopenharmony_ci#define TSDM_REG_NUM_OF_Q4_CMD 0x42254 477962306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 5 */ 478062306a36Sopenharmony_ci#define TSDM_REG_NUM_OF_Q5_CMD 0x42258 478162306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 6 */ 478262306a36Sopenharmony_ci#define TSDM_REG_NUM_OF_Q6_CMD 0x4225c 478362306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 7 */ 478462306a36Sopenharmony_ci#define TSDM_REG_NUM_OF_Q7_CMD 0x42260 478562306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 8 */ 478662306a36Sopenharmony_ci#define TSDM_REG_NUM_OF_Q8_CMD 0x42264 478762306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 9 */ 478862306a36Sopenharmony_ci#define TSDM_REG_NUM_OF_Q9_CMD 0x42268 478962306a36Sopenharmony_ci/* [RW 13] The start address in the internal RAM for the packet end message */ 479062306a36Sopenharmony_ci#define TSDM_REG_PCK_END_MSG_START_ADDR 0x42014 479162306a36Sopenharmony_ci/* [RW 13] The start address in the internal RAM for queue counters */ 479262306a36Sopenharmony_ci#define TSDM_REG_Q_COUNTER_START_ADDR 0x42010 479362306a36Sopenharmony_ci/* [R 1] pxp_ctrl rd_data fifo empty in sdm_dma_rsp block */ 479462306a36Sopenharmony_ci#define TSDM_REG_RSP_PXP_CTRL_RDATA_EMPTY 0x42548 479562306a36Sopenharmony_ci/* [R 1] parser fifo empty in sdm_sync block */ 479662306a36Sopenharmony_ci#define TSDM_REG_SYNC_PARSER_EMPTY 0x42550 479762306a36Sopenharmony_ci/* [R 1] parser serial fifo empty in sdm_sync block */ 479862306a36Sopenharmony_ci#define TSDM_REG_SYNC_SYNC_EMPTY 0x42558 479962306a36Sopenharmony_ci/* [RW 32] Tick for timer counter. Applicable only when 480062306a36Sopenharmony_ci ~tsdm_registers_timer_tick_enable.timer_tick_enable =1 */ 480162306a36Sopenharmony_ci#define TSDM_REG_TIMER_TICK 0x42000 480262306a36Sopenharmony_ci/* [RW 32] Interrupt mask register #0 read/write */ 480362306a36Sopenharmony_ci#define TSDM_REG_TSDM_INT_MASK_0 0x4229c 480462306a36Sopenharmony_ci#define TSDM_REG_TSDM_INT_MASK_1 0x422ac 480562306a36Sopenharmony_ci/* [R 32] Interrupt register #0 read */ 480662306a36Sopenharmony_ci#define TSDM_REG_TSDM_INT_STS_0 0x42290 480762306a36Sopenharmony_ci#define TSDM_REG_TSDM_INT_STS_1 0x422a0 480862306a36Sopenharmony_ci/* [RW 11] Parity mask register #0 read/write */ 480962306a36Sopenharmony_ci#define TSDM_REG_TSDM_PRTY_MASK 0x422bc 481062306a36Sopenharmony_ci/* [R 11] Parity register #0 read */ 481162306a36Sopenharmony_ci#define TSDM_REG_TSDM_PRTY_STS 0x422b0 481262306a36Sopenharmony_ci/* [RC 11] Parity register #0 read clear */ 481362306a36Sopenharmony_ci#define TSDM_REG_TSDM_PRTY_STS_CLR 0x422b4 481462306a36Sopenharmony_ci/* [RW 5] The number of time_slots in the arbitration cycle */ 481562306a36Sopenharmony_ci#define TSEM_REG_ARB_CYCLE_SIZE 0x180034 481662306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 0. Source 481762306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 481862306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2 */ 481962306a36Sopenharmony_ci#define TSEM_REG_ARB_ELEMENT0 0x180020 482062306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 1. Source 482162306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 482262306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2. 482362306a36Sopenharmony_ci Could not be equal to register ~tsem_registers_arb_element0.arb_element0 */ 482462306a36Sopenharmony_ci#define TSEM_REG_ARB_ELEMENT1 0x180024 482562306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 2. Source 482662306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 482762306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2. 482862306a36Sopenharmony_ci Could not be equal to register ~tsem_registers_arb_element0.arb_element0 482962306a36Sopenharmony_ci and ~tsem_registers_arb_element1.arb_element1 */ 483062306a36Sopenharmony_ci#define TSEM_REG_ARB_ELEMENT2 0x180028 483162306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 3. Source 483262306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 483362306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2.Could 483462306a36Sopenharmony_ci not be equal to register ~tsem_registers_arb_element0.arb_element0 and 483562306a36Sopenharmony_ci ~tsem_registers_arb_element1.arb_element1 and 483662306a36Sopenharmony_ci ~tsem_registers_arb_element2.arb_element2 */ 483762306a36Sopenharmony_ci#define TSEM_REG_ARB_ELEMENT3 0x18002c 483862306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 4. Source 483962306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 484062306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2. 484162306a36Sopenharmony_ci Could not be equal to register ~tsem_registers_arb_element0.arb_element0 484262306a36Sopenharmony_ci and ~tsem_registers_arb_element1.arb_element1 and 484362306a36Sopenharmony_ci ~tsem_registers_arb_element2.arb_element2 and 484462306a36Sopenharmony_ci ~tsem_registers_arb_element3.arb_element3 */ 484562306a36Sopenharmony_ci#define TSEM_REG_ARB_ELEMENT4 0x180030 484662306a36Sopenharmony_ci#define TSEM_REG_ENABLE_IN 0x1800a4 484762306a36Sopenharmony_ci#define TSEM_REG_ENABLE_OUT 0x1800a8 484862306a36Sopenharmony_ci/* [RW 32] This address space contains all registers and memories that are 484962306a36Sopenharmony_ci placed in SEM_FAST block. The SEM_FAST registers are described in 485062306a36Sopenharmony_ci appendix B. In order to access the sem_fast registers the base address 485162306a36Sopenharmony_ci ~fast_memory.fast_memory should be added to eachsem_fast register offset. */ 485262306a36Sopenharmony_ci#define TSEM_REG_FAST_MEMORY 0x1a0000 485362306a36Sopenharmony_ci/* [RW 1] Disables input messages from FIC0 May be updated during run_time 485462306a36Sopenharmony_ci by the microcode */ 485562306a36Sopenharmony_ci#define TSEM_REG_FIC0_DISABLE 0x180224 485662306a36Sopenharmony_ci/* [RW 1] Disables input messages from FIC1 May be updated during run_time 485762306a36Sopenharmony_ci by the microcode */ 485862306a36Sopenharmony_ci#define TSEM_REG_FIC1_DISABLE 0x180234 485962306a36Sopenharmony_ci/* [RW 15] Interrupt table Read and write access to it is not possible in 486062306a36Sopenharmony_ci the middle of the work */ 486162306a36Sopenharmony_ci#define TSEM_REG_INT_TABLE 0x180400 486262306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that entered through 486362306a36Sopenharmony_ci FIC0 */ 486462306a36Sopenharmony_ci#define TSEM_REG_MSG_NUM_FIC0 0x180000 486562306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that entered through 486662306a36Sopenharmony_ci FIC1 */ 486762306a36Sopenharmony_ci#define TSEM_REG_MSG_NUM_FIC1 0x180004 486862306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that were sent to 486962306a36Sopenharmony_ci FOC0 */ 487062306a36Sopenharmony_ci#define TSEM_REG_MSG_NUM_FOC0 0x180008 487162306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that were sent to 487262306a36Sopenharmony_ci FOC1 */ 487362306a36Sopenharmony_ci#define TSEM_REG_MSG_NUM_FOC1 0x18000c 487462306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that were sent to 487562306a36Sopenharmony_ci FOC2 */ 487662306a36Sopenharmony_ci#define TSEM_REG_MSG_NUM_FOC2 0x180010 487762306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that were sent to 487862306a36Sopenharmony_ci FOC3 */ 487962306a36Sopenharmony_ci#define TSEM_REG_MSG_NUM_FOC3 0x180014 488062306a36Sopenharmony_ci/* [RW 1] Disables input messages from the passive buffer May be updated 488162306a36Sopenharmony_ci during run_time by the microcode */ 488262306a36Sopenharmony_ci#define TSEM_REG_PAS_DISABLE 0x18024c 488362306a36Sopenharmony_ci/* [WB 128] Debug only. Passive buffer memory */ 488462306a36Sopenharmony_ci#define TSEM_REG_PASSIVE_BUFFER 0x181000 488562306a36Sopenharmony_ci/* [WB 46] pram memory. B45 is parity; b[44:0] - data. */ 488662306a36Sopenharmony_ci#define TSEM_REG_PRAM 0x1c0000 488762306a36Sopenharmony_ci/* [R 8] Valid sleeping threads indication have bit per thread */ 488862306a36Sopenharmony_ci#define TSEM_REG_SLEEP_THREADS_VALID 0x18026c 488962306a36Sopenharmony_ci/* [R 1] EXT_STORE FIFO is empty in sem_slow_ls_ext */ 489062306a36Sopenharmony_ci#define TSEM_REG_SLOW_EXT_STORE_EMPTY 0x1802a0 489162306a36Sopenharmony_ci/* [RW 8] List of free threads . There is a bit per thread. */ 489262306a36Sopenharmony_ci#define TSEM_REG_THREADS_LIST 0x1802e4 489362306a36Sopenharmony_ci/* [RC 32] Parity register #0 read clear */ 489462306a36Sopenharmony_ci#define TSEM_REG_TSEM_PRTY_STS_CLR_0 0x180118 489562306a36Sopenharmony_ci#define TSEM_REG_TSEM_PRTY_STS_CLR_1 0x180128 489662306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 0 */ 489762306a36Sopenharmony_ci#define TSEM_REG_TS_0_AS 0x180038 489862306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 10 */ 489962306a36Sopenharmony_ci#define TSEM_REG_TS_10_AS 0x180060 490062306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 11 */ 490162306a36Sopenharmony_ci#define TSEM_REG_TS_11_AS 0x180064 490262306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 12 */ 490362306a36Sopenharmony_ci#define TSEM_REG_TS_12_AS 0x180068 490462306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 13 */ 490562306a36Sopenharmony_ci#define TSEM_REG_TS_13_AS 0x18006c 490662306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 14 */ 490762306a36Sopenharmony_ci#define TSEM_REG_TS_14_AS 0x180070 490862306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 15 */ 490962306a36Sopenharmony_ci#define TSEM_REG_TS_15_AS 0x180074 491062306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 16 */ 491162306a36Sopenharmony_ci#define TSEM_REG_TS_16_AS 0x180078 491262306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 17 */ 491362306a36Sopenharmony_ci#define TSEM_REG_TS_17_AS 0x18007c 491462306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 18 */ 491562306a36Sopenharmony_ci#define TSEM_REG_TS_18_AS 0x180080 491662306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 1 */ 491762306a36Sopenharmony_ci#define TSEM_REG_TS_1_AS 0x18003c 491862306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 2 */ 491962306a36Sopenharmony_ci#define TSEM_REG_TS_2_AS 0x180040 492062306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 3 */ 492162306a36Sopenharmony_ci#define TSEM_REG_TS_3_AS 0x180044 492262306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 4 */ 492362306a36Sopenharmony_ci#define TSEM_REG_TS_4_AS 0x180048 492462306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 5 */ 492562306a36Sopenharmony_ci#define TSEM_REG_TS_5_AS 0x18004c 492662306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 6 */ 492762306a36Sopenharmony_ci#define TSEM_REG_TS_6_AS 0x180050 492862306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 7 */ 492962306a36Sopenharmony_ci#define TSEM_REG_TS_7_AS 0x180054 493062306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 8 */ 493162306a36Sopenharmony_ci#define TSEM_REG_TS_8_AS 0x180058 493262306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 9 */ 493362306a36Sopenharmony_ci#define TSEM_REG_TS_9_AS 0x18005c 493462306a36Sopenharmony_ci/* [RW 32] Interrupt mask register #0 read/write */ 493562306a36Sopenharmony_ci#define TSEM_REG_TSEM_INT_MASK_0 0x180100 493662306a36Sopenharmony_ci#define TSEM_REG_TSEM_INT_MASK_1 0x180110 493762306a36Sopenharmony_ci/* [R 32] Interrupt register #0 read */ 493862306a36Sopenharmony_ci#define TSEM_REG_TSEM_INT_STS_0 0x1800f4 493962306a36Sopenharmony_ci#define TSEM_REG_TSEM_INT_STS_1 0x180104 494062306a36Sopenharmony_ci/* [RW 32] Parity mask register #0 read/write */ 494162306a36Sopenharmony_ci#define TSEM_REG_TSEM_PRTY_MASK_0 0x180120 494262306a36Sopenharmony_ci#define TSEM_REG_TSEM_PRTY_MASK_1 0x180130 494362306a36Sopenharmony_ci/* [R 32] Parity register #0 read */ 494462306a36Sopenharmony_ci#define TSEM_REG_TSEM_PRTY_STS_0 0x180114 494562306a36Sopenharmony_ci#define TSEM_REG_TSEM_PRTY_STS_1 0x180124 494662306a36Sopenharmony_ci/* [W 7] VF or PF ID for reset error bit. Values 0-63 reset error bit for 64 494762306a36Sopenharmony_ci * VF; values 64-67 reset error for 4 PF; values 68-127 are not valid. */ 494862306a36Sopenharmony_ci#define TSEM_REG_VFPF_ERR_NUM 0x180380 494962306a36Sopenharmony_ci/* [RW 32] Indirect access to AG context with 32-bits granularity. The bits 495062306a36Sopenharmony_ci * [10:8] of the address should be the offset within the accessed LCID 495162306a36Sopenharmony_ci * context; the bits [7:0] are the accessed LCID.Example: to write to REG10 495262306a36Sopenharmony_ci * LCID100. The RBC address should be 12'ha64. */ 495362306a36Sopenharmony_ci#define UCM_REG_AG_CTX 0xe2000 495462306a36Sopenharmony_ci/* [R 5] Used to read the XX protection CAM occupancy counter. */ 495562306a36Sopenharmony_ci#define UCM_REG_CAM_OCCUP 0xe0170 495662306a36Sopenharmony_ci/* [RW 1] CDU AG read Interface enable. If 0 - the request input is 495762306a36Sopenharmony_ci disregarded; valid output is deasserted; all other signals are treated as 495862306a36Sopenharmony_ci usual; if 1 - normal activity. */ 495962306a36Sopenharmony_ci#define UCM_REG_CDU_AG_RD_IFEN 0xe0038 496062306a36Sopenharmony_ci/* [RW 1] CDU AG write Interface enable. If 0 - the request and valid input 496162306a36Sopenharmony_ci are disregarded; all other signals are treated as usual; if 1 - normal 496262306a36Sopenharmony_ci activity. */ 496362306a36Sopenharmony_ci#define UCM_REG_CDU_AG_WR_IFEN 0xe0034 496462306a36Sopenharmony_ci/* [RW 1] CDU STORM read Interface enable. If 0 - the request input is 496562306a36Sopenharmony_ci disregarded; valid output is deasserted; all other signals are treated as 496662306a36Sopenharmony_ci usual; if 1 - normal activity. */ 496762306a36Sopenharmony_ci#define UCM_REG_CDU_SM_RD_IFEN 0xe0040 496862306a36Sopenharmony_ci/* [RW 1] CDU STORM write Interface enable. If 0 - the request and valid 496962306a36Sopenharmony_ci input is disregarded; all other signals are treated as usual; if 1 - 497062306a36Sopenharmony_ci normal activity. */ 497162306a36Sopenharmony_ci#define UCM_REG_CDU_SM_WR_IFEN 0xe003c 497262306a36Sopenharmony_ci/* [RW 4] CFC output initial credit. Max credit available - 15.Write writes 497362306a36Sopenharmony_ci the initial credit value; read returns the current value of the credit 497462306a36Sopenharmony_ci counter. Must be initialized to 1 at start-up. */ 497562306a36Sopenharmony_ci#define UCM_REG_CFC_INIT_CRD 0xe0204 497662306a36Sopenharmony_ci/* [RW 3] The weight of the CP input in the WRR mechanism. 0 stands for 497762306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 497862306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 497962306a36Sopenharmony_ci#define UCM_REG_CP_WEIGHT 0xe00c4 498062306a36Sopenharmony_ci/* [RW 1] Input csem Interface enable. If 0 - the valid input is 498162306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 498262306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 498362306a36Sopenharmony_ci#define UCM_REG_CSEM_IFEN 0xe0028 498462306a36Sopenharmony_ci/* [RC 1] Set when the message length mismatch (relative to last indication) 498562306a36Sopenharmony_ci at the csem interface is detected. */ 498662306a36Sopenharmony_ci#define UCM_REG_CSEM_LENGTH_MIS 0xe0160 498762306a36Sopenharmony_ci/* [RW 3] The weight of the input csem in the WRR mechanism. 0 stands for 498862306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 498962306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 499062306a36Sopenharmony_ci#define UCM_REG_CSEM_WEIGHT 0xe00b8 499162306a36Sopenharmony_ci/* [RW 1] Input dorq Interface enable. If 0 - the valid input is 499262306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 499362306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 499462306a36Sopenharmony_ci#define UCM_REG_DORQ_IFEN 0xe0030 499562306a36Sopenharmony_ci/* [RC 1] Set when the message length mismatch (relative to last indication) 499662306a36Sopenharmony_ci at the dorq interface is detected. */ 499762306a36Sopenharmony_ci#define UCM_REG_DORQ_LENGTH_MIS 0xe0168 499862306a36Sopenharmony_ci/* [RW 3] The weight of the input dorq in the WRR mechanism. 0 stands for 499962306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 500062306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 500162306a36Sopenharmony_ci#define UCM_REG_DORQ_WEIGHT 0xe00c0 500262306a36Sopenharmony_ci/* [RW 8] The Event ID in case ErrorFlg input message bit is set. */ 500362306a36Sopenharmony_ci#define UCM_REG_ERR_EVNT_ID 0xe00a4 500462306a36Sopenharmony_ci/* [RW 28] The CM erroneous header for QM and Timers formatting. */ 500562306a36Sopenharmony_ci#define UCM_REG_ERR_UCM_HDR 0xe00a0 500662306a36Sopenharmony_ci/* [RW 8] The Event ID for Timers expiration. */ 500762306a36Sopenharmony_ci#define UCM_REG_EXPR_EVNT_ID 0xe00a8 500862306a36Sopenharmony_ci/* [RW 8] FIC0 output initial credit. Max credit available - 255.Write 500962306a36Sopenharmony_ci writes the initial credit value; read returns the current value of the 501062306a36Sopenharmony_ci credit counter. Must be initialized to 64 at start-up. */ 501162306a36Sopenharmony_ci#define UCM_REG_FIC0_INIT_CRD 0xe020c 501262306a36Sopenharmony_ci/* [RW 8] FIC1 output initial credit. Max credit available - 255.Write 501362306a36Sopenharmony_ci writes the initial credit value; read returns the current value of the 501462306a36Sopenharmony_ci credit counter. Must be initialized to 64 at start-up. */ 501562306a36Sopenharmony_ci#define UCM_REG_FIC1_INIT_CRD 0xe0210 501662306a36Sopenharmony_ci/* [RW 1] Arbitration between Input Arbiter groups: 0 - fair Round-Robin; 1 501762306a36Sopenharmony_ci - strict priority defined by ~ucm_registers_gr_ag_pr.gr_ag_pr; 501862306a36Sopenharmony_ci ~ucm_registers_gr_ld0_pr.gr_ld0_pr and 501962306a36Sopenharmony_ci ~ucm_registers_gr_ld1_pr.gr_ld1_pr. */ 502062306a36Sopenharmony_ci#define UCM_REG_GR_ARB_TYPE 0xe0144 502162306a36Sopenharmony_ci/* [RW 2] Load (FIC0) channel group priority. The lowest priority is 0; the 502262306a36Sopenharmony_ci highest priority is 3. It is supposed that the Store channel group is 502362306a36Sopenharmony_ci complement to the others. */ 502462306a36Sopenharmony_ci#define UCM_REG_GR_LD0_PR 0xe014c 502562306a36Sopenharmony_ci/* [RW 2] Load (FIC1) channel group priority. The lowest priority is 0; the 502662306a36Sopenharmony_ci highest priority is 3. It is supposed that the Store channel group is 502762306a36Sopenharmony_ci complement to the others. */ 502862306a36Sopenharmony_ci#define UCM_REG_GR_LD1_PR 0xe0150 502962306a36Sopenharmony_ci/* [RW 2] The queue index for invalidate counter flag decision. */ 503062306a36Sopenharmony_ci#define UCM_REG_INV_CFLG_Q 0xe00e4 503162306a36Sopenharmony_ci/* [RW 5] The number of double REG-pairs; loaded from the STORM context and 503262306a36Sopenharmony_ci sent to STORM; for a specific connection type. the double REG-pairs are 503362306a36Sopenharmony_ci used in order to align to STORM context row size of 128 bits. The offset 503462306a36Sopenharmony_ci of these data in the STORM context is always 0. Index _i stands for the 503562306a36Sopenharmony_ci connection type (one of 16). */ 503662306a36Sopenharmony_ci#define UCM_REG_N_SM_CTX_LD_0 0xe0054 503762306a36Sopenharmony_ci#define UCM_REG_N_SM_CTX_LD_1 0xe0058 503862306a36Sopenharmony_ci#define UCM_REG_N_SM_CTX_LD_2 0xe005c 503962306a36Sopenharmony_ci#define UCM_REG_N_SM_CTX_LD_3 0xe0060 504062306a36Sopenharmony_ci#define UCM_REG_N_SM_CTX_LD_4 0xe0064 504162306a36Sopenharmony_ci#define UCM_REG_N_SM_CTX_LD_5 0xe0068 504262306a36Sopenharmony_ci#define UCM_REG_PHYS_QNUM0_0 0xe0110 504362306a36Sopenharmony_ci#define UCM_REG_PHYS_QNUM0_1 0xe0114 504462306a36Sopenharmony_ci#define UCM_REG_PHYS_QNUM1_0 0xe0118 504562306a36Sopenharmony_ci#define UCM_REG_PHYS_QNUM1_1 0xe011c 504662306a36Sopenharmony_ci#define UCM_REG_PHYS_QNUM2_0 0xe0120 504762306a36Sopenharmony_ci#define UCM_REG_PHYS_QNUM2_1 0xe0124 504862306a36Sopenharmony_ci#define UCM_REG_PHYS_QNUM3_0 0xe0128 504962306a36Sopenharmony_ci#define UCM_REG_PHYS_QNUM3_1 0xe012c 505062306a36Sopenharmony_ci/* [RW 8] The Event ID for Timers formatting in case of stop done. */ 505162306a36Sopenharmony_ci#define UCM_REG_STOP_EVNT_ID 0xe00ac 505262306a36Sopenharmony_ci/* [RC 1] Set when the message length mismatch (relative to last indication) 505362306a36Sopenharmony_ci at the STORM interface is detected. */ 505462306a36Sopenharmony_ci#define UCM_REG_STORM_LENGTH_MIS 0xe0154 505562306a36Sopenharmony_ci/* [RW 1] STORM - CM Interface enable. If 0 - the valid input is 505662306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 505762306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 505862306a36Sopenharmony_ci#define UCM_REG_STORM_UCM_IFEN 0xe0010 505962306a36Sopenharmony_ci/* [RW 3] The weight of the STORM input in the WRR mechanism. 0 stands for 506062306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 506162306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 506262306a36Sopenharmony_ci#define UCM_REG_STORM_WEIGHT 0xe00b0 506362306a36Sopenharmony_ci/* [RW 4] Timers output initial credit. Max credit available - 15.Write 506462306a36Sopenharmony_ci writes the initial credit value; read returns the current value of the 506562306a36Sopenharmony_ci credit counter. Must be initialized to 4 at start-up. */ 506662306a36Sopenharmony_ci#define UCM_REG_TM_INIT_CRD 0xe021c 506762306a36Sopenharmony_ci/* [RW 28] The CM header for Timers expiration command. */ 506862306a36Sopenharmony_ci#define UCM_REG_TM_UCM_HDR 0xe009c 506962306a36Sopenharmony_ci/* [RW 1] Timers - CM Interface enable. If 0 - the valid input is 507062306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 507162306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 507262306a36Sopenharmony_ci#define UCM_REG_TM_UCM_IFEN 0xe001c 507362306a36Sopenharmony_ci/* [RW 3] The weight of the Timers input in the WRR mechanism. 0 stands for 507462306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 507562306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 507662306a36Sopenharmony_ci#define UCM_REG_TM_WEIGHT 0xe00d4 507762306a36Sopenharmony_ci/* [RW 1] Input tsem Interface enable. If 0 - the valid input is 507862306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 507962306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 508062306a36Sopenharmony_ci#define UCM_REG_TSEM_IFEN 0xe0024 508162306a36Sopenharmony_ci/* [RC 1] Set when the message length mismatch (relative to last indication) 508262306a36Sopenharmony_ci at the tsem interface is detected. */ 508362306a36Sopenharmony_ci#define UCM_REG_TSEM_LENGTH_MIS 0xe015c 508462306a36Sopenharmony_ci/* [RW 3] The weight of the input tsem in the WRR mechanism. 0 stands for 508562306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 508662306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 508762306a36Sopenharmony_ci#define UCM_REG_TSEM_WEIGHT 0xe00b4 508862306a36Sopenharmony_ci/* [RW 1] CM - CFC Interface enable. If 0 - the valid input is disregarded; 508962306a36Sopenharmony_ci acknowledge output is deasserted; all other signals are treated as usual; 509062306a36Sopenharmony_ci if 1 - normal activity. */ 509162306a36Sopenharmony_ci#define UCM_REG_UCM_CFC_IFEN 0xe0044 509262306a36Sopenharmony_ci/* [RW 11] Interrupt mask register #0 read/write */ 509362306a36Sopenharmony_ci#define UCM_REG_UCM_INT_MASK 0xe01d4 509462306a36Sopenharmony_ci/* [R 11] Interrupt register #0 read */ 509562306a36Sopenharmony_ci#define UCM_REG_UCM_INT_STS 0xe01c8 509662306a36Sopenharmony_ci/* [RW 27] Parity mask register #0 read/write */ 509762306a36Sopenharmony_ci#define UCM_REG_UCM_PRTY_MASK 0xe01e4 509862306a36Sopenharmony_ci/* [R 27] Parity register #0 read */ 509962306a36Sopenharmony_ci#define UCM_REG_UCM_PRTY_STS 0xe01d8 510062306a36Sopenharmony_ci/* [RC 27] Parity register #0 read clear */ 510162306a36Sopenharmony_ci#define UCM_REG_UCM_PRTY_STS_CLR 0xe01dc 510262306a36Sopenharmony_ci/* [RW 2] The size of AG context region 0 in REG-pairs. Designates the MS 510362306a36Sopenharmony_ci REG-pair number (e.g. if region 0 is 6 REG-pairs; the value should be 5). 510462306a36Sopenharmony_ci Is used to determine the number of the AG context REG-pairs written back; 510562306a36Sopenharmony_ci when the Reg1WbFlg isn't set. */ 510662306a36Sopenharmony_ci#define UCM_REG_UCM_REG0_SZ 0xe00dc 510762306a36Sopenharmony_ci/* [RW 1] CM - STORM 0 Interface enable. If 0 - the acknowledge input is 510862306a36Sopenharmony_ci disregarded; valid is deasserted; all other signals are treated as usual; 510962306a36Sopenharmony_ci if 1 - normal activity. */ 511062306a36Sopenharmony_ci#define UCM_REG_UCM_STORM0_IFEN 0xe0004 511162306a36Sopenharmony_ci/* [RW 1] CM - STORM 1 Interface enable. If 0 - the acknowledge input is 511262306a36Sopenharmony_ci disregarded; valid is deasserted; all other signals are treated as usual; 511362306a36Sopenharmony_ci if 1 - normal activity. */ 511462306a36Sopenharmony_ci#define UCM_REG_UCM_STORM1_IFEN 0xe0008 511562306a36Sopenharmony_ci/* [RW 1] CM - Timers Interface enable. If 0 - the valid input is 511662306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 511762306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 511862306a36Sopenharmony_ci#define UCM_REG_UCM_TM_IFEN 0xe0020 511962306a36Sopenharmony_ci/* [RW 1] CM - QM Interface enable. If 0 - the acknowledge input is 512062306a36Sopenharmony_ci disregarded; valid is deasserted; all other signals are treated as usual; 512162306a36Sopenharmony_ci if 1 - normal activity. */ 512262306a36Sopenharmony_ci#define UCM_REG_UCM_UQM_IFEN 0xe000c 512362306a36Sopenharmony_ci/* [RW 1] If set the Q index; received from the QM is inserted to event ID. */ 512462306a36Sopenharmony_ci#define UCM_REG_UCM_UQM_USE_Q 0xe00d8 512562306a36Sopenharmony_ci/* [RW 6] QM output initial credit. Max credit available - 32.Write writes 512662306a36Sopenharmony_ci the initial credit value; read returns the current value of the credit 512762306a36Sopenharmony_ci counter. Must be initialized to 32 at start-up. */ 512862306a36Sopenharmony_ci#define UCM_REG_UQM_INIT_CRD 0xe0220 512962306a36Sopenharmony_ci/* [RW 3] The weight of the QM (primary) input in the WRR mechanism. 0 513062306a36Sopenharmony_ci stands for weight 8 (the most prioritised); 1 stands for weight 1(least 513162306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 513262306a36Sopenharmony_ci#define UCM_REG_UQM_P_WEIGHT 0xe00cc 513362306a36Sopenharmony_ci/* [RW 3] The weight of the QM (secondary) input in the WRR mechanism. 0 513462306a36Sopenharmony_ci stands for weight 8 (the most prioritised); 1 stands for weight 1(least 513562306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 513662306a36Sopenharmony_ci#define UCM_REG_UQM_S_WEIGHT 0xe00d0 513762306a36Sopenharmony_ci/* [RW 28] The CM header value for QM request (primary). */ 513862306a36Sopenharmony_ci#define UCM_REG_UQM_UCM_HDR_P 0xe0094 513962306a36Sopenharmony_ci/* [RW 28] The CM header value for QM request (secondary). */ 514062306a36Sopenharmony_ci#define UCM_REG_UQM_UCM_HDR_S 0xe0098 514162306a36Sopenharmony_ci/* [RW 1] QM - CM Interface enable. If 0 - the valid input is disregarded; 514262306a36Sopenharmony_ci acknowledge output is deasserted; all other signals are treated as usual; 514362306a36Sopenharmony_ci if 1 - normal activity. */ 514462306a36Sopenharmony_ci#define UCM_REG_UQM_UCM_IFEN 0xe0014 514562306a36Sopenharmony_ci/* [RW 1] Input SDM Interface enable. If 0 - the valid input is disregarded; 514662306a36Sopenharmony_ci acknowledge output is deasserted; all other signals are treated as usual; 514762306a36Sopenharmony_ci if 1 - normal activity. */ 514862306a36Sopenharmony_ci#define UCM_REG_USDM_IFEN 0xe0018 514962306a36Sopenharmony_ci/* [RC 1] Set when the message length mismatch (relative to last indication) 515062306a36Sopenharmony_ci at the SDM interface is detected. */ 515162306a36Sopenharmony_ci#define UCM_REG_USDM_LENGTH_MIS 0xe0158 515262306a36Sopenharmony_ci/* [RW 3] The weight of the SDM input in the WRR mechanism. 0 stands for 515362306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 515462306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 515562306a36Sopenharmony_ci#define UCM_REG_USDM_WEIGHT 0xe00c8 515662306a36Sopenharmony_ci/* [RW 1] Input xsem Interface enable. If 0 - the valid input is 515762306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 515862306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 515962306a36Sopenharmony_ci#define UCM_REG_XSEM_IFEN 0xe002c 516062306a36Sopenharmony_ci/* [RC 1] Set when the message length mismatch (relative to last indication) 516162306a36Sopenharmony_ci at the xsem interface isdetected. */ 516262306a36Sopenharmony_ci#define UCM_REG_XSEM_LENGTH_MIS 0xe0164 516362306a36Sopenharmony_ci/* [RW 3] The weight of the input xsem in the WRR mechanism. 0 stands for 516462306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 516562306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 516662306a36Sopenharmony_ci#define UCM_REG_XSEM_WEIGHT 0xe00bc 516762306a36Sopenharmony_ci/* [RW 20] Indirect access to the descriptor table of the XX protection 516862306a36Sopenharmony_ci mechanism. The fields are:[5:0] - message length; 14:6] - message 516962306a36Sopenharmony_ci pointer; 19:15] - next pointer. */ 517062306a36Sopenharmony_ci#define UCM_REG_XX_DESCR_TABLE 0xe0280 517162306a36Sopenharmony_ci#define UCM_REG_XX_DESCR_TABLE_SIZE 27 517262306a36Sopenharmony_ci/* [R 6] Use to read the XX protection Free counter. */ 517362306a36Sopenharmony_ci#define UCM_REG_XX_FREE 0xe016c 517462306a36Sopenharmony_ci/* [RW 6] Initial value for the credit counter; responsible for fulfilling 517562306a36Sopenharmony_ci of the Input Stage XX protection buffer by the XX protection pending 517662306a36Sopenharmony_ci messages. Write writes the initial credit value; read returns the current 517762306a36Sopenharmony_ci value of the credit counter. Must be initialized to 12 at start-up. */ 517862306a36Sopenharmony_ci#define UCM_REG_XX_INIT_CRD 0xe0224 517962306a36Sopenharmony_ci/* [RW 6] The maximum number of pending messages; which may be stored in XX 518062306a36Sopenharmony_ci protection. ~ucm_registers_xx_free.xx_free read on read. */ 518162306a36Sopenharmony_ci#define UCM_REG_XX_MSG_NUM 0xe0228 518262306a36Sopenharmony_ci/* [RW 8] The Event ID; sent to the STORM in case of XX overflow. */ 518362306a36Sopenharmony_ci#define UCM_REG_XX_OVFL_EVNT_ID 0xe004c 518462306a36Sopenharmony_ci/* [RW 16] Indirect access to the XX table of the XX protection mechanism. 518562306a36Sopenharmony_ci The fields are: [4:0] - tail pointer; 10:5] - Link List size; 15:11] - 518662306a36Sopenharmony_ci header pointer. */ 518762306a36Sopenharmony_ci#define UCM_REG_XX_TABLE 0xe0300 518862306a36Sopenharmony_ci#define UMAC_COMMAND_CONFIG_REG_HD_ENA (0x1<<10) 518962306a36Sopenharmony_ci#define UMAC_COMMAND_CONFIG_REG_IGNORE_TX_PAUSE (0x1<<28) 519062306a36Sopenharmony_ci#define UMAC_COMMAND_CONFIG_REG_LOOP_ENA (0x1<<15) 519162306a36Sopenharmony_ci#define UMAC_COMMAND_CONFIG_REG_NO_LGTH_CHECK (0x1<<24) 519262306a36Sopenharmony_ci#define UMAC_COMMAND_CONFIG_REG_PAD_EN (0x1<<5) 519362306a36Sopenharmony_ci#define UMAC_COMMAND_CONFIG_REG_PAUSE_IGNORE (0x1<<8) 519462306a36Sopenharmony_ci#define UMAC_COMMAND_CONFIG_REG_PROMIS_EN (0x1<<4) 519562306a36Sopenharmony_ci#define UMAC_COMMAND_CONFIG_REG_RX_ENA (0x1<<1) 519662306a36Sopenharmony_ci#define UMAC_COMMAND_CONFIG_REG_SW_RESET (0x1<<13) 519762306a36Sopenharmony_ci#define UMAC_COMMAND_CONFIG_REG_TX_ENA (0x1<<0) 519862306a36Sopenharmony_ci#define UMAC_REG_COMMAND_CONFIG 0x8 519962306a36Sopenharmony_ci/* [RW 16] This is the duration for which MAC must wait to go back to ACTIVE 520062306a36Sopenharmony_ci * state from LPI state when it receives packet for transmission. The 520162306a36Sopenharmony_ci * decrement unit is 1 micro-second. */ 520262306a36Sopenharmony_ci#define UMAC_REG_EEE_WAKE_TIMER 0x6c 520362306a36Sopenharmony_ci/* [RW 32] Register Bit 0 refers to Bit 16 of the MAC address; Bit 1 refers 520462306a36Sopenharmony_ci * to bit 17 of the MAC address etc. */ 520562306a36Sopenharmony_ci#define UMAC_REG_MAC_ADDR0 0xc 520662306a36Sopenharmony_ci/* [RW 16] Register Bit 0 refers to Bit 0 of the MAC address; Register Bit 1 520762306a36Sopenharmony_ci * refers to Bit 1 of the MAC address etc. Bits 16 to 31 are reserved. */ 520862306a36Sopenharmony_ci#define UMAC_REG_MAC_ADDR1 0x10 520962306a36Sopenharmony_ci/* [RW 14] Defines a 14-Bit maximum frame length used by the MAC receive 521062306a36Sopenharmony_ci * logic to check frames. */ 521162306a36Sopenharmony_ci#define UMAC_REG_MAXFR 0x14 521262306a36Sopenharmony_ci#define UMAC_REG_UMAC_EEE_CTRL 0x64 521362306a36Sopenharmony_ci#define UMAC_UMAC_EEE_CTRL_REG_EEE_EN (0x1<<3) 521462306a36Sopenharmony_ci/* [RW 8] The event id for aggregated interrupt 0 */ 521562306a36Sopenharmony_ci#define USDM_REG_AGG_INT_EVENT_0 0xc4038 521662306a36Sopenharmony_ci#define USDM_REG_AGG_INT_EVENT_1 0xc403c 521762306a36Sopenharmony_ci#define USDM_REG_AGG_INT_EVENT_2 0xc4040 521862306a36Sopenharmony_ci#define USDM_REG_AGG_INT_EVENT_4 0xc4048 521962306a36Sopenharmony_ci#define USDM_REG_AGG_INT_EVENT_5 0xc404c 522062306a36Sopenharmony_ci#define USDM_REG_AGG_INT_EVENT_6 0xc4050 522162306a36Sopenharmony_ci/* [RW 1] For each aggregated interrupt index whether the mode is normal (0) 522262306a36Sopenharmony_ci or auto-mask-mode (1) */ 522362306a36Sopenharmony_ci#define USDM_REG_AGG_INT_MODE_0 0xc41b8 522462306a36Sopenharmony_ci#define USDM_REG_AGG_INT_MODE_1 0xc41bc 522562306a36Sopenharmony_ci#define USDM_REG_AGG_INT_MODE_4 0xc41c8 522662306a36Sopenharmony_ci#define USDM_REG_AGG_INT_MODE_5 0xc41cc 522762306a36Sopenharmony_ci#define USDM_REG_AGG_INT_MODE_6 0xc41d0 522862306a36Sopenharmony_ci/* [RW 1] The T bit for aggregated interrupt 5 */ 522962306a36Sopenharmony_ci#define USDM_REG_AGG_INT_T_5 0xc40cc 523062306a36Sopenharmony_ci#define USDM_REG_AGG_INT_T_6 0xc40d0 523162306a36Sopenharmony_ci/* [RW 13] The start address in the internal RAM for the cfc_rsp lcid */ 523262306a36Sopenharmony_ci#define USDM_REG_CFC_RSP_START_ADDR 0xc4008 523362306a36Sopenharmony_ci/* [RW 16] The maximum value of the completion counter #0 */ 523462306a36Sopenharmony_ci#define USDM_REG_CMP_COUNTER_MAX0 0xc401c 523562306a36Sopenharmony_ci/* [RW 16] The maximum value of the completion counter #1 */ 523662306a36Sopenharmony_ci#define USDM_REG_CMP_COUNTER_MAX1 0xc4020 523762306a36Sopenharmony_ci/* [RW 16] The maximum value of the completion counter #2 */ 523862306a36Sopenharmony_ci#define USDM_REG_CMP_COUNTER_MAX2 0xc4024 523962306a36Sopenharmony_ci/* [RW 16] The maximum value of the completion counter #3 */ 524062306a36Sopenharmony_ci#define USDM_REG_CMP_COUNTER_MAX3 0xc4028 524162306a36Sopenharmony_ci/* [RW 13] The start address in the internal RAM for the completion 524262306a36Sopenharmony_ci counters. */ 524362306a36Sopenharmony_ci#define USDM_REG_CMP_COUNTER_START_ADDR 0xc400c 524462306a36Sopenharmony_ci#define USDM_REG_ENABLE_IN1 0xc4238 524562306a36Sopenharmony_ci#define USDM_REG_ENABLE_IN2 0xc423c 524662306a36Sopenharmony_ci#define USDM_REG_ENABLE_OUT1 0xc4240 524762306a36Sopenharmony_ci#define USDM_REG_ENABLE_OUT2 0xc4244 524862306a36Sopenharmony_ci/* [RW 4] The initial number of messages that can be sent to the pxp control 524962306a36Sopenharmony_ci interface without receiving any ACK. */ 525062306a36Sopenharmony_ci#define USDM_REG_INIT_CREDIT_PXP_CTRL 0xc44c0 525162306a36Sopenharmony_ci/* [ST 32] The number of ACK after placement messages received */ 525262306a36Sopenharmony_ci#define USDM_REG_NUM_OF_ACK_AFTER_PLACE 0xc4280 525362306a36Sopenharmony_ci/* [ST 32] The number of packet end messages received from the parser */ 525462306a36Sopenharmony_ci#define USDM_REG_NUM_OF_PKT_END_MSG 0xc4278 525562306a36Sopenharmony_ci/* [ST 32] The number of requests received from the pxp async if */ 525662306a36Sopenharmony_ci#define USDM_REG_NUM_OF_PXP_ASYNC_REQ 0xc427c 525762306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 0 */ 525862306a36Sopenharmony_ci#define USDM_REG_NUM_OF_Q0_CMD 0xc4248 525962306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 10 */ 526062306a36Sopenharmony_ci#define USDM_REG_NUM_OF_Q10_CMD 0xc4270 526162306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 11 */ 526262306a36Sopenharmony_ci#define USDM_REG_NUM_OF_Q11_CMD 0xc4274 526362306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 1 */ 526462306a36Sopenharmony_ci#define USDM_REG_NUM_OF_Q1_CMD 0xc424c 526562306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 2 */ 526662306a36Sopenharmony_ci#define USDM_REG_NUM_OF_Q2_CMD 0xc4250 526762306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 3 */ 526862306a36Sopenharmony_ci#define USDM_REG_NUM_OF_Q3_CMD 0xc4254 526962306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 4 */ 527062306a36Sopenharmony_ci#define USDM_REG_NUM_OF_Q4_CMD 0xc4258 527162306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 5 */ 527262306a36Sopenharmony_ci#define USDM_REG_NUM_OF_Q5_CMD 0xc425c 527362306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 6 */ 527462306a36Sopenharmony_ci#define USDM_REG_NUM_OF_Q6_CMD 0xc4260 527562306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 7 */ 527662306a36Sopenharmony_ci#define USDM_REG_NUM_OF_Q7_CMD 0xc4264 527762306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 8 */ 527862306a36Sopenharmony_ci#define USDM_REG_NUM_OF_Q8_CMD 0xc4268 527962306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 9 */ 528062306a36Sopenharmony_ci#define USDM_REG_NUM_OF_Q9_CMD 0xc426c 528162306a36Sopenharmony_ci/* [RW 13] The start address in the internal RAM for the packet end message */ 528262306a36Sopenharmony_ci#define USDM_REG_PCK_END_MSG_START_ADDR 0xc4014 528362306a36Sopenharmony_ci/* [RW 13] The start address in the internal RAM for queue counters */ 528462306a36Sopenharmony_ci#define USDM_REG_Q_COUNTER_START_ADDR 0xc4010 528562306a36Sopenharmony_ci/* [R 1] pxp_ctrl rd_data fifo empty in sdm_dma_rsp block */ 528662306a36Sopenharmony_ci#define USDM_REG_RSP_PXP_CTRL_RDATA_EMPTY 0xc4550 528762306a36Sopenharmony_ci/* [R 1] parser fifo empty in sdm_sync block */ 528862306a36Sopenharmony_ci#define USDM_REG_SYNC_PARSER_EMPTY 0xc4558 528962306a36Sopenharmony_ci/* [R 1] parser serial fifo empty in sdm_sync block */ 529062306a36Sopenharmony_ci#define USDM_REG_SYNC_SYNC_EMPTY 0xc4560 529162306a36Sopenharmony_ci/* [RW 32] Tick for timer counter. Applicable only when 529262306a36Sopenharmony_ci ~usdm_registers_timer_tick_enable.timer_tick_enable =1 */ 529362306a36Sopenharmony_ci#define USDM_REG_TIMER_TICK 0xc4000 529462306a36Sopenharmony_ci/* [RW 32] Interrupt mask register #0 read/write */ 529562306a36Sopenharmony_ci#define USDM_REG_USDM_INT_MASK_0 0xc42a0 529662306a36Sopenharmony_ci#define USDM_REG_USDM_INT_MASK_1 0xc42b0 529762306a36Sopenharmony_ci/* [R 32] Interrupt register #0 read */ 529862306a36Sopenharmony_ci#define USDM_REG_USDM_INT_STS_0 0xc4294 529962306a36Sopenharmony_ci#define USDM_REG_USDM_INT_STS_1 0xc42a4 530062306a36Sopenharmony_ci/* [RW 11] Parity mask register #0 read/write */ 530162306a36Sopenharmony_ci#define USDM_REG_USDM_PRTY_MASK 0xc42c0 530262306a36Sopenharmony_ci/* [R 11] Parity register #0 read */ 530362306a36Sopenharmony_ci#define USDM_REG_USDM_PRTY_STS 0xc42b4 530462306a36Sopenharmony_ci/* [RC 11] Parity register #0 read clear */ 530562306a36Sopenharmony_ci#define USDM_REG_USDM_PRTY_STS_CLR 0xc42b8 530662306a36Sopenharmony_ci/* [RW 5] The number of time_slots in the arbitration cycle */ 530762306a36Sopenharmony_ci#define USEM_REG_ARB_CYCLE_SIZE 0x300034 530862306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 0. Source 530962306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 531062306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2 */ 531162306a36Sopenharmony_ci#define USEM_REG_ARB_ELEMENT0 0x300020 531262306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 1. Source 531362306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 531462306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2. 531562306a36Sopenharmony_ci Could not be equal to register ~usem_registers_arb_element0.arb_element0 */ 531662306a36Sopenharmony_ci#define USEM_REG_ARB_ELEMENT1 0x300024 531762306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 2. Source 531862306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 531962306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2. 532062306a36Sopenharmony_ci Could not be equal to register ~usem_registers_arb_element0.arb_element0 532162306a36Sopenharmony_ci and ~usem_registers_arb_element1.arb_element1 */ 532262306a36Sopenharmony_ci#define USEM_REG_ARB_ELEMENT2 0x300028 532362306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 3. Source 532462306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 532562306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2.Could 532662306a36Sopenharmony_ci not be equal to register ~usem_registers_arb_element0.arb_element0 and 532762306a36Sopenharmony_ci ~usem_registers_arb_element1.arb_element1 and 532862306a36Sopenharmony_ci ~usem_registers_arb_element2.arb_element2 */ 532962306a36Sopenharmony_ci#define USEM_REG_ARB_ELEMENT3 0x30002c 533062306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 4. Source 533162306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 533262306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2. 533362306a36Sopenharmony_ci Could not be equal to register ~usem_registers_arb_element0.arb_element0 533462306a36Sopenharmony_ci and ~usem_registers_arb_element1.arb_element1 and 533562306a36Sopenharmony_ci ~usem_registers_arb_element2.arb_element2 and 533662306a36Sopenharmony_ci ~usem_registers_arb_element3.arb_element3 */ 533762306a36Sopenharmony_ci#define USEM_REG_ARB_ELEMENT4 0x300030 533862306a36Sopenharmony_ci#define USEM_REG_ENABLE_IN 0x3000a4 533962306a36Sopenharmony_ci#define USEM_REG_ENABLE_OUT 0x3000a8 534062306a36Sopenharmony_ci/* [RW 32] This address space contains all registers and memories that are 534162306a36Sopenharmony_ci placed in SEM_FAST block. The SEM_FAST registers are described in 534262306a36Sopenharmony_ci appendix B. In order to access the sem_fast registers the base address 534362306a36Sopenharmony_ci ~fast_memory.fast_memory should be added to eachsem_fast register offset. */ 534462306a36Sopenharmony_ci#define USEM_REG_FAST_MEMORY 0x320000 534562306a36Sopenharmony_ci/* [RW 1] Disables input messages from FIC0 May be updated during run_time 534662306a36Sopenharmony_ci by the microcode */ 534762306a36Sopenharmony_ci#define USEM_REG_FIC0_DISABLE 0x300224 534862306a36Sopenharmony_ci/* [RW 1] Disables input messages from FIC1 May be updated during run_time 534962306a36Sopenharmony_ci by the microcode */ 535062306a36Sopenharmony_ci#define USEM_REG_FIC1_DISABLE 0x300234 535162306a36Sopenharmony_ci/* [RW 15] Interrupt table Read and write access to it is not possible in 535262306a36Sopenharmony_ci the middle of the work */ 535362306a36Sopenharmony_ci#define USEM_REG_INT_TABLE 0x300400 535462306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that entered through 535562306a36Sopenharmony_ci FIC0 */ 535662306a36Sopenharmony_ci#define USEM_REG_MSG_NUM_FIC0 0x300000 535762306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that entered through 535862306a36Sopenharmony_ci FIC1 */ 535962306a36Sopenharmony_ci#define USEM_REG_MSG_NUM_FIC1 0x300004 536062306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that were sent to 536162306a36Sopenharmony_ci FOC0 */ 536262306a36Sopenharmony_ci#define USEM_REG_MSG_NUM_FOC0 0x300008 536362306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that were sent to 536462306a36Sopenharmony_ci FOC1 */ 536562306a36Sopenharmony_ci#define USEM_REG_MSG_NUM_FOC1 0x30000c 536662306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that were sent to 536762306a36Sopenharmony_ci FOC2 */ 536862306a36Sopenharmony_ci#define USEM_REG_MSG_NUM_FOC2 0x300010 536962306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that were sent to 537062306a36Sopenharmony_ci FOC3 */ 537162306a36Sopenharmony_ci#define USEM_REG_MSG_NUM_FOC3 0x300014 537262306a36Sopenharmony_ci/* [RW 1] Disables input messages from the passive buffer May be updated 537362306a36Sopenharmony_ci during run_time by the microcode */ 537462306a36Sopenharmony_ci#define USEM_REG_PAS_DISABLE 0x30024c 537562306a36Sopenharmony_ci/* [WB 128] Debug only. Passive buffer memory */ 537662306a36Sopenharmony_ci#define USEM_REG_PASSIVE_BUFFER 0x302000 537762306a36Sopenharmony_ci/* [WB 46] pram memory. B45 is parity; b[44:0] - data. */ 537862306a36Sopenharmony_ci#define USEM_REG_PRAM 0x340000 537962306a36Sopenharmony_ci/* [R 16] Valid sleeping threads indication have bit per thread */ 538062306a36Sopenharmony_ci#define USEM_REG_SLEEP_THREADS_VALID 0x30026c 538162306a36Sopenharmony_ci/* [R 1] EXT_STORE FIFO is empty in sem_slow_ls_ext */ 538262306a36Sopenharmony_ci#define USEM_REG_SLOW_EXT_STORE_EMPTY 0x3002a0 538362306a36Sopenharmony_ci/* [RW 16] List of free threads . There is a bit per thread. */ 538462306a36Sopenharmony_ci#define USEM_REG_THREADS_LIST 0x3002e4 538562306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 0 */ 538662306a36Sopenharmony_ci#define USEM_REG_TS_0_AS 0x300038 538762306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 10 */ 538862306a36Sopenharmony_ci#define USEM_REG_TS_10_AS 0x300060 538962306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 11 */ 539062306a36Sopenharmony_ci#define USEM_REG_TS_11_AS 0x300064 539162306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 12 */ 539262306a36Sopenharmony_ci#define USEM_REG_TS_12_AS 0x300068 539362306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 13 */ 539462306a36Sopenharmony_ci#define USEM_REG_TS_13_AS 0x30006c 539562306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 14 */ 539662306a36Sopenharmony_ci#define USEM_REG_TS_14_AS 0x300070 539762306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 15 */ 539862306a36Sopenharmony_ci#define USEM_REG_TS_15_AS 0x300074 539962306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 16 */ 540062306a36Sopenharmony_ci#define USEM_REG_TS_16_AS 0x300078 540162306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 17 */ 540262306a36Sopenharmony_ci#define USEM_REG_TS_17_AS 0x30007c 540362306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 18 */ 540462306a36Sopenharmony_ci#define USEM_REG_TS_18_AS 0x300080 540562306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 1 */ 540662306a36Sopenharmony_ci#define USEM_REG_TS_1_AS 0x30003c 540762306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 2 */ 540862306a36Sopenharmony_ci#define USEM_REG_TS_2_AS 0x300040 540962306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 3 */ 541062306a36Sopenharmony_ci#define USEM_REG_TS_3_AS 0x300044 541162306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 4 */ 541262306a36Sopenharmony_ci#define USEM_REG_TS_4_AS 0x300048 541362306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 5 */ 541462306a36Sopenharmony_ci#define USEM_REG_TS_5_AS 0x30004c 541562306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 6 */ 541662306a36Sopenharmony_ci#define USEM_REG_TS_6_AS 0x300050 541762306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 7 */ 541862306a36Sopenharmony_ci#define USEM_REG_TS_7_AS 0x300054 541962306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 8 */ 542062306a36Sopenharmony_ci#define USEM_REG_TS_8_AS 0x300058 542162306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 9 */ 542262306a36Sopenharmony_ci#define USEM_REG_TS_9_AS 0x30005c 542362306a36Sopenharmony_ci/* [RW 32] Interrupt mask register #0 read/write */ 542462306a36Sopenharmony_ci#define USEM_REG_USEM_INT_MASK_0 0x300110 542562306a36Sopenharmony_ci#define USEM_REG_USEM_INT_MASK_1 0x300120 542662306a36Sopenharmony_ci/* [R 32] Interrupt register #0 read */ 542762306a36Sopenharmony_ci#define USEM_REG_USEM_INT_STS_0 0x300104 542862306a36Sopenharmony_ci#define USEM_REG_USEM_INT_STS_1 0x300114 542962306a36Sopenharmony_ci/* [RW 32] Parity mask register #0 read/write */ 543062306a36Sopenharmony_ci#define USEM_REG_USEM_PRTY_MASK_0 0x300130 543162306a36Sopenharmony_ci#define USEM_REG_USEM_PRTY_MASK_1 0x300140 543262306a36Sopenharmony_ci/* [R 32] Parity register #0 read */ 543362306a36Sopenharmony_ci#define USEM_REG_USEM_PRTY_STS_0 0x300124 543462306a36Sopenharmony_ci#define USEM_REG_USEM_PRTY_STS_1 0x300134 543562306a36Sopenharmony_ci/* [RC 32] Parity register #0 read clear */ 543662306a36Sopenharmony_ci#define USEM_REG_USEM_PRTY_STS_CLR_0 0x300128 543762306a36Sopenharmony_ci#define USEM_REG_USEM_PRTY_STS_CLR_1 0x300138 543862306a36Sopenharmony_ci/* [W 7] VF or PF ID for reset error bit. Values 0-63 reset error bit for 64 543962306a36Sopenharmony_ci * VF; values 64-67 reset error for 4 PF; values 68-127 are not valid. */ 544062306a36Sopenharmony_ci#define USEM_REG_VFPF_ERR_NUM 0x300380 544162306a36Sopenharmony_ci#define VFC_MEMORIES_RST_REG_CAM_RST (0x1<<0) 544262306a36Sopenharmony_ci#define VFC_MEMORIES_RST_REG_RAM_RST (0x1<<1) 544362306a36Sopenharmony_ci#define VFC_REG_MEMORIES_RST 0x1943c 544462306a36Sopenharmony_ci/* [RW 32] Indirect access to AG context with 32-bits granularity. The bits 544562306a36Sopenharmony_ci * [12:8] of the address should be the offset within the accessed LCID 544662306a36Sopenharmony_ci * context; the bits [7:0] are the accessed LCID.Example: to write to REG10 544762306a36Sopenharmony_ci * LCID100. The RBC address should be 13'ha64. */ 544862306a36Sopenharmony_ci#define XCM_REG_AG_CTX 0x28000 544962306a36Sopenharmony_ci/* [RW 2] The queue index for registration on Aux1 counter flag. */ 545062306a36Sopenharmony_ci#define XCM_REG_AUX1_Q 0x20134 545162306a36Sopenharmony_ci/* [RW 2] Per each decision rule the queue index to register to. */ 545262306a36Sopenharmony_ci#define XCM_REG_AUX_CNT_FLG_Q_19 0x201b0 545362306a36Sopenharmony_ci/* [R 5] Used to read the XX protection CAM occupancy counter. */ 545462306a36Sopenharmony_ci#define XCM_REG_CAM_OCCUP 0x20244 545562306a36Sopenharmony_ci/* [RW 1] CDU AG read Interface enable. If 0 - the request input is 545662306a36Sopenharmony_ci disregarded; valid output is deasserted; all other signals are treated as 545762306a36Sopenharmony_ci usual; if 1 - normal activity. */ 545862306a36Sopenharmony_ci#define XCM_REG_CDU_AG_RD_IFEN 0x20044 545962306a36Sopenharmony_ci/* [RW 1] CDU AG write Interface enable. If 0 - the request and valid input 546062306a36Sopenharmony_ci are disregarded; all other signals are treated as usual; if 1 - normal 546162306a36Sopenharmony_ci activity. */ 546262306a36Sopenharmony_ci#define XCM_REG_CDU_AG_WR_IFEN 0x20040 546362306a36Sopenharmony_ci/* [RW 1] CDU STORM read Interface enable. If 0 - the request input is 546462306a36Sopenharmony_ci disregarded; valid output is deasserted; all other signals are treated as 546562306a36Sopenharmony_ci usual; if 1 - normal activity. */ 546662306a36Sopenharmony_ci#define XCM_REG_CDU_SM_RD_IFEN 0x2004c 546762306a36Sopenharmony_ci/* [RW 1] CDU STORM write Interface enable. If 0 - the request and valid 546862306a36Sopenharmony_ci input is disregarded; all other signals are treated as usual; if 1 - 546962306a36Sopenharmony_ci normal activity. */ 547062306a36Sopenharmony_ci#define XCM_REG_CDU_SM_WR_IFEN 0x20048 547162306a36Sopenharmony_ci/* [RW 4] CFC output initial credit. Max credit available - 15.Write writes 547262306a36Sopenharmony_ci the initial credit value; read returns the current value of the credit 547362306a36Sopenharmony_ci counter. Must be initialized to 1 at start-up. */ 547462306a36Sopenharmony_ci#define XCM_REG_CFC_INIT_CRD 0x20404 547562306a36Sopenharmony_ci/* [RW 3] The weight of the CP input in the WRR mechanism. 0 stands for 547662306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 547762306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 547862306a36Sopenharmony_ci#define XCM_REG_CP_WEIGHT 0x200dc 547962306a36Sopenharmony_ci/* [RW 1] Input csem Interface enable. If 0 - the valid input is 548062306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 548162306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 548262306a36Sopenharmony_ci#define XCM_REG_CSEM_IFEN 0x20028 548362306a36Sopenharmony_ci/* [RC 1] Set at message length mismatch (relative to last indication) at 548462306a36Sopenharmony_ci the csem interface. */ 548562306a36Sopenharmony_ci#define XCM_REG_CSEM_LENGTH_MIS 0x20228 548662306a36Sopenharmony_ci/* [RW 3] The weight of the input csem in the WRR mechanism. 0 stands for 548762306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 548862306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 548962306a36Sopenharmony_ci#define XCM_REG_CSEM_WEIGHT 0x200c4 549062306a36Sopenharmony_ci/* [RW 1] Input dorq Interface enable. If 0 - the valid input is 549162306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 549262306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 549362306a36Sopenharmony_ci#define XCM_REG_DORQ_IFEN 0x20030 549462306a36Sopenharmony_ci/* [RC 1] Set at message length mismatch (relative to last indication) at 549562306a36Sopenharmony_ci the dorq interface. */ 549662306a36Sopenharmony_ci#define XCM_REG_DORQ_LENGTH_MIS 0x20230 549762306a36Sopenharmony_ci/* [RW 3] The weight of the input dorq in the WRR mechanism. 0 stands for 549862306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 549962306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 550062306a36Sopenharmony_ci#define XCM_REG_DORQ_WEIGHT 0x200cc 550162306a36Sopenharmony_ci/* [RW 8] The Event ID in case the ErrorFlg input message bit is set. */ 550262306a36Sopenharmony_ci#define XCM_REG_ERR_EVNT_ID 0x200b0 550362306a36Sopenharmony_ci/* [RW 28] The CM erroneous header for QM and Timers formatting. */ 550462306a36Sopenharmony_ci#define XCM_REG_ERR_XCM_HDR 0x200ac 550562306a36Sopenharmony_ci/* [RW 8] The Event ID for Timers expiration. */ 550662306a36Sopenharmony_ci#define XCM_REG_EXPR_EVNT_ID 0x200b4 550762306a36Sopenharmony_ci/* [RW 8] FIC0 output initial credit. Max credit available - 255.Write 550862306a36Sopenharmony_ci writes the initial credit value; read returns the current value of the 550962306a36Sopenharmony_ci credit counter. Must be initialized to 64 at start-up. */ 551062306a36Sopenharmony_ci#define XCM_REG_FIC0_INIT_CRD 0x2040c 551162306a36Sopenharmony_ci/* [RW 8] FIC1 output initial credit. Max credit available - 255.Write 551262306a36Sopenharmony_ci writes the initial credit value; read returns the current value of the 551362306a36Sopenharmony_ci credit counter. Must be initialized to 64 at start-up. */ 551462306a36Sopenharmony_ci#define XCM_REG_FIC1_INIT_CRD 0x20410 551562306a36Sopenharmony_ci#define XCM_REG_GLB_DEL_ACK_MAX_CNT_0 0x20118 551662306a36Sopenharmony_ci#define XCM_REG_GLB_DEL_ACK_MAX_CNT_1 0x2011c 551762306a36Sopenharmony_ci#define XCM_REG_GLB_DEL_ACK_TMR_VAL_0 0x20108 551862306a36Sopenharmony_ci#define XCM_REG_GLB_DEL_ACK_TMR_VAL_1 0x2010c 551962306a36Sopenharmony_ci/* [RW 1] Arbitratiojn between Input Arbiter groups: 0 - fair Round-Robin; 1 552062306a36Sopenharmony_ci - strict priority defined by ~xcm_registers_gr_ag_pr.gr_ag_pr; 552162306a36Sopenharmony_ci ~xcm_registers_gr_ld0_pr.gr_ld0_pr and 552262306a36Sopenharmony_ci ~xcm_registers_gr_ld1_pr.gr_ld1_pr. */ 552362306a36Sopenharmony_ci#define XCM_REG_GR_ARB_TYPE 0x2020c 552462306a36Sopenharmony_ci/* [RW 2] Load (FIC0) channel group priority. The lowest priority is 0; the 552562306a36Sopenharmony_ci highest priority is 3. It is supposed that the Channel group is the 552662306a36Sopenharmony_ci complement of the other 3 groups. */ 552762306a36Sopenharmony_ci#define XCM_REG_GR_LD0_PR 0x20214 552862306a36Sopenharmony_ci/* [RW 2] Load (FIC1) channel group priority. The lowest priority is 0; the 552962306a36Sopenharmony_ci highest priority is 3. It is supposed that the Channel group is the 553062306a36Sopenharmony_ci complement of the other 3 groups. */ 553162306a36Sopenharmony_ci#define XCM_REG_GR_LD1_PR 0x20218 553262306a36Sopenharmony_ci/* [RW 1] Input nig0 Interface enable. If 0 - the valid input is 553362306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 553462306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 553562306a36Sopenharmony_ci#define XCM_REG_NIG0_IFEN 0x20038 553662306a36Sopenharmony_ci/* [RC 1] Set at message length mismatch (relative to last indication) at 553762306a36Sopenharmony_ci the nig0 interface. */ 553862306a36Sopenharmony_ci#define XCM_REG_NIG0_LENGTH_MIS 0x20238 553962306a36Sopenharmony_ci/* [RW 3] The weight of the input nig0 in the WRR mechanism. 0 stands for 554062306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 554162306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 554262306a36Sopenharmony_ci#define XCM_REG_NIG0_WEIGHT 0x200d4 554362306a36Sopenharmony_ci/* [RW 1] Input nig1 Interface enable. If 0 - the valid input is 554462306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 554562306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 554662306a36Sopenharmony_ci#define XCM_REG_NIG1_IFEN 0x2003c 554762306a36Sopenharmony_ci/* [RC 1] Set at message length mismatch (relative to last indication) at 554862306a36Sopenharmony_ci the nig1 interface. */ 554962306a36Sopenharmony_ci#define XCM_REG_NIG1_LENGTH_MIS 0x2023c 555062306a36Sopenharmony_ci/* [RW 5] The number of double REG-pairs; loaded from the STORM context and 555162306a36Sopenharmony_ci sent to STORM; for a specific connection type. The double REG-pairs are 555262306a36Sopenharmony_ci used in order to align to STORM context row size of 128 bits. The offset 555362306a36Sopenharmony_ci of these data in the STORM context is always 0. Index _i stands for the 555462306a36Sopenharmony_ci connection type (one of 16). */ 555562306a36Sopenharmony_ci#define XCM_REG_N_SM_CTX_LD_0 0x20060 555662306a36Sopenharmony_ci#define XCM_REG_N_SM_CTX_LD_1 0x20064 555762306a36Sopenharmony_ci#define XCM_REG_N_SM_CTX_LD_2 0x20068 555862306a36Sopenharmony_ci#define XCM_REG_N_SM_CTX_LD_3 0x2006c 555962306a36Sopenharmony_ci#define XCM_REG_N_SM_CTX_LD_4 0x20070 556062306a36Sopenharmony_ci#define XCM_REG_N_SM_CTX_LD_5 0x20074 556162306a36Sopenharmony_ci/* [RW 1] Input pbf Interface enable. If 0 - the valid input is disregarded; 556262306a36Sopenharmony_ci acknowledge output is deasserted; all other signals are treated as usual; 556362306a36Sopenharmony_ci if 1 - normal activity. */ 556462306a36Sopenharmony_ci#define XCM_REG_PBF_IFEN 0x20034 556562306a36Sopenharmony_ci/* [RC 1] Set at message length mismatch (relative to last indication) at 556662306a36Sopenharmony_ci the pbf interface. */ 556762306a36Sopenharmony_ci#define XCM_REG_PBF_LENGTH_MIS 0x20234 556862306a36Sopenharmony_ci/* [RW 3] The weight of the input pbf in the WRR mechanism. 0 stands for 556962306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 557062306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 557162306a36Sopenharmony_ci#define XCM_REG_PBF_WEIGHT 0x200d0 557262306a36Sopenharmony_ci#define XCM_REG_PHYS_QNUM3_0 0x20100 557362306a36Sopenharmony_ci#define XCM_REG_PHYS_QNUM3_1 0x20104 557462306a36Sopenharmony_ci/* [RW 8] The Event ID for Timers formatting in case of stop done. */ 557562306a36Sopenharmony_ci#define XCM_REG_STOP_EVNT_ID 0x200b8 557662306a36Sopenharmony_ci/* [RC 1] Set at message length mismatch (relative to last indication) at 557762306a36Sopenharmony_ci the STORM interface. */ 557862306a36Sopenharmony_ci#define XCM_REG_STORM_LENGTH_MIS 0x2021c 557962306a36Sopenharmony_ci/* [RW 3] The weight of the STORM input in the WRR mechanism. 0 stands for 558062306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 558162306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 558262306a36Sopenharmony_ci#define XCM_REG_STORM_WEIGHT 0x200bc 558362306a36Sopenharmony_ci/* [RW 1] STORM - CM Interface enable. If 0 - the valid input is 558462306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 558562306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 558662306a36Sopenharmony_ci#define XCM_REG_STORM_XCM_IFEN 0x20010 558762306a36Sopenharmony_ci/* [RW 4] Timers output initial credit. Max credit available - 15.Write 558862306a36Sopenharmony_ci writes the initial credit value; read returns the current value of the 558962306a36Sopenharmony_ci credit counter. Must be initialized to 4 at start-up. */ 559062306a36Sopenharmony_ci#define XCM_REG_TM_INIT_CRD 0x2041c 559162306a36Sopenharmony_ci/* [RW 3] The weight of the Timers input in the WRR mechanism. 0 stands for 559262306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 559362306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 559462306a36Sopenharmony_ci#define XCM_REG_TM_WEIGHT 0x200ec 559562306a36Sopenharmony_ci/* [RW 28] The CM header for Timers expiration command. */ 559662306a36Sopenharmony_ci#define XCM_REG_TM_XCM_HDR 0x200a8 559762306a36Sopenharmony_ci/* [RW 1] Timers - CM Interface enable. If 0 - the valid input is 559862306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 559962306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 560062306a36Sopenharmony_ci#define XCM_REG_TM_XCM_IFEN 0x2001c 560162306a36Sopenharmony_ci/* [RW 1] Input tsem Interface enable. If 0 - the valid input is 560262306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 560362306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 560462306a36Sopenharmony_ci#define XCM_REG_TSEM_IFEN 0x20024 560562306a36Sopenharmony_ci/* [RC 1] Set at message length mismatch (relative to last indication) at 560662306a36Sopenharmony_ci the tsem interface. */ 560762306a36Sopenharmony_ci#define XCM_REG_TSEM_LENGTH_MIS 0x20224 560862306a36Sopenharmony_ci/* [RW 3] The weight of the input tsem in the WRR mechanism. 0 stands for 560962306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 561062306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 561162306a36Sopenharmony_ci#define XCM_REG_TSEM_WEIGHT 0x200c0 561262306a36Sopenharmony_ci/* [RW 2] The queue index for registration on UNA greater NXT decision rule. */ 561362306a36Sopenharmony_ci#define XCM_REG_UNA_GT_NXT_Q 0x20120 561462306a36Sopenharmony_ci/* [RW 1] Input usem Interface enable. If 0 - the valid input is 561562306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 561662306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 561762306a36Sopenharmony_ci#define XCM_REG_USEM_IFEN 0x2002c 561862306a36Sopenharmony_ci/* [RC 1] Message length mismatch (relative to last indication) at the usem 561962306a36Sopenharmony_ci interface. */ 562062306a36Sopenharmony_ci#define XCM_REG_USEM_LENGTH_MIS 0x2022c 562162306a36Sopenharmony_ci/* [RW 3] The weight of the input usem in the WRR mechanism. 0 stands for 562262306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 562362306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 562462306a36Sopenharmony_ci#define XCM_REG_USEM_WEIGHT 0x200c8 562562306a36Sopenharmony_ci#define XCM_REG_WU_DA_CNT_CMD00 0x201d4 562662306a36Sopenharmony_ci#define XCM_REG_WU_DA_CNT_CMD01 0x201d8 562762306a36Sopenharmony_ci#define XCM_REG_WU_DA_CNT_CMD10 0x201dc 562862306a36Sopenharmony_ci#define XCM_REG_WU_DA_CNT_CMD11 0x201e0 562962306a36Sopenharmony_ci#define XCM_REG_WU_DA_CNT_UPD_VAL00 0x201e4 563062306a36Sopenharmony_ci#define XCM_REG_WU_DA_CNT_UPD_VAL01 0x201e8 563162306a36Sopenharmony_ci#define XCM_REG_WU_DA_CNT_UPD_VAL10 0x201ec 563262306a36Sopenharmony_ci#define XCM_REG_WU_DA_CNT_UPD_VAL11 0x201f0 563362306a36Sopenharmony_ci#define XCM_REG_WU_DA_SET_TMR_CNT_FLG_CMD00 0x201c4 563462306a36Sopenharmony_ci#define XCM_REG_WU_DA_SET_TMR_CNT_FLG_CMD01 0x201c8 563562306a36Sopenharmony_ci#define XCM_REG_WU_DA_SET_TMR_CNT_FLG_CMD10 0x201cc 563662306a36Sopenharmony_ci#define XCM_REG_WU_DA_SET_TMR_CNT_FLG_CMD11 0x201d0 563762306a36Sopenharmony_ci/* [RW 1] CM - CFC Interface enable. If 0 - the valid input is disregarded; 563862306a36Sopenharmony_ci acknowledge output is deasserted; all other signals are treated as usual; 563962306a36Sopenharmony_ci if 1 - normal activity. */ 564062306a36Sopenharmony_ci#define XCM_REG_XCM_CFC_IFEN 0x20050 564162306a36Sopenharmony_ci/* [RW 14] Interrupt mask register #0 read/write */ 564262306a36Sopenharmony_ci#define XCM_REG_XCM_INT_MASK 0x202b4 564362306a36Sopenharmony_ci/* [R 14] Interrupt register #0 read */ 564462306a36Sopenharmony_ci#define XCM_REG_XCM_INT_STS 0x202a8 564562306a36Sopenharmony_ci/* [RW 30] Parity mask register #0 read/write */ 564662306a36Sopenharmony_ci#define XCM_REG_XCM_PRTY_MASK 0x202c4 564762306a36Sopenharmony_ci/* [R 30] Parity register #0 read */ 564862306a36Sopenharmony_ci#define XCM_REG_XCM_PRTY_STS 0x202b8 564962306a36Sopenharmony_ci/* [RC 30] Parity register #0 read clear */ 565062306a36Sopenharmony_ci#define XCM_REG_XCM_PRTY_STS_CLR 0x202bc 565162306a36Sopenharmony_ci 565262306a36Sopenharmony_ci/* [RW 4] The size of AG context region 0 in REG-pairs. Designates the MS 565362306a36Sopenharmony_ci REG-pair number (e.g. if region 0 is 6 REG-pairs; the value should be 5). 565462306a36Sopenharmony_ci Is used to determine the number of the AG context REG-pairs written back; 565562306a36Sopenharmony_ci when the Reg1WbFlg isn't set. */ 565662306a36Sopenharmony_ci#define XCM_REG_XCM_REG0_SZ 0x200f4 565762306a36Sopenharmony_ci/* [RW 1] CM - STORM 0 Interface enable. If 0 - the acknowledge input is 565862306a36Sopenharmony_ci disregarded; valid is deasserted; all other signals are treated as usual; 565962306a36Sopenharmony_ci if 1 - normal activity. */ 566062306a36Sopenharmony_ci#define XCM_REG_XCM_STORM0_IFEN 0x20004 566162306a36Sopenharmony_ci/* [RW 1] CM - STORM 1 Interface enable. If 0 - the acknowledge input is 566262306a36Sopenharmony_ci disregarded; valid is deasserted; all other signals are treated as usual; 566362306a36Sopenharmony_ci if 1 - normal activity. */ 566462306a36Sopenharmony_ci#define XCM_REG_XCM_STORM1_IFEN 0x20008 566562306a36Sopenharmony_ci/* [RW 1] CM - Timers Interface enable. If 0 - the valid input is 566662306a36Sopenharmony_ci disregarded; acknowledge output is deasserted; all other signals are 566762306a36Sopenharmony_ci treated as usual; if 1 - normal activity. */ 566862306a36Sopenharmony_ci#define XCM_REG_XCM_TM_IFEN 0x20020 566962306a36Sopenharmony_ci/* [RW 1] CM - QM Interface enable. If 0 - the acknowledge input is 567062306a36Sopenharmony_ci disregarded; valid is deasserted; all other signals are treated as usual; 567162306a36Sopenharmony_ci if 1 - normal activity. */ 567262306a36Sopenharmony_ci#define XCM_REG_XCM_XQM_IFEN 0x2000c 567362306a36Sopenharmony_ci/* [RW 1] If set the Q index; received from the QM is inserted to event ID. */ 567462306a36Sopenharmony_ci#define XCM_REG_XCM_XQM_USE_Q 0x200f0 567562306a36Sopenharmony_ci/* [RW 4] The value by which CFC updates the activity counter at QM bypass. */ 567662306a36Sopenharmony_ci#define XCM_REG_XQM_BYP_ACT_UPD 0x200fc 567762306a36Sopenharmony_ci/* [RW 6] QM output initial credit. Max credit available - 32.Write writes 567862306a36Sopenharmony_ci the initial credit value; read returns the current value of the credit 567962306a36Sopenharmony_ci counter. Must be initialized to 32 at start-up. */ 568062306a36Sopenharmony_ci#define XCM_REG_XQM_INIT_CRD 0x20420 568162306a36Sopenharmony_ci/* [RW 3] The weight of the QM (primary) input in the WRR mechanism. 0 568262306a36Sopenharmony_ci stands for weight 8 (the most prioritised); 1 stands for weight 1(least 568362306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 568462306a36Sopenharmony_ci#define XCM_REG_XQM_P_WEIGHT 0x200e4 568562306a36Sopenharmony_ci/* [RW 3] The weight of the QM (secondary) input in the WRR mechanism. 0 568662306a36Sopenharmony_ci stands for weight 8 (the most prioritised); 1 stands for weight 1(least 568762306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 568862306a36Sopenharmony_ci#define XCM_REG_XQM_S_WEIGHT 0x200e8 568962306a36Sopenharmony_ci/* [RW 28] The CM header value for QM request (primary). */ 569062306a36Sopenharmony_ci#define XCM_REG_XQM_XCM_HDR_P 0x200a0 569162306a36Sopenharmony_ci/* [RW 28] The CM header value for QM request (secondary). */ 569262306a36Sopenharmony_ci#define XCM_REG_XQM_XCM_HDR_S 0x200a4 569362306a36Sopenharmony_ci/* [RW 1] QM - CM Interface enable. If 0 - the valid input is disregarded; 569462306a36Sopenharmony_ci acknowledge output is deasserted; all other signals are treated as usual; 569562306a36Sopenharmony_ci if 1 - normal activity. */ 569662306a36Sopenharmony_ci#define XCM_REG_XQM_XCM_IFEN 0x20014 569762306a36Sopenharmony_ci/* [RW 1] Input SDM Interface enable. If 0 - the valid input is disregarded; 569862306a36Sopenharmony_ci acknowledge output is deasserted; all other signals are treated as usual; 569962306a36Sopenharmony_ci if 1 - normal activity. */ 570062306a36Sopenharmony_ci#define XCM_REG_XSDM_IFEN 0x20018 570162306a36Sopenharmony_ci/* [RC 1] Set at message length mismatch (relative to last indication) at 570262306a36Sopenharmony_ci the SDM interface. */ 570362306a36Sopenharmony_ci#define XCM_REG_XSDM_LENGTH_MIS 0x20220 570462306a36Sopenharmony_ci/* [RW 3] The weight of the SDM input in the WRR mechanism. 0 stands for 570562306a36Sopenharmony_ci weight 8 (the most prioritised); 1 stands for weight 1(least 570662306a36Sopenharmony_ci prioritised); 2 stands for weight 2; tc. */ 570762306a36Sopenharmony_ci#define XCM_REG_XSDM_WEIGHT 0x200e0 570862306a36Sopenharmony_ci/* [RW 17] Indirect access to the descriptor table of the XX protection 570962306a36Sopenharmony_ci mechanism. The fields are: [5:0] - message length; 11:6] - message 571062306a36Sopenharmony_ci pointer; 16:12] - next pointer. */ 571162306a36Sopenharmony_ci#define XCM_REG_XX_DESCR_TABLE 0x20480 571262306a36Sopenharmony_ci#define XCM_REG_XX_DESCR_TABLE_SIZE 32 571362306a36Sopenharmony_ci/* [R 6] Used to read the XX protection Free counter. */ 571462306a36Sopenharmony_ci#define XCM_REG_XX_FREE 0x20240 571562306a36Sopenharmony_ci/* [RW 6] Initial value for the credit counter; responsible for fulfilling 571662306a36Sopenharmony_ci of the Input Stage XX protection buffer by the XX protection pending 571762306a36Sopenharmony_ci messages. Max credit available - 3.Write writes the initial credit value; 571862306a36Sopenharmony_ci read returns the current value of the credit counter. Must be initialized 571962306a36Sopenharmony_ci to 2 at start-up. */ 572062306a36Sopenharmony_ci#define XCM_REG_XX_INIT_CRD 0x20424 572162306a36Sopenharmony_ci/* [RW 6] The maximum number of pending messages; which may be stored in XX 572262306a36Sopenharmony_ci protection. ~xcm_registers_xx_free.xx_free read on read. */ 572362306a36Sopenharmony_ci#define XCM_REG_XX_MSG_NUM 0x20428 572462306a36Sopenharmony_ci/* [RW 8] The Event ID; sent to the STORM in case of XX overflow. */ 572562306a36Sopenharmony_ci#define XCM_REG_XX_OVFL_EVNT_ID 0x20058 572662306a36Sopenharmony_ci#define XMAC_CLEAR_RX_LSS_STATUS_REG_CLEAR_LOCAL_FAULT_STATUS (0x1<<0) 572762306a36Sopenharmony_ci#define XMAC_CLEAR_RX_LSS_STATUS_REG_CLEAR_REMOTE_FAULT_STATUS (0x1<<1) 572862306a36Sopenharmony_ci#define XMAC_CTRL_REG_LINE_LOCAL_LPBK (0x1<<2) 572962306a36Sopenharmony_ci#define XMAC_CTRL_REG_RX_EN (0x1<<1) 573062306a36Sopenharmony_ci#define XMAC_CTRL_REG_SOFT_RESET (0x1<<6) 573162306a36Sopenharmony_ci#define XMAC_CTRL_REG_TX_EN (0x1<<0) 573262306a36Sopenharmony_ci#define XMAC_CTRL_REG_XLGMII_ALIGN_ENB (0x1<<7) 573362306a36Sopenharmony_ci#define XMAC_PAUSE_CTRL_REG_RX_PAUSE_EN (0x1<<18) 573462306a36Sopenharmony_ci#define XMAC_PAUSE_CTRL_REG_TX_PAUSE_EN (0x1<<17) 573562306a36Sopenharmony_ci#define XMAC_PFC_CTRL_HI_REG_FORCE_PFC_XON (0x1<<1) 573662306a36Sopenharmony_ci#define XMAC_PFC_CTRL_HI_REG_PFC_REFRESH_EN (0x1<<0) 573762306a36Sopenharmony_ci#define XMAC_PFC_CTRL_HI_REG_PFC_STATS_EN (0x1<<3) 573862306a36Sopenharmony_ci#define XMAC_PFC_CTRL_HI_REG_RX_PFC_EN (0x1<<4) 573962306a36Sopenharmony_ci#define XMAC_PFC_CTRL_HI_REG_TX_PFC_EN (0x1<<5) 574062306a36Sopenharmony_ci#define XMAC_REG_CLEAR_RX_LSS_STATUS 0x60 574162306a36Sopenharmony_ci#define XMAC_REG_CTRL 0 574262306a36Sopenharmony_ci/* [RW 16] Upper 48 bits of ctrl_sa register. Used as the SA in PAUSE/PFC 574362306a36Sopenharmony_ci * packets transmitted by the MAC */ 574462306a36Sopenharmony_ci#define XMAC_REG_CTRL_SA_HI 0x2c 574562306a36Sopenharmony_ci/* [RW 32] Lower 48 bits of ctrl_sa register. Used as the SA in PAUSE/PFC 574662306a36Sopenharmony_ci * packets transmitted by the MAC */ 574762306a36Sopenharmony_ci#define XMAC_REG_CTRL_SA_LO 0x28 574862306a36Sopenharmony_ci#define XMAC_REG_EEE_CTRL 0xd8 574962306a36Sopenharmony_ci#define XMAC_REG_EEE_TIMERS_HI 0xe4 575062306a36Sopenharmony_ci#define XMAC_REG_PAUSE_CTRL 0x68 575162306a36Sopenharmony_ci#define XMAC_REG_PFC_CTRL 0x70 575262306a36Sopenharmony_ci#define XMAC_REG_PFC_CTRL_HI 0x74 575362306a36Sopenharmony_ci#define XMAC_REG_RX_LSS_CTRL 0x50 575462306a36Sopenharmony_ci#define XMAC_REG_RX_LSS_STATUS 0x58 575562306a36Sopenharmony_ci/* [RW 14] Maximum packet size in receive direction; exclusive of preamble & 575662306a36Sopenharmony_ci * CRC in strip mode */ 575762306a36Sopenharmony_ci#define XMAC_REG_RX_MAX_SIZE 0x40 575862306a36Sopenharmony_ci#define XMAC_REG_TX_CTRL 0x20 575962306a36Sopenharmony_ci#define XMAC_RX_LSS_CTRL_REG_LOCAL_FAULT_DISABLE (0x1<<0) 576062306a36Sopenharmony_ci#define XMAC_RX_LSS_CTRL_REG_REMOTE_FAULT_DISABLE (0x1<<1) 576162306a36Sopenharmony_ci/* [RW 16] Indirect access to the XX table of the XX protection mechanism. 576262306a36Sopenharmony_ci The fields are:[4:0] - tail pointer; 9:5] - Link List size; 14:10] - 576362306a36Sopenharmony_ci header pointer. */ 576462306a36Sopenharmony_ci#define XCM_REG_XX_TABLE 0x20500 576562306a36Sopenharmony_ci/* [RW 8] The event id for aggregated interrupt 0 */ 576662306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_EVENT_0 0x166038 576762306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_EVENT_1 0x16603c 576862306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_EVENT_10 0x166060 576962306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_EVENT_11 0x166064 577062306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_EVENT_12 0x166068 577162306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_EVENT_13 0x16606c 577262306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_EVENT_14 0x166070 577362306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_EVENT_2 0x166040 577462306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_EVENT_3 0x166044 577562306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_EVENT_4 0x166048 577662306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_EVENT_5 0x16604c 577762306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_EVENT_6 0x166050 577862306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_EVENT_7 0x166054 577962306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_EVENT_8 0x166058 578062306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_EVENT_9 0x16605c 578162306a36Sopenharmony_ci/* [RW 1] For each aggregated interrupt index whether the mode is normal (0) 578262306a36Sopenharmony_ci or auto-mask-mode (1) */ 578362306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_MODE_0 0x1661b8 578462306a36Sopenharmony_ci#define XSDM_REG_AGG_INT_MODE_1 0x1661bc 578562306a36Sopenharmony_ci/* [RW 13] The start address in the internal RAM for the cfc_rsp lcid */ 578662306a36Sopenharmony_ci#define XSDM_REG_CFC_RSP_START_ADDR 0x166008 578762306a36Sopenharmony_ci/* [RW 16] The maximum value of the completion counter #0 */ 578862306a36Sopenharmony_ci#define XSDM_REG_CMP_COUNTER_MAX0 0x16601c 578962306a36Sopenharmony_ci/* [RW 16] The maximum value of the completion counter #1 */ 579062306a36Sopenharmony_ci#define XSDM_REG_CMP_COUNTER_MAX1 0x166020 579162306a36Sopenharmony_ci/* [RW 16] The maximum value of the completion counter #2 */ 579262306a36Sopenharmony_ci#define XSDM_REG_CMP_COUNTER_MAX2 0x166024 579362306a36Sopenharmony_ci/* [RW 16] The maximum value of the completion counter #3 */ 579462306a36Sopenharmony_ci#define XSDM_REG_CMP_COUNTER_MAX3 0x166028 579562306a36Sopenharmony_ci/* [RW 13] The start address in the internal RAM for the completion 579662306a36Sopenharmony_ci counters. */ 579762306a36Sopenharmony_ci#define XSDM_REG_CMP_COUNTER_START_ADDR 0x16600c 579862306a36Sopenharmony_ci#define XSDM_REG_ENABLE_IN1 0x166238 579962306a36Sopenharmony_ci#define XSDM_REG_ENABLE_IN2 0x16623c 580062306a36Sopenharmony_ci#define XSDM_REG_ENABLE_OUT1 0x166240 580162306a36Sopenharmony_ci#define XSDM_REG_ENABLE_OUT2 0x166244 580262306a36Sopenharmony_ci/* [RW 4] The initial number of messages that can be sent to the pxp control 580362306a36Sopenharmony_ci interface without receiving any ACK. */ 580462306a36Sopenharmony_ci#define XSDM_REG_INIT_CREDIT_PXP_CTRL 0x1664bc 580562306a36Sopenharmony_ci/* [ST 32] The number of ACK after placement messages received */ 580662306a36Sopenharmony_ci#define XSDM_REG_NUM_OF_ACK_AFTER_PLACE 0x16627c 580762306a36Sopenharmony_ci/* [ST 32] The number of packet end messages received from the parser */ 580862306a36Sopenharmony_ci#define XSDM_REG_NUM_OF_PKT_END_MSG 0x166274 580962306a36Sopenharmony_ci/* [ST 32] The number of requests received from the pxp async if */ 581062306a36Sopenharmony_ci#define XSDM_REG_NUM_OF_PXP_ASYNC_REQ 0x166278 581162306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 0 */ 581262306a36Sopenharmony_ci#define XSDM_REG_NUM_OF_Q0_CMD 0x166248 581362306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 10 */ 581462306a36Sopenharmony_ci#define XSDM_REG_NUM_OF_Q10_CMD 0x16626c 581562306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 11 */ 581662306a36Sopenharmony_ci#define XSDM_REG_NUM_OF_Q11_CMD 0x166270 581762306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 1 */ 581862306a36Sopenharmony_ci#define XSDM_REG_NUM_OF_Q1_CMD 0x16624c 581962306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 3 */ 582062306a36Sopenharmony_ci#define XSDM_REG_NUM_OF_Q3_CMD 0x166250 582162306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 4 */ 582262306a36Sopenharmony_ci#define XSDM_REG_NUM_OF_Q4_CMD 0x166254 582362306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 5 */ 582462306a36Sopenharmony_ci#define XSDM_REG_NUM_OF_Q5_CMD 0x166258 582562306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 6 */ 582662306a36Sopenharmony_ci#define XSDM_REG_NUM_OF_Q6_CMD 0x16625c 582762306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 7 */ 582862306a36Sopenharmony_ci#define XSDM_REG_NUM_OF_Q7_CMD 0x166260 582962306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 8 */ 583062306a36Sopenharmony_ci#define XSDM_REG_NUM_OF_Q8_CMD 0x166264 583162306a36Sopenharmony_ci/* [ST 32] The number of commands received in queue 9 */ 583262306a36Sopenharmony_ci#define XSDM_REG_NUM_OF_Q9_CMD 0x166268 583362306a36Sopenharmony_ci/* [RW 13] The start address in the internal RAM for queue counters */ 583462306a36Sopenharmony_ci#define XSDM_REG_Q_COUNTER_START_ADDR 0x166010 583562306a36Sopenharmony_ci/* [W 17] Generate an operation after completion; bit-16 is 583662306a36Sopenharmony_ci * AggVectIdx_valid; bits 15:8 are AggVectIdx; bits 7:5 are the TRIG and 583762306a36Sopenharmony_ci * bits 4:0 are the T124Param[4:0] */ 583862306a36Sopenharmony_ci#define XSDM_REG_OPERATION_GEN 0x1664c4 583962306a36Sopenharmony_ci/* [R 1] pxp_ctrl rd_data fifo empty in sdm_dma_rsp block */ 584062306a36Sopenharmony_ci#define XSDM_REG_RSP_PXP_CTRL_RDATA_EMPTY 0x166548 584162306a36Sopenharmony_ci/* [R 1] parser fifo empty in sdm_sync block */ 584262306a36Sopenharmony_ci#define XSDM_REG_SYNC_PARSER_EMPTY 0x166550 584362306a36Sopenharmony_ci/* [R 1] parser serial fifo empty in sdm_sync block */ 584462306a36Sopenharmony_ci#define XSDM_REG_SYNC_SYNC_EMPTY 0x166558 584562306a36Sopenharmony_ci/* [RW 32] Tick for timer counter. Applicable only when 584662306a36Sopenharmony_ci ~xsdm_registers_timer_tick_enable.timer_tick_enable =1 */ 584762306a36Sopenharmony_ci#define XSDM_REG_TIMER_TICK 0x166000 584862306a36Sopenharmony_ci/* [RW 32] Interrupt mask register #0 read/write */ 584962306a36Sopenharmony_ci#define XSDM_REG_XSDM_INT_MASK_0 0x16629c 585062306a36Sopenharmony_ci#define XSDM_REG_XSDM_INT_MASK_1 0x1662ac 585162306a36Sopenharmony_ci/* [R 32] Interrupt register #0 read */ 585262306a36Sopenharmony_ci#define XSDM_REG_XSDM_INT_STS_0 0x166290 585362306a36Sopenharmony_ci#define XSDM_REG_XSDM_INT_STS_1 0x1662a0 585462306a36Sopenharmony_ci/* [RW 11] Parity mask register #0 read/write */ 585562306a36Sopenharmony_ci#define XSDM_REG_XSDM_PRTY_MASK 0x1662bc 585662306a36Sopenharmony_ci/* [R 11] Parity register #0 read */ 585762306a36Sopenharmony_ci#define XSDM_REG_XSDM_PRTY_STS 0x1662b0 585862306a36Sopenharmony_ci/* [RC 11] Parity register #0 read clear */ 585962306a36Sopenharmony_ci#define XSDM_REG_XSDM_PRTY_STS_CLR 0x1662b4 586062306a36Sopenharmony_ci/* [RW 5] The number of time_slots in the arbitration cycle */ 586162306a36Sopenharmony_ci#define XSEM_REG_ARB_CYCLE_SIZE 0x280034 586262306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 0. Source 586362306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 586462306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2 */ 586562306a36Sopenharmony_ci#define XSEM_REG_ARB_ELEMENT0 0x280020 586662306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 1. Source 586762306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 586862306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2. 586962306a36Sopenharmony_ci Could not be equal to register ~xsem_registers_arb_element0.arb_element0 */ 587062306a36Sopenharmony_ci#define XSEM_REG_ARB_ELEMENT1 0x280024 587162306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 2. Source 587262306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 587362306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2. 587462306a36Sopenharmony_ci Could not be equal to register ~xsem_registers_arb_element0.arb_element0 587562306a36Sopenharmony_ci and ~xsem_registers_arb_element1.arb_element1 */ 587662306a36Sopenharmony_ci#define XSEM_REG_ARB_ELEMENT2 0x280028 587762306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 3. Source 587862306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 587962306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2.Could 588062306a36Sopenharmony_ci not be equal to register ~xsem_registers_arb_element0.arb_element0 and 588162306a36Sopenharmony_ci ~xsem_registers_arb_element1.arb_element1 and 588262306a36Sopenharmony_ci ~xsem_registers_arb_element2.arb_element2 */ 588362306a36Sopenharmony_ci#define XSEM_REG_ARB_ELEMENT3 0x28002c 588462306a36Sopenharmony_ci/* [RW 3] The source that is associated with arbitration element 4. Source 588562306a36Sopenharmony_ci decoding is: 0- foc0; 1-fic1; 2-sleeping thread with priority 0; 3- 588662306a36Sopenharmony_ci sleeping thread with priority 1; 4- sleeping thread with priority 2. 588762306a36Sopenharmony_ci Could not be equal to register ~xsem_registers_arb_element0.arb_element0 588862306a36Sopenharmony_ci and ~xsem_registers_arb_element1.arb_element1 and 588962306a36Sopenharmony_ci ~xsem_registers_arb_element2.arb_element2 and 589062306a36Sopenharmony_ci ~xsem_registers_arb_element3.arb_element3 */ 589162306a36Sopenharmony_ci#define XSEM_REG_ARB_ELEMENT4 0x280030 589262306a36Sopenharmony_ci#define XSEM_REG_ENABLE_IN 0x2800a4 589362306a36Sopenharmony_ci#define XSEM_REG_ENABLE_OUT 0x2800a8 589462306a36Sopenharmony_ci/* [RW 32] This address space contains all registers and memories that are 589562306a36Sopenharmony_ci placed in SEM_FAST block. The SEM_FAST registers are described in 589662306a36Sopenharmony_ci appendix B. In order to access the sem_fast registers the base address 589762306a36Sopenharmony_ci ~fast_memory.fast_memory should be added to eachsem_fast register offset. */ 589862306a36Sopenharmony_ci#define XSEM_REG_FAST_MEMORY 0x2a0000 589962306a36Sopenharmony_ci/* [RW 1] Disables input messages from FIC0 May be updated during run_time 590062306a36Sopenharmony_ci by the microcode */ 590162306a36Sopenharmony_ci#define XSEM_REG_FIC0_DISABLE 0x280224 590262306a36Sopenharmony_ci/* [RW 1] Disables input messages from FIC1 May be updated during run_time 590362306a36Sopenharmony_ci by the microcode */ 590462306a36Sopenharmony_ci#define XSEM_REG_FIC1_DISABLE 0x280234 590562306a36Sopenharmony_ci/* [RW 15] Interrupt table Read and write access to it is not possible in 590662306a36Sopenharmony_ci the middle of the work */ 590762306a36Sopenharmony_ci#define XSEM_REG_INT_TABLE 0x280400 590862306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that entered through 590962306a36Sopenharmony_ci FIC0 */ 591062306a36Sopenharmony_ci#define XSEM_REG_MSG_NUM_FIC0 0x280000 591162306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that entered through 591262306a36Sopenharmony_ci FIC1 */ 591362306a36Sopenharmony_ci#define XSEM_REG_MSG_NUM_FIC1 0x280004 591462306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that were sent to 591562306a36Sopenharmony_ci FOC0 */ 591662306a36Sopenharmony_ci#define XSEM_REG_MSG_NUM_FOC0 0x280008 591762306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that were sent to 591862306a36Sopenharmony_ci FOC1 */ 591962306a36Sopenharmony_ci#define XSEM_REG_MSG_NUM_FOC1 0x28000c 592062306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that were sent to 592162306a36Sopenharmony_ci FOC2 */ 592262306a36Sopenharmony_ci#define XSEM_REG_MSG_NUM_FOC2 0x280010 592362306a36Sopenharmony_ci/* [ST 24] Statistics register. The number of messages that were sent to 592462306a36Sopenharmony_ci FOC3 */ 592562306a36Sopenharmony_ci#define XSEM_REG_MSG_NUM_FOC3 0x280014 592662306a36Sopenharmony_ci/* [RW 1] Disables input messages from the passive buffer May be updated 592762306a36Sopenharmony_ci during run_time by the microcode */ 592862306a36Sopenharmony_ci#define XSEM_REG_PAS_DISABLE 0x28024c 592962306a36Sopenharmony_ci/* [WB 128] Debug only. Passive buffer memory */ 593062306a36Sopenharmony_ci#define XSEM_REG_PASSIVE_BUFFER 0x282000 593162306a36Sopenharmony_ci/* [WB 46] pram memory. B45 is parity; b[44:0] - data. */ 593262306a36Sopenharmony_ci#define XSEM_REG_PRAM 0x2c0000 593362306a36Sopenharmony_ci/* [R 16] Valid sleeping threads indication have bit per thread */ 593462306a36Sopenharmony_ci#define XSEM_REG_SLEEP_THREADS_VALID 0x28026c 593562306a36Sopenharmony_ci/* [R 1] EXT_STORE FIFO is empty in sem_slow_ls_ext */ 593662306a36Sopenharmony_ci#define XSEM_REG_SLOW_EXT_STORE_EMPTY 0x2802a0 593762306a36Sopenharmony_ci/* [RW 16] List of free threads . There is a bit per thread. */ 593862306a36Sopenharmony_ci#define XSEM_REG_THREADS_LIST 0x2802e4 593962306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 0 */ 594062306a36Sopenharmony_ci#define XSEM_REG_TS_0_AS 0x280038 594162306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 10 */ 594262306a36Sopenharmony_ci#define XSEM_REG_TS_10_AS 0x280060 594362306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 11 */ 594462306a36Sopenharmony_ci#define XSEM_REG_TS_11_AS 0x280064 594562306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 12 */ 594662306a36Sopenharmony_ci#define XSEM_REG_TS_12_AS 0x280068 594762306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 13 */ 594862306a36Sopenharmony_ci#define XSEM_REG_TS_13_AS 0x28006c 594962306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 14 */ 595062306a36Sopenharmony_ci#define XSEM_REG_TS_14_AS 0x280070 595162306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 15 */ 595262306a36Sopenharmony_ci#define XSEM_REG_TS_15_AS 0x280074 595362306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 16 */ 595462306a36Sopenharmony_ci#define XSEM_REG_TS_16_AS 0x280078 595562306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 17 */ 595662306a36Sopenharmony_ci#define XSEM_REG_TS_17_AS 0x28007c 595762306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 18 */ 595862306a36Sopenharmony_ci#define XSEM_REG_TS_18_AS 0x280080 595962306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 1 */ 596062306a36Sopenharmony_ci#define XSEM_REG_TS_1_AS 0x28003c 596162306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 2 */ 596262306a36Sopenharmony_ci#define XSEM_REG_TS_2_AS 0x280040 596362306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 3 */ 596462306a36Sopenharmony_ci#define XSEM_REG_TS_3_AS 0x280044 596562306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 4 */ 596662306a36Sopenharmony_ci#define XSEM_REG_TS_4_AS 0x280048 596762306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 5 */ 596862306a36Sopenharmony_ci#define XSEM_REG_TS_5_AS 0x28004c 596962306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 6 */ 597062306a36Sopenharmony_ci#define XSEM_REG_TS_6_AS 0x280050 597162306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 7 */ 597262306a36Sopenharmony_ci#define XSEM_REG_TS_7_AS 0x280054 597362306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 8 */ 597462306a36Sopenharmony_ci#define XSEM_REG_TS_8_AS 0x280058 597562306a36Sopenharmony_ci/* [RW 3] The arbitration scheme of time_slot 9 */ 597662306a36Sopenharmony_ci#define XSEM_REG_TS_9_AS 0x28005c 597762306a36Sopenharmony_ci/* [W 7] VF or PF ID for reset error bit. Values 0-63 reset error bit for 64 597862306a36Sopenharmony_ci * VF; values 64-67 reset error for 4 PF; values 68-127 are not valid. */ 597962306a36Sopenharmony_ci#define XSEM_REG_VFPF_ERR_NUM 0x280380 598062306a36Sopenharmony_ci/* [RW 32] Interrupt mask register #0 read/write */ 598162306a36Sopenharmony_ci#define XSEM_REG_XSEM_INT_MASK_0 0x280110 598262306a36Sopenharmony_ci#define XSEM_REG_XSEM_INT_MASK_1 0x280120 598362306a36Sopenharmony_ci/* [R 32] Interrupt register #0 read */ 598462306a36Sopenharmony_ci#define XSEM_REG_XSEM_INT_STS_0 0x280104 598562306a36Sopenharmony_ci#define XSEM_REG_XSEM_INT_STS_1 0x280114 598662306a36Sopenharmony_ci/* [RW 32] Parity mask register #0 read/write */ 598762306a36Sopenharmony_ci#define XSEM_REG_XSEM_PRTY_MASK_0 0x280130 598862306a36Sopenharmony_ci#define XSEM_REG_XSEM_PRTY_MASK_1 0x280140 598962306a36Sopenharmony_ci/* [R 32] Parity register #0 read */ 599062306a36Sopenharmony_ci#define XSEM_REG_XSEM_PRTY_STS_0 0x280124 599162306a36Sopenharmony_ci#define XSEM_REG_XSEM_PRTY_STS_1 0x280134 599262306a36Sopenharmony_ci/* [RC 32] Parity register #0 read clear */ 599362306a36Sopenharmony_ci#define XSEM_REG_XSEM_PRTY_STS_CLR_0 0x280128 599462306a36Sopenharmony_ci#define XSEM_REG_XSEM_PRTY_STS_CLR_1 0x280138 599562306a36Sopenharmony_ci#define MCPR_ACCESS_LOCK_LOCK (1L<<31) 599662306a36Sopenharmony_ci#define MCPR_NVM_ACCESS_ENABLE_EN (1L<<0) 599762306a36Sopenharmony_ci#define MCPR_NVM_ACCESS_ENABLE_WR_EN (1L<<1) 599862306a36Sopenharmony_ci#define MCPR_NVM_ADDR_NVM_ADDR_VALUE (0xffffffL<<0) 599962306a36Sopenharmony_ci#define MCPR_NVM_CFG4_FLASH_SIZE (0x7L<<0) 600062306a36Sopenharmony_ci#define MCPR_NVM_COMMAND_DOIT (1L<<4) 600162306a36Sopenharmony_ci#define MCPR_NVM_COMMAND_DONE (1L<<3) 600262306a36Sopenharmony_ci#define MCPR_NVM_COMMAND_FIRST (1L<<7) 600362306a36Sopenharmony_ci#define MCPR_NVM_COMMAND_LAST (1L<<8) 600462306a36Sopenharmony_ci#define MCPR_NVM_COMMAND_WR (1L<<5) 600562306a36Sopenharmony_ci#define MCPR_NVM_SW_ARB_ARB_ARB1 (1L<<9) 600662306a36Sopenharmony_ci#define MCPR_NVM_SW_ARB_ARB_REQ_CLR1 (1L<<5) 600762306a36Sopenharmony_ci#define MCPR_NVM_SW_ARB_ARB_REQ_SET1 (1L<<1) 600862306a36Sopenharmony_ci#define BIGMAC_REGISTER_BMAC_CONTROL (0x00<<3) 600962306a36Sopenharmony_ci#define BIGMAC_REGISTER_BMAC_XGXS_CONTROL (0x01<<3) 601062306a36Sopenharmony_ci#define BIGMAC_REGISTER_CNT_MAX_SIZE (0x05<<3) 601162306a36Sopenharmony_ci#define BIGMAC_REGISTER_RX_CONTROL (0x21<<3) 601262306a36Sopenharmony_ci#define BIGMAC_REGISTER_RX_LLFC_MSG_FLDS (0x46<<3) 601362306a36Sopenharmony_ci#define BIGMAC_REGISTER_RX_LSS_STATUS (0x43<<3) 601462306a36Sopenharmony_ci#define BIGMAC_REGISTER_RX_MAX_SIZE (0x23<<3) 601562306a36Sopenharmony_ci#define BIGMAC_REGISTER_RX_STAT_GR64 (0x26<<3) 601662306a36Sopenharmony_ci#define BIGMAC_REGISTER_RX_STAT_GRIPJ (0x42<<3) 601762306a36Sopenharmony_ci#define BIGMAC_REGISTER_TX_CONTROL (0x07<<3) 601862306a36Sopenharmony_ci#define BIGMAC_REGISTER_TX_MAX_SIZE (0x09<<3) 601962306a36Sopenharmony_ci#define BIGMAC_REGISTER_TX_PAUSE_THRESHOLD (0x0A<<3) 602062306a36Sopenharmony_ci#define BIGMAC_REGISTER_TX_SOURCE_ADDR (0x08<<3) 602162306a36Sopenharmony_ci#define BIGMAC_REGISTER_TX_STAT_GTBYT (0x20<<3) 602262306a36Sopenharmony_ci#define BIGMAC_REGISTER_TX_STAT_GTPKT (0x0C<<3) 602362306a36Sopenharmony_ci#define BIGMAC2_REGISTER_BMAC_CONTROL (0x00<<3) 602462306a36Sopenharmony_ci#define BIGMAC2_REGISTER_BMAC_XGXS_CONTROL (0x01<<3) 602562306a36Sopenharmony_ci#define BIGMAC2_REGISTER_CNT_MAX_SIZE (0x05<<3) 602662306a36Sopenharmony_ci#define BIGMAC2_REGISTER_PFC_CONTROL (0x06<<3) 602762306a36Sopenharmony_ci#define BIGMAC2_REGISTER_RX_CONTROL (0x3A<<3) 602862306a36Sopenharmony_ci#define BIGMAC2_REGISTER_RX_LLFC_MSG_FLDS (0x62<<3) 602962306a36Sopenharmony_ci#define BIGMAC2_REGISTER_RX_LSS_STAT (0x3E<<3) 603062306a36Sopenharmony_ci#define BIGMAC2_REGISTER_RX_MAX_SIZE (0x3C<<3) 603162306a36Sopenharmony_ci#define BIGMAC2_REGISTER_RX_STAT_GR64 (0x40<<3) 603262306a36Sopenharmony_ci#define BIGMAC2_REGISTER_RX_STAT_GRIPJ (0x5f<<3) 603362306a36Sopenharmony_ci#define BIGMAC2_REGISTER_RX_STAT_GRPP (0x51<<3) 603462306a36Sopenharmony_ci#define BIGMAC2_REGISTER_TX_CONTROL (0x1C<<3) 603562306a36Sopenharmony_ci#define BIGMAC2_REGISTER_TX_MAX_SIZE (0x1E<<3) 603662306a36Sopenharmony_ci#define BIGMAC2_REGISTER_TX_PAUSE_CONTROL (0x20<<3) 603762306a36Sopenharmony_ci#define BIGMAC2_REGISTER_TX_SOURCE_ADDR (0x1D<<3) 603862306a36Sopenharmony_ci#define BIGMAC2_REGISTER_TX_STAT_GTBYT (0x39<<3) 603962306a36Sopenharmony_ci#define BIGMAC2_REGISTER_TX_STAT_GTPOK (0x22<<3) 604062306a36Sopenharmony_ci#define BIGMAC2_REGISTER_TX_STAT_GTPP (0x24<<3) 604162306a36Sopenharmony_ci#define EMAC_LED_1000MB_OVERRIDE (1L<<1) 604262306a36Sopenharmony_ci#define EMAC_LED_100MB_OVERRIDE (1L<<2) 604362306a36Sopenharmony_ci#define EMAC_LED_10MB_OVERRIDE (1L<<3) 604462306a36Sopenharmony_ci#define EMAC_LED_2500MB_OVERRIDE (1L<<12) 604562306a36Sopenharmony_ci#define EMAC_LED_OVERRIDE (1L<<0) 604662306a36Sopenharmony_ci#define EMAC_LED_TRAFFIC (1L<<6) 604762306a36Sopenharmony_ci#define EMAC_MDIO_COMM_COMMAND_ADDRESS (0L<<26) 604862306a36Sopenharmony_ci#define EMAC_MDIO_COMM_COMMAND_READ_22 (2L<<26) 604962306a36Sopenharmony_ci#define EMAC_MDIO_COMM_COMMAND_READ_45 (3L<<26) 605062306a36Sopenharmony_ci#define EMAC_MDIO_COMM_COMMAND_WRITE_22 (1L<<26) 605162306a36Sopenharmony_ci#define EMAC_MDIO_COMM_COMMAND_WRITE_45 (1L<<26) 605262306a36Sopenharmony_ci#define EMAC_MDIO_COMM_DATA (0xffffL<<0) 605362306a36Sopenharmony_ci#define EMAC_MDIO_COMM_START_BUSY (1L<<29) 605462306a36Sopenharmony_ci#define EMAC_MDIO_MODE_AUTO_POLL (1L<<4) 605562306a36Sopenharmony_ci#define EMAC_MDIO_MODE_CLAUSE_45 (1L<<31) 605662306a36Sopenharmony_ci#define EMAC_MDIO_MODE_CLOCK_CNT (0x3ffL<<16) 605762306a36Sopenharmony_ci#define EMAC_MDIO_MODE_CLOCK_CNT_BITSHIFT 16 605862306a36Sopenharmony_ci#define EMAC_MDIO_STATUS_10MB (1L<<1) 605962306a36Sopenharmony_ci#define EMAC_MODE_25G_MODE (1L<<5) 606062306a36Sopenharmony_ci#define EMAC_MODE_HALF_DUPLEX (1L<<1) 606162306a36Sopenharmony_ci#define EMAC_MODE_PORT_GMII (2L<<2) 606262306a36Sopenharmony_ci#define EMAC_MODE_PORT_MII (1L<<2) 606362306a36Sopenharmony_ci#define EMAC_MODE_PORT_MII_10M (3L<<2) 606462306a36Sopenharmony_ci#define EMAC_MODE_RESET (1L<<0) 606562306a36Sopenharmony_ci#define EMAC_REG_EMAC_LED 0xc 606662306a36Sopenharmony_ci#define EMAC_REG_EMAC_MAC_MATCH 0x10 606762306a36Sopenharmony_ci#define EMAC_REG_EMAC_MDIO_COMM 0xac 606862306a36Sopenharmony_ci#define EMAC_REG_EMAC_MDIO_MODE 0xb4 606962306a36Sopenharmony_ci#define EMAC_REG_EMAC_MDIO_STATUS 0xb0 607062306a36Sopenharmony_ci#define EMAC_REG_EMAC_MODE 0x0 607162306a36Sopenharmony_ci#define EMAC_REG_EMAC_RX_MODE 0xc8 607262306a36Sopenharmony_ci#define EMAC_REG_EMAC_RX_MTU_SIZE 0x9c 607362306a36Sopenharmony_ci#define EMAC_REG_EMAC_RX_STAT_AC 0x180 607462306a36Sopenharmony_ci#define EMAC_REG_EMAC_RX_STAT_AC_28 0x1f4 607562306a36Sopenharmony_ci#define EMAC_REG_EMAC_RX_STAT_AC_COUNT 23 607662306a36Sopenharmony_ci#define EMAC_REG_EMAC_TX_MODE 0xbc 607762306a36Sopenharmony_ci#define EMAC_REG_EMAC_TX_STAT_AC 0x280 607862306a36Sopenharmony_ci#define EMAC_REG_EMAC_TX_STAT_AC_COUNT 22 607962306a36Sopenharmony_ci#define EMAC_REG_RX_PFC_MODE 0x320 608062306a36Sopenharmony_ci#define EMAC_REG_RX_PFC_MODE_PRIORITIES (1L<<2) 608162306a36Sopenharmony_ci#define EMAC_REG_RX_PFC_MODE_RX_EN (1L<<1) 608262306a36Sopenharmony_ci#define EMAC_REG_RX_PFC_MODE_TX_EN (1L<<0) 608362306a36Sopenharmony_ci#define EMAC_REG_RX_PFC_PARAM 0x324 608462306a36Sopenharmony_ci#define EMAC_REG_RX_PFC_PARAM_OPCODE_BITSHIFT 0 608562306a36Sopenharmony_ci#define EMAC_REG_RX_PFC_PARAM_PRIORITY_EN_BITSHIFT 16 608662306a36Sopenharmony_ci#define EMAC_REG_RX_PFC_STATS_XOFF_RCVD 0x328 608762306a36Sopenharmony_ci#define EMAC_REG_RX_PFC_STATS_XOFF_RCVD_COUNT (0xffff<<0) 608862306a36Sopenharmony_ci#define EMAC_REG_RX_PFC_STATS_XOFF_SENT 0x330 608962306a36Sopenharmony_ci#define EMAC_REG_RX_PFC_STATS_XOFF_SENT_COUNT (0xffff<<0) 609062306a36Sopenharmony_ci#define EMAC_REG_RX_PFC_STATS_XON_RCVD 0x32c 609162306a36Sopenharmony_ci#define EMAC_REG_RX_PFC_STATS_XON_RCVD_COUNT (0xffff<<0) 609262306a36Sopenharmony_ci#define EMAC_REG_RX_PFC_STATS_XON_SENT 0x334 609362306a36Sopenharmony_ci#define EMAC_REG_RX_PFC_STATS_XON_SENT_COUNT (0xffff<<0) 609462306a36Sopenharmony_ci#define EMAC_RX_MODE_FLOW_EN (1L<<2) 609562306a36Sopenharmony_ci#define EMAC_RX_MODE_KEEP_MAC_CONTROL (1L<<3) 609662306a36Sopenharmony_ci#define EMAC_RX_MODE_KEEP_VLAN_TAG (1L<<10) 609762306a36Sopenharmony_ci#define EMAC_RX_MODE_PROMISCUOUS (1L<<8) 609862306a36Sopenharmony_ci#define EMAC_RX_MODE_RESET (1L<<0) 609962306a36Sopenharmony_ci#define EMAC_RX_MTU_SIZE_JUMBO_ENA (1L<<31) 610062306a36Sopenharmony_ci#define EMAC_TX_MODE_EXT_PAUSE_EN (1L<<3) 610162306a36Sopenharmony_ci#define EMAC_TX_MODE_FLOW_EN (1L<<4) 610262306a36Sopenharmony_ci#define EMAC_TX_MODE_RESET (1L<<0) 610362306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_0 0 610462306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_1 1 610562306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_2 2 610662306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_3 3 610762306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_CLR_POS 16 610862306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_FLOAT (0xffL<<24) 610962306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_FLOAT_POS 24 611062306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_HIGH 1 611162306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_INPUT_HI_Z 2 611262306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_INT_CLR_POS 24 611362306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_INT_OUTPUT_CLR 0 611462306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_INT_OUTPUT_SET 1 611562306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_INT_SET_POS 16 611662306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_LOW 0 611762306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_OUTPUT_HIGH 1 611862306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_OUTPUT_LOW 0 611962306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_PORT_SHIFT 4 612062306a36Sopenharmony_ci#define MISC_REGISTERS_GPIO_SET_POS 8 612162306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_1_CLEAR 0x588 612262306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_1_RST_BRB1 (0x1<<0) 612362306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_1_RST_DORQ (0x1<<19) 612462306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_1_RST_HC (0x1<<29) 612562306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_1_RST_NIG (0x1<<7) 612662306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_1_RST_PXP (0x1<<26) 612762306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_1_RST_PXPV (0x1<<27) 612862306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_1_RST_XSEM (0x1<<22) 612962306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_1_SET 0x584 613062306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_CLEAR 0x598 613162306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_MSTAT0 (0x1<<24) 613262306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_MSTAT1 (0x1<<25) 613362306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_PGLC (0x1<<19) 613462306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_RST_ATC (0x1<<17) 613562306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_RST_BMAC0 (0x1<<0) 613662306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_RST_BMAC1 (0x1<<1) 613762306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_RST_EMAC0 (0x1<<2) 613862306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_RST_EMAC0_HARD_CORE (0x1<<14) 613962306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_RST_EMAC1 (0x1<<3) 614062306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_RST_EMAC1_HARD_CORE (0x1<<15) 614162306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_RST_GRC (0x1<<4) 614262306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_RST_MCP_N_HARD_CORE_RST_B (0x1<<6) 614362306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_RST_MCP_N_RESET_CMN_CORE (0x1<<8) 614462306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_RST_MCP_N_RESET_CMN_CPU (0x1<<7) 614562306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_RST_MCP_N_RESET_REG_HARD_CORE (0x1<<5) 614662306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_RST_MDIO (0x1<<13) 614762306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_RST_MISC_CORE (0x1<<11) 614862306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_RST_PCI_MDIO (0x1<<13) 614962306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_RST_RBCN (0x1<<9) 615062306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_SET 0x594 615162306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_UMAC0 (0x1<<20) 615262306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_UMAC1 (0x1<<21) 615362306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_XMAC (0x1<<22) 615462306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_2_XMAC_SOFT (0x1<<23) 615562306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_3_CLEAR 0x5a8 615662306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_SERDES0_IDDQ (0x1<<1) 615762306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_SERDES0_PWRDWN (0x1<<2) 615862306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_SERDES0_PWRDWN_SD (0x1<<3) 615962306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_SERDES0_RSTB_HW (0x1<<0) 616062306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_IDDQ (0x1<<5) 616162306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_PWRDWN (0x1<<6) 616262306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_PWRDWN_SD (0x1<<7) 616362306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_RSTB_HW (0x1<<4) 616462306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_TXD_FIFO_RSTB (0x1<<8) 616562306a36Sopenharmony_ci#define MISC_REGISTERS_RESET_REG_3_SET 0x5a4 616662306a36Sopenharmony_ci#define MISC_REGISTERS_SPIO_4 4 616762306a36Sopenharmony_ci#define MISC_REGISTERS_SPIO_5 5 616862306a36Sopenharmony_ci#define MISC_REGISTERS_SPIO_7 7 616962306a36Sopenharmony_ci#define MISC_REGISTERS_SPIO_CLR_POS 16 617062306a36Sopenharmony_ci#define MISC_REGISTERS_SPIO_FLOAT (0xffL<<24) 617162306a36Sopenharmony_ci#define MISC_REGISTERS_SPIO_FLOAT_POS 24 617262306a36Sopenharmony_ci#define MISC_REGISTERS_SPIO_INPUT_HI_Z 2 617362306a36Sopenharmony_ci#define MISC_REGISTERS_SPIO_INT_OLD_SET_POS 16 617462306a36Sopenharmony_ci#define MISC_REGISTERS_SPIO_OUTPUT_HIGH 1 617562306a36Sopenharmony_ci#define MISC_REGISTERS_SPIO_OUTPUT_LOW 0 617662306a36Sopenharmony_ci#define MISC_REGISTERS_SPIO_SET_POS 8 617762306a36Sopenharmony_ci#define MISC_SPIO_CLR_POS 16 617862306a36Sopenharmony_ci#define MISC_SPIO_FLOAT (0xffL<<24) 617962306a36Sopenharmony_ci#define MISC_SPIO_FLOAT_POS 24 618062306a36Sopenharmony_ci#define MISC_SPIO_INPUT_HI_Z 2 618162306a36Sopenharmony_ci#define MISC_SPIO_INT_OLD_SET_POS 16 618262306a36Sopenharmony_ci#define MISC_SPIO_OUTPUT_HIGH 1 618362306a36Sopenharmony_ci#define MISC_SPIO_OUTPUT_LOW 0 618462306a36Sopenharmony_ci#define MISC_SPIO_SET_POS 8 618562306a36Sopenharmony_ci#define MISC_SPIO_SPIO4 0x10 618662306a36Sopenharmony_ci#define MISC_SPIO_SPIO5 0x20 618762306a36Sopenharmony_ci#define HW_LOCK_MAX_RESOURCE_VALUE 31 618862306a36Sopenharmony_ci#define HW_LOCK_RESOURCE_DCBX_ADMIN_MIB 13 618962306a36Sopenharmony_ci#define HW_LOCK_RESOURCE_DRV_FLAGS 10 619062306a36Sopenharmony_ci#define HW_LOCK_RESOURCE_GPIO 1 619162306a36Sopenharmony_ci#define HW_LOCK_RESOURCE_MDIO 0 619262306a36Sopenharmony_ci#define HW_LOCK_RESOURCE_NVRAM 12 619362306a36Sopenharmony_ci#define HW_LOCK_RESOURCE_PORT0_ATT_MASK 3 619462306a36Sopenharmony_ci#define HW_LOCK_RESOURCE_RECOVERY_LEADER_0 8 619562306a36Sopenharmony_ci#define HW_LOCK_RESOURCE_RECOVERY_LEADER_1 9 619662306a36Sopenharmony_ci#define HW_LOCK_RESOURCE_RECOVERY_REG 11 619762306a36Sopenharmony_ci#define HW_LOCK_RESOURCE_RESET 5 619862306a36Sopenharmony_ci#define HW_LOCK_RESOURCE_SPIO 2 619962306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_ATC_HW_INTERRUPT (0x1<<4) 620062306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_ATC_PARITY_ERROR (0x1<<5) 620162306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_BRB_HW_INTERRUPT (0x1<<19) 620262306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_BRB_PARITY_ERROR (0x1<<18) 620362306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_CCM_HW_INTERRUPT (0x1<<31) 620462306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_CCM_PARITY_ERROR (0x1<<30) 620562306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_CDU_HW_INTERRUPT (0x1<<9) 620662306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_CDU_PARITY_ERROR (0x1<<8) 620762306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_CFC_HW_INTERRUPT (0x1<<7) 620862306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_CFC_PARITY_ERROR (0x1<<6) 620962306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_CSDM_HW_INTERRUPT (0x1<<29) 621062306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_CSDM_PARITY_ERROR (0x1<<28) 621162306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_CSEMI_HW_INTERRUPT (0x1<<1) 621262306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_CSEMI_PARITY_ERROR (0x1<<0) 621362306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_DEBUG_PARITY_ERROR (0x1<<18) 621462306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_DMAE_HW_INTERRUPT (0x1<<11) 621562306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_DMAE_PARITY_ERROR (0x1<<10) 621662306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_DOORBELLQ_HW_INTERRUPT (0x1<<13) 621762306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_DOORBELLQ_PARITY_ERROR (0x1<<12) 621862306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_GPIO0_FUNCTION_0 (0x1<<2) 621962306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_IGU_PARITY_ERROR (0x1<<12) 622062306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_ROM_PARITY (0x1<<28) 622162306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_SCPAD_PARITY (0x1U<<31) 622262306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_RX_PARITY (0x1<<29) 622362306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_TX_PARITY (0x1<<30) 622462306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_MISC_HW_INTERRUPT (0x1<<15) 622562306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_MISC_PARITY_ERROR (0x1<<14) 622662306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_NIG_PARITY_ERROR (0x1<<14) 622762306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_PARSER_PARITY_ERROR (0x1<<20) 622862306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_PBCLIENT_HW_INTERRUPT (0x1<<31) 622962306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_PBCLIENT_PARITY_ERROR (0x1<<30) 623062306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_PBF_PARITY_ERROR (0x1<<0) 623162306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_PGLUE_HW_INTERRUPT (0x1<<2) 623262306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_PGLUE_PARITY_ERROR (0x1<<3) 623362306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_PXPPCICLOCKCLIENT_HW_INTERRUPT (0x1<<5) 623462306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_PXPPCICLOCKCLIENT_PARITY_ERROR (0x1<<4) 623562306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_PXP_HW_INTERRUPT (0x1<<3) 623662306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_PXP_PARITY_ERROR (0x1<<2) 623762306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_QM_HW_INTERRUPT (0x1<<3) 623862306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_QM_PARITY_ERROR (0x1<<2) 623962306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_SEARCHER_PARITY_ERROR (0x1<<22) 624062306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_SPIO5 (0x1<<15) 624162306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_TCM_HW_INTERRUPT (0x1<<27) 624262306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_TCM_PARITY_ERROR (0x1<<26) 624362306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_TIMERS_HW_INTERRUPT (0x1<<5) 624462306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_TIMERS_PARITY_ERROR (0x1<<4) 624562306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_TSDM_HW_INTERRUPT (0x1<<25) 624662306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_TSDM_PARITY_ERROR (0x1<<24) 624762306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_TSEMI_HW_INTERRUPT (0x1<<29) 624862306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_TSEMI_PARITY_ERROR (0x1<<28) 624962306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_UCM_HW_INTERRUPT (0x1<<23) 625062306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_UCM_PARITY_ERROR (0x1<<22) 625162306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_UPB_HW_INTERRUPT (0x1<<27) 625262306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_UPB_PARITY_ERROR (0x1<<26) 625362306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_USDM_HW_INTERRUPT (0x1<<21) 625462306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_USDM_PARITY_ERROR (0x1<<20) 625562306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_USEMI_HW_INTERRUPT (0x1<<25) 625662306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_USEMI_PARITY_ERROR (0x1<<24) 625762306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_VAUX_PCI_CORE_PARITY_ERROR (0x1<<16) 625862306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_XCM_HW_INTERRUPT (0x1<<9) 625962306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_XCM_PARITY_ERROR (0x1<<8) 626062306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_XSDM_HW_INTERRUPT (0x1<<7) 626162306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_XSDM_PARITY_ERROR (0x1<<6) 626262306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_XSEMI_HW_INTERRUPT (0x1<<11) 626362306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_XSEMI_PARITY_ERROR (0x1<<10) 626462306a36Sopenharmony_ci 626562306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_GPIO3_FUNCTION_0 (0x1<<5) 626662306a36Sopenharmony_ci#define AEU_INPUTS_ATTN_BITS_GPIO3_FUNCTION_1 (0x1<<9) 626762306a36Sopenharmony_ci 626862306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_0 0 626962306a36Sopenharmony_ci 627062306a36Sopenharmony_ci#define EVEREST_GEN_ATTN_IN_USE_MASK 0x7ffe0 627162306a36Sopenharmony_ci#define EVEREST_LATCHED_ATTN_IN_USE_MASK 0xffe00000 627262306a36Sopenharmony_ci 627362306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_6 6 627462306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_7 7 627562306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_8 8 627662306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_9 9 627762306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_10 10 627862306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_11 11 627962306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_12 12 628062306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_13 13 628162306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_14 14 628262306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_15 15 628362306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_16 16 628462306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_17 17 628562306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_18 18 628662306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_19 19 628762306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_20 20 628862306a36Sopenharmony_ci#define RESERVED_GENERAL_ATTENTION_BIT_21 21 628962306a36Sopenharmony_ci 629062306a36Sopenharmony_ci/* storm asserts attention bits */ 629162306a36Sopenharmony_ci#define TSTORM_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_7 629262306a36Sopenharmony_ci#define USTORM_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_8 629362306a36Sopenharmony_ci#define CSTORM_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_9 629462306a36Sopenharmony_ci#define XSTORM_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_10 629562306a36Sopenharmony_ci 629662306a36Sopenharmony_ci/* mcp error attention bit */ 629762306a36Sopenharmony_ci#define MCP_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_11 629862306a36Sopenharmony_ci 629962306a36Sopenharmony_ci/*E1H NIG status sync attention mapped to group 4-7*/ 630062306a36Sopenharmony_ci#define LINK_SYNC_ATTENTION_BIT_FUNC_0 RESERVED_GENERAL_ATTENTION_BIT_12 630162306a36Sopenharmony_ci#define LINK_SYNC_ATTENTION_BIT_FUNC_1 RESERVED_GENERAL_ATTENTION_BIT_13 630262306a36Sopenharmony_ci#define LINK_SYNC_ATTENTION_BIT_FUNC_2 RESERVED_GENERAL_ATTENTION_BIT_14 630362306a36Sopenharmony_ci#define LINK_SYNC_ATTENTION_BIT_FUNC_3 RESERVED_GENERAL_ATTENTION_BIT_15 630462306a36Sopenharmony_ci#define LINK_SYNC_ATTENTION_BIT_FUNC_4 RESERVED_GENERAL_ATTENTION_BIT_16 630562306a36Sopenharmony_ci#define LINK_SYNC_ATTENTION_BIT_FUNC_5 RESERVED_GENERAL_ATTENTION_BIT_17 630662306a36Sopenharmony_ci#define LINK_SYNC_ATTENTION_BIT_FUNC_6 RESERVED_GENERAL_ATTENTION_BIT_18 630762306a36Sopenharmony_ci#define LINK_SYNC_ATTENTION_BIT_FUNC_7 RESERVED_GENERAL_ATTENTION_BIT_19 630862306a36Sopenharmony_ci 630962306a36Sopenharmony_ci 631062306a36Sopenharmony_ci#define LATCHED_ATTN_RBCR 23 631162306a36Sopenharmony_ci#define LATCHED_ATTN_RBCT 24 631262306a36Sopenharmony_ci#define LATCHED_ATTN_RBCN 25 631362306a36Sopenharmony_ci#define LATCHED_ATTN_RBCU 26 631462306a36Sopenharmony_ci#define LATCHED_ATTN_RBCP 27 631562306a36Sopenharmony_ci#define LATCHED_ATTN_TIMEOUT_GRC 28 631662306a36Sopenharmony_ci#define LATCHED_ATTN_RSVD_GRC 29 631762306a36Sopenharmony_ci#define LATCHED_ATTN_ROM_PARITY_MCP 30 631862306a36Sopenharmony_ci#define LATCHED_ATTN_UM_RX_PARITY_MCP 31 631962306a36Sopenharmony_ci#define LATCHED_ATTN_UM_TX_PARITY_MCP 32 632062306a36Sopenharmony_ci#define LATCHED_ATTN_SCPAD_PARITY_MCP 33 632162306a36Sopenharmony_ci 632262306a36Sopenharmony_ci#define GENERAL_ATTEN_WORD(atten_name) ((94 + atten_name) / 32) 632362306a36Sopenharmony_ci#define GENERAL_ATTEN_OFFSET(atten_name)\ 632462306a36Sopenharmony_ci (1UL << ((94 + atten_name) % 32)) 632562306a36Sopenharmony_ci/* 632662306a36Sopenharmony_ci * This file defines GRC base address for every block. 632762306a36Sopenharmony_ci * This file is included by chipsim, asm microcode and cpp microcode. 632862306a36Sopenharmony_ci * These values are used in Design.xml on regBase attribute 632962306a36Sopenharmony_ci * Use the base with the generated offsets of specific registers. 633062306a36Sopenharmony_ci */ 633162306a36Sopenharmony_ci 633262306a36Sopenharmony_ci#define GRCBASE_PXPCS 0x000000 633362306a36Sopenharmony_ci#define GRCBASE_PCICONFIG 0x002000 633462306a36Sopenharmony_ci#define GRCBASE_PCIREG 0x002400 633562306a36Sopenharmony_ci#define GRCBASE_EMAC0 0x008000 633662306a36Sopenharmony_ci#define GRCBASE_EMAC1 0x008400 633762306a36Sopenharmony_ci#define GRCBASE_DBU 0x008800 633862306a36Sopenharmony_ci#define GRCBASE_MISC 0x00A000 633962306a36Sopenharmony_ci#define GRCBASE_DBG 0x00C000 634062306a36Sopenharmony_ci#define GRCBASE_NIG 0x010000 634162306a36Sopenharmony_ci#define GRCBASE_XCM 0x020000 634262306a36Sopenharmony_ci#define GRCBASE_PRS 0x040000 634362306a36Sopenharmony_ci#define GRCBASE_SRCH 0x040400 634462306a36Sopenharmony_ci#define GRCBASE_TSDM 0x042000 634562306a36Sopenharmony_ci#define GRCBASE_TCM 0x050000 634662306a36Sopenharmony_ci#define GRCBASE_BRB1 0x060000 634762306a36Sopenharmony_ci#define GRCBASE_MCP 0x080000 634862306a36Sopenharmony_ci#define GRCBASE_UPB 0x0C1000 634962306a36Sopenharmony_ci#define GRCBASE_CSDM 0x0C2000 635062306a36Sopenharmony_ci#define GRCBASE_USDM 0x0C4000 635162306a36Sopenharmony_ci#define GRCBASE_CCM 0x0D0000 635262306a36Sopenharmony_ci#define GRCBASE_UCM 0x0E0000 635362306a36Sopenharmony_ci#define GRCBASE_CDU 0x101000 635462306a36Sopenharmony_ci#define GRCBASE_DMAE 0x102000 635562306a36Sopenharmony_ci#define GRCBASE_PXP 0x103000 635662306a36Sopenharmony_ci#define GRCBASE_CFC 0x104000 635762306a36Sopenharmony_ci#define GRCBASE_HC 0x108000 635862306a36Sopenharmony_ci#define GRCBASE_PXP2 0x120000 635962306a36Sopenharmony_ci#define GRCBASE_PBF 0x140000 636062306a36Sopenharmony_ci#define GRCBASE_UMAC0 0x160000 636162306a36Sopenharmony_ci#define GRCBASE_UMAC1 0x160400 636262306a36Sopenharmony_ci#define GRCBASE_XPB 0x161000 636362306a36Sopenharmony_ci#define GRCBASE_MSTAT0 0x162000 636462306a36Sopenharmony_ci#define GRCBASE_MSTAT1 0x162800 636562306a36Sopenharmony_ci#define GRCBASE_XMAC0 0x163000 636662306a36Sopenharmony_ci#define GRCBASE_XMAC1 0x163800 636762306a36Sopenharmony_ci#define GRCBASE_TIMERS 0x164000 636862306a36Sopenharmony_ci#define GRCBASE_XSDM 0x166000 636962306a36Sopenharmony_ci#define GRCBASE_QM 0x168000 637062306a36Sopenharmony_ci#define GRCBASE_DQ 0x170000 637162306a36Sopenharmony_ci#define GRCBASE_TSEM 0x180000 637262306a36Sopenharmony_ci#define GRCBASE_CSEM 0x200000 637362306a36Sopenharmony_ci#define GRCBASE_XSEM 0x280000 637462306a36Sopenharmony_ci#define GRCBASE_USEM 0x300000 637562306a36Sopenharmony_ci#define GRCBASE_MISC_AEU GRCBASE_MISC 637662306a36Sopenharmony_ci 637762306a36Sopenharmony_ci 637862306a36Sopenharmony_ci/* offset of configuration space in the pci core register */ 637962306a36Sopenharmony_ci#define PCICFG_OFFSET 0x2000 638062306a36Sopenharmony_ci#define PCICFG_VENDOR_ID_OFFSET 0x00 638162306a36Sopenharmony_ci#define PCICFG_DEVICE_ID_OFFSET 0x02 638262306a36Sopenharmony_ci#define PCICFG_COMMAND_OFFSET 0x04 638362306a36Sopenharmony_ci#define PCICFG_COMMAND_IO_SPACE (1<<0) 638462306a36Sopenharmony_ci#define PCICFG_COMMAND_MEM_SPACE (1<<1) 638562306a36Sopenharmony_ci#define PCICFG_COMMAND_BUS_MASTER (1<<2) 638662306a36Sopenharmony_ci#define PCICFG_COMMAND_SPECIAL_CYCLES (1<<3) 638762306a36Sopenharmony_ci#define PCICFG_COMMAND_MWI_CYCLES (1<<4) 638862306a36Sopenharmony_ci#define PCICFG_COMMAND_VGA_SNOOP (1<<5) 638962306a36Sopenharmony_ci#define PCICFG_COMMAND_PERR_ENA (1<<6) 639062306a36Sopenharmony_ci#define PCICFG_COMMAND_STEPPING (1<<7) 639162306a36Sopenharmony_ci#define PCICFG_COMMAND_SERR_ENA (1<<8) 639262306a36Sopenharmony_ci#define PCICFG_COMMAND_FAST_B2B (1<<9) 639362306a36Sopenharmony_ci#define PCICFG_COMMAND_INT_DISABLE (1<<10) 639462306a36Sopenharmony_ci#define PCICFG_COMMAND_RESERVED (0x1f<<11) 639562306a36Sopenharmony_ci#define PCICFG_STATUS_OFFSET 0x06 639662306a36Sopenharmony_ci#define PCICFG_REVISION_ID_OFFSET 0x08 639762306a36Sopenharmony_ci#define PCICFG_REVESION_ID_MASK 0xff 639862306a36Sopenharmony_ci#define PCICFG_REVESION_ID_ERROR_VAL 0xff 639962306a36Sopenharmony_ci#define PCICFG_CACHE_LINE_SIZE 0x0c 640062306a36Sopenharmony_ci#define PCICFG_LATENCY_TIMER 0x0d 640162306a36Sopenharmony_ci#define PCICFG_BAR_1_LOW 0x10 640262306a36Sopenharmony_ci#define PCICFG_BAR_1_HIGH 0x14 640362306a36Sopenharmony_ci#define PCICFG_BAR_2_LOW 0x18 640462306a36Sopenharmony_ci#define PCICFG_BAR_2_HIGH 0x1c 640562306a36Sopenharmony_ci#define PCICFG_SUBSYSTEM_VENDOR_ID_OFFSET 0x2c 640662306a36Sopenharmony_ci#define PCICFG_SUBSYSTEM_ID_OFFSET 0x2e 640762306a36Sopenharmony_ci#define PCICFG_INT_LINE 0x3c 640862306a36Sopenharmony_ci#define PCICFG_INT_PIN 0x3d 640962306a36Sopenharmony_ci#define PCICFG_PM_CAPABILITY 0x48 641062306a36Sopenharmony_ci#define PCICFG_PM_CAPABILITY_VERSION (0x3<<16) 641162306a36Sopenharmony_ci#define PCICFG_PM_CAPABILITY_CLOCK (1<<19) 641262306a36Sopenharmony_ci#define PCICFG_PM_CAPABILITY_RESERVED (1<<20) 641362306a36Sopenharmony_ci#define PCICFG_PM_CAPABILITY_DSI (1<<21) 641462306a36Sopenharmony_ci#define PCICFG_PM_CAPABILITY_AUX_CURRENT (0x7<<22) 641562306a36Sopenharmony_ci#define PCICFG_PM_CAPABILITY_D1_SUPPORT (1<<25) 641662306a36Sopenharmony_ci#define PCICFG_PM_CAPABILITY_D2_SUPPORT (1<<26) 641762306a36Sopenharmony_ci#define PCICFG_PM_CAPABILITY_PME_IN_D0 (1<<27) 641862306a36Sopenharmony_ci#define PCICFG_PM_CAPABILITY_PME_IN_D1 (1<<28) 641962306a36Sopenharmony_ci#define PCICFG_PM_CAPABILITY_PME_IN_D2 (1<<29) 642062306a36Sopenharmony_ci#define PCICFG_PM_CAPABILITY_PME_IN_D3_HOT (1<<30) 642162306a36Sopenharmony_ci#define PCICFG_PM_CAPABILITY_PME_IN_D3_COLD (1<<31) 642262306a36Sopenharmony_ci#define PCICFG_PM_CSR_OFFSET 0x4c 642362306a36Sopenharmony_ci#define PCICFG_PM_CSR_STATE (0x3<<0) 642462306a36Sopenharmony_ci#define PCICFG_PM_CSR_PME_ENABLE (1<<8) 642562306a36Sopenharmony_ci#define PCICFG_PM_CSR_PME_STATUS (1<<15) 642662306a36Sopenharmony_ci#define PCICFG_MSI_CAP_ID_OFFSET 0x58 642762306a36Sopenharmony_ci#define PCICFG_MSI_CONTROL_ENABLE (0x1<<16) 642862306a36Sopenharmony_ci#define PCICFG_MSI_CONTROL_MCAP (0x7<<17) 642962306a36Sopenharmony_ci#define PCICFG_MSI_CONTROL_MENA (0x7<<20) 643062306a36Sopenharmony_ci#define PCICFG_MSI_CONTROL_64_BIT_ADDR_CAP (0x1<<23) 643162306a36Sopenharmony_ci#define PCICFG_MSI_CONTROL_MSI_PVMASK_CAPABLE (0x1<<24) 643262306a36Sopenharmony_ci#define PCICFG_GRC_ADDRESS 0x78 643362306a36Sopenharmony_ci#define PCICFG_GRC_DATA 0x80 643462306a36Sopenharmony_ci#define PCICFG_ME_REGISTER 0x98 643562306a36Sopenharmony_ci#define PCICFG_MSIX_CAP_ID_OFFSET 0xa0 643662306a36Sopenharmony_ci#define PCICFG_MSIX_CONTROL_TABLE_SIZE (0x7ff<<16) 643762306a36Sopenharmony_ci#define PCICFG_MSIX_CONTROL_RESERVED (0x7<<27) 643862306a36Sopenharmony_ci#define PCICFG_MSIX_CONTROL_FUNC_MASK (0x1<<30) 643962306a36Sopenharmony_ci#define PCICFG_MSIX_CONTROL_MSIX_ENABLE (0x1<<31) 644062306a36Sopenharmony_ci 644162306a36Sopenharmony_ci#define PCICFG_DEVICE_CONTROL 0xb4 644262306a36Sopenharmony_ci#define PCICFG_DEVICE_STATUS 0xb6 644362306a36Sopenharmony_ci#define PCICFG_DEVICE_STATUS_CORR_ERR_DET (1<<0) 644462306a36Sopenharmony_ci#define PCICFG_DEVICE_STATUS_NON_FATAL_ERR_DET (1<<1) 644562306a36Sopenharmony_ci#define PCICFG_DEVICE_STATUS_FATAL_ERR_DET (1<<2) 644662306a36Sopenharmony_ci#define PCICFG_DEVICE_STATUS_UNSUP_REQ_DET (1<<3) 644762306a36Sopenharmony_ci#define PCICFG_DEVICE_STATUS_AUX_PWR_DET (1<<4) 644862306a36Sopenharmony_ci#define PCICFG_DEVICE_STATUS_NO_PEND (1<<5) 644962306a36Sopenharmony_ci#define PCICFG_LINK_CONTROL 0xbc 645062306a36Sopenharmony_ci 645162306a36Sopenharmony_ci 645262306a36Sopenharmony_ci#define BAR_USTRORM_INTMEM 0x400000 645362306a36Sopenharmony_ci#define BAR_CSTRORM_INTMEM 0x410000 645462306a36Sopenharmony_ci#define BAR_XSTRORM_INTMEM 0x420000 645562306a36Sopenharmony_ci#define BAR_TSTRORM_INTMEM 0x430000 645662306a36Sopenharmony_ci 645762306a36Sopenharmony_ci/* for accessing the IGU in case of status block ACK */ 645862306a36Sopenharmony_ci#define BAR_IGU_INTMEM 0x440000 645962306a36Sopenharmony_ci 646062306a36Sopenharmony_ci#define BAR_DOORBELL_OFFSET 0x800000 646162306a36Sopenharmony_ci 646262306a36Sopenharmony_ci#define BAR_ME_REGISTER 0x450000 646362306a36Sopenharmony_ci 646462306a36Sopenharmony_ci/* config_2 offset */ 646562306a36Sopenharmony_ci#define GRC_CONFIG_2_SIZE_REG 0x408 646662306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE (0xfL<<0) 646762306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE_DISABLED (0L<<0) 646862306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE_64K (1L<<0) 646962306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE_128K (2L<<0) 647062306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE_256K (3L<<0) 647162306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE_512K (4L<<0) 647262306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE_1M (5L<<0) 647362306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE_2M (6L<<0) 647462306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE_4M (7L<<0) 647562306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE_8M (8L<<0) 647662306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE_16M (9L<<0) 647762306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE_32M (10L<<0) 647862306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE_64M (11L<<0) 647962306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE_128M (12L<<0) 648062306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE_256M (13L<<0) 648162306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE_512M (14L<<0) 648262306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_SIZE_1G (15L<<0) 648362306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR1_64ENA (1L<<4) 648462306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_RETRY (1L<<5) 648562306a36Sopenharmony_ci#define PCI_CONFIG_2_CFG_CYCLE_RETRY (1L<<6) 648662306a36Sopenharmony_ci#define PCI_CONFIG_2_FIRST_CFG_DONE (1L<<7) 648762306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE (0xffL<<8) 648862306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE_DISABLED (0L<<8) 648962306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE_2K (1L<<8) 649062306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE_4K (2L<<8) 649162306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE_8K (3L<<8) 649262306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE_16K (4L<<8) 649362306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE_32K (5L<<8) 649462306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE_64K (6L<<8) 649562306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE_128K (7L<<8) 649662306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE_256K (8L<<8) 649762306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE_512K (9L<<8) 649862306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE_1M (10L<<8) 649962306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE_2M (11L<<8) 650062306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE_4M (12L<<8) 650162306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE_8M (13L<<8) 650262306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE_16M (14L<<8) 650362306a36Sopenharmony_ci#define PCI_CONFIG_2_EXP_ROM_SIZE_32M (15L<<8) 650462306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR_PREFETCH (1L<<16) 650562306a36Sopenharmony_ci#define PCI_CONFIG_2_RESERVED0 (0x7fffL<<17) 650662306a36Sopenharmony_ci 650762306a36Sopenharmony_ci/* config_3 offset */ 650862306a36Sopenharmony_ci#define GRC_CONFIG_3_SIZE_REG 0x40c 650962306a36Sopenharmony_ci#define PCI_CONFIG_3_STICKY_BYTE (0xffL<<0) 651062306a36Sopenharmony_ci#define PCI_CONFIG_3_FORCE_PME (1L<<24) 651162306a36Sopenharmony_ci#define PCI_CONFIG_3_PME_STATUS (1L<<25) 651262306a36Sopenharmony_ci#define PCI_CONFIG_3_PME_ENABLE (1L<<26) 651362306a36Sopenharmony_ci#define PCI_CONFIG_3_PM_STATE (0x3L<<27) 651462306a36Sopenharmony_ci#define PCI_CONFIG_3_VAUX_PRESET (1L<<30) 651562306a36Sopenharmony_ci#define PCI_CONFIG_3_PCI_POWER (1L<<31) 651662306a36Sopenharmony_ci 651762306a36Sopenharmony_ci#define GRC_BAR2_CONFIG 0x4e0 651862306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE (0xfL<<0) 651962306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE_DISABLED (0L<<0) 652062306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE_64K (1L<<0) 652162306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE_128K (2L<<0) 652262306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE_256K (3L<<0) 652362306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE_512K (4L<<0) 652462306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE_1M (5L<<0) 652562306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE_2M (6L<<0) 652662306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE_4M (7L<<0) 652762306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE_8M (8L<<0) 652862306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE_16M (9L<<0) 652962306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE_32M (10L<<0) 653062306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE_64M (11L<<0) 653162306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE_128M (12L<<0) 653262306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE_256M (13L<<0) 653362306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE_512M (14L<<0) 653462306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_SIZE_1G (15L<<0) 653562306a36Sopenharmony_ci#define PCI_CONFIG_2_BAR2_64ENA (1L<<4) 653662306a36Sopenharmony_ci 653762306a36Sopenharmony_ci#define PCI_PM_DATA_A 0x410 653862306a36Sopenharmony_ci#define PCI_PM_DATA_B 0x414 653962306a36Sopenharmony_ci#define PCI_ID_VAL1 0x434 654062306a36Sopenharmony_ci#define PCI_ID_VAL2 0x438 654162306a36Sopenharmony_ci#define PCI_ID_VAL3 0x43c 654262306a36Sopenharmony_ci 654362306a36Sopenharmony_ci#define GRC_CONFIG_REG_VF_MSIX_CONTROL 0x61C 654462306a36Sopenharmony_ci#define GRC_CONFIG_REG_PF_INIT_VF 0x624 654562306a36Sopenharmony_ci#define GRC_CR_PF_INIT_VF_PF_FIRST_VF_NUM_MASK 0xf 654662306a36Sopenharmony_ci/* First VF_NUM for PF is encoded in this register. 654762306a36Sopenharmony_ci * The number of VFs assigned to a PF is assumed to be a multiple of 8. 654862306a36Sopenharmony_ci * Software should program these bits based on Total Number of VFs \ 654962306a36Sopenharmony_ci * programmed for each PF. 655062306a36Sopenharmony_ci * Since registers from 0x000-0x7ff are split across functions, each PF will 655162306a36Sopenharmony_ci * have the same location for the same 4 bits 655262306a36Sopenharmony_ci */ 655362306a36Sopenharmony_ci 655462306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5 0x814 655562306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_UNKNOWNTYPE_ERR_ATTN (1 << 29) /*WC*/ 655662306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_BOUNDARY4K_ERR_ATTN (1 << 28) /*WC*/ 655762306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_MRRS_ERR_ATTN (1 << 27) /*WC*/ 655862306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_MPS_ERR_ATTN (1 << 26) /*WC*/ 655962306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_TTX_BRIDGE_FORWARD_ERR (1 << 25) /*WC*/ 656062306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_TTX_TXINTF_OVERFLOW (1 << 24) /*WC*/ 656162306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_PHY_ERR_ATTN (1 << 23) /*RO*/ 656262306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_DL_ERR_ATTN (1 << 22) /*RO*/ 656362306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_TTX_ERR_NP_TAG_IN_USE (1 << 21) /*WC*/ 656462306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_TRX_ERR_UNEXP_RTAG (1 << 20) /*WC*/ 656562306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_PRI_SIG_TARGET_ABORT1 (1 << 19) /*WC*/ 656662306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_UNSPPORT1 (1 << 18) /*WC*/ 656762306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_ECRC1 (1 << 17) /*WC*/ 656862306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_MALF_TLP1 (1 << 16) /*WC*/ 656962306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_RX_OFLOW1 (1 << 15) /*WC*/ 657062306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_UNEXP_CPL1 (1 << 14) /*WC*/ 657162306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_MASTER_ABRT1 (1 << 13) /*WC*/ 657262306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_CPL_TIMEOUT1 (1 << 12) /*WC*/ 657362306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_FC_PRTL1 (1 << 11) /*WC*/ 657462306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_PSND_TLP1 (1 << 10) /*WC*/ 657562306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_PRI_SIG_TARGET_ABORT (1 << 9) /*WC*/ 657662306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_UNSPPORT (1 << 8) /*WC*/ 657762306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_ECRC (1 << 7) /*WC*/ 657862306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_MALF_TLP (1 << 6) /*WC*/ 657962306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_RX_OFLOW (1 << 5) /*WC*/ 658062306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_UNEXP_CPL (1 << 4) /*WC*/ 658162306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_MASTER_ABRT (1 << 3) /*WC*/ 658262306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_CPL_TIMEOUT (1 << 2) /*WC*/ 658362306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_FC_PRTL (1 << 1) /*WC*/ 658462306a36Sopenharmony_ci#define PXPCS_TL_CONTROL_5_ERR_PSND_TLP (1 << 0) /*WC*/ 658562306a36Sopenharmony_ci 658662306a36Sopenharmony_ci 658762306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT 0x854 658862306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_PRI_SIG_TARGET_ABORT4 (1 << 29) /* WC */ 658962306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_UNSPPORT4\ 659062306a36Sopenharmony_ci (1 << 28) /* Unsupported Request Error Status in function4, if \ 659162306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen. WC */ 659262306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_ECRC4\ 659362306a36Sopenharmony_ci (1 << 27) /* ECRC Error TLP Status Status in function 4, if set, \ 659462306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 659562306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_MALF_TLP4\ 659662306a36Sopenharmony_ci (1 << 26) /* Malformed TLP Status Status in function 4, if set, \ 659762306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 659862306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_RX_OFLOW4\ 659962306a36Sopenharmony_ci (1 << 25) /* Receiver Overflow Status Status in function 4, if \ 660062306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen.. WC \ 660162306a36Sopenharmony_ci */ 660262306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_UNEXP_CPL4\ 660362306a36Sopenharmony_ci (1 << 24) /* Unexpected Completion Status Status in function 4, \ 660462306a36Sopenharmony_ci if set, generate pcie_err_attn output when this error is seen. WC \ 660562306a36Sopenharmony_ci */ 660662306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_MASTER_ABRT4\ 660762306a36Sopenharmony_ci (1 << 23) /* Receive UR Statusin function 4. If set, generate \ 660862306a36Sopenharmony_ci pcie_err_attn output when this error is seen. WC */ 660962306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_CPL_TIMEOUT4\ 661062306a36Sopenharmony_ci (1 << 22) /* Completer Timeout Status Status in function 4, if \ 661162306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen. WC */ 661262306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_FC_PRTL4\ 661362306a36Sopenharmony_ci (1 << 21) /* Flow Control Protocol Error Status Status in \ 661462306a36Sopenharmony_ci function 4, if set, generate pcie_err_attn output when this error \ 661562306a36Sopenharmony_ci is seen. WC */ 661662306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_PSND_TLP4\ 661762306a36Sopenharmony_ci (1 << 20) /* Poisoned Error Status Status in function 4, if set, \ 661862306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 661962306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_PRI_SIG_TARGET_ABORT3 (1 << 19) /* WC */ 662062306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_UNSPPORT3\ 662162306a36Sopenharmony_ci (1 << 18) /* Unsupported Request Error Status in function3, if \ 662262306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen. WC */ 662362306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_ECRC3\ 662462306a36Sopenharmony_ci (1 << 17) /* ECRC Error TLP Status Status in function 3, if set, \ 662562306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 662662306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_MALF_TLP3\ 662762306a36Sopenharmony_ci (1 << 16) /* Malformed TLP Status Status in function 3, if set, \ 662862306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 662962306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_RX_OFLOW3\ 663062306a36Sopenharmony_ci (1 << 15) /* Receiver Overflow Status Status in function 3, if \ 663162306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen.. WC \ 663262306a36Sopenharmony_ci */ 663362306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_UNEXP_CPL3\ 663462306a36Sopenharmony_ci (1 << 14) /* Unexpected Completion Status Status in function 3, \ 663562306a36Sopenharmony_ci if set, generate pcie_err_attn output when this error is seen. WC \ 663662306a36Sopenharmony_ci */ 663762306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_MASTER_ABRT3\ 663862306a36Sopenharmony_ci (1 << 13) /* Receive UR Statusin function 3. If set, generate \ 663962306a36Sopenharmony_ci pcie_err_attn output when this error is seen. WC */ 664062306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_CPL_TIMEOUT3\ 664162306a36Sopenharmony_ci (1 << 12) /* Completer Timeout Status Status in function 3, if \ 664262306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen. WC */ 664362306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_FC_PRTL3\ 664462306a36Sopenharmony_ci (1 << 11) /* Flow Control Protocol Error Status Status in \ 664562306a36Sopenharmony_ci function 3, if set, generate pcie_err_attn output when this error \ 664662306a36Sopenharmony_ci is seen. WC */ 664762306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_PSND_TLP3\ 664862306a36Sopenharmony_ci (1 << 10) /* Poisoned Error Status Status in function 3, if set, \ 664962306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 665062306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_PRI_SIG_TARGET_ABORT2 (1 << 9) /* WC */ 665162306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_UNSPPORT2\ 665262306a36Sopenharmony_ci (1 << 8) /* Unsupported Request Error Status for Function 2, if \ 665362306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen. WC */ 665462306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_ECRC2\ 665562306a36Sopenharmony_ci (1 << 7) /* ECRC Error TLP Status Status for Function 2, if set, \ 665662306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 665762306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_MALF_TLP2\ 665862306a36Sopenharmony_ci (1 << 6) /* Malformed TLP Status Status for Function 2, if set, \ 665962306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 666062306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_RX_OFLOW2\ 666162306a36Sopenharmony_ci (1 << 5) /* Receiver Overflow Status Status for Function 2, if \ 666262306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen.. WC \ 666362306a36Sopenharmony_ci */ 666462306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_UNEXP_CPL2\ 666562306a36Sopenharmony_ci (1 << 4) /* Unexpected Completion Status Status for Function 2, \ 666662306a36Sopenharmony_ci if set, generate pcie_err_attn output when this error is seen. WC \ 666762306a36Sopenharmony_ci */ 666862306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_MASTER_ABRT2\ 666962306a36Sopenharmony_ci (1 << 3) /* Receive UR Statusfor Function 2. If set, generate \ 667062306a36Sopenharmony_ci pcie_err_attn output when this error is seen. WC */ 667162306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_CPL_TIMEOUT2\ 667262306a36Sopenharmony_ci (1 << 2) /* Completer Timeout Status Status for Function 2, if \ 667362306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen. WC */ 667462306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_FC_PRTL2\ 667562306a36Sopenharmony_ci (1 << 1) /* Flow Control Protocol Error Status Status for \ 667662306a36Sopenharmony_ci Function 2, if set, generate pcie_err_attn output when this error \ 667762306a36Sopenharmony_ci is seen. WC */ 667862306a36Sopenharmony_ci#define PXPCS_TL_FUNC345_STAT_ERR_PSND_TLP2\ 667962306a36Sopenharmony_ci (1 << 0) /* Poisoned Error Status Status for Function 2, if set, \ 668062306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 668162306a36Sopenharmony_ci 668262306a36Sopenharmony_ci 668362306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT 0x85C 668462306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_PRI_SIG_TARGET_ABORT7 (1 << 29) /* WC */ 668562306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_UNSPPORT7\ 668662306a36Sopenharmony_ci (1 << 28) /* Unsupported Request Error Status in function7, if \ 668762306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen. WC */ 668862306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_ECRC7\ 668962306a36Sopenharmony_ci (1 << 27) /* ECRC Error TLP Status Status in function 7, if set, \ 669062306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 669162306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_MALF_TLP7\ 669262306a36Sopenharmony_ci (1 << 26) /* Malformed TLP Status Status in function 7, if set, \ 669362306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 669462306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_RX_OFLOW7\ 669562306a36Sopenharmony_ci (1 << 25) /* Receiver Overflow Status Status in function 7, if \ 669662306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen.. WC \ 669762306a36Sopenharmony_ci */ 669862306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_UNEXP_CPL7\ 669962306a36Sopenharmony_ci (1 << 24) /* Unexpected Completion Status Status in function 7, \ 670062306a36Sopenharmony_ci if set, generate pcie_err_attn output when this error is seen. WC \ 670162306a36Sopenharmony_ci */ 670262306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_MASTER_ABRT7\ 670362306a36Sopenharmony_ci (1 << 23) /* Receive UR Statusin function 7. If set, generate \ 670462306a36Sopenharmony_ci pcie_err_attn output when this error is seen. WC */ 670562306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_CPL_TIMEOUT7\ 670662306a36Sopenharmony_ci (1 << 22) /* Completer Timeout Status Status in function 7, if \ 670762306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen. WC */ 670862306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_FC_PRTL7\ 670962306a36Sopenharmony_ci (1 << 21) /* Flow Control Protocol Error Status Status in \ 671062306a36Sopenharmony_ci function 7, if set, generate pcie_err_attn output when this error \ 671162306a36Sopenharmony_ci is seen. WC */ 671262306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_PSND_TLP7\ 671362306a36Sopenharmony_ci (1 << 20) /* Poisoned Error Status Status in function 7, if set, \ 671462306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 671562306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_PRI_SIG_TARGET_ABORT6 (1 << 19) /* WC */ 671662306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_UNSPPORT6\ 671762306a36Sopenharmony_ci (1 << 18) /* Unsupported Request Error Status in function6, if \ 671862306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen. WC */ 671962306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_ECRC6\ 672062306a36Sopenharmony_ci (1 << 17) /* ECRC Error TLP Status Status in function 6, if set, \ 672162306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 672262306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_MALF_TLP6\ 672362306a36Sopenharmony_ci (1 << 16) /* Malformed TLP Status Status in function 6, if set, \ 672462306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 672562306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_RX_OFLOW6\ 672662306a36Sopenharmony_ci (1 << 15) /* Receiver Overflow Status Status in function 6, if \ 672762306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen.. WC \ 672862306a36Sopenharmony_ci */ 672962306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_UNEXP_CPL6\ 673062306a36Sopenharmony_ci (1 << 14) /* Unexpected Completion Status Status in function 6, \ 673162306a36Sopenharmony_ci if set, generate pcie_err_attn output when this error is seen. WC \ 673262306a36Sopenharmony_ci */ 673362306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_MASTER_ABRT6\ 673462306a36Sopenharmony_ci (1 << 13) /* Receive UR Statusin function 6. If set, generate \ 673562306a36Sopenharmony_ci pcie_err_attn output when this error is seen. WC */ 673662306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_CPL_TIMEOUT6\ 673762306a36Sopenharmony_ci (1 << 12) /* Completer Timeout Status Status in function 6, if \ 673862306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen. WC */ 673962306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_FC_PRTL6\ 674062306a36Sopenharmony_ci (1 << 11) /* Flow Control Protocol Error Status Status in \ 674162306a36Sopenharmony_ci function 6, if set, generate pcie_err_attn output when this error \ 674262306a36Sopenharmony_ci is seen. WC */ 674362306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_PSND_TLP6\ 674462306a36Sopenharmony_ci (1 << 10) /* Poisoned Error Status Status in function 6, if set, \ 674562306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 674662306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_PRI_SIG_TARGET_ABORT5 (1 << 9) /* WC */ 674762306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_UNSPPORT5\ 674862306a36Sopenharmony_ci (1 << 8) /* Unsupported Request Error Status for Function 5, if \ 674962306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen. WC */ 675062306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_ECRC5\ 675162306a36Sopenharmony_ci (1 << 7) /* ECRC Error TLP Status Status for Function 5, if set, \ 675262306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 675362306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_MALF_TLP5\ 675462306a36Sopenharmony_ci (1 << 6) /* Malformed TLP Status Status for Function 5, if set, \ 675562306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 675662306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_RX_OFLOW5\ 675762306a36Sopenharmony_ci (1 << 5) /* Receiver Overflow Status Status for Function 5, if \ 675862306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen.. WC \ 675962306a36Sopenharmony_ci */ 676062306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_UNEXP_CPL5\ 676162306a36Sopenharmony_ci (1 << 4) /* Unexpected Completion Status Status for Function 5, \ 676262306a36Sopenharmony_ci if set, generate pcie_err_attn output when this error is seen. WC \ 676362306a36Sopenharmony_ci */ 676462306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_MASTER_ABRT5\ 676562306a36Sopenharmony_ci (1 << 3) /* Receive UR Statusfor Function 5. If set, generate \ 676662306a36Sopenharmony_ci pcie_err_attn output when this error is seen. WC */ 676762306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_CPL_TIMEOUT5\ 676862306a36Sopenharmony_ci (1 << 2) /* Completer Timeout Status Status for Function 5, if \ 676962306a36Sopenharmony_ci set, generate pcie_err_attn output when this error is seen. WC */ 677062306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_FC_PRTL5\ 677162306a36Sopenharmony_ci (1 << 1) /* Flow Control Protocol Error Status Status for \ 677262306a36Sopenharmony_ci Function 5, if set, generate pcie_err_attn output when this error \ 677362306a36Sopenharmony_ci is seen. WC */ 677462306a36Sopenharmony_ci#define PXPCS_TL_FUNC678_STAT_ERR_PSND_TLP5\ 677562306a36Sopenharmony_ci (1 << 0) /* Poisoned Error Status Status for Function 5, if set, \ 677662306a36Sopenharmony_ci generate pcie_err_attn output when this error is seen.. WC */ 677762306a36Sopenharmony_ci 677862306a36Sopenharmony_ci 677962306a36Sopenharmony_ci#define BAR_USTRORM_INTMEM 0x400000 678062306a36Sopenharmony_ci#define BAR_CSTRORM_INTMEM 0x410000 678162306a36Sopenharmony_ci#define BAR_XSTRORM_INTMEM 0x420000 678262306a36Sopenharmony_ci#define BAR_TSTRORM_INTMEM 0x430000 678362306a36Sopenharmony_ci 678462306a36Sopenharmony_ci/* for accessing the IGU in case of status block ACK */ 678562306a36Sopenharmony_ci#define BAR_IGU_INTMEM 0x440000 678662306a36Sopenharmony_ci 678762306a36Sopenharmony_ci#define BAR_DOORBELL_OFFSET 0x800000 678862306a36Sopenharmony_ci 678962306a36Sopenharmony_ci#define BAR_ME_REGISTER 0x450000 679062306a36Sopenharmony_ci#define ME_REG_PF_NUM_SHIFT 0 679162306a36Sopenharmony_ci#define ME_REG_PF_NUM\ 679262306a36Sopenharmony_ci (7L<<ME_REG_PF_NUM_SHIFT) /* Relative PF Num */ 679362306a36Sopenharmony_ci#define ME_REG_VF_VALID (1<<8) 679462306a36Sopenharmony_ci#define ME_REG_VF_NUM_SHIFT 9 679562306a36Sopenharmony_ci#define ME_REG_VF_NUM_MASK (0x3f<<ME_REG_VF_NUM_SHIFT) 679662306a36Sopenharmony_ci#define ME_REG_VF_ERR (0x1<<3) 679762306a36Sopenharmony_ci#define ME_REG_ABS_PF_NUM_SHIFT 16 679862306a36Sopenharmony_ci#define ME_REG_ABS_PF_NUM\ 679962306a36Sopenharmony_ci (7L<<ME_REG_ABS_PF_NUM_SHIFT) /* Absolute PF Num */ 680062306a36Sopenharmony_ci 680162306a36Sopenharmony_ci 680262306a36Sopenharmony_ci#define PXP_VF_ADDR_IGU_START 0 680362306a36Sopenharmony_ci#define PXP_VF_ADDR_IGU_SIZE 0x3000 680462306a36Sopenharmony_ci#define PXP_VF_ADDR_IGU_END\ 680562306a36Sopenharmony_ci ((PXP_VF_ADDR_IGU_START) + (PXP_VF_ADDR_IGU_SIZE) - 1) 680662306a36Sopenharmony_ci 680762306a36Sopenharmony_ci#define PXP_VF_ADDR_USDM_QUEUES_START 0x3000 680862306a36Sopenharmony_ci#define PXP_VF_ADDR_USDM_QUEUES_SIZE\ 680962306a36Sopenharmony_ci (PXP_VF_ADRR_NUM_QUEUES * PXP_ADDR_QUEUE_SIZE) 681062306a36Sopenharmony_ci#define PXP_VF_ADDR_USDM_QUEUES_END\ 681162306a36Sopenharmony_ci ((PXP_VF_ADDR_USDM_QUEUES_START) + (PXP_VF_ADDR_USDM_QUEUES_SIZE) - 1) 681262306a36Sopenharmony_ci 681362306a36Sopenharmony_ci#define PXP_VF_ADDR_CSDM_GLOBAL_START 0x7600 681462306a36Sopenharmony_ci#define PXP_VF_ADDR_CSDM_GLOBAL_SIZE (PXP_ADDR_REG_SIZE) 681562306a36Sopenharmony_ci#define PXP_VF_ADDR_CSDM_GLOBAL_END\ 681662306a36Sopenharmony_ci ((PXP_VF_ADDR_CSDM_GLOBAL_START) + (PXP_VF_ADDR_CSDM_GLOBAL_SIZE) - 1) 681762306a36Sopenharmony_ci 681862306a36Sopenharmony_ci#define PXP_VF_ADDR_DB_START 0x7c00 681962306a36Sopenharmony_ci#define PXP_VF_ADDR_DB_SIZE 0x200 682062306a36Sopenharmony_ci#define PXP_VF_ADDR_DB_END\ 682162306a36Sopenharmony_ci ((PXP_VF_ADDR_DB_START) + (PXP_VF_ADDR_DB_SIZE) - 1) 682262306a36Sopenharmony_ci 682362306a36Sopenharmony_ci#define MDIO_REG_BANK_CL73_IEEEB0 0x0 682462306a36Sopenharmony_ci#define MDIO_CL73_IEEEB0_CL73_AN_CONTROL 0x0 682562306a36Sopenharmony_ci#define MDIO_CL73_IEEEB0_CL73_AN_CONTROL_RESTART_AN 0x0200 682662306a36Sopenharmony_ci#define MDIO_CL73_IEEEB0_CL73_AN_CONTROL_AN_EN 0x1000 682762306a36Sopenharmony_ci#define MDIO_CL73_IEEEB0_CL73_AN_CONTROL_MAIN_RST 0x8000 682862306a36Sopenharmony_ci 682962306a36Sopenharmony_ci#define MDIO_REG_BANK_CL73_IEEEB1 0x10 683062306a36Sopenharmony_ci#define MDIO_CL73_IEEEB1_AN_ADV1 0x00 683162306a36Sopenharmony_ci#define MDIO_CL73_IEEEB1_AN_ADV1_PAUSE 0x0400 683262306a36Sopenharmony_ci#define MDIO_CL73_IEEEB1_AN_ADV1_ASYMMETRIC 0x0800 683362306a36Sopenharmony_ci#define MDIO_CL73_IEEEB1_AN_ADV1_PAUSE_BOTH 0x0C00 683462306a36Sopenharmony_ci#define MDIO_CL73_IEEEB1_AN_ADV1_PAUSE_MASK 0x0C00 683562306a36Sopenharmony_ci#define MDIO_CL73_IEEEB1_AN_ADV2 0x01 683662306a36Sopenharmony_ci#define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_1000M 0x0000 683762306a36Sopenharmony_ci#define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_1000M_KX 0x0020 683862306a36Sopenharmony_ci#define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_10G_KX4 0x0040 683962306a36Sopenharmony_ci#define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_10G_KR 0x0080 684062306a36Sopenharmony_ci#define MDIO_CL73_IEEEB1_AN_LP_ADV1 0x03 684162306a36Sopenharmony_ci#define MDIO_CL73_IEEEB1_AN_LP_ADV1_PAUSE 0x0400 684262306a36Sopenharmony_ci#define MDIO_CL73_IEEEB1_AN_LP_ADV1_ASYMMETRIC 0x0800 684362306a36Sopenharmony_ci#define MDIO_CL73_IEEEB1_AN_LP_ADV1_PAUSE_BOTH 0x0C00 684462306a36Sopenharmony_ci#define MDIO_CL73_IEEEB1_AN_LP_ADV1_PAUSE_MASK 0x0C00 684562306a36Sopenharmony_ci#define MDIO_CL73_IEEEB1_AN_LP_ADV2 0x04 684662306a36Sopenharmony_ci 684762306a36Sopenharmony_ci#define MDIO_REG_BANK_RX0 0x80b0 684862306a36Sopenharmony_ci#define MDIO_RX0_RX_STATUS 0x10 684962306a36Sopenharmony_ci#define MDIO_RX0_RX_STATUS_SIGDET 0x8000 685062306a36Sopenharmony_ci#define MDIO_RX0_RX_STATUS_RX_SEQ_DONE 0x1000 685162306a36Sopenharmony_ci#define MDIO_RX0_RX_EQ_BOOST 0x1c 685262306a36Sopenharmony_ci#define MDIO_RX0_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7 685362306a36Sopenharmony_ci#define MDIO_RX0_RX_EQ_BOOST_OFFSET_CTRL 0x10 685462306a36Sopenharmony_ci 685562306a36Sopenharmony_ci#define MDIO_REG_BANK_RX1 0x80c0 685662306a36Sopenharmony_ci#define MDIO_RX1_RX_EQ_BOOST 0x1c 685762306a36Sopenharmony_ci#define MDIO_RX1_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7 685862306a36Sopenharmony_ci#define MDIO_RX1_RX_EQ_BOOST_OFFSET_CTRL 0x10 685962306a36Sopenharmony_ci 686062306a36Sopenharmony_ci#define MDIO_REG_BANK_RX2 0x80d0 686162306a36Sopenharmony_ci#define MDIO_RX2_RX_EQ_BOOST 0x1c 686262306a36Sopenharmony_ci#define MDIO_RX2_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7 686362306a36Sopenharmony_ci#define MDIO_RX2_RX_EQ_BOOST_OFFSET_CTRL 0x10 686462306a36Sopenharmony_ci 686562306a36Sopenharmony_ci#define MDIO_REG_BANK_RX3 0x80e0 686662306a36Sopenharmony_ci#define MDIO_RX3_RX_EQ_BOOST 0x1c 686762306a36Sopenharmony_ci#define MDIO_RX3_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7 686862306a36Sopenharmony_ci#define MDIO_RX3_RX_EQ_BOOST_OFFSET_CTRL 0x10 686962306a36Sopenharmony_ci 687062306a36Sopenharmony_ci#define MDIO_REG_BANK_RX_ALL 0x80f0 687162306a36Sopenharmony_ci#define MDIO_RX_ALL_RX_EQ_BOOST 0x1c 687262306a36Sopenharmony_ci#define MDIO_RX_ALL_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7 687362306a36Sopenharmony_ci#define MDIO_RX_ALL_RX_EQ_BOOST_OFFSET_CTRL 0x10 687462306a36Sopenharmony_ci 687562306a36Sopenharmony_ci#define MDIO_REG_BANK_TX0 0x8060 687662306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER 0x17 687762306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK 0xf000 687862306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_PREEMPHASIS_SHIFT 12 687962306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IDRIVER_MASK 0x0f00 688062306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IDRIVER_SHIFT 8 688162306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IPREDRIVER_MASK 0x00f0 688262306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IPREDRIVER_SHIFT 4 688362306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IFULLSPD_MASK 0x000e 688462306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IFULLSPD_SHIFT 1 688562306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_ICBUF1T 1 688662306a36Sopenharmony_ci 688762306a36Sopenharmony_ci#define MDIO_REG_BANK_TX1 0x8070 688862306a36Sopenharmony_ci#define MDIO_TX1_TX_DRIVER 0x17 688962306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK 0xf000 689062306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_PREEMPHASIS_SHIFT 12 689162306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IDRIVER_MASK 0x0f00 689262306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IDRIVER_SHIFT 8 689362306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IPREDRIVER_MASK 0x00f0 689462306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IPREDRIVER_SHIFT 4 689562306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IFULLSPD_MASK 0x000e 689662306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IFULLSPD_SHIFT 1 689762306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_ICBUF1T 1 689862306a36Sopenharmony_ci 689962306a36Sopenharmony_ci#define MDIO_REG_BANK_TX2 0x8080 690062306a36Sopenharmony_ci#define MDIO_TX2_TX_DRIVER 0x17 690162306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK 0xf000 690262306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_PREEMPHASIS_SHIFT 12 690362306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IDRIVER_MASK 0x0f00 690462306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IDRIVER_SHIFT 8 690562306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IPREDRIVER_MASK 0x00f0 690662306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IPREDRIVER_SHIFT 4 690762306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IFULLSPD_MASK 0x000e 690862306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IFULLSPD_SHIFT 1 690962306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_ICBUF1T 1 691062306a36Sopenharmony_ci 691162306a36Sopenharmony_ci#define MDIO_REG_BANK_TX3 0x8090 691262306a36Sopenharmony_ci#define MDIO_TX3_TX_DRIVER 0x17 691362306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK 0xf000 691462306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_PREEMPHASIS_SHIFT 12 691562306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IDRIVER_MASK 0x0f00 691662306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IDRIVER_SHIFT 8 691762306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IPREDRIVER_MASK 0x00f0 691862306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IPREDRIVER_SHIFT 4 691962306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IFULLSPD_MASK 0x000e 692062306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_IFULLSPD_SHIFT 1 692162306a36Sopenharmony_ci#define MDIO_TX0_TX_DRIVER_ICBUF1T 1 692262306a36Sopenharmony_ci 692362306a36Sopenharmony_ci#define MDIO_REG_BANK_XGXS_BLOCK0 0x8000 692462306a36Sopenharmony_ci#define MDIO_BLOCK0_XGXS_CONTROL 0x10 692562306a36Sopenharmony_ci 692662306a36Sopenharmony_ci#define MDIO_REG_BANK_XGXS_BLOCK1 0x8010 692762306a36Sopenharmony_ci#define MDIO_BLOCK1_LANE_CTRL0 0x15 692862306a36Sopenharmony_ci#define MDIO_BLOCK1_LANE_CTRL1 0x16 692962306a36Sopenharmony_ci#define MDIO_BLOCK1_LANE_CTRL2 0x17 693062306a36Sopenharmony_ci#define MDIO_BLOCK1_LANE_PRBS 0x19 693162306a36Sopenharmony_ci 693262306a36Sopenharmony_ci#define MDIO_REG_BANK_XGXS_BLOCK2 0x8100 693362306a36Sopenharmony_ci#define MDIO_XGXS_BLOCK2_RX_LN_SWAP 0x10 693462306a36Sopenharmony_ci#define MDIO_XGXS_BLOCK2_RX_LN_SWAP_ENABLE 0x8000 693562306a36Sopenharmony_ci#define MDIO_XGXS_BLOCK2_RX_LN_SWAP_FORCE_ENABLE 0x4000 693662306a36Sopenharmony_ci#define MDIO_XGXS_BLOCK2_TX_LN_SWAP 0x11 693762306a36Sopenharmony_ci#define MDIO_XGXS_BLOCK2_TX_LN_SWAP_ENABLE 0x8000 693862306a36Sopenharmony_ci#define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G 0x14 693962306a36Sopenharmony_ci#define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G_CX4_XGXS 0x0001 694062306a36Sopenharmony_ci#define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G_HIGIG_XGXS 0x0010 694162306a36Sopenharmony_ci#define MDIO_XGXS_BLOCK2_TEST_MODE_LANE 0x15 694262306a36Sopenharmony_ci 694362306a36Sopenharmony_ci#define MDIO_REG_BANK_GP_STATUS 0x8120 694462306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1 0x1B 694562306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_AUTONEG_COMPLETE 0x0001 694662306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_CL37_AUTONEG_COMPLETE 0x0002 694762306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_LINK_STATUS 0x0004 694862306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_DUPLEX_STATUS 0x0008 694962306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_MR_LP_NP_AN_ABLE 0x0010 695062306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_LP_NP_BAM_ABLE 0x0020 695162306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_PAUSE_RSOLUTION_TXSIDE 0x0040 695262306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_PAUSE_RSOLUTION_RXSIDE 0x0080 695362306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_MASK 0x3f00 695462306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10M 0x0000 695562306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_100M 0x0100 695662306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_1G 0x0200 695762306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_2_5G 0x0300 695862306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_5G 0x0400 695962306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_6G 0x0500 696062306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_HIG 0x0600 696162306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_CX4 0x0700 696262306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_12G_HIG 0x0800 696362306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_12_5G 0x0900 696462306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_13G 0x0A00 696562306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_15G 0x0B00 696662306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_16G 0x0C00 696762306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_1G_KX 0x0D00 696862306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_KX4 0x0E00 696962306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_KR 0x0F00 697062306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_XFI 0x1B00 697162306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_20G_DXGXS 0x1E00 697262306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_SFI 0x1F00 697362306a36Sopenharmony_ci#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_20G_KR2 0x3900 697462306a36Sopenharmony_ci 697562306a36Sopenharmony_ci 697662306a36Sopenharmony_ci#define MDIO_REG_BANK_10G_PARALLEL_DETECT 0x8130 697762306a36Sopenharmony_ci#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_STATUS 0x10 697862306a36Sopenharmony_ci#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_STATUS_PD_LINK 0x8000 697962306a36Sopenharmony_ci#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL 0x11 698062306a36Sopenharmony_ci#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL_PARDET10G_EN 0x1 698162306a36Sopenharmony_ci#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_LINK 0x13 698262306a36Sopenharmony_ci#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_LINK_CNT (0xb71<<1) 698362306a36Sopenharmony_ci 698462306a36Sopenharmony_ci#define MDIO_REG_BANK_SERDES_DIGITAL 0x8300 698562306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1 0x10 698662306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_FIBER_MODE 0x0001 698762306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_TBI_IF 0x0002 698862306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_SIGNAL_DETECT_EN 0x0004 698962306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_INVERT_SIGNAL_DETECT 0x0008 699062306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_AUTODET 0x0010 699162306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_MSTR_MODE 0x0020 699262306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2 0x11 699362306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2_PRL_DT_EN 0x0001 699462306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2_AN_FST_TMR 0x0040 699562306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1 0x14 699662306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SGMII 0x0001 699762306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_LINK 0x0002 699862306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_DUPLEX 0x0004 699962306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_MASK 0x0018 700062306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_SHIFT 3 700162306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_2_5G 0x0018 700262306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_1G 0x0010 700362306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_100M 0x0008 700462306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_10M 0x0000 700562306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_STATUS2 0x15 700662306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_A_1000X_STATUS2_AN_DISABLED 0x0002 700762306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1 0x18 700862306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_MASK 0xE000 700962306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_25M 0x0000 701062306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_100M 0x2000 701162306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_125M 0x4000 701262306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_156_25M 0x6000 701362306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_187_5M 0x8000 701462306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_SEL 0x0010 701562306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_MASK 0x000f 701662306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_2_5G 0x0000 701762306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_5G 0x0001 701862306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_6G 0x0002 701962306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_10G_HIG 0x0003 702062306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_10G_CX4 0x0004 702162306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_12G 0x0005 702262306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_12_5G 0x0006 702362306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_13G 0x0007 702462306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_15G 0x0008 702562306a36Sopenharmony_ci#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_16G 0x0009 702662306a36Sopenharmony_ci 702762306a36Sopenharmony_ci#define MDIO_REG_BANK_OVER_1G 0x8320 702862306a36Sopenharmony_ci#define MDIO_OVER_1G_DIGCTL_3_4 0x14 702962306a36Sopenharmony_ci#define MDIO_OVER_1G_DIGCTL_3_4_MP_ID_MASK 0xffe0 703062306a36Sopenharmony_ci#define MDIO_OVER_1G_DIGCTL_3_4_MP_ID_SHIFT 5 703162306a36Sopenharmony_ci#define MDIO_OVER_1G_UP1 0x19 703262306a36Sopenharmony_ci#define MDIO_OVER_1G_UP1_2_5G 0x0001 703362306a36Sopenharmony_ci#define MDIO_OVER_1G_UP1_5G 0x0002 703462306a36Sopenharmony_ci#define MDIO_OVER_1G_UP1_6G 0x0004 703562306a36Sopenharmony_ci#define MDIO_OVER_1G_UP1_10G 0x0010 703662306a36Sopenharmony_ci#define MDIO_OVER_1G_UP1_10GH 0x0008 703762306a36Sopenharmony_ci#define MDIO_OVER_1G_UP1_12G 0x0020 703862306a36Sopenharmony_ci#define MDIO_OVER_1G_UP1_12_5G 0x0040 703962306a36Sopenharmony_ci#define MDIO_OVER_1G_UP1_13G 0x0080 704062306a36Sopenharmony_ci#define MDIO_OVER_1G_UP1_15G 0x0100 704162306a36Sopenharmony_ci#define MDIO_OVER_1G_UP1_16G 0x0200 704262306a36Sopenharmony_ci#define MDIO_OVER_1G_UP2 0x1A 704362306a36Sopenharmony_ci#define MDIO_OVER_1G_UP2_IPREDRIVER_MASK 0x0007 704462306a36Sopenharmony_ci#define MDIO_OVER_1G_UP2_IDRIVER_MASK 0x0038 704562306a36Sopenharmony_ci#define MDIO_OVER_1G_UP2_PREEMPHASIS_MASK 0x03C0 704662306a36Sopenharmony_ci#define MDIO_OVER_1G_UP3 0x1B 704762306a36Sopenharmony_ci#define MDIO_OVER_1G_UP3_HIGIG2 0x0001 704862306a36Sopenharmony_ci#define MDIO_OVER_1G_LP_UP1 0x1C 704962306a36Sopenharmony_ci#define MDIO_OVER_1G_LP_UP2 0x1D 705062306a36Sopenharmony_ci#define MDIO_OVER_1G_LP_UP2_MR_ADV_OVER_1G_MASK 0x03ff 705162306a36Sopenharmony_ci#define MDIO_OVER_1G_LP_UP2_PREEMPHASIS_MASK 0x0780 705262306a36Sopenharmony_ci#define MDIO_OVER_1G_LP_UP2_PREEMPHASIS_SHIFT 7 705362306a36Sopenharmony_ci#define MDIO_OVER_1G_LP_UP3 0x1E 705462306a36Sopenharmony_ci 705562306a36Sopenharmony_ci#define MDIO_REG_BANK_REMOTE_PHY 0x8330 705662306a36Sopenharmony_ci#define MDIO_REMOTE_PHY_MISC_RX_STATUS 0x10 705762306a36Sopenharmony_ci#define MDIO_REMOTE_PHY_MISC_RX_STATUS_CL37_FSM_RECEIVED_OVER1G_MSG 0x0010 705862306a36Sopenharmony_ci#define MDIO_REMOTE_PHY_MISC_RX_STATUS_CL37_FSM_RECEIVED_BRCM_OUI_MSG 0x0600 705962306a36Sopenharmony_ci 706062306a36Sopenharmony_ci#define MDIO_REG_BANK_BAM_NEXT_PAGE 0x8350 706162306a36Sopenharmony_ci#define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL 0x10 706262306a36Sopenharmony_ci#define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL_BAM_MODE 0x0001 706362306a36Sopenharmony_ci#define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL_TETON_AN 0x0002 706462306a36Sopenharmony_ci 706562306a36Sopenharmony_ci#define MDIO_REG_BANK_CL73_USERB0 0x8370 706662306a36Sopenharmony_ci#define MDIO_CL73_USERB0_CL73_UCTRL 0x10 706762306a36Sopenharmony_ci#define MDIO_CL73_USERB0_CL73_UCTRL_USTAT1_MUXSEL 0x0002 706862306a36Sopenharmony_ci#define MDIO_CL73_USERB0_CL73_USTAT1 0x11 706962306a36Sopenharmony_ci#define MDIO_CL73_USERB0_CL73_USTAT1_LINK_STATUS_CHECK 0x0100 707062306a36Sopenharmony_ci#define MDIO_CL73_USERB0_CL73_USTAT1_AN_GOOD_CHECK_BAM37 0x0400 707162306a36Sopenharmony_ci#define MDIO_CL73_USERB0_CL73_BAM_CTRL1 0x12 707262306a36Sopenharmony_ci#define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_EN 0x8000 707362306a36Sopenharmony_ci#define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_STATION_MNGR_EN 0x4000 707462306a36Sopenharmony_ci#define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_NP_AFTER_BP_EN 0x2000 707562306a36Sopenharmony_ci#define MDIO_CL73_USERB0_CL73_BAM_CTRL3 0x14 707662306a36Sopenharmony_ci#define MDIO_CL73_USERB0_CL73_BAM_CTRL3_USE_CL73_HCD_MR 0x0001 707762306a36Sopenharmony_ci 707862306a36Sopenharmony_ci#define MDIO_REG_BANK_AER_BLOCK 0xFFD0 707962306a36Sopenharmony_ci#define MDIO_AER_BLOCK_AER_REG 0x1E 708062306a36Sopenharmony_ci 708162306a36Sopenharmony_ci#define MDIO_REG_BANK_COMBO_IEEE0 0xFFE0 708262306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_MII_CONTROL 0x10 708362306a36Sopenharmony_ci#define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_MASK 0x2040 708462306a36Sopenharmony_ci#define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_10 0x0000 708562306a36Sopenharmony_ci#define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_100 0x2000 708662306a36Sopenharmony_ci#define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_1000 0x0040 708762306a36Sopenharmony_ci#define MDIO_COMBO_IEEO_MII_CONTROL_FULL_DUPLEX 0x0100 708862306a36Sopenharmony_ci#define MDIO_COMBO_IEEO_MII_CONTROL_RESTART_AN 0x0200 708962306a36Sopenharmony_ci#define MDIO_COMBO_IEEO_MII_CONTROL_AN_EN 0x1000 709062306a36Sopenharmony_ci#define MDIO_COMBO_IEEO_MII_CONTROL_LOOPBACK 0x4000 709162306a36Sopenharmony_ci#define MDIO_COMBO_IEEO_MII_CONTROL_RESET 0x8000 709262306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_MII_STATUS 0x11 709362306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_MII_STATUS_LINK_PASS 0x0004 709462306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_MII_STATUS_AUTONEG_COMPLETE 0x0020 709562306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV 0x14 709662306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_FULL_DUPLEX 0x0020 709762306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_HALF_DUPLEX 0x0040 709862306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_MASK 0x0180 709962306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_NONE 0x0000 710062306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_SYMMETRIC 0x0080 710162306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_ASYMMETRIC 0x0100 710262306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_BOTH 0x0180 710362306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_NEXT_PAGE 0x8000 710462306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1 0x15 710562306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_NEXT_PAGE 0x8000 710662306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_ACK 0x4000 710762306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_MASK 0x0180 710862306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_NONE 0x0000 710962306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_BOTH 0x0180 711062306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_HALF_DUP_CAP 0x0040 711162306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_FULL_DUP_CAP 0x0020 711262306a36Sopenharmony_ci/*WhenthelinkpartnerisinSGMIImode(bit0=1),then 711362306a36Sopenharmony_cibit15=link,bit12=duplex,bits11:10=speed,bit14=acknowledge. 711462306a36Sopenharmony_ciTheotherbitsarereservedandshouldbezero*/ 711562306a36Sopenharmony_ci#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_SGMII_MODE 0x0001 711662306a36Sopenharmony_ci 711762306a36Sopenharmony_ci 711862306a36Sopenharmony_ci#define MDIO_PMA_DEVAD 0x1 711962306a36Sopenharmony_ci/*ieee*/ 712062306a36Sopenharmony_ci#define MDIO_PMA_REG_CTRL 0x0 712162306a36Sopenharmony_ci#define MDIO_PMA_REG_STATUS 0x1 712262306a36Sopenharmony_ci#define MDIO_PMA_REG_10G_CTRL2 0x7 712362306a36Sopenharmony_ci#define MDIO_PMA_REG_TX_DISABLE 0x0009 712462306a36Sopenharmony_ci#define MDIO_PMA_REG_RX_SD 0xa 712562306a36Sopenharmony_ci/*bcm*/ 712662306a36Sopenharmony_ci#define MDIO_PMA_REG_BCM_CTRL 0x0096 712762306a36Sopenharmony_ci#define MDIO_PMA_REG_FEC_CTRL 0x00ab 712862306a36Sopenharmony_ci#define MDIO_PMA_REG_PHY_IDENTIFIER 0xc800 712962306a36Sopenharmony_ci#define MDIO_PMA_REG_DIGITAL_CTRL 0xc808 713062306a36Sopenharmony_ci#define MDIO_PMA_REG_DIGITAL_STATUS 0xc809 713162306a36Sopenharmony_ci#define MDIO_PMA_REG_TX_POWER_DOWN 0xca02 713262306a36Sopenharmony_ci#define MDIO_PMA_REG_CMU_PLL_BYPASS 0xca09 713362306a36Sopenharmony_ci#define MDIO_PMA_REG_MISC_CTRL 0xca0a 713462306a36Sopenharmony_ci#define MDIO_PMA_REG_GEN_CTRL 0xca10 713562306a36Sopenharmony_ci#define MDIO_PMA_REG_GEN_CTRL_ROM_RESET_INTERNAL_MP 0x0188 713662306a36Sopenharmony_ci#define MDIO_PMA_REG_GEN_CTRL_ROM_MICRO_RESET 0x018a 713762306a36Sopenharmony_ci#define MDIO_PMA_REG_M8051_MSGIN_REG 0xca12 713862306a36Sopenharmony_ci#define MDIO_PMA_REG_M8051_MSGOUT_REG 0xca13 713962306a36Sopenharmony_ci#define MDIO_PMA_REG_ROM_VER1 0xca19 714062306a36Sopenharmony_ci#define MDIO_PMA_REG_ROM_VER2 0xca1a 714162306a36Sopenharmony_ci#define MDIO_PMA_REG_EDC_FFE_MAIN 0xca1b 714262306a36Sopenharmony_ci#define MDIO_PMA_REG_PLL_BANDWIDTH 0xca1d 714362306a36Sopenharmony_ci#define MDIO_PMA_REG_PLL_CTRL 0xca1e 714462306a36Sopenharmony_ci#define MDIO_PMA_REG_MISC_CTRL0 0xca23 714562306a36Sopenharmony_ci#define MDIO_PMA_REG_LRM_MODE 0xca3f 714662306a36Sopenharmony_ci#define MDIO_PMA_REG_CDR_BANDWIDTH 0xca46 714762306a36Sopenharmony_ci#define MDIO_PMA_REG_MISC_CTRL1 0xca85 714862306a36Sopenharmony_ci 714962306a36Sopenharmony_ci#define MDIO_PMA_REG_SFP_TWO_WIRE_CTRL 0x8000 715062306a36Sopenharmony_ci#define MDIO_PMA_REG_SFP_TWO_WIRE_CTRL_STATUS_MASK 0x000c 715162306a36Sopenharmony_ci#define MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_IDLE 0x0000 715262306a36Sopenharmony_ci#define MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_COMPLETE 0x0004 715362306a36Sopenharmony_ci#define MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_IN_PROGRESS 0x0008 715462306a36Sopenharmony_ci#define MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_FAILED 0x000c 715562306a36Sopenharmony_ci#define MDIO_PMA_REG_SFP_TWO_WIRE_BYTE_CNT 0x8002 715662306a36Sopenharmony_ci#define MDIO_PMA_REG_SFP_TWO_WIRE_MEM_ADDR 0x8003 715762306a36Sopenharmony_ci#define MDIO_PMA_REG_8726_TWO_WIRE_DATA_BUF 0xc820 715862306a36Sopenharmony_ci#define MDIO_PMA_REG_8726_TWO_WIRE_DATA_MASK 0xff 715962306a36Sopenharmony_ci#define MDIO_PMA_REG_8726_TX_CTRL1 0xca01 716062306a36Sopenharmony_ci#define MDIO_PMA_REG_8726_TX_CTRL2 0xca05 716162306a36Sopenharmony_ci 716262306a36Sopenharmony_ci#define MDIO_PMA_REG_8727_TWO_WIRE_SLAVE_ADDR 0x8005 716362306a36Sopenharmony_ci#define MDIO_PMA_REG_8727_TWO_WIRE_DATA_BUF 0x8007 716462306a36Sopenharmony_ci#define MDIO_PMA_REG_8727_TWO_WIRE_DATA_MASK 0xff 716562306a36Sopenharmony_ci#define MDIO_PMA_REG_8727_TX_CTRL1 0xca02 716662306a36Sopenharmony_ci#define MDIO_PMA_REG_8727_TX_CTRL2 0xca05 716762306a36Sopenharmony_ci#define MDIO_PMA_REG_8727_PCS_OPT_CTRL 0xc808 716862306a36Sopenharmony_ci#define MDIO_PMA_REG_8727_GPIO_CTRL 0xc80e 716962306a36Sopenharmony_ci#define MDIO_PMA_REG_8727_PCS_GP 0xc842 717062306a36Sopenharmony_ci#define MDIO_PMA_REG_8727_OPT_CFG_REG 0xc8e4 717162306a36Sopenharmony_ci 717262306a36Sopenharmony_ci#define MDIO_AN_REG_8727_MISC_CTRL 0x8309 717362306a36Sopenharmony_ci 717462306a36Sopenharmony_ci#define MDIO_PMA_REG_8073_CHIP_REV 0xc801 717562306a36Sopenharmony_ci#define MDIO_PMA_REG_8073_SPEED_LINK_STATUS 0xc820 717662306a36Sopenharmony_ci#define MDIO_PMA_REG_8073_XAUI_WA 0xc841 717762306a36Sopenharmony_ci#define MDIO_PMA_REG_8073_OPT_DIGITAL_CTRL 0xcd08 717862306a36Sopenharmony_ci 717962306a36Sopenharmony_ci#define MDIO_PMA_REG_7101_RESET 0xc000 718062306a36Sopenharmony_ci#define MDIO_PMA_REG_7107_LED_CNTL 0xc007 718162306a36Sopenharmony_ci#define MDIO_PMA_REG_7107_LINK_LED_CNTL 0xc009 718262306a36Sopenharmony_ci#define MDIO_PMA_REG_7101_VER1 0xc026 718362306a36Sopenharmony_ci#define MDIO_PMA_REG_7101_VER2 0xc027 718462306a36Sopenharmony_ci 718562306a36Sopenharmony_ci#define MDIO_PMA_REG_8481_PMD_SIGNAL 0xa811 718662306a36Sopenharmony_ci#define MDIO_PMA_REG_8481_LED1_MASK 0xa82c 718762306a36Sopenharmony_ci#define MDIO_PMA_REG_8481_LED2_MASK 0xa82f 718862306a36Sopenharmony_ci#define MDIO_PMA_REG_8481_LED3_MASK 0xa832 718962306a36Sopenharmony_ci#define MDIO_PMA_REG_8481_LED3_BLINK 0xa834 719062306a36Sopenharmony_ci#define MDIO_PMA_REG_8481_LED5_MASK 0xa838 719162306a36Sopenharmony_ci#define MDIO_PMA_REG_8481_SIGNAL_MASK 0xa835 719262306a36Sopenharmony_ci#define MDIO_PMA_REG_8481_LINK_SIGNAL 0xa83b 719362306a36Sopenharmony_ci#define MDIO_PMA_REG_8481_LINK_SIGNAL_LED4_ENABLE_MASK 0x800 719462306a36Sopenharmony_ci#define MDIO_PMA_REG_8481_LINK_SIGNAL_LED4_ENABLE_SHIFT 11 719562306a36Sopenharmony_ci 719662306a36Sopenharmony_ci 719762306a36Sopenharmony_ci#define MDIO_WIS_DEVAD 0x2 719862306a36Sopenharmony_ci/*bcm*/ 719962306a36Sopenharmony_ci#define MDIO_WIS_REG_LASI_CNTL 0x9002 720062306a36Sopenharmony_ci#define MDIO_WIS_REG_LASI_STATUS 0x9005 720162306a36Sopenharmony_ci 720262306a36Sopenharmony_ci#define MDIO_PCS_DEVAD 0x3 720362306a36Sopenharmony_ci#define MDIO_PCS_REG_STATUS 0x0020 720462306a36Sopenharmony_ci#define MDIO_PCS_REG_LASI_STATUS 0x9005 720562306a36Sopenharmony_ci#define MDIO_PCS_REG_7101_DSP_ACCESS 0xD000 720662306a36Sopenharmony_ci#define MDIO_PCS_REG_7101_SPI_MUX 0xD008 720762306a36Sopenharmony_ci#define MDIO_PCS_REG_7101_SPI_CTRL_ADDR 0xE12A 720862306a36Sopenharmony_ci#define MDIO_PCS_REG_7101_SPI_RESET_BIT (5) 720962306a36Sopenharmony_ci#define MDIO_PCS_REG_7101_SPI_FIFO_ADDR 0xE02A 721062306a36Sopenharmony_ci#define MDIO_PCS_REG_7101_SPI_FIFO_ADDR_WRITE_ENABLE_CMD (6) 721162306a36Sopenharmony_ci#define MDIO_PCS_REG_7101_SPI_FIFO_ADDR_BULK_ERASE_CMD (0xC7) 721262306a36Sopenharmony_ci#define MDIO_PCS_REG_7101_SPI_FIFO_ADDR_PAGE_PROGRAM_CMD (2) 721362306a36Sopenharmony_ci#define MDIO_PCS_REG_7101_SPI_BYTES_TO_TRANSFER_ADDR 0xE028 721462306a36Sopenharmony_ci 721562306a36Sopenharmony_ci 721662306a36Sopenharmony_ci#define MDIO_XS_DEVAD 0x4 721762306a36Sopenharmony_ci#define MDIO_XS_PLL_SEQUENCER 0x8000 721862306a36Sopenharmony_ci#define MDIO_XS_SFX7101_XGXS_TEST1 0xc00a 721962306a36Sopenharmony_ci 722062306a36Sopenharmony_ci#define MDIO_XS_8706_REG_BANK_RX0 0x80bc 722162306a36Sopenharmony_ci#define MDIO_XS_8706_REG_BANK_RX1 0x80cc 722262306a36Sopenharmony_ci#define MDIO_XS_8706_REG_BANK_RX2 0x80dc 722362306a36Sopenharmony_ci#define MDIO_XS_8706_REG_BANK_RX3 0x80ec 722462306a36Sopenharmony_ci#define MDIO_XS_8706_REG_BANK_RXA 0x80fc 722562306a36Sopenharmony_ci 722662306a36Sopenharmony_ci#define MDIO_XS_REG_8073_RX_CTRL_PCIE 0x80FA 722762306a36Sopenharmony_ci 722862306a36Sopenharmony_ci#define MDIO_AN_DEVAD 0x7 722962306a36Sopenharmony_ci/*ieee*/ 723062306a36Sopenharmony_ci#define MDIO_AN_REG_CTRL 0x0000 723162306a36Sopenharmony_ci#define MDIO_AN_REG_STATUS 0x0001 723262306a36Sopenharmony_ci#define MDIO_AN_REG_STATUS_AN_COMPLETE 0x0020 723362306a36Sopenharmony_ci#define MDIO_AN_REG_ADV_PAUSE 0x0010 723462306a36Sopenharmony_ci#define MDIO_AN_REG_ADV_PAUSE_PAUSE 0x0400 723562306a36Sopenharmony_ci#define MDIO_AN_REG_ADV_PAUSE_ASYMMETRIC 0x0800 723662306a36Sopenharmony_ci#define MDIO_AN_REG_ADV_PAUSE_BOTH 0x0C00 723762306a36Sopenharmony_ci#define MDIO_AN_REG_ADV_PAUSE_MASK 0x0C00 723862306a36Sopenharmony_ci#define MDIO_AN_REG_ADV 0x0011 723962306a36Sopenharmony_ci#define MDIO_AN_REG_ADV2 0x0012 724062306a36Sopenharmony_ci#define MDIO_AN_REG_LP_AUTO_NEG 0x0013 724162306a36Sopenharmony_ci#define MDIO_AN_REG_LP_AUTO_NEG2 0x0014 724262306a36Sopenharmony_ci#define MDIO_AN_REG_MASTER_STATUS 0x0021 724362306a36Sopenharmony_ci#define MDIO_AN_REG_EEE_ADV 0x003c 724462306a36Sopenharmony_ci#define MDIO_AN_REG_LP_EEE_ADV 0x003d 724562306a36Sopenharmony_ci/*bcm*/ 724662306a36Sopenharmony_ci#define MDIO_AN_REG_LINK_STATUS 0x8304 724762306a36Sopenharmony_ci#define MDIO_AN_REG_CL37_CL73 0x8370 724862306a36Sopenharmony_ci#define MDIO_AN_REG_CL37_AN 0xffe0 724962306a36Sopenharmony_ci#define MDIO_AN_REG_CL37_FC_LD 0xffe4 725062306a36Sopenharmony_ci#define MDIO_AN_REG_CL37_FC_LP 0xffe5 725162306a36Sopenharmony_ci#define MDIO_AN_REG_1000T_STATUS 0xffea 725262306a36Sopenharmony_ci 725362306a36Sopenharmony_ci#define MDIO_AN_REG_8073_2_5G 0x8329 725462306a36Sopenharmony_ci#define MDIO_AN_REG_8073_BAM 0x8350 725562306a36Sopenharmony_ci 725662306a36Sopenharmony_ci#define MDIO_AN_REG_8481_10GBASE_T_AN_CTRL 0x0020 725762306a36Sopenharmony_ci#define MDIO_AN_REG_8481_LEGACY_MII_CTRL 0xffe0 725862306a36Sopenharmony_ci#define MDIO_AN_REG_8481_MII_CTRL_FORCE_1G 0x40 725962306a36Sopenharmony_ci#define MDIO_AN_REG_8481_LEGACY_MII_STATUS 0xffe1 726062306a36Sopenharmony_ci#define MDIO_AN_REG_848xx_ID_MSB 0xffe2 726162306a36Sopenharmony_ci#define BCM84858_PHY_ID 0x600d 726262306a36Sopenharmony_ci#define MDIO_AN_REG_848xx_ID_LSB 0xffe3 726362306a36Sopenharmony_ci#define MDIO_AN_REG_8481_LEGACY_AN_ADV 0xffe4 726462306a36Sopenharmony_ci#define MDIO_AN_REG_8481_LEGACY_AN_EXPANSION 0xffe6 726562306a36Sopenharmony_ci#define MDIO_AN_REG_8481_1000T_CTRL 0xffe9 726662306a36Sopenharmony_ci#define MDIO_AN_REG_8481_1G_100T_EXT_CTRL 0xfff0 726762306a36Sopenharmony_ci#define MIDO_AN_REG_8481_EXT_CTRL_FORCE_LEDS_OFF 0x0008 726862306a36Sopenharmony_ci#define MDIO_AN_REG_8481_EXPANSION_REG_RD_RW 0xfff5 726962306a36Sopenharmony_ci#define MDIO_AN_REG_8481_EXPANSION_REG_ACCESS 0xfff7 727062306a36Sopenharmony_ci#define MDIO_AN_REG_8481_AUX_CTRL 0xfff8 727162306a36Sopenharmony_ci#define MDIO_AN_REG_8481_LEGACY_SHADOW 0xfffc 727262306a36Sopenharmony_ci 727362306a36Sopenharmony_ci/* BCM84823 only */ 727462306a36Sopenharmony_ci#define MDIO_CTL_DEVAD 0x1e 727562306a36Sopenharmony_ci#define MDIO_CTL_REG_84823_MEDIA 0x401a 727662306a36Sopenharmony_ci#define MDIO_CTL_REG_84823_MEDIA_MAC_MASK 0x0018 727762306a36Sopenharmony_ci /* These pins configure the BCM84823 interface to MAC after reset. */ 727862306a36Sopenharmony_ci#define MDIO_CTL_REG_84823_CTRL_MAC_XFI 0x0008 727962306a36Sopenharmony_ci#define MDIO_CTL_REG_84823_MEDIA_MAC_XAUI_M 0x0010 728062306a36Sopenharmony_ci /* These pins configure the BCM84823 interface to Line after reset. */ 728162306a36Sopenharmony_ci#define MDIO_CTL_REG_84823_MEDIA_LINE_MASK 0x0060 728262306a36Sopenharmony_ci#define MDIO_CTL_REG_84823_MEDIA_LINE_XAUI_L 0x0020 728362306a36Sopenharmony_ci#define MDIO_CTL_REG_84823_MEDIA_LINE_XFI 0x0040 728462306a36Sopenharmony_ci /* When this pin is active high during reset, 10GBASE-T core is power 728562306a36Sopenharmony_ci * down, When it is active low the 10GBASE-T is power up 728662306a36Sopenharmony_ci */ 728762306a36Sopenharmony_ci#define MDIO_CTL_REG_84823_MEDIA_COPPER_CORE_DOWN 0x0080 728862306a36Sopenharmony_ci#define MDIO_CTL_REG_84823_MEDIA_PRIORITY_MASK 0x0100 728962306a36Sopenharmony_ci#define MDIO_CTL_REG_84823_MEDIA_PRIORITY_COPPER 0x0000 729062306a36Sopenharmony_ci#define MDIO_CTL_REG_84823_MEDIA_PRIORITY_FIBER 0x0100 729162306a36Sopenharmony_ci#define MDIO_CTL_REG_84823_MEDIA_FIBER_1G 0x1000 729262306a36Sopenharmony_ci#define MDIO_CTL_REG_84823_USER_CTRL_REG 0x4005 729362306a36Sopenharmony_ci#define MDIO_CTL_REG_84823_USER_CTRL_CMS 0x0080 729462306a36Sopenharmony_ci#define MDIO_PMA_REG_84823_CTL_SLOW_CLK_CNT_HIGH 0xa82b 729562306a36Sopenharmony_ci#define MDIO_PMA_REG_84823_BLINK_RATE_VAL_15P9HZ 0x2f 729662306a36Sopenharmony_ci#define MDIO_PMA_REG_84823_CTL_LED_CTL_1 0xa8e3 729762306a36Sopenharmony_ci#define MDIO_PMA_REG_84833_CTL_LED_CTL_1 0xa8ec 729862306a36Sopenharmony_ci#define MDIO_PMA_REG_84823_LED3_STRETCH_EN 0x0080 729962306a36Sopenharmony_ci/* BCM84858 only */ 730062306a36Sopenharmony_ci#define MDIO_PMA_REG_84858_ALLOW_GPHY_ACT 0x8000 730162306a36Sopenharmony_ci 730262306a36Sopenharmony_ci/* BCM84833 only */ 730362306a36Sopenharmony_ci#define MDIO_84833_TOP_CFG_FW_REV 0x400f 730462306a36Sopenharmony_ci#define MDIO_84833_TOP_CFG_FW_EEE 0x10b1 730562306a36Sopenharmony_ci#define MDIO_84833_TOP_CFG_FW_NO_EEE 0x1f81 730662306a36Sopenharmony_ci#define MDIO_84833_TOP_CFG_XGPHY_STRAP1 0x401a 730762306a36Sopenharmony_ci#define MDIO_84833_SUPER_ISOLATE 0x8000 730862306a36Sopenharmony_ci/* These are mailbox register set used by 84833/84858. */ 730962306a36Sopenharmony_ci#define MDIO_848xx_TOP_CFG_SCRATCH_REG0 0x4005 731062306a36Sopenharmony_ci#define MDIO_848xx_TOP_CFG_SCRATCH_REG1 0x4006 731162306a36Sopenharmony_ci#define MDIO_848xx_TOP_CFG_SCRATCH_REG2 0x4007 731262306a36Sopenharmony_ci#define MDIO_848xx_TOP_CFG_SCRATCH_REG3 0x4008 731362306a36Sopenharmony_ci#define MDIO_848xx_TOP_CFG_SCRATCH_REG4 0x4009 731462306a36Sopenharmony_ci#define MDIO_848xx_TOP_CFG_SCRATCH_REG26 0x4037 731562306a36Sopenharmony_ci#define MDIO_848xx_TOP_CFG_SCRATCH_REG27 0x4038 731662306a36Sopenharmony_ci#define MDIO_848xx_TOP_CFG_SCRATCH_REG28 0x4039 731762306a36Sopenharmony_ci#define MDIO_848xx_TOP_CFG_SCRATCH_REG29 0x403a 731862306a36Sopenharmony_ci#define MDIO_848xx_TOP_CFG_SCRATCH_REG30 0x403b 731962306a36Sopenharmony_ci#define MDIO_848xx_TOP_CFG_SCRATCH_REG31 0x403c 732062306a36Sopenharmony_ci#define MDIO_848xx_CMD_HDLR_COMMAND (MDIO_848xx_TOP_CFG_SCRATCH_REG0) 732162306a36Sopenharmony_ci#define MDIO_848xx_CMD_HDLR_STATUS (MDIO_848xx_TOP_CFG_SCRATCH_REG26) 732262306a36Sopenharmony_ci#define MDIO_848xx_CMD_HDLR_DATA1 (MDIO_848xx_TOP_CFG_SCRATCH_REG27) 732362306a36Sopenharmony_ci#define MDIO_848xx_CMD_HDLR_DATA2 (MDIO_848xx_TOP_CFG_SCRATCH_REG28) 732462306a36Sopenharmony_ci#define MDIO_848xx_CMD_HDLR_DATA3 (MDIO_848xx_TOP_CFG_SCRATCH_REG29) 732562306a36Sopenharmony_ci#define MDIO_848xx_CMD_HDLR_DATA4 (MDIO_848xx_TOP_CFG_SCRATCH_REG30) 732662306a36Sopenharmony_ci#define MDIO_848xx_CMD_HDLR_DATA5 (MDIO_848xx_TOP_CFG_SCRATCH_REG31) 732762306a36Sopenharmony_ci 732862306a36Sopenharmony_ci/* Mailbox command set used by 84833/84858 */ 732962306a36Sopenharmony_ci#define PHY848xx_CMD_SET_PAIR_SWAP 0x8001 733062306a36Sopenharmony_ci#define PHY848xx_CMD_GET_EEE_MODE 0x8008 733162306a36Sopenharmony_ci#define PHY848xx_CMD_SET_EEE_MODE 0x8009 733262306a36Sopenharmony_ci/* Mailbox status set used by 84833 only */ 733362306a36Sopenharmony_ci#define PHY84833_STATUS_CMD_RECEIVED 0x0001 733462306a36Sopenharmony_ci#define PHY84833_STATUS_CMD_IN_PROGRESS 0x0002 733562306a36Sopenharmony_ci#define PHY84833_STATUS_CMD_COMPLETE_PASS 0x0004 733662306a36Sopenharmony_ci#define PHY84833_STATUS_CMD_COMPLETE_ERROR 0x0008 733762306a36Sopenharmony_ci#define PHY84833_STATUS_CMD_OPEN_FOR_CMDS 0x0010 733862306a36Sopenharmony_ci#define PHY84833_STATUS_CMD_SYSTEM_BOOT 0x0020 733962306a36Sopenharmony_ci#define PHY84833_STATUS_CMD_NOT_OPEN_FOR_CMDS 0x0040 734062306a36Sopenharmony_ci#define PHY84833_STATUS_CMD_CLEAR_COMPLETE 0x0080 734162306a36Sopenharmony_ci#define PHY84833_STATUS_CMD_OPEN_OVERRIDE 0xa5a5 734262306a36Sopenharmony_ci/* Mailbox Process */ 734362306a36Sopenharmony_ci#define PHY84833_MB_PROCESS1 1 734462306a36Sopenharmony_ci#define PHY84833_MB_PROCESS2 2 734562306a36Sopenharmony_ci#define PHY84833_MB_PROCESS3 3 734662306a36Sopenharmony_ci 734762306a36Sopenharmony_ci/* Mailbox status set used by 84858 only */ 734862306a36Sopenharmony_ci#define PHY84858_STATUS_CMD_RECEIVED 0x0001 734962306a36Sopenharmony_ci#define PHY84858_STATUS_CMD_IN_PROGRESS 0x0002 735062306a36Sopenharmony_ci#define PHY84858_STATUS_CMD_COMPLETE_PASS 0x0004 735162306a36Sopenharmony_ci#define PHY84858_STATUS_CMD_COMPLETE_ERROR 0x0008 735262306a36Sopenharmony_ci#define PHY84858_STATUS_CMD_SYSTEM_BUSY 0xbbbb 735362306a36Sopenharmony_ci 735462306a36Sopenharmony_ci 735562306a36Sopenharmony_ci/* Warpcore clause 45 addressing */ 735662306a36Sopenharmony_ci#define MDIO_WC_DEVAD 0x3 735762306a36Sopenharmony_ci#define MDIO_WC_REG_IEEE0BLK_MIICNTL 0x0 735862306a36Sopenharmony_ci#define MDIO_WC_REG_IEEE0BLK_AUTONEGNP 0x7 735962306a36Sopenharmony_ci#define MDIO_WC_REG_AN_IEEE1BLK_AN_ADVERTISEMENT0 0x10 736062306a36Sopenharmony_ci#define MDIO_WC_REG_AN_IEEE1BLK_AN_ADVERTISEMENT1 0x11 736162306a36Sopenharmony_ci#define MDIO_WC_REG_AN_IEEE1BLK_AN_ADVERTISEMENT2 0x12 736262306a36Sopenharmony_ci#define MDIO_WC_REG_AN_IEEE1BLK_AN_ADV2_FEC_ABILITY 0x4000 736362306a36Sopenharmony_ci#define MDIO_WC_REG_AN_IEEE1BLK_AN_ADV2_FEC_REQ 0x8000 736462306a36Sopenharmony_ci#define MDIO_WC_REG_PCS_STATUS2 0x0021 736562306a36Sopenharmony_ci#define MDIO_WC_REG_PMD_KR_CONTROL 0x0096 736662306a36Sopenharmony_ci#define MDIO_WC_REG_XGXSBLK0_XGXSCONTROL 0x8000 736762306a36Sopenharmony_ci#define MDIO_WC_REG_XGXSBLK0_MISCCONTROL1 0x800e 736862306a36Sopenharmony_ci#define MDIO_WC_REG_XGXSBLK1_DESKEW 0x8010 736962306a36Sopenharmony_ci#define MDIO_WC_REG_XGXSBLK1_LANECTRL0 0x8015 737062306a36Sopenharmony_ci#define MDIO_WC_REG_XGXSBLK1_LANECTRL1 0x8016 737162306a36Sopenharmony_ci#define MDIO_WC_REG_XGXSBLK1_LANECTRL2 0x8017 737262306a36Sopenharmony_ci#define MDIO_WC_REG_TX0_ANA_CTRL0 0x8061 737362306a36Sopenharmony_ci#define MDIO_WC_REG_TX1_ANA_CTRL0 0x8071 737462306a36Sopenharmony_ci#define MDIO_WC_REG_TX2_ANA_CTRL0 0x8081 737562306a36Sopenharmony_ci#define MDIO_WC_REG_TX3_ANA_CTRL0 0x8091 737662306a36Sopenharmony_ci#define MDIO_WC_REG_TX0_TX_DRIVER 0x8067 737762306a36Sopenharmony_ci#define MDIO_WC_REG_TX0_TX_DRIVER_IFIR_OFFSET 0x01 737862306a36Sopenharmony_ci#define MDIO_WC_REG_TX0_TX_DRIVER_IFIR_MASK 0x000e 737962306a36Sopenharmony_ci#define MDIO_WC_REG_TX0_TX_DRIVER_IPRE_DRIVER_OFFSET 0x04 738062306a36Sopenharmony_ci#define MDIO_WC_REG_TX0_TX_DRIVER_IPRE_DRIVER_MASK 0x00f0 738162306a36Sopenharmony_ci#define MDIO_WC_REG_TX0_TX_DRIVER_IDRIVER_OFFSET 0x08 738262306a36Sopenharmony_ci#define MDIO_WC_REG_TX0_TX_DRIVER_IDRIVER_MASK 0x0f00 738362306a36Sopenharmony_ci#define MDIO_WC_REG_TX0_TX_DRIVER_POST2_COEFF_OFFSET 0x0c 738462306a36Sopenharmony_ci#define MDIO_WC_REG_TX0_TX_DRIVER_POST2_COEFF_MASK 0x7000 738562306a36Sopenharmony_ci#define MDIO_WC_REG_TX1_TX_DRIVER 0x8077 738662306a36Sopenharmony_ci#define MDIO_WC_REG_TX2_TX_DRIVER 0x8087 738762306a36Sopenharmony_ci#define MDIO_WC_REG_TX3_TX_DRIVER 0x8097 738862306a36Sopenharmony_ci#define MDIO_WC_REG_RX0_ANARXCONTROL1G 0x80b9 738962306a36Sopenharmony_ci#define MDIO_WC_REG_RX2_ANARXCONTROL1G 0x80d9 739062306a36Sopenharmony_ci#define MDIO_WC_REG_RX0_PCI_CTRL 0x80ba 739162306a36Sopenharmony_ci#define MDIO_WC_REG_RX1_PCI_CTRL 0x80ca 739262306a36Sopenharmony_ci#define MDIO_WC_REG_RX2_PCI_CTRL 0x80da 739362306a36Sopenharmony_ci#define MDIO_WC_REG_RX3_PCI_CTRL 0x80ea 739462306a36Sopenharmony_ci#define MDIO_WC_REG_RXB_ANA_RX_CONTROL_PCI 0x80fa 739562306a36Sopenharmony_ci#define MDIO_WC_REG_XGXSBLK2_UNICORE_MODE_10G 0x8104 739662306a36Sopenharmony_ci#define MDIO_WC_REG_XGXS_STATUS3 0x8129 739762306a36Sopenharmony_ci#define MDIO_WC_REG_PAR_DET_10G_STATUS 0x8130 739862306a36Sopenharmony_ci#define MDIO_WC_REG_PAR_DET_10G_CTRL 0x8131 739962306a36Sopenharmony_ci#define MDIO_WC_REG_XGXS_X2_CONTROL2 0x8141 740062306a36Sopenharmony_ci#define MDIO_WC_REG_XGXS_X2_CONTROL3 0x8142 740162306a36Sopenharmony_ci#define MDIO_WC_REG_XGXS_RX_LN_SWAP1 0x816B 740262306a36Sopenharmony_ci#define MDIO_WC_REG_XGXS_TX_LN_SWAP1 0x8169 740362306a36Sopenharmony_ci#define MDIO_WC_REG_GP2_STATUS_GP_2_0 0x81d0 740462306a36Sopenharmony_ci#define MDIO_WC_REG_GP2_STATUS_GP_2_1 0x81d1 740562306a36Sopenharmony_ci#define MDIO_WC_REG_GP2_STATUS_GP_2_2 0x81d2 740662306a36Sopenharmony_ci#define MDIO_WC_REG_GP2_STATUS_GP_2_3 0x81d3 740762306a36Sopenharmony_ci#define MDIO_WC_REG_GP2_STATUS_GP_2_4 0x81d4 740862306a36Sopenharmony_ci#define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL73_AN_CMPL 0x1000 740962306a36Sopenharmony_ci#define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL37_AN_CMPL 0x0100 741062306a36Sopenharmony_ci#define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL37_LP_AN_CAP 0x0010 741162306a36Sopenharmony_ci#define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL37_AN_CAP 0x1 741262306a36Sopenharmony_ci#define MDIO_WC_REG_UC_INFO_B0_DEAD_TRAP 0x81EE 741362306a36Sopenharmony_ci#define MDIO_WC_REG_UC_INFO_B1_VERSION 0x81F0 741462306a36Sopenharmony_ci#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE 0x81F2 741562306a36Sopenharmony_ci#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE0_OFFSET 0x0 741662306a36Sopenharmony_ci#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_DEFAULT 0x0 741762306a36Sopenharmony_ci#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_OPT_LR 0x1 741862306a36Sopenharmony_ci#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_DAC 0x2 741962306a36Sopenharmony_ci#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_XLAUI 0x3 742062306a36Sopenharmony_ci#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_LONG_CH_6G 0x4 742162306a36Sopenharmony_ci#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE1_OFFSET 0x4 742262306a36Sopenharmony_ci#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE2_OFFSET 0x8 742362306a36Sopenharmony_ci#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE3_OFFSET 0xc 742462306a36Sopenharmony_ci#define MDIO_WC_REG_UC_INFO_B1_CRC 0x81FE 742562306a36Sopenharmony_ci#define MDIO_WC_REG_DSC_SMC 0x8213 742662306a36Sopenharmony_ci#define MDIO_WC_REG_DSC2B0_DSC_MISC_CTRL0 0x821e 742762306a36Sopenharmony_ci#define MDIO_WC_REG_TX_FIR_TAP 0x82e2 742862306a36Sopenharmony_ci#define MDIO_WC_REG_TX_FIR_TAP_PRE_TAP_OFFSET 0x00 742962306a36Sopenharmony_ci#define MDIO_WC_REG_TX_FIR_TAP_PRE_TAP_MASK 0x000f 743062306a36Sopenharmony_ci#define MDIO_WC_REG_TX_FIR_TAP_MAIN_TAP_OFFSET 0x04 743162306a36Sopenharmony_ci#define MDIO_WC_REG_TX_FIR_TAP_MAIN_TAP_MASK 0x03f0 743262306a36Sopenharmony_ci#define MDIO_WC_REG_TX_FIR_TAP_POST_TAP_OFFSET 0x0a 743362306a36Sopenharmony_ci#define MDIO_WC_REG_TX_FIR_TAP_POST_TAP_MASK 0x7c00 743462306a36Sopenharmony_ci#define MDIO_WC_REG_TX_FIR_TAP_ENABLE 0x8000 743562306a36Sopenharmony_ci#define MDIO_WC_REG_CL72_USERB0_CL72_TX_FIR_TAP 0x82e2 743662306a36Sopenharmony_ci#define MDIO_WC_REG_CL72_USERB0_CL72_MISC1_CONTROL 0x82e3 743762306a36Sopenharmony_ci#define MDIO_WC_REG_CL72_USERB0_CL72_OS_DEF_CTRL 0x82e6 743862306a36Sopenharmony_ci#define MDIO_WC_REG_CL72_USERB0_CL72_BR_DEF_CTRL 0x82e7 743962306a36Sopenharmony_ci#define MDIO_WC_REG_CL72_USERB0_CL72_2P5_DEF_CTRL 0x82e8 744062306a36Sopenharmony_ci#define MDIO_WC_REG_CL72_USERB0_CL72_MISC4_CONTROL 0x82ec 744162306a36Sopenharmony_ci#define MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X1 0x8300 744262306a36Sopenharmony_ci#define MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X2 0x8301 744362306a36Sopenharmony_ci#define MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X3 0x8302 744462306a36Sopenharmony_ci#define MDIO_WC_REG_SERDESDIGITAL_STATUS1000X1 0x8304 744562306a36Sopenharmony_ci#define MDIO_WC_REG_SERDESDIGITAL_MISC1 0x8308 744662306a36Sopenharmony_ci#define MDIO_WC_REG_SERDESDIGITAL_MISC2 0x8309 744762306a36Sopenharmony_ci#define MDIO_WC_REG_DIGITAL3_UP1 0x8329 744862306a36Sopenharmony_ci#define MDIO_WC_REG_DIGITAL3_LP_UP1 0x832c 744962306a36Sopenharmony_ci#define MDIO_WC_REG_DIGITAL4_MISC3 0x833c 745062306a36Sopenharmony_ci#define MDIO_WC_REG_DIGITAL4_MISC5 0x833e 745162306a36Sopenharmony_ci#define MDIO_WC_REG_DIGITAL5_MISC6 0x8345 745262306a36Sopenharmony_ci#define MDIO_WC_REG_DIGITAL5_MISC7 0x8349 745362306a36Sopenharmony_ci#define MDIO_WC_REG_DIGITAL5_LINK_STATUS 0x834d 745462306a36Sopenharmony_ci#define MDIO_WC_REG_DIGITAL5_ACTUAL_SPEED 0x834e 745562306a36Sopenharmony_ci#define MDIO_WC_REG_DIGITAL6_MP5_NEXTPAGECTRL 0x8350 745662306a36Sopenharmony_ci#define MDIO_WC_REG_CL49_USERB0_CTRL 0x8368 745762306a36Sopenharmony_ci#define MDIO_WC_REG_CL73_USERB0_CTRL 0x8370 745862306a36Sopenharmony_ci#define MDIO_WC_REG_CL73_USERB0_USTAT 0x8371 745962306a36Sopenharmony_ci#define MDIO_WC_REG_CL73_BAM_CTRL1 0x8372 746062306a36Sopenharmony_ci#define MDIO_WC_REG_CL73_BAM_CTRL2 0x8373 746162306a36Sopenharmony_ci#define MDIO_WC_REG_CL73_BAM_CTRL3 0x8374 746262306a36Sopenharmony_ci#define MDIO_WC_REG_CL73_BAM_CODE_FIELD 0x837b 746362306a36Sopenharmony_ci#define MDIO_WC_REG_EEE_COMBO_CONTROL0 0x8390 746462306a36Sopenharmony_ci#define MDIO_WC_REG_TX66_CONTROL 0x83b0 746562306a36Sopenharmony_ci#define MDIO_WC_REG_RX66_CONTROL 0x83c0 746662306a36Sopenharmony_ci#define MDIO_WC_REG_RX66_SCW0 0x83c2 746762306a36Sopenharmony_ci#define MDIO_WC_REG_RX66_SCW1 0x83c3 746862306a36Sopenharmony_ci#define MDIO_WC_REG_RX66_SCW2 0x83c4 746962306a36Sopenharmony_ci#define MDIO_WC_REG_RX66_SCW3 0x83c5 747062306a36Sopenharmony_ci#define MDIO_WC_REG_RX66_SCW0_MASK 0x83c6 747162306a36Sopenharmony_ci#define MDIO_WC_REG_RX66_SCW1_MASK 0x83c7 747262306a36Sopenharmony_ci#define MDIO_WC_REG_RX66_SCW2_MASK 0x83c8 747362306a36Sopenharmony_ci#define MDIO_WC_REG_RX66_SCW3_MASK 0x83c9 747462306a36Sopenharmony_ci#define MDIO_WC_REG_FX100_CTRL1 0x8400 747562306a36Sopenharmony_ci#define MDIO_WC_REG_FX100_CTRL3 0x8402 747662306a36Sopenharmony_ci#define MDIO_WC_REG_CL82_USERB1_TX_CTRL5 0x8436 747762306a36Sopenharmony_ci#define MDIO_WC_REG_CL82_USERB1_TX_CTRL6 0x8437 747862306a36Sopenharmony_ci#define MDIO_WC_REG_CL82_USERB1_TX_CTRL7 0x8438 747962306a36Sopenharmony_ci#define MDIO_WC_REG_CL82_USERB1_TX_CTRL9 0x8439 748062306a36Sopenharmony_ci#define MDIO_WC_REG_CL82_USERB1_RX_CTRL10 0x843a 748162306a36Sopenharmony_ci#define MDIO_WC_REG_CL82_USERB1_RX_CTRL11 0x843b 748262306a36Sopenharmony_ci#define MDIO_WC_REG_ETA_CL73_OUI1 0x8453 748362306a36Sopenharmony_ci#define MDIO_WC_REG_ETA_CL73_OUI2 0x8454 748462306a36Sopenharmony_ci#define MDIO_WC_REG_ETA_CL73_OUI3 0x8455 748562306a36Sopenharmony_ci#define MDIO_WC_REG_ETA_CL73_LD_BAM_CODE 0x8456 748662306a36Sopenharmony_ci#define MDIO_WC_REG_ETA_CL73_LD_UD_CODE 0x8457 748762306a36Sopenharmony_ci#define MDIO_WC_REG_MICROBLK_CMD 0xffc2 748862306a36Sopenharmony_ci#define MDIO_WC_REG_MICROBLK_DL_STATUS 0xffc5 748962306a36Sopenharmony_ci#define MDIO_WC_REG_MICROBLK_CMD3 0xffcc 749062306a36Sopenharmony_ci 749162306a36Sopenharmony_ci#define MDIO_WC_REG_AERBLK_AER 0xffde 749262306a36Sopenharmony_ci#define MDIO_WC_REG_COMBO_IEEE0_MIICTRL 0xffe0 749362306a36Sopenharmony_ci#define MDIO_WC_REG_COMBO_IEEE0_MIIISTAT 0xffe1 749462306a36Sopenharmony_ci 749562306a36Sopenharmony_ci#define MDIO_WC0_XGXS_BLK2_LANE_RESET 0x810A 749662306a36Sopenharmony_ci#define MDIO_WC0_XGXS_BLK2_LANE_RESET_RX_BITSHIFT 0 749762306a36Sopenharmony_ci#define MDIO_WC0_XGXS_BLK2_LANE_RESET_TX_BITSHIFT 4 749862306a36Sopenharmony_ci 749962306a36Sopenharmony_ci#define MDIO_WC0_XGXS_BLK6_XGXS_X2_CONTROL2 0x8141 750062306a36Sopenharmony_ci 750162306a36Sopenharmony_ci#define DIGITAL5_ACTUAL_SPEED_TX_MASK 0x003f 750262306a36Sopenharmony_ci 750362306a36Sopenharmony_ci/* 54618se */ 750462306a36Sopenharmony_ci#define MDIO_REG_GPHY_PHYID_LSB 0x3 750562306a36Sopenharmony_ci#define MDIO_REG_GPHY_ID_54618SE 0x5cd5 750662306a36Sopenharmony_ci#define MDIO_REG_GPHY_CL45_ADDR_REG 0xd 750762306a36Sopenharmony_ci#define MDIO_REG_GPHY_CL45_DATA_REG 0xe 750862306a36Sopenharmony_ci#define MDIO_REG_GPHY_EEE_RESOLVED 0x803e 750962306a36Sopenharmony_ci#define MDIO_REG_GPHY_EXP_ACCESS_GATE 0x15 751062306a36Sopenharmony_ci#define MDIO_REG_GPHY_EXP_ACCESS 0x17 751162306a36Sopenharmony_ci#define MDIO_REG_GPHY_EXP_ACCESS_TOP 0xd00 751262306a36Sopenharmony_ci#define MDIO_REG_GPHY_EXP_TOP_2K_BUF 0x40 751362306a36Sopenharmony_ci#define MDIO_REG_GPHY_AUX_STATUS 0x19 751462306a36Sopenharmony_ci#define MDIO_REG_INTR_STATUS 0x1a 751562306a36Sopenharmony_ci#define MDIO_REG_INTR_MASK 0x1b 751662306a36Sopenharmony_ci#define MDIO_REG_INTR_MASK_LINK_STATUS (0x1 << 1) 751762306a36Sopenharmony_ci#define MDIO_REG_GPHY_SHADOW 0x1c 751862306a36Sopenharmony_ci#define MDIO_REG_GPHY_SHADOW_LED_SEL1 (0x0d << 10) 751962306a36Sopenharmony_ci#define MDIO_REG_GPHY_SHADOW_LED_SEL2 (0x0e << 10) 752062306a36Sopenharmony_ci#define MDIO_REG_GPHY_SHADOW_WR_ENA (0x1 << 15) 752162306a36Sopenharmony_ci#define MDIO_REG_GPHY_SHADOW_AUTO_DET_MED (0x1e << 10) 752262306a36Sopenharmony_ci#define MDIO_REG_GPHY_SHADOW_INVERT_FIB_SD (0x1 << 8) 752362306a36Sopenharmony_ci 752462306a36Sopenharmony_ci#define IGU_FUNC_BASE 0x0400 752562306a36Sopenharmony_ci 752662306a36Sopenharmony_ci#define IGU_ADDR_MSIX 0x0000 752762306a36Sopenharmony_ci#define IGU_ADDR_INT_ACK 0x0200 752862306a36Sopenharmony_ci#define IGU_ADDR_PROD_UPD 0x0201 752962306a36Sopenharmony_ci#define IGU_ADDR_ATTN_BITS_UPD 0x0202 753062306a36Sopenharmony_ci#define IGU_ADDR_ATTN_BITS_SET 0x0203 753162306a36Sopenharmony_ci#define IGU_ADDR_ATTN_BITS_CLR 0x0204 753262306a36Sopenharmony_ci#define IGU_ADDR_COALESCE_NOW 0x0205 753362306a36Sopenharmony_ci#define IGU_ADDR_SIMD_MASK 0x0206 753462306a36Sopenharmony_ci#define IGU_ADDR_SIMD_NOMASK 0x0207 753562306a36Sopenharmony_ci#define IGU_ADDR_MSI_CTL 0x0210 753662306a36Sopenharmony_ci#define IGU_ADDR_MSI_ADDR_LO 0x0211 753762306a36Sopenharmony_ci#define IGU_ADDR_MSI_ADDR_HI 0x0212 753862306a36Sopenharmony_ci#define IGU_ADDR_MSI_DATA 0x0213 753962306a36Sopenharmony_ci 754062306a36Sopenharmony_ci#define IGU_USE_REGISTER_ustorm_type_0_sb_cleanup 0 754162306a36Sopenharmony_ci#define IGU_USE_REGISTER_ustorm_type_1_sb_cleanup 1 754262306a36Sopenharmony_ci#define IGU_USE_REGISTER_cstorm_type_0_sb_cleanup 2 754362306a36Sopenharmony_ci#define IGU_USE_REGISTER_cstorm_type_1_sb_cleanup 3 754462306a36Sopenharmony_ci 754562306a36Sopenharmony_ci#define COMMAND_REG_INT_ACK 0x0 754662306a36Sopenharmony_ci#define COMMAND_REG_PROD_UPD 0x4 754762306a36Sopenharmony_ci#define COMMAND_REG_ATTN_BITS_UPD 0x8 754862306a36Sopenharmony_ci#define COMMAND_REG_ATTN_BITS_SET 0xc 754962306a36Sopenharmony_ci#define COMMAND_REG_ATTN_BITS_CLR 0x10 755062306a36Sopenharmony_ci#define COMMAND_REG_COALESCE_NOW 0x14 755162306a36Sopenharmony_ci#define COMMAND_REG_SIMD_MASK 0x18 755262306a36Sopenharmony_ci#define COMMAND_REG_SIMD_NOMASK 0x1c 755362306a36Sopenharmony_ci 755462306a36Sopenharmony_ci 755562306a36Sopenharmony_ci#define IGU_MEM_BASE 0x0000 755662306a36Sopenharmony_ci 755762306a36Sopenharmony_ci#define IGU_MEM_MSIX_BASE 0x0000 755862306a36Sopenharmony_ci#define IGU_MEM_MSIX_UPPER 0x007f 755962306a36Sopenharmony_ci#define IGU_MEM_MSIX_RESERVED_UPPER 0x01ff 756062306a36Sopenharmony_ci 756162306a36Sopenharmony_ci#define IGU_MEM_PBA_MSIX_BASE 0x0200 756262306a36Sopenharmony_ci#define IGU_MEM_PBA_MSIX_UPPER 0x0200 756362306a36Sopenharmony_ci 756462306a36Sopenharmony_ci#define IGU_CMD_BACKWARD_COMP_PROD_UPD 0x0201 756562306a36Sopenharmony_ci#define IGU_MEM_PBA_MSIX_RESERVED_UPPER 0x03ff 756662306a36Sopenharmony_ci 756762306a36Sopenharmony_ci#define IGU_CMD_INT_ACK_BASE 0x0400 756862306a36Sopenharmony_ci#define IGU_CMD_INT_ACK_UPPER\ 756962306a36Sopenharmony_ci (IGU_CMD_INT_ACK_BASE + MAX_SB_PER_PORT * NUM_OF_PORTS_PER_PATH - 1) 757062306a36Sopenharmony_ci#define IGU_CMD_INT_ACK_RESERVED_UPPER 0x04ff 757162306a36Sopenharmony_ci 757262306a36Sopenharmony_ci#define IGU_CMD_E2_PROD_UPD_BASE 0x0500 757362306a36Sopenharmony_ci#define IGU_CMD_E2_PROD_UPD_UPPER\ 757462306a36Sopenharmony_ci (IGU_CMD_E2_PROD_UPD_BASE + MAX_SB_PER_PORT * NUM_OF_PORTS_PER_PATH - 1) 757562306a36Sopenharmony_ci#define IGU_CMD_E2_PROD_UPD_RESERVED_UPPER 0x059f 757662306a36Sopenharmony_ci 757762306a36Sopenharmony_ci#define IGU_CMD_ATTN_BIT_UPD_UPPER 0x05a0 757862306a36Sopenharmony_ci#define IGU_CMD_ATTN_BIT_SET_UPPER 0x05a1 757962306a36Sopenharmony_ci#define IGU_CMD_ATTN_BIT_CLR_UPPER 0x05a2 758062306a36Sopenharmony_ci 758162306a36Sopenharmony_ci#define IGU_REG_SISR_MDPC_WMASK_UPPER 0x05a3 758262306a36Sopenharmony_ci#define IGU_REG_SISR_MDPC_WMASK_LSB_UPPER 0x05a4 758362306a36Sopenharmony_ci#define IGU_REG_SISR_MDPC_WMASK_MSB_UPPER 0x05a5 758462306a36Sopenharmony_ci#define IGU_REG_SISR_MDPC_WOMASK_UPPER 0x05a6 758562306a36Sopenharmony_ci 758662306a36Sopenharmony_ci#define IGU_REG_RESERVED_UPPER 0x05ff 758762306a36Sopenharmony_ci/* Fields of IGU PF CONFIGURATION REGISTER */ 758862306a36Sopenharmony_ci#define IGU_PF_CONF_FUNC_EN (0x1<<0) /* function enable */ 758962306a36Sopenharmony_ci#define IGU_PF_CONF_MSI_MSIX_EN (0x1<<1) /* MSI/MSIX enable */ 759062306a36Sopenharmony_ci#define IGU_PF_CONF_INT_LINE_EN (0x1<<2) /* INT enable */ 759162306a36Sopenharmony_ci#define IGU_PF_CONF_ATTN_BIT_EN (0x1<<3) /* attention enable */ 759262306a36Sopenharmony_ci#define IGU_PF_CONF_SINGLE_ISR_EN (0x1<<4) /* single ISR mode enable */ 759362306a36Sopenharmony_ci#define IGU_PF_CONF_SIMD_MODE (0x1<<5) /* simd all ones mode */ 759462306a36Sopenharmony_ci 759562306a36Sopenharmony_ci/* Fields of IGU VF CONFIGURATION REGISTER */ 759662306a36Sopenharmony_ci#define IGU_VF_CONF_FUNC_EN (0x1<<0) /* function enable */ 759762306a36Sopenharmony_ci#define IGU_VF_CONF_MSI_MSIX_EN (0x1<<1) /* MSI/MSIX enable */ 759862306a36Sopenharmony_ci#define IGU_VF_CONF_PARENT_MASK (0x3<<2) /* Parent PF */ 759962306a36Sopenharmony_ci#define IGU_VF_CONF_PARENT_SHIFT 2 /* Parent PF */ 760062306a36Sopenharmony_ci#define IGU_VF_CONF_SINGLE_ISR_EN (0x1<<4) /* single ISR mode enable */ 760162306a36Sopenharmony_ci 760262306a36Sopenharmony_ci 760362306a36Sopenharmony_ci#define IGU_BC_DSB_NUM_SEGS 5 760462306a36Sopenharmony_ci#define IGU_BC_NDSB_NUM_SEGS 2 760562306a36Sopenharmony_ci#define IGU_NORM_DSB_NUM_SEGS 2 760662306a36Sopenharmony_ci#define IGU_NORM_NDSB_NUM_SEGS 1 760762306a36Sopenharmony_ci#define IGU_BC_BASE_DSB_PROD 128 760862306a36Sopenharmony_ci#define IGU_NORM_BASE_DSB_PROD 136 760962306a36Sopenharmony_ci 761062306a36Sopenharmony_ci /* FID (if VF - [6] = 0; [5:0] = VF number; if PF - [6] = 1; \ 761162306a36Sopenharmony_ci [5:2] = 0; [1:0] = PF number) */ 761262306a36Sopenharmony_ci#define IGU_FID_ENCODE_IS_PF (0x1<<6) 761362306a36Sopenharmony_ci#define IGU_FID_ENCODE_IS_PF_SHIFT 6 761462306a36Sopenharmony_ci#define IGU_FID_VF_NUM_MASK (0x3f) 761562306a36Sopenharmony_ci#define IGU_FID_PF_NUM_MASK (0x7) 761662306a36Sopenharmony_ci 761762306a36Sopenharmony_ci#define IGU_REG_MAPPING_MEMORY_VALID (1<<0) 761862306a36Sopenharmony_ci#define IGU_REG_MAPPING_MEMORY_VECTOR_MASK (0x3F<<1) 761962306a36Sopenharmony_ci#define IGU_REG_MAPPING_MEMORY_VECTOR_SHIFT 1 762062306a36Sopenharmony_ci#define IGU_REG_MAPPING_MEMORY_FID_MASK (0x7F<<7) 762162306a36Sopenharmony_ci#define IGU_REG_MAPPING_MEMORY_FID_SHIFT 7 762262306a36Sopenharmony_ci 762362306a36Sopenharmony_ci 762462306a36Sopenharmony_ci#define CDU_REGION_NUMBER_XCM_AG 2 762562306a36Sopenharmony_ci#define CDU_REGION_NUMBER_UCM_AG 4 762662306a36Sopenharmony_ci 762762306a36Sopenharmony_ci 762862306a36Sopenharmony_ci/* String-to-compress [31:8] = CID (all 24 bits) 762962306a36Sopenharmony_ci * String-to-compress [7:4] = Region 763062306a36Sopenharmony_ci * String-to-compress [3:0] = Type 763162306a36Sopenharmony_ci */ 763262306a36Sopenharmony_ci#define CDU_VALID_DATA(_cid, _region, _type)\ 763362306a36Sopenharmony_ci (((_cid) << 8) | (((_region)&0xf)<<4) | (((_type)&0xf))) 763462306a36Sopenharmony_ci#define CDU_CRC8(_cid, _region, _type)\ 763562306a36Sopenharmony_ci (calc_crc8(CDU_VALID_DATA(_cid, _region, _type), 0xff)) 763662306a36Sopenharmony_ci#define CDU_RSRVD_VALUE_TYPE_A(_cid, _region, _type)\ 763762306a36Sopenharmony_ci (0x80 | ((CDU_CRC8(_cid, _region, _type)) & 0x7f)) 763862306a36Sopenharmony_ci#define CDU_RSRVD_VALUE_TYPE_B(_crc, _type)\ 763962306a36Sopenharmony_ci (0x80 | ((_type)&0xf << 3) | ((CDU_CRC8(_cid, _region, _type)) & 0x7)) 764062306a36Sopenharmony_ci#define CDU_RSRVD_INVALIDATE_CONTEXT_VALUE(_val) ((_val) & ~0x80) 764162306a36Sopenharmony_ci 764262306a36Sopenharmony_ci/* IdleChk registers */ 764362306a36Sopenharmony_ci#define PXP_REG_HST_VF_DISABLED_ERROR_VALID 0x1030bc 764462306a36Sopenharmony_ci#define PXP_REG_HST_VF_DISABLED_ERROR_DATA 0x1030b8 764562306a36Sopenharmony_ci#define PXP_REG_HST_PER_VIOLATION_VALID 0x1030e0 764662306a36Sopenharmony_ci#define PXP_REG_HST_INCORRECT_ACCESS_VALID 0x1030cc 764762306a36Sopenharmony_ci#define PXP2_REG_RD_CPL_ERR_DETAILS 0x120778 764862306a36Sopenharmony_ci#define PXP2_REG_RD_CPL_ERR_DETAILS2 0x12077c 764962306a36Sopenharmony_ci#define PXP2_REG_RQ_GARB 0x120748 765062306a36Sopenharmony_ci#define PBF_REG_DISABLE_NEW_TASK_PROC_Q0 0x15c1bc 765162306a36Sopenharmony_ci#define PBF_REG_DISABLE_NEW_TASK_PROC_Q1 0x15c1c0 765262306a36Sopenharmony_ci#define PBF_REG_DISABLE_NEW_TASK_PROC_Q2 0x15c1c4 765362306a36Sopenharmony_ci#define PBF_REG_DISABLE_NEW_TASK_PROC_Q3 0x15c1c8 765462306a36Sopenharmony_ci#define PBF_REG_DISABLE_NEW_TASK_PROC_Q4 0x15c1cc 765562306a36Sopenharmony_ci#define PBF_REG_DISABLE_NEW_TASK_PROC_Q5 0x15c1d0 765662306a36Sopenharmony_ci#define PBF_REG_CREDIT_Q2 0x140344 765762306a36Sopenharmony_ci#define PBF_REG_CREDIT_Q3 0x140348 765862306a36Sopenharmony_ci#define PBF_REG_CREDIT_Q4 0x14034c 765962306a36Sopenharmony_ci#define PBF_REG_CREDIT_Q5 0x140350 766062306a36Sopenharmony_ci#define PBF_REG_INIT_CRD_Q2 0x15c238 766162306a36Sopenharmony_ci#define PBF_REG_INIT_CRD_Q3 0x15c23c 766262306a36Sopenharmony_ci#define PBF_REG_INIT_CRD_Q4 0x15c240 766362306a36Sopenharmony_ci#define PBF_REG_INIT_CRD_Q5 0x15c244 766462306a36Sopenharmony_ci#define PBF_REG_TASK_CNT_Q0 0x140374 766562306a36Sopenharmony_ci#define PBF_REG_TASK_CNT_Q1 0x140378 766662306a36Sopenharmony_ci#define PBF_REG_TASK_CNT_Q2 0x14037c 766762306a36Sopenharmony_ci#define PBF_REG_TASK_CNT_Q3 0x140380 766862306a36Sopenharmony_ci#define PBF_REG_TASK_CNT_Q4 0x140384 766962306a36Sopenharmony_ci#define PBF_REG_TASK_CNT_Q5 0x140388 767062306a36Sopenharmony_ci#define PBF_REG_TASK_CNT_LB_Q 0x140370 767162306a36Sopenharmony_ci#define QM_REG_BYTECRD0 0x16e6fc 767262306a36Sopenharmony_ci#define QM_REG_BYTECRD1 0x16e700 767362306a36Sopenharmony_ci#define QM_REG_BYTECRD2 0x16e704 767462306a36Sopenharmony_ci#define QM_REG_BYTECRD3 0x16e7ac 767562306a36Sopenharmony_ci#define QM_REG_BYTECRD4 0x16e7b0 767662306a36Sopenharmony_ci#define QM_REG_BYTECRD5 0x16e7b4 767762306a36Sopenharmony_ci#define QM_REG_BYTECRD6 0x16e7b8 767862306a36Sopenharmony_ci#define QM_REG_BYTECRDCMDQ_0 0x16e6e8 767962306a36Sopenharmony_ci#define QM_REG_BYTECRDERRREG 0x16e708 768062306a36Sopenharmony_ci#define MISC_REG_GRC_TIMEOUT_ATTN_FULL_FID 0xa714 768162306a36Sopenharmony_ci#define QM_REG_VOQCREDIT_2 0x1682d8 768262306a36Sopenharmony_ci#define QM_REG_VOQCREDIT_3 0x1682dc 768362306a36Sopenharmony_ci#define QM_REG_VOQCREDIT_5 0x1682e4 768462306a36Sopenharmony_ci#define QM_REG_VOQCREDIT_6 0x1682e8 768562306a36Sopenharmony_ci#define QM_REG_VOQINITCREDIT_3 0x16806c 768662306a36Sopenharmony_ci#define QM_REG_VOQINITCREDIT_6 0x168078 768762306a36Sopenharmony_ci#define QM_REG_FWVOQ0TOHWVOQ 0x16e7bc 768862306a36Sopenharmony_ci#define QM_REG_FWVOQ1TOHWVOQ 0x16e7c0 768962306a36Sopenharmony_ci#define QM_REG_FWVOQ2TOHWVOQ 0x16e7c4 769062306a36Sopenharmony_ci#define QM_REG_FWVOQ3TOHWVOQ 0x16e7c8 769162306a36Sopenharmony_ci#define QM_REG_FWVOQ4TOHWVOQ 0x16e7cc 769262306a36Sopenharmony_ci#define QM_REG_FWVOQ5TOHWVOQ 0x16e7d0 769362306a36Sopenharmony_ci#define QM_REG_FWVOQ6TOHWVOQ 0x16e7d4 769462306a36Sopenharmony_ci#define QM_REG_FWVOQ7TOHWVOQ 0x16e7d8 769562306a36Sopenharmony_ci#define NIG_REG_INGRESS_EOP_PORT0_EMPTY 0x104ec 769662306a36Sopenharmony_ci#define NIG_REG_INGRESS_EOP_PORT1_EMPTY 0x104f8 769762306a36Sopenharmony_ci#define NIG_REG_INGRESS_RMP0_DSCR_EMPTY 0x10530 769862306a36Sopenharmony_ci#define NIG_REG_INGRESS_RMP1_DSCR_EMPTY 0x10538 769962306a36Sopenharmony_ci#define NIG_REG_INGRESS_LB_PBF_DELAY_EMPTY 0x10508 770062306a36Sopenharmony_ci#define NIG_REG_EGRESS_MNG0_FIFO_EMPTY 0x10460 770162306a36Sopenharmony_ci#define NIG_REG_EGRESS_MNG1_FIFO_EMPTY 0x10474 770262306a36Sopenharmony_ci#define NIG_REG_EGRESS_DEBUG_FIFO_EMPTY 0x10418 770362306a36Sopenharmony_ci#define NIG_REG_EGRESS_DELAY0_EMPTY 0x10420 770462306a36Sopenharmony_ci#define NIG_REG_EGRESS_DELAY1_EMPTY 0x10428 770562306a36Sopenharmony_ci#define NIG_REG_LLH0_FIFO_EMPTY 0x10548 770662306a36Sopenharmony_ci#define NIG_REG_LLH1_FIFO_EMPTY 0x10558 770762306a36Sopenharmony_ci#define NIG_REG_P0_TX_MNG_HOST_FIFO_EMPTY 0x182a8 770862306a36Sopenharmony_ci#define NIG_REG_P0_TLLH_FIFO_EMPTY 0x18308 770962306a36Sopenharmony_ci#define NIG_REG_P0_HBUF_DSCR_EMPTY 0x18318 771062306a36Sopenharmony_ci#define NIG_REG_P1_HBUF_DSCR_EMPTY 0x18348 771162306a36Sopenharmony_ci#define NIG_REG_P0_RX_MACFIFO_EMPTY 0x18570 771262306a36Sopenharmony_ci#define NIG_REG_P0_TX_MACFIFO_EMPTY 0x18578 771362306a36Sopenharmony_ci#define NIG_REG_EGRESS_DELAY2_EMPTY 0x1862c 771462306a36Sopenharmony_ci#define NIG_REG_EGRESS_DELAY3_EMPTY 0x18630 771562306a36Sopenharmony_ci#define NIG_REG_EGRESS_DELAY4_EMPTY 0x18634 771662306a36Sopenharmony_ci#define NIG_REG_EGRESS_DELAY5_EMPTY 0x18638 771762306a36Sopenharmony_ci 771862306a36Sopenharmony_ci/****************************************************************************** 771962306a36Sopenharmony_ci * Description: 772062306a36Sopenharmony_ci * Calculates crc 8 on a word value: polynomial 0-1-2-8 772162306a36Sopenharmony_ci * Code was translated from Verilog. 772262306a36Sopenharmony_ci * Return: 772362306a36Sopenharmony_ci *****************************************************************************/ 772462306a36Sopenharmony_cistatic inline u8 calc_crc8(u32 data, u8 crc) 772562306a36Sopenharmony_ci{ 772662306a36Sopenharmony_ci u8 D[32]; 772762306a36Sopenharmony_ci u8 NewCRC[8]; 772862306a36Sopenharmony_ci u8 C[8]; 772962306a36Sopenharmony_ci u8 crc_res; 773062306a36Sopenharmony_ci u8 i; 773162306a36Sopenharmony_ci 773262306a36Sopenharmony_ci /* split the data into 31 bits */ 773362306a36Sopenharmony_ci for (i = 0; i < 32; i++) { 773462306a36Sopenharmony_ci D[i] = (u8)(data & 1); 773562306a36Sopenharmony_ci data = data >> 1; 773662306a36Sopenharmony_ci } 773762306a36Sopenharmony_ci 773862306a36Sopenharmony_ci /* split the crc into 8 bits */ 773962306a36Sopenharmony_ci for (i = 0; i < 8; i++) { 774062306a36Sopenharmony_ci C[i] = crc & 1; 774162306a36Sopenharmony_ci crc = crc >> 1; 774262306a36Sopenharmony_ci } 774362306a36Sopenharmony_ci 774462306a36Sopenharmony_ci NewCRC[0] = D[31] ^ D[30] ^ D[28] ^ D[23] ^ D[21] ^ D[19] ^ D[18] ^ 774562306a36Sopenharmony_ci D[16] ^ D[14] ^ D[12] ^ D[8] ^ D[7] ^ D[6] ^ D[0] ^ C[4] ^ 774662306a36Sopenharmony_ci C[6] ^ C[7]; 774762306a36Sopenharmony_ci NewCRC[1] = D[30] ^ D[29] ^ D[28] ^ D[24] ^ D[23] ^ D[22] ^ D[21] ^ 774862306a36Sopenharmony_ci D[20] ^ D[18] ^ D[17] ^ D[16] ^ D[15] ^ D[14] ^ D[13] ^ 774962306a36Sopenharmony_ci D[12] ^ D[9] ^ D[6] ^ D[1] ^ D[0] ^ C[0] ^ C[4] ^ C[5] ^ 775062306a36Sopenharmony_ci C[6]; 775162306a36Sopenharmony_ci NewCRC[2] = D[29] ^ D[28] ^ D[25] ^ D[24] ^ D[22] ^ D[17] ^ D[15] ^ 775262306a36Sopenharmony_ci D[13] ^ D[12] ^ D[10] ^ D[8] ^ D[6] ^ D[2] ^ D[1] ^ D[0] ^ 775362306a36Sopenharmony_ci C[0] ^ C[1] ^ C[4] ^ C[5]; 775462306a36Sopenharmony_ci NewCRC[3] = D[30] ^ D[29] ^ D[26] ^ D[25] ^ D[23] ^ D[18] ^ D[16] ^ 775562306a36Sopenharmony_ci D[14] ^ D[13] ^ D[11] ^ D[9] ^ D[7] ^ D[3] ^ D[2] ^ D[1] ^ 775662306a36Sopenharmony_ci C[1] ^ C[2] ^ C[5] ^ C[6]; 775762306a36Sopenharmony_ci NewCRC[4] = D[31] ^ D[30] ^ D[27] ^ D[26] ^ D[24] ^ D[19] ^ D[17] ^ 775862306a36Sopenharmony_ci D[15] ^ D[14] ^ D[12] ^ D[10] ^ D[8] ^ D[4] ^ D[3] ^ D[2] ^ 775962306a36Sopenharmony_ci C[0] ^ C[2] ^ C[3] ^ C[6] ^ C[7]; 776062306a36Sopenharmony_ci NewCRC[5] = D[31] ^ D[28] ^ D[27] ^ D[25] ^ D[20] ^ D[18] ^ D[16] ^ 776162306a36Sopenharmony_ci D[15] ^ D[13] ^ D[11] ^ D[9] ^ D[5] ^ D[4] ^ D[3] ^ C[1] ^ 776262306a36Sopenharmony_ci C[3] ^ C[4] ^ C[7]; 776362306a36Sopenharmony_ci NewCRC[6] = D[29] ^ D[28] ^ D[26] ^ D[21] ^ D[19] ^ D[17] ^ D[16] ^ 776462306a36Sopenharmony_ci D[14] ^ D[12] ^ D[10] ^ D[6] ^ D[5] ^ D[4] ^ C[2] ^ C[4] ^ 776562306a36Sopenharmony_ci C[5]; 776662306a36Sopenharmony_ci NewCRC[7] = D[30] ^ D[29] ^ D[27] ^ D[22] ^ D[20] ^ D[18] ^ D[17] ^ 776762306a36Sopenharmony_ci D[15] ^ D[13] ^ D[11] ^ D[7] ^ D[6] ^ D[5] ^ C[3] ^ C[5] ^ 776862306a36Sopenharmony_ci C[6]; 776962306a36Sopenharmony_ci 777062306a36Sopenharmony_ci crc_res = 0; 777162306a36Sopenharmony_ci for (i = 0; i < 8; i++) 777262306a36Sopenharmony_ci crc_res |= (NewCRC[i] << i); 777362306a36Sopenharmony_ci 777462306a36Sopenharmony_ci return crc_res; 777562306a36Sopenharmony_ci} 777662306a36Sopenharmony_ci#endif /* BNX2X_REG_H */ 7777