zcx621 发表于 2023-6-15 17:13:56

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:41

具体的操作流程发一下

zcx621 发表于 2023-6-15 17:42:04

通过文档中GPIO计算方式,算得GPIO0_C6_d,值为22,然后执行 echo 22 > export,然后cd到gpio22目录下,echo out > direction,echo 1> value,然后万用表测6和9pin电压

zcx621 发表于 2023-6-15 18:14:21

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:59

本帖最后由 luwy 于 2023-6-16 14:44 编辑

1. 操作流程没问题
2. 这两个实际上分别被pwm7和can1 占用, 需要在dts 里面关掉这两个节点,才可以被导出并使用,补丁如下
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
index 8492792422b..283fe34a0c1 100644
--- 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
@@ -166,7 +166,7 @@
};

&can1{
-       status = "okay";
+       status = "disabled";
};

&pcie30phy {
@@ -244,7 +244,7 @@
};

&pwm7 {
-    status = "okay";
+    status = "disabled";
};

&sata2 {
3. 如何知道gpio 是否被占用
cat /sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinmux-pins
pin 19 (gpio0-19): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 20 (gpio0-20): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 21 (gpio0-21): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 22 (gpio0-22): (MUX UNCLAIMED) gpio0:22

pin 21 (gpio0-21): (MUX UNCLAIMED) (GPIO UNCLAIMED) 类似mux 和gpio 都是UNCLAIMED则未被其他功能占用和gpio申请
页: [1]
查看完整版本: ROC-RK3568-PC SE主板GPIO不能正常输出高电平,是不是GPIO被占用了,怎么解除占用?