linux 的dts

dts的概念,在这里就不多说了,

我这里的例子是 openwrt 的dts; cpu是7620的;

这里的power_led的gpio 44

先看右图:

有一个叫gpio2 的结构体,

gpio-base:  gpio个数的头, 基地址

num-gpios: gpio个数的尾

整个意思是 gpio40 ----- gpio72是属于gpio2这个域里面的; <=gpio39,   >=gpio73都不是这里的;

再看左图的power:

gpio = <&gpio2  4   1>;

它指定了power_led的gpio是   用上面的gpio2域,

4是 偏移地址,即40+4=44;

1是默认高电平(即低电平触发);

linux 的dts

时间: 2024-08-04 03:08:25

linux 的dts的相关文章

openwrt 增加RTC(MCP7940 I2C总线)驱动详解

一.硬件平台 1.1 控制器:MT7620(A9内核) 1.2 RTC芯片:MCP7940(I2C总线) 二.软件平台 2.1.开发环境:Ubuntu12.04 2.2.软件版本:openwrt 官方15.05版本SDK开发包(CHAOS CALMER 15.05版本) 三.功能说明 本文章所选择的目标芯片为MT7620,profile 选择的为"Xiaomi MiWiFi Mini ". 3.1.在openwrt 系统上,移植mcp7940的rtc芯片驱动. 3.2.在openwrt

7620N路由器刷openwrt系统

拿到了一台带USB的路由器,配置竟然还是8M/64M的,脑洞大开,不用硬改就能刷个openwrt!无论是迅雷离线下载.单线多拨突破网速.挂卡中继.等等等等.然后就开始动手: 1.找固件,根据自己的CPU芯片.闪存.内存大小选择合适的固件.如果找不到有两个选择:找同类路由的固件(板子.芯片.闪存.内存都一样的固件).或者自己编译固件. 自己编译固件需要知道机器的dts,比如我机器的客服告诉我我的ZBT-WE526和ZBT-WA05的dts是一样的,给了我地址是:https://dev.openwr

OpenWRT (RT5350) 使能两个串口

OpenWRT(RT5350) 默认使能一个串口(uartlite) ,当做console口了,另外一个串口(uartf)与gpio复用. 在查找资料的过程中,发现在新的内核中使用到了设备树(device tree)的概念,使用dts文件描述SOC的所有资源. 针对RT5350平台,系统相关配置文件有如下几个: 1.~/openwrt/build_dir/target-mispel_24kec+dsp_musl-1.1.10/linux-ramips_rt305x/linux-3.10.49/a

RT5350 安装 读卡器驱动

首先确认 SD卡 的接口(据说是有2种 第一种是sdio 第二种是spi 如果这两种都没有,那么可以做成类似读卡器的一个设备,也就是USB设备) 我手上这块是 SPI 接口的, 那么在内核上选上SPI模块即可 Kernel modules ---> SPI Support ---> <*> kmod-mmc-spi 保存退出,第一次 make 烧录之后发现还是未识别.原因是, openwrt的源码中 默认是将 spi 关闭的. 修改 相关源码 vi target/linux/ram

内核如何解析设备树Device Tree

1) 首先将从u-boot 传递过来的映像基地址和dtb 文件映像基地址保存通用寄存器r30,r31: 2) 通过调用machine_init() --> early_init_devtree()函数来获取内核前期初始化所需的bootargs,cmd_line等系统引导参数: 3) 调用start_kernel() --> setup_arch() -->unflatten_device_tree()函数来解析dtb文件,构建一个由device_node结构连接而成的单项链表,并使用全局

LinkIt Smart 7688 从源码构建固件并升级

1.操作系统:Ubuntu 16.04 LTS 2.安装必要的支持包: $:sudo dpkg --add-architecture i386 $:sudo apt-get update $:sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 $:sudo apt-get install lib32z1 lib32ncurses5 $:sudo apt-get install gcc $:sudo apt-get in

at91 linux 4.1.0下dts驱动编程模型

下面的这个驱动文件at91_keyled.c在Atmel提供的linux-at91-linux4sam_5.3下实现了按键控制LED的亮灭过程,通过这个简单的驱动描述了基于DTS的驱动开发模型以及Linux内核里的GPIO相关的操作函数. 1 /********************************************************************************* 2 * Copyright: (C) 2016 Guo Wenxue<[email pro

Linux 设备驱动之 DTS 描述的资源

在linux使用platform_driver_register() 注册 platform_driver 时, 需要在 platform_driver 的probe() 里面知道设备的中断号, 内存地址等资源. 这些资源的描述信息存放在 resource 数据结构中, 相同的资源存放在一个树形树形数据结构中, 通过父节点, 兄弟节点, 子节点相连. 比如中断资源, IO端口资源, IO内存资源, DMA资源有不同资源树. Linux使用 struct resource 来描述一个resouce

Linux 获取设备树源文件(DTS)里描述的资源【转】

转自:http://www.linuxidc.com/Linux/2013-07/86839.htm 转自:http://blog.sina.com.cn/s/blog_636a55070101mced.html 在linux使用platform_driver_register() 注册  platform_driver 时, 需要在 platform_driver 的probe() 里面知道设备的中断号, 内存地址等资源. 这些资源的描述信息存放在 resource 数据结构中, 相同的资源存