1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#ifndef NITRO_CARD_COMMON_H_
#define NITRO_CARD_COMMON_H_
typedef enum
{
CARD_RESULT_SUCCESS = 0,
CARD_RESULT_FAILURE,
CARD_RESULT_INVALID_PARAM,
CARD_RESULT_UNSUPPORTED,
CARD_RESULT_TIMEOUT,
CARD_RESULT_ERROR,
CARD_RESULT_NO_RESPONSE,
CARD_RESULT_CANCELED
}
CARDResult;
typedef enum
{
CARD_REQ_INIT = 0, /* initialize (setting from ARM9)*/
CARD_REQ_ACK, /* request done (acknowledge from ARM7)*/
CARD_REQ_IDENTIFY, /* CARD_IdentifyBackup*/
CARD_REQ_READ_ID, /* CARD_ReadRomID (TEG && ARM9)*/
CARD_REQ_READ_ROM, /* CARD_ReadRom (TEG && ARM9)*/
CARD_REQ_WRITE_ROM, /* (reserved)*/
CARD_REQ_READ_BACKUP, /* CARD_ReadBackup*/
CARD_REQ_WRITE_BACKUP, /* CARD_WriteBackup*/
CARD_REQ_PROGRAM_BACKUP, /* CARD_ProgramBackup*/
CARD_REQ_VERIFY_BACKUP, /* CARD_VerifyBackup*/
CARD_REQ_ERASE_PAGE_BACKUP, /* CARD_EraseBackupPage*/
CARD_REQ_ERASE_SECTOR_BACKUP, /* CARD_EraseBackupSector*/
CARD_REQ_ERASE_CHIP_BACKUP, /* CARD_EraseBackupChip*/
CARD_REQ_MAX
}
CARDRequest;
typedef enum
{
CARD_REQUEST_MODE_RECV, /* Data reception*/
CARD_REQUEST_MODE_SEND, /* Send data (Including single verify)*/
CARD_REQUEST_MODE_SEND_VERIFY, /* Send data + verify*/
CARD_REQUEST_MODE_SPECIAL /* special operations like sector deletion*/
}
CARDRequestMode;
CARDResult CARD_GetResultCode(void);
#define CARD_RETRY_COUNT_MAX 10
void CARD_Init(void);
#endif //NITRO_CARD_COMMON_H_
|