|
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.
|