Сохранить текущие изменения NAND и LED перед объединением веток
This commit is contained in:
@@ -16,13 +16,31 @@ extern "C" {
|
||||
#define PNAND_MT29F1G08_PAGE_TOTAL \
|
||||
(PNAND_MT29F1G08_PAGE_MAIN + PNAND_MT29F1G08_PAGE_OOB)
|
||||
|
||||
#define PNAND_HY27UF084G2M_PAGE_MAIN 2048UL
|
||||
#define PNAND_HY27UF084G2M_PAGE_OOB 64UL
|
||||
#define PNAND_HY27UF084G2M_PAGES_PER_BLOCK 64UL
|
||||
#define PNAND_HY27UF084G2M_BLOCKS 4096UL
|
||||
#define PNAND_HY27UF084G2M_COLUMN_CYCLES 2U
|
||||
#define PNAND_HY27UF084G2M_ROW_CYCLES 3U
|
||||
#define PNAND_HY27UF084G2M_MANUFACTURER_ID 0xADU
|
||||
#define PNAND_HY27UF084G2M_DEVICE_ID 0xDCU
|
||||
#define PNAND_HY27UF084G2M_ID3 0x80U
|
||||
#define PNAND_HY27UF084G2M_ID4 0x95U
|
||||
#define PNAND_HY27UF084G2M_PAGE_TOTAL \
|
||||
(PNAND_HY27UF084G2M_PAGE_MAIN + PNAND_HY27UF084G2M_PAGE_OOB)
|
||||
|
||||
typedef enum {
|
||||
PNAND_OK = 0,
|
||||
PNAND_ERROR_ARGUMENT = -1,
|
||||
PNAND_ERROR_PORT = -2,
|
||||
PNAND_ERROR_TIMEOUT = -3,
|
||||
PNAND_ERROR_RANGE = -4,
|
||||
PNAND_ERROR_BUFFER = -5
|
||||
PNAND_ERROR_BUFFER = -5,
|
||||
PNAND_ERROR_WRITE_PROTECTED = -6,
|
||||
PNAND_ERROR_PROGRAM_FAILED = -7,
|
||||
PNAND_ERROR_ERASE_FAILED = -8,
|
||||
PNAND_ERROR_BAD_BLOCK = -9,
|
||||
PNAND_ERROR_CONFIRMATION = -10
|
||||
} parallel_nand_result_t;
|
||||
|
||||
typedef struct {
|
||||
@@ -41,6 +59,7 @@ typedef struct {
|
||||
} parallel_nand_t;
|
||||
|
||||
extern const parallel_nand_geometry_t parallel_nand_mt29f1g08_geometry;
|
||||
extern const parallel_nand_geometry_t parallel_nand_hy27uf084g2m_geometry;
|
||||
|
||||
int parallel_nand_init(parallel_nand_t *nand,
|
||||
const parallel_nand_port_t *port,
|
||||
@@ -57,6 +76,12 @@ int parallel_nand_read_page(parallel_nand_t *nand, unsigned long page,
|
||||
int parallel_nand_read_page_slice(parallel_nand_t *nand, unsigned long page,
|
||||
unsigned long column, pnand_octet_t *out,
|
||||
unsigned long count);
|
||||
int parallel_nand_program_page(parallel_nand_t *nand, unsigned long page,
|
||||
const pnand_octet_t *main_data,
|
||||
unsigned long main_count,
|
||||
const pnand_octet_t *oob,
|
||||
unsigned long oob_count);
|
||||
int parallel_nand_erase_block(parallel_nand_t *nand, unsigned long block);
|
||||
int parallel_nand_is_bad_block(parallel_nand_t *nand, unsigned long block,
|
||||
int *is_bad);
|
||||
unsigned long parallel_nand_page_count(const parallel_nand_t *nand);
|
||||
|
||||
Reference in New Issue
Block a user