From mboxrd@z Thu Jan 1 00:00:00 1970 From: zonque@gmail.com (Daniel Mack) Date: Sun, 28 Oct 2012 23:58:21 +0100 Subject: [PATCH 2/5] ARM: PXA: Zipit Z2: Add USB host and device support In-Reply-To: References: <1351438555-4668-1-git-send-email-anarsoul@gmail.com> <1351438555-4668-2-git-send-email-anarsoul@gmail.com> <201210282259.46491.marex@denx.de> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Oct 28, 2012 11:44 PM, "Vasily Khoruzhick" wrote: > > On Mon, Oct 29, 2012 at 12:59 AM, Marek Vasut wrote: > > Dear Vasily Khoruzhick, > > > > missing commit message. > > OK > > >> Signed-off-by: Vasily Khoruzhick > >> --- > >> arch/arm/mach-pxa/z2.c | 52 > >> ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 > >> insertions(+) > >> > >> diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c > >> index c97485f..ce90fa9 100644 > >> --- a/arch/arm/mach-pxa/z2.c > >> +++ b/arch/arm/mach-pxa/z2.c > >> @@ -41,6 +41,9 @@ > >> #include > >> #include > >> #include > >> +#include > >> +#include > >> +#include > >> > >> #include "generic.h" > >> #include "devices.h" > >> @@ -680,6 +683,52 @@ static void __init z2_pmic_init(void) > >> static inline void z2_pmic_init(void) {} > >> #endif > >> > >> +/************************************************************************* > >> ***** + * USB Switch > >> + > >> ************************************************************************** > >> ****/ +static struct platform_device z2_usb_switch = { > >> + .name = "z2-usb-switch", > >> + .id = -1, > >> +}; > >> + > >> +static void __init z2_usb_switch_init(void) > >> +{ > >> + platform_device_register(&z2_usb_switch); > >> +} > >> + > >> +/************************************************************************* > >> ***** + * USB Gadget > >> + > >> ************************************************************************** > >> ****/ +#if defined(CONFIG_USB_GADGET_PXA27X) \ > >> + || defined(CONFIG_USB_GADGET_PXA27X_MODULE) > >> +static int z2_udc_is_connected(void) > >> +{ > >> + return 1; > >> +} > >> + > >> +static struct pxa2xx_udc_mach_info z2_udc_info __initdata = { > >> + .udc_is_connected = z2_udc_is_connected, > >> + .gpio_pullup = -1, > >> +}; > >> + > >> +static void __init z2_udc_init(void) > >> +{ > >> + pxa_set_udc_info(&z2_udc_info); > >> +} > >> +#else > >> +static inline void z2_udc_init(void) {} > >> +#endif > > > > We really should work on the DT here. > > Any volunteers? :) It requires huge amount of work, Well, it's actually quite straight forward. With the changes that got merged to 3.7, pxa3xx platforms boot, and I also ported some pxa specific peripheral drivers that should work for both 2xx and 3xx. Adding CPU support for 27x should also just be a matter of some extra lines. So I would clearly say you should give the DT approach a try first and see which bits are missing. And I would vote for not taking any new features for the legay board support files but just bugfixes. > and right now my goal > is to get every piece of Z2 HW working with vanilla kernel, before those changes > are lost in my github repo. I see no advantages in moving Z2 to DT except > self-education. I'm OK with DT, but it needs some time. Let's get non-DT > version working properly first. At least there is a reference :-) For mainline though, things should be done right in the first place. Daniel > > >> +/************************************************************************* > >> ***** + * USB Host (OHCI) > >> + > >> ************************************************************************** > >> ****/ +static struct pxaohci_platform_data z2_ohci_platform_data = { > >> + .port_mode = PMM_PERPORT_MODE, > >> + .flags = ENABLE_PORT2 | NO_OC_PROTECTION, > >> + .power_on_delay = 10, > >> + .power_budget = 500, > >> +}; > >> + > >> #ifdef CONFIG_PM > >> static void z2_power_off(void) > >> { > >> @@ -705,10 +754,12 @@ static void __init z2_init(void) > >> pxa_set_ffuart_info(NULL); > >> pxa_set_btuart_info(NULL); > >> pxa_set_stuart_info(NULL); > >> + pxa_set_ohci_info(&z2_ohci_platform_data); > >> > >> z2_lcd_init(); > >> z2_mmc_init(); > >> z2_mkp_init(); > >> + z2_udc_init(); > > > > This patch adds _host_ ? So why do you have udc in here ? > > Both, host and device. > > > Besides, pxa_set_ohci_info() should also be wrapped in some z2_uhc_init() > > OK > > >> z2_i2c_init(); > >> z2_spi_init(); > >> z2_nor_init(); > >> @@ -716,6 +767,7 @@ static void __init z2_init(void) > >> z2_leds_init(); > >> z2_keys_init(); > >> z2_pmic_init(); > >> + z2_usb_switch_init(); > >> > >> pm_power_off = z2_power_off; > >> } > > > > Best regards, > > Marek Vasut > > Regards > Vasily > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -------------- next part -------------- An HTML attachment was scrubbed... URL: