17#define EMMC_GO_IDLE_STATE 0
18#define EMMC_SEND_OP_COND 1
19#define EMMC_ALL_SEND_CID 2
20#define EMMC_SET_RELATIVE_ADDR 3
22#define EMMC_SLEEP_AWAKE 5
24#define EMMC_SELECT_DESELECT_CARD 7
25#define EMMC_SEND_EXT_CSD 8
26#define EMMC_SEND_CSD 9
27#define EMMC_SEND_CID 10
28#define EMMC_STOP_TRANSMISSION 12
29#define EMMC_SEND_STATUS 13
30#define EMMC_BUSTEST_R 14
31#define EMMC_GO_INACTIVE_STATE 15
32#define EMMC_SET_BLOCKLEN 16
33#define EMMC_READ_SINGLE_BLOCK 17
34#define EMMC_READ_MULTIPLE_BLOCK 18
35#define EMMC_BUSTEST_W 19
36#define EMMC_SEND_TUNING_BLOCK 21
37#define EMMC_SET_BLOCK_COUNT 23
38#define EMMC_WRITE_BLOCK 24
39#define EMMC_WRITE_MULTIPLE_BLOCK 25
40#define EMMC_PROGRAM_CID 26
41#define EMMC_PROGRAM_CSD 27
42#define EMMC_SET_WRITE_PROT 28
43#define EMMC_CLR_WRITE_PROT 29
44#define EMMC_SEND_WRITE_PROT 30
45#define EMMC_SEND_WRITE_PROT_TYPE 31
46#define EMMC_ERASE_GROUP_START 35
47#define EMMC_ERASE_GROUP_END 36
49#define EMMC_FAST_IO 39
50#define EMMC_GO_IRQ_STATE 40
51#define EMMC_LOCK_UNLOCK 42
52#define EMMC_SET_TIME 49
53#define EMMC_PROTOCOL_RD 53
54#define EMMC_PROTOCOL_WR 54
55#define EMMC_APP_CMD 55
56#define EMMC_GEN_CMD 56
59 EmmcPartitionUserData = 0,
60 EmmcPartitionBoot1 = 1,
61 EmmcPartitionBoot2 = 2,
62 EmmcPartitionRPMB = 3,
74 UINT8 ManufacturingDate;
75 UINT8 ProductSerialNumber[4];
76 UINT8 ProductRevision;
88 UINT32 FileFormat : 2;
89 UINT32 TmpWriteProtect : 1;
90 UINT32 PermWriteProtect : 1;
92 UINT32 FileFormatGrp : 1;
93 UINT32 ContentProtApp : 1;
95 UINT32 WriteBlPartial : 1;
96 UINT32 WriteBlLen : 4;
98 UINT32 DefaultEcc : 2;
99 UINT32 WpGrpEnable : 1;
101 UINT32 WpGrpSize : 5;
102 UINT32 EraseGrpMult : 5;
103 UINT32 EraseGrpSize : 5;
104 UINT32 CSizeMult : 3;
105 UINT32 VddWCurrMax : 3;
106 UINT32 VddWCurrMin : 3;
107 UINT32 VddRCurrMax : 3;
108 UINT32 VddRCurrMin : 3;
111 UINT32 CSizeHigh : 10;
112 UINT32 Reserved1 : 2;
114 UINT32 ReadBlkMisalign : 1;
115 UINT32 WriteBlkMisalign : 1;
116 UINT32 ReadBlPartial : 1;
117 UINT32 ReadBlLen : 4;
120 UINT32 TranSpeed : 8;
123 UINT32 Reserved2 : 2;
125 UINT32 CsdStructure : 2;
133 UINT8 SecureRemovalType;
134 UINT8 ProductStateAwarenessEnablement;
135 UINT8 MaxPreLoadingDataSize[4];
136 UINT8 PreLoadingDataSize[4];
139 UINT8 ModeOperationCodes;
144 UINT8 PowerOffNotification;
145 UINT8 PackedFailureIndex;
146 UINT8 PackedCommandStatus;
147 UINT8 ContextConf[15];
148 UINT8 ExtPartitionsAttribute[2];
149 UINT8 ExceptionEventsStatus[2];
150 UINT8 ExceptionEventsCtrl[2];
154 UINT8 DataSectorSize;
155 UINT8 UseNativeSector;
156 UINT8 NativeSectorSize;
157 UINT8 VendorSpecificField[64];
159 UINT8 ProgramCidCsdDdrSupport;
160 UINT8 PeriodicWakeup;
162 UINT8 ProductionStateAwareness;
163 UINT8 SecBadBlkMgmnt;
165 UINT8 EnhStartAddr[4];
166 UINT8 EnhSizeMult[3];
167 UINT8 GpSizeMult[12];
168 UINT8 PartitionSettingCompleted;
169 UINT8 PartitionsAttribute;
170 UINT8 MaxEnhSizeMult[3];
171 UINT8 PartitioningSupport;
188 UINT8 BootBusConditions;
189 UINT8 BootConfigProt;
190 UINT8 PartitionConfig;
211 UINT8 DriverStrength;
212 UINT8 OutOfInterruptTime;
213 UINT8 PartitionSwitchTime;
221 UINT8 MinPerfR8B26M4B52M;
222 UINT8 MinPerfW8B26M4B52M;
227 UINT8 SleepNotificationTime;
229 UINT8 ProductionStateAwarenessTimeout;
234 UINT8 EraseTimeoutMult;
235 UINT8 HcEraseGrpSize;
242 UINT8 SecFeatureSupport;
245 UINT8 MinPerfDdrR8b52M;
246 UINT8 MinPerfDdrW8b52M;
249 UINT8 PwrClDdr52M195V;
250 UINT8 PwrClDdr52M360V;
253 UINT8 CorrectlyPrgSectorsNum[4];
255 UINT8 PowerOffLongTime;
256 UINT8 GenericCmd6Time;
258 UINT8 PwrClDdr200M360V;
259 UINT8 FirmwareVersion[8];
260 UINT8 DeviceVersion[2];
261 UINT8 OptimalTrimUnitSize;
262 UINT8 OptimalWriteSize;
263 UINT8 OptimalReadSize;
265 UINT8 DeviceLifeTimeEstTypA;
266 UINT8 DeviceLifeTimeEstTypB;
267 UINT8 VendorProprietaryHealthReport[32];
268 UINT8 NumOfFwSectorsProgrammed[4];
269 UINT8 Reserved21[181];
271 UINT8 OperationCodeTimeout;
273 UINT8 SupportedModes;
275 UINT8 LargeUnitSizeM1;
276 UINT8 ContextCapabilities;
279 UINT8 DataTagSupport;
280 UINT8 MaxPackedWrites;
281 UINT8 MaxPackedReads;
284 UINT8 SupportedCmdSet;
285 UINT8 ExtSecurityErr;