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 장치 트리는 커널과 함께 직접 번들로 제공되며 다른 가상 케이프처럼 동적으로 로드할 수 없습니다.