aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-orion/common.c
diff options
context:
space:
mode:
authorAndrew Lunn <andrew@lunn.ch>2012-02-08 15:52:47 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-03-12 10:32:58 -0700
commit90bb7234900ec12f36028c96fdb320a36f08d383 (patch)
tree2c932432adc693a6bb3920290dd18cffb3aa384c /arch/arm/plat-orion/common.c
parenta9941b5ec0105f00a7148d20e320af950dc0a7e9 (diff)
downloadkernel_samsung_smdk4412-90bb7234900ec12f36028c96fdb320a36f08d383.zip
kernel_samsung_smdk4412-90bb7234900ec12f36028c96fdb320a36f08d383.tar.gz
kernel_samsung_smdk4412-90bb7234900ec12f36028c96fdb320a36f08d383.tar.bz2
ARM: orion: Fix USB phy for orion5x.
commit 72053353583230952c4b187e110e9da00dfc3afb upstream. The patch "ARM: orion: Consolidate USB platform setup code.", commit 4fcd3f374a928081d391cd9a570afe3b2c692fdc broke USB on TS-7800 and other orion5x boards, because the wrong type of PHY was being passed to the EHCI driver in the platform data. Orion5x needs EHCI_PHY_ORION and all the others want EHCI_PHY_NA. Allow the mach- code to tell the generic plat-orion code which USB PHY enum to place into the platform data. Version 2: Rebase to v3.3-rc2. Reported-by: Ambroz Bizjak <ambrop7@gmail.com> Signed-off-by: Andrew Lunn <andrew@lunn.ch> Tested-by: Ambroz Bizjak <ambrop7@gmail.com> Acked-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/arm/plat-orion/common.c')
-rw-r--r--arch/arm/plat-orion/common.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/arm/plat-orion/common.c b/arch/arm/plat-orion/common.c
index 9e5451b..11dce87 100644
--- a/arch/arm/plat-orion/common.c
+++ b/arch/arm/plat-orion/common.c
@@ -806,10 +806,7 @@ void __init orion_xor1_init(unsigned long mapbase_low,
/*****************************************************************************
* EHCI
****************************************************************************/
-static struct orion_ehci_data orion_ehci_data = {
- .phy_version = EHCI_PHY_NA,
-};
-
+static struct orion_ehci_data orion_ehci_data;
static u64 ehci_dmamask = DMA_BIT_MASK(32);
@@ -830,9 +827,11 @@ static struct platform_device orion_ehci = {
void __init orion_ehci_init(struct mbus_dram_target_info *mbus_dram_info,
unsigned long mapbase,
- unsigned long irq)
+ unsigned long irq,
+ enum orion_ehci_phy_ver phy_version)
{
orion_ehci_data.dram = mbus_dram_info;
+ orion_ehci_data.phy_version = phy_version;
fill_resources(&orion_ehci, orion_ehci_resources, mapbase, SZ_4K - 1,
irq);