
linux-dts
文章平均质量分 74
zll5258
这个作者很懒,什么都没留下…
展开
-
Device Tree常用方法解析
Device Tree在Linux内核驱动中的使用源于2011年3月17日Linus Torvalds在ARMLinux邮件列表中的一封邮件,他宣称“this whole ARM thing is a f*cking pain in theass”,并提倡学习PowerPC等其他架构已经成熟使用的Device Tree技术。自此,Device Tree正式进入ARM社区的视野中。1. 作用转载 2016-11-08 17:47:42 · 334 阅读 · 0 评论 -
(DT系列六)devicetree中数据和 struct device有什么关系
devicetree中数据和structdevice有什么关系总体来说,devicetree与structdevice的关系应该还是在其生成platformdevice的时候,一直传递的structdevice*parent参数。下面先把其源码中传递过程描述如下(仍以At91rm9200为例): 1,DT_MACHINE_START(at91sam_dt,"Atmel转载 2016-11-09 10:10:16 · 353 阅读 · 0 评论 -
dts编译
Dtc -I dts -O dts -o test.dtsmsm8939-Cp5961-p0.dts Dtc -I dts -O dts -oteset0.dts test0000.dtb 反编译到teset0.dts中 随便放,放到你环境变量里就可嫌麻烦就放到和dtb,dts相同的目录(不推荐) Dtb编译一般形式:dtbTool-o原创 2016-11-09 10:21:36 · 1654 阅读 · 0 评论 -
Dts-link
1、plt_dts.sh #!/bin/sh PLT_DIR=qcomPLT_DTS_NAME=$1PRODUCT_NAME=$2DIFF_RESULT=~/temp/diff_result.txtLINK_LIST=~/temp/link.listBOARD_DIRS=~/temp/board_dirs.txt creat_links(){BO原创 2016-11-09 10:23:15 · 394 阅读 · 0 评论 -
Dts- status
static struct platform_device *of_platform_device_create_pdata( struct device_node *np, const char *bus_id, void *platform_data,转载 2016-11-09 10:23:56 · 1409 阅读 · 0 评论 -
Node
/dts-v1/; / {#address-cells = ;#size-cells = ;model = "Qualcomm Technologies, Inc. MSM8976 MTP";compatible = "qcom,msm8976-mtp", "qcom,msm8976","qcom,mtp";qcom,msm-id = ;interrupt-pare原创 2016-11-09 10:25:03 · 630 阅读 · 0 评论 -
dtc工具解析
/kernel/scripts/dtc/livetree.cmerge_nodes-->delete_property_by_name-->delete_node_by_name -->delete_node void delete_node(struct node *node)287 {288 struct property *pr原创 2016-11-09 10:26:02 · 2862 阅读 · 0 评论 -
Device Tree(一):背景介绍
一、前言作为一个多年耕耘在linux 2.6.23内核的开发者,各个不同项目中各种不同周边外设驱动的开发以及各种琐碎的、扯皮的俗务占据了大部分的时间。当有机会下载3.14的内核并准备学习的时候,突然发现linux kernel对于我似乎变得非常的陌生了,各种新的机制,各种framework、各种新的概念让我感到阅读内核代码变得举步维艰。还好,剖析内核的热情还在,剩下的就交给时间的。首先转载 2016-11-09 10:27:00 · 387 阅读 · 0 评论 -
Device Tree(二):基本概念
一、前言一些背景知识(例如:为何要引入Device Tree,这个机制是用来解决什么问题的)请参考引入Device Tree的原因,本文主要是介绍DeviceTree的基础概念。简单的说,如果要使用Device Tree,首先用户要了解自己的硬件配置和系统运行参数,并把这些信息组织成Device Tree source file。通过DTC(Device TreeCompiler)转载 2016-11-09 10:27:54 · 467 阅读 · 0 评论 -
(DT系列五)Linux kernel 是怎么将 devicetree中的内容生成plateform_device
Linux kernel 是怎么将devicetree中的内容生成plateform_device 1,实现场景(以VersatileExpress V2M为例说明其过程)以arch/arm/mach-vexpress/v2m.c为例,在该文件中的v2m_dt_init函数的作用就是利用 dt(device tree)结构初始化 platform device。static转载 2016-11-09 10:09:37 · 431 阅读 · 0 评论 -
(DT系列四)驱动加载中, 如何取得device tree中的属性
本文以At91rm9200平台为例,从源码实现的角度来分析驱动加载时,Devicetree的属性是如何取得的。 一:系统级初始化DT_MACHINE_START主要是定义"struct machine_desc"的类型,放在section(".arch.info.init"),是初始化数据,Kernel 起来之后将被丢弃。#defineDT_MACHINE_START(_name,转载 2016-11-09 10:08:59 · 572 阅读 · 0 评论 -
Device Tree起源
1. ARM Device Tree起源LinusTorvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain inthe ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARMLinux中,arch/arm/plat-xxx和arch/arm/mach-xxx转载 2016-11-08 17:48:54 · 488 阅读 · 0 评论 -
MACHINE_START与MACHINE_END
在移植Linux时,有个结构体需要填写,它以MACHINE_START开始并以MACHINE_END结束,如下mini2440开发板的移植为示例 [cpp] view plaincopyMACHINE_START(MINI2440, "MINI2440") .phys_io = S3C2410_PA_UART, .io_pg_offst转载 2016-11-08 17:50:07 · 200 阅读 · 0 评论 -
msm_pinctrl.txt
MSM TLMM pinmuxcontroller Qualcomm MSMintegrates a GPIO and Pin mux/config hardware, (TOP Level ModeMultiplexer in shortTLMM). It controls the input/output settings on theavailable pads/pinsan转载 2016-11-08 17:51:02 · 560 阅读 · 0 评论 -
Pinctrl-bindings.txt
Hardware modulesthat control pin multiplexing or configuration parameterssuch aspull-up/down, tri-state, drive-strength etc are designated as pincontrollers. Eachpin controller must be represented转载 2016-11-08 17:51:54 · 566 阅读 · 0 评论 -
dts加载流程
boot_linux_from_mmc |-> dt_table_offset=((uint32_t)image_addr+page_size+kernel_actual_ramdisk_actual+second_actual); ------------------------------找到dts的偏移地址 |->table = (structdt_tabl原创 2016-11-08 17:56:51 · 1366 阅读 · 0 评论 -
(DT系列一)DTS结构及其编译方法
DTS结构及其编译方法 一:主要问题1,需要了解dtsi与dts的关系2,dts的结构模型3,dts是如何被编译的,以及编译后会生成一个什么文件. 二:参考文字1,DTS(devicetree source).dts文件是一种ASCII文本格式的DeviceTree描述。基本上,在ARMLinux内,一个.dts文件对应一个ARM的machine,一般放置在内核转载 2016-11-09 10:05:56 · 737 阅读 · 0 评论 -
(DT系列二)device tree的书写规范
devicetree的书写规范下面从节点,属性,reg,ranges,中断控制器等几个方面叙述devicetree的书写规范。1,dts的基本元素:节点.dts(或者其include的.dtsi)基本元素为结点和属性。举例说明节点的概念:/ { node1 { a-string-property = "A string"; a-转载 2016-11-09 10:06:42 · 258 阅读 · 0 评论 -
(DT系列三)系统启动时, dts 是怎么被加载的
一,主要问题:系统在启动的时候,是怎么加载 dts的;Lk,kernel中都应调查。 二:参考文字dts加载流程如下图所示: 启动过程中,bootloader(默认是bootable/bootloader/lk)会根据机器硬件信息选择合适的devicetree装入内存,把地址等相关信息传给kernel。kernel中,会根据传入的信息创建设备。转载 2016-11-09 10:08:24 · 554 阅读 · 0 评论 -
Device Tree(三):代码分析
一、前言Device Tree总共有三篇,分别是:1、为何要引入Device Tree,这个机制是用来解决什么问题的?(请参考引入Device Tree的原因)2、Device Tree的基础概念(请参考DT基础概念)3、ARM linux中和Device Tree相关的代码分析(这是本文的主题)本文主要内容是:以Device Tree相关的数据流分析为索引,对ARM转载 2016-11-09 10:28:36 · 491 阅读 · 0 评论