BC-11AH-CM4-EXTENSION の SPI 利用と制限事項

Posted by: otsuka

BC-11AH-CM4-EXTENSION の紹介でご紹介した BC-11AH-CM4-EXTENSION ですが、
BC-11AH-CM4-ASKEY に装着して SPI を利用する際には以下のような追加の設定が必要となります。


BC-11AH-CM4-EXTENSION モジュールの SPI を使うには、
/boot/config.txt

dtoverlay=spi1-2cs
を追加して再起動してください。

11ah module のために設定した
dtoverlay=newracom
と合わせて以下の3つの SPI デバイスが見えるはずです。
pi@raspberrypi:~ $ ls -l /dev/spidev*
crw-rw---- 1 root spi 153, 0 Jul 27 14:48 /dev/spidev0.1
crw-rw---- 1 root spi 153, 2 Jul 27 14:48 /dev/spidev1.0
crw-rw---- 1 root spi 153, 1 Jul 27 14:48 /dev/spidev1.1
これで CN3 の2系統の SPI1
GPIO 17: level=1 fsel=1 func=OUTPUT pull=DOWN
GPIO 18: level=1 fsel=1 func=OUTPUT pull=DOWN
GPIO 19: level=0 fsel=3 alt=4 func=SPI1_MISO pull=DOWN
GPIO 20: level=0 fsel=3 alt=4 func=SPI1_MOSI pull=DOWN
GPIO 21: level=0 fsel=3 alt=4 func=SPI1_SCLK pull=DOWN
を利用できるようになります。


なお、BC-11AH-CM4-EXTENSION の CN4 にも1系統の SPI4 がありますが、
こちらは BC-11AH-CM4-ASKEY に装着した場合は使用できません。

BC-11AH-CM4-ASKEY 上の 11ah chip NRC7394 搭載 ASKEY モジュールは
GPIO05: EIRQ  ASKEYモジュールからの割込み要求
GPIO08: SPI_CSn  ASKEYモジュールへのSPIセレクト
GPIO09: SPI_MISO  ASKEYモジュールからの受信
GPIO10: SPI_MOSI  ASKEYモジュールへの送信
GPIO11: SPI_SCLK  SPIのクロック信号
とハードウェアで固定されていて
ソフトウェアでどのように設定しても ASKEY モジュールに接続されたままで、
/boot/config.txt
dtoverlay=spi4-1cs
を追加して /dev/spi4.0 を有効にしても
GPIO05:
  newracom DTS: ASKEY/Newracom EIRQ input
  CN4/SPI4:    SPI4_MISO

GPIO07:
  newracom DTS: output として予約
  CN4/SPI4:    SPI4_SCLK
の二つが競合してしまい、利用することができないためです。


BC-11AH-CM4-EXTENSION を Raspberry Pi 4 や Raspberry Pi ZERO などに装着して使用する場合には、
/boot/config.txt
dtoverlay=spi1-2cs
dtoverlay=spi4-1cs
の両方を追加することで CN3 の SPI1 2系統と CN4 の SPI4 1系統の両方を使用することができます。