g-bios support S3C6410 SPI
本帖最后由 voidjackjiang 于 2010-09-20 10:48 编辑
Description:
实现g-bios对S3C6410 SPI总线的支持
Team member:
Nate、Wayde Wu
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
您好,目前我也正在写一个在S3C6410下的驱动程序,但是遇到很多问题,比如寄存器如何配置以及配置流程是什么样的?另外我配置完了寄存器,但是但是始终没有时钟信号输出,我的邮箱是731052177@qq.com,可否留个qq给我?希望得到您的帮助
成功添加s3c6410的spi support ,并经norflash小组测试通过
10.8 report:
初始化s3c6410 spi完成, 在driver目录下面添加spi子目录,在这个子目录下增加s3c6410_init.c的文件,这个文件中包含对spi的初始化函数以及导出的api,修改driver目录下的Makefile 当用户选择平台为s3c6410时则对spi目录下的C文件进行编译,如果选择s3c6410以外的平台则不会对spi目录中的文件进行编译
修改s3c6410.h和s3c6410_reg.h这两个文件
s3c6410.h中包含对api的声明
s3c6410_reg.h中包含读spi special register的宏定义
9.30
昨天忘了发帖,现在补上,spi的工作即将收尾,正在规范patch
SPI manual mode:
手动模式下需要通过enable和disable NSSOUT来切换cs信号的状态
SPI AUTO mode:
自动模式下就不需要也不允许人为的改变NSSOUTl来完成对CS信号的切换了。通过设置packet count register,当SPI收到packet的数量和所设置的数一样时,SPI就会自动终止产生SPI CLOCK。
9.28
今天,我们小组和其他组一起做spi,spi的初始化流程按照
1. Set Transfer Type. (CPOL & CPHA set )
2. Set Clock configuration register.
3. Set SPI MODE configuration register.
4. Set SPI INT_EN register.
5. Set Packet Count configuration register if necessary.
6. Set Tx or Rx Channel on.
7. Set NSSOUT low to start Tx or Rx operation.
A. Set NSSOUT Bit to low, then start TX data writing.
B. If auto chip selection bit is set, should not control NSSOUT.
因为我们是用手动方式选择slave设备(Norflash),所以第5步没有做,第一步时钟的选择由原来的epll改为Pclk(133MHZ),但奇怪的时在板子上引导内核时,PCLK显示为66.5MHZ,另外,我们第七步按手动方式设置片选,测试时没有成功,我觉得是norflash的读时序流程写错了,接着调试
9.27
调试 spi 时,Rxdata寄存器中仍旧收不到数据
9.21日:
spi的init函数以及提供给norflash小组的api已完,但调试时发现spi 的rxdata无法收到数据,22日继续调试
9.20主要任务:
初始化SPI总线控制器各种寄存器的值
配合Nor组检验配置是否成功,尝试读出Nor设备的ID号,目前还处在调试阶段