发布时间:2014-12-05 15:53:30
//Based on Linux v3.14 source codeLinux设备树机制(Device Tree)一、描述ARM Device Tree起源于OpenFirmware (OF),在过去的Linux中,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的垃圾代码,相当多数的代码只是在描述板级细节,而这些板级细节对于内核来讲,不过是垃圾.........【阅读全文】
发布时间:2014-12-05 15:47:18
devicetree中数据和structdevice有什么关系总体来说,devicetree与structdevice的关系应该还是在其生成platformdevice的时候,一直传递的structdevice *parent参数。下面先把其源码中传递过程描述如下(仍以At91rm9200为例):1,DT_MACHINE_START(at91sam_dt,"Atmel AT91SAM (Device Tree)").........【阅读全文】
发布时间:2014-12-05 15:45:09
Linux kernel 是怎么将 devicetree中的内容生成plateform_device1,实现场景(以Versatile Express V2M为例说明其过程)以arch/arm/mach-vexpress/v2m.c 为例,在该文件中的v2m_dt_init函数的作用就是利用 dt(device tree)结构初始化 platform device。static void __init v2m_dt_init(void){of_platf.........【阅读全文】
发布时间:2014-12-05 15:44:05
本文以At91rm9200平台为例,从源码实现的角度来分析驱动加载时,Device tree的属性是如何取得的。一:系统级初始化DT_MACHINE_START 主要是定义"struct machine_desc"的类型,放在 section(".arch.info.init"),是初始化数据,Kernel 起来之后将被丢弃。#define DT_MACHINE_START(_name, _namestr) \stati.........【阅读全文】
发布时间:2014-12-05 15:42:38
window.quickReplyflag = true; 二:参考文字dts加载流程如下图所示:启动过程中,bootloader(默认是bootable/bootloader/lk)会根据机器硬件信息选择合适的devicetree装入内存,把地址等相关信息传给kernel。kernel中,会根据传入的信息创建设备。1,先从little kernel开始:1.1 总体来说Lk.........【阅读全文】