修改板驱动程序
大多数系统芯片 (SoC) 板都依赖于明确枚举的硬件资源,而不是工作站、服务器或笔记本电脑上常见的 ACPI 等发现机制。
有关示例,请参阅 display-engine.cc。大多数设备需要结合使用以下各项:
- MMIO 区域
- 针对 vsync、热插拔事件(通常通过 GPIO)等操作的中断。例如,AMLogic 显示控制器具有 RDMA 引擎和具有自己的中断的捕获接口。
- BTI:Zircon 的基元,用于将虚拟内存固定到物理地址以进行硬件交互。
- GPIO 引脚,例如用于打开/关闭有线 LCD 面板。
- 电源资源,用于开启控制器电源并选择工作电压。
- I2C 桥接器,例如用于控制 DSI 到 HDMI 输出转换器的桥接器。
- DSI 访问,因为 DSI 支持通常是由内核提供的单独驱动程序。
- Sysmem 堆,以便客户端可以分配设备可访问的内存。
枚举所有这些资源后,请调用 AddComposite
以作为一个单元公开它们。设备管理器将查找可绑定到此复合设备的驱动程序,并加载相应的显示驱动程序。
此更改是针对 VIM3 板驱动程序修改的完整示例。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-04-03。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]