uOFW
Reverse engineered PSP kernel 6.60.
Loading...
Searching...
No Matches
lowio_nand.h
1/* Copyright (C(); 2014 The uOFW team
2 See the file COPYING for copying permission.
3*/
4
5#ifndef LOWIO_NAND_H
6#define LOWIO_NAND_H
7
8#include "common_header.h"
9
10typedef struct {
11 u8 user_ecc[3]; //0
12 u8 reserved0; //3
13 u8 block_fmt; //4
14 u8 block_stat; //5
15 union {
16 u16 lbn;
17 struct {
18 u8 idx;
19 u8 ver;
20 } IdStorId;
21 };
22 union {
23 u32 id; /* 0x38 0x4a 0xc6 0x6d for IPL area */
24 struct {
25 u8 formatted;
26 u8 readonly;
27 } IdStorInfo;
28 };
29 u8 spare_ecc[2];
30 u8 reserved1[2];
31} SceNandSpare_t;
32
33typedef enum {
34 USER_ECC_IN_SPARE = 0x01,
35 NO_AUTO_USER_ECC = 0x10,
36 NO_AUTO_SPARE_ECC = 0x20
37} SceNandEccMode_t;
38
39s32 sceNandIsBadBlock(u32 ppn);
40s32 sceNandWriteAccess(u32 ppn, void *user, void *spare, u32 len, SceNandEccMode_t mode);
41s32 sceNandSetScramble(u32 scramble);
42s32 sceNandVerifyEcc(u8 *buf, u16 ecc);
43s32 sceNandEraseAllBlock(void);
44s32 sceNandDetectChipMakersBBM(u32 ppn);
45s32 sceNandDumpWearBBMSize(void);
46s32 sceNandUnlock(void);
47s32 sceNandReadExtraOnly(u32, void*, u32);
48s32 sceNandVerifyBlockWithRetry(u32 ppn, void *user, void *spare);
49s32 sceNandWriteBlock(u32 ppn, void *user, void *spare);
50//s32 sceNandReadAccess();
51//s32 sceNandReset();
52//s32 sceNandSetWriteProtect();
53s32 sceNandCorrectEcc(u8 *buf, u16 ecc);
54s32 sceNandWritePagesRawExtra(u32 ppn, void *user, void *spare, u32 len);
55s32 sceNandEraseBlockWithRetry(u32 ppn);
56s32 sceNandReadPages(u32 ppn, void *user, void *spare, u32 len);
57s32 sceNandWritePages(u32 ppn, void *user, void *spare, u32 len);
58s32 sceNandTestBlock(u32 ppn);
59s32 sceNandLock(s32);
60s32 sceNandGetPagesPerBlock(void);
61s32 sceNandWriteBlockWithVerify(u32 ppn, void *user, void *spare);
62//s32 sceNandCollectEcc();
63s32 sceNandWritePagesRawAll(u32 ppn, void *user, void *spare, u32 len);
64s32 sceNandGetTotalBlocks(void);
65s32 sceNandDoMarkAsBadBlock(u32 ppn);
66s32 sceNandReadBlockWithRetry(u32 ppn, void *user, void *spare);
67s32 sceNandReadPagesRawAll(u32 ppn, void *user, void *spare, u32 len);
68s32 sceNandGetPageSize(void);
69s32 sceNandDetectChip(void);
70s32 sceNandReadPagesRawExtra(u32 ppn, void *user, void *spare, u32 len);
71//s32 sceNandReadStatus();
72s32 sceNandEraseBlock(u32);
73s32 sceNandCountChipMakersBBM(void);
74s32 sceNandCalcEcc(u8 *buf);
75//s32 sceNandReadId();
76
77#endif /* LOWIO_NAND_H */
78