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.

possible wake up sources from standby?

Hello team,

what are the possible wake up sources from standby mode? We are a little bit confused from TecRefManual Spruh73f:

8.1.4.5 Wakeup Sources/Events

Following events will wake up the device from Deep sleep(low power) modes. These are part of the

Wakeup Power domain and remain always ON.

• GPIO0 bank

• dmtimer1_1ms (timer based wakeup)

• USB2PHY (USB resume signaling from suspend) – Both USB ports supported.

• TSC (touch screen controller, ADC monitor functions )

• UART0 (Infra-red support)

• I2C0

These wake events apply on any of the deep sleep modes and standby mode.

 

so this are possible wake up sources

8.1.4.6.2 Sleep Sequencing

6. Any peripheral interrupt will trigger a wake interrupt to CortexM3 via Cortex A8 MPU’s WKUP signal

(INTR2 shown on the diagram).

 

so any peripherial interrupt can be used to wake up from standby

 

25.1.3 Unsupported GPIO Features

The wake-up feature of the GPIO modules is only supported on GPIO0.

 

so only GPIO0 ports are able to wake up


From test we know that e.g. GPIO1.28 is able to wake up system from standby.

Can anybody provide clarification on which peripherial are able to wake up from standby?

  • hi,Klaus:

              how I can set gpio0 wake up in linux, I do that this:

             static struct gpio_keys_button lcd_cape_gpio_buttons[] = {
        {
            .code                   = KEY_BACK,
            .gpio                   = GPIO_TO_PIN(0, 16),
            .active_low             = true,
            .desc                   = "back",
            .type                   = EV_KEY,
            .wakeup                 = 1,
        },
        {
            .code                   = KEY_MENU,
            .gpio                   = GPIO_TO_PIN(0, 17),
            .active_low             = true,
            .desc                   = "menu",
            .type                   = EV_KEY,
            .wakeup                 = 1,
        },
        {
            .code                   = KEY_POWER,
            .gpio                   = GPIO_TO_PIN(0, 31),
            .active_low             = true,
            .desc                   = "power",
            .type                   = EV_KEY,
            .wakeup                 = 1,
        },
    };

       but I can't wake up from these KEY, pls give me more info.

       other question, as I know we should set register to configure wake up function,which file in linux bsp do this work?

  • Hi,

    I suppose you want to wakeup from standby through gpio0.

    Please refer the wiki page below for the kernel and CM3 firmware versions to be used for standby support on AM335x.

    http://processors.wiki.ti.com/index.php/AM335x_Power_Management_Standby_User%27s_Guide

    In standby, wakeup is possible via any peripheral interrupt (any activity on gpio0 key that can generate an interrupt ) to Cortex-A8.

    Regards

    Sandhya

  • Follow up question. In the datasheet it reads "Up to Two Interrupt Inputs per Bank.",  does this mean that only 2 GPIO's (of BANK0) can be used to wake from deepsleep0?

    Or can any number of pins be used to trigger a wakeup and later be read to know where it came from?