[PATCH] Voipac PXA270: UDC and UHC support

Robert Jarzmik robert.jarzmik at free.fr
Fri Mar 12 12:49:54 EST 2010


Marek Vasut <marek.vasut at gmail.com> writes:

> Dne St 10. března 2010 05:43:00 Marek Vasut napsal(a):
>> Hi,
>> this patch adds UDC and UHC support (and formating fix, I hope you dont
>>  mind Eric).
>> 
>> Signed-off-by: Marek Vasut <marek.vasut at gmail.com>
>> 
> revised patch

snip
> +/******************************************************************************
> + * USB Gadget
> + ******************************************************************************/
> +#if defined(CONFIG_USB_GADGET_PXA27X)||defined(CONFIG_USB_GADGET_PXA27X_MODULE)
> +static struct pxa2xx_udc_mach_info vpac270_udc_info __initdata = {
> +	.gpio_vbus		= GPIO41_VPAC270_UDC_DETECT,
> +};
That won't work I think. gpio_vbus is not dealt with by pxa27x_udc.
The way to go would rather be something like :

#include <linux/usb/gpio_vbus.h>
static struct pxa2xx_udc_mach_info vpac270_udc_info __initdata = {
        .gpio_pullup      = <to be filled in>,
};

struct gpio_vbus_mach_info gpio_vbus_data = {
        .gpio_vbus = GPIO41_VPAC270_UDC_DETECT,
        .gpio_vbus_inverted = 0,
        .gpio_pullup = -1,
};

Add add a "gpio_vbus" device, with platform_data set to gpio_vbus_data.

As a matter of fact, there are not a lot of cases where an UDC can work without :
 - a GPIO for pullup
 - or the udc_command() callback implemented
The only working case I see is a hardwired D+ pin to the Vdd, but that seems an
exterme in board design I've never met before. This lets me think you should
find and the add the correct GPIO for pullup.

Cheers.

--
Robert



More information about the linux-arm-kernel mailing list