physmap_of and partitions (mtd concat support)
Stefan Roese
sr at denx.de
Mon Mar 23 21:51:10 EST 2009
I just noticed that physmap_of can't handle multiple devices of different type
described in one device node. For example the Intel P30 48F4400 (64MByte)
consists internally of 2 non-identical NOR chips. So a "simple"
flash at 0,0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "cfi-flash";
reg = <0 0 0x04000000>;
bank-width = <2>;
device-width = <2>;
partition at 0 {
label = "test-part";
reg = <0 0x04000000>;
};
}
is not working. It will "detect" 2 identical 32MByte chips which is wrong.
Adding a 2nd flash node solves this problem:
flash at 0,0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "cfi-flash";
reg = <0 0 0x02000000>;
bank-width = <2>;
device-width = <2>;
partition at 0 {
label = "test-part1";
reg = <0 0x02000000>;
};
}
flash at 1,0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "cfi-flash";
reg = <0 0x02000000 0x02000000>;
bank-width = <2>;
device-width = <2>;
partition at 0 {
label = "test-part2";
reg = <0 0x02000000>;
};
}
This way both chips are detected correctly.
Now the real problem: How should I describe a partition in the device tree
spanning over both devices (concat)?. The current physmap_of driver doesn't
handle concat at all (physmap.c does). I already have some ideas on how to
implement this concat support in physmap_of. But ideas about a device-tree
syntax for such partitions are very welcome.
Thanks.
Best regards,
Stefan
More information about the devicetree-discuss
mailing list