sdmmc_core/command/class/
class8.rs

1use crate::result::Error;
2use crate::{command_enum, lib_enum};
3
4pub mod cmd23;
5pub mod cmd55;
6pub mod cmd56;
7
8pub mod acmd6;
9
10pub mod acmd13;
11pub mod acmd22;
12pub mod acmd23;
13pub mod acmd41;
14pub mod acmd42;
15pub mod acmd51;
16pub mod acmd53;
17pub mod acmd54;
18
19lib_enum! {
20    /// MMC opcodes for Class 8.
21    CommandClass8: u32 {
22        default: AppCommand,
23        error: Error,
24        SetBlockCount = 23,
25        AppCommand = 55,
26        GenCommand = 56,
27        SetBusWidth = 0x8000_0006,
28        SdStatus = 0x8000_000d,
29        SendNumberWriteBlocks = 0x8000_0016,
30        SetWriteBlockEraseCount = 0x8000_0017,
31        SdSendOpCond = 0x8000_0029,
32        SetClearCardDetect = 0x8000_002a,
33        SendScr = 0x8000_0033,
34        SecureReceive = 0x8000_0035,
35        SecureSend = 0x8000_0036,
36    }
37}
38
39command_enum! {
40    /// Represents the variants for Class8 commands.
41    Command {
42        default: Cmd23(cmd23::Cmd23),
43        Cmd23(cmd23::Cmd23),
44        Cmd55(cmd55::Cmd55),
45        Cmd56(cmd56::Cmd56),
46        Acmd6(acmd6::Acmd6),
47        Acmd13(acmd13::Acmd13),
48        Acmd22(acmd22::Acmd22),
49        Acmd23(acmd23::Acmd23),
50        Acmd41(acmd41::Acmd41),
51        Acmd42(acmd42::Acmd42),
52        Acmd51(acmd51::Acmd51),
53        Acmd53(acmd53::Acmd53),
54        Acmd54(acmd54::Acmd54),
55    }
56}