diff options
author | Olof Johansson <olof@lixom.net> | 2013-04-26 20:35:13 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-04-26 20:35:21 -0400 |
commit | d21be237ffa357e55005e2bf9ffef10b23c184d0 (patch) | |
tree | a3f81bbdeb9c384a306cfeecfa5567186a4d2a28 /arch | |
parent | 73053d973dd6f56472309cffa5a5d15a62dd6f96 (diff) | |
parent | f4d7a536faa43f30d87f701268db76b8433a2a8b (diff) |
Merge tag 'omap-for-v3.9-rc6/fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
From Tony Lindgren:
One MUSB regression fix that I forgot to send earlier. Without
this MUSB no longer works on omap4 based devices.
* tag 'omap-for-v3.9-rc6/fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP4: hwmod data: make 'ocp2scp_usb_phy_phy_48m" as the main clock
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c index 9e0576569e07..eaba9dc91a0d 100644 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c | |||
@@ -2714,16 +2714,22 @@ static struct omap_ocp2scp_dev ocp2scp_dev_attr[] = { | |||
2714 | { } | 2714 | { } |
2715 | }; | 2715 | }; |
2716 | 2716 | ||
2717 | static struct omap_hwmod_opt_clk ocp2scp_usb_phy_opt_clks[] = { | ||
2718 | { .role = "48mhz", .clk = "ocp2scp_usb_phy_phy_48m" }, | ||
2719 | }; | ||
2720 | |||
2721 | /* ocp2scp_usb_phy */ | 2717 | /* ocp2scp_usb_phy */ |
2722 | static struct omap_hwmod omap44xx_ocp2scp_usb_phy_hwmod = { | 2718 | static struct omap_hwmod omap44xx_ocp2scp_usb_phy_hwmod = { |
2723 | .name = "ocp2scp_usb_phy", | 2719 | .name = "ocp2scp_usb_phy", |
2724 | .class = &omap44xx_ocp2scp_hwmod_class, | 2720 | .class = &omap44xx_ocp2scp_hwmod_class, |
2725 | .clkdm_name = "l3_init_clkdm", | 2721 | .clkdm_name = "l3_init_clkdm", |
2726 | .main_clk = "func_48m_fclk", | 2722 | /* |
2723 | * ocp2scp_usb_phy_phy_48m is provided by the OMAP4 PRCM IP | ||
2724 | * block as an "optional clock," and normally should never be | ||
2725 | * specified as the main_clk for an OMAP IP block. However it | ||
2726 | * turns out that this clock is actually the main clock for | ||
2727 | * the ocp2scp_usb_phy IP block: | ||
2728 | * http://lists.infradead.org/pipermail/linux-arm-kernel/2012-September/119943.html | ||
2729 | * So listing ocp2scp_usb_phy_phy_48m as a main_clk here seems | ||
2730 | * to be the best workaround. | ||
2731 | */ | ||
2732 | .main_clk = "ocp2scp_usb_phy_phy_48m", | ||
2727 | .prcm = { | 2733 | .prcm = { |
2728 | .omap4 = { | 2734 | .omap4 = { |
2729 | .clkctrl_offs = OMAP4_CM_L3INIT_USBPHYOCP2SCP_CLKCTRL_OFFSET, | 2735 | .clkctrl_offs = OMAP4_CM_L3INIT_USBPHYOCP2SCP_CLKCTRL_OFFSET, |
@@ -2732,8 +2738,6 @@ static struct omap_hwmod omap44xx_ocp2scp_usb_phy_hwmod = { | |||
2732 | }, | 2738 | }, |
2733 | }, | 2739 | }, |
2734 | .dev_attr = ocp2scp_dev_attr, | 2740 | .dev_attr = ocp2scp_dev_attr, |
2735 | .opt_clks = ocp2scp_usb_phy_opt_clks, | ||
2736 | .opt_clks_cnt = ARRAY_SIZE(ocp2scp_usb_phy_opt_clks), | ||
2737 | }; | 2741 | }; |
2738 | 2742 | ||
2739 | /* | 2743 | /* |