![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux Device Tree
win9zz
Life is brief, and then you die, you know?
展开
-
clock bindings
该绑定是一个进行中的工作,它基于benh [1]的一些实验工作。时钟信号源可以由设备树中的任何节点表示。 这些节点被指定为时钟提供者。 时钟使用者节点使用一对phandle和specifiers对将时钟提供程序输出连接到时钟输入。 与gpio specifiers相似,clock specifiers是一个零数组,一个或多个单元标识设备上的时钟输出。 时钟说明符的长度由时钟提供程序节点中的#cl...翻译 2020-05-05 15:55:13 · 1877 阅读 · 0 评论 -
tiny4412 设备树之LCD背光驱动(五)
开发板:tiny4412(1611) 内核:linux4.4 编译器: arm-none-linux-gnueabi-gcc (gcc version 4.8.3 20140320) 4412芯片gpx1 2接到双向电平转换器上: LCD上有一个STM8单片机控制背光和传输触屏数据,通过一线协议。(触屏数据也可通过i2c直接读取) 关于一线背光驱动: http://www....原创 2017-09-20 22:04:36 · 2604 阅读 · 0 评论 -
tiny4412 设备树之定时器中断(四)
开发板:tiny4412(1611) 内核:linux4.4 编译器: arm-none-linux-gnueabi-gcc (gcc version 4.8.3 20140320) Exynos 4412 has five 32-bit Pulse Width Modulation (PWM) timers. These timers generate internal interru...原创 2018-02-24 17:00:46 · 2411 阅读 · 0 评论 -
tiny4412 设备树之clk(番外)
开发板:tiny4412(1611) 内核:linux4.4 编译器: arm-none-linux-gnueabi-gcc (gcc version 4.8.3 20140320)在没有设备树之前,采用clk_get(NULL, “timers”)等获取时钟。在采用设备树时候,节点添加如下属性即可。timer3demo@139D0000{ comp...原创 2018-02-24 12:21:32 · 2643 阅读 · 0 评论 -
tiny4412 设备树之pinctrl(番外)
开发板:tiny4412(1611) 内核:linux4.4 编译器: arm-none-linux-gnueabi-gcc (gcc version 4.8.3 20140320) 许多Soc内部都包含pin控制器,通过pin控制器的寄存器,我们可以配置一个或者一组引脚的功能和特性。 在软件方面,linux内核中提供了pinctrl子系统,目的是为了统一各SoC厂商的pin原创 2017-11-07 20:09:51 · 2503 阅读 · 0 评论 -
设备树OF API
OF的接口函数在/drivers/of/目录下,有of_i2c.c、of_mdio.c、of_mtd.c、Adress.c等等这里将列出几个常用的API接口。1. 用来查找在dtb中的根节点unsigned long __init of_get_flat_dt_root(void)2. 根据deice_node结构的full_name参数,在原创 2017-09-02 21:18:05 · 1861 阅读 · 0 评论 -
设备树特殊节点
㈠chosen nodechosen {bootargs = "tegraid=40.0.0.00.00 vmalloc=256M video=tegrafb console=ttyS0,115200n8 earlyprintk";};chosen node 主要用来描述由系统指定的runtime parameter,它并没有描述任何硬件设备节点信息。原先通过tag原创 2017-09-02 21:14:52 · 1934 阅读 · 0 评论 -
tiny4412 设备树之SD卡驱动(三)
开发板:tiny4412(1611)内核:linux4.4编译器: arm-none-linux-gnueabi-gcc (gcc version 4.8.3 20140320)在linux内核中,SD卡属于MMC子系统,简单的介绍:http://blog.csdn.net/qq_33160790/article/details/77883739原创 2017-09-06 21:41:55 · 3655 阅读 · 0 评论 -
tiny4412 设备树之按键中断(一)
使用到的引脚是XEINT26,即GPX3_2在设备树下添加节点:interrupt_int26 { compatible = "tiny4412,interrupt_int26"; tiny4412,int_gpio1 = ; };装载新的设备书后可以在sys/firmware/devicetree/ba原创 2017-08-31 22:00:16 · 2526 阅读 · 0 评论 -
tiny4412 设备树之i2c设备(二)
开发板:tiny4412(1611)内核:linux4.4编译器: arm-none-linux-gnueabi-gcc (gcc version 4.8.3 20140320)mma7660连接的是i2c3和xeint25。在以前的内核中(arch/arm/mach-exynos/mach-tiny4412.c)中,是这样初始化i2c控制器及设备的static struct s3c2410_pl...原创 2017-09-03 16:39:22 · 4237 阅读 · 7 评论 -
设备树(待续)
内核配置支持设备树:make menuconfig ---> Boot options ---> Flattened Device Tree support原创 2017-04-09 22:44:05 · 1341 阅读 · 0 评论 -
了解Linux的dtb
在以前的内核版本中:1)内核包含了对硬件的全部描述;2)bootloader会加载一个二进制的内核镜像,并执行它,比如uImage或者zImage;3)bootloader会提供一些额外的信息,成为ATAGS,它的地址会通过r2寄存器传给内核;ATAGS包含了内存大小和地址,kernel command line等等;4)bootloader会告诉内核加载哪一款board,通过原创 2017-04-09 17:38:50 · 9179 阅读 · 0 评论 -
ARM Linux 3.x的设备树(Device Tree)
1. ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach转载 2017-03-21 00:58:07 · 1378 阅读 · 0 评论