diff options
Diffstat (limited to 'target/linux/brcm47xx/patches-3.2/183-bcma-scan-for-extra-address-space.patch')
-rw-r--r-- | target/linux/brcm47xx/patches-3.2/183-bcma-scan-for-extra-address-space.patch | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/target/linux/brcm47xx/patches-3.2/183-bcma-scan-for-extra-address-space.patch b/target/linux/brcm47xx/patches-3.2/183-bcma-scan-for-extra-address-space.patch deleted file mode 100644 index 29fdfce207..0000000000 --- a/target/linux/brcm47xx/patches-3.2/183-bcma-scan-for-extra-address-space.patch +++ /dev/null @@ -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; |