FreeCalypso > hg > freecalypso-sw
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" |