",其后的字符"> ",其后的字符" />
设备节点兼容性.docx

设备节点兼容性.docx

ID:57629406

大小:24.37 KB

页数:4页

时间:2020-08-29

设备节点兼容性.docx_第1页
设备节点兼容性.docx_第2页
设备节点兼容性.docx_第3页
设备节点兼容性.docx_第4页
资源描述:

《设备节点兼容性.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、2.设备节点兼容性在.dts文件的每个设备节点中,都有一个兼容属性,兼容属性用于驱动和设备的绑定。兼容属性是一个字符串的列表,列表中的第一个字符串表征了节点代表的确切设备,形式为"",其后的字符串表征可兼容的其他设备。可以说前面的是特指,后面的则涵盖更广的范围。如在vexpress-v2m.dtsi中的Flash节点如下:flash@0,00000000{patible="arm,vexpress-flash","cfi-flash";reg=<00x000000000x04000000>

2、,<10x000000000x04000000>;b1ank-width=<4>;};兼容属性的第2个字符串"cfi-flash"明显比第1个字符串"arm,vexpress-flash"涵盖的范围更广。再如,FreescaleMPC8349SoC含一个串口设备,它实现了国家半导体(NationalSem-iconductor)的NS16550寄存器接口。则MPC8349串口设备的兼容属性为patible="fsl,mpc8349-uart","ns16550"。其中,fsl,mpc8349-uart指代了确切的设备,ns16550代

3、表该设备与NS16550UART保持了寄存器兼容。因此,设备节点的兼容性和根节点的兼容性是类似的,都是“从具体到抽象”。使用设备树后,驱动需要与.dts中描述的设备节点进行匹配,从而使驱动的probe()函数执行。对于platform_driver而言,需要添加一个OF匹配表,如前文的.dts文件的"acme,a1234-i2c-bus"兼容I2C控制器节点的OF匹配表,具体代码如下所示。1staticconststructof_device_ida1234_i2c_of_match[]={2{.patible="acme,a1234

4、-i2c-bus",},3{},4};5MODULE_DEVICE_TABLE(of,a1234_i2c_of_match);67staticstructplatform_driveri2c_a1234_driver={8.driver={9.name="a1234-i2c-bus",10.owner=THIS_MODULE,11.of_match_table=a1234_i2c_of_match,12},13.probe=i2c_a1234_probe,14.remove=i2c_a1234_remove,15};16module_

5、platform_driver(i2c_a1234_driver);对于I2C和SPI从设备而言,同样也可以通过of_match_ta-ble添加匹配的.dts中的相关节点的兼容属性,如sound/soc/codecs/wm8753.c中的针对WolfsonWM8753的of_match_ta-ble,具体代码如下所示。1staticconststructof_device_idwm8753_of_match[]={2{.patible="wlf,wm8753",},3{}4};5MODULE_DEVICE_TABLE(of,wm87

6、53_of_match);6staticstructspi_driverwm8753_spi_driver={7.driver={8.name="wm8753",9.owner=THIS_MODULE,10.of_match_table=wm8753_of_match,11},12.probe=wm8753_spi_probe,13.remove=wm8753_spi_remove,14};15staticstructi2c_driverwm8753_i2c_driver={16.driver={17.name="wm8753",18

7、.owner=THIS_MODULE,19.of_match_table=wm8753_of_match,20},21.probe=wm8753_i2c_probe,22.remove=wm8753_i2c_remove,23.id_table=wm8753_i2c_id,24};上述代码中的第2行显示WM8753的供应商是“wlf”,它其实是对应于WolfsonMicroe-lectronics的前缀。详细的前缀可见于内核文档:Documentation/devicetree/bindings/vendor-pre-fixes.tx

8、t对于I2C、SPI还有一点需要提醒的是,I2C和SPI外设驱动和设备树中设备节点的兼容属性还有一种弱式匹配方法,就是“别名”匹配。兼容属性的组织形式为,别名其实就是去掉兼容属

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。