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
Unified · Split
| @@ -2714,16 +2714,22 @@ static struct omap_ocp2scp_dev ocp2scp_dev_attr[] = { · 2713 unmodified lines | ||
| 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 | 2717 | /* ocp2scp_usb_phy */ |
| 2722 | 2718 | static struct omap_hwmod omap44xx_ocp2scp_usb_phy_hwmod = { |
| 2723 | 2719 | .name = "ocp2scp_usb_phy", |
| 2724 | 2720 | .class = &omap44xx_ocp2scp_hwmod_class, |
| 2725 | 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 | 2733 | .prcm = { |
| 2728 | 2734 | .omap4 = { |
| 2729 | 2735 | .clkctrl_offs = OMAP4_CM_L3INIT_USBPHYOCP2SCP_CLKCTRL_OFFSET, |
| @@ -2732,8 +2738,6 @@ static struct omap_hwmod omap44xx_ocp2scp_usb_phy_hwmod = { · 2 unmodified lines | ||
| 2732 | 2738 | }, |
| 2733 | 2739 | }, |
| 2734 | 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 | /* |