linux/include/linux/soc/mediatek/infracfg.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __SOC_MEDIATEK_INFRACFG_H
#define __SOC_MEDIATEK_INFRACFG_H

#define MT8365_INFRA_TOPAXI_PROTECTEN_STA1
#define MT8365_INFRA_TOPAXI_PROTECTEN_SET
#define MT8365_INFRA_TOPAXI_PROTECTEN_CLR
#define MT8365_INFRA_TOPAXI_PROTECTEN_MM_M0
#define MT8365_INFRA_TOPAXI_PROTECTEN_MDMCU_M1
#define MT8365_INFRA_TOPAXI_PROTECTEN_MMAPB_S
#define MT8365_INFRA_TOPAXI_PROTECTEN_MM2INFRA_AXI_GALS_SLV_0
#define MT8365_INFRA_TOPAXI_PROTECTEN_MM2INFRA_AXI_GALS_SLV_1
#define MT8365_INFRA_TOPAXI_PROTECTEN_AP2CONN_AHB
#define MT8365_INFRA_TOPAXI_PROTECTEN_CONN2INFRA_AHB
#define MT8365_INFRA_TOPAXI_PROTECTEN_MFG_M0
#define MT8365_INFRA_TOPAXI_PROTECTEN_INFRA2MFG
#define MT8365_INFRA_TOPAXI_PROTECTEN_1_STA1
#define MT8365_INFRA_TOPAXI_PROTECTEN_1_SET
#define MT8365_INFRA_TOPAXI_PROTECTEN_1_CLR
#define MT8365_INFRA_TOPAXI_PROTECTEN_1_APU2AP
#define MT8365_INFRA_TOPAXI_PROTECTEN_1_MM2INFRA_AXI_GALS_MST_0
#define MT8365_INFRA_TOPAXI_PROTECTEN_1_MM2INFRA_AXI_GALS_MST_1
#define MT8365_INFRA_TOPAXI_PROTECTEN_1_CONN2INFRA_AXI_GALS_MST
#define MT8365_INFRA_TOPAXI_PROTECTEN_1_CAM2MM_AXI_GALS_MST
#define MT8365_INFRA_TOPAXI_PROTECTEN_1_APU_CBIP_GALS_MST
#define MT8365_INFRA_TOPAXI_PROTECTEN_1_INFRA2CONN_AHB_GALS_SLV
#define MT8365_INFRA_TOPAXI_PROTECTEN_1_PWRDNREQ_INFRA_GALS_ADB
#define MT8365_INFRA_TOPAXI_PROTECTEN_1_PWRDNREQ_MP1_L2C_AFIFO
#define MT8365_INFRA_TOPAXI_PROTECTEN_1_AUDIO_BUS_AUDIO_M
#define MT8365_INFRA_TOPAXI_PROTECTEN_1_AUDIO_BUS_DSP_M
#define MT8365_INFRA_TOPAXI_PROTECTEN_1_AUDIO_BUS_DSP_S

#define MT8365_INFRA_NAO_TOPAXI_SI0_STA
#define MT8365_INFRA_NAO_TOPAXI_SI0_CTRL_UPDATED
#define MT8365_INFRA_NAO_TOPAXI_SI2_STA
#define MT8365_INFRA_NAO_TOPAXI_SI2_CTRL_UPDATED
#define MT8365_INFRA_TOPAXI_SI0_CTL
#define MT8365_INFRA_TOPAXI_SI0_WAY_EN_MMAPB_S
#define MT8365_INFRA_TOPAXI_SI2_CTL
#define MT8365_INFRA_TOPAXI_SI2_WAY_EN_PERI_M1

#define MT8365_SMI_COMMON_CLAMP_EN
#define MT8365_SMI_COMMON_CLAMP_EN_SET
#define MT8365_SMI_COMMON_CLAMP_EN_CLR

