beagleboneblackでHDMIのポートをGPIOに変更する

以下は、microSDを接続しない場合

ブートのパーティションをマウントする

# mkdir /mnt/mmcboot
# mount /dev/mmcblk0p1 /mnt/mmcboot

microSDで起動した場合のマウントは、/dev/mmcblk1p1となるので注意

uEnv.txtを変更する

# cd /mnt/mmcboot
# nano uEnv.txt

uEnv.txtは、以下のように変更するだけ

optargs=quiet drm.debug=7 capemgr.disable_portno=BB-BONELT-HDMI,BB-BONELT-HDMIN

再起動してください。

再起動後のチェック方法

# cat /sys/devices/bone_capemgr.*/slots
...
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN

上記のように5,6に「L」が入っていなければ、起動時からHDMIはGPIOとして使えます。

一応、コントロールレジスタのビットをチェック

P8_27ピン(0x8e0)をチェック
# grep 8e0 /sys/kernel/debug/pinctrl/44e10800.pinmux/pins
pin 56 (44e108e0) 00000027 pinctrl-single

後ろの3ビットがモードを表すので、モードは7(GPIO)であることが分かる。

さて、あとは、overlayをいじって、GPIOをたくさん使うかなぁ。


BeagleBoneBlackで遊ぼう!