fbcp-ili9341の入手
fbcp-ili9341はfbcpの高速版で、SPI接続の各LCD用に個別にビルドして使うのだけど、既にビルド済みのものがあるのでそれを使う。
$ git clone https://github.com/u-geek/AOIDE_KAZOO.git
$ sudo cp AOIDE_KAZOO/packages/fbcp-ili9341 /usr/local/bin/
/boot/config.txt
/boot/config.txt
# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=on
dtparam=i2s=on
# dtparam=spi=on
# dtparam=audio=on
# Enable DRM VC4 V3D driver
# dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-v3dを無効にしておかないとfbcpがエラー終了する。
/boot/config.txt
# AOIDE KAZOO
hdmi_group=2
hdmi_mode=87
hdmi_cvt=240 240 60 1 0 0 0
hdmi_force_hotplug=1
dtoverlay=hifiberry-dacplus
dtoverlay=gpio-ir,gpio_pin=4
dtoverlay=gpio-ir-tx,gpio_pin=17
ここまででsudo rebootして、
$ sudo fbcp-ili9341
bcm_host_get_peripheral_address: 0x3f000000, bcm_host_get_peripheral_size: 16777216, bcm_host_get_sdram_address: 0xc0000000
BCM core speed: current: 400000000hz, max turbo: 400000000hz. SPI CDIV: 6, SPI max frequency: 66666667hz
Allocated DMA channel 7
Allocated DMA channel 1
Enabling DMA channels Tx:7 and Rx:1
DMA hardware register file is at ptr: 0x75b7d000, using DMA TX channel: 7 and DMA RX channel: 1
DMA hardware TX channel register file is at ptr: 0x75b7d700, DMA RX channel register file is at ptr: 0x75b7d100
Resetting DMA channels for use
DMA all set up
Initializing display
Resetting display at reset GPIO pin 27
InitSPI done
Relevant source display area size with overscan cropped away: 240x240.
Source GPU display is 240x240. Output SPI display is 240x240 with a drawable area of 240x240. Applying scaling factor horiz=1.00x & vert=1.00x, xOffset: 0, yOffset: 0, scaledWidth: 240, scaledHeight: 240
Creating dispmanX resource of size 240x240 (aspect ratio=1.000000).
GPU grab rectangle is offset x=0,y=0, size w=240xh=240, aspect ratio=1.000000
All initialized, now running main loop...
画面に何か映ってれば(デスクトップ画面が映ってれば)成功。
Audio
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 [HiFiBerry DAC+ HiFi pcm512x-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
となっていればとりあえずOKのはず。