[MPC8272ADS]Problem adding flash partitions inside the device tree

10 messages, 4 authors, 2009-02-13 · open the first message on its own page

[MPC8272ADS]Problem adding flash partitions inside the device tree

From: Jean-Michel Hautbois <hidden>
Date: 2009-02-12 09:31:56

Hi everybody !
I am currently trying to add the support of partitions for the Flash chip on
my MPC8272ADS board (the chips are Sharp LH28F016SCT-L90).

I have added this part:

flash@0,0 {
                        compatible = "jedec-flash";
                        reg = <0x0 0x0 0x2000000>;
                        bank-width = <4>;
                        device-width = <1>;

                        partition@ff800000 {
                                label = "kernel";
                                reg = <0xff800000 0x00400000>;
                                read-only;
                        };
                        partition@ffc00000 {
                                label = "user";
                                reg = <0xffc00000 0x00300000>;
                        };
                        partition@fff00000 {
                                label = "u-boot";
                                reg = <0xfff00000 0x00100000>;
                                read-only;
                        };
                };

But when I am compiling, I have these warnings:
Warning (reg_format): "reg" property in /localbus@f0010100/flash@0
,0/partition@ff800000 has invalid length (8 bytes) (#address-cells == 2,
#size-cells == 1)
Warning (reg_format): "reg" property in /localbus@f0010100/flash@0
,0/partition@ffc00000 has invalid length (8 bytes) (#address-cells == 2,
#size-cells == 1)
Warning (reg_format): "reg" property in /localbus@f0010100/flash@0
,0/partition@fff00000 has invalid length (8 bytes) (#address-cells == 2,
#size-cells == 1)
Warning (avoid_default_addr_size): Relying on default #address-cells value
for /localbus@f0010100/flash@0,0/partition@ff800000
Warning (avoid_default_addr_size): Relying on default #size-cells value for
/localbus@f0010100/flash@0,0/partition@ff800000
Warning (avoid_default_addr_size): Relying on default #address-cells value
for /localbus@f0010100/flash@0,0/partition@ffc00000
Warning (avoid_default_addr_size): Relying on default #size-cells value for
/localbus@f0010100/flash@0,0/partition@ffc00000
Warning (avoid_default_addr_size): Relying on default #address-cells value
for /localbus@f0010100/flash@0,0/partition@fff00000
Warning (avoid_default_addr_size): Relying on default #size-cells value for
/localbus@f0010100/flash@0,0/partition@fff00000


Can anyone help me ?
I can't understand what the "address-cells" is.

Thanks in advance !
Best Regards.
JM

Re: [MPC8272ADS]Problem adding flash partitions inside the device tree

From: Pieter <hidden>
Date: 2009-02-12 11:05:22

Jean-Michel Hautbois wrote:
Hi everybody !
I am currently trying to add the support of partitions for the Flash
chip on my MPC8272ADS board (the chips are Sharp LH28F016SCT-L90).

I have added this part:

flash@0,0 {
                        compatible = "jedec-flash";
                        reg = <0x0 0x0 0x2000000>;
                        bank-width = <4>;
                        device-width = <1>;

                        partition@ff800000 {
                                label = "kernel";
                                reg = <0xff800000 0x00400000>;
                                read-only;
                        };
                        partition@ffc00000 {
                                label = "user";
                                reg = <0xffc00000 0x00300000>;
                        };
                        partition@fff00000 {
                                label = "u-boot";
                                reg = <0xfff00000 0x00100000>;
                                read-only;
                        };
                };

But when I am compiling, I have these warnings:
Warning (reg_format): "reg" property in
/localbus@f0010100/flash@0,0/partition@ff800000 has invalid length (8
bytes) (#address-cells == 2, #size-cells == 1)
Warning (reg_format): "reg" property in
/localbus@f0010100/flash@0,0/partition@ffc00000 has invalid length (8
bytes) (#address-cells == 2, #size-cells == 1)
Warning (reg_format): "reg" property in
/localbus@f0010100/flash@0,0/partition@fff00000 has invalid length (8
bytes) (#address-cells == 2, #size-cells == 1)
Warning (avoid_default_addr_size): Relying on default #address-cells
value for /localbus@f0010100/flash@0,0/partition@ff800000
Warning (avoid_default_addr_size): Relying on default #size-cells
value for /localbus@f0010100/flash@0,0/partition@ff800000
Warning (avoid_default_addr_size): Relying on default #address-cells
value for /localbus@f0010100/flash@0,0/partition@ffc00000
Warning (avoid_default_addr_size): Relying on default #size-cells
value for /localbus@f0010100/flash@0,0/partition@ffc00000
Warning (avoid_default_addr_size): Relying on default #address-cells
value for /localbus@f0010100/flash@0,0/partition@fff00000
Warning (avoid_default_addr_size): Relying on default #size-cells
value for /localbus@f0010100/flash@0,0/partition@fff00000


Can anyone help me ?
I can't understand what the "address-cells" is.

Thanks in advance !
Best Regards.
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

Re: [MPC8272ADS]Problem adding flash partitions inside the device tree

From: Jean-Michel Hautbois <hidden>
Date: 2009-02-12 11:11:11

2009/2/12 Pieter [off-list ref]
Jean-Michel Hautbois wrote:
quoted
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:
 localbus@f0010100 {
                compatible = "fsl,mpc8272-localbus",
                             "fsl,pq2-localbus";
                #address-cells = <2>;
                #size-cells = <1>;
                reg = <0xf0010100 0x40>;

                ranges = <0x0 0x0 0xfe000000 0x2000000
                          0x1 0x0 0xf4500000 0x8000
                          0x3 0x0 0xf8200000 0x8000>;

                flash@0,0 {
etc.

Regards,
JM

Re: [MPC8272ADS]Problem adding flash partitions inside the device tree

From: David Gibson <hidden>
Date: 2009-02-12 13:30:37

On Thu, Feb 12, 2009 at 12:10:58PM +0100, Jean-Michel Hautbois wrote:
2009/2/12 Pieter [off-list ref]
quoted
Jean-Michel Hautbois wrote:
quoted
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	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

Re: [MPC8272ADS]Problem adding flash partitions inside the device tree

From: Jean-Michel Hautbois <hidden>
Date: 2009-02-12 13:36:41

2009/2/12 David Gibson [off-list ref]
On Thu, Feb 12, 2009 at 12:10:58PM +0100, Jean-Michel Hautbois wrote:
quoted
2009/2/12 Pieter [off-list ref]
quoted
Jean-Michel Hautbois wrote:
quoted
Warning (reg_format): "reg" property in
/localbus@f0010100/flash@0,0/partition@ff800000 has invalid length
(8
quoted
quoted
quoted
JM
You are missing some definitions, The #address-cells and #size-cells =
<1>;
quoted
quoted
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  | minimalist, thank you.  NOT _the_
_other_
                               | _way_ _around_!
http://www.ozlabs.org/~dgibson <http://www.ozlabs.org/%7Edgibson>
OK, so, after having tested, I can't see any changes when booting.
I do not have more mtd in /proc/mtd.

JM

Re: [MPC8272ADS]Problem adding flash partitions inside the device tree

From: Pieter <hidden>
Date: 2009-02-12 14:09:21

Jean-Michel Hautbois wrote:
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>

OK, so, after having tested, I can't see any changes when booting.
I do not have more mtd in /proc/mtd.

JM
have you defined the following in your kernel  config

CONFIG_MTD_PHYSMAP_OF=y
CONFIG_MTD_PARTITIONS=y
CONFIG_MTD_OF_PARTS=y

cheers pieter

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.

JM
have 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

Re: [MPC8272ADS]Problem adding flash partitions inside the device tree

From: Scott Wood <hidden>
Date: 2009-02-12 22:24:08

On Thu, Feb 12, 2009 at 03:26:58PM +0100, Jean-Michel Hautbois wrote:
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 ?
No, it's the offset into the chipselect.

-Scott

Re: [MPC8272ADS]Problem adding flash partitions inside the device tree

From: Jean-Michel Hautbois <hidden>
Date: 2009-02-13 09:25:45

2009/2/12 Scott Wood [off-list ref]:
On Thu, Feb 12, 2009 at 03:26:58PM +0100, Jean-Michel Hautbois wrote:
quoted
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 ?
No, it's the offset into the chipselect.

-Scott
OK.
What means the word #adress-cells BTW ?
When should I have 1, 2 or anything else ?

Regards,
JM

Re: [MPC8272ADS]Problem adding flash partitions inside the device tree

From: Scott Wood <hidden>
Date: 2009-02-13 16:53:59

Jean-Michel Hautbois wrote:
2009/2/12 Scott Wood [off-list ref]:
quoted
On Thu, Feb 12, 2009 at 03:26:58PM +0100, Jean-Michel Hautbois wrote:
quoted
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 ?
No, it's the offset into the chipselect.

-Scott
OK.
What means the word #adress-cells BTW ?
It's the number of cells that make up an address.  1 cell for 32-bit 
addresses, 2 for 64-bit.
When should I have 1, 2 or anything else ?
1 cell is sufficient in this case.

-Scott
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help