手把手教你编写设备树DTS

📚 共计 30 章节
01
设备树(DTS)基础概念
什么是设备树、为什么需要设备树、设备树在Linux内核中的作用。
概念入门
02
DTS文件结构
DTS、DTSI、DTB、DTC的关系与区别,编译与反编译。
文件编译
03
DTS语法基础
节点、属性、值的定义与格式,标签(label)与引用(&)的使用。
语法节点
04
设备树节点与属性详解
compatible、reg、interrupts、status等核心属性。
属性必学
05
设备树地址编码
#address-cells、#size-cells、ranges,内存映射与外设地址空间。
地址ranges
06
设备树中断控制器
interrupt-parent、interrupts、interrupt-controller、#interrupt-cells。
中断控制器
07
设备树时钟与复位
clocks、clock-names、resets、reset-names的定义与绑定。
时钟复位
08
设备树GPIO控制器
gpio-controller、#gpio-cells、gpios,以及GPIO hogging。
GPIO控制
09
设备树Pin Control
pinctrl-0、pinctrl-names、pinctrl-<index>配置与使用。
引脚复用
10
设备树Regulator
regulator节点,regulator-min-microvolt、regulator-max-microvolt等。
电源稳压
11
设备树DMA
dmas、dma-names属性,DMA引擎绑定。
DMA传输
12
设备树Power Management
power-domains、wakeup-source等电源管理属性。
电源管理唤醒
13
设备树Display/GPU
display-timings、panel、backlight等显示描述。
显示GPU
14
设备树Audio
sound节点、codec节点、DAI link定义与配置。
音频codec
15
设备树Network
Ethernet节点、PHY节点、MDIO总线、MAC地址。
网络以太网
16
设备树USB
USB控制器、USB PHY、USB Hub等描述。
USB外设
17
设备树MMC/SDIO
MMC控制器、SD卡插槽检测、总线宽度等。
存储SD卡
18
设备树I2C
I2C控制器、从设备节点、时钟频率配置。
I2C总线
19
设备树SPI
SPI控制器、从设备、CS片选、模式配置。
SPI片选
20
设备树UART
UART控制器、流控、波特率配置。
串口UART
21
设备树PWM
PWM控制器、输出通道、周期与占空比。
PWM调光
22
设备树ADC/DAC
ADC控制器、通道数、采样率等属性。
ADCDAC
23
设备树Sensor
温度传感器、加速度计、陀螺仪等绑定。
传感器IMU
24
设备树Input
按键、触摸屏、鼠标等输入设备节点。
输入按键
25
设备树LED
LED节点定义、触发模式、颜色配置。
LED指示
26
设备树Backlight
背光节点、亮度调节、PWM控制。
背光亮度
27
设备树RTC
RTC节点、时钟源、中断配置。
RTC时间
28
设备树Watchdog
看门狗节点、超时时间、复位行为。
看门狗复位
29
设备树NVMEM/eFuse
NVMEM节点、数据分区、读取接口。
eFuse存储
30
设备树实战案例
从零为ARM开发板编写完整设备树:CPU、内存、中断、外设。
实战完整