Lines Matching +full:pull +full:- +full:down
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /* Driver for Realtek PCI-Express card reader
4 * Copyright(c) 2009-2013 Realtek Semiconductor Corp. All rights reserved.
26 struct pci_dev *pdev = pcr->pci; in rts5229_fetch_vendor_settings()
35 pcr->aspm_en = rtsx_reg_to_aspm(reg); in rts5229_fetch_vendor_settings()
36 pcr->sd30_drive_sel_1v8 = in rts5229_fetch_vendor_settings()
38 pcr->card_drive_sel &= 0x3F; in rts5229_fetch_vendor_settings()
39 pcr->card_drive_sel |= rtsx_reg_to_card_drive_sel(reg); in rts5229_fetch_vendor_settings()
43 pcr->sd30_drive_sel_3v3 = in rts5229_fetch_vendor_settings()
69 0xFF, pcr->sd30_drive_sel_3v3); in rts5229_extra_init_hw()
113 /* To avoid too large in-rush current */ in rts5229_card_power_on()
141 SD30_DRIVE_SEL, 0x07, pcr->sd30_drive_sel_3v3); in rts5229_switch_output_voltage()
149 SD30_DRIVE_SEL, 0x07, pcr->sd30_drive_sel_1v8); in rts5229_switch_output_voltage()
156 return -EINVAL; in rts5229_switch_output_voltage()
178 /* SD Pull Control Enable:
179 * SD_DAT[3:0] ==> pull up
180 * SD_CD ==> pull up
181 * SD_WP ==> pull up
182 * SD_CMD ==> pull up
183 * SD_CLK ==> pull down
198 /* SD Pull Control Disable:
199 * SD_DAT[3:0] ==> pull down
200 * SD_CD ==> pull up
201 * SD_WP ==> pull down
202 * SD_CMD ==> pull down
203 * SD_CLK ==> pull down
218 /* MS Pull Control Enable:
219 * MS CD ==> pull up
220 * others ==> pull down
228 /* MS Pull Control Disable:
229 * MS CD ==> pull up
230 * others ==> pull down
240 pcr->extra_caps = EXTRA_CAPS_SD_SDR50 | EXTRA_CAPS_SD_SDR104; in rts5229_init_params()
241 pcr->num_slots = 2; in rts5229_init_params()
242 pcr->ops = &rts5229_pcr_ops; in rts5229_init_params()
244 pcr->flags = 0; in rts5229_init_params()
245 pcr->card_drive_sel = RTSX_CARD_DRIVE_DEFAULT; in rts5229_init_params()
246 pcr->sd30_drive_sel_1v8 = DRIVER_TYPE_B; in rts5229_init_params()
247 pcr->sd30_drive_sel_3v3 = DRIVER_TYPE_D; in rts5229_init_params()
248 pcr->aspm_en = ASPM_L1_EN; in rts5229_init_params()
249 pcr->aspm_mode = ASPM_MODE_CFG; in rts5229_init_params()
250 pcr->tx_initial_phase = SET_CLOCK_PHASE(27, 27, 15); in rts5229_init_params()
251 pcr->rx_initial_phase = SET_CLOCK_PHASE(30, 6, 6); in rts5229_init_params()
253 pcr->ic_version = rts5229_get_ic_version(pcr); in rts5229_init_params()
254 if (pcr->ic_version == IC_VER_C) { in rts5229_init_params()
255 pcr->sd_pull_ctl_enable_tbl = rts5229_sd_pull_ctl_enable_tbl2; in rts5229_init_params()
256 pcr->sd_pull_ctl_disable_tbl = rts5229_sd_pull_ctl_disable_tbl2; in rts5229_init_params()
258 pcr->sd_pull_ctl_enable_tbl = rts5229_sd_pull_ctl_enable_tbl1; in rts5229_init_params()
259 pcr->sd_pull_ctl_disable_tbl = rts5229_sd_pull_ctl_disable_tbl1; in rts5229_init_params()
261 pcr->ms_pull_ctl_enable_tbl = rts5229_ms_pull_ctl_enable_tbl; in rts5229_init_params()
262 pcr->ms_pull_ctl_disable_tbl = rts5229_ms_pull_ctl_disable_tbl; in rts5229_init_params()