Page 1 of 1

Luckfox Pico Mini B 如何配置GPIO输入输出,高低电平永久生效?

Posted: 2025-06-10 9:27
by XDU_stu
按照文档的方式进行配置重启以后就要重新进行配置,图片是我在设备树上进行的配置,但是编译报错了。

Re: Luckfox Pico Mini B 如何配置GPIO输入输出,高低电平永久生效?

Posted: 2025-06-11 8:56
by Crocodile
您好,需要间GPIO再内核加载时默认输入高电平或低电平需要将其作为一个类似电源regulator 进行管理,设备树设置如下:
1 在设备树根路径下(/{ }中括号中)创建一个新的节点

Code: Select all

	gpioXpXX:gpioXpXX {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&gpioX_pXX>;
		regulator-name = "gpioX_pXX";
		regulator-always-on;
	};
2 设置pinctrl 让他输出高电平或低电平

Code: Select all

&pinctrl{
	gpio {
		gpioX_pXX:gpioX-pXX {
			rockchip,pins = <X RK_PXX RK_FUNC_GPIO &pcfg_pull_none>;
			//pcfg_pull_up  默认高电平
			//pcfg_pull_down 默认低电平
		};
	};
};
可以参考 rv1103g-luckfox-pico.dts

Re: Luckfox Pico Mini B 如何配置GPIO输入输出,高低电平永久生效?

Posted: 2025-06-13 1:52
by XDU_stu
如果要设置GPIO为输入模式呢?

Re: Luckfox Pico Mini B 如何配置GPIO输入输出,高低电平永久生效?

Posted: 2025-06-13 2:08
by XDU_stu
[root@luckfox ]# find -name 'gpio1*'
./sys/devices/platform/gpio1pc3
./sys/firmware/devicetree/base/aliases/gpio1
./sys/firmware/devicetree/base/gpio1pc3
./sys/firmware/devicetree/base/pinctrl/gpio/gpio1-pc3
./sys/firmware/devicetree/base/pinctrl/gpio1-pc7
./sys/firmware/devicetree/base/pinctrl/gpio1-pc7/gpio1-pc7
./sys/bus/platform/devices/gpio1pc3
./sys/bus/platform/drivers/reg-fixed-voltage/gpio1pc3

找到了上述文件,请问如果要改变电平应该对哪个文件进行操作呢?

Re: Luckfox Pico Mini B 如何配置GPIO输入输出,高低电平永久生效?

Posted: 2025-06-13 6:52
by Crocodile
改变电平就需要修改设备树的rockchip,pins,高电平配置为 pcfg_pull_up 低电平配置为 pcfg_pull_down, 需要动态修改建议不要注册为regulator 直接用sysfs的方式在 /sys/class/gpio 下操作,然后写一个启动脚本每次开机时配置一下电平,写在设备树中和开机脚本只有执行顺序的差别。
配置成 input 需要结合使用场景搭配驱动,比如注册成按键电平变化时上报事件到/dev/input/eventX,建议需求比较简单也用开机脚本实现