Lines Matching refs:pcr
31 static u8 rts5260_get_ic_version(struct rtsx_pcr *pcr) in rts5260_get_ic_version() argument
35 rtsx_pci_read_register(pcr, DUMMY_REG_RESET_0, &val); in rts5260_get_ic_version()
39 static void rts5260_fill_driving(struct rtsx_pcr *pcr, u8 voltage) in rts5260_fill_driving() argument
61 drive_sel = pcr->sd30_drive_sel_3v3; in rts5260_fill_driving()
64 drive_sel = pcr->sd30_drive_sel_1v8; in rts5260_fill_driving()
67 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD30_CLK_DRIVE_SEL, in rts5260_fill_driving()
69 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD30_CMD_DRIVE_SEL, in rts5260_fill_driving()
71 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD30_DAT_DRIVE_SEL, in rts5260_fill_driving()
75 static void rtsx_base_fetch_vendor_settings(struct rtsx_pcr *pcr) in rtsx_base_fetch_vendor_settings() argument
79 rtsx_pci_read_config_dword(pcr, PCR_SETTING_REG1, ®); in rtsx_base_fetch_vendor_settings()
80 pcr_dbg(pcr, "Cfg 0x%x: 0x%x\n", PCR_SETTING_REG1, reg); in rtsx_base_fetch_vendor_settings()
83 pcr_dbg(pcr, "skip fetch vendor setting\n"); in rtsx_base_fetch_vendor_settings()
87 pcr->aspm_en = rtsx_reg_to_aspm(reg); in rtsx_base_fetch_vendor_settings()
88 pcr->sd30_drive_sel_1v8 = rtsx_reg_to_sd30_drive_sel_1v8(reg); in rtsx_base_fetch_vendor_settings()
89 pcr->card_drive_sel &= 0x3F; in rtsx_base_fetch_vendor_settings()
90 pcr->card_drive_sel |= rtsx_reg_to_card_drive_sel(reg); in rtsx_base_fetch_vendor_settings()
92 rtsx_pci_read_config_dword(pcr, PCR_SETTING_REG2, ®); in rtsx_base_fetch_vendor_settings()
93 pcr_dbg(pcr, "Cfg 0x%x: 0x%x\n", PCR_SETTING_REG2, reg); in rtsx_base_fetch_vendor_settings()
94 pcr->sd30_drive_sel_3v3 = rtsx_reg_to_sd30_drive_sel_3v3(reg); in rtsx_base_fetch_vendor_settings()
96 pcr->flags |= PCR_REVERSE_SOCKET; in rtsx_base_fetch_vendor_settings()
99 static void rtsx_base_force_power_down(struct rtsx_pcr *pcr, u8 pm_state) in rtsx_base_force_power_down() argument
102 rtsx_pci_write_register(pcr, AUTOLOAD_CFG_BASE + 1, MASK_8_BIT_DEF, 0); in rtsx_base_force_power_down()
103 rtsx_pci_write_register(pcr, AUTOLOAD_CFG_BASE + 2, MASK_8_BIT_DEF, 0); in rtsx_base_force_power_down()
104 rtsx_pci_write_register(pcr, AUTOLOAD_CFG_BASE + 3, in rtsx_base_force_power_down()
108 rtsx_pci_write_register(pcr, pcr->reg_pm_ctrl3, in rtsx_base_force_power_down()
111 rtsx_pci_write_register(pcr, FPDCTL, ALL_POWER_DOWN, ALL_POWER_DOWN); in rtsx_base_force_power_down()
114 static int rtsx_base_enable_auto_blink(struct rtsx_pcr *pcr) in rtsx_base_enable_auto_blink() argument
116 return rtsx_pci_write_register(pcr, OLT_LED_CTL, in rtsx_base_enable_auto_blink()
120 static int rtsx_base_disable_auto_blink(struct rtsx_pcr *pcr) in rtsx_base_disable_auto_blink() argument
122 return rtsx_pci_write_register(pcr, OLT_LED_CTL, in rtsx_base_disable_auto_blink()
126 static int rts5260_turn_on_led(struct rtsx_pcr *pcr) in rts5260_turn_on_led() argument
128 return rtsx_pci_write_register(pcr, RTS5260_REG_GPIO_CTL0, in rts5260_turn_on_led()
132 static int rts5260_turn_off_led(struct rtsx_pcr *pcr) in rts5260_turn_off_led() argument
134 return rtsx_pci_write_register(pcr, RTS5260_REG_GPIO_CTL0, in rts5260_turn_off_led()
190 static int sd_set_sample_push_timing_sd30(struct rtsx_pcr *pcr) in sd_set_sample_push_timing_sd30() argument
192 rtsx_pci_write_register(pcr, SD_CFG1, SD_MODE_SELECT_MASK in sd_set_sample_push_timing_sd30()
194 rtsx_pci_write_register(pcr, CLK_CTL, CLK_LOW_FREQ, CLK_LOW_FREQ); in sd_set_sample_push_timing_sd30()
195 rtsx_pci_write_register(pcr, CARD_CLK_SOURCE, 0xFF, in sd_set_sample_push_timing_sd30()
197 rtsx_pci_write_register(pcr, CLK_CTL, CLK_LOW_FREQ, 0); in sd_set_sample_push_timing_sd30()
202 static int rts5260_card_power_on(struct rtsx_pcr *pcr, int card) in rts5260_card_power_on() argument
205 struct rtsx_cr_option *option = &pcr->option; in rts5260_card_power_on()
208 rtsx_pci_enable_ocp(pcr); in rts5260_card_power_on()
210 rtsx_pci_init_cmd(pcr); in rts5260_card_power_on()
211 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, LDO_CONFIG2, in rts5260_card_power_on()
213 err = rtsx_pci_send_cmd(pcr, CMD_TIMEOUT_DEF); in rts5260_card_power_on()
217 rtsx_pci_init_cmd(pcr); in rts5260_card_power_on()
218 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, LDO_VCC_CFG0, in rts5260_card_power_on()
220 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, LDO_VCC_CFG1, in rts5260_card_power_on()
222 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, LDO_CONFIG2, in rts5260_card_power_on()
224 err = rtsx_pci_send_cmd(pcr, CMD_TIMEOUT_DEF); in rts5260_card_power_on()
228 if (pcr->extra_caps & EXTRA_CAPS_SD_SDR50 || in rts5260_card_power_on()
229 pcr->extra_caps & EXTRA_CAPS_SD_SDR104) in rts5260_card_power_on()
230 sd_set_sample_push_timing_sd30(pcr); in rts5260_card_power_on()
233 rtsx_pci_write_register(pcr, SD_CFG1, 0xFF, in rts5260_card_power_on()
236 rtsx_pci_write_register(pcr, SD_SAMPLE_POINT_CTL, in rts5260_card_power_on()
238 rtsx_pci_write_register(pcr, SD_PUSH_POINT_CTL, 0xFF, 0); in rts5260_card_power_on()
239 rtsx_pci_write_register(pcr, CARD_STOP, SD_STOP | SD_CLR_ERR, in rts5260_card_power_on()
243 rtsx_pci_write_register(pcr, SD_CFG3, SD30_CLK_END_EN, 0); in rts5260_card_power_on()
244 rtsx_pci_write_register(pcr, REG_SD_STOP_SDCLK_CFG, in rts5260_card_power_on()
248 rtsx_pci_write_register(pcr, REG_PRE_RW_MODE, EN_INFINITE_MODE, 0); in rts5260_card_power_on()
253 static int rts5260_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage) in rts5260_switch_output_voltage() argument
257 rtsx_pci_write_register(pcr, LDO_CONFIG2, in rts5260_switch_output_voltage()
259 rtsx_pci_write_register(pcr, LDO_DV18_CFG, in rts5260_switch_output_voltage()
261 rtsx_pci_write_register(pcr, SD_PAD_CTL, SD_IO_USING_1V8, 0); in rts5260_switch_output_voltage()
264 rtsx_pci_write_register(pcr, LDO_CONFIG2, in rts5260_switch_output_voltage()
266 rtsx_pci_write_register(pcr, LDO_DV18_CFG, in rts5260_switch_output_voltage()
268 rtsx_pci_write_register(pcr, SD_PAD_CTL, SD_IO_USING_1V8, in rts5260_switch_output_voltage()
276 rtsx_pci_init_cmd(pcr); in rts5260_switch_output_voltage()
277 rts5260_fill_driving(pcr, voltage); in rts5260_switch_output_voltage()
278 return rtsx_pci_send_cmd(pcr, CMD_TIMEOUT_DEF); in rts5260_switch_output_voltage()
281 static void rts5260_stop_cmd(struct rtsx_pcr *pcr) in rts5260_stop_cmd() argument
283 rtsx_pci_writel(pcr, RTSX_HCBCTLR, STOP_CMD); in rts5260_stop_cmd()
284 rtsx_pci_writel(pcr, RTSX_HDBCTLR, STOP_DMA); in rts5260_stop_cmd()
285 rtsx_pci_write_register(pcr, RTS5260_DMA_RST_CTL_0, in rts5260_stop_cmd()
288 rtsx_pci_write_register(pcr, RBCTL, RB_FLUSH, RB_FLUSH); in rts5260_stop_cmd()
291 static void rts5260_card_before_power_off(struct rtsx_pcr *pcr) in rts5260_card_before_power_off() argument
293 struct rtsx_cr_option *option = &pcr->option; in rts5260_card_before_power_off()
295 rts5260_stop_cmd(pcr); in rts5260_card_before_power_off()
296 rts5260_switch_output_voltage(pcr, OUTPUT_3V3); in rts5260_card_before_power_off()
299 rtsx_pci_disable_ocp(pcr); in rts5260_card_before_power_off()
302 static int rts5260_card_power_off(struct rtsx_pcr *pcr, int card) in rts5260_card_power_off() argument
306 rts5260_card_before_power_off(pcr); in rts5260_card_power_off()
308 rtsx_pci_init_cmd(pcr); in rts5260_card_power_off()
309 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, LDO_VCC_CFG1, in rts5260_card_power_off()
311 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, LDO_CONFIG2, in rts5260_card_power_off()
313 err = rtsx_pci_send_cmd(pcr, CMD_TIMEOUT_DEF); in rts5260_card_power_off()
318 static void rts5260_init_ocp(struct rtsx_pcr *pcr) in rts5260_init_ocp() argument
320 struct rtsx_cr_option *option = &pcr->option; in rts5260_init_ocp()
325 rtsx_pci_write_register(pcr, RTS5260_DVCC_CTRL, in rts5260_init_ocp()
330 rtsx_pci_write_register(pcr, RTS5260_DVIO_CTRL, in rts5260_init_ocp()
336 rtsx_pci_write_register(pcr, RTS5260_DVCC_CTRL, in rts5260_init_ocp()
340 rtsx_pci_write_register(pcr, RTS5260_DVIO_CTRL, in rts5260_init_ocp()
344 rtsx_pci_write_register(pcr, RTS5260_DV331812_CFG, in rts5260_init_ocp()
349 val = pcr->hw_param.ocp_glitch; in rts5260_init_ocp()
350 rtsx_pci_write_register(pcr, REG_OCPGLITCH, mask, val); in rts5260_init_ocp()
352 rtsx_pci_enable_ocp(pcr); in rts5260_init_ocp()
354 rtsx_pci_write_register(pcr, RTS5260_DVCC_CTRL, in rts5260_init_ocp()
357 rtsx_pci_write_register(pcr, RTS5260_DVIO_CTRL, in rts5260_init_ocp()
363 static void rts5260_enable_ocp(struct rtsx_pcr *pcr) in rts5260_enable_ocp() argument
367 rtsx_pci_write_register(pcr, FPDCTL, OC_POWER_DOWN, 0); in rts5260_enable_ocp()
371 rtsx_pci_write_register(pcr, REG_OCPCTL, 0xFF, val); in rts5260_enable_ocp()
372 rtsx_pci_write_register(pcr, REG_DV3318_OCPCTL, in rts5260_enable_ocp()
377 static void rts5260_disable_ocp(struct rtsx_pcr *pcr) in rts5260_disable_ocp() argument
383 rtsx_pci_write_register(pcr, REG_OCPCTL, mask, 0); in rts5260_disable_ocp()
384 rtsx_pci_write_register(pcr, REG_DV3318_OCPCTL, in rts5260_disable_ocp()
387 rtsx_pci_write_register(pcr, FPDCTL, OC_POWER_DOWN, in rts5260_disable_ocp()
391 static int rts5260_get_ocpstat(struct rtsx_pcr *pcr, u8 *val) in rts5260_get_ocpstat() argument
393 return rtsx_pci_read_register(pcr, REG_OCPSTAT, val); in rts5260_get_ocpstat()
396 static int rts5260_get_ocpstat2(struct rtsx_pcr *pcr, u8 *val) in rts5260_get_ocpstat2() argument
398 return rtsx_pci_read_register(pcr, REG_DV3318_OCPSTAT, val); in rts5260_get_ocpstat2()
401 static void rts5260_clear_ocpstat(struct rtsx_pcr *pcr) in rts5260_clear_ocpstat() argument
411 rtsx_pci_write_register(pcr, REG_OCPCTL, mask, val); in rts5260_clear_ocpstat()
412 rtsx_pci_write_register(pcr, REG_DV3318_OCPCTL, in rts5260_clear_ocpstat()
416 rtsx_pci_write_register(pcr, REG_OCPCTL, mask, 0); in rts5260_clear_ocpstat()
417 rtsx_pci_write_register(pcr, REG_DV3318_OCPCTL, in rts5260_clear_ocpstat()
421 static void rts5260_process_ocp(struct rtsx_pcr *pcr) in rts5260_process_ocp() argument
423 if (!pcr->option.ocp_en) in rts5260_process_ocp()
426 rtsx_pci_get_ocpstat(pcr, &pcr->ocp_stat); in rts5260_process_ocp()
427 rts5260_get_ocpstat2(pcr, &pcr->ocp_stat2); in rts5260_process_ocp()
428 if (pcr->card_exist & SD_EXIST) in rts5260_process_ocp()
429 rtsx_sd_power_off_card3v3(pcr); in rts5260_process_ocp()
430 else if (pcr->card_exist & MS_EXIST) in rts5260_process_ocp()
431 rtsx_ms_power_off_card3v3(pcr); in rts5260_process_ocp()
433 if (!(pcr->card_exist & MS_EXIST) && !(pcr->card_exist & SD_EXIST)) { in rts5260_process_ocp()
434 if ((pcr->ocp_stat & (SD_OC_NOW | SD_OC_EVER | in rts5260_process_ocp()
436 (pcr->ocp_stat2 & (DV3318_OCP_NOW | DV3318_OCP_EVER))) in rts5260_process_ocp()
437 rtsx_pci_clear_ocpstat(pcr); in rts5260_process_ocp()
438 pcr->ocp_stat = 0; in rts5260_process_ocp()
439 pcr->ocp_stat2 = 0; in rts5260_process_ocp()
442 if ((pcr->ocp_stat & (SD_OC_NOW | SD_OC_EVER | in rts5260_process_ocp()
444 (pcr->ocp_stat2 & (DV3318_OCP_NOW | DV3318_OCP_EVER))) { in rts5260_process_ocp()
445 if (pcr->card_exist & SD_EXIST) in rts5260_process_ocp()
446 rtsx_pci_write_register(pcr, CARD_OE, SD_OUTPUT_EN, 0); in rts5260_process_ocp()
447 else if (pcr->card_exist & MS_EXIST) in rts5260_process_ocp()
448 rtsx_pci_write_register(pcr, CARD_OE, MS_OUTPUT_EN, 0); in rts5260_process_ocp()
452 static int rts5260_init_hw(struct rtsx_pcr *pcr) in rts5260_init_hw() argument
456 rtsx_pci_init_ocp(pcr); in rts5260_init_hw()
458 rtsx_pci_init_cmd(pcr); in rts5260_init_hw()
460 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, L1SUB_CONFIG1, in rts5260_init_hw()
463 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, L1SUB_CONFIG3, 0xFF, 0x00); in rts5260_init_hw()
464 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PM_CLK_FORCE_CTL, in rts5260_init_hw()
466 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PWD_SUSPEND_EN, 0xFF, 0xFF); in rts5260_init_hw()
467 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PWR_GATE_CTRL, in rts5260_init_hw()
469 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, REG_VREF, in rts5260_init_hw()
471 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, RBCTL, in rts5260_init_hw()
474 if (pcr->flags & PCR_REVERSE_SOCKET) in rts5260_init_hw()
475 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PETXCFG, 0xB0, 0xB0); in rts5260_init_hw()
477 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PETXCFG, 0xB0, 0x80); in rts5260_init_hw()
479 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, OBFF_CFG, in rts5260_init_hw()
482 err = rtsx_pci_send_cmd(pcr, CMD_TIMEOUT_DEF); in rts5260_init_hw()
489 static void rts5260_pwr_saving_setting(struct rtsx_pcr *pcr) in rts5260_pwr_saving_setting() argument
493 lss_l1_1 = rtsx_check_dev_flag(pcr, ASPM_L1_1_EN) in rts5260_pwr_saving_setting()
494 | rtsx_check_dev_flag(pcr, PM_L1_1_EN); in rts5260_pwr_saving_setting()
495 lss_l1_2 = rtsx_check_dev_flag(pcr, ASPM_L1_2_EN) in rts5260_pwr_saving_setting()
496 | rtsx_check_dev_flag(pcr, PM_L1_2_EN); in rts5260_pwr_saving_setting()
499 pcr_dbg(pcr, "Set parameters for L1.2."); in rts5260_pwr_saving_setting()
500 rtsx_pci_write_register(pcr, PWR_GLOBAL_CTRL, in rts5260_pwr_saving_setting()
502 rtsx_pci_write_register(pcr, PWR_FE_CTL, in rts5260_pwr_saving_setting()
505 pcr_dbg(pcr, "Set parameters for L1.1."); in rts5260_pwr_saving_setting()
506 rtsx_pci_write_register(pcr, PWR_GLOBAL_CTRL, in rts5260_pwr_saving_setting()
508 rtsx_pci_write_register(pcr, PWR_FE_CTL, in rts5260_pwr_saving_setting()
511 pcr_dbg(pcr, "Set parameters for L1."); in rts5260_pwr_saving_setting()
512 rtsx_pci_write_register(pcr, PWR_GLOBAL_CTRL, in rts5260_pwr_saving_setting()
514 rtsx_pci_write_register(pcr, PWR_FE_CTL, in rts5260_pwr_saving_setting()
518 rtsx_pci_write_register(pcr, CFG_L1_0_PCIE_DPHY_RET_VALUE, in rts5260_pwr_saving_setting()
520 rtsx_pci_write_register(pcr, CFG_L1_0_PCIE_MAC_RET_VALUE, in rts5260_pwr_saving_setting()
522 rtsx_pci_write_register(pcr, CFG_L1_0_CRC_SD30_RET_VALUE, in rts5260_pwr_saving_setting()
524 rtsx_pci_write_register(pcr, CFG_L1_0_CRC_SD40_RET_VALUE, in rts5260_pwr_saving_setting()
526 rtsx_pci_write_register(pcr, CFG_L1_0_SYS_RET_VALUE, in rts5260_pwr_saving_setting()
529 rtsx_pci_write_register(pcr, CFG_PCIE_APHY_OFF_0, in rts5260_pwr_saving_setting()
531 rtsx_pci_write_register(pcr, CFG_PCIE_APHY_OFF_1, in rts5260_pwr_saving_setting()
533 rtsx_pci_write_register(pcr, CFG_PCIE_APHY_OFF_2, in rts5260_pwr_saving_setting()
535 rtsx_pci_write_register(pcr, CFG_PCIE_APHY_OFF_3, in rts5260_pwr_saving_setting()
538 rtsx_pci_write_register(pcr, PWC_CDR, 0xFF, PWC_CDR_DEFAULT); in rts5260_pwr_saving_setting()
540 rtsx_pci_write_register(pcr, CFG_LP_FPWM_VALUE, in rts5260_pwr_saving_setting()
543 rtsx_pci_write_register(pcr, CFG_L1_0_CRC_MISC_RET_VALUE, in rts5260_pwr_saving_setting()
547 static void rts5260_init_from_cfg(struct rtsx_pcr *pcr) in rts5260_init_from_cfg() argument
549 struct rtsx_cr_option *option = &pcr->option; in rts5260_init_from_cfg()
552 rtsx_pci_read_config_dword(pcr, PCR_ASPM_SETTING_5260, &lval); in rts5260_init_from_cfg()
555 rtsx_set_dev_flag(pcr, ASPM_L1_1_EN); in rts5260_init_from_cfg()
558 rtsx_set_dev_flag(pcr, ASPM_L1_2_EN); in rts5260_init_from_cfg()
561 rtsx_set_dev_flag(pcr, PM_L1_1_EN); in rts5260_init_from_cfg()
564 rtsx_set_dev_flag(pcr, PM_L1_2_EN); in rts5260_init_from_cfg()
566 rts5260_pwr_saving_setting(pcr); in rts5260_init_from_cfg()
571 pcie_capability_read_word(pcr->pci, PCI_EXP_DEVCTL2, &val); in rts5260_init_from_cfg()
575 rtsx_set_ltr_latency(pcr, option->ltr_active_latency); in rts5260_init_from_cfg()
581 if (rtsx_check_dev_flag(pcr, ASPM_L1_1_EN | ASPM_L1_2_EN in rts5260_init_from_cfg()
588 static int rts5260_extra_init_hw(struct rtsx_pcr *pcr) in rts5260_extra_init_hw() argument
590 struct rtsx_cr_option *option = &pcr->option; in rts5260_extra_init_hw()
593 rtsx_pci_write_register(pcr, 0xFC03, 0x7F, 0x07); in rts5260_extra_init_hw()
594 rtsx_pci_write_register(pcr, SSC_DIV_N_0, 0xFF, 0x5D); in rts5260_extra_init_hw()
596 rts5260_init_from_cfg(pcr); in rts5260_extra_init_hw()
599 rtsx_pci_write_register(pcr, RTS5260_AUTOLOAD_CFG4, in rts5260_extra_init_hw()
602 rtsx_pci_write_register(pcr, LDO_VCC_CFG0, in rts5260_extra_init_hw()
605 rtsx_pci_write_register(pcr, PCLK_CTL, PCLK_MODE_SEL, PCLK_MODE_SEL); in rts5260_extra_init_hw()
607 rts5260_init_hw(pcr); in rts5260_extra_init_hw()
614 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PETXCFG, in rts5260_extra_init_hw()
617 rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PETXCFG, in rts5260_extra_init_hw()
623 static void rts5260_set_aspm(struct rtsx_pcr *pcr, bool enable) in rts5260_set_aspm() argument
625 struct rtsx_cr_option *option = &pcr->option; in rts5260_set_aspm()
628 if (pcr->aspm_enabled == enable) in rts5260_set_aspm()
633 val = pcr->aspm_en; in rts5260_set_aspm()
634 rtsx_pci_update_cfg_byte(pcr, pcr->pcie_cap + PCI_EXP_LNKCTL, in rts5260_set_aspm()
641 rtsx_pci_write_register(pcr, ASPM_FORCE_CTL, mask, val); in rts5260_set_aspm()
644 pcr->aspm_enabled = enable; in rts5260_set_aspm()
647 static void rts5260_set_l1off_cfg_sub_d0(struct rtsx_pcr *pcr, int active) in rts5260_set_l1off_cfg_sub_d0() argument
649 struct rtsx_cr_option *option = &pcr->option; in rts5260_set_l1off_cfg_sub_d0()
650 u32 interrupt = rtsx_pci_readl(pcr, RTSX_BIPR); in rts5260_set_l1off_cfg_sub_d0()
655 aspm_L1_1 = rtsx_check_dev_flag(pcr, ASPM_L1_1_EN); in rts5260_set_l1off_cfg_sub_d0()
656 aspm_L1_2 = rtsx_check_dev_flag(pcr, ASPM_L1_2_EN); in rts5260_set_l1off_cfg_sub_d0()
669 if (rtsx_check_dev_flag(pcr, in rts5260_set_l1off_cfg_sub_d0()
677 rtsx_set_l1off_sub(pcr, val); in rts5260_set_l1off_cfg_sub_d0()
702 void rts5260_init_params(struct rtsx_pcr *pcr) in rts5260_init_params() argument
704 struct rtsx_cr_option *option = &pcr->option; in rts5260_init_params()
705 struct rtsx_hw_param *hw_param = &pcr->hw_param; in rts5260_init_params()
707 pcr->extra_caps = EXTRA_CAPS_SD_SDR50 | EXTRA_CAPS_SD_SDR104; in rts5260_init_params()
708 pcr->num_slots = 2; in rts5260_init_params()
710 pcr->flags = 0; in rts5260_init_params()
711 pcr->card_drive_sel = RTSX_CARD_DRIVE_DEFAULT; in rts5260_init_params()
712 pcr->sd30_drive_sel_1v8 = CFG_DRIVER_TYPE_B; in rts5260_init_params()
713 pcr->sd30_drive_sel_3v3 = CFG_DRIVER_TYPE_B; in rts5260_init_params()
714 pcr->aspm_en = ASPM_L1_EN; in rts5260_init_params()
715 pcr->tx_initial_phase = SET_CLOCK_PHASE(1, 29, 16); in rts5260_init_params()
716 pcr->rx_initial_phase = SET_CLOCK_PHASE(24, 6, 5); in rts5260_init_params()
718 pcr->ic_version = rts5260_get_ic_version(pcr); in rts5260_init_params()
719 pcr->sd_pull_ctl_enable_tbl = rts5260_sd_pull_ctl_enable_tbl; in rts5260_init_params()
720 pcr->sd_pull_ctl_disable_tbl = rts5260_sd_pull_ctl_disable_tbl; in rts5260_init_params()
721 pcr->ms_pull_ctl_enable_tbl = rts5260_ms_pull_ctl_enable_tbl; in rts5260_init_params()
722 pcr->ms_pull_ctl_disable_tbl = rts5260_ms_pull_ctl_disable_tbl; in rts5260_init_params()
724 pcr->reg_pm_ctrl3 = RTS524A_PM_CTRL3; in rts5260_init_params()
726 pcr->ops = &rts5260_pcr_ops; in rts5260_init_params()