Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- | | | | | |
- /* kill-sd started */
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x40 */
- /* sdhci_irq: mmc0: CARD_INSERT */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x0 */
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0xf0000 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0xff1083 */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0xff1083 */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x40 */
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_thread_irq() {
- sdhci_card_event() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0xf0000 */
- }
- }
- mmc_detect_change() {
- _mmc_detect_change() {
- mmc_schedule_delayed_work();
- }
- }
- }
- mmc_rescan() {
- __mmc_claim_host();
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0xf0000 */
- }
- mmc_power_up() {
- mmc_pwrseq_pre_power_on();
- mmc_set_initial_state() {
- mmc_retune_disable() {
- mmc_retune_unpause();
- }
- sdhci_set_ios() {
- sdhci_enable_preset_value();
- sdhci_set_clock() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x0 */
- }
- sdhci_set_power() {
- sdhci_set_power_noreg() {
- /* sdhci_writeb: mmc0: 0x29 [HOST_CONTROL] <= 0x0 */
- /* sdhci_writeb: mmc0: 0x29 [HOST_CONTROL] <= 0xf */
- }
- }
- sdhci_set_bus_width() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- /* sdhci_readw: mmc0: 0x2c [CLOCK_CONTROL] => 0x0 */
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x0 */
- sdhci_set_uhs_signaling() {
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- }
- sdhci_set_clock() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x0 */
- }
- }
- }
- mmc_set_signal_voltage() {
- sdhci_start_signal_voltage_switch() {
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- }
- }
- mmc_runtime_suspend() {
- mmc_runtime_suspend();
- }
- mmc_pwrseq_post_power_on();
- sdhci_set_ios() {
- sdhci_set_clock() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x0 */
- sdhci_calc_clk();
- sdhci_enable_clk() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa01 */
- /* sdhci_readw: mmc0: 0x2c [CLOCK_CONTROL] => 0xfa03 */
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa07 */
- }
- }
- sdhci_set_power() {
- sdhci_set_power_noreg();
- }
- sdhci_set_bus_width() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- /* sdhci_readw: mmc0: 0x2c [CLOCK_CONTROL] => 0xfa07 */
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa03 */
- sdhci_set_uhs_signaling() {
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- }
- sdhci_set_clock() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x0 */
- sdhci_calc_clk();
- sdhci_enable_clk() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa01 */
- /* sdhci_readw: mmc0: 0x2c [CLOCK_CONTROL] => 0xfa03 */
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa07 */
- }
- }
- }
- } /* mmc_power_up */
- mmc_pwrseq_reset();
- mmc_io_rw_direct_host() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=52 cmd_arg=0xc00 cmd_flags=0x195 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xc00 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x341a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x18000 */
- /* sdhci_irq: mmc0: ERROR | TIMEOUT */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x10000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x2 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- }
- }
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x4 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- }
- }
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=52 cmd_err=-110 cmd_resp=0x0 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_io_rw_direct_host() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=52 cmd_arg=0x80000c08 cmd_flags=0x195 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x80000c08 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x341a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x18000 */
- /* sdhci_irq: mmc0: ERROR | TIMEOUT */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x10000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x2 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- }
- }
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x4 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- }
- }
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=52 cmd_err=-110 cmd_resp=0x0 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- } /* mmc_wait_for_cmd */
- } /* mmc_io_rw_direct_host */
- mmc_go_idle() {
- mmc_set_chip_select() {
- sdhci_set_ios() {
- sdhci_set_power() {
- sdhci_set_power_noreg();
- }
- sdhci_set_bus_width() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- /* sdhci_readw: mmc0: 0x2c [CLOCK_CONTROL] => 0xfa07 */
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa03 */
- sdhci_set_uhs_signaling() {
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- }
- sdhci_set_clock() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x0 */
- sdhci_calc_clk();
- sdhci_enable_clk() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa01 */
- /* sdhci_readw: mmc0: 0x2c [CLOCK_CONTROL] => 0xfa03 */
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa07 */
- }
- }
- }
- }
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=0 cmd_arg=0x0 cmd_flags=0xc0 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x0 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=0 cmd_err=0 cmd_resp=0x0 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- mmc_set_chip_select() {
- sdhci_set_ios() {
- sdhci_set_power() {
- sdhci_set_power_noreg();
- }
- sdhci_set_bus_width() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- /* sdhci_readw: mmc0: 0x2c [CLOCK_CONTROL] => 0xfa07 */
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa03 */
- sdhci_set_uhs_signaling() {
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- }
- sdhci_set_clock() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x0 */
- sdhci_calc_clk();
- sdhci_enable_clk() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa01 */
- /* sdhci_readw: mmc0: 0x2c [CLOCK_CONTROL] => 0xfa03 */
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa07 */
- }
- }
- }
- }
- }
- mmc_send_if_cond() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=8 cmd_arg=0x1aa cmd_flags=0x2f5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x1aa */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x81a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x1aa */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=8 cmd_err=0 cmd_resp=0x1aa 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- mmc_retune_release();
- }
- }
- }
- }
- mmc_attach_sdio() {
- }
- mmc_send_io_op_cond() {
- mmc_wait_for_cmd() {
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=5 cmd_arg=0x0 cmd_flags=0x2e1 cmd_retries=3 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x502 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x18000 */
- /* sdhci_irq: mmc0: ERROR | TIMEOUT */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x10000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x2 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- }
- }
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x4 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- }
- }
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=5 cmd_err=-110 cmd_resp=0x0 0x0 0x0 0x0 cmd_retries=3 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- mmc_wait_done();
- }
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=5 cmd_arg=0x0 cmd_flags=0x2e1 cmd_retries=2 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x502 */
- }
- }
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x18000 */
- /* sdhci_irq: mmc0: ERROR | TIMEOUT */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x10000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x2 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- }
- }
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x4 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- }
- }
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=5 cmd_err=-110 cmd_resp=0x0 0x0 0x0 0x0 cmd_retries=2 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- mmc_wait_done();
- }
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=5 cmd_arg=0x0 cmd_flags=0x2e1 cmd_retries=1 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x502 */
- }
- }
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x18000 */
- /* sdhci_irq: mmc0: ERROR | TIMEOUT */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x10000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x2 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- }
- }
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x4 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- }
- }
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=5 cmd_err=-110 cmd_resp=0x0 0x0 0x0 0x0 cmd_retries=1 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- mmc_wait_done();
- }
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=5 cmd_arg=0x0 cmd_flags=0x2e1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x502 */
- }
- }
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x18000 */
- /* sdhci_irq: mmc0: ERROR | TIMEOUT */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x10000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x2 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- }
- }
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x4 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xf01 */
- }
- }
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=5 cmd_err=-110 cmd_resp=0x0 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- } /* mmc_send_io_op_cond */
- } /* mmc_attach_sdio */
- mmc_attach_sd() {
- mmc_send_app_op_cond() {
- /* ocr_request: mmc0: */
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x400120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x400120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x0 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- }
- mmc_attach_bus();
- mmc_select_voltage();
- mmc_sd_init_card() {
- mmc_sd_get_cid() {
- mmc_go_idle() {
- mmc_set_chip_select() {
- sdhci_set_ios() {
- sdhci_set_power() {
- sdhci_set_power_noreg();
- }
- sdhci_set_bus_width() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- /* sdhci_readw: mmc0: 0x2c [CLOCK_CONTROL] => 0xfa07 */
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa03 */
- sdhci_set_uhs_signaling() {
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- }
- sdhci_set_clock() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x0 */
- sdhci_calc_clk();
- sdhci_enable_clk() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa01 */
- /* sdhci_readw: mmc0: 0x2c [CLOCK_CONTROL] => 0xfa03 */
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa07 */
- }
- }
- }
- }
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=0 cmd_arg=0x0 cmd_flags=0xc0 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x0 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=0 cmd_err=0 cmd_resp=0x0 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- mmc_set_chip_select() {
- sdhci_set_ios() {
- sdhci_set_power() {
- sdhci_set_power_noreg();
- }
- sdhci_set_bus_width() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- /* sdhci_readw: mmc0: 0x2c [CLOCK_CONTROL] => 0xfa07 */
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa03 */
- sdhci_set_uhs_signaling() {
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- }
- sdhci_set_clock() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x0 */
- sdhci_calc_clk();
- sdhci_enable_clk() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa01 */
- /* sdhci_readw: mmc0: 0x2c [CLOCK_CONTROL] => 0xfa03 */
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0xfa07 */
- }
- }
- }
- }
- }
- mmc_send_if_cond() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=8 cmd_arg=0x1aa cmd_flags=0x2f5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x1aa */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x81a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x1aa */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=8 cmd_err=0 cmd_resp=0x1aa 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_send_app_op_cond() {
- /* ocr_request: mmc0: SDHC or SDXC Supported (HCS) | Maximum Performance (XPC) | Switch to 1.8V (S18R) | 3.3 ~ 3.4 */
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- }
- }
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- mmc_wait_for_app_cmd() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x0 cmd_flags=0xf5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x120 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x120 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=41 cmd_arg=0x51200000 cmd_flags=0xe1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x51200000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x2902 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xc0ff8000 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=41 cmd_err=0 cmd_resp=0xc0ff8000 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- /* ocr_response: mmc0: Ready | SDHC or SDXC (CCS) | 2.7 ~ 2.8 | 2.8 ~ 2.9 | 2.9 ~ 3.0 | 3.0 ~ 3.1 | 3.1 ~ 3.2 | 3.2 ~ 3.3 | 3.3 ~ 3.4 | 3.4 ~ 3.5 | 3.5 ~ 3.6 */
- }
- }
- mmc_send_cid() {
- mmc_send_cxd_native() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=2 cmd_arg=0x0 cmd_flags=0x7 cmd_retries=3 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x209 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x1c [0x1c] => 0x1b534d */
- /* sdhci_readl: mmc0: 0x18 [0x18] => 0x30303030 */
- /* sdhci_readl: mmc0: 0x14 [0x14] => 0x301073a9 */
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x775d00b1 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=2 cmd_err=0 cmd_resp=0x1b534d30 0x30303030 0x1073a977 0x5d00b100 cmd_retries=3 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- }
- } /* mmc_sd_get_cid */
- mmc_alloc_card();
- mmc_send_relative_addr() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=3 cmd_arg=0x0 cmd_flags=0x75 cmd_retries=3 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x31a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x10520 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=3 cmd_err=0 cmd_resp=0x10520 0x0 0x0 0x0 cmd_retries=3 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- } /* mmc_send_relative_addr */
- mmc_sd_get_csd() {
- mmc_send_csd() {
- mmc_send_cxd_native() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=9 cmd_arg=0x10000 cmd_flags=0x7 cmd_retries=3 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x10000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x909 */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x1c [0x1c] => 0x400e00 */
- /* sdhci_readl: mmc0: 0x18 [0x18] => 0x325b5900 */
- /* sdhci_readl: mmc0: 0x14 [0x14] => 0x3b4b7f */
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x800a4040 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=9 cmd_err=0 cmd_resp=0x400e0032 0x5b590000 0x3b4b7f80 0xa404000 cmd_retries=3 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- }
- mmc_decode_csd() {
- /* sd_csd: mmc0: struct: 0, cmdclass: 0x5b5, raw: {0x400e0032,0x5b590000,0x3b4b7f80,0xa404000} */
- }
- }
- mmc_decode_cid();
- mmc_select_card() {
- _mmc_select_card() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=7 cmd_arg=0x10000 cmd_flags=0x15 cmd_retries=3 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x10000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x71a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x700 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=7 cmd_err=0 cmd_resp=0x700 0x0 0x0 0x0 cmd_retries=3 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- } /* mmc_select_card */
- mmc_sd_setup_card() {
- mmc_app_send_scr() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x10000 cmd_flags=0x95 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x10000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x920 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x920 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_set_data_timeout();
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x1 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=51 cmd_arg=0x0 cmd_flags=0xb5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=1 block_size=8 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x1 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7008 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x1 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x13 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x333a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x920 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=51 cmd_err=0 cmd_resp=0x920 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=8 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- mmc_decode_scr() {
- /* sd_scr: mmc0: version: 0, spec3: 0, width: 0, cmds: 0, raw: 0x0 0x0 */
- }
- mmc_read_ssr() {
- mmc_app_sd_status() {
- mmc_app_cmd() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=55 cmd_arg=0x10000 cmd_flags=0x95 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x10000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x371a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x920 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=55 cmd_err=0 cmd_resp=0x920 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- mmc_set_data_timeout();
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=13 cmd_arg=0x0 cmd_flags=0x1b5 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=1 block_size=64 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7040 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x1 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x13 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xd3a */
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x920 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=13 cmd_err=0 cmd_resp=0x920 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=64 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- /* sd_ssr: mmc0: au: 0, erase time: 0, erase offset: 0x0, raw: {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0} */
- } /* mmc_read_ssr */
- mmc_init_erase();
- mmc_read_switch() {
- /* Unsupported version: 0x0 */
- }
- sdhci_get_ro() {
- sdhci_check_ro() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- }
- } /* mmc_sd_setup_card */
- mmc_sd_switch_hs() {
- /* Invalid version: 0 */
- }
- mmc_sd_get_max_clock();
- mmc_set_clock() {
- sdhci_set_ios() {
- sdhci_set_clock() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x0 */
- sdhci_calc_clk();
- sdhci_enable_clk() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x401 */
- /* sdhci_readw: mmc0: 0x2c [CLOCK_CONTROL] => 0x403 */
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x407 */
- }
- }
- sdhci_set_power() {
- sdhci_set_power_noreg();
- }
- sdhci_set_bus_width() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- /* sdhci_readw: mmc0: 0x2c [CLOCK_CONTROL] => 0x407 */
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x403 */
- sdhci_set_uhs_signaling() {
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- }
- sdhci_set_clock() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x0 */
- sdhci_calc_clk();
- sdhci_enable_clk() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x401 */
- /* sdhci_readw: mmc0: 0x2c [CLOCK_CONTROL] => 0x403 */
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x407 */
- }
- }
- }
- }
- } /* mmc_sd_init_card */
- mmc_release_host();
- mmc_add_card() {
- mmc_add_card_debugfs();
- mmc_init_context_info();
- mmc_of_find_child_device();
- mmc_bus_uevent();
- mmc_bus_match();
- mmc_bus_probe() {
- mmc_blk_probe() {
- mmc_blk_alloc_req() {
- mmc_init_queue() {
- mmc_init_request();
- mmc_init_request();
- mmc_init_request();
- mmc_init_request();
- mmc_init_request();
- mmc_can_erase();
- mmc_calc_max_discard() {
- mmc_do_calc_max_discard() {
- mmc_erase_timeout();
- mmc_erase_timeout();
- mmc_erase_timeout();
- mmc_erase_timeout();
- mmc_erase_timeout();
- mmc_erase_timeout();
- mmc_erase_timeout();
- mmc_erase_timeout();
- mmc_erase_timeout();
- mmc_erase_timeout();
- mmc_erase_timeout();
- mmc_erase_timeout();
- mmc_erase_timeout();
- mmc_erase_timeout();
- mmc_erase_timeout();
- mmc_erase_timeout();
- }
- mmc_can_trim();
- }
- mmc_can_secure_erase_trim();
- }
- }
- mmc_add_disk() {
- mmc_blk_open() {
- mmc_blk_get();
- }
- mmc_init_request();
- mmc_request_fn();
- mmc_request_fn();
- mmc_queue_thread() {
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0x0 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- mmc_bus_uevent();
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ef0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_blk_release() {
- mmc_blk_put();
- }
- } /* mmc_add_disk */
- } /* mmc_blk_probe */
- } /* mmc_bus_probe */
- mmc_bus_uevent();
- } /* mmc_add_card */
- __mmc_claim_host() {
- mmc_name_show();
- mmc_exit_request();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host() {
- } /* __mmc_claim_host */
- } /* mmc_attach_sd */
- mmc_release_host();
- } /* mmc_rescan */
- }
- } /* mmc_put_card */
- } /* mmc_blk_issue_rq */
- mmc_blk_open() {
- mmc_blk_get();
- }
- mmc_name_show();
- mmc_serial_show();
- mmc_blk_open() {
- mmc_blk_get();
- }
- mmc_blk_ioctl();
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2f80 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2f80 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2ff0 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2ff0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0x0 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ef0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0x8 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x8 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ef0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2ff8 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2ff8 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2ef8 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2ef8 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2fc0 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2fc0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2f00 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2f00 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2e70 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2e70 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2db0 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2db0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_request_fn();
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2d58 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2d58 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2d20 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2d20 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2c70 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2c70 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2c30 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2c30 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2c20 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2c20 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2c48 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2c48 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed23f0 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed23f0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0x800 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x800 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ef0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0x18 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x18 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0x38 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x38 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0x78 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x78 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_init_request();
- mmc_init_request();
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0x80 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=384 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x180 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x80 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- sdhci_irq() {
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- }
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ef0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=196608 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0x40 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=56 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x38 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x40 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- sdhci_post_req();
- } /* mmc_start_areq */
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- mmc_exit_request();
- } /* mmc_blk_issue_rw_rq */
- } /* mmc_blk_issue_rq */
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ef0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=28672 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0x20 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=24 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x18 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x20 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- sdhci_post_req();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- mmc_exit_request();
- }
- }
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ef0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=12288 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0x10 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x10 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- sdhci_post_req();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- mmc_exit_request();
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ef0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- mmc_request_fn();
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0x200 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=512 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x200 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x200 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ef0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=262144 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- }
- mmc_exit_request();
- mmc_request_fn();
- }
- mmc_put_card() {
- mmc_release_host();
- }
- }
- mmc_init_request();
- mmc_init_request();
- mmc_init_request();
- mmc_init_request();
- mmc_init_request();
- mmc_init_request();
- mmc_init_request();
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2c00 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=32 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x20 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2c00 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- } /* mmc_set_data_timeout */
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=16384 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2c28 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2c28 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- sdhci_post_req();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- mmc_exit_request();
- }
- }
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2c38 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=16 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x10 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2c38 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- sdhci_post_req();
- } /* mmc_start_areq */
- mmc_exit_request();
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- } /* mmc_blk_issue_rw_rq */
- } /* mmc_blk_issue_rq */
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=8192 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2c50 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=32 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x20 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2c50 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- sdhci_post_req();
- } /* mmc_start_areq */
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- mmc_exit_request();
- } /* mmc_blk_issue_rw_rq */
- } /* mmc_blk_issue_rq */
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=16384 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2c78 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=168 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0xa8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2c78 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- sdhci_post_req();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- mmc_exit_request();
- }
- }
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=86016 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2d28 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=48 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x30 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2d28 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- sdhci_post_req();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- mmc_exit_request();
- }
- }
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=24576 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2d60 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=80 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x50 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2d60 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- sdhci_post_req();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- mmc_exit_request();
- }
- }
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=40960 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2db8 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=72 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x48 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2db8 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- sdhci_post_req();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- mmc_exit_request();
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=36864 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- }
- mmc_exit_request();
- mmc_request_fn();
- }
- mmc_put_card() {
- mmc_release_host();
- }
- }
- mmc_init_request();
- mmc_init_request();
- mmc_init_request();
- mmc_init_request();
- mmc_init_request();
- mmc_request_fn();
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2e00 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=112 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x70 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2e00 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- sdhci_irq() {
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- sdhci_pre_dma_transfer();
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- }
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=57344 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2e78 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=128 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x80 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2e78 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- sdhci_post_req();
- } /* mmc_start_areq */
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- mmc_exit_request();
- } /* mmc_blk_issue_rw_rq */
- } /* mmc_blk_issue_rq */
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=65536 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2f08 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=120 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x78 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2f08 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- sdhci_post_req();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- mmc_exit_request();
- }
- }
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=61440 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2f88 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=56 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x38 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2f88 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- sdhci_post_req();
- } /* mmc_start_areq */
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- mmc_exit_request();
- } /* mmc_blk_issue_rw_rq */
- } /* mmc_blk_issue_rq */
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=28672 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0xed2fc8 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=40 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x28 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0xed2fc8 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- sdhci_post_req();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- mmc_exit_request();
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=20480 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- }
- mmc_exit_request();
- mmc_request_fn();
- mmc_init_request();
- mmc_request_fn();
- }
- mmc_put_card() {
- mmc_release_host();
- }
- }
- mmc_prep_request() {
- mmc_access_rpmb();
- }
- mmc_blk_issue_rq() {
- mmc_get_card() {
- __mmc_claim_host();
- }
- mmc_blk_issue_rw_rq() {
- mmc_blk_rw_rq_prep() {
- mmc_set_data_timeout();
- mmc_queue_map_sg();
- }
- mmc_start_areq() {
- sdhci_pre_req() {
- sdhci_pre_dma_transfer();
- }
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=18 cmd_arg=0x1000 cmd_flags=0xb5 cmd_retries=0 stop_opcode=12 stop_arg=0x0 stop_flags=0x95 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=8 block_size=512 blk_addr=0 data_flags=0x200 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- }
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ff0000 */
- sdhci_prepare_data() {
- sdhci_calc_timeout();
- /* sdhci_writeb: mmc0: 0x2e [CLOCK_CONTROL] <= 0xa */
- sdhci_pre_dma_transfer();
- /* sdhci_writel: mmc0: 0x58 [ADMA_ADDRESS] <= 0x28568200 */
- /* sdhci_writel: mmc0: 0x5c [ADMA_ADDRESS_HI] <= 0x1 */
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff108b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff108b */
- /* sdhci_writew: mmc0: 0x4 [BLOCK_SIZE] <= 0x7200 */
- /* sdhci_writew: mmc0: 0x6 [BLOCK_SIZE] <= 0x8 */
- }
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x1000 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x33 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0x123a */
- }
- }
- }
- }
- }
- }
- }
- mmc_blk_issue_rq() {
- mmc_blk_issue_rw_rq() {
- mmc_start_areq() {
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0x900 */
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x2 */
- /* sdhci_irq: mmc0: DATA_END */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x2 */
- sdhci_data_irq() {
- sdhci_finish_data() {
- sdhci_send_command() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1ef0000 */
- sdhci_prepare_data();
- /* sdhci_writel: mmc0: 0x8 [ARGUMENT] <= 0x0 */
- /* sdhci_writew: mmc0: 0xc [TRANSFER_MODE] <= 0x0 */
- /* sdhci_writew: mmc0: 0xe [TRANSFER_MODE] <= 0xc1a */
- }
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x1 */
- /* sdhci_irq: mmc0: RESPONSE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x1 */
- sdhci_finish_command() {
- /* sdhci_readl: mmc0: 0x10 [0x10] => 0xb00 */
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=18 cmd_err=0 cmd_resp=0x900 0x0 0x0 0x0 cmd_retries=0 stop_opcode=12 stop_err=0 stop_resp=0xb00 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=4096 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_data_done();
- }
- }
- mmc_blk_err_check();
- mmc_retune_release();
- sdhci_post_req();
- }
- mmc_exit_request();
- mmc_request_fn();
- mmc_blk_release() {
- mmc_blk_put();
- }
- } /* mmc_blk_issue_rw_rq */
- mmc_put_card() {
- mmc_release_host();
- }
- } /* mmc_blk_issue_rq */
- mmc_blk_release() {
- mmc_blk_put();
- }
- mmc_bus_uevent();
- mmc_runtime_suspend() {
- mmc_sd_runtime_suspend();
- }
- sdhci_irq() {
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x80 */
- /* sdhci_irq: mmc0: CARD_REMOVE */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x0 */
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1f80000 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0x2ff104b */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x2ff104b */
- /* sdhci_writel: mmc0: 0x30 [INT_STATUS] <= 0x80 */
- /* sdhci_readl: mmc0: 0x30 [INT_STATUS] => 0x0 */
- }
- sdhci_thread_irq() {
- sdhci_card_event() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0x1f80000 */
- }
- }
- mmc_detect_change() {
- _mmc_detect_change() {
- mmc_schedule_delayed_work();
- }
- }
- }
- mmc_rescan() {
- mmc_sd_detect() {
- mmc_get_card() {
- mmc_runtime_resume() {
- mmc_sd_runtime_resume() {
- __mmc_claim_host();
- mmc_release_host();
- }
- }
- __mmc_claim_host();
- }
- _mmc_detect_card_removed() {
- mmc_sd_alive() {
- mmc_send_status() {
- __mmc_send_status() {
- mmc_wait_for_cmd() {
- mmc_wait_for_req() {
- mmc_start_request() {
- mmc_retune_hold();
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x18 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x19 */
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=13 cmd_arg=0x10000 cmd_flags=0x195 cmd_retries=3 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0xa0000 */
- }
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- }
- }
- mmc_wait_for_req_done() {
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe19 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x2 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe19 */
- }
- }
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe19 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x4 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe19 */
- }
- }
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=13 cmd_err=-123 cmd_resp=0x0 0x0 0x0 0x0 cmd_retries=3 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- mmc_wait_done();
- }
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=13 cmd_arg=0x10000 cmd_flags=0x195 cmd_retries=2 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0xa0000 */
- }
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe19 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x2 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe19 */
- }
- }
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe19 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x4 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe19 */
- }
- }
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=13 cmd_err=-123 cmd_resp=0x0 0x0 0x0 0x0 cmd_retries=2 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- mmc_wait_done();
- }
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=13 cmd_arg=0x10000 cmd_flags=0x195 cmd_retries=1 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0xa0000 */
- }
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe19 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x2 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe19 */
- }
- }
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe19 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x4 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe19 */
- }
- }
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=13 cmd_err=-123 cmd_resp=0x0 0x0 0x0 0x0 cmd_retries=1 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- mmc_wait_done();
- }
- }
- __mmc_start_request() {
- mmc_retune();
- /* mmc_request_start: mmc0: start struct mmc_request[xxxx]: cmd_opcode=13 cmd_arg=0x10000 cmd_flags=0x195 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_request() {
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0xa0000 */
- }
- sdhci_finish_mrq() {
- sdhci_needs_reset();
- }
- }
- }
- sdhci_tasklet_finish() {
- sdhci_del_timer();
- sdhci_needs_reset();
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe19 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x2 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe19 */
- }
- }
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe19 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x4 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe19 */
- }
- }
- mmc_request_done() {
- /* mmc_request_done: mmc0: end struct mmc_request[xxxx]: cmd_opcode=13 cmd_err=-123 cmd_resp=0x0 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 */
- sdhci_led_control() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x19 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x18 */
- }
- mmc_wait_done();
- }
- }
- mmc_retune_release();
- }
- }
- }
- }
- }
- }
- } /* _mmc_detect_card_removed */
- mmc_put_card() {
- mmc_release_host();
- }
- mmc_sd_remove() {
- mmc_remove_card() {
- mmc_remove_card_debugfs();
- mmc_bus_remove() {
- mmc_blk_remove() {
- mmc_blk_remove_parts();
- __mmc_claim_host();
- mmc_release_host();
- mmc_blk_remove_req() {
- mmc_cleanup_queue() {
- mmc_queue_resume();
- } /* mmc_queue_thread */
- mmc_request_fn();
- }
- mmc_blk_put();
- }
- }
- }
- mmc_bus_uevent();
- mmc_bus_uevent();
- mmc_release_card();
- }
- }
- __mmc_claim_host();
- mmc_detach_bus();
- mmc_power_off() {
- mmc_pwrseq_power_off();
- mmc_set_initial_state() {
- mmc_retune_disable() {
- mmc_retune_unpause();
- }
- sdhci_set_ios() {
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0x0 */
- sdhci_init() {
- sdhci_do_reset() {
- sdhci_reset() {
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0xe18 */
- /* sdhci_writeb: mmc0: 0x2f [CLOCK_CONTROL] <= 0x1 */
- /* sdhci_readb: mmc0: 0x2f [CLOCK_CONTROL] => 0x0 */
- /* sdhci_readl: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- }
- sdhci_pci_enable_dma();
- }
- sdhci_set_default_irqs() {
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0xff1003 */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0xff1003 */
- }
- }
- sdhci_enable_card_detection() {
- sdhci_set_card_detection() {
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0xa0000 */
- /* sdhci_writel: mmc0: 0x34 [INT_ENABLE] <= 0xff1043 */
- /* sdhci_writel: mmc0: 0x38 [SIGNAL_ENABLE] <= 0xff1043 */
- }
- }
- sdhci_set_clock() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x0 */
- }
- sdhci_set_power() {
- sdhci_set_power_noreg() {
- /* sdhci_writeb: mmc0: 0x29 [HOST_CONTROL] <= 0x0 */
- }
- }
- sdhci_set_bus_width() {
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- }
- /* sdhci_readb: mmc0: 0x28 [HOST_CONTROL] => 0x0 */
- /* sdhci_writeb: mmc0: 0x28 [HOST_CONTROL] <= 0x0 */
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- /* sdhci_readw: mmc0: 0x2c [CLOCK_CONTROL] => 0x0 */
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x0 */
- sdhci_set_uhs_signaling() {
- /* sdhci_readw: mmc0: 0x3e [ACMD12_ERR] => 0x0 */
- /* sdhci_writew: mmc0: 0x3e [ACMD12_ERR] <= 0x0 */
- }
- sdhci_set_clock() {
- /* sdhci_writew: mmc0: 0x2c [CLOCK_CONTROL] <= 0x0 */
- }
- }
- }
- mmc_exit_request();
- mmc_exit_request();
- mmc_exit_request();
- mmc_exit_request();
- mmc_exit_request();
- }
- mmc_release_host();
- } /* mmc_sd_detect */
- __mmc_claim_host();
- sdhci_get_cd() {
- mmc_gpio_get_cd();
- /* sdhci_readl: mmc0: 0x24 [PRESENT_STATE] => 0xa0000 */
- }
- mmc_power_off();
- mmc_release_host();
- } /* mmc_rescan */
- /* kill-sd ended */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement