Lines Matching refs:reg_base

50 	uintptr_t reg_base = rpi3_sdhost_params.reg_base;  in rpi3_sdhost_waitcommand()  local
54 while ((mmio_read_32(reg_base + HC_COMMAND) & HC_CMD_ENABLE) in rpi3_sdhost_waitcommand()
73 uintptr_t reg_base = rpi3_sdhost_params.reg_base; in send_command_raw() local
79 status = mmio_read_32(reg_base + HC_HOSTSTATUS); in send_command_raw()
81 mmio_write_32(reg_base + HC_HOSTSTATUS, status); in send_command_raw()
87 mmio_write_32(reg_base + HC_ARGUMENT, arg); in send_command_raw()
88 mmio_write_32(reg_base + HC_COMMAND, cmd | HC_CMD_ENABLE); in send_command_raw()
137 uintptr_t reg_base = rpi3_sdhost_params.reg_base; in rpi3_drain_fifo() local
142 while (mmio_read_32(reg_base + HC_HOSTSTATUS) & HC_HSTST_HAVEDATA) { in rpi3_drain_fifo()
143 mmio_read_32(reg_base + HC_DATAPORT); in rpi3_drain_fifo()
150 edm = mmio_read_32(reg_base + HC_DEBUG); in rpi3_drain_fifo()
160 mmio_write_32(reg_base + HC_DEBUG, in rpi3_drain_fifo()
178 uintptr_t reg_base = rpi3_sdhost_params.reg_base; in rpi3_sdhost_print_regs() local
181 mmio_read_32(reg_base + HC_COMMAND)); in rpi3_sdhost_print_regs()
183 mmio_read_32(reg_base + HC_ARGUMENT)); in rpi3_sdhost_print_regs()
185 mmio_read_32(reg_base + HC_TIMEOUTCOUNTER)); in rpi3_sdhost_print_regs()
187 mmio_read_32(reg_base + HC_CLOCKDIVISOR)); in rpi3_sdhost_print_regs()
189 mmio_read_32(reg_base + HC_RESPONSE_0)); in rpi3_sdhost_print_regs()
191 mmio_read_32(reg_base + HC_RESPONSE_1)); in rpi3_sdhost_print_regs()
193 mmio_read_32(reg_base + HC_RESPONSE_2)); in rpi3_sdhost_print_regs()
195 mmio_read_32(reg_base + HC_RESPONSE_3)); in rpi3_sdhost_print_regs()
197 mmio_read_32(reg_base + HC_HOSTSTATUS)); in rpi3_sdhost_print_regs()
199 mmio_read_32(reg_base + HC_POWER)); in rpi3_sdhost_print_regs()
201 mmio_read_32(reg_base + HC_DEBUG)); in rpi3_sdhost_print_regs()
203 mmio_read_32(reg_base + HC_HOSTCONFIG)); in rpi3_sdhost_print_regs()
205 mmio_read_32(reg_base + HC_BLOCKSIZE)); in rpi3_sdhost_print_regs()
207 mmio_read_32(reg_base + HC_BLOCKCOUNT)); in rpi3_sdhost_print_regs()
215 uintptr_t reg_base = rpi3_sdhost_params.reg_base; in rpi3_sdhost_reset() local
219 mmio_write_32(reg_base + HC_POWER, 0); in rpi3_sdhost_reset()
220 mmio_write_32(reg_base + HC_COMMAND, 0); in rpi3_sdhost_reset()
221 mmio_write_32(reg_base + HC_ARGUMENT, 0); in rpi3_sdhost_reset()
223 mmio_write_32(reg_base + HC_TIMEOUTCOUNTER, HC_TIMEOUT_DEFAULT); in rpi3_sdhost_reset()
224 mmio_write_32(reg_base + HC_CLOCKDIVISOR, 0); in rpi3_sdhost_reset()
225 mmio_write_32(reg_base + HC_HOSTSTATUS, HC_HSTST_RESET); in rpi3_sdhost_reset()
226 mmio_write_32(reg_base + HC_HOSTCONFIG, 0); in rpi3_sdhost_reset()
227 mmio_write_32(reg_base + HC_BLOCKSIZE, 0); in rpi3_sdhost_reset()
228 mmio_write_32(reg_base + HC_BLOCKCOUNT, 0); in rpi3_sdhost_reset()
230 dbg = mmio_read_32(reg_base + HC_DEBUG); in rpi3_sdhost_reset()
235 mmio_write_32(reg_base + HC_DEBUG, dbg); in rpi3_sdhost_reset()
237 mmio_write_32(reg_base + HC_POWER, 1); in rpi3_sdhost_reset()
241 mmio_write_32(reg_base + HC_CLOCKDIVISOR, HC_CLOCKDIVISOR_MAXVAL); in rpi3_sdhost_reset()
242 tmp1 = mmio_read_32(reg_base + HC_HOSTCONFIG); in rpi3_sdhost_reset()
243 mmio_write_32(reg_base + HC_HOSTCONFIG, tmp1 | HC_HSTCF_INT_BUSY); in rpi3_sdhost_reset()
248 uintptr_t reg_base = rpi3_sdhost_params.reg_base; in rpi3_sdhost_initialize() local
250 assert((rpi3_sdhost_params.reg_base & MMC_BLOCK_MASK) == 0); in rpi3_sdhost_initialize()
254 mmio_write_32(reg_base + HC_CLOCKDIVISOR, HC_CLOCKDIVISOR_PREFERVAL); in rpi3_sdhost_initialize()
260 uintptr_t reg_base = rpi3_sdhost_params.reg_base; in rpi3_sdhost_send_cmd() local
342 intmask = mmio_read_32(reg_base + HC_HOSTSTATUS); in rpi3_sdhost_send_cmd()
344 mmio_write_32(reg_base + HC_HOSTSTATUS, HC_HSTST_INT_BUSY); in rpi3_sdhost_send_cmd()
354 cmd->resp_data[0] = mmio_read_32(reg_base + HC_RESPONSE_0); in rpi3_sdhost_send_cmd()
355 cmd->resp_data[1] = mmio_read_32(reg_base + HC_RESPONSE_1); in rpi3_sdhost_send_cmd()
356 cmd->resp_data[2] = mmio_read_32(reg_base + HC_RESPONSE_2); in rpi3_sdhost_send_cmd()
357 cmd->resp_data[3] = mmio_read_32(reg_base + HC_RESPONSE_3); in rpi3_sdhost_send_cmd()
359 if (mmio_read_32(reg_base + HC_COMMAND) & HC_CMD_FAILED) { in rpi3_sdhost_send_cmd()
360 uint32_t sdhsts = mmio_read_32(reg_base + HC_HOSTSTATUS); in rpi3_sdhost_send_cmd()
362 mmio_write_32(reg_base + HC_HOSTSTATUS, in rpi3_sdhost_send_cmd()
377 mmio_read_32(reg_base + HC_COMMAND)); in rpi3_sdhost_send_cmd()
395 uintptr_t reg_base = rpi3_sdhost_params.reg_base; in rpi3_sdhost_set_clock() local
400 mmio_write_32(reg_base + HC_CLOCKDIVISOR, in rpi3_sdhost_set_clock()
421 mmio_write_32(reg_base + HC_CLOCKDIVISOR, div); in rpi3_sdhost_set_clock()
427 uintptr_t reg_base = rpi3_sdhost_params.reg_base; in rpi3_sdhost_set_ios() local
439 tmp1 = mmio_read_32(reg_base + HC_HOSTCONFIG); in rpi3_sdhost_set_ios()
444 mmio_write_32(reg_base + HC_HOSTCONFIG, tmp1); in rpi3_sdhost_set_ios()
445 tmp1 = mmio_read_32(reg_base + HC_HOSTCONFIG); in rpi3_sdhost_set_ios()
446 mmio_write_32(reg_base + HC_HOSTCONFIG, tmp1 | in rpi3_sdhost_set_ios()
454 uintptr_t reg_base = rpi3_sdhost_params.reg_base; in rpi3_sdhost_prepare() local
470 mmio_write_32(reg_base + HC_BLOCKSIZE, blocksize); in rpi3_sdhost_prepare()
471 mmio_write_32(reg_base + HC_BLOCKCOUNT, blocks); in rpi3_sdhost_prepare()
480 uintptr_t reg_base = rpi3_sdhost_params.reg_base; in rpi3_sdhost_read() local
488 while ((mmio_read_32(reg_base + HC_HOSTSTATUS) in rpi3_sdhost_read()
502 uint32_t data = mmio_read_32(reg_base + HC_DATAPORT); in rpi3_sdhost_read()
504 hsts_err = mmio_read_32(reg_base + HC_HOSTSTATUS) in rpi3_sdhost_read()
509 mmio_read_32(reg_base + HC_HOSTSTATUS)); in rpi3_sdhost_read()
515 mmio_write_32(reg_base + HC_HOSTSTATUS, hsts_err); in rpi3_sdhost_read()
522 remaining_words = (mmio_read_32(reg_base + HC_DEBUG) >> 4) in rpi3_sdhost_read()
544 uintptr_t reg_base = rpi3_sdhost_params.reg_base; in rpi3_sdhost_write() local
554 mmio_write_32(reg_base + HC_DATAPORT, data); in rpi3_sdhost_write()
556 dbg = mmio_read_32(reg_base + HC_DEBUG); in rpi3_sdhost_write()
564 hsts_err = mmio_read_32(reg_base + HC_HOSTSTATUS) in rpi3_sdhost_write()
571 remaining_words = (mmio_read_32(reg_base + HC_DEBUG) >> 4) in rpi3_sdhost_write()
593 ((params->reg_base & MMC_BLOCK_MASK) == 0)); in rpi3_sdhost_init()
632 uintptr_t reg_base = rpi3_sdhost_params.reg_base; in rpi3_sdhost_stop() local
638 mmio_write_32(reg_base+HC_CLOCKDIVISOR, HC_CLOCKDIVISOR_SLOWVAL); in rpi3_sdhost_stop()
645 mmio_write_32(reg_base + HC_COMMAND, 0); in rpi3_sdhost_stop()
646 mmio_write_32(reg_base + HC_ARGUMENT, 0); in rpi3_sdhost_stop()
647 mmio_write_32(reg_base + HC_TIMEOUTCOUNTER, HC_TIMEOUT_IDLE); in rpi3_sdhost_stop()
648 mmio_write_32(reg_base + HC_CLOCKDIVISOR, HC_CLOCKDIVISOR_STOPVAL); in rpi3_sdhost_stop()
652 mmio_write_32(reg_base + HC_POWER, 0); in rpi3_sdhost_stop()
653 mmio_write_32(reg_base + HC_HOSTCONFIG, 0); in rpi3_sdhost_stop()
654 mmio_write_32(reg_base + HC_BLOCKSIZE, 0x400); in rpi3_sdhost_stop()
655 mmio_write_32(reg_base + HC_BLOCKCOUNT, 0); in rpi3_sdhost_stop()
656 mmio_write_32(reg_base + HC_HOSTSTATUS, 0x7f8); in rpi3_sdhost_stop()
658 mmio_write_32(reg_base + HC_COMMAND, 0); in rpi3_sdhost_stop()
659 mmio_write_32(reg_base + HC_ARGUMENT, 0); in rpi3_sdhost_stop()