我正在基於iMX6的電路板上工作,並且正在嘗試配置一些正在用作芯片啓用和重置線路的GPIO。根據我所做的研究,處理這個問題的方法是通過設備樹中的gpio-reset驅動程序。下面的文檔我已經拿出了下面的代碼編譯,但我不知道如何從用戶空間控制這些重置行。設備樹GPIO重置
我使用的第一個設備樹驅動程序是gpio-leds,它在sys/class中創建了一個leds文件夾,並帶有節點來控制LED。但是我沒有看到任何類似的重置。所以,我有2個問題:
1)是GPIO復位正確的綁定使用控制復位線,使線等
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 */
>;
};
...
};
要使用的API將取決於您忽略提及的內核版本。您是否考慮將它們中的任何一個納入設備驅動程序(即*「芯片啓用和重置行」*看起來像它們可能與設備相關),而不是獨立的GPIO? – sawdust
如果你的配置是正確的,你會看到/ sys/class/gpio/gpioNUMBER –
sawdust下的設備節點 - 這些將成爲不需要驅動程序的設備的基本啓用行,這就是我查找的原因在使用gpio-reset時,但也許有更好的方法。 –