linux时钟学习__s5pv210 笔记

(1)
MACHINE_START         //(mach-smdkv210.c)
    smdkv210_map_io();
MACHINE_END
(2)
smdkv210_map_io——>
(3)
s5p_init_io()
{
    s3c_init_cpu(idcode,  cpu_ids, ARRAY_SIZE(cpu_ids));   //查看本文件的cpu_ids
}
(4)
s3c_init_cpu()
{
    cpu->map_io();  //回调对应的.map_io s5pv210_map_io, //(在cpu_ids中的)
}
参考:
/********************************************************************
static struct cpu_table cpu_ids[] __initdata = {
{
.idcode = 0x56440100,
.idmask = 0xffffff00,
.map_io = s5p6440_map_io,
.init_clocks = s5p6440_init_clocks,
.init_uarts = s5p6440_init_uarts,
.init = s5p6440_init,
.name = name_s5p6440,
}, {
.idcode = 0x36442000,
.idmask = 0xffffff00,
.map_io = s5p6442_map_io,
.init_clocks = s5p6442_init_clocks,
.init_uarts = s5p6442_init_uarts,
.init = s5p6442_init,
.name = name_s5p6442,
}, {
.idcode = 0x43100000,
.idmask = 0xfffff000,
.map_io = s5pc100_map_io,
.init_clocks= s5pc100_init_clocks, //110时钟初始化
.init_uarts = s5pc100_init_uarts,
.init = s5pc100_init,
.name = name_s5pc100,
}, {
.idcode = 0x43110000,
.idmask = 0xfffff000,
.map_io s5pv210_map_io,
.init_clocks= s5pv210_init_clocks,   //210时钟初始化
.init_uarts = s5pv210_init_uarts,
.init = s5pv210_init,
.name = name_s5pv210,
},
};
**********************************************************************************/
(5)

smdkv210_map_io   ——>      s5p_init_io——>   
                                   ——>②s3c24xx_init_clocks——>

  s5p_init_io——>s3c_init_cpu——>  cpu->map_io();  //回调对应的.map_io = s5pv210_map_io, //(在cpu_ids中的)


s3c24xx_init_clocks——>s5pv210_init_clocks——>s5pv210_register_clocks();

详见:云笔记
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值