微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

设备树覆盖设置启动时的默认 GPIO 状态

如何解决设备树覆盖设置启动时的默认 GPIO 状态

我想使用 gpio 重置外部设备。当 GPIO 为低电平时,它将被复位。我想先设置一个认值,然后再使用我的自定义代码进行设置。

在我的 dtsi 中,我有当前的 GPIO 控制器:

gpio1: gpio@30200000 {
    compatible = "fsl,imx8mm-gpio","fsl,imx35-gpio";
    reg = <0x30200000 0x10000>;
    interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,<GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
    clocks = <&clk IMX8MM_CLK_GPIO1_ROOT>;
    gpio-controller;
    #gpio-cells = <2>;
    interrupt-controller;
    #interrupt-cells = <2>;
    gpio-ranges = <&iomuxc 0 10 30>;
};

&iomuxc {
    pinctrl_gpio5: gpio5grp {
        fsl,pins = <
            /* SODIMM 216 Reset MCU sync */
            MX8MM_IOMUXC_GPIO1_IO00_GPIO1_IO0       0x034
        >;
    };
};

为了设置认值,我首先在我的设备树覆盖中定义了一个猪:

&gpio1 { 
    syncmcu_reset {
        gpio-hog;
        gpios = <0 GPIO_ACTIVE_LOW>;
        line-name = "MCU_RESET#"; 
        output-low;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_gpio5>;
    };
};

GPIO 设置正确,但我无法再修改 GPIO 值。在不占用它们的情况下设置 GPIO 认状态的正确方法是什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。