Driver: CS8900移植方法

来源:互联网 发布:linux ps aux grep 编辑:程序博客网 时间:2024/06/18 06:59
 

物理地址的确定:

1)CS8900片选信号接在NGCS3,因此CS8900A处在0x18000000 ~ 0x20000000之间。

2)其次留意CS8900A的读写控制信号:nOE / nWE,发现二者被ADDR24控制,这样既有一个结果,只有当传送的地址为1 00 0000 ,CS8900A才能被选通。结合NGCS3:0x18000000,不难得出CS8900A的偏移的物理地址为0x19000000,因为CS8900A的数据存放在300H以后,不难得出CS8900A的IO_BASE_ADDR地址为0x19000300。原理图如下:

 

 

 

通过如上地址,可确定CS8900的偏移的物理地址。也是其他元器地址确定的依据。

软件寄存器的修改:

本次修改主要是针对两个寄存器的修改,跟CS8900相关的nGCS3相关的寄存器。

 

将BWSCON的bank3即nGCS3对应的值修改为:0x0D =>00001101

ST3:Using UB/LB(The pins are dedicated nBE[3:0])

WS3:WAIT enable

DW3:16bit     =>对应CS9600A的原理图

 

此寄存器设定的值为:0x1f7c,此寄存器是调整TIMING的。如果通讯有问题,请记住此地址调试。

 

几个重要文件:

2410addr.h            =>通过指针给出寄存器访问的方式

2410addr.inc          =>定义ARM ic的寄存器的地址

Memcfg.inc           =>内存配置的参数及文档,相关配置由此文档完成。

原创粉丝点击