- 论坛徽章:
- 0
|
用的是powerpc8309,目前想在localbus总线下挂一个nand, 64K双口ram,128双口ram,外加一个CPLD。目前需要修改此设备树里面localbus相关部分
localbus@e0005000 {
#address-cells = <2>;
#size-cells = <1>;
compatible = "fsl,mpc8315-elbc", "fsl,elbc", "simple-bus";
reg = <0xe0005000 0x1000>;
interrupts = <77 0x8>;
interrupt-parent = <&ipic>;
// CS0 for NOR flash
ranges = <0x0 0x0 0xfe000000 0x02000000
0x1 0x0 0xfa000000 0x00002000
0x2 0x0 0xf9000000 0x00020000>;
flash@0,0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "cfi-flash";
reg = <0x0 0x0 0x1000000>;
bank-width = <2>;
device-width = <1>;
/*u-boot@0 {
reg = <0x0 0x60000>;
read-only;
};
kernel@100000 {
reg = <0x100000 0x300000>;
};
fs@400000 {
reg = <0x400000 0x600000>;
};
dtb@a00000 {
reg = <0xa00000 0x20000>;
};
usr@b00000 {
reg = <0xb00000 0x400000>;
};*/
partition@0 {
label = "u-boot";
reg = <0x0 0x60000>;
read-only;
};
partition@100000 {
label = "kernel";
reg = <0x100000 0x300000>;
};
partition@400000 {
label = "ramdisk";
reg = <0x400000 0x600000>;
};
partition@a00000 {
label = "dtb";
reg = <0xa00000 0x20000>;
};
partition@b00000 {
label = "usr";
reg = <0xb00000 0x400000>;
};
};
// CS1 for read and write buffer/latch
rwbuffer@1,0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "rwbuffer";
reg = <0x1 0x0000 0x0010>;
};
// CS2 for Display
ssd1289@2,0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "ssd1289";
reg = <0x2 0x0000 0x0002
0x2 0x0002 0x0002>;
};
};
红字的部分不是很理解,0xfe000000在uboot下的include/configs/8309.h里#define CONFIG_SYS_FLASH_BASE 0xFE000000 /* FLASH base address */,但不知道这个值是从哪里来的,是自己定义的? 还是?????0xfe000000后面的0x02000000这个值是怎么计算出来的,是norflash的最大寻址空间?还有就是我需要挂载4个设备,后面的设备类似于0xFE000000这个值该如何设置,再有谁对localbus这块的内核加载过程及下面设备驱动如何连接这块的东西了解的比较多,让我这菜鸟取取经。。。 |
|