Path: blob/master/drivers/accel/habanalabs/include/gaudi/gaudi_masks.h
26446 views
/* SPDX-License-Identifier: GPL-2.01*2* Copyright 2016-2020 HabanaLabs, Ltd.3* All Rights Reserved.4*5*/67#ifndef GAUDI_MASKS_H_8#define GAUDI_MASKS_H_910#include "asic_reg/gaudi_regs.h"1112/* Useful masks for bits in various registers */13#define PCI_DMA_QMAN_ENABLE (\14(FIELD_PREP(DMA0_QM_GLBL_CFG0_PQF_EN_MASK, 0xF)) | \15(FIELD_PREP(DMA0_QM_GLBL_CFG0_CQF_EN_MASK, 0xF)) | \16(FIELD_PREP(DMA0_QM_GLBL_CFG0_CP_EN_MASK, 0xF)))1718#define QMAN_EXTERNAL_MAKE_TRUSTED (\19(FIELD_PREP(DMA0_QM_GLBL_PROT_PQF_MASK, 0xF)) | \20(FIELD_PREP(DMA0_QM_GLBL_PROT_CQF_MASK, 0xF)) | \21(FIELD_PREP(DMA0_QM_GLBL_PROT_CP_MASK, 0xF)) | \22(FIELD_PREP(DMA0_QM_GLBL_PROT_ERR_MASK, 0x1)))2324#define QMAN_INTERNAL_MAKE_TRUSTED (\25(FIELD_PREP(DMA0_QM_GLBL_PROT_PQF_MASK, 0xF)) | \26(FIELD_PREP(DMA0_QM_GLBL_PROT_ERR_MASK, 0x1)))2728#define HBM_DMA_QMAN_ENABLE (\29(FIELD_PREP(DMA0_QM_GLBL_CFG0_PQF_EN_MASK, 0xF)) | \30(FIELD_PREP(DMA0_QM_GLBL_CFG0_CQF_EN_MASK, 0x1F)) | \31(FIELD_PREP(DMA0_QM_GLBL_CFG0_CP_EN_MASK, 0x1F)))3233#define QMAN_MME_ENABLE (\34(FIELD_PREP(MME0_QM_GLBL_CFG0_PQF_EN_MASK, 0xF)) | \35(FIELD_PREP(MME0_QM_GLBL_CFG0_CQF_EN_MASK, 0x1F)) | \36(FIELD_PREP(MME0_QM_GLBL_CFG0_CP_EN_MASK, 0x1F)))3738#define QMAN_TPC_ENABLE (\39(FIELD_PREP(TPC0_QM_GLBL_CFG0_PQF_EN_MASK, 0xF)) | \40(FIELD_PREP(TPC0_QM_GLBL_CFG0_CQF_EN_MASK, 0x1F)) | \41(FIELD_PREP(TPC0_QM_GLBL_CFG0_CP_EN_MASK, 0x1F)))4243#define NIC_QMAN_ENABLE (\44(FIELD_PREP(NIC0_QM0_GLBL_CFG0_PQF_EN_MASK, 0xF)) | \45(FIELD_PREP(NIC0_QM0_GLBL_CFG0_CQF_EN_MASK, 0xF)) | \46(FIELD_PREP(NIC0_QM0_GLBL_CFG0_CP_EN_MASK, 0xF)))4748#define QMAN_UPPER_CP_CGM_PWR_GATE_EN (\49(FIELD_PREP(DMA0_QM_CGM_CFG_IDLE_TH_MASK, 0x20)) | \50(FIELD_PREP(DMA0_QM_CGM_CFG_G2F_TH_MASK, 0xA)) | \51(FIELD_PREP(DMA0_QM_CGM_CFG_CP_IDLE_MASK_MASK, 0x10)) | \52(FIELD_PREP(DMA0_QM_CGM_CFG_EN_MASK, 0x1)))5354#define QMAN_COMMON_CP_CGM_PWR_GATE_EN (\55(FIELD_PREP(DMA0_QM_CGM_CFG_IDLE_TH_MASK, 0x20)) | \56(FIELD_PREP(DMA0_QM_CGM_CFG_G2F_TH_MASK, 0xA)) | \57(FIELD_PREP(DMA0_QM_CGM_CFG_CP_IDLE_MASK_MASK, 0xF)) | \58(FIELD_PREP(DMA0_QM_CGM_CFG_EN_MASK, 0x1)))5960#define PCI_DMA_QMAN_GLBL_ERR_CFG_MSG_EN_MASK (\61(FIELD_PREP(DMA0_QM_GLBL_ERR_CFG_PQF_ERR_MSG_EN_MASK, 0xF)) | \62(FIELD_PREP(DMA0_QM_GLBL_ERR_CFG_CQF_ERR_MSG_EN_MASK, 0xF)) | \63(FIELD_PREP(DMA0_QM_GLBL_ERR_CFG_CP_ERR_MSG_EN_MASK, 0xF)))6465#define PCI_DMA_QMAN_GLBL_ERR_CFG_STOP_ON_ERR_EN_MASK (\66(FIELD_PREP(DMA0_QM_GLBL_ERR_CFG_PQF_STOP_ON_ERR_MASK, 0xF)) | \67(FIELD_PREP(DMA0_QM_GLBL_ERR_CFG_CQF_STOP_ON_ERR_MASK, 0xF)) | \68(FIELD_PREP(DMA0_QM_GLBL_ERR_CFG_CP_STOP_ON_ERR_MASK, 0xF)) | \69(FIELD_PREP(DMA0_QM_GLBL_ERR_CFG_ARB_STOP_ON_ERR_MASK, 0x1)))7071#define HBM_DMA_QMAN_GLBL_ERR_CFG_MSG_EN_MASK (\72(FIELD_PREP(DMA0_QM_GLBL_ERR_CFG_PQF_ERR_MSG_EN_MASK, 0xF)) | \73(FIELD_PREP(DMA0_QM_GLBL_ERR_CFG_CQF_ERR_MSG_EN_MASK, 0x1F)) | \74(FIELD_PREP(DMA0_QM_GLBL_ERR_CFG_CP_ERR_MSG_EN_MASK, 0x1F)))7576#define HBM_DMA_QMAN_GLBL_ERR_CFG_STOP_ON_ERR_EN_MASK (\77(FIELD_PREP(DMA0_QM_GLBL_ERR_CFG_PQF_STOP_ON_ERR_MASK, 0xF)) | \78(FIELD_PREP(DMA0_QM_GLBL_ERR_CFG_CQF_STOP_ON_ERR_MASK, 0x1F)) | \79(FIELD_PREP(DMA0_QM_GLBL_ERR_CFG_CP_STOP_ON_ERR_MASK, 0x1F)) | \80(FIELD_PREP(DMA0_QM_GLBL_ERR_CFG_ARB_STOP_ON_ERR_MASK, 0x1)))8182#define TPC_QMAN_GLBL_ERR_CFG_MSG_EN_MASK (\83(FIELD_PREP(TPC0_QM_GLBL_ERR_CFG_PQF_ERR_MSG_EN_MASK, 0xF)) | \84(FIELD_PREP(TPC0_QM_GLBL_ERR_CFG_CQF_ERR_MSG_EN_MASK, 0x1F)) | \85(FIELD_PREP(TPC0_QM_GLBL_ERR_CFG_CP_ERR_MSG_EN_MASK, 0x1F)))8687#define TPC_QMAN_GLBL_ERR_CFG_STOP_ON_ERR_EN_MASK (\88(FIELD_PREP(TPC0_QM_GLBL_ERR_CFG_PQF_STOP_ON_ERR_MASK, 0xF)) | \89(FIELD_PREP(TPC0_QM_GLBL_ERR_CFG_CQF_STOP_ON_ERR_MASK, 0x1F)) | \90(FIELD_PREP(TPC0_QM_GLBL_ERR_CFG_CP_STOP_ON_ERR_MASK, 0x1F)) | \91(FIELD_PREP(TPC0_QM_GLBL_ERR_CFG_ARB_STOP_ON_ERR_MASK, 0x1)))9293#define MME_QMAN_GLBL_ERR_CFG_MSG_EN_MASK (\94(FIELD_PREP(MME0_QM_GLBL_ERR_CFG_PQF_ERR_MSG_EN_MASK, 0xF)) | \95(FIELD_PREP(MME0_QM_GLBL_ERR_CFG_CQF_ERR_MSG_EN_MASK, 0x1F)) | \96(FIELD_PREP(MME0_QM_GLBL_ERR_CFG_CP_ERR_MSG_EN_MASK, 0x1F)))9798#define MME_QMAN_GLBL_ERR_CFG_STOP_ON_ERR_EN_MASK (\99(FIELD_PREP(MME0_QM_GLBL_ERR_CFG_PQF_STOP_ON_ERR_MASK, 0xF)) | \100(FIELD_PREP(MME0_QM_GLBL_ERR_CFG_CQF_STOP_ON_ERR_MASK, 0x1F)) | \101(FIELD_PREP(MME0_QM_GLBL_ERR_CFG_CP_STOP_ON_ERR_MASK, 0x1F)) | \102(FIELD_PREP(MME0_QM_GLBL_ERR_CFG_ARB_STOP_ON_ERR_MASK, 0x1)))103104#define NIC_QMAN_GLBL_ERR_CFG_MSG_EN_MASK (\105(FIELD_PREP(NIC0_QM0_GLBL_ERR_CFG_PQF_ERR_MSG_EN_MASK, 0xF)) | \106(FIELD_PREP(NIC0_QM0_GLBL_ERR_CFG_CQF_ERR_MSG_EN_MASK, 0xF)) | \107(FIELD_PREP(NIC0_QM0_GLBL_ERR_CFG_CP_ERR_MSG_EN_MASK, 0xF)))108109#define NIC_QMAN_GLBL_ERR_CFG_STOP_ON_ERR_EN_MASK (\110(FIELD_PREP(NIC0_QM0_GLBL_ERR_CFG_PQF_STOP_ON_ERR_MASK, 0xF)) | \111(FIELD_PREP(NIC0_QM0_GLBL_ERR_CFG_CQF_STOP_ON_ERR_MASK, 0xF)) | \112(FIELD_PREP(NIC0_QM0_GLBL_ERR_CFG_CP_STOP_ON_ERR_MASK, 0xF)) | \113(FIELD_PREP(NIC0_QM0_GLBL_ERR_CFG_ARB_STOP_ON_ERR_MASK, 0x1)))114115#define QMAN_CGM1_PWR_GATE_EN (FIELD_PREP(DMA0_QM_CGM_CFG1_MASK_TH_MASK, 0xA))116117/* RESET registers configuration */118#define CFG_RST_L_PSOC_MASK BIT_MASK(0)119#define CFG_RST_L_PCIE_MASK BIT_MASK(1)120#define CFG_RST_L_PCIE_IF_MASK BIT_MASK(2)121#define CFG_RST_L_HBM_S_PLL_MASK BIT_MASK(3)122#define CFG_RST_L_TPC_S_PLL_MASK BIT_MASK(4)123#define CFG_RST_L_MME_S_PLL_MASK BIT_MASK(5)124#define CFG_RST_L_CPU_PLL_MASK BIT_MASK(6)125#define CFG_RST_L_PCIE_PLL_MASK BIT_MASK(7)126#define CFG_RST_L_NIC_S_PLL_MASK BIT_MASK(8)127#define CFG_RST_L_HBM_N_PLL_MASK BIT_MASK(9)128#define CFG_RST_L_TPC_N_PLL_MASK BIT_MASK(10)129#define CFG_RST_L_MME_N_PLL_MASK BIT_MASK(11)130#define CFG_RST_L_NIC_N_PLL_MASK BIT_MASK(12)131#define CFG_RST_L_DMA_W_PLL_MASK BIT_MASK(13)132#define CFG_RST_L_SIF_W_PLL_MASK BIT_MASK(14)133#define CFG_RST_L_MESH_W_PLL_MASK BIT_MASK(15)134#define CFG_RST_L_SRAM_W_PLL_MASK BIT_MASK(16)135#define CFG_RST_L_DMA_E_PLL_MASK BIT_MASK(17)136#define CFG_RST_L_SIF_E_PLL_MASK BIT_MASK(18)137#define CFG_RST_L_MESH_E_PLL_MASK BIT_MASK(19)138#define CFG_RST_L_SRAM_E_PLL_MASK BIT_MASK(20)139140#define CFG_RST_L_IF_1_MASK BIT_MASK(21)141#define CFG_RST_L_IF_0_MASK BIT_MASK(22)142#define CFG_RST_L_IF_2_MASK BIT_MASK(23)143#define CFG_RST_L_IF_3_MASK BIT_MASK(24)144#define CFG_RST_L_IF_MASK GENMASK(24, 21)145146#define CFG_RST_L_TPC_0_MASK BIT_MASK(25)147#define CFG_RST_L_TPC_1_MASK BIT_MASK(26)148#define CFG_RST_L_TPC_2_MASK BIT_MASK(27)149#define CFG_RST_L_TPC_3_MASK BIT_MASK(28)150#define CFG_RST_L_TPC_4_MASK BIT_MASK(29)151#define CFG_RST_L_TPC_5_MASK BIT_MASK(30)152#define CFG_RST_L_TPC_6_MASK BIT_MASK(31)153#define CFG_RST_L_TPC_MASK GENMASK(31, 25)154155#define CFG_RST_H_TPC_7_MASK BIT_MASK(0)156157#define CFG_RST_H_MME_0_MASK BIT_MASK(1)158#define CFG_RST_H_MME_1_MASK BIT_MASK(2)159#define CFG_RST_H_MME_2_MASK BIT_MASK(3)160#define CFG_RST_H_MME_3_MASK BIT_MASK(4)161#define CFG_RST_H_MME_MASK GENMASK(4, 1)162163#define CFG_RST_H_HBM_0_MASK BIT_MASK(5)164#define CFG_RST_H_HBM_1_MASK BIT_MASK(6)165#define CFG_RST_H_HBM_2_MASK BIT_MASK(7)166#define CFG_RST_H_HBM_3_MASK BIT_MASK(8)167#define CFG_RST_H_HBM_MASK GENMASK(8, 5)168169#define CFG_RST_H_NIC_0_MASK BIT_MASK(9)170#define CFG_RST_H_NIC_1_MASK BIT_MASK(10)171#define CFG_RST_H_NIC_2_MASK BIT_MASK(11)172#define CFG_RST_H_NIC_3_MASK BIT_MASK(12)173#define CFG_RST_H_NIC_4_MASK BIT_MASK(13)174#define CFG_RST_H_NIC_MASK GENMASK(13, 9)175176#define CFG_RST_H_SM_0_MASK BIT_MASK(14)177#define CFG_RST_H_SM_1_MASK BIT_MASK(15)178#define CFG_RST_H_SM_2_MASK BIT_MASK(16)179#define CFG_RST_H_SM_3_MASK BIT_MASK(17)180#define CFG_RST_H_SM_MASK GENMASK(17, 14)181182#define CFG_RST_H_DMA_0_MASK BIT_MASK(18)183#define CFG_RST_H_DMA_1_MASK BIT_MASK(19)184#define CFG_RST_H_DMA_MASK GENMASK(19, 18)185186#define CFG_RST_H_CPU_MASK BIT_MASK(20)187#define CFG_RST_H_MMU_MASK BIT_MASK(21)188189#define UNIT_RST_L_PSOC_SHIFT 0190#define UNIT_RST_L_PCIE_SHIFT 1191#define UNIT_RST_L_PCIE_IF_SHIFT 2192#define UNIT_RST_L_HBM_S_PLL_SHIFT 3193#define UNIT_RST_L_TPC_S_PLL_SHIFT 4194#define UNIT_RST_L_MME_S_PLL_SHIFT 5195#define UNIT_RST_L_CPU_PLL_SHIFT 6196#define UNIT_RST_L_PCIE_PLL_SHIFT 7197#define UNIT_RST_L_NIC_S_PLL_SHIFT 8198#define UNIT_RST_L_HBM_N_PLL_SHIFT 9199#define UNIT_RST_L_TPC_N_PLL_SHIFT 10200#define UNIT_RST_L_MME_N_PLL_SHIFT 11201#define UNIT_RST_L_NIC_N_PLL_SHIFT 12202#define UNIT_RST_L_DMA_W_PLL_SHIFT 13203#define UNIT_RST_L_SIF_W_PLL_SHIFT 14204#define UNIT_RST_L_MESH_W_PLL_SHIFT 15205#define UNIT_RST_L_SRAM_W_PLL_SHIFT 16206#define UNIT_RST_L_DMA_E_PLL_SHIFT 17207#define UNIT_RST_L_SIF_E_PLL_SHIFT 18208#define UNIT_RST_L_MESH_E_PLL_SHIFT 19209#define UNIT_RST_L_SRAM_E_PLL_SHIFT 20210#define UNIT_RST_L_TPC_0_SHIFT 21211#define UNIT_RST_L_TPC_1_SHIFT 22212#define UNIT_RST_L_TPC_2_SHIFT 23213#define UNIT_RST_L_TPC_3_SHIFT 24214#define UNIT_RST_L_TPC_4_SHIFT 25215#define UNIT_RST_L_TPC_5_SHIFT 26216#define UNIT_RST_L_TPC_6_SHIFT 27217#define UNIT_RST_L_TPC_7_SHIFT 28218#define UNIT_RST_L_MME_0_SHIFT 29219#define UNIT_RST_L_MME_1_SHIFT 30220#define UNIT_RST_L_MME_2_SHIFT 31221222#define UNIT_RST_H_MME_3_SHIFT 0223#define UNIT_RST_H_HBM_0_SHIFT 1224#define UNIT_RST_H_HBM_1_SHIFT 2225#define UNIT_RST_H_HBM_2_SHIFT 3226#define UNIT_RST_H_HBM_3_SHIFT 4227#define UNIT_RST_H_NIC_0_SHIFT 5228#define UNIT_RST_H_NIC_1_SHIFT 6229#define UNIT_RST_H_NIC_2_SHIFT 7230#define UNIT_RST_H_NIC_3_SHIFT 8231#define UNIT_RST_H_NIC_4_SHIFT 9232#define UNIT_RST_H_SM_0_SHIFT 10233#define UNIT_RST_H_SM_1_SHIFT 11234#define UNIT_RST_H_SM_2_SHIFT 12235#define UNIT_RST_H_SM_3_SHIFT 13236#define UNIT_RST_H_IF_0_SHIFT 14237#define UNIT_RST_H_IF_1_SHIFT 15238#define UNIT_RST_H_IF_2_SHIFT 16239#define UNIT_RST_H_IF_3_SHIFT 17240#define UNIT_RST_H_DMA_0_SHIFT 18241#define UNIT_RST_H_DMA_1_SHIFT 19242#define UNIT_RST_H_CPU_SHIFT 20243#define UNIT_RST_H_MMU_SHIFT 21244245#define UNIT_RST_H_HBM_MASK ((1 << UNIT_RST_H_HBM_0_SHIFT) | \246(1 << UNIT_RST_H_HBM_1_SHIFT) | \247(1 << UNIT_RST_H_HBM_2_SHIFT) | \248(1 << UNIT_RST_H_HBM_3_SHIFT))249250#define UNIT_RST_H_NIC_MASK ((1 << UNIT_RST_H_NIC_0_SHIFT) | \251(1 << UNIT_RST_H_NIC_1_SHIFT) | \252(1 << UNIT_RST_H_NIC_2_SHIFT) | \253(1 << UNIT_RST_H_NIC_3_SHIFT) | \254(1 << UNIT_RST_H_NIC_4_SHIFT))255256#define UNIT_RST_H_SM_MASK ((1 << UNIT_RST_H_SM_0_SHIFT) | \257(1 << UNIT_RST_H_SM_1_SHIFT) | \258(1 << UNIT_RST_H_SM_2_SHIFT) | \259(1 << UNIT_RST_H_SM_3_SHIFT))260261#define UNIT_RST_H_MME_MASK ((1 << UNIT_RST_H_MME_0_SHIFT) | \262(1 << UNIT_RST_H_MME_1_SHIFT) | \263(1 << UNIT_RST_H_MME_2_SHIFT))264265#define UNIT_RST_L_MME_MASK (1 << UNIT_RST_L_MME_3_SHIFT)266267#define UNIT_RST_L_IF_MASK ((1 << UNIT_RST_L_IF_0_SHIFT) | \268(1 << UNIT_RST_L_IF_1_SHIFT) | \269(1 << UNIT_RST_L_IF_2_SHIFT) | \270(1 << UNIT_RST_L_IF_3_SHIFT))271272#define UNIT_RST_L_TPC_MASK ((1 << UNIT_RST_L_TPC_0_SHIFT) | \273(1 << UNIT_RST_L_TPC_1_SHIFT) | \274(1 << UNIT_RST_L_TPC_2_SHIFT) | \275(1 << UNIT_RST_L_TPC_3_SHIFT) | \276(1 << UNIT_RST_L_TPC_4_SHIFT) | \277(1 << UNIT_RST_L_TPC_5_SHIFT) | \278(1 << UNIT_RST_L_TPC_6_SHIFT) | \279(1 << UNIT_RST_L_TPC_7_SHIFT))280281/* CPU_CA53_CFG_ARM_RST_CONTROL */282#define CPU_CA53_CFG_ARM_RST_CONTROL_NCPUPORESET_SHIFT 0283#define CPU_CA53_CFG_ARM_RST_CONTROL_NCPUPORESET_MASK 0x3284#define CPU_CA53_CFG_ARM_RST_CONTROL_NCORERESET_SHIFT 4285#define CPU_CA53_CFG_ARM_RST_CONTROL_NCORERESET_MASK 0x30286#define CPU_CA53_CFG_ARM_RST_CONTROL_NL2RESET_SHIFT 8287#define CPU_CA53_CFG_ARM_RST_CONTROL_NL2RESET_MASK 0x100288#define CPU_CA53_CFG_ARM_RST_CONTROL_NPRESETDBG_SHIFT 12289#define CPU_CA53_CFG_ARM_RST_CONTROL_NPRESETDBG_MASK 0x1000290#define CPU_CA53_CFG_ARM_RST_CONTROL_NMBISTRESET_SHIFT 16291#define CPU_CA53_CFG_ARM_RST_CONTROL_NMBISTRESET_MASK 0x10000292#define CPU_CA53_CFG_ARM_RST_CONTROL_WARMRSTREQ_SHIFT 20293#define CPU_CA53_CFG_ARM_RST_CONTROL_WARMRSTREQ_MASK 0x300000294295#define CPU_RESET_ASSERT (\2961 << CPU_CA53_CFG_ARM_RST_CONTROL_NMBISTRESET_SHIFT)297298#define CPU_RESET_CORE0_DEASSERT (\2991 << CPU_CA53_CFG_ARM_RST_CONTROL_NCPUPORESET_SHIFT |\3001 << CPU_CA53_CFG_ARM_RST_CONTROL_NCORERESET_SHIFT |\3011 << CPU_CA53_CFG_ARM_RST_CONTROL_NL2RESET_SHIFT |\3021 << CPU_CA53_CFG_ARM_RST_CONTROL_NMBISTRESET_SHIFT)303304/* QM_IDLE_MASK is valid for all engines QM idle check */305#define QM_IDLE_MASK (DMA0_QM_GLBL_STS0_PQF_IDLE_MASK | \306DMA0_QM_GLBL_STS0_CQF_IDLE_MASK | \307DMA0_QM_GLBL_STS0_CP_IDLE_MASK)308309/* CGM_IDLE_MASK is valid for all engines CGM idle check */310#define CGM_IDLE_MASK DMA0_QM_CGM_STS_AGENT_IDLE_MASK311312#define TPC_IDLE_MASK ((1 << TPC0_CFG_STATUS_SCALAR_PIPE_EMPTY_SHIFT) | \313(1 << TPC0_CFG_STATUS_VECTOR_PIPE_EMPTY_SHIFT) | \314(1 << TPC0_CFG_STATUS_IQ_EMPTY_SHIFT) | \315(1 << TPC0_CFG_STATUS_SB_EMPTY_SHIFT) | \316(1 << TPC0_CFG_STATUS_QM_IDLE_SHIFT) | \317(1 << TPC0_CFG_STATUS_QM_RDY_SHIFT))318319#define MME0_CTRL_ARCH_STATUS_SB_A_EMPTY_MASK 0x80320#define MME0_CTRL_ARCH_STATUS_SB_B_EMPTY_MASK 0x100321#define MME0_CTRL_ARCH_STATUS_WBC_AXI_IDLE_MASK 0x1000322323#define MME_ARCH_IDLE_MASK (MME0_CTRL_ARCH_STATUS_SB_A_EMPTY_MASK | \324MME0_CTRL_ARCH_STATUS_SB_B_EMPTY_MASK | \325MME0_CTRL_ARCH_STATUS_WBC_AXI_IDLE_MASK)326327#define IS_QM_IDLE(qm_glbl_sts0, qm_cgm_sts) \328((((qm_glbl_sts0) & QM_IDLE_MASK) == QM_IDLE_MASK) && \329(((qm_cgm_sts) & CGM_IDLE_MASK) == CGM_IDLE_MASK))330331#define IS_DMA_IDLE(dma_core_sts0) \332!(dma_core_sts0 & DMA0_CORE_STS0_BUSY_MASK)333334#define IS_TPC_IDLE(tpc_cfg_sts) \335(((tpc_cfg_sts) & TPC_IDLE_MASK) == TPC_IDLE_MASK)336337#define IS_MME_IDLE(mme_arch_sts) \338(((mme_arch_sts) & MME_ARCH_IDLE_MASK) == MME_ARCH_IDLE_MASK)339340enum axi_id {341AXI_ID_MME,342AXI_ID_TPC,343AXI_ID_DMA,344AXI_ID_NIC, /* Local NIC */345AXI_ID_PCI,346AXI_ID_CPU,347AXI_ID_PSOC,348AXI_ID_MMU,349AXI_ID_NIC_FT /* Feed-Through NIC */350};351352/* RAZWI initiator ID is built from the location in the chip and the AXI ID */353354#define RAZWI_INITIATOR_AXI_ID_SHIFT 20355#define RAZWI_INITIATOR_AXI_ID_MASK 0xF356#define RAZWI_INITIATOR_X_SHIFT 24357#define RAZWI_INITIATOR_X_MASK 0xF358#define RAZWI_INITIATOR_Y_SHIFT 28359#define RAZWI_INITIATOR_Y_MASK 0x7360361#define RAZWI_INITIATOR_ID_AXI_ID(axi_id) \362(((axi_id) & RAZWI_INITIATOR_AXI_ID_MASK) << \363RAZWI_INITIATOR_AXI_ID_SHIFT)364365#define RAZWI_INITIATOR_ID_X_Y(x, y) \366((((y) & RAZWI_INITIATOR_Y_MASK) << RAZWI_INITIATOR_Y_SHIFT) | \367(((x) & RAZWI_INITIATOR_X_MASK) << RAZWI_INITIATOR_X_SHIFT))368369#define RAZWI_INITIATOR_ID_X_Y_TPC0_NIC0 RAZWI_INITIATOR_ID_X_Y(1, 1)370#define RAZWI_INITIATOR_ID_X_Y_TPC1 RAZWI_INITIATOR_ID_X_Y(2, 1)371#define RAZWI_INITIATOR_ID_X_Y_MME0_0 RAZWI_INITIATOR_ID_X_Y(3, 1)372#define RAZWI_INITIATOR_ID_X_Y_MME0_1 RAZWI_INITIATOR_ID_X_Y(4, 1)373#define RAZWI_INITIATOR_ID_X_Y_MME1_0 RAZWI_INITIATOR_ID_X_Y(5, 1)374#define RAZWI_INITIATOR_ID_X_Y_MME1_1 RAZWI_INITIATOR_ID_X_Y(6, 1)375#define RAZWI_INITIATOR_ID_X_Y_TPC2 RAZWI_INITIATOR_ID_X_Y(7, 1)376#define RAZWI_INITIATOR_ID_X_Y_TPC3_PCI_CPU_PSOC \377RAZWI_INITIATOR_ID_X_Y(8, 1)378#define RAZWI_INITIATOR_ID_X_Y_DMA_IF_W_S_0 RAZWI_INITIATOR_ID_X_Y(0, 1)379#define RAZWI_INITIATOR_ID_X_Y_DMA_IF_E_S_0 RAZWI_INITIATOR_ID_X_Y(9, 1)380#define RAZWI_INITIATOR_ID_X_Y_DMA_IF_W_S_1 RAZWI_INITIATOR_ID_X_Y(0, 2)381#define RAZWI_INITIATOR_ID_X_Y_DMA_IF_E_S_1 RAZWI_INITIATOR_ID_X_Y(9, 2)382#define RAZWI_INITIATOR_ID_X_Y_DMA_IF_W_N_0 RAZWI_INITIATOR_ID_X_Y(0, 3)383#define RAZWI_INITIATOR_ID_X_Y_DMA_IF_E_N_0 RAZWI_INITIATOR_ID_X_Y(9, 3)384#define RAZWI_INITIATOR_ID_X_Y_DMA_IF_W_N_1 RAZWI_INITIATOR_ID_X_Y(0, 4)385#define RAZWI_INITIATOR_ID_X_Y_DMA_IF_E_N_1 RAZWI_INITIATOR_ID_X_Y(9, 4)386#define RAZWI_INITIATOR_ID_X_Y_TPC4_NIC1_NIC2 RAZWI_INITIATOR_ID_X_Y(1, 6)387#define RAZWI_INITIATOR_ID_X_Y_TPC5 RAZWI_INITIATOR_ID_X_Y(2, 6)388#define RAZWI_INITIATOR_ID_X_Y_MME2_0 RAZWI_INITIATOR_ID_X_Y(3, 6)389#define RAZWI_INITIATOR_ID_X_Y_MME2_1 RAZWI_INITIATOR_ID_X_Y(4, 6)390#define RAZWI_INITIATOR_ID_X_Y_MME3_0 RAZWI_INITIATOR_ID_X_Y(5, 6)391#define RAZWI_INITIATOR_ID_X_Y_MME3_1 RAZWI_INITIATOR_ID_X_Y(6, 6)392#define RAZWI_INITIATOR_ID_X_Y_TPC6 RAZWI_INITIATOR_ID_X_Y(7, 6)393#define RAZWI_INITIATOR_ID_X_Y_TPC7_NIC4_NIC5 RAZWI_INITIATOR_ID_X_Y(8, 6)394395#define PSOC_ETR_AXICTL_PROTCTRLBIT1_SHIFT 1396#define PSOC_ETR_AXICTL_PROTCTRLBIT0_MASK 0x1397#define PSOC_ETR_AXICTL_PROTCTRLBIT1_MASK 0x2398#define PSOC_ETR_AXICTL_WRBURSTLEN_MASK 0xF00399400/* STLB_CACHE_INV */401#define STLB_CACHE_INV_PRODUCER_INDEX_SHIFT 0402#define STLB_CACHE_INV_PRODUCER_INDEX_MASK 0xFF403#define STLB_CACHE_INV_INDEX_MASK_SHIFT 8404#define STLB_CACHE_INV_INDEX_MASK_MASK 0xFF00405406#define MME_ACC_ACC_STALL_R_SHIFT 0407#define MME_SBAB_SB_STALL_R_SHIFT 0408409#define PCIE_WRAP_LBW_PROT_OVR_RD_EN_MASK 0x700410#define PCIE_WRAP_LBW_PROT_OVR_WR_EN_MASK 0x7000411412#define PCIE_WRAP_LBW_DRAIN_CFG_EN_SHIFT 0413#define PCIE_WRAP_HBW_DRAIN_CFG_EN_SHIFT 0414415/* DMA_IF_HBM_CRED_EN */416#define DMA_IF_HBM_CRED_EN_READ_CREDIT_EN_SHIFT 0417#define DMA_IF_HBM_CRED_EN_READ_CREDIT_EN_MASK 0x1418#define DMA_IF_HBM_CRED_EN_WRITE_CREDIT_EN_SHIFT 1419#define DMA_IF_HBM_CRED_EN_WRITE_CREDIT_EN_MASK 0x2420421#define DMA_IF_DOWN_CHX_SCRAM_SRAM_EN_VAL_SHIFT 0422#define DMA_IF_DOWN_CHX_SCRAM_HBM_EN_VAL_SHIFT 0423#define DMA_IF_DOWN_CHX_E2E_HBM_EN_VAL_SHIFT 0424#define DMA_IF_DOWN_CHX_E2E_PCI_EN_VAL_SHIFT 0425426#define IF_RTR_CTRL_SCRAM_SRAM_EN_VAL_SHIFT 0427#define IF_RTR_CTRL_SCRAM_HBM_EN_VAL_SHIFT 0428429#define IF_RTR_CTRL_E2E_HBM_EN_VAL_SHIFT 0430#define IF_RTR_CTRL_E2E_PCI_EN_VAL_SHIFT 0431432/* MMU_UP_PAGE_ERROR_CAPTURE */433#define MMU_UP_PAGE_ERROR_CAPTURE_VA_49_32_MASK 0x3FFFF434#define MMU_UP_PAGE_ERROR_CAPTURE_ENTRY_VALID_MASK 0x40000435436/* MMU_UP_ACCESS_ERROR_CAPTURE */437#define MMU_UP_ACCESS_ERROR_CAPTURE_VA_49_32_MASK 0x3FFFF438#define MMU_UP_ACCESS_ERROR_CAPTURE_ENTRY_VALID_MASK 0x40000439440#define QM_ARB_ERR_MSG_EN_CHOISE_OVF_MASK 0x1441#define QM_ARB_ERR_MSG_EN_CHOISE_WDT_MASK 0x2442#define QM_ARB_ERR_MSG_EN_AXI_LBW_ERR_MASK 0x4443444#define QM_ARB_ERR_MSG_EN_MASK (\445QM_ARB_ERR_MSG_EN_CHOISE_OVF_MASK |\446QM_ARB_ERR_MSG_EN_CHOISE_WDT_MASK |\447QM_ARB_ERR_MSG_EN_AXI_LBW_ERR_MASK)448449#define PCIE_AUX_FLR_CTRL_HW_CTRL_MASK 0x1450#define PCIE_AUX_FLR_CTRL_INT_MASK_MASK 0x2451452#define SYNC_MNGR_W_S_SYNC_MNGR_OBJS_MON_STATUS_0_VALID_SHIFT 0453#define SYNC_MNGR_W_S_SYNC_MNGR_OBJS_MON_STATUS_0_VALID_MASK 0x1454#define SYNC_MNGR_W_S_SYNC_MNGR_OBJS_MON_STATUS_0_PENDING_SHIFT 1455#define SYNC_MNGR_W_S_SYNC_MNGR_OBJS_MON_STATUS_0_PENDING_MASK 0x1FE456#define SYNC_MNGR_W_S_SYNC_MNGR_OBJS_MON_ARM_0_SID_SHIFT 0457#define SYNC_MNGR_W_S_SYNC_MNGR_OBJS_MON_ARM_0_SID_MASK 0xFF458#define SYNC_MNGR_W_S_SYNC_MNGR_OBJS_MON_ARM_0_MASK_SHIFT 8459#define SYNC_MNGR_W_S_SYNC_MNGR_OBJS_MON_ARM_0_MASK_MASK 0xFF00460#define SYNC_MNGR_W_S_SYNC_MNGR_OBJS_MON_ARM_0_SOP_SHIFT 16461#define SYNC_MNGR_W_S_SYNC_MNGR_OBJS_MON_ARM_0_SOP_MASK 0x10000462#define SYNC_MNGR_W_S_SYNC_MNGR_OBJS_MON_ARM_0_SOD_SHIFT 17463#define SYNC_MNGR_W_S_SYNC_MNGR_OBJS_MON_ARM_0_SOD_MASK 0xFFFE0000464#define TPC0_QM_CP_STS_0_FENCE_ID_SHIFT 20465#define TPC0_QM_CP_STS_0_FENCE_ID_MASK 0x300000466#define TPC0_QM_CP_STS_0_FENCE_IN_PROGRESS_SHIFT 22467#define TPC0_QM_CP_STS_0_FENCE_IN_PROGRESS_MASK 0x400000468469#endif /* GAUDI_MASKS_H_ */470471472