|
52 | 52 | */ |
53 | 53 | #define OMAP4_DPLL_ABE_DEFFREQ98304000 |
54 | 54 |
|
| 55 | +/* |
| 56 | + * OMAP4 USB DPLL default frequency. In OMAP4430 TRM version V, section |
| 57 | + * "3.6.3.9.5 DPLL_USB Preferred Settings" shows that the preferred |
| 58 | + * locked frequency for the USB DPLL is 960MHz. |
| 59 | + */ |
| 60 | +#define OMAP4_DPLL_USB_DEFFREQ960000000 |
| 61 | + |
55 | 62 | /* Root clocks */ |
56 | 63 |
|
57 | 64 | DEFINE_CLK_FIXED_RATE(extalt_clkin_ck, CLK_IS_ROOT, 59000000, 0x0); |
@@ -1011,6 +1018,10 @@ DEFINE_CLK_OMAP_MUX(hsmmc2_fclk, "l3_init_clkdm", hsmmc1_fclk_sel, |
1011 | 1018 | OMAP4430_CM_L3INIT_MMC2_CLKCTRL, OMAP4430_CLKSEL_MASK, |
1012 | 1019 | hsmmc1_fclk_parents, func_dmic_abe_gfclk_ops); |
1013 | 1020 |
|
| 1021 | +DEFINE_CLK_GATE(ocp2scp_usb_phy_phy_48m, "func_48m_fclk", &func_48m_fclk, 0x0, |
| 1022 | +OMAP4430_CM_L3INIT_USBPHYOCP2SCP_CLKCTRL, |
| 1023 | +OMAP4430_OPTFCLKEN_PHY_48M_SHIFT, 0x0, NULL); |
| 1024 | + |
1014 | 1025 | DEFINE_CLK_GATE(sha2md5_fck, "l3_div_ck", &l3_div_ck, 0x0, |
1015 | 1026 | OMAP4430_CM_L4SEC_SHA2MD51_CLKCTRL, |
1016 | 1027 | OMAP4430_MODULEMODE_SWCTRL_SHIFT, 0x0, NULL); |
@@ -1538,6 +1549,7 @@ static struct omap_clk omap44xx_clks[] = { |
1538 | 1549 | CLK(NULL,"per_mcbsp4_gfclk",&per_mcbsp4_gfclk,CK_443X), |
1539 | 1550 | CLK(NULL,"hsmmc1_fclk",&hsmmc1_fclk,CK_443X), |
1540 | 1551 | CLK(NULL,"hsmmc2_fclk",&hsmmc2_fclk,CK_443X), |
| 1552 | +CLK(NULL,"ocp2scp_usb_phy_phy_48m",&ocp2scp_usb_phy_phy_48m,CK_443X), |
1541 | 1553 | CLK(NULL,"sha2md5_fck",&sha2md5_fck,CK_443X), |
1542 | 1554 | CLK(NULL,"slimbus1_fclk_1",&slimbus1_fclk_1,CK_443X), |
1543 | 1555 | CLK(NULL,"slimbus1_fclk_0",&slimbus1_fclk_0,CK_443X), |
@@ -1705,5 +1717,13 @@ int __init omap4xxx_clk_init(void) |
1705 | 1717 | if (rc) |
1706 | 1718 | pr_err("%s: failed to configure ABE DPLL!\n", __func__); |
1707 | 1719 |
|
| 1720 | +/* |
| 1721 | + * Lock USB DPLL on OMAP4 devices so that the L3INIT power |
| 1722 | + * domain can transition to retention state when not in use. |
| 1723 | + */ |
| 1724 | +rc = clk_set_rate(&dpll_usb_ck, OMAP4_DPLL_USB_DEFFREQ); |
| 1725 | +if (rc) |
| 1726 | +pr_err("%s: failed to configure USB DPLL!\n", __func__); |
| 1727 | + |
1708 | 1728 | return 0; |
1709 | 1729 | } |
0 commit comments