diff options
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.24/1097-introduce-usb-host-power-control.patch.patch')
-rw-r--r-- | target/linux/s3c24xx/patches-2.6.24/1097-introduce-usb-host-power-control.patch.patch | 167 |
1 files changed, 0 insertions, 167 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.24/1097-introduce-usb-host-power-control.patch.patch b/target/linux/s3c24xx/patches-2.6.24/1097-introduce-usb-host-power-control.patch.patch deleted file mode 100644 index 0192df4..0000000 --- a/target/linux/s3c24xx/patches-2.6.24/1097-introduce-usb-host-power-control.patch.patch +++ /dev/null @@ -1,167 +0,0 @@ -From 20369a802d4df104489daeb85388554f79e7e281 Mon Sep 17 00:00:00 2001 -From: Andy Green <andy@openmoko.com> -Date: Sun, 13 Apr 2008 07:25:51 +0100 -Subject: [PATCH] introduce-usb-host-power-control.patch - -Unless I really really missed the point, there is no support for enabling -USB Host power for USB host mode. This patch adds a /sys node for GTA02 -that allows control of the charge pump for 5V out on the USB mini connector -It doesn't change any logical mode in the CPU, just enables (1) and disables -(0) USB host power. - -# cat /sys/devices/platform/neo1973-pm-host.0/hostmode -0 -# echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode - -Signed-off-by: Andy Green <andy@openmoko.com> ---- - arch/arm/mach-s3c2440/mach-gta02.c | 6 ++ - arch/arm/plat-s3c24xx/Makefile | 2 +- - arch/arm/plat-s3c24xx/neo1973_pm_host.c | 101 +++++++++++++++++++++++++++++++ - 3 files changed, 108 insertions(+), 1 deletions(-) - create mode 100644 arch/arm/plat-s3c24xx/neo1973_pm_host.c - -diff --git a/arch/arm/mach-s3c2440/mach-gta02.c b/arch/arm/mach-s3c2440/mach-gta02.c -index f18c8fd..5bd68a6 100644 ---- a/arch/arm/mach-s3c2440/mach-gta02.c -+++ b/arch/arm/mach-s3c2440/mach-gta02.c -@@ -1030,6 +1030,11 @@ static struct platform_device gta01_pm_gsm_dev = { - .name = "neo1973-pm-gsm", - }; - -+static struct platform_device gta02_pm_usbhost_dev = { -+ .name = "neo1973-pm-host", -+}; -+ -+ - /* USB */ - static struct s3c2410_hcd_info gta02_usb_info = { - .port[0] = { -@@ -1287,6 +1292,7 @@ static void __init gta02_machine_init(void) - platform_device_register(&s3c_device_spi_acc); - platform_device_register(>a01_button_dev); - platform_device_register(>a01_pm_gsm_dev); -+ platform_device_register(>a02_pm_usbhost_dev); - - mangle_pmu_pdata_by_system_rev(); - platform_device_register(>a02_pmu_dev); -diff --git a/arch/arm/plat-s3c24xx/Makefile b/arch/arm/plat-s3c24xx/Makefile -index 7192912..e1686a0 100644 ---- a/arch/arm/plat-s3c24xx/Makefile -+++ b/arch/arm/plat-s3c24xx/Makefile -@@ -28,4 +28,4 @@ obj-$(CONFIG_PM) += pm.o - obj-$(CONFIG_PM) += sleep.o - obj-$(CONFIG_S3C2410_DMA) += dma.o - obj-$(CONFIG_MACH_SMDK) += common-smdk.o --obj-$(CONFIG_MACH_NEO1973) += neo1973_pm_gsm.o neo1973_pm_gps.o neo1973_pm_bt.o -+obj-$(CONFIG_MACH_NEO1973) += neo1973_pm_host.o neo1973_pm_gsm.o neo1973_pm_gps.o neo1973_pm_bt.o -diff --git a/arch/arm/plat-s3c24xx/neo1973_pm_host.c b/arch/arm/plat-s3c24xx/neo1973_pm_host.c -new file mode 100644 -index 0000000..4eae341 ---- /dev/null -+++ b/arch/arm/plat-s3c24xx/neo1973_pm_host.c -@@ -0,0 +1,101 @@ -+/* -+ * Bluetooth PM code for the FIC Neo1973 GSM Phone -+ * -+ * (C) 2007 by OpenMoko Inc. -+ * Author: Harald Welte <laforge@openmoko.org> -+ * All rights reserved. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation -+ * -+ */ -+ -+#include <linux/module.h> -+#include <linux/init.h> -+#include <linux/kernel.h> -+#include <linux/platform_device.h> -+ -+#include <asm/hardware.h> -+#include <asm/mach-types.h> -+ -+#ifdef CONFIG_MACH_NEO1973_GTA02 -+#include <asm/arch/gta02.h> -+#include <linux/pcf50633.h> -+ -+static ssize_t pm_host_read(struct device *dev, struct device_attribute *attr, -+ char *buf) -+{ -+ return sprintf(buf, "%d\n", -+ pcf50633_gpio_get(pcf50633_global, PCF50633_GPO)); -+} -+ -+static ssize_t pm_host_write(struct device *dev, struct device_attribute *attr, -+ const char *buf, size_t count) -+{ -+ unsigned long on = simple_strtoul(buf, NULL, 10); -+ -+ pcf50633_gpio_set(pcf50633_global, PCF50633_GPO, on); -+ -+ return count; -+} -+ -+static DEVICE_ATTR(hostmode, 0644, pm_host_read, pm_host_write); -+ -+static struct attribute *neo1973_pm_host_sysfs_entries[] = { -+ &dev_attr_hostmode.attr, -+ NULL -+}; -+ -+static struct attribute_group neo1973_pm_host_attr_group = { -+ .name = NULL, -+ .attrs = neo1973_pm_host_sysfs_entries, -+}; -+ -+static int __init neo1973_pm_host_probe(struct platform_device *pdev) -+{ -+ dev_info(&pdev->dev, "starting\n"); -+ -+ switch (machine_arch_type) { -+#ifdef CONFIG_MACH_NEO1973_GTA01 -+ case MACH_TYPE_NEO1973_GTA01: -+ return -EINVAL; -+#endif /* CONFIG_MACH_NEO1973_GTA01 */ -+ default: -+ break; -+ } -+ -+ return sysfs_create_group(&pdev->dev.kobj, &neo1973_pm_host_attr_group); -+} -+ -+static int neo1973_pm_host_remove(struct platform_device *pdev) -+{ -+ sysfs_remove_group(&pdev->dev.kobj, &neo1973_pm_host_attr_group); -+ return 0; -+} -+ -+static struct platform_driver neo1973_pm_host_driver = { -+ .probe = neo1973_pm_host_probe, -+ .remove = neo1973_pm_host_remove, -+ .driver = { -+ .name = "neo1973-pm-host", -+ }, -+}; -+ -+static int __devinit neo1973_pm_host_init(void) -+{ -+ return platform_driver_register(&neo1973_pm_host_driver); -+} -+ -+static void neo1973_pm_host_exit(void) -+{ -+ platform_driver_unregister(&neo1973_pm_host_driver); -+} -+ -+module_init(neo1973_pm_host_init); -+module_exit(neo1973_pm_host_exit); -+ -+MODULE_LICENSE("GPL"); -+MODULE_AUTHOR("Andy Green <andy@openmoko.com>"); -+MODULE_DESCRIPTION("Neo1973 USB Host Power Management"); -+#endif --- -1.5.6.5 - |