ARM LCDC Linux porting研究(1)之HW连接

追根究底

http://blog.csdn.net/cataol/

cataol@hotmail.com

欢迎转载,但请保留作者信息

      这两天在学习Linux驱动相关的资料,在这里做一下学习笔记,以便以后查询。以前也有做过工作方面的知识整理,可惜在硬盘里零零散散,甚至有些都被删掉了,唉。

      首先我们大概看一下硬件大概架构:

ARM<-AHB->Memory Controller<-Host bus->LCD controller<-RGB->LCD

|                       ARM SOC                     |              LCDC               |       LCD       |

从这里我们可以知道要完成对LCD的控制,需要对ARM SOC内部controller进行配置来match LCD controller的bus timing,完成地址的mapping。配置LCD controller host bus工作在ARM SOC bus方式。配置LCD controller需要使用的LCD的timing。

      从S1D13515 EVB schematic看一下它的电路,我们主要关心的是power,reset,clock input和host bus interface。

image

      power和reset有on和off的sequence,HW设计或者软件设计遵循即可,Clock使用CLKI1连接。Host Interface方面S1D13513支持Intel 80,motorola 68等其他专用总线,使用CNF pin来配置总线类型。

      9G20提供EBI bus供外部总线设备连接,包括SDRAM,Static memory controller,NAND FLASH contoller等。SMC是一个AMBA AHB设备,它在SOC AHB master和SM device之间充当接口,可以连接访问SRAM,NOR FLASH等设备。这里我们显然就选择SMC接口来连接S1D13513。

image

      熟读SMC datasheet,对比S1D13513的host bus interface,可以确定使用Intel 80 type bus interface实现两边总线连接。然后就是配置S1D13513的Bus类型,根据S1D13513的bus timing来计算和配置SMC的register设置了。这就是一些简单的计算工作了。

      附:Intel 80 type1,type2和Motorola 68 bus interface:

      共同点,

      都有Addr,Data,CS pin。

      区别,

      Intel 80 type 1:RD/WR/UBE/LBE。Read,Write,Upper byte,lower byte

      Intel 80 Type 2:RD/WEU/WEL。Read,Upper byte write,Lower Byte enable

      Motorola 68:RW/UDS/LDS。Read/Write,Upper data strobe,Lower data strobe

      Intel80,Motorola68与其他一些bus interface的差异主要体现在其他interface需要有个外部时钟pin来同步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值