10 #ifndef OPENOCD_FLASH_NAND_DRIVER_H 
   11 #define OPENOCD_FLASH_NAND_DRIVER_H 
   15 #define __NAND_DEVICE_COMMAND(name) \ 
   16     COMMAND_HELPER(name, struct nand_device *nand) 
   61               uint32_t data_size, uint8_t *oob, uint32_t oob_size);
 
   65              uint8_t *oob, uint32_t oob_size);
 
   71 #define NAND_DEVICE_COMMAND_HANDLER(name) static __NAND_DEVICE_COMMAND(name) 
int(* nand_driver_walker_t)(struct nand_flash_controller *c, void *)
Signature for callback functions passed to nand_driver_walk.
 
int nand_driver_walk(nand_driver_walker_t f, void *x)
Walk the list of drivers, encapsulating the data structure type.
 
struct nand_flash_controller * nand_driver_find_by_name(const char *name)
Find a NAND flash controller by name.
 
size_t size
Size of the control block search area.
 
Interface for NAND flash controllers.
 
int(* read_data)(struct nand_device *nand, void *data)
Read word of data from the NAND device.
 
__NAND_DEVICE_COMMAND((*nand_device_command))
NAND device command called when driver is instantiated during configuration.
 
const char * usage
Usage of flash command registration.
 
int(* nand_ready)(struct nand_device *nand, int timeout)
Check if the NAND device is ready for more instructions with timeout.
 
const struct command_registration * commands
 
int(* write_block_data)(struct nand_device *nand, uint8_t *data, int size)
Write a block of data to the NAND device.
 
int(* read_page)(struct nand_device *nand, uint32_t page, uint8_t *data, uint32_t data_size, uint8_t *oob, uint32_t oob_size)
Read a page from the NAND device.
 
int(* write_data)(struct nand_device *nand, uint16_t data)
Write word of data to the NAND device.
 
const char * name
Driver name that is used to select it from configuration files.
 
int(* command)(struct nand_device *nand, uint8_t command)
Issue a command to the NAND device.
 
int(* read_block_data)(struct nand_device *nand, uint8_t *data, int size)
Read a block of data from the NAND device.
 
int(* address)(struct nand_device *nand, uint8_t address)
Write an address to the NAND device.
 
int(* init)(struct nand_device *nand)
Initialize the NAND device.
 
int(* reset)(struct nand_device *nand)
Reset the NAND device.
 
int(* write_page)(struct nand_device *nand, uint32_t page, uint8_t *data, uint32_t data_size, uint8_t *oob, uint32_t oob_size)
Write a page to the NAND device.