#define MT8195_TOP_AXI_PROT_EN_STA1
#define MT8195_TOP_AXI_PROT_EN_1_STA1
#define MT8195_TOP_AXI_PROT_EN_SET
#define MT8195_TOP_AXI_PROT_EN_CLR
#define MT8195_TOP_AXI_PROT_EN_1_SET
#define MT8195_TOP_AXI_PROT_EN_1_CLR
#define MT8195_TOP_AXI_PROT_EN_MM_SET
#define MT8195_TOP_AXI_PROT_EN_MM_CLR
#define MT8195_TOP_AXI_PROT_EN_MM_STA1
#define MT8195_TOP_AXI_PROT_EN_2_SET
#define MT8195_TOP_AXI_PROT_EN_2_CLR
#define MT8195_TOP_AXI_PROT_EN_2_STA1
#define MT8195_TOP_AXI_PROT_EN_VDNR_SET
#define MT8195_TOP_AXI_PROT_EN_VDNR_CLR
#define MT8195_TOP_AXI_PROT_EN_VDNR_STA1
#define MT8195_TOP_AXI_PROT_EN_VDNR_1_SET
#define MT8195_TOP_AXI_PROT_EN_VDNR_1_CLR
#define MT8195_TOP_AXI_PROT_EN_VDNR_1_STA1
#define MT8195_TOP_AXI_PROT_EN_VDNR_2_SET
#define MT8195_TOP_AXI_PROT_EN_VDNR_2_CLR
#define MT8195_TOP_AXI_PROT_EN_VDNR_2_STA1
#define MT8195_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_SET
#define MT8195_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_CLR
#define MT8195_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_STA1
#define MT8195_TOP_AXI_PROT_EN_MM_2_SET
#define MT8195_TOP_AXI_PROT_EN_MM_2_CLR
#define MT8195_TOP_AXI_PROT_EN_MM_2_STA1

#define MT8195_TOP_AXI_PROT_EN_VDOSYS0
#define MT8195_TOP_AXI_PROT_EN_VPPSYS0
#define MT8195_TOP_AXI_PROT_EN_MFG1
#define MT8195_TOP_AXI_PROT_EN_MFG1_2ND
#define MT8195_TOP_AXI_PROT_EN_VPPSYS0_2ND
#define MT8195_TOP_AXI_PROT_EN_1_MFG1
#define MT8195_TOP_AXI_PROT_EN_1_CAM
#define MT8195_TOP_AXI_PROT_EN_2_CAM
#define MT8195_TOP_AXI_PROT_EN_2_MFG1_2ND
#define MT8195_TOP_AXI_PROT_EN_2_MFG1
#define MT8195_TOP_AXI_PROT_EN_2_AUDIO
#define MT8195_TOP_AXI_PROT_EN_2_ADSP
#define MT8195_TOP_AXI_PROT_EN_MM_CAM
#define MT8195_TOP_AXI_PROT_EN_MM_IPE
#define MT8195_TOP_AXI_PROT_EN_MM_IMG
#define MT8195_TOP_AXI_PROT_EN_MM_VDOSYS0
#define MT8195_TOP_AXI_PROT_EN_MM_VPPSYS1
#define MT8195_TOP_AXI_PROT_EN_MM_VENC
#define MT8195_TOP_AXI_PROT_EN_MM_VENC_CORE1
#define MT8195_TOP_AXI_PROT_EN_MM_VDEC0
#define MT8195_TOP_AXI_PROT_EN_MM_VDEC1
#define MT8195_TOP_AXI_PROT_EN_MM_VDOSYS1_2ND
#define MT8195_TOP_AXI_PROT_EN_MM_VPPSYS1_2ND
#define MT8195_TOP_AXI_PROT_EN_MM_CAM_2ND
#define MT8195_TOP_AXI_PROT_EN_MM_IMG_2ND
#define MT8195_TOP_AXI_PROT_EN_MM_VENC_2ND
#define MT8195_TOP_AXI_PROT_EN_MM_WPESYS
#define MT8195_TOP_AXI_PROT_EN_MM_VDEC0_2ND
#define MT8195_TOP_AXI_PROT_EN_MM_VDEC1_2ND
#define MT8195_TOP_AXI_PROT_EN_MM_VDOSYS1
#define MT8195_TOP_AXI_PROT_EN_MM_2_VPPSYS0_2ND
#define MT8195_TOP_AXI_PROT_EN_MM_2_VENC
#define MT8195_TOP_AXI_PROT_EN_MM_2_VENC_CORE1
#define MT8195_TOP_AXI_PROT_EN_MM_2_CAM
#define MT8195_TOP_AXI_PROT_EN_MM_2_VPPSYS1
#define MT8195_TOP_AXI_PROT_EN_MM_2_VPPSYS0
#define MT8195_TOP_AXI_PROT_EN_MM_2_VDOSYS1
#define MT8195_TOP_AXI_PROT_EN_MM_2_VDEC2_2ND
#define MT8195_TOP_AXI_PROT_EN_MM_2_VDEC0_2ND
#define MT8195_TOP_AXI_PROT_EN_MM_2_WPESYS_2ND
#define MT8195_TOP_AXI_PROT_EN_MM_2_IPE
#define MT8195_TOP_AXI_PROT_EN_MM_2_VDEC2
#define MT8195_TOP_AXI_PROT_EN_MM_2_VDEC0
#define MT8195_TOP_AXI_PROT_EN_MM_2_WPESYS
#define MT8195_TOP_AXI_PROT_EN_VDNR_1_EPD_TX
#define MT8195_TOP_AXI_PROT_EN_VDNR_1_DP_TX
#define MT8195_TOP_AXI_PROT_EN_VDNR_PCIE_MAC_P0
#define MT8195_TOP_AXI_PROT_EN_VDNR_PCIE_MAC_P1
#define MT8195_TOP_AXI_PROT_EN_VDNR_1_PCIE_MAC_P0
#define MT8195_TOP_AXI_PROT_EN_VDNR_1_PCIE_MAC_P1
#define MT8195_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_MFG1
#define MT8195_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_VPPSYS0
#define MT8195_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_VDOSYS0

