The device tree for LCD4 cape is located at /lib/firmware/BB-BONE-LCD4-01-00A1.dts When I looked into it, the declaration of those GPIO buttons confuse me. There are five buttons according to schematic revision A1 here link, none of them are mapped to GPIO0_3, which is UART2. But in the dts file, GPIO0_3(on P9_21) is used as a button.

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 */

Assume this is an error, I tried to disable LCD4 cape on boot up and start my own edited and compiled dts for LCD in uEnv.txt like this:

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

myNewCape.dtbo is located in /lbi/firmware and compiled from myNewCape.dts without errors. Basically I commented out all GPIO buttons and key group definition. It didn't work. This screen is clearly disabled due to capemgr.disable_partno=BB-BONE-LCD4-01 but it never shows anything even capemgr.enable_partno=myNewCape is there.


Angstrom mailing list says this error will be corrected in the next Angstrom release. It can also be corrected by recompiling entire kernel with modified dts file. LCD device tree is bundled with kernel directly and cannot be loaded dynamically like other virtual capes.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.