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.