LCD4 Cape用Beaglebone Blackデバイスツリー

LCD4 Cape用Beaglebone Blackデバイスツリー

LCD4 Capeのデバイスツリーは/lib/firmware/BB-BONE-LCD4-01-00A1.dtsにあります。私が見たとき、そのGPIOボタンの宣言は混乱しました。回路図改訂A1によると、5つのボタンがあります。協会、そのどれもUART2であるGPIO0_3にマップされません。ただし、dtsファイルではGPIO0_3(P9_21)がボタンとして使用されます。

bone_lcd4_cape_keys_00A2_pins: pinmux_bone_lcd4_cape_keys_00A2_pins {
                pinctrl-single,pins = <
                    0x040 0x2f  /* gpmc_a0.gpio1_16, INPUT | PULLDIS | MODE7 */
                    0x044 0x2f  /* gpmc_a1.gpio1_17, INPUT | PULLDIS | MODE7 */
                    0x04c 0x2f  /* gpmc_a3.gpio1_19, INPUT | PULLDIS | MODE7 */
                    0x154 0x2f  /* P9_21 spi0_d0.gpio0_3 INPUT | PULLDIS | MODE7 */
                >;
            };

これがバグだと仮定し、起動時にLCD4ケープを無効にし、直接編集してコンパイルしたLCD dtsを起動してみました。uEnv.txtこのように:

optargs=quiet capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-LCD4-01 capemgr.enable_partno=myNewCape

myNewCape.dtboを見つけてエラーなしで/lbi/firmwareコンパイルしますmyNewCape.dts。デフォルトでは、すべてのGPIOボタンと主要なグループ定義をコメントアウトしました。動作しません。画面は明らかに無効になっていますcapemgr.disable_partno=BB-BONE-LCD4-01が、何も表示されませんcapemgr.enable_partno=myNewCape

答え1

Angstromメーリングリストは、このバグが次のAngstromリリースで修正されることを示しています。変更されたdtsファイルでカーネル全体を再コンパイルして修正することもできます。 LCDデバイスツリーはカーネルと共に直接バンドルされており、他の仮想ケープのように動的にロードすることはできません。

関連情報