我正致力于在我的 Beaglebone Black 上部署设备树覆盖。
Linux 版本是:
Linux version 4.1.18-ti-r52 (root@b1-omap5-uevm-2gb) (gcc version 4.9.2 (Debian 4.9.2-10) ) #1 SMP Thu Mar 10 00:41:28 UTC 2016
我正在关注示例 https://github.com/jadonk/validation-scripts/blob/master/test-capemgr/README.md .
我还研究了 Derek Molloys 的探索 BeagleBone 黑皮书第 6 章中的示例。在这两种情况下,我在部署叠加层时都遇到了相同的错误。叠加层似乎部署正确,执行 echo > $SLOTS 时没有出现错误,但是当我使用 dmesg 查看内核消息时,出现如下所示的错误。下面显示的内容来自于 jadonk 示例。
[ 1053.452639] bone_capemgr bone_capemgr: Using override eeprom data at slot 5
[ 1053.452664] bone_capemgr bone_capemgr: slot #5: 'Override Board Name,00A0,Override Manuf,pinctrl-test-7'
[ 1053.455556] pinctrl-single 44e10800.pinmux: pin 44e10964.0 already requested by ocp:P9_42_pinmux; cannot claim for ocp:helper
[ 1053.467142] pinctrl-single 44e10800.pinmux: pin-89 (ocp:helper) status -22
[ 1053.474093] pinctrl-single 44e10800.pinmux: could not request pin 89 (44e10964.0) from group pinctrl_test_7_pins on device pinctrl-single
[ 1053.486626] bone-pinmux-helper ocp:helper: Error applying setting, reverse things back
[ 1053.495157] pinctrl-single 44e10800.pinmux: pin 44e10964.0 already requested by ocp:P9_42_pinmux; cannot claim for ocp:helper
[ 1053.506627] pinctrl-single 44e10800.pinmux: pin-89 (ocp:helper) status -22
[ 1053.513582] pinctrl-single 44e10800.pinmux: could not request pin 89 (44e10964.0) from group pinctrl_test_7_pins on device pinctrl-single
[ 1053.526118] bone-pinmux-helper ocp:helper: Error applying setting, reverse things back
[ 1053.534109] bone-pinmux-helper ocp:helper: Failed to select default state
部署前我看到:
root@beaglebone:/lib/firmware# cat $SLOTS
0: PF---- -1
1: PF---- -1
2: PF---- -1
3: PF---- -1
4: P-O-L- 0 Override Board Name,00A0,Override Manuf,cape-universaln
部署后我看到:
root@beaglebone:/lib/firmware# cat $SLOTS
0: PF---- -1
1: PF---- -1
2: PF---- -1
3: PF---- -1
4: P-O-L- 0 Override Board Name,00A0,Override Manuf,cape-universaln
5: P-O-L- 1 Override Board Name,00A0,Override Manuf,pinctrl-test-7
但是 dmesg 显示上面的错误。
您能否建议可能发生的情况和/或我如何解决问题?
最佳答案
我已经解决了这个问题。在另一个论坛上,向我解释了 cape-universaln 和 config-pin 的用法。 cape-universaln 是一个覆盖层,它提供了一种无需编写覆盖层即可配置引脚的方法。在 https://github.com/cdsteinkuehler/beaglebone-universal-io 上有很好的信息.我看到的管脚冲突是意料之中的。我试图在一个已经部署的覆盖层之上部署一个不需要的覆盖层,它提供了一种更简单的配置引脚的方法。还在学习中。
关于linux - 部署设备树覆盖时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39563781/