简单调整

Signed-off-by: ithink.chan <chenyang@autoai.com>
This commit is contained in:
ithink.chan 2019-07-09 15:55:28 +08:00
parent 4a6a933e4d
commit 0a551de6bb
1 changed files with 1 additions and 1 deletions

View File

@ -44,7 +44,7 @@ SPI 通讯离不开 SPI 总线控制器和从设备,因此在 Linux 系统中
有些总线设备是可以自动枚举到的,如 PCI 总线可以通过 BDF总线号 Bus、设备号 Device 和功能号 Function 来枚举设备并通过 Device ID 和 Vendor ID 来匹配驱动程序。然而有很多总线不能自动枚举设备并匹配驱动程序。因此内核提供了几种配置表用于声明某些设备的存在,对于 ARM 平台目前使用 Device Tree而 x86 平台有 ACPI 表,或者干脆以平台设备的形式注册 Board Info。Linux 内核会扫描这些表或已注册的 Board Info并根据其中的信息触发对应驱动程序的 Probe 流程。这个过程由系统内核框架实现的,不需要设备驱动开发人员关心,只需要写好 Device Tree提供好 ACPI 表,或注册好 Board Info 即可,而这一般会有 Demo 可以参考。 有些总线设备是可以自动枚举到的,如 PCI 总线可以通过 BDF总线号 Bus、设备号 Device 和功能号 Function 来枚举设备并通过 Device ID 和 Vendor ID 来匹配驱动程序。然而有很多总线不能自动枚举设备并匹配驱动程序。因此内核提供了几种配置表用于声明某些设备的存在,对于 ARM 平台目前使用 Device Tree而 x86 平台有 ACPI 表,或者干脆以平台设备的形式注册 Board Info。Linux 内核会扫描这些表或已注册的 Board Info并根据其中的信息触发对应驱动程序的 Probe 流程。这个过程由系统内核框架实现的,不需要设备驱动开发人员关心,只需要写好 Device Tree提供好 ACPI 表,或注册好 Board Info 即可,而这一般会有 Demo 可以参考。
在 x86 平台下SPI 总线控制器作为 PCI 设备接入,由 PCI 枚举来探测到设备,并通匹配 Device ID 和 Vendor ID 来匹配 SPI 控制器驱动Linux 内核程序结合硬件机制实现了该功能,具体 PCI 设备枚举和匹配过程可以参考 PCI 方面的专业资料),触发其 Probe 程序;然而 SPI 从设备是无法自动探测到的,需要在 ACPI 表中声明这些从设备x86 平台),或在平台设备中注册相关的 SPI Board Info以便内核能够匹配到正确的 SPI 设备驱动并触发其 Probe 程序。 在 x86 平台下SPI 总线控制器作为 PCI 设备接入,由 PCI 枚举来探测到设备,并通 Device ID 和 Vendor ID 来匹配 SPI 控制器驱动Linux 内核程序结合硬件机制实现了该功能,具体 PCI 设备枚举和匹配过程可以参考 PCI 方面的专业资料),触发其 Probe 程序;然而 SPI 从设备是无法自动探测到的,需要在 ACPI 表中声明这些从设备x86 平台),或在平台设备中注册相关的 SPI Board Info以便内核能够匹配到正确的 SPI 设备驱动并触发其 Probe 程序。
以平台设备为例,看下 SPI 从设备的探测流程。由于 SPI 平台设备是通过 SPI Board Info 来声明设备存在的,所以先介绍 spi_board_info 的具体结构。然后再根据 SPI Board Info 一步步分析 SPI 从设备的 Probe 过程。 以平台设备为例,看下 SPI 从设备的探测流程。由于 SPI 平台设备是通过 SPI Board Info 来声明设备存在的,所以先介绍 spi_board_info 的具体结构。然后再根据 SPI Board Info 一步步分析 SPI 从设备的 Probe 过程。