drivers/mipi: Add support for KD_KD110N11_51IE panel
[coreboot2.git] / src / soc / mediatek / mt8188 / mtcmos.c
blob2339f37c9877f64b1444c520c65a941d83f019c0
1 /* SPDX-License-Identifier: GPL-2.0-only OR MIT */
3 #include <device/mmio.h>
4 #include <soc/infracfg.h>
5 #include <soc/mtcmos.h>
6 #include <soc/spm.h>
8 enum {
9 VPPSYS0_PROT_STEP_6_MASK = 0x00100000,
10 VPPSYS0_PROT_STEP_5_MASK = 0x00276C16,
11 VPPSYS0_PROT_STEP_4_MASK = 0x00800000,
12 VPPSYS0_PROT_STEP_3_MASK = 0x00800200,
13 VPPSYS0_PROT_STEP_2_MASK = 0x80302846,
14 VPPSYS0_PROT_STEP_1_MASK = 0x00000400,
15 VDOSYS0_PROT_STEP_4_MASK = 0x00000060,
16 VDOSYS0_PROT_STEP_3_MASK = 0x00800000,
17 VDOSYS0_PROT_STEP_2_MASK = 0x00000020,
18 VDOSYS0_PROT_STEP_1_MASK = 0x00100000,
19 VPPSYS1_PROT_STEP_3_MASK = 0x00040000,
20 VPPSYS1_PROT_STEP_2_MASK = 0x00800000,
21 VPPSYS1_PROT_STEP_1_MASK = 0x00000020,
22 VDOSYS1_PROT_STEP_3_MASK = 0x00000400,
23 VDOSYS1_PROT_STEP_2_MASK = 0x00400000,
24 VDOSYS1_PROT_STEP_1_MASK = 0x40000000,
25 ADSP_PROT_STEP_2_MASK = 0x00001000,
26 ADSP_PROT_STEP_1_MASK = 0x00100000,
27 AUDIO_PROT_STEP_2_MASK = 0x00600000,
28 AUDIO_PROT_STEP_1_MASK = 0x00000F00,
31 void mtcmos_set_scpd_ext_buck_iso(const struct power_domain_data *pd)
33 clrbits32(&mtk_spm->ext_buck_iso, pd->ext_buck_iso_bits);
36 void mtcmos_protect_display_bus(void)
38 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_sub_infra_vdnr_clr,
39 VPPSYS0_PROT_STEP_6_MASK);
40 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_mm_clr_2,
41 VPPSYS0_PROT_STEP_5_MASK);
42 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_clr,
43 VPPSYS0_PROT_STEP_4_MASK);
44 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_mm_clr_2,
45 VPPSYS0_PROT_STEP_3_MASK);
46 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_mm_clr,
47 VPPSYS0_PROT_STEP_2_MASK);
48 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_clr,
49 VPPSYS0_PROT_STEP_1_MASK);
50 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_sub_infra_vdnr_clr,
51 VDOSYS0_PROT_STEP_4_MASK);
52 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_mm_clr,
53 VDOSYS0_PROT_STEP_3_MASK);
54 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_clr,
55 VDOSYS0_PROT_STEP_2_MASK);
56 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_mm_clr,
57 VDOSYS0_PROT_STEP_1_MASK);
58 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_mm_clr_2,
59 VPPSYS1_PROT_STEP_3_MASK);
60 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_mm_clr,
61 VPPSYS1_PROT_STEP_2_MASK);
62 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_mm_clr,
63 VPPSYS1_PROT_STEP_1_MASK);
64 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_mm_clr_2,
65 VDOSYS1_PROT_STEP_3_MASK);
66 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_mm_clr,
67 VDOSYS1_PROT_STEP_2_MASK);
68 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_mm_clr,
69 VDOSYS1_PROT_STEP_1_MASK);
72 void mtcmos_protect_audio_bus(void)
74 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_clr_2,
75 ADSP_PROT_STEP_2_MASK);
76 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_clr_2,
77 ADSP_PROT_STEP_1_MASK);
78 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_clr_2,
79 AUDIO_PROT_STEP_2_MASK);
80 write32(&mt8188_infracfg_ao->infra_topaxi_protecten_clr_2,
81 AUDIO_PROT_STEP_1_MASK);