[MTD] physmap.c: Add support for multiple resources
authorStefan Roese <sr@denx.de>
Fri, 1 Feb 2008 14:26:54 +0000 (15:26 +0100)
committerDavid Woodhouse <dwmw2@infradead.org>
Sun, 3 Feb 2008 11:16:02 +0000 (22:16 +1100)
commitdf66e7167ac756baf14d2b8ea7a2cfa056600a93
treeddebde50194d44dff8466039c8fa12c878018c43
parent1c45f60406e61a06631416264e49eb5afd9fc324
[MTD] physmap.c: Add support for multiple resources

This patch extends the physmap mapping driver to support multiple
resources for non-identical NOR chips that will be concatenated together
when selected.

This is needed for example for Intel 48F4400 512MBit chips, since they
consist of 2 single different NOR chips with different geometries. The
first (lower) one has botton boot sectors and the 2nd (upper) has top
boot sectors. This currently isn't handled correctly by calling the
physmap driver once with only one resource covering both chips in one
memory region. The same geometrie is used for both chips.

With this patch the following resource structure can be used to
describe the 48F4400 chip correctly:

static struct resource board_nor_resource[] = {
[0] = {
.start = 0xf8000000,
.end = 0xfbffffff,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = 0xfc000000,
.end = 0xffffffff,
.flags = IORESOURCE_MEM,
}
};

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
drivers/mtd/maps/physmap.c