#define MT8192_TOP_AXI_PROT_EN_STA1
#define MT8192_TOP_AXI_PROT_EN_1_STA1
#define MT8192_TOP_AXI_PROT_EN_SET
#define MT8192_TOP_AXI_PROT_EN_CLR
#define MT8192_TOP_AXI_PROT_EN_1_SET
#define MT8192_TOP_AXI_PROT_EN_1_CLR
#define MT8192_TOP_AXI_PROT_EN_MM_SET
#define MT8192_TOP_AXI_PROT_EN_MM_CLR
#define MT8192_TOP_AXI_PROT_EN_MM_STA1
#define MT8192_TOP_AXI_PROT_EN_2_SET
#define MT8192_TOP_AXI_PROT_EN_2_CLR
#define MT8192_TOP_AXI_PROT_EN_2_STA1
#define MT8192_TOP_AXI_PROT_EN_VDNR_SET
#define MT8192_TOP_AXI_PROT_EN_VDNR_CLR
#define MT8192_TOP_AXI_PROT_EN_VDNR_STA1
#define MT8192_TOP_AXI_PROT_EN_MM_2_SET
#define MT8192_TOP_AXI_PROT_EN_MM_2_CLR
#define MT8192_TOP_AXI_PROT_EN_MM_2_STA1

#define MT8192_TOP_AXI_PROT_EN_DISP
#define MT8192_TOP_AXI_PROT_EN_CONN
#define MT8192_TOP_AXI_PROT_EN_CONN_2ND
#define MT8192_TOP_AXI_PROT_EN_MFG1
#define MT8192_TOP_AXI_PROT_EN_1_CONN
#define MT8192_TOP_AXI_PROT_EN_1_MFG1
#define MT8192_TOP_AXI_PROT_EN_1_CAM
#define MT8192_TOP_AXI_PROT_EN_2_CAM
#define MT8192_TOP_AXI_PROT_EN_2_ADSP
#define MT8192_TOP_AXI_PROT_EN_2_AUDIO
#define MT8192_TOP_AXI_PROT_EN_2_MFG1
#define MT8192_TOP_AXI_PROT_EN_2_MFG1_2ND
#define MT8192_TOP_AXI_PROT_EN_MM_CAM
#define MT8192_TOP_AXI_PROT_EN_MM_DISP
#define MT8192_TOP_AXI_PROT_EN_MM_CAM_2ND
#define MT8192_TOP_AXI_PROT_EN_MM_DISP_2ND
#define MT8192_TOP_AXI_PROT_EN_MM_ISP2
#define MT8192_TOP_AXI_PROT_EN_MM_ISP2_2ND
#define MT8192_TOP_AXI_PROT_EN_MM_IPE
#define MT8192_TOP_AXI_PROT_EN_MM_IPE_2ND
#define MT8192_TOP_AXI_PROT_EN_MM_VDEC
#define MT8192_TOP_AXI_PROT_EN_MM_VDEC_2ND
#define MT8192_TOP_AXI_PROT_EN_MM_VENC
#define MT8192_TOP_AXI_PROT_EN_MM_VENC_2ND
#define MT8192_TOP_AXI_PROT_EN_MM_2_ISP
#define MT8192_TOP_AXI_PROT_EN_MM_2_DISP
#define MT8192_TOP_AXI_PROT_EN_MM_2_ISP_2ND
#define MT8192_TOP_AXI_PROT_EN_MM_2_DISP_2ND
#define MT8192_TOP_AXI_PROT_EN_MM_2_MDP
#define MT8192_TOP_AXI_PROT_EN_MM_2_MDP_2ND
#define MT8192_TOP_AXI_PROT_EN_VDNR_CAM

