| 401 | } |
| 402 | |
| 403 | rt_err_t mmcsd_app_set_bus_width(struct rt_mmcsd_card *card, rt_int32_t width) |
| 404 | { |
| 405 | rt_err_t err; |
| 406 | struct rt_mmcsd_cmd cmd; |
| 407 | |
| 408 | rt_memset(&cmd, 0, sizeof(struct rt_mmcsd_cmd)); |
| 409 | |
| 410 | cmd.cmd_code = SD_APP_SET_BUS_WIDTH; |
| 411 | cmd.flags = RESP_R1 | CMD_AC; |
| 412 | |
| 413 | switch (width) |
| 414 | { |
| 415 | case MMCSD_BUS_WIDTH_1: |
| 416 | cmd.arg = MMCSD_BUS_WIDTH_1; |
| 417 | break; |
| 418 | case MMCSD_BUS_WIDTH_4: |
| 419 | cmd.arg = MMCSD_BUS_WIDTH_4; |
| 420 | break; |
| 421 | default: |
| 422 | return -RT_ERROR; |
| 423 | } |
| 424 | |
| 425 | err = mmcsd_send_app_cmd(card->host, card, &cmd, 3); |
| 426 | if (err) |
| 427 | return err; |
| 428 | |
| 429 | return RT_EOK; |
| 430 | } |
| 431 | |
| 432 | rt_err_t mmcsd_send_app_op_cond(struct rt_mmcsd_host *host, |
| 433 | rt_uint32_t ocr, |
no test coverage detected