/* SPDX-License-Identifier: GPL-2.0-only */ #include #include #include enum { VPPSYS0_PROT_STEP_6_MASK = 0x00100000, VPPSYS0_PROT_STEP_5_MASK = 0x0007F8FF, VPPSYS0_PROT_STEP_4_MASK = 0x00800000, VPPSYS0_PROT_STEP_3_MASK = 0x01600300, VPPSYS0_PROT_STEP_2_MASK = 0x80381DC7, VPPSYS0_PROT_STEP_1_MASK = 0x00000400, VDOSYS0_PROT_STEP_5_MASK = 0x00200000, VDOSYS0_PROT_STEP_4_MASK = 0x3FC00000, VDOSYS0_PROT_STEP_3_MASK = 0x00000040, VDOSYS0_PROT_STEP_2_MASK = 0x00800000, VDOSYS0_PROT_STEP_1_MASK = 0x403E6238, VPPSYS1_PROT_STEP_3_MASK = 0x000400C0, VPPSYS1_PROT_STEP_2_MASK = 0x00800000, VPPSYS1_PROT_STEP_1_MASK = 0x000001E0, VDOSYS1_PROT_STEP_3_MASK = 0x00000400, VDOSYS1_PROT_STEP_2_MASK = 0x00400000, VDOSYS1_PROT_STEP_1_MASK = 0xC0000000, ADSP_PROT_STEP_1_MASK = 0x0001D000, AUDIO_PROT_STEP_1_MASK = 0x00000A00, }; void mtcmos_protect_display_bus(void) { write32(&mt8195_infracfg_ao->infra_topaxi_protecten_sub_infra_vdnr_clr, VPPSYS0_PROT_STEP_6_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_mm_clr_2, VPPSYS0_PROT_STEP_5_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_clr, VPPSYS0_PROT_STEP_4_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_mm_clr_2, VPPSYS0_PROT_STEP_3_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_mm_clr, VPPSYS0_PROT_STEP_2_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_clr, VPPSYS0_PROT_STEP_1_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_sub_infra_vdnr_clr, VDOSYS0_PROT_STEP_5_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_mm_clr, VDOSYS0_PROT_STEP_4_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_clr, VDOSYS0_PROT_STEP_3_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_mm_clr_2, VDOSYS0_PROT_STEP_2_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_mm_clr, VDOSYS0_PROT_STEP_1_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_mm_clr_2, VPPSYS1_PROT_STEP_3_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_mm_clr, VPPSYS1_PROT_STEP_2_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_mm_clr, VPPSYS1_PROT_STEP_1_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_mm_clr_2, VDOSYS1_PROT_STEP_3_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_mm_clr, VDOSYS1_PROT_STEP_2_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_mm_clr, VDOSYS1_PROT_STEP_1_MASK); } void mtcmos_protect_audio_bus(void) { write32(&mt8195_infracfg_ao->infra_topaxi_protecten_clr_2, ADSP_PROT_STEP_1_MASK); write32(&mt8195_infracfg_ao->infra_topaxi_protecten_clr_2, AUDIO_PROT_STEP_1_MASK); }