Linux-Kernel

LCD4 Cape 的 Beaglebone 黑色設備樹

  • February 5, 2015

LCD4 cape 的設備樹位於 /lib/firmware/BB-BONE-LCD4-01-00A1.dts 當我查看它時,那些 GPIO 按鈕的聲明讓我感到困惑。根據原理圖修訂版 A1 這裡連結有五個按鈕,它們都沒有映射到 GPIO0_3,即 UART2。但在 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 cape,並在uEnv.txt中為 LCD 啟動我自己編輯和編譯的 dts,如下所示:

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

Angstrom 郵件列表說這個錯誤將在下一個 Angstrom 版本中得到糾正。它也可以通過使用修改後的 dts 文件重新編譯整個核心來糾正。LCD設備樹直接與核心捆綁在一起,不能像其他虛擬cape一樣動態載入。

引用自:https://unix.stackexchange.com/questions/85924