DTS
Tommy_wxie
Tommy_wxie
展开
-
(DT系列一)DTS结构及其编译方法
一:主要问题 1,需要了解dtsi与dts的关系 2,dts的结构模型 3,dts是如何被编译的,以及编译后会生成一个什么文件. 二:参考文字 1,DTS(device tree source) .dts文件是一种ASCII文本格式的DeviceTree描述。基本上,在ARMLinux内,一个.dts文件对应一个ARM的machine,一般放置在内核的arch/arm/bo转载 2015-01-21 10:34:43 · 2629 阅读 · 0 评论 -
linux device tree源代码解析
//Based on Linux v3.14 source code Linux设备树机制(Device Tree) 一、描述 ARM Device Tree起源于OpenFirmware (OF),在过去的Linux中,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的垃圾代码,相当多数的代码只是在描述板级细节,而这些板级细节对于内核来讲,不过是垃圾,如转载 2015-01-17 16:54:19 · 2871 阅读 · 0 评论 -
(DT系列二)device tree的书写规范
devicetree的书写规范 下面从节点,属性,reg,ranges,中断控制器等几个方面叙述devicetree的书写规范。 1,dts的基本元素:节点 .dts(或者其include的.dtsi)基本元素为结点和属性。举例说明节点的概念: / { node1 { a-string-property = "A string"; a-strin转载 2015-01-21 10:35:21 · 1299 阅读 · 0 评论 -
(DT系列三)系统启动时, dts 是怎么被加载的
一,主要问题: 系统在启动的时候,是怎么加载 dts的; Lk,kernel中都应调查。 二:参考文字 dts加载流程如下图所示: 启动过程中,bootloader(默认是bootable/bootloader/lk)会根据机器硬件信息选择合适的devicetree装入内存,把地址等相关信息传给kernel。kernel中,会根据传入的信息创建设备。 1,先从l转载 2015-01-21 10:48:24 · 2399 阅读 · 0 评论 -
DT系列四)驱动加载中, 如何取得device tree中的属性
本文以At91rm9200平台为例,从源码实现的角度来分析驱动加载时,Device tree的属性是如何取得的。 一:系统级初始化 DT_MACHINE_START 主要是定义"struct machine_desc"的类型,放在 section(".arch.info.init"),是初始化数据,Kernel 起来之后将被丢弃。 #define DT_MACHINE_START(_name转载 2015-01-21 10:53:15 · 1335 阅读 · 0 评论 -
(DT系列六)devicetree中数据和 struct device有什么关系
devicetree中数据和structdevice有什么关系 总体来说,devicetree与structdevice的关系应该还是在其生成platformdevice的时候,一直传递的structdevice *parent参数。下面先把其源码中传递过程描述如下(仍以At91rm9200为例): 1, DT_MACHINE_START(at91sam_dt,"Atmel转载 2015-01-21 10:54:08 · 1351 阅读 · 0 评论 -
DT系列五)Linux kernel 是怎么将 devicetree中的内容生成plateform_device
Linux kernel 是怎么将 devicetree中的内容生成plateform_device 1,实现场景(以Versatile Express V2M为例说明其过程) 以arch/arm/mach-vexpress/v2m.c 为例,在该文件中的v2m_dt_init函数的作用就是利用 dt(device tree)结构初始化 platform device。 static转载 2015-01-21 10:51:33 · 1462 阅读 · 0 评论