Firefly开源社区

标题: ROC-RK3568-PC SE主板GPIO不能正常输出高电平,是不是GPIO被占用了,怎么解除占用? [打印本页]

作者: zcx621    时间: 2023-6-15 17:13
标题: ROC-RK3568-PC SE主板GPIO不能正常输出高电平,是不是GPIO被占用了,怎么解除占用?
本帖最后由 zcx621 于 2023-6-15 19:17 编辑

ROC-RK3568-PC SE在系统下配置完GPIO,但主板针脚不能输出高电平,

测试6和9pin,以及6和11pin,均没有高电平输出,GPIO22和GPIO146 value值均配置为1,direction设置为out,万用表测试没有电压、
GPIO计算方法参考:

查看GPIO状态






作者: 799959745    时间: 2023-6-15 17:36
具体的操作流程发一下
作者: zcx621    时间: 2023-6-15 17:42
通过文档中GPIO计算方式,算得GPIO0_C6_d,值为22,然后执行 echo 22 > export,然后cd到gpio22目录下,echo out > direction,echo 1> value,然后万用表测6和9pin电压
作者: zcx621    时间: 2023-6-15 18:14
799959745 发表于 2023-6-15 17:36
具体的操作流程发一下

通过文档中GPIO计算方式,算得GPIO0_C6_d,值为22,然后执行 echo 22 > export,然后cd到gpio22目录下,echo out > direction,echo 1> value,然后万用表测6和9pin电压
作者: luwy    时间: 2023-6-16 14:38
本帖最后由 luwy 于 2023-6-16 14:44 编辑

1. 操作流程没问题
2. 这两个实际上分别被pwm7和can1 占用, 需要在dts 里面关掉这两个节点,才可以被导出并使用,补丁如下
  1. diff --git a/kernel/arch/arm64/boot/dts/rockchip/rk3568-firefly-roc-pc-se.dtsi b/kernel/arch/arm64/boot/dts/rockchip/rk3568-firefly-roc-pc-se.dtsi
  2. index 8492792422b..283fe34a0c1 100644
  3. --- a/kernel/arch/arm64/boot/dts/rockchip/rk3568-firefly-roc-pc-se.dtsi
  4. +++ b/kernel/arch/arm64/boot/dts/rockchip/rk3568-firefly-roc-pc-se.dtsi
  5. @@ -166,7 +166,7 @@
  6. };

  7. &can1{
  8. -       status = "okay";
  9. +       status = "disabled";
  10. };

  11. &pcie30phy {
  12. @@ -244,7 +244,7 @@
  13. };

  14. &pwm7 {
  15. -    status = "okay";
  16. +    status = "disabled";
  17. };

  18. &sata2 {
复制代码

3. 如何知道gpio 是否被占用
  1. cat /sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinmux-pins
  2. pin 19 (gpio0-19): (MUX UNCLAIMED) (GPIO UNCLAIMED)
  3. pin 20 (gpio0-20): (MUX UNCLAIMED) (GPIO UNCLAIMED)
  4. pin 21 (gpio0-21): (MUX UNCLAIMED) (GPIO UNCLAIMED)
  5. pin 22 (gpio0-22): (MUX UNCLAIMED) gpio0:22
复制代码

pin 21 (gpio0-21): (MUX UNCLAIMED) (GPIO UNCLAIMED) 类似mux 和gpio 都是UNCLAIMED则未被其他功能占用和gpio申请




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1