如何在Linux上配置多个SPI设备

如何在Linux上配置多个SPI设备

我有一个嵌入式 Linux 系统 (F&S PicoComA5),附带预配置的 Linux 内核 + buildroot 系统。

默认情况下,只预配置了一个 SPI 设备,在系统中显示为 /dev/spi0.0

现在在我的板上,我有第二个 SPI 设备,所以我需要选择另一个“CS”行,它应该显示为 /dev/spi0.1

我应该在内核或 buildroot 的哪个位置配置这些参数以使第二个 SPI 设备出现?

编辑:在 arch/arm/arm-mvf/arch-picocom.c 中,板特定的初始化代码,SPI 设备被初始化,我希望找到让它在那里工作的方法!

答案1

可以使用 ioctl 调用来配置 SPI。

例如,设置SPI数据传输速度。使用ioctl系统调用配置SPI设备

int Ioctl ( <spi_device_handle>, <command>,<value>)

将 SPI 接口速度设置为 2 MHz 的示例,

Command = SPI_IOC_WR_MAX_SPEED_HZ 
int  spi_freq = 2000000;     // 2 MHz
Int ioctl (f_spi, SPI_IOC_WR_MAX_SPEED_HZ, &spi_freq);

下面的视频应该对你有用嵌入式 Linux 中的 SPI - 快速参考指南

相关内容