设备树覆盖设置启动时的默认 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 (将#修改为@)