#define MT8188_TOP_AXI_PROT_EN_SET
#define MT8188_TOP_AXI_PROT_EN_CLR
#define MT8188_TOP_AXI_PROT_EN_STA
#define MT8188_TOP_AXI_PROT_EN_1_SET
#define MT8188_TOP_AXI_PROT_EN_1_CLR
#define MT8188_TOP_AXI_PROT_EN_1_STA
#define MT8188_TOP_AXI_PROT_EN_2_SET
#define MT8188_TOP_AXI_PROT_EN_2_CLR
#define MT8188_TOP_AXI_PROT_EN_2_STA

#define MT8188_TOP_AXI_PROT_EN_MM_SET
#define MT8188_TOP_AXI_PROT_EN_MM_CLR
#define MT8188_TOP_AXI_PROT_EN_MM_STA
#define MT8188_TOP_AXI_PROT_EN_MM_2_SET
#define MT8188_TOP_AXI_PROT_EN_MM_2_CLR
#define MT8188_TOP_AXI_PROT_EN_MM_2_STA

#define MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_SET
#define MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_CLR
#define MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_STA
#define MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_SET
#define MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_CLR
#define MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_STA

#define MT8188_TOP_AXI_PROT_EN_MFG1_STEP1
#define MT8188_TOP_AXI_PROT_EN_2_MFG1_STEP2
#define MT8188_TOP_AXI_PROT_EN_1_MFG1_STEP3
#define MT8188_TOP_AXI_PROT_EN_2_MFG1_STEP4
#define MT8188_TOP_AXI_PROT_EN_MFG1_STEP5
#define MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_MFG1_STEP6

#define MT8188_TOP_AXI_PROT_EN_PEXTP_MAC_P0_STEP1
#define MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_PEXTP_MAC_P0_STEP2
#define MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_ETHER_STEP1
#define MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_HDMI_TX_STEP1
#define MT8188_TOP_AXI_PROT_EN_2_ADSP_AO_STEP1
#define MT8188_TOP_AXI_PROT_EN_2_ADSP_AO_STEP2
#define MT8188_TOP_AXI_PROT_EN_2_ADSP_INFRA_STEP1
#define MT8188_TOP_AXI_PROT_EN_2_ADSP_INFRA_STEP2
#define MT8188_TOP_AXI_PROT_EN_2_ADSP_STEP1
#define MT8188_TOP_AXI_PROT_EN_2_ADSP_STEP2
#define MT8188_TOP_AXI_PROT_EN_2_AUDIO_STEP1
#define MT8188_TOP_AXI_PROT_EN_2_AUDIO_STEP2
#define MT8188_TOP_AXI_PROT_EN_2_AUDIO_ASRC_STEP1
#define MT8188_TOP_AXI_PROT_EN_2_AUDIO_ASRC_STEP2

#define MT8188_TOP_AXI_PROT_EN_VPPSYS0_STEP1
#define MT8188_TOP_AXI_PROT_EN_MM_2_VPPSYS0_STEP2
#define MT8188_TOP_AXI_PROT_EN_VPPSYS0_STEP3
#define MT8188_TOP_AXI_PROT_EN_MM_2_VPPSYS0_STEP4
#define MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_VPPSYS0_STEP5
#define MT8188_TOP_AXI_PROT_EN_MM_VDOSYS0_STEP1
#define MT8188_TOP_AXI_PROT_EN_VDOSYS0_STEP2
#define MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_VDOSYS0_STEP3
#define MT8188_TOP_AXI_PROT_EN_MM_VDOSYS1_STEP1
#define MT8188_TOP_AXI_PROT_EN_MM_VDOSYS1_STEP2
#define MT8188_TOP_AXI_PROT_EN_MM_2_VDOSYS1_STEP3
#define MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_DP_TX_STEP1
#define MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_EDP_TX_STEP1

