view loadtools/flash.h @ 275:cedf09b6b5ac

started laying the foundation for fc-fsio host utility
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 23 Feb 2014 20:27:15 +0000
parents 99c234bf6a9b
children f027c6fbe37e
line wrap: on
line source

/* this header file contains definitions for fc-loadtool flash support */

/*
 * The following structures represent an "abstract"
 * description of flash devices.
 *
 * A "region" is a consecutive group of erase units of the same size.
 */

struct flash_region_desc {
	uint32_t	sector_size;
	unsigned	nsectors;
};

struct flash_idcheck {
	uint16_t	offset;
	uint16_t	expect_val;
};

struct flash_bank_desc {
	struct flash_region_desc	*regions;
	uint32_t			prog_base_mask;
	struct flash_idcheck		*idcheck_table;
	unsigned			idcheck_num;
};

struct flash_device_desc {
	char			*name;
	struct flash_bank_desc	*bank_desc;
	unsigned		nbanks;
};

/* the following structures describe flash banks as accessible to us */

struct sector_info {
	uint32_t	start;
	uint32_t	size;
};

struct flash_bank_info {
	uint32_t		base_addr;
	uint32_t		total_size;
	struct flash_bank_desc	*bank_desc;
	struct sector_info	*sectors;
	unsigned		nsectors;
	int			idcheck_done;
};