Merge "USB: dwc3-msm: Add support for setting specific frequency for core clock"

This commit is contained in:
Linux Build Service Account 2016-08-13 04:51:51 -07:00 committed by Gerrit - the friendly Code Review server
commit 8cd4d6c413
2 changed files with 15 additions and 5 deletions

View file

@ -50,6 +50,7 @@ Optional properties :
- qcom,disable-dev-mode-pm: If present, it disables PM runtime functionality for device mode.
- qcom,disable-host-mode-pm: If present, it disables XHCI PM runtime functionality when USB
host mode is used.
- qcom,core-clk-rate: If present, indicates clock frequency to be set for USB master clock.
- extcon: phandles to external connector devices. First phandle should point to
external connector, which provide "USB" cable events, the second
should point to external connector device, which provide "USB-HOST"

View file

@ -2338,14 +2338,23 @@ static int dwc3_msm_get_clk_gdsc(struct dwc3_msm *mdwc)
return ret;
}
/*
* Get Max supported clk frequency for USB Core CLK and request
* to set the same.
*/
mdwc->core_clk_rate = clk_round_rate(mdwc->core_clk, LONG_MAX);
if (!of_property_read_u32(mdwc->dev->of_node, "qcom,core-clk-rate",
(u32 *)&mdwc->core_clk_rate)) {
mdwc->core_clk_rate = clk_round_rate(mdwc->core_clk,
mdwc->core_clk_rate);
} else {
/*
* Get Max supported clk frequency for USB Core CLK and request
* to set the same.
*/
mdwc->core_clk_rate = clk_round_rate(mdwc->core_clk, LONG_MAX);
}
if (IS_ERR_VALUE(mdwc->core_clk_rate)) {
dev_err(mdwc->dev, "fail to get core clk max freq.\n");
} else {
dev_dbg(mdwc->dev, "USB core frequency = %ld\n",
mdwc->core_clk_rate);
ret = clk_set_rate(mdwc->core_clk, mdwc->core_clk_rate);
if (ret)
dev_err(mdwc->dev, "fail to set core_clk freq:%d\n",