i.MX28 5V0 voltage regulator powering an USB interface (GPIO pin)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX28 5V0 voltage regulator powering an USB interface (GPIO pin)

Jump to solution
1,308 Views
gordanmarkus
Contributor II

Hello,

I'm currently experiencing issues trying to use one of i.MX28 GPIO pins to produce a 5V output (using a voltage regulator) in order to power an USB interface (a camera board to be precise). This is a custom board and the USB power pin in question is GPIO3_28 (MX28_PAD_PWM3__GPIO_3_28) and the over-current pin is connected to GPIO3_18 (MX28_PAD_PWM2__USB1_OVERCURRENT). The kernel in question is 3.14-rc5

The device tree definitions vital to this issue are the following:

PIN DEFINITIONS:

pinctrl@80018000 {

  pinctrl-names = "default";

  pinctrl-0 = <&hog_pins_a>;


hog_pins_a: hog@0 {

  reg = <0>;

  fsl,pinmux-ids = <

       0x2053 /* MX28_PAD_SSP0_DATA5__GPIO_2_5 */

       0x2063 /* MX28_PAD_SSP0_DATA6__GPIO_2_6 */

       0x2073 /* MX28_PAD_SSP0_DATA7__GPIO_2_7 */

       0x3043 /* MX28_PAD_AUART1_RX__GPIO_3_4 */

       0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */

       0x31c3  /* MX28_PAD_PWM3__GPIO_3_28 */    

       >;

  fsl,drive-strength = <MXS_DRIVE_4mA>;

  fsl,voltage = <MXS_VOLTAGE_HIGH>;

  fsl,pull-up = <MXS_PULL_DISABLE>;

  };

usbphy1_pins: usbphy1-pins {

  fsl,pinmux-ids = <

       MX28_PAD_PWM2__USB1_OVERCURRENT

  >;

  fsl,drive-strength = <MXS_DRIVE_12mA>;

  fsl,voltage = <MXS_VOLTAGE_HIGH>;

  fsl,pull-up = <MXS_PULL_DISABLE>;

  };

USBPHY DEFINITON:

usbphy1: usbphy@8007e000 {

  pinctrl-names = "default";

  pinctrl-0 = <&usbphy1_pins>;

  status = "okay";

  };

USB DEFINITION:

usb1: usb@80090000 {

  vbus-supply = <&reg_usb1_vbus>;

  dr_mode = "host";

  disable-over-current;

  status = "okay";

  };

REGULATOR DEFINITION:

reg_usb1_vbus: usb1_vbus {

  compatible = "regulator-fixed";

  regulator-name = "usb1_vbus";

  regulator-min-microvolt = <5000000>;

  regulator-max-microvolt = <5000000>;

  gpio = <&gpio3 28 0>;

  enable-active-high;

  };

IFCONFIG:

(usb0 -> ../../devices/soc0/80080000.ahb/80090000.usb/ci_hdrc.1/usb2/2-1/2-1:1.0/net/usb0)

usb0   Link encap:Ethernet  HWaddr 8A:D8:73:29:3F:F5

          inet addr:172.16.245.114  Bcast:172.16.255.255  Mask:255.255.0.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:0 (0.0 B)  TX bytes:3919 (3.8 KiB)

The USB device is recognized (ci_hdrc device) but the voltage that I measure is 3V3 and not 5V0.  Maybe I am overlooking the bindings from USB/PHY driver to the regulator. I would gladly appreciate any help with this issue.

Regards,

Gordan Markuš

Labels (2)
1 Solution
833 Views
gusarambula
NXP TechSupport
NXP TechSupport

Unfortunately the PWM pins cannot provide 5V. The wording on the datasheet may be misinterpreted as it does not provide enough information on this feature.

“PMU Generates USB-Host 5-V from Li-Ion battery (using PWM).”

http://cache.freescale.com/files/32bit/doc/data_sheet/IMX28CEC.pdf

This means that the PWM pins may be used to feed a switching circuitry or switching regulator to provide the 5V required by the USB-Host. However, we do not have an application note or example of this implementation.

I apologize for the confusion.

View solution in original post

2 Replies
834 Views
gusarambula
NXP TechSupport
NXP TechSupport

Unfortunately the PWM pins cannot provide 5V. The wording on the datasheet may be misinterpreted as it does not provide enough information on this feature.

“PMU Generates USB-Host 5-V from Li-Ion battery (using PWM).”

http://cache.freescale.com/files/32bit/doc/data_sheet/IMX28CEC.pdf

This means that the PWM pins may be used to feed a switching circuitry or switching regulator to provide the 5V required by the USB-Host. However, we do not have an application note or example of this implementation.

I apologize for the confusion.

833 Views
gordanmarkus
Contributor II

Thank you for your answer. After doing some research on my own I've came to the same conclusion. This is highly unfortunate.

Regards,

Gordan Markuš

0 Kudos