diff options
author | Florian Fainelli <florian.fainelli@telecomint.eu> | 2007-09-25 11:07:24 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-10-09 07:47:48 -0400 |
commit | f708631ac75c901b20c7622be9abdbc29d4d2dd7 (patch) | |
tree | 5738ad6272a715fbe5db5b3bcc3be8b62aa2d113 | |
parent | 378a545954abfec1c9499203206e0ffb5c2118d2 (diff) |
[MIPS] Alchemy: Fix USB initialization.
This patch fixes a wrong ifdef in the board setup code, leading to the GPIO
pin not being pulled high, and thus the USB switch not being powered at all.
This finishes the rename of CONFIG_USB_OHCI to CONFIG_USB_OHCI_HCD, which
started in 2005 (before 2.6.12-rc2), then probably because things were
working anyway for most people got forgotten.
[Ralf: Paolo's original patch didn't fix the module case, Florian's patch
only fixed MTX1 etc. so this is a combined patch plus some cleanups.]
Cc: Giuseppe Patanè <giuseppe.patane@tvblob.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | arch/mips/au1000/mtx-1/board_setup.c | 4 | ||||
-rw-r--r-- | arch/mips/au1000/pb1000/board_setup.c | 6 | ||||
-rw-r--r-- | arch/mips/au1000/pb1100/board_setup.c | 4 | ||||
-rw-r--r-- | arch/mips/au1000/pb1500/board_setup.c | 6 |
4 files changed, 10 insertions, 10 deletions
diff --git a/arch/mips/au1000/mtx-1/board_setup.c b/arch/mips/au1000/mtx-1/board_setup.c index 7bc5af8917da..2c460c116570 100644 --- a/arch/mips/au1000/mtx-1/board_setup.c +++ b/arch/mips/au1000/mtx-1/board_setup.c | |||
@@ -54,11 +54,11 @@ void board_reset (void) | |||
54 | 54 | ||
55 | void __init board_setup(void) | 55 | void __init board_setup(void) |
56 | { | 56 | { |
57 | #ifdef CONFIG_USB_OHCI | 57 | #if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) |
58 | // enable USB power switch | 58 | // enable USB power switch |
59 | au_writel( au_readl(GPIO2_DIR) | 0x10, GPIO2_DIR ); | 59 | au_writel( au_readl(GPIO2_DIR) | 0x10, GPIO2_DIR ); |
60 | au_writel( 0x100000, GPIO2_OUTPUT ); | 60 | au_writel( 0x100000, GPIO2_OUTPUT ); |
61 | #endif // defined (CONFIG_USB_OHCI) | 61 | #endif /* defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) */ |
62 | 62 | ||
63 | #ifdef CONFIG_PCI | 63 | #ifdef CONFIG_PCI |
64 | #if defined(__MIPSEB__) | 64 | #if defined(__MIPSEB__) |
diff --git a/arch/mips/au1000/pb1000/board_setup.c b/arch/mips/au1000/pb1000/board_setup.c index 824cfafaff92..0aed89114bfc 100644 --- a/arch/mips/au1000/pb1000/board_setup.c +++ b/arch/mips/au1000/pb1000/board_setup.c | |||
@@ -54,7 +54,7 @@ void __init board_setup(void) | |||
54 | au_writel(0, SYS_PINSTATERD); | 54 | au_writel(0, SYS_PINSTATERD); |
55 | udelay(100); | 55 | udelay(100); |
56 | 56 | ||
57 | #ifdef CONFIG_USB_OHCI | 57 | #if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) |
58 | /* zero and disable FREQ2 */ | 58 | /* zero and disable FREQ2 */ |
59 | sys_freqctrl = au_readl(SYS_FREQCTRL0); | 59 | sys_freqctrl = au_readl(SYS_FREQCTRL0); |
60 | sys_freqctrl &= ~0xFFF00000; | 60 | sys_freqctrl &= ~0xFFF00000; |
@@ -102,7 +102,7 @@ void __init board_setup(void) | |||
102 | /* | 102 | /* |
103 | * Route 48MHz FREQ2 into USB Host and/or Device | 103 | * Route 48MHz FREQ2 into USB Host and/or Device |
104 | */ | 104 | */ |
105 | #ifdef CONFIG_USB_OHCI | 105 | #if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) |
106 | sys_clksrc |= ((4<<12) | (0<<11) | (0<<10)); | 106 | sys_clksrc |= ((4<<12) | (0<<11) | (0<<10)); |
107 | #endif | 107 | #endif |
108 | au_writel(sys_clksrc, SYS_CLKSRC); | 108 | au_writel(sys_clksrc, SYS_CLKSRC); |
@@ -116,7 +116,7 @@ void __init board_setup(void) | |||
116 | au_writel(pin_func, SYS_PINFUNC); | 116 | au_writel(pin_func, SYS_PINFUNC); |
117 | au_writel(0x2800, SYS_TRIOUTCLR); | 117 | au_writel(0x2800, SYS_TRIOUTCLR); |
118 | au_writel(0x0030, SYS_OUTPUTCLR); | 118 | au_writel(0x0030, SYS_OUTPUTCLR); |
119 | #endif // defined (CONFIG_USB_OHCI) | 119 | #endif /* defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) */ |
120 | 120 | ||
121 | // make gpio 15 an input (for interrupt line) | 121 | // make gpio 15 an input (for interrupt line) |
122 | pin_func = au_readl(SYS_PINFUNC) & (u32)(~0x100); | 122 | pin_func = au_readl(SYS_PINFUNC) & (u32)(~0x100); |
diff --git a/arch/mips/au1000/pb1100/board_setup.c b/arch/mips/au1000/pb1100/board_setup.c index 6bc1f8e1b608..259ca05860c3 100644 --- a/arch/mips/au1000/pb1100/board_setup.c +++ b/arch/mips/au1000/pb1100/board_setup.c | |||
@@ -54,7 +54,7 @@ void __init board_setup(void) | |||
54 | au_writel(0, SYS_PININPUTEN); | 54 | au_writel(0, SYS_PININPUTEN); |
55 | udelay(100); | 55 | udelay(100); |
56 | 56 | ||
57 | #ifdef CONFIG_USB_OHCI | 57 | #if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) |
58 | { | 58 | { |
59 | u32 pin_func, sys_freqctrl, sys_clksrc; | 59 | u32 pin_func, sys_freqctrl, sys_clksrc; |
60 | 60 | ||
@@ -98,7 +98,7 @@ void __init board_setup(void) | |||
98 | pin_func |= 0x8000; | 98 | pin_func |= 0x8000; |
99 | au_writel(pin_func, SYS_PINFUNC); | 99 | au_writel(pin_func, SYS_PINFUNC); |
100 | } | 100 | } |
101 | #endif // defined (CONFIG_USB_OHCI) | 101 | #endif /* defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) */ |
102 | 102 | ||
103 | /* Enable sys bus clock divider when IDLE state or no bus activity. */ | 103 | /* Enable sys bus clock divider when IDLE state or no bus activity. */ |
104 | au_writel(au_readl(SYS_POWERCTRL) | (0x3 << 5), SYS_POWERCTRL); | 104 | au_writel(au_readl(SYS_POWERCTRL) | (0x3 << 5), SYS_POWERCTRL); |
diff --git a/arch/mips/au1000/pb1500/board_setup.c b/arch/mips/au1000/pb1500/board_setup.c index c9b655616fb3..a2d850db8902 100644 --- a/arch/mips/au1000/pb1500/board_setup.c +++ b/arch/mips/au1000/pb1500/board_setup.c | |||
@@ -56,7 +56,7 @@ void __init board_setup(void) | |||
56 | au_writel(0, SYS_PINSTATERD); | 56 | au_writel(0, SYS_PINSTATERD); |
57 | udelay(100); | 57 | udelay(100); |
58 | 58 | ||
59 | #ifdef CONFIG_USB_OHCI | 59 | #if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) |
60 | 60 | ||
61 | /* GPIO201 is input for PCMCIA card detect */ | 61 | /* GPIO201 is input for PCMCIA card detect */ |
62 | /* GPIO203 is input for PCMCIA interrupt request */ | 62 | /* GPIO203 is input for PCMCIA interrupt request */ |
@@ -85,7 +85,7 @@ void __init board_setup(void) | |||
85 | /* | 85 | /* |
86 | * Route 48MHz FREQ2 into USB Host and/or Device | 86 | * Route 48MHz FREQ2 into USB Host and/or Device |
87 | */ | 87 | */ |
88 | #ifdef CONFIG_USB_OHCI | 88 | #if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) |
89 | sys_clksrc |= ((4<<12) | (0<<11) | (0<<10)); | 89 | sys_clksrc |= ((4<<12) | (0<<11) | (0<<10)); |
90 | #endif | 90 | #endif |
91 | au_writel(sys_clksrc, SYS_CLKSRC); | 91 | au_writel(sys_clksrc, SYS_CLKSRC); |
@@ -95,7 +95,7 @@ void __init board_setup(void) | |||
95 | // 2nd USB port is USB host | 95 | // 2nd USB port is USB host |
96 | pin_func |= 0x8000; | 96 | pin_func |= 0x8000; |
97 | au_writel(pin_func, SYS_PINFUNC); | 97 | au_writel(pin_func, SYS_PINFUNC); |
98 | #endif // defined (CONFIG_USB_OHCI) | 98 | #endif /* defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) */ |
99 | 99 | ||
100 | 100 | ||
101 | 101 | ||