首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >设备树中的Gpio hog是什么?

设备树中的Gpio hog是什么?
EN

Stack Overflow用户
提问于 2017-08-28 04:57:55
回答 2查看 14K关注 0票数 7

我试图在设备树中为am335设置一个引脚模式。我在设备树中更改pinmux节点如下所示。

代码语言:javascript
运行
复制
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

EN

回答 2

Stack Overflow用户

发布于 2017-09-11 11:31:04

在将pinmux配置到下面之后:

代码语言:javascript
运行
复制
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. 在这个文件/sys/kernel/debug/pinctrl/44e10800.pinmux/pins中0x44E10848和0x44E10878的值是多少(应该是00000007 pinctrl)

gpio-hog是一个gpio节点属性,它告诉gpio控制器在引导期间将引脚设置为高/低。

举个例子,举个例子,举个例子:

代码语言:javascript
运行
复制
    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";
        };
    };

举个例子把销钉拉得低一点:

代码语言:javascript
运行
复制
    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";
        };

    };

你可以参考更多关于gpio-hog在1。

1

票数 11
EN

Stack Overflow用户

发布于 2017-09-01 09:25:09

内核版本4.8.13是后面的版本之一,您不需要设备树覆盖来更改GPIO的配置。您可以简单地使用congif-pin实用程序。

引用这里的话:

配置引脚实用程序-要更改引脚的pinmux设置,现在不需要设备树覆盖(4.4+内核),您可以简单地使用“配置-引脚”实用程序。要配置引脚,只需知道它在板上的位置,因此要更改pin的mux设置,例如,P8_46 $ config-pin -l P8_46 输出显示可用引脚模式的空格分隔列表,如下所示: $默认gpio gpio_pu gpio_pd 现在要改变pinmode,例如,pruout。 $ config-pin P8_46 pruout 这将在P8_46将引脚配置为pru_output模式。进一步的状态的引脚可以知道‘配置-别针-i’,这将提供详细的输出。 $ config-pin -i P8_46 Pin名称: P8_46函数如果没有角加载: hdmi函数如果角加载:默认GPIO gpio_pu gpio_pd pruout pruin pwm函数信息: lcd_data1默认gpio2_7 pr1_pru1_pru_r30_1 pr1_pru1_pru_r31_1 ehrpwm2B Cape: cape -hdmi内核gpio id: 71 PRU GPIO id: 103pru GPIO id:103个

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45911995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档