Merge "USB: dwc3-msm: Add support for setting specific frequency for core clock"
This commit is contained in:
commit
8cd4d6c413
2 changed files with 15 additions and 5 deletions
|
@ -50,6 +50,7 @@ Optional properties :
|
||||||
- qcom,disable-dev-mode-pm: If present, it disables PM runtime functionality for device mode.
|
- 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
|
- qcom,disable-host-mode-pm: If present, it disables XHCI PM runtime functionality when USB
|
||||||
host mode is used.
|
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
|
- extcon: phandles to external connector devices. First phandle should point to
|
||||||
external connector, which provide "USB" cable events, the second
|
external connector, which provide "USB" cable events, the second
|
||||||
should point to external connector device, which provide "USB-HOST"
|
should point to external connector device, which provide "USB-HOST"
|
||||||
|
|
|
@ -2338,14 +2338,23 @@ static int dwc3_msm_get_clk_gdsc(struct dwc3_msm *mdwc)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
if (!of_property_read_u32(mdwc->dev->of_node, "qcom,core-clk-rate",
|
||||||
* Get Max supported clk frequency for USB Core CLK and request
|
(u32 *)&mdwc->core_clk_rate)) {
|
||||||
* to set the same.
|
mdwc->core_clk_rate = clk_round_rate(mdwc->core_clk,
|
||||||
*/
|
mdwc->core_clk_rate);
|
||||||
mdwc->core_clk_rate = clk_round_rate(mdwc->core_clk, LONG_MAX);
|
} 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)) {
|
if (IS_ERR_VALUE(mdwc->core_clk_rate)) {
|
||||||
dev_err(mdwc->dev, "fail to get core clk max freq.\n");
|
dev_err(mdwc->dev, "fail to get core clk max freq.\n");
|
||||||
} else {
|
} 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);
|
ret = clk_set_rate(mdwc->core_clk, mdwc->core_clk_rate);
|
||||||
if (ret)
|
if (ret)
|
||||||
dev_err(mdwc->dev, "fail to set core_clk freq:%d\n",
|
dev_err(mdwc->dev, "fail to set core_clk freq:%d\n",
|
||||||
|
|
Loading…
Add table
Reference in a new issue