From: <z7...@us...> - 2007-09-12 10:10:09
|
Revision: 1306 http://hackndev.svn.sourceforge.net/hackndev/?rev=1306&view=rev Author: z72ka Date: 2007-09-12 03:10:03 -0700 (Wed, 12 Sep 2007) Log Message: ----------- palmz72: Updated defconfig (added border driver as module, GPIO udc driver), updated USB to GPIO udc driver - better USB initializing Modified Paths: -------------- linux4palm/linux/trunk/arch/arm/configs/palmz72_defconfig linux4palm/linux/trunk/arch/arm/mach-pxa/palmz72/palmz72.c Modified: linux4palm/linux/trunk/arch/arm/configs/palmz72_defconfig =================================================================== --- linux4palm/linux/trunk/arch/arm/configs/palmz72_defconfig 2007-09-12 08:23:07 UTC (rev 1305) +++ linux4palm/linux/trunk/arch/arm/configs/palmz72_defconfig 2007-09-12 10:10:03 UTC (rev 1306) @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-hnd2 -# Tue Jul 17 01:10:55 2007 +# Linux kernel version: 2.6.21-hnd3 +# Wed Sep 12 11:26:32 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -165,31 +165,32 @@ # CONFIG_MACH_MAGICIAN is not set # CONFIG_MACH_HTCAPACHE is not set # CONFIG_MACH_BLUEANGEL is not set -# CONFIG_MACH_HTCBEETLES is not set -# CONFIG_MACH_HW6900 is not set +# CONFIG_HTC_HW6X00 is not set # CONFIG_MACH_HTCATHENA is not set # CONFIG_ARCH_AXIMX3 is not set # CONFIG_ARCH_AXIMX5 is not set # CONFIG_MACH_X50 is not set # CONFIG_ARCH_ROVERP1 is not set # CONFIG_ARCH_ROVERP5P is not set -# CONFIG_MACH_XSCALE_PALMLD is not set -# CONFIG_MACH_XSCALE_PALMTREO650 is not set -# CONFIG_MACH_XSCALE_TREO680 is not set -# CONFIG_MACH_T700WX is not set # CONFIG_MACH_TUNGE2 is not set +# CONFIG_MACH_OMAP_PALMTC is not set # CONFIG_MACH_T3XSCALE is not set # CONFIG_MACH_XSCALE_PALMTT5 is not set # CONFIG_MACH_XSCALE_PALMTX is not set +# CONFIG_MACH_XSCALE_PALMLD is not set +# CONFIG_MACH_ZIRE31 is not set +CONFIG_GPIOED=m +CONFIG_GPIOEDNG=m CONFIG_MACH_PALMZ72=y CONFIG_PALMZ72_PM=y CONFIG_PALMZ72_BATTERY=m -# CONFIG_MACH_OMAP_PALMTC is not set -# CONFIG_MACH_ZIRE31 is not set -CONFIG_GPIOED=m -CONFIG_GPIOEDNG=m +CONFIG_PALMZ72_BORDER=m +# CONFIG_MACH_XSCALE_PALMTREO650 is not set +# CONFIG_MACH_XSCALE_TREO680 is not set +# CONFIG_MACH_T700WX is not set # CONFIG_MACH_GHI270HG is not set # CONFIG_MACH_GHI270 is not set +# CONFIG_MACH_LOOXC550 is not set # CONFIG_PXA_SHARPSL is not set # CONFIG_MACH_TRIZEPS4 is not set CONFIG_PXA27x=y @@ -839,11 +840,22 @@ # CONFIG_ADC is not set # +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_SLEEVE_DEBUG is not set + +# # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # CONFIG_HTC_ASIC2 is not set # CONFIG_HTC_ASIC3 is not set +# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_EGPIO is not set # CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_SAMCOP is not set @@ -872,6 +884,7 @@ CONFIG_LEDS_TRIGGER_TIMER=y # CONFIG_LEDS_TRIGGER_HWTIMER is not set CONFIG_LEDS_TRIGGER_MMC_CARD=y +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set # CONFIG_LEDS_TRIGGER_SHARED is not set @@ -914,7 +927,6 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_LCD_CLASS_DEVICE is not set CONFIG_BACKLIGHT_CORGI=y -# CONFIG_BACKLIGHT_PXAPWM is not set CONFIG_FB=y CONFIG_FIRMWARE_EDID=y # CONFIG_FB_DDC is not set @@ -1063,7 +1075,7 @@ CONFIG_USB_G_SERIAL=m # CONFIG_USB_MIDI_GADGET is not set # CONFIG_USB_G_CHAR is not set -# CONFIG_USB_PXA2XX_GPIO is not set +CONFIG_USB_PXA2XX_GPIO=y # # MMC/SD Card support Modified: linux4palm/linux/trunk/arch/arm/mach-pxa/palmz72/palmz72.c =================================================================== --- linux4palm/linux/trunk/arch/arm/mach-pxa/palmz72/palmz72.c 2007-09-12 08:23:07 UTC (rev 1305) +++ linux4palm/linux/trunk/arch/arm/mach-pxa/palmz72/palmz72.c 2007-09-12 10:10:03 UTC (rev 1306) @@ -41,6 +41,7 @@ #include <asm/arch/palmz72-gpio.h> #include <asm/arch/palmz72-init.h> #include <asm/arch/pxa_camera.h> +#include <asm/arch/pxa2xx_udc_gpio.h> #include <sound/driver.h> #include <sound/core.h> @@ -103,39 +104,34 @@ * USB * *******/ -static int palmz72_udc_is_connected(void) +static int palmz72_udc_power( int power ) { - int ret = !(GET_GPIO(GPIO_NR_PALMZ72_USB_DETECT)); - if (ret) - printk (KERN_INFO "palmz72_udc: device detected [USB_DETECT: %d]\n",ret); - else - printk (KERN_INFO "palmz72_udc: no device detected [USB_DETECT: %d]\n",ret); - - return ret; + if (power) { + SET_GPIO(GPIO_NR_PALMZ72_USB_POWER, 1); + SET_GPIO(GPIO_NR_PALMZ72_USB_PULLUP, 1); + } else { + SET_GPIO(GPIO_NR_PALMZ72_USB_PULLUP, 0); + SET_GPIO(GPIO_NR_PALMZ72_USB_POWER, 0); + } + + return power; } -static void palmz72_udc_command (int cmd) -{ - switch (cmd) { - case PXA2XX_UDC_CMD_DISCONNECT: - SET_GPIO(GPIO_NR_PALMZ72_USB_PULLUP, 0); - SET_GPIO(GPIO_NR_PALMZ72_USB_POWER, 0); - printk(KERN_INFO "palmz72_udc: got command PXA2XX_UDC_CMD_DISCONNECT\n"); - break; - case PXA2XX_UDC_CMD_CONNECT: - SET_GPIO(GPIO_NR_PALMZ72_USB_POWER, 1); - SET_GPIO(GPIO_NR_PALMZ72_USB_PULLUP, 1); - printk(KERN_INFO "palmz72_udc: got command PXA2XX_UDC_CMD_CONNECT\n"); - break; - default: - printk("palmz72_udc: unknown command '%d'\n", cmd); - } -} -static struct pxa2xx_udc_mach_info palmz72_udc_mach_info __initdata = { - .udc_is_connected = palmz72_udc_is_connected, - .udc_command = palmz72_udc_command, +struct pxa2xx_udc_gpio_info palmz72_udc_info = { + .detect_gpio = {&pxagpio_device.dev, GPIO_NR_PALMZ72_USB_DETECT}, + .detect_gpio_negative = 1, + .power_ctrl = { + .power = &palmz72_udc_power, + }, }; +static struct platform_device palmz72_udc = { + .name = "pxa2xx-udc-gpio", + .dev = { + .platform_data = &palmz72_udc_info + } +}; + /********** * Keypad * **********/ @@ -453,6 +449,7 @@ &ov9640, #endif &palmz72_border, + &palmz72_udc, }; /*********************************************************************** @@ -518,7 +515,6 @@ set_pxa_fb_info( &palmz72_lcd_screen ); pxa_set_btuart_info(&bcm2035_pxa_bt_funcs); pxa_set_mci_info( &palmz72_mci_platform_data ); - pxa_set_udc_info( &palmz72_udc_mach_info ); pxa_set_ficp_info( &palmz72_ficp_platform_data ); platform_add_devices( devices, ARRAY_SIZE(devices) ); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |