Re: [MPC8272ADS]Problem adding flash partitions inside the device tree
From: Jean-Michel Hautbois <hidden>
Date: 2009-02-12 14:27:02
2009/2/12 Pieter [off-list ref]
Jean-Michel Hautbois wrote:quoted
2009/2/12 David Gibson <david@gibson.dropbear.id.au <mailto:david@gibson.dropbear.id.au>> On Thu, Feb 12, 2009 at 12:10:58PM +0100, Jean-Michel Hautbois wrote: > 2009/2/12 Pieter <phenning@vastech.co.za <mailto:phenning@vastech.co.za>> > > > Jean-Michel Hautbois wrote: > > > Warning (reg_format): "reg" property in > > > /localbus@f0010100/flash@0,0/partition@ff800000 has invalid length (8 > > > JM > > You are missing some definitions, The #address-cells and #size-cells = <1>; > > tis is a snippet of teh dts i defined for my board. > > > > flash@0,0 { > > #address-cells = <1>; > > #size-cells = <1>; > > compatible = "cfi-flash"; > > reg = <0x0 0x0 0x08000000>; > > bank-width = <4>; > > device-width = <1>; > > > > /* set flash partition to correspond tu mtd parts in > > u-boot*/ > > /* 0xf8000000 */ > > partition@0x0 { > > label = "factory-image"; > > reg = <0x00000000 0x01000000>; > > }; > > /* 0xf9000000 */ > > partition@0x01000000 { > > label = "app-image-1"; > > reg = <0x01000000 0x01000000>; > > }; > > cheers pieter > > > > Hi do have these definitions, at a higher level: The address-cells and size-cells definitions are not inherited. They cover only the immediate children of the node where they appear. Otherwise the default values apply (address-cells == 2, size-cells == 1), which are not right for your case. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au <http://gibson.dropbear.id.au> | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson <http://www.ozlabs.org/%7Edgibson> <http://www.ozlabs.org/%7Edgibson>quoted
OK, so, after having tested, I can't see any changes when booting. I do not have more mtd in /proc/mtd. JMhave you defined the following in your kernel config CONFIG_MTD_PHYSMAP_OF=y CONFIG_MTD_PARTITIONS=y CONFIG_MTD_OF_PARTS=y cheers pieter
I didn't have CONFIG_MTD_OF_PARTS=y. Know, I have this output: Found: Intel I28F016S3 fe000000.flash: Found 4 x8 devices at 0x0 in 32-bit bank fe000000.flash: Found an alias at 0x800000 for the chip at 0x0 fe000000.flash: Found an alias at 0x1000000 for the chip at 0x0 fe000000.flash: Found an alias at 0x1800000 for the chip at 0x0 erase region 0: offset=0x0,size=0x40000,blocks=32 RedBoot partition parsing not available Creating 3 MTD partitions on "fe000000.flash": 0x0000ff800000-0x0000ffc00000 : "kernel" mtd: partition "kernel" is out of reach -- disabled mtd: Giving out device 0 to kernel 0x0000ffc00000-0x0000fff00000 : "user" mtd: partition "sofrel" is out of reach -- disabled mtd: Giving out device 1 to user 0x0000fff00000-0x000100000000 : "u-boot" mtd: partition "u-boot" is out of reach -- disabled mtd: Giving out device 2 to u-boot I think that the problem is in the reg part, but I can't understand why. Isn't it the RAM mpping of my MTD that is the first address ? Thanks agains, Regards, JM