feat: sync current parallel NAND implementation from templates

This commit is contained in:
2026-09-15 12:25:15 +03:00
parent c0c20f6dc2
commit 67cca68fcc
19 changed files with 495 additions and 32 deletions

View File

@@ -35,7 +35,12 @@ typedef enum {
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 {
@@ -71,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);