FreeCalypso > hg > freecalypso-sw
comparison loadtools/flash.h @ 400:f027c6fbe37e
fc-loadtool flash: first round of refactoring for CFI
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Sun, 15 Jun 2014 20:05:54 +0000 |
parents | 99c234bf6a9b |
children | a212b4968b29 |
comparison
equal
deleted
inserted
replaced
399:d26a9e3de626 | 400:f027c6fbe37e |
---|---|
10 struct flash_region_desc { | 10 struct flash_region_desc { |
11 uint32_t sector_size; | 11 uint32_t sector_size; |
12 unsigned nsectors; | 12 unsigned nsectors; |
13 }; | 13 }; |
14 | 14 |
15 #define CFI_MAX_REGIONS 4 | |
16 | |
17 /* The info in struct cfi_info can be either gathered from CFI or hard-coded. */ | |
18 struct cfi_info { | |
19 uint16_t cmdset_style; | |
20 uint32_t total_size; | |
21 unsigned nregions; | |
22 struct flash_region_desc regions[CFI_MAX_REGIONS]; | |
23 unsigned total_sectors; | |
24 }; | |
25 | |
15 struct flash_idcheck { | 26 struct flash_idcheck { |
16 uint16_t offset; | 27 uint16_t offset; |
17 uint16_t expect_val; | 28 uint16_t expect_val; |
18 }; | 29 }; |
19 | 30 |
20 struct flash_bank_desc { | 31 struct flash_bank_desc { |
21 struct flash_region_desc *regions; | 32 uint32_t align_size; |
22 uint32_t prog_base_mask; | 33 struct cfi_info *hard_cfi; |
23 struct flash_idcheck *idcheck_table; | 34 struct flash_idcheck *idcheck_table; |
24 unsigned idcheck_num; | 35 unsigned idcheck_num; |
25 }; | 36 }; |
26 | 37 |
27 struct flash_device_desc { | 38 struct flash_device_desc { |
28 char *name; | 39 char *name; |
29 struct flash_bank_desc *bank_desc; | 40 struct flash_bank_desc *bank_desc; |
37 uint32_t size; | 48 uint32_t size; |
38 }; | 49 }; |
39 | 50 |
40 struct flash_bank_info { | 51 struct flash_bank_info { |
41 uint32_t base_addr; | 52 uint32_t base_addr; |
42 uint32_t total_size; | |
43 struct flash_bank_desc *bank_desc; | 53 struct flash_bank_desc *bank_desc; |
54 struct cfi_info *cfi; | |
44 struct sector_info *sectors; | 55 struct sector_info *sectors; |
45 unsigned nsectors; | |
46 int idcheck_done; | 56 int idcheck_done; |
47 }; | 57 }; |