hi, i have two flashs, but my kernel can only find one , how can i write the dts?

Grant Likely grant.likely at secretlab.ca
Sat Jul 17 07:46:39 EST 2010


On Fri, Jul 16, 2010 at 2:34 AM, hacklu <embedway.test at gmail.com> wrote:
> this is my dts file:
> flash at 0,0 {
>                         #address-cells = <1>;
>                         #size-cells = <1>;
>                         compatible = "cfi-flash";
>                         probe-type = "CFI";
>                         reg = <0 0 1000000>;
>                         bank-width = <2>;
>                         device-width = <1>;
>                         hrcw at 0 {
>                                 label = "hrcw";
>                                 reg = <0 40000>;
>                         };
>                         jffs at 40000 {
>                                 label = "jffs";
>                                 reg = <40000 200000>;
>                         };
>                         jffs2 at 240000 {
>                                 label = "uimage";
>                                 reg = <240000 d80000>;
>                         };
>              };
> flash at 1,0 {
>                         #address-cells = <1>;
>                         #size-cells = <1>;
>                         compatible = "cfi-flash";
>                         probe-type = "CFI";
>                         reg = <1000000 0 1000000>;

This looks wrong.  If you're second flash is on chip select 1 as the
node name suggests, then this should be (first cell is CS#, second is
offset, and third is size.  Alos you're missing the 0x prefix):

reg = <1 0 0x1000000>;

If your second flash is on chip select 0 with the first flash, but
offset by 0x1000000, then reg should be:

reg = <0 0x1000000 0x1000000>;

and the name should be:

flash at 0,1000000 { ... };

g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.


More information about the Linuxppc-dev mailing list