Subject: i meet some surprising things,when i modify the dts file

From: "hacklu" <[email-masked]>
Date: Thu, 29 Jul 2010 14:08:53 +0800

localbus@f0010100 {
                ....
                ranges = <
                                 0 0 FC000000 1000000   
                                 2 0 FA000000 1000000   
                                 1 0 70000000 1000000
                               >;
                flash@0,0{

.....
}

flash@2,0{

....
}

         board-control@1,0{
                .....
}

}

this is part of my dts files. I don't kown what each field means in the config rangs.
for instance, 2 0 FA000000 1000000 .
I only konw this:
"2" is means chip selects.
"0" is what?
"Fa00000" means the start address.
"1000000" means the range of the device

but ,I got some puzzled.
when I set the two flash in the 0,1 chips select or 0,2 chips select my linux works well.
and, the board-control only can be set at 1 chis select,otherwise the pci doesn't be detected.

so , what is the chips select? is it based on hardware? but my flash can use 0,1,2 chips select.
or it is just set by software? but my pci devece can only work in 1 chips select.

BTW:
I also want to know how to write the dts file. I want to understand each node in the dts files.
but I can't get enough documents. I have readed the linux/document/...
could you privode me some useful information?

thank you ver much~

2010-07-29 

hacklu