AnsweredAssumed Answered

IMX287 - Intenal pullup on an input GPIO pin didnt bring it to 3.3V

Question asked by Thiagaraja Muralidaran on Apr 6, 2015
Latest reply on Apr 9, 2015 by Thiagaraja Muralidaran

I am trying the pullup configuration of the pin GPIO2_16 in the IMX28 evaluation kit. This pin is named as SSP2_SCK in the EVK and it is not terminated, basically it is floating. I wrote a Linux driver and configured this pin as input and enabled the internal pullup. Following is the code extract of my driver,

 

#define GPIO_2_16               16

 

/*  Set GPIO2_16 as GPIO pin*/

__raw_writel(BF_PINCTRL_MUXSEL5_BANK2_PIN16(3), IO_ADDRESS(PINCTRL_PHYS_ADDR) + HW_PINCTRL_MUXSEL5_SET);

/* Set GPI02_16 as input*/

__raw_writel((1<<GPIO_2_16),IO_ADDRESS(PINCTRL_PHYS_ADDR) + HW_PINCTRL_DOE2_CLR);

/* Enable Pullup */

  __raw_writel((1<<GPIO_2_16),IO_ADDRESS(PINCTRL_PHYS_ADDR) + HW_PINCTRL_PULL2_SET);

 

After this I checked the voltage at the pin GPIO2_16, I am expecting to see the voltage of 3.3V since I enabled internal pullup.  But I see the voltage of 0V.  Am I wrong in assuming that the internal pullup should bring voltage to 3.3 V when that pin is floating? Or are any configurations are required to enable the internal pull up properly?

 

Thanks in advance

Murali

Outcomes