summaryrefslogtreecommitdiff
path: root/packages/linux/linux-rp-2.6.23/tosa-bluetooth-r8.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux/linux-rp-2.6.23/tosa-bluetooth-r8.patch')
-rw-r--r--packages/linux/linux-rp-2.6.23/tosa-bluetooth-r8.patch194
1 files changed, 0 insertions, 194 deletions
diff --git a/packages/linux/linux-rp-2.6.23/tosa-bluetooth-r8.patch b/packages/linux/linux-rp-2.6.23/tosa-bluetooth-r8.patch
index 9976549956..7873cffef5 100644
--- a/packages/linux/linux-rp-2.6.23/tosa-bluetooth-r8.patch
+++ b/packages/linux/linux-rp-2.6.23/tosa-bluetooth-r8.patch
@@ -192,197 +192,3 @@ Index: linux-2.6.17/arch/arm/mach-pxa/tosa.c
};
static void tosa_poweroff(void)
-Index: linux-2.6.17/arch/arm/mach-pxa/Makefile
-===================================================================
---- linux-2.6.17.orig/arch/arm/mach-pxa/Makefile 2006-06-20 11:45:51.252467944 +0200
-+++ linux-2.6.17/arch/arm/mach-pxa/Makefile 2006-06-20 11:46:33.619027248 +0200
-@@ -16,7 +16,7 @@
- obj-$(CONFIG_PXA_SHARP_Cxx00) += spitz.o corgi_ssp.o corgi_lcd.o sharpsl_pm.o spitz_pm.o
- obj-$(CONFIG_MACH_AKITA) += akita-ioexp.o
- obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o sharpsl_pm.o poodle_pm.o
--obj-$(CONFIG_MACH_TOSA) += tosa.o sharpsl_pm.o tosa_pm.o tosa_lcd.o
-+obj-$(CONFIG_MACH_TOSA) += tosa.o sharpsl_pm.o tosa_pm.o tosa_lcd.o tosa_bt.o
- obj-$(CONFIG_MACH_EM_X270) += em-x270.o
- obj-$(CONFIG_MACH_HX2750) += hx2750.o hx2750_test.o
-
-Index: linux-2.6.17/arch/arm/mach-pxa/tosa_bt.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.17/arch/arm/mach-pxa/tosa_bt.c 2006-06-20 11:46:08.107905528 +0200
-@@ -0,0 +1,128 @@
-+/*
-+ * Bluetooth control code for Sharp SL-6000x (tosa)
-+ *
-+ * Copyright (c) 2005 Dirk Opfer
-+ *
-+ * 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/sched.h>
-+#include <linux/slab.h>
-+#include <linux/delay.h>
-+#include <linux/platform_device.h>
-+#include <asm/hardware.h>
-+
-+#include <asm/hardware/scoop.h>
-+#include <asm/arch/tosa.h>
-+#include <asm/arch/pxa-regs.h>
-+
-+
-+static int tosa_bluetooth_power(int on)
-+{
-+
-+ if (!on) { //off
-+
-+ set_scoop_gpio(&tosascoop_device.dev,TOSA_SCOOP_BT_RESET);
-+ pxa_gpio_mode(GPIO42_BTRXD|GPIO_IN);
-+ pxa_gpio_mode(GPIO43_BTTXD|GPIO_IN);
-+ pxa_gpio_mode(GPIO44_BTCTS|GPIO_IN);
-+ pxa_gpio_mode(GPIO45_BTRTS|GPIO_IN);
-+ mdelay(10); // wait 10ms
-+ reset_scoop_gpio(&tosascoop_device.dev,TOSA_SCOOP_BT_RESET);
-+ reset_scoop_gpio(&tosascoop_device.dev,TOSA_SCOOP_BT_PWR_EN);
-+ reset_scoop_gpio(&tosascoop_jc_device.dev,TOSA_SCOOP_JC_BT_LED); // turn off BT LED
-+
-+ } else { // on
-+
-+ reset_scoop_gpio(&tosascoop_device.dev,TOSA_SCOOP_BT_RESET);
-+ set_scoop_gpio(&tosascoop_device.dev,TOSA_SCOOP_BT_PWR_EN);
-+ pxa_gpio_mode(GPIO42_HWRXD_MD);
-+ pxa_gpio_mode(GPIO43_HWTXD_MD);
-+ pxa_gpio_mode(GPIO44_HWCTS_MD);
-+ pxa_gpio_mode(GPIO45_HWRTS_MD);
-+
-+ set_scoop_gpio(&tosascoop_device.dev,TOSA_SCOOP_BT_RESET);
-+ mdelay(20); // wait 20ms
-+ reset_scoop_gpio(&tosascoop_device.dev,TOSA_SCOOP_BT_RESET);
-+ set_scoop_gpio(&tosascoop_jc_device.dev,TOSA_SCOOP_JC_BT_LED); // turn BT LED on
-+ }
-+ return 0;
-+}
-+
-+/*
-+ * Support Routines
-+ */
-+int __init tosa_bluetooth_probe(struct platform_device *dev)
-+{
-+ int ret = 0;
-+ pxa_gpio_mode(GPIO42_BTRXD|GPIO_IN);
-+ pxa_gpio_mode(GPIO43_BTTXD|GPIO_IN);
-+ pxa_gpio_mode(GPIO44_BTCTS|GPIO_IN);
-+ pxa_gpio_mode(GPIO45_BTRTS|GPIO_IN);
-+ set_scoop_gpio(&tosascoop_device.dev,TOSA_SCOOP_BT_PWR_EN);
-+ mdelay(5);
-+
-+ if ( (GPLR(GPIO42_BTRXD) & GPIO_bit(GPIO42_BTRXD))==0 &&
-+ (GPLR(GPIO44_BTCTS) & GPIO_bit(GPIO44_BTCTS))==0) {
-+ printk(KERN_INFO "No Bluetooth Device found!\n");
-+ ret = ENODEV; // no bluetooth
-+ } else {
-+ printk(KERN_INFO "Tosa Bluetooth Device found on ttyS3!\n");
-+ }
-+ reset_scoop_gpio(&tosascoop_device.dev,TOSA_SCOOP_BT_PWR_EN);
-+
-+ tosa_bluetooth_power(1); // Power on
-+ return ret;
-+}
-+
-+static int tosa_bluetooth_remove(struct platform_device *dev)
-+{
-+ tosa_bluetooth_power(0); // Power off
-+ return 0;
-+}
-+
-+#ifdef CONFIG_PM
-+static int tosa_bluetooth_suspend(struct platform_device *dev, pm_message_t state)
-+{
-+ tosa_bluetooth_power(0); // Power off
-+ return 0;
-+}
-+
-+static int tosa_bluetooth_resume(struct platform_device *dev)
-+{
-+ tosa_bluetooth_power(1); // Power on
-+ return 0;
-+}
-+#else
-+#define tosa_bluetooth_suspend NULL
-+#define tosa_bluetooth_resume NULL
-+#endif
-+
-+static struct platform_driver tosa_bluetooth_driver = {
-+ .probe = tosa_bluetooth_probe,
-+ .remove = tosa_bluetooth_remove,
-+ .suspend = tosa_bluetooth_suspend,
-+ .resume = tosa_bluetooth_resume,
-+ .driver = {
-+ .name = "tosa-bluetooth",
-+ },
-+};
-+
-+int __init tosa_bluetooth_init(void)
-+{
-+ return platform_driver_register(&tosa_bluetooth_driver);
-+}
-+
-+void __exit tosa_bluetooth_cleanup(void)
-+{
-+ platform_driver_unregister(&tosa_bluetooth_driver);
-+}
-+
-+module_init(tosa_bluetooth_init);
-+module_exit(tosa_bluetooth_cleanup);
-Index: linux-2.6.17/arch/arm/mach-pxa/tosa.c
-===================================================================
---- linux-2.6.17.orig/arch/arm/mach-pxa/tosa.c 2006-06-20 11:45:51.254467640 +0200
-+++ linux-2.6.17/arch/arm/mach-pxa/tosa.c 2006-06-20 11:46:08.112904768 +0200
-@@ -288,7 +288,7 @@
-
- static void tosa_tc6393_enable(struct device *dev)
- {
--
-+ printk("!!tosa_tc6393_enable!!\n");
- reset_scoop_gpio(&tosascoop_jc_device.dev,TOSA_SCOOP_JC_TC3693_L3V_ON);
- reset_scoop_gpio(&tosascoop_jc_device.dev,TOSA_SCOOP_JC_TC6393_SUSPEND);
- reset_scoop_gpio(&tosascoop_device.dev,TOSA_SCOOP_TC6393_REST_IN); //#PCLR
-@@ -303,7 +303,7 @@
-
- static void tosa_tc6393_disable(struct device *dev)
- {
--
-+ printk("!!tosa_tc6393_disable!!\n");
- reset_scoop_gpio(&tosascoop_jc_device.dev,TOSA_SCOOP_JC_TC3693_L3V_ON);
- reset_scoop_gpio(&tosascoop_jc_device.dev,TOSA_SCOOP_JC_TC6393_SUSPEND);
- reset_scoop_gpio(&tosascoop_device.dev,TOSA_SCOOP_TC6393_REST_IN); //#PCLR
-@@ -428,6 +428,17 @@
- },
- };
-
-+/*
-+ * Tosa Blueooth
-+ */
-+static struct platform_device tosa_bluetooth_device = {
-+ .name = "tosa-bluetooth",
-+ .id = -1,
-+ .dev = {
-+ .parent = &tosascoop_jc_device.dev,
-+ },
-+};
-+
- static struct platform_device *devices[] __initdata = {
- &tosascoop_device,
- &tosascoop_jc_device,
-@@ -435,6 +446,7 @@
- &tosaled_device,
- &tc6393_device,
- &tosalcd_device,
-+ &tosa_bluetooth_device,
- };
-
- static void tosa_poweroff(void)