#define MT8188_TOP_AXI_PROT_EN_MM_VPPSYS1_STEP1
#define MT8188_TOP_AXI_PROT_EN_MM_VPPSYS1_STEP2
#define MT8188_TOP_AXI_PROT_EN_MM_2_VPPSYS1_STEP3
#define MT8188_TOP_AXI_PROT_EN_MM_2_WPE_STEP1
#define MT8188_TOP_AXI_PROT_EN_MM_2_WPE_STEP2
#define MT8188_TOP_AXI_PROT_EN_MM_VDEC0_STEP1
#define MT8188_TOP_AXI_PROT_EN_MM_2_VDEC0_STEP2
#define MT8188_TOP_AXI_PROT_EN_MM_VDEC1_STEP1
#define MT8188_TOP_AXI_PROT_EN_MM_VDEC1_STEP2
#define MT8188_TOP_AXI_PROT_EN_MM_VENC_STEP1
#define MT8188_TOP_AXI_PROT_EN_MM_VENC_STEP2
#define MT8188_TOP_AXI_PROT_EN_MM_2_VENC_STEP3
#define MT8188_TOP_AXI_PROT_EN_MM_IMG_VCORE_STEP1
#define MT8188_TOP_AXI_PROT_EN_MM_IMG_VCORE_STEP2
#define MT8188_TOP_AXI_PROT_EN_MM_2_IMG_VCORE_STEP3
#define MT8188_TOP_AXI_PROT_EN_MM_2_IMG_MAIN_STEP1
#define MT8188_TOP_AXI_PROT_EN_MM_2_IMG_MAIN_STEP2
#define MT8188_TOP_AXI_PROT_EN_MM_CAM_VCORE_STEP1
#define MT8188_TOP_AXI_PROT_EN_2_CAM_VCORE_STEP2
#define MT8188_TOP_AXI_PROT_EN_1_CAM_VCORE_STEP3
#define MT8188_TOP_AXI_PROT_EN_MM_CAM_VCORE_STEP4
#define MT8188_TOP_AXI_PROT_EN_MM_2_CAM_VCORE_STEP5
#define MT8188_TOP_AXI_PROT_EN_MM_2_CAM_MAIN_STEP1
#define MT8188_TOP_AXI_PROT_EN_2_CAM_MAIN_STEP2
#define MT8188_TOP_AXI_PROT_EN_MM_2_CAM_MAIN_STEP3
#define MT8188_TOP_AXI_PROT_EN_2_CAM_MAIN_STEP4

#define MT8188_SMI_COMMON_CLAMP_EN_STA
#define MT8188_SMI_COMMON_CLAMP_EN_SET
#define MT8188_SMI_COMMON_CLAMP_EN_CLR

#define MT8188_SMI_COMMON_SMI_CLAMP_DIP_TO_VDO0
#define MT8188_SMI_COMMON_SMI_CLAMP_DIP_TO_VPP1
#define MT8188_SMI_COMMON_SMI_CLAMP_IPE_TO_VPP1

#define MT8188_SMI_COMMON_SMI_CLAMP_CAM_SUBA_TO_VPP0
#define MT8188_SMI_COMMON_SMI_CLAMP_CAM_SUBB_TO_VDO0

#define MT8188_SMI_LARB10_RESET_ADDR
#define MT8188_SMI_LARB11A_RESET_ADDR
#define MT8188_SMI_LARB11C_RESET_ADDR
#define MT8188_SMI_LARB12_RESET_ADDR
#define MT8188_SMI_LARB11B_RESET_ADDR
#define MT8188_SMI_LARB15_RESET_ADDR
#define MT8188_SMI_LARB16B_RESET_ADDR
#define MT8188_SMI_LARB17B_RESET_ADDR
#define MT8188_SMI_LARB16A_RESET_ADDR
#define MT8188_SMI_LARB17A_RESET_ADDR

#define MT8188_SMI_LARB10_RESET
#define MT8188_SMI_LARB11A_RESET
#define MT8188_SMI_LARB11C_RESET
#define MT8188_SMI_LARB12_RESET
#define MT8188_SMI_LARB11B_RESET
#define MT8188_SMI_LARB15_RESET
#define MT8188_SMI_LARB16B_RESET
#define MT8188_SMI_LARB17B_RESET
#define MT8188_SMI_LARB16A_RESET
#define MT8188_SMI_LARB17A_RESET

