This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM3352: GPIO3 wakeup from standby

Part Number: AM3352

Tool/software: Linux

Dear champs,

It seemed GPIO3 can be used as wakeup source at standby mode, but my customer failed to implement wakeup.

Is it possible to use GPIO3 for wakeup source at standby mode?

My customer implemented it referring below e2e, but failed to make it working.

my customer implemented it as below.

they added red color parts in dts file as below.

linux/arch/arm/boot/dts/am33xx.dtsi

gpio3: gpio@481ae000 {

                        compatible = "ti,omap4-gpio";

                        ti,hwmods = "gpio4";

                        gpio-controller;

                        #gpio-cells = <2>;

                        interrupt-controller;

                        #interrupt-cells = <2>;

                        reg = <0x481ae000 0x1000>;

                        interrupts = <62>;

                        ti,no-idle;

                };

 

linux/arch/arm/boot/dts/am335x-boneblack.dts

mcasp0_pins_sleep: mcasp0_pins_sleep {

                pinctrl-single,pins = <

                        0x1ac (PIN_INPUT_PULLDOWN | MUX_MODE7)  /* mcasp0_ahclkx.mcasp0_ahclkx */

                        0x19c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* mcasp0_ahclkr.mcasp0_axr2 */

                        0x194 (PIN_INPUT_PULLDOWN | MUX_MODE7)  /* mcasp0_fsx.mcasp0_fsx */

                        0x190 (PIN_INPUT_PULLDOWN | MUX_MODE7)  /* mcasp0_aclkx.mcasp0_aclkx */

                        0x06c (PIN_INPUT_PULLDOWN | MUX_MODE7)  /* gpmc_a11.GPIO1_27 */

                >;

        };

 

        gpio3_pins: pinmux_gpio3_pins {

                pinctrl-single,pins = <

                        0x1a4 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* Set GPIO3_19 */

                        0x1ac (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* Set GPIO3_21 */

                >;

        };

 

gpio_buttons: gpio_buttons@0 {

                compatible = "gpio-keys";

                #address-cells = <1>;

                #size-cells = <0>;

                switch@1 {

                       label = "button0";

                        linux,code = <0x102>;

                        gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;

                        gpio-key,wakeup;

                };

};

};

Could you please check what is wrong in their modification?

Their SW is as below.

PDK : 02.00.01.07

u-boot : u-boot-2015.07+gitAUTOINC+5922e09363

kernel : linux-4.1.13+gitAUTOINC+8dc66170d9-g8dc6617

M3 : CM3 Firmware Version = 0x191

Thanks and Best Regards,

SI.

  • Hi Sung,

    Sung-IL said:
    Is it possible to use GPIO3 for wakeup source at standby mode?

    Yes

    Sung-IL said:

    gpio3_pins: pinmux_gpio3_pins {

                    pinctrl-single,pins = <

                            0x1a4 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* Set GPIO3_19 */

                            0x1ac (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* Set GPIO3_21 */

                    >;

            };

    The gpio3 pin that is planned for wakeup source should be input. You should probe with scope that you have a valid wakeup signal coming on that pin.

    Check also below pointers:

    Regards,
    Pavel