Lines Matching full:pcr
19 static u8 rts5228_get_ic_version(struct rtsx_pcr *pcr) in rts5228_get_ic_version() argument
23 rtsx_pci_read_register(pcr, DUMMY_REG_RESET_0, &val); in rts5228_get_ic_version()
27 static void rts5228_fill_driving(struct rtsx_pcr *pcr, u8 voltage) in rts5228_fill_driving() argument
45 drive_sel = pcr->sd30_drive_sel_3v3; in rts5228_fill_driving()
48 drive_sel = pcr->sd30_drive_sel_1v8; in rts5228_fill_driving()
51 rtsx_pci_write_register(pcr, SD30_CLK_DRIVE_SEL, in rts5228_fill_driving()
54 rtsx_pci_write_register(pcr, SD30_CMD_DRIVE_SEL, in rts5228_fill_driving()
57 rtsx_pci_write_register(pcr, SD30_DAT_DRIVE_SEL, in rts5228_fill_driving()
61 static void rtsx5228_fetch_vendor_settings(struct rtsx_pcr *pcr) in rtsx5228_fetch_vendor_settings() argument
63 struct pci_dev *pdev = pcr->pci; in rtsx5228_fetch_vendor_settings()
68 pcr_dbg(pcr, "Cfg 0x%x: 0x%x\n", PCR_SETTING_REG1, reg); in rtsx5228_fetch_vendor_settings()
71 pcr_dbg(pcr, "skip fetch vendor setting\n"); in rtsx5228_fetch_vendor_settings()
74 pcr->sd30_drive_sel_1v8 = rtsx_reg_to_sd30_drive_sel_1v8(reg); in rtsx5228_fetch_vendor_settings()
75 pcr->aspm_en = rtsx_reg_to_aspm(reg); in rtsx5228_fetch_vendor_settings()
79 pcr_dbg(pcr, "Cfg 0x%x: 0x%x\n", PCR_SETTING_REG2, reg); in rtsx5228_fetch_vendor_settings()
81 pcr->rtd3_en = rtsx_reg_to_rtd3(reg); in rtsx5228_fetch_vendor_settings()
83 pcr->extra_caps |= EXTRA_CAPS_NO_MMC; in rtsx5228_fetch_vendor_settings()
84 pcr->sd30_drive_sel_3v3 = rtsx_reg_to_sd30_drive_sel_3v3(reg); in rtsx5228_fetch_vendor_settings()
86 pcr->flags |= PCR_REVERSE_SOCKET; in rtsx5228_fetch_vendor_settings()
89 static int rts5228_optimize_phy(struct rtsx_pcr *pcr) in rts5228_optimize_phy() argument
91 return rtsx_pci_write_phy_register(pcr, 0x07, 0x8F40); in rts5228_optimize_phy()
94 static void rts5228_force_power_down(struct rtsx_pcr *pcr, u8 pm_state) in rts5228_force_power_down() argument
97 rtsx_pci_write_register(pcr, AUTOLOAD_CFG_BASE + 1, MASK_8_BIT_DEF, 0); in rts5228_force_power_down()
98 rtsx_pci_write_register(pcr, AUTOLOAD_CFG_BASE + 2, MASK_8_BIT_DEF, 0); in rts5228_force_power_down()
99 rtsx_pci_write_register(pcr, AUTOLOAD_CFG_BASE + 3, in rts5228_force_power_down()
102 rtsx_pci_write_register(pcr, pcr->reg_pm_ctrl3, in rts5228_force_power_down()
105 rtsx_pci_write_register(pcr, FPDCTL, in rts5228_force_power_down()
109 static int rts5228_enable_auto_blink(struct rtsx_pcr *pcr) in rts5228_enable_auto_blink() argument
111 return rtsx_pci_write_register(pcr, OLT_LED_CTL, in rts5228_enable_auto_blink()
115 static int rts5228_disable_auto_blink(struct rtsx_pcr *pcr) in rts5228_disable_auto_blink() argument
117 return rtsx_pci_write_register(pcr, OLT_LED_CTL, in rts5228_disable_auto_blink()
121 static int rts5228_turn_on_led(struct rtsx_pcr *pcr) in rts5228_turn_on_led() argument
123 return rtsx_pci_write_register(pcr, GPIO_CTL, in rts5228_turn_on_led()
127 static int rts5228_turn_off_led(struct rtsx_pcr *pcr) in rts5228_turn_off_led() argument
129 return rtsx_pci_write_register(pcr, GPIO_CTL, in rts5228_turn_off_led()
159 static int rts5228_sd_set_sample_push_timing_sd30(struct rtsx_pcr *pcr) in rts5228_sd_set_sample_push_timing_sd30() argument
161 rtsx_pci_write_register(pcr, SD_CFG1, SD_MODE_SELECT_MASK in rts5228_sd_set_sample_push_timing_sd30()
163 rtsx_pci_write_register(pcr, CLK_CTL, CLK_LOW_FREQ, CLK_LOW_FREQ); in rts5228_sd_set_sample_push_timing_sd30()
164 rtsx_pci_write_register(pcr, CARD_CLK_SOURCE, 0xFF, in rts5228_sd_set_sample_push_timing_sd30()
166 rtsx_pci_write_register(pcr, CLK_CTL, CLK_LOW_FREQ, 0); in rts5228_sd_set_sample_push_timing_sd30()
171 static int rts5228_card_power_on(struct rtsx_pcr *pcr, int card) in rts5228_card_power_on() argument
173 struct rtsx_cr_option *option = &pcr->option; in rts5228_card_power_on()
176 rtsx_pci_enable_ocp(pcr); in rts5228_card_power_on()
178 rtsx_pci_write_register(pcr, REG_CRC_DUMMY_0, in rts5228_card_power_on()
181 rtsx_pci_write_register(pcr, RTS5228_LDO1_CFG1, in rts5228_card_power_on()
184 rtsx_pci_write_register(pcr, RTS5228_LDO1233318_POW_CTL, in rts5228_card_power_on()
187 rtsx_pci_write_register(pcr, RTS5228_LDO1233318_POW_CTL, in rts5228_card_power_on()
191 rtsx_pci_write_register(pcr, RTS5228_LDO1233318_POW_CTL, in rts5228_card_power_on()
196 rtsx_pci_write_register(pcr, CARD_OE, SD_OUTPUT_EN, SD_OUTPUT_EN); in rts5228_card_power_on()
199 rtsx_pci_write_register(pcr, SD_CFG1, 0xFF, in rts5228_card_power_on()
202 rtsx_pci_write_register(pcr, SD_SAMPLE_POINT_CTL, in rts5228_card_power_on()
204 rtsx_pci_write_register(pcr, SD_PUSH_POINT_CTL, 0xFF, 0); in rts5228_card_power_on()
205 rtsx_pci_write_register(pcr, CARD_STOP, SD_STOP | SD_CLR_ERR, in rts5228_card_power_on()
209 rtsx_pci_write_register(pcr, SD_CFG3, SD30_CLK_END_EN, 0); in rts5228_card_power_on()
210 rtsx_pci_write_register(pcr, REG_SD_STOP_SDCLK_CFG, in rts5228_card_power_on()
214 if (pcr->extra_caps & EXTRA_CAPS_SD_SDR50 || in rts5228_card_power_on()
215 pcr->extra_caps & EXTRA_CAPS_SD_SDR104) in rts5228_card_power_on()
216 rts5228_sd_set_sample_push_timing_sd30(pcr); in rts5228_card_power_on()
221 static int rts5228_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage) in rts5228_switch_output_voltage() argument
226 rtsx_pci_write_register(pcr, RTS5228_CARD_PWR_CTL, in rts5228_switch_output_voltage()
231 rtsx_pci_read_phy_register(pcr, PHY_TUNE, &val); in rts5228_switch_output_voltage()
233 err = rtsx_pci_write_phy_register(pcr, PHY_TUNE, val); in rts5228_switch_output_voltage()
237 rtsx_pci_write_register(pcr, RTS5228_DV3318_CFG, in rts5228_switch_output_voltage()
239 rtsx_pci_write_register(pcr, SD_PAD_CTL, in rts5228_switch_output_voltage()
243 rtsx_pci_read_phy_register(pcr, PHY_TUNE, &val); in rts5228_switch_output_voltage()
245 err = rtsx_pci_write_phy_register(pcr, PHY_TUNE, val); in rts5228_switch_output_voltage()
249 rtsx_pci_write_register(pcr, RTS5228_DV3318_CFG, in rts5228_switch_output_voltage()
251 rtsx_pci_write_register(pcr, SD_PAD_CTL, in rts5228_switch_output_voltage()
259 rts5228_fill_driving(pcr, voltage); in rts5228_switch_output_voltage()
264 static void rts5228_stop_cmd(struct rtsx_pcr *pcr) in rts5228_stop_cmd() argument
266 rtsx_pci_writel(pcr, RTSX_HCBCTLR, STOP_CMD); in rts5228_stop_cmd()
267 rtsx_pci_writel(pcr, RTSX_HDBCTLR, STOP_DMA); in rts5228_stop_cmd()
268 rtsx_pci_write_register(pcr, RTS5260_DMA_RST_CTL_0, in rts5228_stop_cmd()
271 rtsx_pci_write_register(pcr, RBCTL, RB_FLUSH, RB_FLUSH); in rts5228_stop_cmd()
274 static void rts5228_card_before_power_off(struct rtsx_pcr *pcr) in rts5228_card_before_power_off() argument
276 rts5228_stop_cmd(pcr); in rts5228_card_before_power_off()
277 rts5228_switch_output_voltage(pcr, OUTPUT_3V3); in rts5228_card_before_power_off()
280 static void rts5228_enable_ocp(struct rtsx_pcr *pcr) in rts5228_enable_ocp() argument
285 rtsx_pci_write_register(pcr, REG_OCPCTL, 0xFF, val); in rts5228_enable_ocp()
286 rtsx_pci_write_register(pcr, RTS5228_LDO1_CFG0, in rts5228_enable_ocp()
291 static void rts5228_disable_ocp(struct rtsx_pcr *pcr) in rts5228_disable_ocp() argument
296 rtsx_pci_write_register(pcr, REG_OCPCTL, mask, 0); in rts5228_disable_ocp()
297 rtsx_pci_write_register(pcr, RTS5228_LDO1_CFG0, in rts5228_disable_ocp()
301 static int rts5228_card_power_off(struct rtsx_pcr *pcr, int card) in rts5228_card_power_off() argument
305 rts5228_card_before_power_off(pcr); in rts5228_card_power_off()
306 err = rtsx_pci_write_register(pcr, RTS5228_LDO1233318_POW_CTL, in rts5228_card_power_off()
308 rtsx_pci_write_register(pcr, REG_CRC_DUMMY_0, CFG_SD_POW_AUTO_PD, 0); in rts5228_card_power_off()
310 if (pcr->option.ocp_en) in rts5228_card_power_off()
311 rtsx_pci_disable_ocp(pcr); in rts5228_card_power_off()
316 static void rts5228_init_ocp(struct rtsx_pcr *pcr) in rts5228_init_ocp() argument
318 struct rtsx_cr_option *option = &pcr->option; in rts5228_init_ocp()
323 rtsx_pci_write_register(pcr, RTS5228_LDO1_CFG0, in rts5228_init_ocp()
327 rtsx_pci_write_register(pcr, RTS5228_LDO1_CFG0, in rts5228_init_ocp()
330 rtsx_pci_write_register(pcr, RTS5228_LDO1_CFG0, in rts5228_init_ocp()
334 rtsx_pci_read_register(pcr, RTS5228_LDO1_CFG0, &val); in rts5228_init_ocp()
337 val = pcr->hw_param.ocp_glitch; in rts5228_init_ocp()
338 rtsx_pci_write_register(pcr, REG_OCPGLITCH, mask, val); in rts5228_init_ocp()
340 rts5228_enable_ocp(pcr); in rts5228_init_ocp()
343 rtsx_pci_write_register(pcr, RTS5228_LDO1_CFG0, in rts5228_init_ocp()
348 static void rts5228_clear_ocpstat(struct rtsx_pcr *pcr) in rts5228_clear_ocpstat() argument
356 rtsx_pci_write_register(pcr, REG_OCPCTL, mask, val); in rts5228_clear_ocpstat()
359 rtsx_pci_write_register(pcr, REG_OCPCTL, mask, 0); in rts5228_clear_ocpstat()
363 static void rts5228_process_ocp(struct rtsx_pcr *pcr) in rts5228_process_ocp() argument
365 if (!pcr->option.ocp_en) in rts5228_process_ocp()
368 rtsx_pci_get_ocpstat(pcr, &pcr->ocp_stat); in rts5228_process_ocp()
370 if (pcr->ocp_stat & (SD_OC_NOW | SD_OC_EVER)) { in rts5228_process_ocp()
371 rts5228_clear_ocpstat(pcr); in rts5228_process_ocp()
372 rts5228_card_power_off(pcr, RTSX_SD_CARD); in rts5228_process_ocp()
373 rtsx_pci_write_register(pcr, CARD_OE, SD_OUTPUT_EN, 0); in rts5228_process_ocp()
374 pcr->ocp_stat = 0; in rts5228_process_ocp()
379 static void rts5228_init_from_cfg(struct rtsx_pcr *pcr) in rts5228_init_from_cfg() argument
381 struct pci_dev *pdev = pcr->pci; in rts5228_init_from_cfg()
384 struct rtsx_cr_option *option = &pcr->option; in rts5228_init_from_cfg()
393 rtsx_pci_enable_oobs_polling(pcr); in rts5228_init_from_cfg()
395 rtsx_pci_disable_oobs_polling(pcr); in rts5228_init_from_cfg()
398 rtsx_set_dev_flag(pcr, ASPM_L1_1_EN); in rts5228_init_from_cfg()
400 rtsx_clear_dev_flag(pcr, ASPM_L1_1_EN); in rts5228_init_from_cfg()
403 rtsx_set_dev_flag(pcr, ASPM_L1_2_EN); in rts5228_init_from_cfg()
405 rtsx_clear_dev_flag(pcr, ASPM_L1_2_EN); in rts5228_init_from_cfg()
408 rtsx_set_dev_flag(pcr, PM_L1_1_EN); in rts5228_init_from_cfg()
410 rtsx_clear_dev_flag(pcr, PM_L1_1_EN); in rts5228_init_from_cfg()
413 rtsx_set_dev_flag(pcr, PM_L1_2_EN); in rts5228_init_from_cfg()
415 rtsx_clear_dev_flag(pcr, PM_L1_2_EN); in rts5228_init_from_cfg()
417 rtsx_pci_write_register(pcr, ASPM_FORCE_CTL, 0xFF, 0); in rts5228_init_from_cfg()
421 pcie_capability_read_word(pcr->pci, PCI_EXP_DEVCTL2, &val); in rts5228_init_from_cfg()
425 rtsx_set_ltr_latency(pcr, option->ltr_active_latency); in rts5228_init_from_cfg()
431 if (rtsx_check_dev_flag(pcr, ASPM_L1_1_EN | ASPM_L1_2_EN in rts5228_init_from_cfg()
438 static int rts5228_extra_init_hw(struct rtsx_pcr *pcr) in rts5228_extra_init_hw() argument
440 struct rtsx_cr_option *option = &pcr->option; in rts5228_extra_init_hw()
442 rtsx_pci_write_register(pcr, RTS5228_AUTOLOAD_CFG1, in rts5228_extra_init_hw()
445 rts5228_init_from_cfg(pcr); in rts5228_extra_init_hw()
447 rtsx_pci_write_register(pcr, L1SUB_CONFIG1, in rts5228_extra_init_hw()
449 rtsx_pci_write_register(pcr, L1SUB_CONFIG3, 0xFF, 0); in rts5228_extra_init_hw()
451 rtsx_pci_write_register(pcr, FUNC_FORCE_CTL, in rts5228_extra_init_hw()
454 rtsx_pci_write_register(pcr, PCLK_CTL, in rts5228_extra_init_hw()
457 rtsx_pci_write_register(pcr, PM_EVENT_DEBUG, PME_DEBUG_0, PME_DEBUG_0); in rts5228_extra_init_hw()
458 rtsx_pci_write_register(pcr, PM_CLK_FORCE_CTL, CLK_PM_EN, CLK_PM_EN); in rts5228_extra_init_hw()
461 rtsx_pci_write_register(pcr, OLT_LED_CTL, 0x0F, 0x02); in rts5228_extra_init_hw()
464 rts5228_fill_driving(pcr, OUTPUT_3V3); in rts5228_extra_init_hw()
466 if (pcr->flags & PCR_REVERSE_SOCKET) in rts5228_extra_init_hw()
467 rtsx_pci_write_register(pcr, PETXCFG, 0x30, 0x30); in rts5228_extra_init_hw()
469 rtsx_pci_write_register(pcr, PETXCFG, 0x30, 0x00); in rts5228_extra_init_hw()
476 rtsx_pci_write_register(pcr, PETXCFG, in rts5228_extra_init_hw()
479 rtsx_pci_write_register(pcr, PETXCFG, in rts5228_extra_init_hw()
482 rtsx_pci_write_register(pcr, PWD_SUSPEND_EN, 0xFF, 0xFB); in rts5228_extra_init_hw()
483 rtsx_pci_write_register(pcr, pcr->reg_pm_ctrl3, 0x10, 0x00); in rts5228_extra_init_hw()
484 rtsx_pci_write_register(pcr, RTS5228_REG_PME_FORCE_CTL, in rts5228_extra_init_hw()
490 static void rts5228_enable_aspm(struct rtsx_pcr *pcr, bool enable) in rts5228_enable_aspm() argument
494 if (pcr->aspm_enabled == enable) in rts5228_enable_aspm()
499 val |= (pcr->aspm_en & 0x02); in rts5228_enable_aspm()
500 rtsx_pci_write_register(pcr, ASPM_FORCE_CTL, mask, val); in rts5228_enable_aspm()
501 pcie_capability_clear_and_set_word(pcr->pci, PCI_EXP_LNKCTL, in rts5228_enable_aspm()
502 PCI_EXP_LNKCTL_ASPMC, pcr->aspm_en); in rts5228_enable_aspm()
503 pcr->aspm_enabled = enable; in rts5228_enable_aspm()
506 static void rts5228_disable_aspm(struct rtsx_pcr *pcr, bool enable) in rts5228_disable_aspm() argument
510 if (pcr->aspm_enabled == enable) in rts5228_disable_aspm()
513 pcie_capability_clear_and_set_word(pcr->pci, PCI_EXP_LNKCTL, in rts5228_disable_aspm()
517 rtsx_pci_write_register(pcr, ASPM_FORCE_CTL, mask, val); in rts5228_disable_aspm()
518 rtsx_pci_write_register(pcr, SD_CFG1, SD_ASYNC_FIFO_NOT_RST, 0); in rts5228_disable_aspm()
520 pcr->aspm_enabled = enable; in rts5228_disable_aspm()
523 static void rts5228_set_aspm(struct rtsx_pcr *pcr, bool enable) in rts5228_set_aspm() argument
526 rts5228_enable_aspm(pcr, true); in rts5228_set_aspm()
528 rts5228_disable_aspm(pcr, false); in rts5228_set_aspm()
531 static void rts5228_set_l1off_cfg_sub_d0(struct rtsx_pcr *pcr, int active) in rts5228_set_l1off_cfg_sub_d0() argument
533 struct rtsx_cr_option *option = &pcr->option; in rts5228_set_l1off_cfg_sub_d0()
537 aspm_L1_1 = rtsx_check_dev_flag(pcr, ASPM_L1_1_EN); in rts5228_set_l1off_cfg_sub_d0()
538 aspm_L1_2 = rtsx_check_dev_flag(pcr, ASPM_L1_2_EN); in rts5228_set_l1off_cfg_sub_d0()
550 rtsx_set_l1off_sub(pcr, val); in rts5228_set_l1off_cfg_sub_d0()
581 int rts5228_pci_switch_clock(struct rtsx_pcr *pcr, unsigned int card_clock, in rts5228_pci_switch_clock() argument
601 err = rtsx_pci_write_register(pcr, SD_CFG1, in rts5228_pci_switch_clock()
607 pcr_dbg(pcr, "Switch card clock to %dMHz\n", card_clock); in rts5228_pci_switch_clock()
612 pcr_dbg(pcr, "Internal SSC clock: %dMHz (cur_clock = %d)\n", in rts5228_pci_switch_clock()
613 clk, pcr->cur_clock); in rts5228_pci_switch_clock()
615 if (clk == pcr->cur_clock) in rts5228_pci_switch_clock()
618 if (pcr->ops->conv_clk_and_div_n) in rts5228_pci_switch_clock()
619 n = pcr->ops->conv_clk_and_div_n(clk, CLK_TO_DIV_N); in rts5228_pci_switch_clock()
631 if (pcr->ops->conv_clk_and_div_n) { in rts5228_pci_switch_clock()
632 int dbl_clk = pcr->ops->conv_clk_and_div_n(n, in rts5228_pci_switch_clock()
634 n = pcr->ops->conv_clk_and_div_n(dbl_clk, in rts5228_pci_switch_clock()
643 pcr_dbg(pcr, "n = %d, div = %d\n", n, div); in rts5228_pci_switch_clock()
669 pcr_dbg(pcr, "ssc_depth = %d\n", ssc_depth); in rts5228_pci_switch_clock()
671 rtsx_pci_init_cmd(pcr); in rts5228_pci_switch_clock()
672 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CLK_CTL, in rts5228_pci_switch_clock()
674 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CLK_DIV, in rts5228_pci_switch_clock()
676 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SSC_CTL1, SSC_RSTB, 0); in rts5228_pci_switch_clock()
677 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SSC_CTL2, in rts5228_pci_switch_clock()
679 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SSC_DIV_N_0, 0xFF, n); in rts5228_pci_switch_clock()
680 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SSC_CTL1, SSC_RSTB, SSC_RSTB); in rts5228_pci_switch_clock()
682 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_VPCLK0_CTL, in rts5228_pci_switch_clock()
684 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_VPCLK1_CTL, in rts5228_pci_switch_clock()
686 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_VPCLK0_CTL, in rts5228_pci_switch_clock()
688 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_VPCLK1_CTL, in rts5228_pci_switch_clock()
692 err = rtsx_pci_send_cmd(pcr, 2000); in rts5228_pci_switch_clock()
698 err = rtsx_pci_write_register(pcr, CLK_CTL, CLK_LOW_FREQ, 0); in rts5228_pci_switch_clock()
702 pcr->cur_clock = clk; in rts5228_pci_switch_clock()
707 void rts5228_init_params(struct rtsx_pcr *pcr) in rts5228_init_params() argument
709 struct rtsx_cr_option *option = &pcr->option; in rts5228_init_params()
710 struct rtsx_hw_param *hw_param = &pcr->hw_param; in rts5228_init_params()
712 pcr->extra_caps = EXTRA_CAPS_SD_SDR50 | EXTRA_CAPS_SD_SDR104; in rts5228_init_params()
713 pcr->num_slots = 1; in rts5228_init_params()
714 pcr->ops = &rts5228_pcr_ops; in rts5228_init_params()
716 pcr->flags = 0; in rts5228_init_params()
717 pcr->card_drive_sel = RTSX_CARD_DRIVE_DEFAULT; in rts5228_init_params()
718 pcr->sd30_drive_sel_1v8 = CFG_DRIVER_TYPE_B; in rts5228_init_params()
719 pcr->sd30_drive_sel_3v3 = CFG_DRIVER_TYPE_B; in rts5228_init_params()
720 pcr->aspm_en = ASPM_L1_EN; in rts5228_init_params()
721 pcr->tx_initial_phase = SET_CLOCK_PHASE(28, 27, 11); in rts5228_init_params()
722 pcr->rx_initial_phase = SET_CLOCK_PHASE(24, 6, 5); in rts5228_init_params()
724 pcr->ic_version = rts5228_get_ic_version(pcr); in rts5228_init_params()
725 pcr->sd_pull_ctl_enable_tbl = rts5228_sd_pull_ctl_enable_tbl; in rts5228_init_params()
726 pcr->sd_pull_ctl_disable_tbl = rts5228_sd_pull_ctl_disable_tbl; in rts5228_init_params()
728 pcr->reg_pm_ctrl3 = RTS5228_AUTOLOAD_CFG3; in rts5228_init_params()