0.决定哪个dtb文件属于一个板子
arch/arm/mach-msm/Makefile.boot
arch/arm64/boot/dts/qcom/Makefile
1. compatible属性
1.树中的每 一个设备的节点都要有一个compatible属性。
- compatible是OS用来决定绑定到设备的设备驱动的关键,根据名字匹配驱动。
2. reg 地址
用来表示i2c的设备地址等等
#address-cells
#size-cells
- 每个可寻址的设备有一个reg属性,即以下面形式表示的元组列表:
reg = <address1 length1 [address2 length2] [address3 length3] ... >
每个元组表示该设备的地址范围。每个地址值由一个或多个32位整数列表组成,被称做cells。同样地,长度值可以是cells列表,也可以为空
如果一个节点有reg属性,则节点名称必须包含unit-address属性!!!
3.gpio引脚
格式为:
deviceName,use-gpio
demo:
atmel mxt touch中用到的中断和复位引脚
atmel,irq-gpio
atmel,reset-gpio = <&msmgpio 1 0x00>; // 哪一个引脚状态值为啥
ap3426 LightSensor 中用到的中断引脚
ap3426,irq-gpio =<&msmgpio 80 0x02>; // 哪一个引脚,中断的触发方式为什么
4. interrupt
格式
To use GPIO pins as interrupt sources for peripherals,
- specify the GPIO controller as the interrupt parent
- and define GPIO number + trigger mode using the interrupts property,
- which is defined like this:
interrupts = <number trigger>
- number: GPIO pin (0..31)
- trigger: trigger mode: 2 = trigger on falling edge 3 = trigger on both edges
demo:
...
interrupt-parent = <&gpio1>;
interrupts = <4 3>;
...