Linuxで複数のSPIデバイスを構成する方法

Linuxで複数のSPIデバイスを構成する方法

事前設定されたLinuxカーネル+ビルドルートシステムに付属の組み込みLinuxシステム(F&S PicoComA5)があります。

デフォルトでは、1つのSPIデバイスのみが事前設定されており、システムに/ dev / spi0.0として表示されます。

私のボードには2番目のSPIデバイスがあるので、別の「CS」ラインを選択し、/ dev / spi0.1を読む必要があります。

2番目のSPIデバイスが表示されるようにするには、カーネルまたはビルドルートのどこでこれらのパラメータを設定する必要がありますか?

編集:ボード固有の初期化コードarch/arm/arm-mvf/arch-picocom.cでSPIデバイスを初期化します。ここで動作させる方法を見つけたいです!

ベストアンサー1

SPIはioctl呼び出しを使用して設定できます。

たとえば、SPI データ転送速度を設定します。 ioctlシステムコールを使用したSPIデバイスの設定

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

SPIインタフェース速度を2MHzに設定する例、

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 - クイックリファレンスガイド

おすすめ記事