gpt4 book ai didi

linux - 设备树中的 Gpio hog 是什么?

转载 作者:IT王子 更新时间:2023-10-29 01:20:17 39 4
gpt4 key购买 nike

我正在尝试在设备树中为 am335 设置引脚模式。我如下更改设备树中的 pinmux 节点。

pinctrl_test: pinctrl_test_pins {
pinctrl-single,pins = <
0x078 0x07 /* P9_12 OUTPUT | MODE7 | PULLDOWN */
0x048 0x07 /* P9_14 OUTPUT | MODE7 | PULLDOWN */
>;
}

但我在 /sys/kernel/debug/pinctrl/44e10800.pinmux/pins 中没有看到任何变化。

我找到了一些关于 GPIO -HOG 的信息,但找不到好的文档。

我使用的内核版本是4.8.13

最佳答案

配置pinmux后如下:

pinctrl_test: pinctrl_test_pins {
pinctrl-single,pins = <
0x078 0x07 /* P9_12 OUTPUT | MODE7 | PULLDOWN */
0x048 0x07 /* P9_14 OUTPUT | MODE7 | PULLDOWN */
>;
}
  1. 您是否重新编译为 dtb?
  2. 0x44E10848 的值是多少和此文件中的 0x44E10878/sys/kernel/debug/pinctrl/44e10800.pinmux/pins(应该是 00000007pinctrl-单)

gpio-hog 是一个 gpio 节点属性,它告诉 gpio Controller 在启动期间将引脚设置为高电平/低电平。

高举别针的例子:

    gpio@4805b000 {
compatible = "ti,omap4-gpio";
reg = <0x4805b000 0x200>;
interrupts = <0x0 0x1c 0x4>;
ti,hwmods = "gpio5";
gpio-controller;
#gpio-cells = <0x2>;
interrupt-controller;
#interrupt-cells = <0x2>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <0xaf>;

p12 {
gpio-hog;
gpios = <0xc 0x0>;
output-high;
line-name = "vb4-gpio5-12-gpio";
};
};

将引脚置低的示例:

    gpio@48053000 {
compatible = "ti,omap4-gpio";
reg = <0x48053000 0x200>;
interrupts = <0x0 0x74 0x4>;
ti,hwmods = "gpio8";
gpio-controller;
#gpio-cells = <0x2>;
interrupt-controller;
#interrupt-cells = <0x2>;
status = "okay";

p0 {
gpio-hog;
gpios = <0x0 0x0>;
output-low;
line-name = "vb4-gpio8-0-gpio";
};

};

您可以在 [1] 引用更多关于 gpio-hog 的信息。

[1] https://www.kernel.org/doc/Documentation/devicetree/bindings/gpio/gpio.txt

关于linux - 设备树中的 Gpio hog 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45911995/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com