Re: linux-next: manual merge of the usb tree with the omap tree
From: Ming Lei
Date: Thu Jan 06 2011 - 10:02:09 EST
Hi,
2010/12/24 Cousson, Benoit <b-cousson@xxxxxx>:
> + Paul "the omap clock guru".
>
> At first glance, that seems almost good.
> Except for a couple of nodes that seems to lose their 3630 support.
>
> I'm just wondering why the original usb clock node is
> kept after the introduction of the "ehci-omap.0" clock
> node. But this is anyway harmless.
>
> What commits are generating this conflict?
>
> On 12/23/2010 7:18 AM, Stephen Rothwell wrote:
>> Hi Greg,
>>
>> Today's linux-next merge of the usb tree got a conflict in
>> arch/arm/mach-omap2/clock3xxx_data.c and
>> arch/arm/mach-omap2/clock44xx_data.c between various commits from the omap
>> tree and various commits from the usb tree.
>>
>> I did a quick fix (which may be completely wrong - see below).
>
>> diff --cc arch/arm/mach-omap2/clock3xxx_data.c
>> index 9ab817e,0579604..0000000
>> --- a/arch/arm/mach-omap2/clock3xxx_data.c
>> +++ b/arch/arm/mach-omap2/clock3xxx_data.c
>> @@@ -3275,17 -3267,18 +3275,18 @@@ static struct omap_clk omap3xxx_clks[]
>> CLK(NULL, "gfx_l3_ick", &gfx_l3_ick, CK_3430ES1),
>> CLK(NULL, "gfx_cg1_ck", &gfx_cg1_ck, CK_3430ES1),
>> CLK(NULL, "gfx_cg2_ck", &gfx_cg2_ck, CK_3430ES1),
>> - CLK(NULL, "sgx_fck", &sgx_fck, CK_3430ES2 | CK_3517),
>> - CLK(NULL, "sgx_ick", &sgx_ick, CK_3430ES2 | CK_3517),
>> + CLK(NULL, "sgx_fck", &sgx_fck, CK_3430ES2PLUS | CK_3517 | CK_36XX),
>> + CLK(NULL, "sgx_ick", &sgx_ick, CK_3430ES2PLUS | CK_3517 | CK_36XX),
>> CLK(NULL, "d2d_26m_fck", &d2d_26m_fck, CK_3430ES1),
>> - CLK(NULL, "modem_fck", &modem_fck, CK_343X),
>> - CLK(NULL, "sad2d_ick", &sad2d_ick, CK_343X),
>> - CLK(NULL, "mad2d_ick", &mad2d_ick, CK_343X),
>> + CLK(NULL, "modem_fck", &modem_fck, CK_34XX | CK_36XX),
>> + CLK(NULL, "sad2d_ick", &sad2d_ick, CK_34XX | CK_36XX),
>> + CLK(NULL, "mad2d_ick", &mad2d_ick, CK_34XX | CK_36XX),
>> CLK(NULL, "gpt10_fck", &gpt10_fck, CK_3XXX),
>> CLK(NULL, "gpt11_fck", &gpt11_fck, CK_3XXX),
>> - CLK(NULL, "cpefuse_fck", &cpefuse_fck, CK_3430ES2 | CK_AM35XX),
>> - CLK(NULL, "ts_fck", &ts_fck, CK_3430ES2 | CK_AM35XX),
>> - CLK(NULL, "usbtll_fck", &usbtll_fck, CK_3430ES2 | CK_AM35XX),
>> + CLK(NULL, "cpefuse_fck", &cpefuse_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>> + CLK(NULL, "ts_fck", &ts_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>> + CLK(NULL, "usbtll_fck", &usbtll_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>
> That one could be removed after the introduction of the following one if the
> clk_get(dev, "usbtll_fck") API is used.
>
>> + CLK("ehci-omap.0", "usbtll_fck", &usbtll_fck, CK_3430ES2 | CK_AM35XX),
>
> If only that one is kept it should be:
> + CLK("ehci-omap.0", "usbtll_fck", &usbtll_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>
> Assuming that one of the conflicting commits was trying to add the 3630 support.
>
>> CLK("omap-mcbsp.1", "prcm_fck", &core_96m_fck, CK_3XXX),
>> CLK("omap-mcbsp.5", "prcm_fck", &core_96m_fck, CK_3XXX),
>> CLK(NULL, "core_96m_fck", &core_96m_fck, CK_3XXX),
>> @@@ -3309,26 -3302,27 +3310,27 @@@
>> CLK(NULL, "core_12m_fck", &core_12m_fck, CK_3XXX),
>> CLK("omap_hdq.0", "fck", &hdq_fck, CK_3XXX),
>> CLK(NULL, "ssi_ssr_fck", &ssi_ssr_fck_3430es1, CK_3430ES1),
>> - CLK(NULL, "ssi_ssr_fck", &ssi_ssr_fck_3430es2, CK_3430ES2),
>> + CLK(NULL, "ssi_ssr_fck", &ssi_ssr_fck_3430es2, CK_3430ES2PLUS | CK_36XX),
>> CLK(NULL, "ssi_sst_fck", &ssi_sst_fck_3430es1, CK_3430ES1),
>> - CLK(NULL, "ssi_sst_fck", &ssi_sst_fck_3430es2, CK_3430ES2),
>> + CLK(NULL, "ssi_sst_fck", &ssi_sst_fck_3430es2, CK_3430ES2PLUS | CK_36XX),
>> CLK(NULL, "core_l3_ick", &core_l3_ick, CK_3XXX),
>> - CLK("musb_hdrc", "ick", &hsotgusb_ick_3430es1, CK_3430ES1),
>> - CLK("musb_hdrc", "ick", &hsotgusb_ick_3430es2, CK_3430ES2PLUS | CK_36XX),
>> + CLK("musb-omap2430", "ick", &hsotgusb_ick_3430es1, CK_3430ES1),
>> - CLK("musb-omap2430", "ick", &hsotgusb_ick_3430es2, CK_3430ES2),
>> ++ CLK("musb-omap2430", "ick", &hsotgusb_ick_3430es2, CK_3430ES2PLUS | CK_36XX),
>> CLK(NULL, "sdrc_ick", &sdrc_ick, CK_3XXX),
>> CLK(NULL, "gpmc_fck", &gpmc_fck, CK_3XXX),
>> - CLK(NULL, "security_l3_ick", &security_l3_ick, CK_343X),
>> - CLK(NULL, "pka_ick", &pka_ick, CK_343X),
>> + CLK(NULL, "security_l3_ick", &security_l3_ick, CK_34XX | CK_36XX),
>> + CLK(NULL, "pka_ick", &pka_ick, CK_34XX | CK_36XX),
>> CLK(NULL, "core_l4_ick", &core_l4_ick, CK_3XXX),
>> - CLK(NULL, "usbtll_ick", &usbtll_ick, CK_3430ES2 | CK_AM35XX),
>> + CLK(NULL, "usbtll_ick", &usbtll_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>> + CLK("ehci-omap.0", "usbtll_ick", &usbtll_ick, CK_3430ES2 | CK_AM35XX),
>
> ditto, should probably be:
> + CLK("ehci-omap.0", "usbtll_ick", &usbtll_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>
>> - CLK("mmci-omap-hs.2", "ick", &mmchs3_ick, CK_3430ES2 | CK_AM35XX),
>> - CLK(NULL, "icr_ick", &icr_ick, CK_343X),
>> - CLK("omap-aes", "ick", &aes2_ick, CK_343X),
>> - CLK("omap-sham", "ick", &sha12_ick, CK_343X),
>> - CLK(NULL, "des2_ick", &des2_ick, CK_343X),
>> + CLK("mmci-omap-hs.2", "ick", &mmchs3_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>> + CLK(NULL, "icr_ick", &icr_ick, CK_34XX | CK_36XX),
>> + CLK("omap-aes", "ick", &aes2_ick, CK_34XX | CK_36XX),
>> + CLK("omap-sham", "ick", &sha12_ick, CK_34XX | CK_36XX),
>> + CLK(NULL, "des2_ick", &des2_ick, CK_34XX | CK_36XX),
>> CLK("mmci-omap-hs.1", "ick", &mmchs2_ick, CK_3XXX),
>> CLK("mmci-omap-hs.0", "ick", &mmchs1_ick, CK_3XXX),
>> - CLK(NULL, "mspro_ick", &mspro_ick, CK_343X),
>> + CLK(NULL, "mspro_ick", &mspro_ick, CK_34XX | CK_36XX),
>> CLK("omap_hdq.0", "ick", &hdq_ick, CK_3XXX),
>> CLK("omap2_mcspi.4", "ick", &mcspi4_ick, CK_3XXX),
>> CLK("omap2_mcspi.3", "ick", &mcspi3_ick, CK_3XXX),
>> @@@ -3361,14 -3355,17 +3363,17 @@@
>> CLK("omapdss", "video_fck", &dss_96m_fck, CK_3XXX),
>> CLK("omapdss", "dss2_fck", &dss2_alwon_fck, CK_3XXX),
>> CLK("omapdss", "ick", &dss_ick_3430es1, CK_3430ES1),
>> - CLK("omapdss", "ick", &dss_ick_3430es2, CK_3430ES2 | CK_AM35XX),
>> - CLK(NULL, "cam_mclk", &cam_mclk, CK_343X),
>> - CLK(NULL, "cam_ick", &cam_ick, CK_343X),
>> - CLK(NULL, "csi2_96m_fck", &csi2_96m_fck, CK_343X),
>> - CLK(NULL, "usbhost_120m_fck", &usbhost_120m_fck, CK_3430ES2 | CK_AM35XX),
>> + CLK("omapdss", "ick", &dss_ick_3430es2, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>> + CLK(NULL, "cam_mclk", &cam_mclk, CK_34XX | CK_36XX),
>> + CLK(NULL, "cam_ick", &cam_ick, CK_34XX | CK_36XX),
>> + CLK(NULL, "csi2_96m_fck", &csi2_96m_fck, CK_34XX | CK_36XX),
>> + CLK(NULL, "usbhost_120m_fck", &usbhost_120m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>> + CLK("ehci-omap.0", "hs_fck", &usbhost_120m_fck, CK_3430ES2 | CK_AM35XX),
>
> ditto
>
>> - CLK(NULL, "usbhost_48m_fck", &usbhost_48m_fck, CK_3430ES2 | CK_AM35XX),
>> + CLK(NULL, "usbhost_48m_fck", &usbhost_48m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>> + CLK("ehci-omap.0", "fs_fck", &usbhost_48m_fck, CK_3430ES2 | CK_AM35XX),
>
> ditto
>
>> - CLK(NULL, "usbhost_ick", &usbhost_ick, CK_3430ES2 | CK_AM35XX),
>> + CLK(NULL, "usbhost_ick", &usbhost_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
>> + CLK("ehci-omap.0", "usbhost_ick", &usbhost_ick, CK_3430ES2 | CK_AM35XX),
>
> ditto
>
>> - CLK(NULL, "usim_fck", &usim_fck, CK_3430ES2),
>> + CLK(NULL, "usim_fck", &usim_fck, CK_3430ES2PLUS | CK_36XX),
>> CLK(NULL, "gpt1_fck", &gpt1_fck, CK_3XXX),
>> CLK(NULL, "wkup_32k_fck", &wkup_32k_fck, CK_3XXX),
>> CLK(NULL, "gpio1_dbck", &gpio1_dbck, CK_3XXX),
>> diff --cc arch/arm/mach-omap2/clock44xx_data.c
>> index c426adc,bfcd19f..0000000
>> --- a/arch/arm/mach-omap2/clock44xx_data.c
>> +++ b/arch/arm/mach-omap2/clock44xx_data.c
>> @@@ -3198,6 -2937,10 +3198,7 @@@ static struct omap_clk omap44xx_clks[]
>> CLK(NULL, "uart3_fck", &uart3_fck, CK_443X),
>> CLK(NULL, "uart4_fck", &uart4_fck, CK_443X),
>> CLK(NULL, "usb_host_fs_fck", &usb_host_fs_fck, CK_443X),
>> + CLK("ehci-omap.0", "fs_fck", &usb_host_fs_fck, CK_443X),
>> - CLK(NULL, "usb_host_hs_utmi_p3_clk", &usb_host_hs_utmi_p3_clk, CK_443X),
>> - CLK(NULL, "usb_host_hs_hsic60m_p1_clk", &usb_host_hs_hsic60m_p1_clk, CK_443X),
>> - CLK(NULL, "usb_host_hs_hsic60m_p2_clk", &usb_host_hs_hsic60m_p2_clk, CK_443X),
>
> I'm not sure these 3 nodes should be removed. AFAIR, they were just slightly moved in lo branch.
Even with the fixes above, ehci on my beagle xM/Panda still doesn't work
with 2.6.37-next-20110106+, follows the failure messages:
[ 57.918182] bus: 'platform': really_probe: probing driver ehci-omap
with device ehci-omap.0
[ 57.918243] ehci-omap ehci-omap.0: failed to get ehci port0 regulator
[ 57.918273] ehci-omap ehci-omap.0: failed to get ehci port1 regulator
[ 57.918304] ehci-omap ehci-omap.0: starting TI EHCI USB Controller
[ 57.918457] ehci-omap ehci-omap.0: OMAP UHH_REVISION 0x10
[ 57.918487] ehci-omap ehci-omap.0: TLL RESET DONE
[ 57.918487] ehci-omap ehci-omap.0: OMAP3 ES version > ES2.1
[ 57.918518] ehci-omap ehci-omap.0: UHH setup done, uhh_hostconfig=31c
[ 58.922302] ehci-omap ehci-omap.0: phy reset operation timed out
[ 59.930114] ehci-omap ehci-omap.0: phy reset operation timed out
[ 59.930145] ehci-omap ehci-omap.0: reset hcs_params 0x1313 dbg=0
cc=1 pcc=3 ordered ports=3
[ 59.930175] ehci-omap ehci-omap.0: reset hcc_params 0016 thresh 1
uframes 256/512/1024 park
[ 59.930206] ehci-omap ehci-omap.0: OMAP-EHCI Host Controller
[ 59.936218] drivers/usb/core/inode.c: creating file 'devices'
[ 59.936279] drivers/usb/core/inode.c: creating file '001'
Any ideas?
thanks,
--
Lei Ming
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/