SPI应用笔记

基本信息

  • 来源: /工作相关/飞凌嵌入式imx6全部资料/原始下载资料/OKMX6DL、Q系列产品应用笔记/OKMX6DL&Q-S3-linux4.1.15应用笔记/SPI应用笔记.pdf
  • 版本: V1.0 (2018.12.08)
  • 页数: 8页
  • 平台: 飞凌 OKMX6DL/Q-S3, Linux 4.1.15

核心内容

适用范围

本文适用于飞凌 OKMX6DL/Q-S3 平台 Linux 4.1.15 操作系统。

SPI接口配置步骤

1. 接口选择

  • SPI接口采用 ecspi5
  • 引脚分配(参考 IMX6DQRM.pdf Chapter 4):
    • MISO: SD2_DAT0
    • MOSI: SD2_CMD
    • SCLK: SD2_CLK
    • SS0: SD2_DAT1

2. 查找驱动和配置

2.1 查找ecspi驱动 在设备树文件 imx6q.dtsi 中搜索 ecspi5:

  • 驱动匹配名: fsl,imx6q-ecspi 或 fsl,imx51-ecspi
  • 驱动路径: drivers/spi/spi-imx.c

2.2 配置内核选项 查看 drivers/spi/Makefile 确认配置选项:

  • 需要将 CONFIG_SPI_IMX 设置为 y
  • 在 imx_v7_defconfig 中添加配置

3. 添加设备树配置

在 imx6q-s3-sabresd.dts 中仿照 ecspi2 添加 ecspi5 配置。

在 imx6q.dtsi 的 &iomux 中添加引脚配置。

4. 查找spidev驱动

搜索 spidev:

  • 驱动名: "spidev"
  • 需要将 spi_spidev 设置为 y
  • 在 imx_v7_defconfig 中修改配置

5. 编译验证

编译内核和设备树后,检查:

  • drivers/spi/ 下是否生成 spi-imx.o 和 spidev.o
  • 生成说明已编译进内核

6. 烧写测试

  1. 替换烧写工具中的设备树和内核
  2. 重新烧写
  3. 开机选择刚替换的设备树
  4. 验证 /dev/spidev4.0 节点存在

7. 测试方法

使用 /forlinx/cmdbin/ 下的 spidev_test:

./spidev_test -D /dev/spidev4.0

注意事项

  1. ecspi5 和 ecspi2 使用同一个驱动设备
  2. 配置完成后需检查是否有其他复用冲突
  3. 参数需根据实际硬件调整

行动要点

  1. 修改设备树时注意检查引脚复用冲突
  2. 编译后验证.o文件是否生成
  3. 使用spidev_test进行环回测试

关联笔记