#define MT8186_TOP_AXI_PROT_EN_SET
#define MT8186_TOP_AXI_PROT_EN_CLR
#define MT8186_TOP_AXI_PROT_EN_STA
#define MT8186_TOP_AXI_PROT_EN_1_SET
#define MT8186_TOP_AXI_PROT_EN_1_CLR
#define MT8186_TOP_AXI_PROT_EN_1_STA
#define MT8186_TOP_AXI_PROT_EN_2_SET
#define MT8186_TOP_AXI_PROT_EN_2_CLR
#define MT8186_TOP_AXI_PROT_EN_2_STA
#define MT8186_TOP_AXI_PROT_EN_3_SET
#define MT8186_TOP_AXI_PROT_EN_3_CLR
#define MT8186_TOP_AXI_PROT_EN_3_STA

/* MFG1 */
#define MT8186_TOP_AXI_PROT_EN_1_MFG1_STEP1
#define MT8186_TOP_AXI_PROT_EN_MFG1_STEP2
#define MT8186_TOP_AXI_PROT_EN_MFG1_STEP3
#define MT8186_TOP_AXI_PROT_EN_1_MFG1_STEP4
/* DIS */
#define MT8186_TOP_AXI_PROT_EN_1_DIS_STEP1
#define MT8186_TOP_AXI_PROT_EN_DIS_STEP2
/* IMG */
#define MT8186_TOP_AXI_PROT_EN_1_IMG_STEP1
#define MT8186_TOP_AXI_PROT_EN_1_IMG_STEP2
/* IPE */
#define MT8186_TOP_AXI_PROT_EN_1_IPE_STEP1
#define MT8186_TOP_AXI_PROT_EN_1_IPE_STEP2
/* CAM */
#define MT8186_TOP_AXI_PROT_EN_1_CAM_STEP1
#define MT8186_TOP_AXI_PROT_EN_1_CAM_STEP2
/* VENC */
#define MT8186_TOP_AXI_PROT_EN_1_VENC_STEP1
#define MT8186_TOP_AXI_PROT_EN_1_VENC_STEP2
/* VDEC */
#define MT8186_TOP_AXI_PROT_EN_1_VDEC_STEP1
#define MT8186_TOP_AXI_PROT_EN_1_VDEC_STEP2
/* WPE */
#define MT8186_TOP_AXI_PROT_EN_2_WPE_STEP1
#define MT8186_TOP_AXI_PROT_EN_2_WPE_STEP2
/* CONN_ON */
#define MT8186_TOP_AXI_PROT_EN_1_CONN_ON_STEP1
#define MT8186_TOP_AXI_PROT_EN_CONN_ON_STEP2
#define MT8186_TOP_AXI_PROT_EN_CONN_ON_STEP3
#define MT8186_TOP_AXI_PROT_EN_CONN_ON_STEP4
/* ADSP_TOP */
#define MT8186_TOP_AXI_PROT_EN_3_ADSP_TOP_STEP1
#define MT8186_TOP_AXI_PROT_EN_3_ADSP_TOP_STEP2

#define MT8183_TOP_AXI_PROT_EN_STA1
#define MT8183_TOP_AXI_PROT_EN_STA1_1
#define MT8183_TOP_AXI_PROT_EN_SET
#define MT8183_TOP_AXI_PROT_EN_CLR
#define MT8183_TOP_AXI_PROT_EN_1_SET
#define MT8183_TOP_AXI_PROT_EN_1_CLR
#define MT8183_TOP_AXI_PROT_EN_MCU_SET
#define MT8183_TOP_AXI_PROT_EN_MCU_CLR
#define MT8183_TOP_AXI_PROT_EN_MCU_STA1
#define MT8183_TOP_AXI_PROT_EN_MM_SET
#define MT8183_TOP_AXI_PROT_EN_MM_CLR
#define MT8183_TOP_AXI_PROT_EN_MM_STA1

#define MT8183_TOP_AXI_PROT_EN_DISP
#define MT8183_TOP_AXI_PROT_EN_CONN
#define MT8183_TOP_AXI_PROT_EN_MFG
#define MT8183_TOP_AXI_PROT_EN_CAM
#define MT8183_TOP_AXI_PROT_EN_VPU_TOP
#define MT8183_TOP_AXI_PROT_EN_1_DISP
#define MT8183_TOP_AXI_PROT_EN_1_MFG
#define MT8183_TOP_AXI_PROT_EN_MM_ISP
#define MT8183_TOP_AXI_PROT_EN_MM_ISP_2ND
#define MT8183_TOP_AXI_PROT_EN_MM_CAM
#define MT8183_TOP_AXI_PROT_EN_MM_VPU_TOP
#define MT8183_TOP_AXI_PROT_EN_MM_VPU_TOP_2ND
#define MT8183_TOP_AXI_PROT_EN_MM_CAM_2ND
#define MT8183_TOP_AXI_PROT_EN_MCU_VPU_CORE0_2ND
#define MT8183_TOP_AXI_PROT_EN_MCU_VPU_CORE1_2ND
#define MT8183_TOP_AXI_PROT_EN_MCU_VPU_CORE0
#define MT8183_TOP_AXI_PROT_EN_MCU_VPU_CORE1

