A árvore de dispositivos para a capa do LCD4 está localizada em /lib/firmware/BB-BONE-LCD4-01-00A1.dts Quando eu olhei para ela, a declaração desses botões do GPIO me confunde. Existem cinco botões de acordo com a revisão esquemática A1 aqui link , nenhum deles é mapeado para GPIO0_3, que é o UART2. Mas no arquivo dts, o GPIO0_3 (no P9_21) é usado como um botão.
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 */
>;
};
Suponha que isso seja um erro, tentei desativar a capa do LCD4 na inicialização e iniciar meus próprios dts editados e compilados para o LCD em uEnv.txt desta forma:
optargs=quiet capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-LCD4-01 capemgr.enable_partno=myNewCape
myNewCape.dtbo está localizado em /lbi/firmware
e compilado a partir de myNewCape.dts
sem erros.
Basicamente eu comentei todos os botões do GPIO e a definição do grupo de chaves.
Não funcionou. Esta tela está claramente desativada devido a capemgr.disable_partno=BB-BONE-LCD4-01
, mas nunca mostra nada mesmo capemgr.enable_partno=myNewCape
está lá.