4 Replies Latest reply on Mar 24, 2017 1:36 AM by tbt_pc

    strange behavior of GPIO P33:

    tbt_pc

       

      We use the BCM20736S and we found some strange behavior of GPIO P33:

       

      We want/must to use this GPIO P33 as an ADC input.

       

      After power on or reset everything is OK, but after wakeup from LPM this GPIO is set to output !!!

       

      (see following trace logs)

       

       

      What is the reason for this ?

      How could we avoid this? Is there a software workaround?

       

      We don't want to change our hardware PCB design (if possible)!

       

       

      Trace (C-code):

       

      UINT16 cfg1 = gpio_getPinConfig( 0, 4);

       

      UINT16 cfg1a = gpio_getPinConfig( 0, 8);

       

      UINT16 cfg2 = gpio_getPinConfig( 2, 0);

       

      UINT16 cfg2a = gpio_getPinConfig( 2, 1);

       

       

       

       

      ble_trace2("cfg1:%02x  cfg1a:%02x", cfg1, cfg1a);

       

      ble_trace2("cfg2:%02x  cfg2a:%02x", cfg2, cfg2a);

       

       

       

      After PwrOn/Reset:

       

      12:45:00 - CreateFnc

       

      12:45:00 - cfg1:600  cfg1a:600

       

      12:45:00 - cfg2:600  cfg2a:600

       

      12:45:00 - SetLpm

       

      12:45:00 - cfg1:0b  cfg1a:600

       

      12:45:00 - cfg2:0b  cfg2a:600

       

      12:45:00 - Entering Lpm.

       

       

      After wakeup:

       

      12:46:11 - CreateFnc

       

      12:46:11 - cfg1:0b  cfg1a:600

       

      12:46:11 - cfg2:0b  cfg2a:4600  // why is this GPIO P33 now set to output ??? !!!