SVN-Revision: 31089master
parent
877c407ade
commit
6fd915ba37
@ -1,48 +0,0 @@ |
||||
From d85bba4eb399a8273aabaef5c21c89820d7a0514 Mon Sep 17 00:00:00 2001
|
||||
From: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
Date: Thu, 9 Feb 2012 23:14:57 +0100
|
||||
Subject: [PATCH 180/186] USB: HCI: add struct for ehci and ohci platform
|
||||
driver
|
||||
|
||||
|
||||
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
---
|
||||
include/linux/usb/hci_driver.h | 32 ++++++++++++++++++++++++++++++++
|
||||
1 files changed, 32 insertions(+), 0 deletions(-)
|
||||
create mode 100644 include/linux/usb/hci_driver.h
|
||||
|
||||
--- /dev/null
|
||||
+++ b/include/linux/usb/hci_driver.h
|
||||
@@ -0,0 +1,32 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2012 Hauke Mehrtens <hauke@hauke-m.de>
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify it
|
||||
+ * under the terms of the GNU General Public License as published by the
|
||||
+ * Free Software Foundation; either version 2 of the License, or (at your
|
||||
+ * option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful, but
|
||||
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
+ * for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software Foundation,
|
||||
+ * Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
+ */
|
||||
+
|
||||
+#ifndef __USB_CORE_HCI_PDRIVER_H
|
||||
+#define __USB_CORE_HCI_PDRIVER_H
|
||||
+
|
||||
+#define USB_HCI_PDATA_PORT_POWER_SET (1 << 0)
|
||||
+#define USB_HCI_PDATA_HAS_TT_SET (1 << 1)
|
||||
+
|
||||
+struct usb_hci_pdata {
|
||||
+ int flags;
|
||||
+ int caps_offset;
|
||||
+ unsigned has_tt:1;
|
||||
+ unsigned power_set_is_on:1;
|
||||
+};
|
||||
+
|
||||
+#endif /* __USB_CORE_HCI_PDRIVER_H */
|
@ -0,0 +1,45 @@ |
||||
--- a/drivers/bcma/scan.c
|
||||
+++ b/drivers/bcma/scan.c
|
||||
@@ -297,6 +297,23 @@ static int bcma_get_next_core(struct bcm
|
||||
return -EILSEQ;
|
||||
}
|
||||
|
||||
+ /* First Slave Address Descriptor should be port 0:
|
||||
+ * the main register space for the core
|
||||
+ */
|
||||
+ tmp = bcma_erom_get_addr_desc(bus, eromptr, SCAN_ADDR_TYPE_SLAVE, 0);
|
||||
+ if (tmp <= 0) {
|
||||
+ /* Try again to see if it is a bridge */
|
||||
+ tmp = bcma_erom_get_addr_desc(bus, eromptr,
|
||||
+ SCAN_ADDR_TYPE_BRIDGE, 0);
|
||||
+ if (tmp <= 0) {
|
||||
+ return -EILSEQ;
|
||||
+ } else {
|
||||
+ pr_info("Bridge found\n");
|
||||
+ return -ENXIO;
|
||||
+ }
|
||||
+ }
|
||||
+ core->addr = tmp;
|
||||
+
|
||||
/* get & parse slave ports */
|
||||
for (i = 0; i < ports[1]; i++) {
|
||||
for (j = 0; ; j++) {
|
||||
@@ -309,7 +326,7 @@ static int bcma_get_next_core(struct bcm
|
||||
break;
|
||||
} else {
|
||||
if (i == 0 && j == 0)
|
||||
- core->addr = tmp;
|
||||
+ core->addr1 = tmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
--- a/include/linux/bcma/bcma.h
|
||||
+++ b/include/linux/bcma/bcma.h
|
||||
@@ -139,6 +139,7 @@ struct bcma_device {
|
||||
u8 core_unit;
|
||||
|
||||
u32 addr;
|
||||
+ u32 addr1;
|
||||
u32 wrap;
|
||||
|
||||
void __iomem *io_addr;
|
@ -1,61 +0,0 @@ |
||||
From adebff2358c2b631fc04e31ba87eee48e546c655 Mon Sep 17 00:00:00 2001
|
||||
From: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
Date: Sun, 20 Nov 2011 18:22:35 +0100
|
||||
Subject: [PATCH 183/186] bcma: scan for extra address space
|
||||
|
||||
Some cores like the USB core have two address spaces. In the USB host
|
||||
controller one address space is used for the OHCI and the other for the
|
||||
EHCI controller interface. The USB controller is the only core I found
|
||||
with two address spaces. This code is based on the AI scan function
|
||||
ai_scan() in shared/aiutils.c i the Broadcom SDK.
|
||||
|
||||
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
---
|
||||
drivers/bcma/scan.c | 18 +++++++++++++++++-
|
||||
include/linux/bcma/bcma.h | 1 +
|
||||
2 files changed, 18 insertions(+), 1 deletions(-)
|
||||
|
||||
--- a/drivers/bcma/scan.c
|
||||
+++ b/drivers/bcma/scan.c
|
||||
@@ -297,6 +297,22 @@ static int bcma_get_next_core(struct bcm
|
||||
return -EILSEQ;
|
||||
}
|
||||
|
||||
+
|
||||
+ /* First Slave Address Descriptor should be port 0:
|
||||
+ * the main register space for the core
|
||||
+ */
|
||||
+ tmp = bcma_erom_get_addr_desc(bus, eromptr, SCAN_ADDR_TYPE_SLAVE, 0);
|
||||
+ if (tmp <= 0) {
|
||||
+ /* Try again to see if it is a bridge */
|
||||
+ tmp = bcma_erom_get_addr_desc(bus, eromptr,
|
||||
+ SCAN_ADDR_TYPE_BRIDGE, 0);
|
||||
+ if (tmp > 0) {
|
||||
+ pr_info("found bridge");
|
||||
+ return -ENXIO;
|
||||
+ }
|
||||
+ }
|
||||
+ core->addr = tmp;
|
||||
+
|
||||
/* get & parse slave ports */
|
||||
for (i = 0; i < ports[1]; i++) {
|
||||
for (j = 0; ; j++) {
|
||||
@@ -309,7 +325,7 @@ static int bcma_get_next_core(struct bcm
|
||||
break;
|
||||
} else {
|
||||
if (i == 0 && j == 0)
|
||||
- core->addr = tmp;
|
||||
+ core->addr1 = tmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
--- a/include/linux/bcma/bcma.h
|
||||
+++ b/include/linux/bcma/bcma.h
|
||||
@@ -139,6 +139,7 @@ struct bcma_device {
|
||||
u8 core_unit;
|
||||
|
||||
u32 addr;
|
||||
+ u32 addr1;
|
||||
u32 wrap;
|
||||
|
||||
void __iomem *io_addr;
|
@ -1,41 +1,22 @@ |
||||
From 57857d7df6c22eaf11e3c67042d55a9546415059 Mon Sep 17 00:00:00 2001
|
||||
From: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
Date: Sat, 26 Nov 2011 21:36:50 +0100
|
||||
Subject: [PATCH 186/186] USB: OHCI: remove old SSB OHCI driver
|
||||
|
||||
This is now replaced by the new ssb USB driver, which also supports
|
||||
devices with an EHCI controller.
|
||||
|
||||
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
---
|
||||
drivers/usb/host/Kconfig | 13 --
|
||||
drivers/usb/host/ohci-hcd.c | 21 +----
|
||||
drivers/usb/host/ohci-ssb.c | 260 -------------------------------------------
|
||||
3 files changed, 1 insertions(+), 293 deletions(-)
|
||||
delete mode 100644 drivers/usb/host/ohci-ssb.c
|
||||
|
||||
--- a/drivers/usb/host/Kconfig
|
||||
+++ b/drivers/usb/host/Kconfig
|
||||
@@ -351,19 +351,6 @@ config USB_OHCI_HCD_PCI
|
||||
Enables support for PCI-bus plug-in USB controller cards.
|
||||
@@ -352,10 +352,15 @@ config USB_OHCI_HCD_PCI
|
||||
If unsure, say Y.
|
||||
|
||||
-config USB_OHCI_HCD_SSB
|
||||
config USB_OHCI_HCD_SSB
|
||||
- bool "OHCI support for Broadcom SSB OHCI core"
|
||||
- depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD) && EXPERIMENTAL
|
||||
- default n
|
||||
- ---help---
|
||||
- Support for the Sonics Silicon Backplane (SSB) attached
|
||||
- Broadcom USB OHCI core.
|
||||
-
|
||||
- This device is present in some embedded devices with
|
||||
- Broadcom based SSB bus.
|
||||
-
|
||||
- If unsure, say N.
|
||||
-
|
||||
config USB_OHCI_SH
|
||||
bool "OHCI support for SuperH USB controller"
|
||||
depends on USB_OHCI_HCD && SUPERH
|
||||
+ bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
|
||||
depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD) && EXPERIMENTAL
|
||||
+ select USB_HCD_SSB
|
||||
+ select USB_OHCI_HCD_PLATFORM
|
||||
default n
|
||||
---help---
|
||||
+ This option is deprecated now and the driver was removed, use
|
||||
+ USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead.
|
||||
+
|
||||
Support for the Sonics Silicon Backplane (SSB) attached
|
||||
Broadcom USB OHCI core.
|
||||
|
||||
--- a/drivers/usb/host/ohci-hcd.c
|
||||
+++ b/drivers/usb/host/ohci-hcd.c
|
||||
@@ -1076,11 +1076,6 @@ MODULE_LICENSE ("GPL");
|
Loading…
Reference in new issue