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 Linuxppc-dev
mailing list