0

最近、BeagleBone Black で作業を開始しましたが、デバイス ツリー オーバーレイを適用して pinmux を変更し、いくつかの gpios を使用するためにいくつかの問題に直面しています。デバイス ツリー オーバーレイに関する多くのチュートリアルを見つけましたが、構成を適用するのに苦労しています。助けが必要です。

使用している dts ファイルは次のとおりです: (BBB-CAM-00A0.dts)

/dts-v1/;
/plugin/;

/ {

compatible = "ti,beaglebone", "ti,beaglebone-black";

/* identification */
part-number = "BB-CAM";
version = "00A0";

exclusive-use =
/* the pin header uses */
        "P8.07",
        "P8.08",
        "P8.09",
        "P8.10",
        "P8.11",
        "P8.12",
        "P8.13",
        "P8.14",
        "P8.15",
        "P8.16",
        "P8.17",
        "P8.18",
        "P8.19",
        "P9.11",
        "P9.12",
        "P9.13",
        "P9.14";

fragment@0 {
        target = <&am33xx_pinmux>;
        __overlay__ {
                pinctrl_test: pinctrl_test_0_pins {
                        pinctrl-single,pins = <
                                0x090 0x07
                                0x094 0x07
                                0x09c 0x07
                                0x098 0x07
                                0x034 0x07
                                0x030 0x07
                                0x024 0x07
                                0x028 0x07
                                0x03c 0x07
                                0x038 0x07
                                0x02c 0x07
                                0x08c 0x07
                                0x020 0x07
                                0x070 0x07
                                0x078 0x07
                                0x074 0x07
                                0x048 0x07
                        >;
                };
        };
};

fragment@1 {
        target = <&ocp>;
        __overlay__ {
                        test_helper: helper {
                                status = "okay";
                                pinctrl-names = "default";
                                pinctrl-0 = <&pinctrl_test>;
                        };
                };
        };
};

私が使用しているピンは、別のオーバーレイから既に使用されているものではありません。すべてのピンは次のとおりです。

pin xx (44e10xxx): (MUX UNCLAIMED) (GPIO UNCLAIMED)

以下を使用して dts をコンパイルします。

dtc -O dtb -o BBB-CAM-00A0.dtbo -b O -@ BBB-CAM-00A0.dts

それで :

cp BBB-CAM-00A0.dtbo /lib/firmware/

それから:

echo BBB-CAM > /sys/devices/bone_capemgr.*/slots

この時点で、オーバーレイは受け入れられたようです:

 0: 54:PF---
 1: 55:PF---
 2: 56:PF---
 3: 57:PF---
 4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
 5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
 7: ff:P-O-L Override Board Name,00A0,Override Manuf,BBB-CAM

しかし、pinmux は変わらないようです。

root@beaglebone:~/Desktop# cat $PINS |grep 890
pin 36 (44e10890) 00000037 pinctrl-single
root@beaglebone:~/Desktop# cat $PINS |grep 894
pin 37 (44e10894) 00000037 pinctrl-single
root@beaglebone:~/Desktop# cat $PINS |grep 89c
pin 39 (44e1089c) 00000037 pinctrl-single
root@beaglebone:~/Desktop# cat $PINS |grep 898
pin 38 (44e10898) 00000037 pinctrl-single
root@beaglebone:~/Desktop# cat $PINS |grep 834
pin 13 (44e10834) 00000027 pinctrl-single
root@beaglebone:~/Desktop# cat $PINS |grep 830
pin 12 (44e10830) 00000027 pinctrl-single
root@beaglebone:~/Desktop# cat $PINS |grep 824
pin 9 (44e10824) 00000027 pinctrl-single
root@beaglebone:~/Desktop# cat $PINS |grep 828
pin 10 (44e10828) 00000027 pinctrl-single
root@beaglebone:~/Desktop# cat $PINS |grep 83c
pin 15 (44e1083c) 00000027 pinctrl-single

dmesg関連情報を返しません。

参考までに、これは私の変更されていないカーネルです。

Linux beaglebone 3.8.13 #1 SMP Wed Sep 4 09:09:32 CEST 2013 armv7l GNU/Linux

この問題を処理する方法が本当にわかりません。何か提案はありますか?

どうもありがとう

4

1 に答える 1