s3c2440的GPIO上电初始值

时间:2022-04-23 17:49:56

最近想配置mini2440的cmos摄像头接口为GPIO使用。驱动中将其配置为输出,并初始化为低电平。但在刚刚上电的时刻,屏幕出现画面之前,会有一段高电平出现。

自我分析可能有两个解决办法:1.芯片默认上电后就是高电平,可以配置寄存器,进行修改。2.驱动加载太晚,应提前加载。

后测试,板子的GPB1上电后就一直是低电平。寻找原理图发现,这个管脚与LCD的接口相连。而内核中,mach-n30.c对GPB的寄存器做了修改,代码如下:


__raw_writel(0x00154556, S3C2410_GPBCON);
__raw_writel(0x00000750, S3C2410_GPBDAT);
__raw_writel(0x00000073, S3C2410_GPBUP);


看来,还是自己的驱动加载的太晚。应进行提前。


另,经网上资料指点,去查询芯片手册。原来大部分的GPIO端口上电时,都默认为输入,并且使能了上拉电阻,估计因为这样才是高电平吧,有待进一步分析。