我在基于iMX6的电路板上工作,我正在尝试配置许多用作芯片使能和复位线的GPIO。根据我所做的研究,处理此问题的方法是通过设备树中的gpio-reset驱动程序。根据文档,我提出了下面编译的代码,但我不确定如何从用户空间控制这些重置行。
我使用的第一个设备树驱动程序是gpio-leds,它在sys / class中创建了一个带有控制LED的节点的leds文件夹。但是,我没有看到任何类似的重置。所以我有两个问题:
1)GPIO-RESET是否用于控制复位线,启用线等的正确绑定。
2)是否有关于如何从用户空间处理此绑定和其他绑定的文档,类似于我如何控制GPIO-LED?
内核:Linux buildroot 4.1.15
/dts-v1/;
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/omap.h>
#include "imx6ul.dtsi"
/ {
model = "Freescale i.MX6 UltraLite 14x14 EVK Board";
compatible = "fsl,imx6ul-14x14-evk", "fsl,imx6ul";
memory {
reg = <0x80000000 0x20000000>;
};
/* Reset Line Configuration */
gpio_resets {
compatible = "linux,gpio-reset";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpioreset>;
gnss {
gpios = <&gpio1 4 0>;
asserted-state = <0>;
duration-ms = <100>;
auto;
};
};
...
};
&iomuxc {
pinctrl-names = "default";
imx6ul-evk {
pinctrl_gpioreset:
gpiorstgrp {
fsl,pins = <
MX6UL_PAD_GPIO1_IO04__GPIO1_IO04 0x000010B0 /* GNSS RESET_N */
>;
};
...
};
答案 0 :(得分:0)
我也一直在寻找这样的司机。
我可以看到有一个专门针对此的提案:
https://lwn.net/Articles/585145/
但我在我的内核版本中找不到它(跟踪 5.4.y 版本)。
仅在一些陈旧的 imx6 内核中:https://github.com/samnazarko/linux-imx6/blob/master/Documentation/devicetree/bindings/reset/gpio-reset.txt
所以我要么
shot
文件写入一次会导致引脚在可配置时间内进行一次切换。)