根据我对设备树的理解,其中一个主要用途是从驱动程序中删除特定于平台的代码,以支持多个平台。设备树如何处理单个外围设备的多个配置?
例如,如果我想在平台A中使用LCD面板A,在B平台上使用LCD面板B,是否需要将LCD面板A和面板B的相关代码保存在最后的二进制文件中?如果是这样,并且有多个外设具有多个选项,那么二进制文件中似乎会有大量的额外代码。
发布于 2013-07-10 08:14:21
假设您有5个LCD面板和5个平台(机器),为每个面板保留5个dtsi文件,为每个平台/机器保留不同的dtsi文件。
用于单个配置:包含特定的dtsi面板文件,在您感兴趣的特定平台/机器的dtsi文件中。结果:-通过这种方式,您不必在板文件中传递所有面板配置和开断液晶显示选项。简单地说,您不必为新机器创建单独的板文件,而是拥有多个设备树文件,并在构建过程中包含您感兴趣的任何一个。
用于多个配置:,您可以在您感兴趣的机器dtsi文件中添加n个面板dtsi文件。通过启用/禁用在defconfig文件中的特定lcd面板,您可以在运行时启用任何LCD面板驱动程序。结果:-通过这种方式,您可以避免在单板文件中添加1000个面板配置(您知道它有多麻烦),而是在机器dt文件中添加1000个dtsi文件和添加1000个dt头面板文件,并在defconfig中升起特定的面板标志。这会减轻工作的负担。在简单-单板文件和dtb包含所有的文件。减少了整个内核的大小。
https://stackoverflow.com/questions/17546603
复制相似问题