设备节点兼容性.docx
- 175****2036个人认证 |
- 2021-05-12 发布|
- 26.81 KB|
- 6页
精品文档
精品文档
PAGE
精品文档
设备节点兼容性
在.dts 文件的每个设备节点中,都有一个兼容属性,兼容属性用于驱动和设备的绑定。
兼容属性是一个字符串的列表, 列表中的第一个字符串表征了节点代表的确切设备, 形式为
"<manu-facturer> ,<model>",其后的字符串表征可兼容的其他设备。 可以说前面的是特指,
后面的则涵盖更广的范围。如在 vexpress-v2m.dtsi 中的Flash节点如下:
flash@0
patible="arm,vexpress-flash","cfi-flash";
reg=<00x000000000gt;,<10x000000000gt;;
b1ank-width=<4>;
};
兼容属性的第 2个字符串"cfi-flash" 明显比第1个字符串"arm,vexpress-flash" 涵盖
的范围更广。
再如,FreescaleMPC8349SoC 含一个串口设备,它实现了国家半导体( National
Sem-iconductor )的NS16550寄存器接口。则MPC8349串口设备的兼容属性为 patible="fsl ,
mpc8349-uart" ,"ns16550"。其中,fsl,mpc8349-uart 指代了确切的设备, ns16550代表
该设备与NS16550UART保持了寄存器兼容。因此,设备节点的兼容性和根节点的兼容性是类似的,都是“从具体到抽象”。
使用设备树后,驱动需要与 .dts 中描述的设备节点进行匹配,从而使驱动的 probe()
函数执行。对于platform_driver而言,需要添加一个O