coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
pll.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef SOC_MEDIATEK_MT8173_PLL_H
4 #define SOC_MEDIATEK_MT8173_PLL_H
5 
6 #include <soc/emi.h>
7 #include <soc/pll_common.h>
8 
13  u32 tst_sel_0; /* 0x020 */
17  u32 clk_cfg_0; /* 0x040 */
21  u32 clk_cfg_1; /* 0x050 */
25  u32 clk_cfg_2; /* 0x060 */
29  u32 clk_cfg_3; /* 0x070 */
33  u32 clk_cfg_4; /* 0x080 */
37  u32 clk_cfg_5; /* 0x090 */
41  u32 clk_cfg_6; /* 0x0a0 */
45  u32 clk_cfg_7; /* 0x0b0 */
49  u32 clk_cfg_12; /* 0x0c0 */
53  u32 clk_cfg_13; /* 0x0d0 */
57  u32 clk_cfg_8; /* 0x100 */
62  u32 clk_auddiv_0; /* 0x120 */
68  u32 clk_scp_cfg_0; /* 0x200 */
71  u32 clk_misc_cfg_0; /* 0x210 */
75  u32 clk26cali_0; /* 0x220 */
81  u32 mbist_cfg_0; /* 0x308 */
84  u32 mbist_cfg_3; /* 0x314 */
85 };
86 
87 check_member(mtk_topckgen_regs, clk_cfg_0, 0x40);
88 check_member(mtk_topckgen_regs, clk_cfg_8, 0x100);
89 check_member(mtk_topckgen_regs, clk_scp_cfg_0, 0x200);
90 check_member(mtk_topckgen_regs, mbist_cfg_3, 0x314);
91 
95  u32 ap_pll_con2; /* 0x008 */
110  u32 pll_test_con1; /* 0x044 */
112  u32 armca15pll_con0; /* 0x200 */
163  u32 lvdspll_con0; /* 0x2d0 */
171  u32 msdcpll2_con0; /* 0x2f0 */
174  u32 msdcpll2_pwr_con0; /* 0x2fc */
175 };
176 
177 check_member(mtk_apmixed_regs, ap_pll_con2, 0x8);
178 check_member(mtk_apmixed_regs, armca15pll_con0, 0x200);
179 check_member(mtk_apmixed_regs, msdcpll2_pwr_con0, 0x2fc);
180 
181 enum {
185 };
186 
187 enum {
189 };
190 
191 /* PLL rate */
192 enum {
193  ARMCA15PLL_HZ = 851500 * KHz,
194  ARMCA7PLL_HZ = 1105 * MHz,
195  MAINPLL_HZ = 1092 * MHz,
196  UNIVPLL_HZ = 1248 * MHz,
197  MMPLL_HZ = 455 * MHz,
198  MSDCPLL_HZ = 800 * MHz,
199  VENCPLL_HZ = 660 * MHz,
200  TVDPLL_HZ = 1782 * MHz,
201  MPLL_HZ = 1456 * MHz,
202  VCODECPLL_HZ = 1104 * MHz,
203  LVDSPLL_HZ = 150 * MHz,
204  MSDCPLL2_HZ = 800 * MHz,
205  APLL1_HZ = 180633600,
206  APLL2_HZ = 196608 * KHz,
207 };
208 
209 /* top_div rate */
210 enum {
215  CLK26M_HZ = 26 * MHz,
234 };
235 
236 /* top_mux rate */
237 enum {
277 };
278 
279 void mt_pll_post_init(void);
281 void mt_pll_enable_ssusb_clk(void);
284 void mt_mem_pll_config_post(void);
285 void mt_mem_pll_mux(void);
286 
287 #endif /* SOC_MEDIATEK_MT8173_PLL_H */
#define MHz
Definition: helpers.h:80
#define KHz
Definition: helpers.h:79
@ MSDCPLL2_HZ
Definition: pll.h:204
@ UNIVPLL_HZ
Definition: pll.h:196
@ MSDCPLL_HZ
Definition: pll.h:198
@ MAINPLL_HZ
Definition: pll.h:195
@ MMPLL_HZ
Definition: pll.h:197
@ ARMCA15PLL_HZ
Definition: pll.h:193
@ APLL1_HZ
Definition: pll.h:205
@ ARMCA7PLL_HZ
Definition: pll.h:194
@ APLL2_HZ
Definition: pll.h:206
@ MPLL_HZ
Definition: pll.h:201
@ VENCPLL_HZ
Definition: pll.h:199
@ LVDSPLL_HZ
Definition: pll.h:203
@ TVDPLL_HZ
Definition: pll.h:200
@ VCODECPLL_HZ
Definition: pll.h:202
void mt_pll_post_init(void)
Definition: pll.c:377
void mt_mem_pll_config_pre(const struct mt8173_sdram_params *sdram_params)
Definition: pll.c:425
@ VENC_LT_HZ
Definition: pll.h:257
@ UART_HZ
Definition: pll.h:247
@ MSDC50_0_HZ
Definition: pll.h:275
@ HDCP_24M_HZ
Definition: pll.h:271
@ MEM_HZ
Definition: pll.h:239
@ SPINFI_IFR_HZ
Definition: pll.h:266
@ MSDC50_2_H_HZ
Definition: pll.h:269
@ PMICSPI_HZ
Definition: pll.h:254
@ DPILVDS_HZ
Definition: pll.h:268
@ AUD_1_HZ
Definition: pll.h:261
@ USB20_HZ
Definition: pll.h:249
@ AUD_2_HZ
Definition: pll.h:262
@ CCI400_HZ
Definition: pll.h:260
@ IRDA_HZ
Definition: pll.h:259
@ MEM_MFG_IN_HZ
Definition: pll.h:263
@ VDEC_HZ
Definition: pll.h:243
@ DDRPHYCFG_HZ
Definition: pll.h:240
@ MSDC30_3_HZ
Definition: pll.h:251
@ HDMI_HZ
Definition: pll.h:267
@ PWM_HZ
Definition: pll.h:242
@ SCAM_HZ
Definition: pll.h:265
@ AUDIO_HZ
Definition: pll.h:252
@ CAMTG_HZ
Definition: pll.h:246
@ VENC_HZ
Definition: pll.h:244
@ AXI_MFG_IN_HZ
Definition: pll.h:264
@ MSDC50_0_H_HZ
Definition: pll.h:274
@ HDCP_HZ
Definition: pll.h:270
@ MFG_HZ
Definition: pll.h:245
@ ATB_HZ
Definition: pll.h:256
@ AUD_INTBUS_HZ
Definition: pll.h:253
@ MSDC30_2_HZ
Definition: pll.h:250
@ DPI0_HZ
Definition: pll.h:258
@ MSDC30_1_HZ
Definition: pll.h:276
@ RTC_HZ
Definition: pll.h:272
@ USB30_HZ
Definition: pll.h:273
@ SCP_HZ
Definition: pll.h:255
@ AXI_HZ
Definition: pll.h:238
@ MM_HZ
Definition: pll.h:241
@ SPI_HZ
Definition: pll.h:248
@ UNIVPLL2_D4_HZ
Definition: pll.h:229
@ CLKRTC_EXT_HZ
Definition: pll.h:216
@ SYSPLL3_D4_HZ
Definition: pll.h:223
@ UNIVPLL1_D2_HZ
Definition: pll.h:226
@ SYSPLL_D2_HZ
Definition: pll.h:224
@ UNIVPLL_D52_HZ
Definition: pll.h:231
@ SYSPLL2_D2_HZ
Definition: pll.h:221
@ UNIVPLL3_D2_HZ
Definition: pll.h:230
@ VENCPLL_D2_HZ
Definition: pll.h:233
@ SYSPLL1_D4_HZ
Definition: pll.h:220
@ APLL2_CK_HZ
Definition: pll.h:214
@ VCODECPLL_CK_HZ
Definition: pll.h:232
@ SYSPLL3_D2_HZ
Definition: pll.h:222
@ SYSPLL1_D2_HZ
Definition: pll.h:219
@ MMPLL_CK_HZ
Definition: pll.h:217
@ AD_LVDSPLL_CK_HZ
Definition: pll.h:212
@ UNIVPLL2_D2_HZ
Definition: pll.h:228
@ TVDPLL_D2_HZ
Definition: pll.h:225
@ CLK26M_HZ
Definition: pll.h:215
@ MSDCPLL_D4_HZ
Definition: pll.h:218
@ APLL1_CK_HZ
Definition: pll.h:213
@ AD_HDMITX_CLK_HZ
Definition: pll.h:211
@ UNIVPLL1_D8_HZ
Definition: pll.h:227
@ PLL_ISO_DELAY
Definition: pll.h:183
@ PLL_EN_DELAY
Definition: pll.h:184
@ PLL_PWR_ON_DELAY
Definition: pll.h:182
void mt_pll_enable_ssusb_clk(void)
Definition: pll.c:361
void mt_mem_pll_set_clk_cfg(void)
check_member(mtk_topckgen_regs, clk_cfg_0, 0x40)
void mt_mem_pll_mux(void)
Definition: pll.c:445
@ PCW_INTEGER_BITS
Definition: pll.h:188
void mt_pll_set_aud_div(u32 rate)
Definition: pll.c:386
void mt_mem_pll_config_post(void)
Definition: pll.c:439
uint32_t u32
Definition: stdint.h:51
u32 msdcpll_con2
Definition: pll.h:134
u32 vcodecpll_con2
Definition: pll.h:150
u32 vencpll_con0
Definition: pll.h:136
u32 vencpll_con2
Definition: pll.h:138
u32 reserved3[2]
Definition: pll.h:162
u32 lvdspll_ssc_con2
Definition: pll.h:169
u32 pll_test_con0
Definition: pll.h:109
u32 armca7pll_con2
Definition: pll.h:118
u32 apll2_con0
Definition: pll.h:157
u32 ap_pll_con5
Definition: pll.h:98
u32 lvdspll_ssc_con1
Definition: pll.h:168
u32 msdcpll_con0
Definition: pll.h:132
u32 pll_test_con1
Definition: pll.h:110
u32 tvdpll_con0
Definition: pll.h:140
u32 armca7pll_con1
Definition: pll.h:117
u32 pll_iso_con0
Definition: pll.h:104
u32 reserved1[1]
Definition: pll.h:94
u32 mainpll_con0
Definition: pll.h:120
u32 apll2_con1
Definition: pll.h:158
u32 univpll_pwr_con0
Definition: pll.h:127
u32 apll1_con2
Definition: pll.h:154
u32 armca15pll_con0
Definition: pll.h:112
u32 lvdspll_ssc_con0
Definition: pll.h:167
u32 msdcpll2_con1
Definition: pll.h:172
u32 mmpll_pwr_con0
Definition: pll.h:131
u32 ap_pll_con4
Definition: pll.h:97
u32 msdcpll2_con2
Definition: pll.h:173
u32 armca15pll_con2
Definition: pll.h:114
u32 msdcpll_pwr_con0
Definition: pll.h:135
u32 mainpll_pwr_con0
Definition: pll.h:123
u32 armca15pll_pwr_con0
Definition: pll.h:115
u32 ap_pll_con0
Definition: pll.h:93
u32 pll_chg_con0
Definition: pll.h:108
u32 vencpll_con1
Definition: pll.h:137
u32 clksq_stb_con0
Definition: pll.h:101
u32 ap_pll_con3
Definition: pll.h:96
u32 univpll_con2
Definition: pll.h:126
u32 armca7pll_con0
Definition: pll.h:116
u32 mpll_pwr_con0
Definition: pll.h:147
u32 msdcpll2_pwr_con0
Definition: pll.h:174
u32 reserved2[110]
Definition: pll.h:111
u32 mpll_con2
Definition: pll.h:146
u32 lvdspll_con2
Definition: pll.h:165
u32 lvdspll_con1
Definition: pll.h:164
u32 mainpll_con2
Definition: pll.h:122
u32 vcodecpll_con0
Definition: pll.h:148
u32 vcodecpll_pwr_con0
Definition: pll.h:151
u32 apll1_con1
Definition: pll.h:153
u32 univpll_con1
Definition: pll.h:125
u32 mmpll_con0
Definition: pll.h:128
u32 mpll_con1
Definition: pll.h:145
u32 ap_pll_con6
Definition: pll.h:99
u32 pll_stb_con0
Definition: pll.h:106
u32 tvdpll_con2
Definition: pll.h:142
u32 mmpll_con1
Definition: pll.h:129
u32 apll2_con3
Definition: pll.h:160
u32 tvdpll_con1
Definition: pll.h:141
u32 pll_pwr_con0
Definition: pll.h:102
u32 mmpll_con2
Definition: pll.h:130
u32 apll1_con0
Definition: pll.h:152
u32 armca7pll_pwr_con0
Definition: pll.h:119
u32 vcodecpll_con1
Definition: pll.h:149
u32 pll_iso_con1
Definition: pll.h:105
u32 mainpll_con1
Definition: pll.h:121
u32 ap_pll_con7
Definition: pll.h:100
u32 apll1_pwr_con0
Definition: pll.h:156
u32 div_stb_con0
Definition: pll.h:107
u32 msdcpll_con1
Definition: pll.h:133
u32 apll2_pwr_con0
Definition: pll.h:161
u32 msdcpll2_con0
Definition: pll.h:171
u32 apll1_con3
Definition: pll.h:155
u32 reserved4[1]
Definition: pll.h:170
u32 ap_pll_con2
Definition: pll.h:95
u32 apll2_con2
Definition: pll.h:159
u32 univpll_con0
Definition: pll.h:124
u32 lvdspll_pwr_con0
Definition: pll.h:166
u32 vencpll_pwr_con0
Definition: pll.h:139
u32 tvdpll_pwr_con0
Definition: pll.h:143
u32 mpll_con0
Definition: pll.h:144
u32 lvdspll_con0
Definition: pll.h:163
u32 armca15pll_con1
Definition: pll.h:113
u32 pll_pwr_con1
Definition: pll.h:103
u32 clk_misc_cfg_2
Definition: pll.h:73
u32 clk_cfg_13_set
Definition: pll.h:54
u32 clk_cfg_2_set
Definition: pll.h:26
u32 reserved11[1]
Definition: pll.h:52
u32 clk_misc_cfg_1
Definition: pll.h:72
u32 clk_cfg_1
Definition: pll.h:21
u32 clk_auddiv_1
Definition: pll.h:63
u32 test_mode_cfg
Definition: pll.h:79
u32 clk26cali_2
Definition: pll.h:77
u32 clk_cfg_12_set
Definition: pll.h:50
u32 clk_cfg_7_set
Definition: pll.h:46
u32 clk_cfg_9
Definition: pll.h:58
u32 clk_mode
Definition: pll.h:10
u32 reset_deglitch_key
Definition: pll.h:83
u32 clk_auddiv_0
Definition: pll.h:62
u32 clk_cfg_12_clr
Definition: pll.h:51
u32 mbist_cfg_0
Definition: pll.h:81
u32 cksta_reg
Definition: pll.h:78
u32 clk_cfg_6
Definition: pll.h:41
u32 clk_misc_cfg_0
Definition: pll.h:71
u32 clk_scp_cfg_1
Definition: pll.h:69
u32 reserved13[4]
Definition: pll.h:61
u32 clk_cfg_5_set
Definition: pll.h:38
u32 reserved1[6]
Definition: pll.h:12
u32 reserved17[53]
Definition: pll.h:80
u32 reserved8[1]
Definition: pll.h:40
u32 clk_cfg_7_clr
Definition: pll.h:47
u32 reserved12[9]
Definition: pll.h:56
u32 clk_cfg_11
Definition: pll.h:60
u32 reserved4[1]
Definition: pll.h:24
u32 clk_cfg_2_clr
Definition: pll.h:27
u32 clk_cfg_4_set
Definition: pll.h:34
u32 reserved15[2]
Definition: pll.h:70
u32 mbist_cfg_3
Definition: pll.h:84
u32 clk_cfg_3_clr
Definition: pll.h:31
u32 clk_cfg_8
Definition: pll.h:57
u32 clk_cfg_12
Definition: pll.h:49
u32 clk_cfg_3_set
Definition: pll.h:30
u32 reserved9[1]
Definition: pll.h:44
u32 tst_sel_1
Definition: pll.h:14
u32 reserved3[1]
Definition: pll.h:20
u32 clk_cfg_4
Definition: pll.h:33
u32 clk_cfg_0
Definition: pll.h:17
u32 reserved2[5]
Definition: pll.h:16
u32 clk_cfg_6_clr
Definition: pll.h:43
u32 clk_cfg_7
Definition: pll.h:45
u32 clk_cfg_1_set
Definition: pll.h:22
u32 reserved5[1]
Definition: pll.h:28
u32 dcm_cfg
Definition: pll.h:11
u32 reserved14[51]
Definition: pll.h:67
u32 clk_auddiv_2
Definition: pll.h:64
u32 clk_cfg_1_clr
Definition: pll.h:23
u32 clk_cfg_0_set
Definition: pll.h:18
u32 tst_sel_0
Definition: pll.h:13
u32 clk_cfg_13
Definition: pll.h:53
u32 clk_cfg_3
Definition: pll.h:29
u32 clk_cfg_4_clr
Definition: pll.h:35
u32 clk26cali_0
Definition: pll.h:75
u32 clk_cfg_5
Definition: pll.h:37
u32 clk_cfg_0_clr
Definition: pll.h:19
u32 reserved6[1]
Definition: pll.h:32
u32 clk_cfg_10
Definition: pll.h:59
u32 clk_scp_cfg_0
Definition: pll.h:68
u32 reserved16[1]
Definition: pll.h:74
u32 clk_cfg_2
Definition: pll.h:25
u32 mbist_cfg_1
Definition: pll.h:82
u32 clk_cfg_5_clr
Definition: pll.h:39
u32 reserved7[1]
Definition: pll.h:36
u32 reserved10[1]
Definition: pll.h:48
u32 clk_mjcdiv_0
Definition: pll.h:66
u32 tst_sel_2
Definition: pll.h:15
u32 clk26cali_1
Definition: pll.h:76
u32 clk_auddiv_3
Definition: pll.h:65
u32 clk_cfg_13_clr
Definition: pll.h:55
u32 clk_cfg_6_set
Definition: pll.h:42
Definition: pll.c:262
Defines the SDRAM parameter structure.
Definition: emi.h:15