comparison gsm-fw/services/ffs/cfgffs.c @ 226:4d706a4134b0

FFS in gsm-fw: generate the legacy block info table at run time
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Mon, 13 Jan 2014 10:15:59 +0000
parents fee45482aa2a
children f22b34873ea5
comparison
equal deleted inserted replaced
225:c04aa85559ed 226:4d706a4134b0
14 #include "ramffs.h" 14 #include "ramffs.h"
15 #include <string.h> 15 #include <string.h>
16 16
17 #if FFS_IN_RAM 17 #if FFS_IN_RAM
18 18
19 extern struct block_info_s ramffs_block_info[RAMFFS_NBLOCKS];
20
21 struct dev_s dev = { 19 struct dev_s dev = {
22 .base = _RAMFFS_area, 20 .base = _RAMFFS_area,
23 .binfo = ramffs_block_info,
24 .manufact = MANUFACT_RAM, 21 .manufact = MANUFACT_RAM,
25 .blocksize = RAMFFS_BLKSIZE_BYTES, 22 .blocksize = RAMFFS_BLKSIZE_BYTES,
26 .blocksize_ld = RAMFFS_BLKSIZE_LOG2, 23 .blocksize_ld = RAMFFS_BLKSIZE_LOG2,
27 .driver = FFS_DRIVER_RAM, 24 .driver = FFS_DRIVER_RAM,
28 .numblocks = RAMFFS_NBLOCKS, 25 .numblocks = RAMFFS_NBLOCKS,
29 }; 26 };
30 27
31 #elif CONFIG_MOKOFFS 28 #elif CONFIG_MOKOFFS
32 29
33 static struct block_info_s mokoffs_blocks[7] = {
34 { 0x00000, 16 },
35 { 0x10000, 16 },
36 { 0x20000, 16 },
37 { 0x30000, 16 },
38 { 0x40000, 16 },
39 { 0x50000, 16 },
40 { 0x60000, 16 }
41 };
42
43 struct dev_s dev = { 30 struct dev_s dev = {
44 .base = (char *) 0x380000, 31 .base = (char *) 0x380000,
45 .binfo = mokoffs_blocks,
46 .manufact = MANUFACT_SAMSUNG, 32 .manufact = MANUFACT_SAMSUNG,
47 .device = 0x22A0, 33 .device = 0x22A0,
48 .blocksize = 0x10000, 34 .blocksize = 0x10000,
49 .blocksize_ld = 16, 35 .blocksize_ld = 16,
50 .driver = FFS_DRIVER_AMD, 36 .driver = FFS_DRIVER_AMD,
53 39
54 #elif CONFIG_PIRHACK_FFS 40 #elif CONFIG_PIRHACK_FFS
55 41
56 /* see ../../cfgmagic/feature.pirhack-ffs */ 42 /* see ../../cfgmagic/feature.pirhack-ffs */
57 43
58 static struct block_info_s pirhack_ffs_blocks[7] = {
59 { 0x600000, 18 },
60 { 0x640000, 18 },
61 { 0x680000, 18 },
62 { 0x6C0000, 18 },
63 { 0x700000, 18 },
64 { 0x740000, 18 },
65 { 0x780000, 18 }
66 };
67
68 struct dev_s dev = { 44 struct dev_s dev = {
69 .base = (char *) FLASH2_BASE_ADDR, 45 .base = (char *) FLASH2_BASE_ADDR +
70 .binfo = pirhack_ffs_blocks, 46 CONFIG_PIRHACK_FFS_START * 0x40000,
71 .manufact = MANUFACT_AMD, 47 .manufact = MANUFACT_AMD,
72 .blocksize = 0x40000, 48 .blocksize = 0x40000,
73 .blocksize_ld = 18, 49 .blocksize_ld = 18,
74 .driver = FFS_DRIVER_AMD, 50 .driver = FFS_DRIVER_AMD,
75 .numblocks = 7, 51 .numblocks = CONFIG_PIRHACK_FFS_NBLOCKS,
76 }; 52 };
77 53
78 #else 54 #else
79 55
80 #error "No valid FFS configuration defined" 56 #error "No valid FFS configuration defined"