#define MT8183_SMI_COMMON_CLAMP_EN
#define MT8183_SMI_COMMON_CLAMP_EN_SET
#define MT8183_SMI_COMMON_CLAMP_EN_CLR

#define MT8183_SMI_COMMON_SMI_CLAMP_DISP
#define MT8183_SMI_COMMON_SMI_CLAMP_VENC
#define MT8183_SMI_COMMON_SMI_CLAMP_ISP
#define MT8183_SMI_COMMON_SMI_CLAMP_CAM
#define MT8183_SMI_COMMON_SMI_CLAMP_VPU_TOP
#define MT8183_SMI_COMMON_SMI_CLAMP_VDEC

#define MT8173_TOP_AXI_PROT_EN_MCI_M2
#define MT8173_TOP_AXI_PROT_EN_MM_M0
#define MT8173_TOP_AXI_PROT_EN_MM_M1
#define MT8173_TOP_AXI_PROT_EN_MMAPB_S
#define MT8173_TOP_AXI_PROT_EN_L2C_M2
#define MT8173_TOP_AXI_PROT_EN_L2SS_SMI
#define MT8173_TOP_AXI_PROT_EN_L2SS_ADD
#define MT8173_TOP_AXI_PROT_EN_CCI_M2
#define MT8173_TOP_AXI_PROT_EN_MFG_S
#define MT8173_TOP_AXI_PROT_EN_PERI_M0
#define MT8173_TOP_AXI_PROT_EN_PERI_M1
#define MT8173_TOP_AXI_PROT_EN_DEBUGSYS
#define MT8173_TOP_AXI_PROT_EN_CQ_DMA
#define MT8173_TOP_AXI_PROT_EN_GCPU
#define MT8173_TOP_AXI_PROT_EN_IOMMU
#define MT8173_TOP_AXI_PROT_EN_MFG_M0
#define MT8173_TOP_AXI_PROT_EN_MFG_M1
#define MT8173_TOP_AXI_PROT_EN_MFG_SNOOP_OUT

#define MT8167_TOP_AXI_PROT_EN_MM_EMI
#define MT8167_TOP_AXI_PROT_EN_MCU_MFG
#define MT8167_TOP_AXI_PROT_EN_CONN_EMI
#define MT8167_TOP_AXI_PROT_EN_MFG_EMI
#define MT8167_TOP_AXI_PROT_EN_CONN_MCU
#define MT8167_TOP_AXI_PROT_EN_MCU_CONN
#define MT8167_TOP_AXI_PROT_EN_MCU_MM

#define MT2701_TOP_AXI_PROT_EN_MM_M0
#define MT2701_TOP_AXI_PROT_EN_CONN_M
#define MT2701_TOP_AXI_PROT_EN_CONN_S

#define MT7622_TOP_AXI_PROT_EN_ETHSYS
#define MT7622_TOP_AXI_PROT_EN_HIF0
#define MT7622_TOP_AXI_PROT_EN_HIF1
#define MT7622_TOP_AXI_PROT_EN_WB

#define INFRA_TOPAXI_PROTECTEN
#define INFRA_TOPAXI_PROTECTSTA1
#define INFRA_TOPAXI_PROTECTEN_SET
#define INFRA_TOPAXI_PROTECTEN_CLR

#define MT8192_INFRA_CTRL
#define MT8192_INFRA_CTRL_DISABLE_MFG2ACP

#define REG_INFRA_MISC
#define F_DDR_4GB_SUPPORT_EN

int mtk_infracfg_set_bus_protection(struct regmap *infracfg, u32 mask,
		bool reg_update);
int mtk_infracfg_clear_bus_protection(struct regmap *infracfg, u32 mask,
		bool reg_update);
#endif /* __SOC_MEDIATEK_INFRACFG_H */