| 510 | } |
| 511 | |
| 512 | rt_err_t mmcsd_get_card_addr(struct rt_mmcsd_host *host, rt_uint32_t *rca) |
| 513 | { |
| 514 | rt_err_t err; |
| 515 | struct rt_mmcsd_cmd cmd; |
| 516 | |
| 517 | rt_memset(&cmd, 0, sizeof(struct rt_mmcsd_cmd)); |
| 518 | |
| 519 | cmd.cmd_code = SD_SEND_RELATIVE_ADDR; |
| 520 | cmd.arg = 0; |
| 521 | cmd.flags = RESP_R6 | CMD_BCR; |
| 522 | |
| 523 | err = mmcsd_send_cmd(host, &cmd, 3); |
| 524 | if (err) |
| 525 | return err; |
| 526 | |
| 527 | *rca = cmd.resp[0] >> 16; |
| 528 | |
| 529 | return RT_EOK; |
| 530 | } |
| 531 | |
| 532 | #define be32_to_cpu(x) ((rt_uint32_t)( \ |
| 533 | (((rt_uint32_t)(x) & (rt_uint32_t)0x000000ffUL) << 24) | \ |
no test coverage detected