Hardware Libraries
20.1
Arria 10 SoC Hardware Manager
|
#include "hwlib.h"
#include "socal/alt_nand.h"
Go to the source code of this file.
Altera - NAND Flash Controller Module
Data Structures | |
struct | ALT_NAND_FLASH_ECC_STATUS_s |
Macros | |
#define | ALT_NAND_INVALID_FLASH_ADDR 0xffffffff |
#define | ALT_NAND_BAD_BLOCK_MARKER 0 |
Typedefs | |
typedef void(* | alt_nand_callback_t )(ALT_STATUS_CODE status, void *callback_arg) |
typedef ALT_STATUS_CODE(* | alt_nand_flash_custom_init_t )(void *user_arg) |
typedef enum ALT_NAND_ECC_CORRECTION_e | ALT_NAND_ECC_CORRECTION_t |
typedef struct ALT_NAND_FLASH_ECC_STATUS_s | ALT_NAND_FLASH_ECC_STATUS_t |
typedef enum ALT_NAND_INT_STATUS_e | ALT_NAND_INT_STATUS_t |
typedef uint32_t * | alt_nand_bad_block_table_t |
Enumerations | |
enum | ALT_NAND_ECC_CORRECTION_e |
enum | ALT_NAND_INT_STATUS_e { ALT_NAND_INT_STATUS_PAGE_XFER_INC = (1 << 15), ALT_NAND_INT_STATUS_PIPE_CMD_ERR = (1 << 14), ALT_NAND_INT_STATUS_RST_COMP = (1 << 13), ALT_NAND_INT_STATUS_INT_ACT = (1 << 12), ALT_NAND_INT_STATUS_UNSUP_CMD = (1 << 11), ALT_NAND_INT_STATUS_LOCKED_BLK = (1 << 10), ALT_NAND_INT_STATUS_PIPE_CPYBCK_CMD_COMP = (1 << 9), ALT_NAND_INT_STATUS_ERASE_COMP = (1 << 8), ALT_NAND_INT_STATUS_PROGRAM_COMP = (1 << 7), ALT_NAND_INT_STATUS_LOAD_COMP = (1 << 6), ALT_NAND_INT_STATUS_ERASE_FAIL = (1 << 5), ALT_NAND_INT_STATUS_PROGRAM_FAIL = (1 << 4), ALT_NAND_INT_STATUS_TIME_OUT = (1 << 3), ALT_NAND_INT_STATUS_DMA_CMD_COMP = (1 << 2), ALT_NAND_INT_STATUS_ECC_UNCOR_ERR = (1 << 0) } |
Functions | |
ALT_STATUS_CODE | alt_nand_init (const bool load_block0_page0, const bool page_size_512, alt_nand_flash_custom_init_t custom_init, void *user_arg) |
ALT_STATUS_CODE | alt_nand_uninit (void) |
uint32_t | alt_nand_block_address_get (const uint32_t addr) |
uint32_t | alt_nand_page_address_get (const uint32_t addr) |
uint32_t | alt_nand_addr_compose (const uint32_t block_num, const uint32_t page_num) |
ALT_STATUS_CODE | alt_nand_block_erase (const uint32_t block_addr, alt_nand_callback_t completion_callback, void *completion_arg) |
ALT_STATUS_CODE | alt_nand_page_read (const uint32_t page_addr, const uint32_t num_pages, void *dest, const uint32_t dest_size) |
ALT_STATUS_CODE | alt_nand_read_page (uint32_t block, uint32_t page, uint32_t *buf) |
ALT_STATUS_CODE | alt_nand_read_page_and_spare (uint32_t block, uint32_t page, uint32_t *buf) |
ALT_STATUS_CODE | alt_nand_read_page_and_spare_byte (uint32_t block, uint32_t page, uint8_t *buf) |
ALT_STATUS_CODE | alt_nand_page_write (const uint32_t page_addr, const uint32_t num_pages, const void *src, const uint32_t src_size) |
ALT_STATUS_CODE | alt_nand_write_page (uint32_t block, uint32_t page, uint32_t *buf) |
ALT_STATUS_CODE | alt_nand_write_page_and_spare (uint32_t block, uint32_t page, uint32_t *buf) |
ALT_STATUS_CODE | alt_nand_page_dma_read (const uint32_t page_addr, const uint32_t num_pages, void *dest, const uint32_t dest_size, alt_nand_callback_t completion_callback, void *completion_arg) |
ALT_STATUS_CODE | alt_nand_page_dma_write (const uint32_t page_addr, const uint32_t num_pages, const void *src, const uint32_t src_size, alt_nand_callback_t completion_callback, void *completion_arg) |
ALT_STATUS_CODE | alt_nand_ecc_enable (const ALT_NAND_ECC_CORRECTION_t ecc_correction) |
ALT_STATUS_CODE | alt_nand_ecc_disable (void) |
ALT_STATUS_CODE | alt_nand_ecc_status_get (ALT_NAND_FLASH_ECC_STATUS_t *ecc_status) |
uint32_t | alt_nand_int_status_get (void) |
ALT_STATUS_CODE | alt_nand_int_clear (const uint32_t mask) |
ALT_STATUS_CODE | alt_nand_int_disable (const uint32_t mask) |
ALT_STATUS_CODE | alt_nand_int_enable (const uint32_t mask) |
uint32_t | alt_nand_num_planes_get (void) |
uint32_t | alt_nand_num_blocks_get (void) |
uint32_t | alt_nand_num_pages_per_block_get (void) |
uint32_t | alt_nand_page_size_get (void) |
uint32_t | alt_nand_page_size_32_get (void) |
uint32_t | alt_nand_spare_size_get (void) |
bool | alt_nand_block_is_bad (const uint32_t block_addr) |
ALT_STATUS_CODE | alt_nand_bad_block_table_get (alt_nand_bad_block_table_t bad_block_table, const uint32_t bad_block_table_len) |