大家好! 我想在GPMC总线上挂在两个设备,一个Nand Flash作为存储程序和文件系统等使用。 另一个设备FPGA模拟为Nor Flash设备作为与ARM之间的通信接口。 请问在DTS文件中,要如何描述两个设备资源,驱动大概怎么写? 大神们提供一下思路,谢谢!
Nand FLASH 挂在CS0, FPGA挂在CS1。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好! 我想在GPMC总线上挂在两个设备,一个Nand Flash作为存储程序和文件系统等使用。 另一个设备FPGA模拟为Nor Flash设备作为与ARM之间的通信接口。 请问在DTS文件中,要如何描述两个设备资源,驱动大概怎么写? 大神们提供一下思路,谢谢!
Nand FLASH 挂在CS0, FPGA挂在CS1。
关于FPGA部分,暂时我没想到很好的方法,您可能需要自己定义dts 根据您的应用定义接口吧。
关于nand 部分,程序存储实在文件系统里的吗?如果是,应该是机遇mtd存储接口的吧。
谢谢,Yaoming!
nand 部分是Mtd接口,在DTS中定义如下可正常工作:
&gpmc {
status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&nandflash_pins_default>;
pinctrl-1 = <&nandflash_pins_sleep>;
ranges = <0 0 0x08000000 0x8000000>; /* CS0: NAND */
nand@0,0 {
reg = <0 0 0>; /* CS0, offset 0 */
ti,nand-ecc-opt = "bch8";
ti,elm-id = <&elm>;
nand-bus-width = <8>;
gpmc,device-width = <1>;
gpmc,sync-clk-ps = <0>;
gpmc,cs-on-ns = <0>;
gpmc,cs-rd-off-ns = <44>;
gpmc,cs-wr-off-ns = <44>;
gpmc,adv-on-ns = <6>;
gpmc,adv-rd-off-ns = <34>;
gpmc,adv-wr-off-ns = <44>;
gpmc,we-on-ns = <0>;
gpmc,we-off-ns = <40>;
gpmc,oe-on-ns = <0>;
gpmc,oe-off-ns = <54>;
gpmc,access-ns = <64>;
gpmc,rd-cycle-ns = <82>;
gpmc,wr-cycle-ns = <82>;
gpmc,wait-on-read = "true";
gpmc,wait-on-write = "true";
gpmc,bus-turnaround-ns = <0>;
gpmc,cycle2cycle-delay-ns = <0>;
gpmc,clk-activation-ns = <0>;
gpmc,wait-monitoring-ns = <0>;
gpmc,wr-access-ns = <40>;
gpmc,wr-data-mux-bus-ns = <0>;
/* MTD partition table */
/* All SPL-* partitions are sized to minimal length
* which can be independently programmable. For
* NAND flash this is equal to size of erase-block */
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "NAND.SPL";
reg = <0x00000000 0x000020000>;
};
partition@1 {
label = "NAND.SPL.backup1";
reg = <0x00020000 0x00020000>;
};
partition@2 {
label = "NAND.SPL.backup2";
reg = <0x00040000 0x00020000>;
};
partition@3 {
label = "NAND.SPL.backup3";
reg = <0x00060000 0x00020000>;
};
partition@4 {
label = "NAND.u-boot-spl-os";
reg = <0x00080000 0x00040000>;
};
partition@5 {
label = "NAND.u-boot";
reg = <0x000C0000 0x00100000>;
};
partition@6 {
label = "NAND.u-boot-env";
reg = <0x001C0000 0x00020000>;
};
partition@7 {
label = "NAND.u-boot-env.backup1";
reg = <0x001E0000 0x00020000>;
};
partition@8 {
label = "NAND.kernel";
reg = <0x00200000 0x00800000>;
};
partition@9 {
label = "NAND.file-system";
reg = <0x00A00000 0x07600000>;
};
};
};
因为FPGA只是模拟一个NOR FLASH接口,想在此节点上添加支持NOR的配置信息。 不知道如何同时定义两块设备?