修正2.6.24内核对于6410无法使用reboot的问题

      linux-2.6.24内核对于S3C6410的支持貌似不是很好。单纯地从发送reboot命令重启系统来看,发送reboot后,内核并没有真正的去调用看门狗。只是执行了如下的一条语句(源码在"include/asm/arch/system.h"中):

__raw_writel(0x6400, S3C24XX_VA_SYSCON + S3C6400_SW_RESET_OFF);

      该语句是对芯片内部system controller中的一个寄存器赋值,而这个寄存器却是个reserved寄存器,没有任何功能。

      看门狗模块的基地址在linux中映射为0xc5872000。加入如下三句即可启动开门狗,来实现reboot功能。

    __raw_writel(0x8000, 0xc5872000 + 8);
    __raw_writel(0x8000, 0xc5872000 + 4);
    __raw_writel(0x0221, 0xc5872000);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值