Lines Matching refs:ucr

26 	struct rtsx_ucr	*ucr;  member
49 struct rtsx_ucr *ucr = host->ucr; in ms_clear_error() local
50 rtsx_usb_ep0_write_register(ucr, CARD_STOP, in ms_clear_error()
54 rtsx_usb_clear_dma_err(ucr); in ms_clear_error()
55 rtsx_usb_clear_fsm_err(ucr); in ms_clear_error()
62 struct rtsx_ucr *ucr = host->ucr; in ms_print_debug_regs() local
67 rtsx_usb_init_cmd(ucr); in ms_print_debug_regs()
71 rtsx_usb_add_cmd(ucr, READ_REG_CMD, i, 0, 0); in ms_print_debug_regs()
75 rtsx_usb_add_cmd(ucr, READ_REG_CMD, i, 0, 0); in ms_print_debug_regs()
79 rtsx_usb_add_cmd(ucr, READ_REG_CMD, i, 0, 0); in ms_print_debug_regs()
82 rtsx_usb_add_cmd(ucr, READ_REG_CMD, CARD_DATA_SOURCE, 0, 0); in ms_print_debug_regs()
83 rtsx_usb_add_cmd(ucr, READ_REG_CMD, CARD_SELECT, 0, 0); in ms_print_debug_regs()
84 rtsx_usb_add_cmd(ucr, READ_REG_CMD, CARD_CLK_EN, 0, 0); in ms_print_debug_regs()
85 rtsx_usb_add_cmd(ucr, READ_REG_CMD, CARD_PWR_CTL, 0, 0); in ms_print_debug_regs()
87 rtsx_usb_send_cmd(ucr, MODE_CR, 100); in ms_print_debug_regs()
88 rtsx_usb_get_rsp(ucr, 21, 100); in ms_print_debug_regs()
90 ptr = ucr->rsp_buf; in ms_print_debug_regs()
112 static int ms_pull_ctl_disable_lqfp48(struct rtsx_ucr *ucr) in ms_pull_ctl_disable_lqfp48() argument
114 rtsx_usb_init_cmd(ucr); in ms_pull_ctl_disable_lqfp48()
116 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL1, 0xFF, 0x55); in ms_pull_ctl_disable_lqfp48()
117 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL2, 0xFF, 0x55); in ms_pull_ctl_disable_lqfp48()
118 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL3, 0xFF, 0x95); in ms_pull_ctl_disable_lqfp48()
119 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL4, 0xFF, 0x55); in ms_pull_ctl_disable_lqfp48()
120 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL5, 0xFF, 0x55); in ms_pull_ctl_disable_lqfp48()
121 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL6, 0xFF, 0xA5); in ms_pull_ctl_disable_lqfp48()
123 return rtsx_usb_send_cmd(ucr, MODE_C, 100); in ms_pull_ctl_disable_lqfp48()
126 static int ms_pull_ctl_disable_qfn24(struct rtsx_ucr *ucr) in ms_pull_ctl_disable_qfn24() argument
128 rtsx_usb_init_cmd(ucr); in ms_pull_ctl_disable_qfn24()
130 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL1, 0xFF, 0x65); in ms_pull_ctl_disable_qfn24()
131 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL2, 0xFF, 0x55); in ms_pull_ctl_disable_qfn24()
132 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL3, 0xFF, 0x95); in ms_pull_ctl_disable_qfn24()
133 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL4, 0xFF, 0x55); in ms_pull_ctl_disable_qfn24()
134 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL5, 0xFF, 0x56); in ms_pull_ctl_disable_qfn24()
135 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL6, 0xFF, 0x59); in ms_pull_ctl_disable_qfn24()
137 return rtsx_usb_send_cmd(ucr, MODE_C, 100); in ms_pull_ctl_disable_qfn24()
140 static int ms_pull_ctl_enable_lqfp48(struct rtsx_ucr *ucr) in ms_pull_ctl_enable_lqfp48() argument
142 rtsx_usb_init_cmd(ucr); in ms_pull_ctl_enable_lqfp48()
144 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL1, 0xFF, 0x55); in ms_pull_ctl_enable_lqfp48()
145 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL2, 0xFF, 0x55); in ms_pull_ctl_enable_lqfp48()
146 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL3, 0xFF, 0x95); in ms_pull_ctl_enable_lqfp48()
147 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL4, 0xFF, 0x55); in ms_pull_ctl_enable_lqfp48()
148 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL5, 0xFF, 0x55); in ms_pull_ctl_enable_lqfp48()
149 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL6, 0xFF, 0xA5); in ms_pull_ctl_enable_lqfp48()
151 return rtsx_usb_send_cmd(ucr, MODE_C, 100); in ms_pull_ctl_enable_lqfp48()
154 static int ms_pull_ctl_enable_qfn24(struct rtsx_ucr *ucr) in ms_pull_ctl_enable_qfn24() argument
156 rtsx_usb_init_cmd(ucr); in ms_pull_ctl_enable_qfn24()
158 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL1, 0xFF, 0x65); in ms_pull_ctl_enable_qfn24()
159 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL2, 0xFF, 0x55); in ms_pull_ctl_enable_qfn24()
160 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL3, 0xFF, 0x95); in ms_pull_ctl_enable_qfn24()
161 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL4, 0xFF, 0x55); in ms_pull_ctl_enable_qfn24()
162 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL5, 0xFF, 0x55); in ms_pull_ctl_enable_qfn24()
163 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PULL_CTL6, 0xFF, 0x59); in ms_pull_ctl_enable_qfn24()
165 return rtsx_usb_send_cmd(ucr, MODE_C, 100); in ms_pull_ctl_enable_qfn24()
170 struct rtsx_ucr *ucr = host->ucr; in ms_power_on() local
175 rtsx_usb_init_cmd(ucr); in ms_power_on()
176 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_SELECT, 0x07, MS_MOD_SEL); in ms_power_on()
177 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_SHARE_MODE, in ms_power_on()
179 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_CLK_EN, in ms_power_on()
181 err = rtsx_usb_send_cmd(ucr, MODE_C, 100); in ms_power_on()
185 if (CHECK_PKG(ucr, LQFP48)) in ms_power_on()
186 err = ms_pull_ctl_enable_lqfp48(ucr); in ms_power_on()
188 err = ms_pull_ctl_enable_qfn24(ucr); in ms_power_on()
192 err = rtsx_usb_write_register(ucr, CARD_PWR_CTL, in ms_power_on()
199 rtsx_usb_init_cmd(ucr); in ms_power_on()
200 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_PWR_CTL, in ms_power_on()
202 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_OE, in ms_power_on()
205 return rtsx_usb_send_cmd(ucr, MODE_C, 100); in ms_power_on()
210 struct rtsx_ucr *ucr = host->ucr; in ms_power_off() local
215 rtsx_usb_init_cmd(ucr); in ms_power_off()
217 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_CLK_EN, MS_CLK_EN, 0); in ms_power_off()
218 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_OE, MS_OUTPUT_EN, 0); in ms_power_off()
220 err = rtsx_usb_send_cmd(ucr, MODE_C, 100); in ms_power_off()
224 if (CHECK_PKG(ucr, LQFP48)) in ms_power_off()
225 return ms_pull_ctl_disable_lqfp48(ucr); in ms_power_off()
227 return ms_pull_ctl_disable_qfn24(ucr); in ms_power_off()
233 struct rtsx_ucr *ucr = host->ucr; in ms_transfer_data() local
252 pipe = usb_rcvbulkpipe(ucr->pusb_dev, EP_BULK_IN); in ms_transfer_data()
260 pipe = usb_sndbulkpipe(ucr->pusb_dev, EP_BULK_OUT); in ms_transfer_data()
263 rtsx_usb_init_cmd(ucr); in ms_transfer_data()
265 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MS_TPC, 0xFF, tpc); in ms_transfer_data()
267 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MS_SECTOR_CNT_H, in ms_transfer_data()
269 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MS_SECTOR_CNT_L, in ms_transfer_data()
272 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MS_TRANS_CFG, 0xFF, cfg); in ms_transfer_data()
274 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MC_DMA_TC3, in ms_transfer_data()
276 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MC_DMA_TC2, in ms_transfer_data()
278 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MC_DMA_TC1, in ms_transfer_data()
280 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MC_DMA_TC0, 0xFF, in ms_transfer_data()
282 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MC_DMA_CTL, in ms_transfer_data()
284 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_DATA_SOURCE, in ms_transfer_data()
287 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MS_TRANSFER, in ms_transfer_data()
289 rtsx_usb_add_cmd(ucr, CHECK_REG_CMD, MS_TRANSFER, in ms_transfer_data()
292 err = rtsx_usb_send_cmd(ucr, flag | STAGE_MS_STATUS, 100); in ms_transfer_data()
296 err = rtsx_usb_transfer_data(ucr, pipe, sg, length, in ms_transfer_data()
301 err = rtsx_usb_get_rsp(ucr, 3, 15000); in ms_transfer_data()
305 if (ucr->rsp_buf[0] & MS_TRANSFER_ERR || in ms_transfer_data()
306 ucr->rsp_buf[1] & (MS_CRC16_ERR | MS_RDY_TIMEOUT)) { in ms_transfer_data()
319 struct rtsx_ucr *ucr = host->ucr; in ms_write_bytes() local
324 rtsx_usb_init_cmd(ucr); in ms_write_bytes()
327 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, in ms_write_bytes()
331 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, in ms_write_bytes()
334 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MS_TPC, 0xFF, tpc); in ms_write_bytes()
335 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MS_BYTE_CNT, 0xFF, cnt); in ms_write_bytes()
336 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MS_TRANS_CFG, 0xFF, cfg); in ms_write_bytes()
337 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_DATA_SOURCE, in ms_write_bytes()
340 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MS_TRANSFER, in ms_write_bytes()
342 rtsx_usb_add_cmd(ucr, CHECK_REG_CMD, MS_TRANSFER, in ms_write_bytes()
344 rtsx_usb_add_cmd(ucr, READ_REG_CMD, MS_TRANS_CFG, 0, 0); in ms_write_bytes()
346 err = rtsx_usb_send_cmd(ucr, MODE_CR, 100); in ms_write_bytes()
350 err = rtsx_usb_get_rsp(ucr, 2, 5000); in ms_write_bytes()
351 if (err || (ucr->rsp_buf[0] & MS_TRANSFER_ERR)) { in ms_write_bytes()
354 rtsx_usb_ep0_read_register(ucr, MS_TRANS_CFG, &val); in ms_write_bytes()
378 *int_reg = ucr->rsp_buf[1] & 0x0F; in ms_write_bytes()
386 struct rtsx_ucr *ucr = host->ucr; in ms_read_bytes() local
392 rtsx_usb_init_cmd(ucr); in ms_read_bytes()
394 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MS_TPC, 0xFF, tpc); in ms_read_bytes()
395 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MS_BYTE_CNT, 0xFF, cnt); in ms_read_bytes()
396 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MS_TRANS_CFG, 0xFF, cfg); in ms_read_bytes()
397 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_DATA_SOURCE, in ms_read_bytes()
400 rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, MS_TRANSFER, in ms_read_bytes()
402 rtsx_usb_add_cmd(ucr, CHECK_REG_CMD, MS_TRANSFER, in ms_read_bytes()
405 rtsx_usb_add_cmd(ucr, READ_REG_CMD, PPBUF_BASE2 + i, 0, 0); in ms_read_bytes()
407 rtsx_usb_add_cmd(ucr, READ_REG_CMD, PPBUF_BASE2 + cnt, 0, 0); in ms_read_bytes()
409 rtsx_usb_add_cmd(ucr, READ_REG_CMD, in ms_read_bytes()
412 rtsx_usb_add_cmd(ucr, READ_REG_CMD, MS_TRANS_CFG, 0, 0); in ms_read_bytes()
414 err = rtsx_usb_send_cmd(ucr, MODE_CR, 100); in ms_read_bytes()
418 err = rtsx_usb_get_rsp(ucr, cnt + 2, 5000); in ms_read_bytes()
419 if (err || (ucr->rsp_buf[0] & MS_TRANSFER_ERR)) { in ms_read_bytes()
422 rtsx_usb_ep0_read_register(ucr, MS_TRANS_CFG, &val); in ms_read_bytes()
445 ptr = ucr->rsp_buf + 1; in ms_read_bytes()
510 struct rtsx_ucr *ucr = host->ucr; in rtsx_usb_ms_handle_req() local
521 mutex_lock(&ucr->dev_mutex); in rtsx_usb_ms_handle_req()
523 if (rtsx_usb_card_exclusive_check(ucr, in rtsx_usb_ms_handle_req()
530 mutex_unlock(&ucr->dev_mutex); in rtsx_usb_ms_handle_req()
555 struct rtsx_ucr *ucr = host->ucr; in rtsx_usb_ms_set_param() local
564 mutex_lock(&ucr->dev_mutex); in rtsx_usb_ms_set_param()
566 err = rtsx_usb_card_exclusive_check(ucr, RTSX_USB_MS_CARD); in rtsx_usb_ms_set_param()
594 err = rtsx_usb_write_register(ucr, MS_CFG, 0x5A, in rtsx_usb_ms_set_param()
602 err = rtsx_usb_write_register(ucr, MS_CFG, 0x5A, in rtsx_usb_ms_set_param()
612 err = rtsx_usb_switch_clock(ucr, clock, in rtsx_usb_ms_set_param()
628 mutex_unlock(&ucr->dev_mutex); in rtsx_usb_ms_set_param()
720 struct rtsx_ucr *ucr = host->ucr; in rtsx_usb_ms_poll_card() local
728 mutex_lock(&ucr->dev_mutex); in rtsx_usb_ms_poll_card()
731 err = rtsx_usb_read_register(ucr, CARD_INT_PEND, &val); in rtsx_usb_ms_poll_card()
733 mutex_unlock(&ucr->dev_mutex); in rtsx_usb_ms_poll_card()
738 rtsx_usb_write_register(ucr, CARD_INT_PEND, in rtsx_usb_ms_poll_card()
742 mutex_unlock(&ucr->dev_mutex); in rtsx_usb_ms_poll_card()
760 struct rtsx_ucr *ucr; in rtsx_usb_ms_drv_probe() local
763 ucr = usb_get_intfdata(to_usb_interface(pdev->dev.parent)); in rtsx_usb_ms_drv_probe()
764 if (!ucr) in rtsx_usb_ms_drv_probe()
775 host->ucr = ucr; in rtsx_usb_ms_drv_probe()