Skip to content

Commit

Permalink
PXA UDC - allow use of inverted GPIO for pullup
Browse files Browse the repository at this point in the history
Signed-off-by: Ian Molton <spyro@f2s.com>
  • Loading branch information
Ian Molton committed Jul 10, 2008
1 parent b3d354b commit 8fb105f
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
6 changes: 4 additions & 2 deletions drivers/usb/gadget/pxa25x_udc.c
Original file line number Diff line number Diff line change
Expand Up @@ -152,19 +152,21 @@ static int is_vbus_present(void)
static void pullup_off(void)
{
struct pxa2xx_udc_mach_info *mach = the_controller->mach;
int off_level = mach->gpio_pullup_inverted;

if (mach->gpio_pullup)
gpio_set_value(mach->gpio_pullup, 0);
gpio_set_value(mach->gpio_pullup, off_level);
else if (mach->udc_command)
mach->udc_command(PXA2XX_UDC_CMD_DISCONNECT);
}

static void pullup_on(void)
{
struct pxa2xx_udc_mach_info *mach = the_controller->mach;
int on_level = !mach->gpio_pullup_inverted;

if (mach->gpio_pullup)
gpio_set_value(mach->gpio_pullup, 1);
gpio_set_value(mach->gpio_pullup, on_level);
else if (mach->udc_command)
mach->udc_command(PXA2XX_UDC_CMD_CONNECT);
}
Expand Down
1 change: 1 addition & 0 deletions include/asm-arm/mach/udc_pxa2xx.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ struct pxa2xx_udc_mach_info {
*/
bool gpio_vbus_inverted;
u16 gpio_vbus; /* high == vbus present */
bool gpio_pullup_inverted;
u16 gpio_pullup; /* high == pullup activated */
};

0 comments on commit 8fb105f

Please sign in to comment.