* [PATCH 4/4] devicetree: bindings: qcom,mmcc: Document GDSC binding [not found] <1396637136-29974-1-git-send-email-sboyd@codeaurora.org> @ 2014-04-04 18:45 ` Stephen Boyd 2014-04-29 7:07 ` [PATCH 4/4] devicetree: bindings: qcom, mmcc: " Mike Turquette 0 siblings, 1 reply; 3+ messages in thread From: Stephen Boyd @ 2014-04-04 18:45 UTC (permalink / raw) To: Mike Turquette Cc: devicetree, Saravana Kannan, linux-arm-msm, linux-kernel, Mark Brown, linux-arm-kernel Document the GDSC nodes present within the multimedia clock controller. Cc: <devicetree@vger.kernel.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> --- .../devicetree/bindings/clock/qcom,mmcc.txt | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/Documentation/devicetree/bindings/clock/qcom,mmcc.txt b/Documentation/devicetree/bindings/clock/qcom,mmcc.txt index d572e9964c54..695f86ad94ea 100644 --- a/Documentation/devicetree/bindings/clock/qcom,mmcc.txt +++ b/Documentation/devicetree/bindings/clock/qcom,mmcc.txt @@ -19,3 +19,45 @@ Example: #clock-cells = <1>; #reset-cells = <1>; }; + +Qualcomm Global Distributed Switch Controller (GDSC) Binding +------------------------------------------------------------ + +The GDSC is responsible for safely collapsing and restoring power to +peripheral cores on chipsets like msm8974 for power savings. + +Required properties: + - regulator-name: A string used as a descriptive name for regulator outputs + +Optional properties: + - parent-supply: phandle to the parent supply/regulator node + - qcom,retain-mem: Presence denotes a hardware requirement to leave the + forced core memory retention signals in the core's clock + branch control registers asserted. + - qcom,retain-periph: Presence denotes a hardware requirement to leave the + forced periph memory retention signal in the core's clock + branch control registers asserted. + - qcom,skip-logic-collapse: Presence denotes a requirement to leave power to + the core's logic enabled. + - qcom,support-hw-trigger: Presence denotes a hardware feature to switch + on/off this regulator based on internal HW signals + to save more power. + +Example: + clock-controller@4000000 { + compatible = "qcom,mmcc-msm8974"; + reg = <0x4000000 0x1000>; + #clock-cells = <1>; + #reset-cells = <1>; + + regulators { + gdsc_oxili_gx: gdsc_oxili_gx { + regulator-name = "gdsc_oxili_gx"; + parent-supply = <&pm8841_s4>; + qcom,retain-mem; + qcom,retain-periph; + qcom,skip-logic-collapse; + qcom,support-hw-trigger; + }; + }; + }; -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 4/4] devicetree: bindings: qcom, mmcc: Document GDSC binding 2014-04-04 18:45 ` [PATCH 4/4] devicetree: bindings: qcom,mmcc: Document GDSC binding Stephen Boyd @ 2014-04-29 7:07 ` Mike Turquette 2014-04-30 21:16 ` [PATCH 4/4] devicetree: bindings: qcom,mmcc: " Stephen Boyd 0 siblings, 1 reply; 3+ messages in thread From: Mike Turquette @ 2014-04-29 7:07 UTC (permalink / raw) To: Stephen Boyd Cc: devicetree, Saravana Kannan, linux-arm-msm, linux-kernel, Mark Brown, linux-arm-kernel Quoting Stephen Boyd (2014-04-04 11:45:36) > +Example: > + clock-controller@4000000 { > + compatible = "qcom,mmcc-msm8974"; > + reg = <0x4000000 0x1000>; > + #clock-cells = <1>; > + #reset-cells = <1>; > + > + regulators { > + gdsc_oxili_gx: gdsc_oxili_gx { > + regulator-name = "gdsc_oxili_gx"; Hi Stephen, It makes sense to model the gdsc's as regulators. It also makes sense to nest them within the clock-controller node, assuming that matches the register manual for your part. However, does it make sense to put this new code under drivers/clk/qcom? I don't see a compelling reason. How about breaking the registers out into a header for easier reuse? Regards, Mike > + parent-supply = <&pm8841_s4>; > + qcom,retain-mem; > + qcom,retain-periph; > + qcom,skip-logic-collapse; > + qcom,support-hw-trigger; > + }; > + }; > + }; > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > hosted by The Linux Foundation > ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 4/4] devicetree: bindings: qcom,mmcc: Document GDSC binding 2014-04-29 7:07 ` [PATCH 4/4] devicetree: bindings: qcom, mmcc: " Mike Turquette @ 2014-04-30 21:16 ` Stephen Boyd 0 siblings, 0 replies; 3+ messages in thread From: Stephen Boyd @ 2014-04-30 21:16 UTC (permalink / raw) To: Mike Turquette Cc: linux-kernel, linux-arm-msm, linux-arm-kernel, Mark Brown, Saravana Kannan, devicetree On 04/29, Mike Turquette wrote: > Quoting Stephen Boyd (2014-04-04 11:45:36) > > +Example: > > + clock-controller@4000000 { > > + compatible = "qcom,mmcc-msm8974"; > > + reg = <0x4000000 0x1000>; > > + #clock-cells = <1>; > > + #reset-cells = <1>; > > + > > + regulators { > > + gdsc_oxili_gx: gdsc_oxili_gx { > > + regulator-name = "gdsc_oxili_gx"; > > Hi Stephen, > > It makes sense to model the gdsc's as regulators. It also makes sense to > nest them within the clock-controller node, assuming that matches the > register manual for your part. > > However, does it make sense to put this new code under drivers/clk/qcom? > I don't see a compelling reason. How about breaking the registers out > into a header for easier reuse? What registers are we talking about? I put this under drivers/clk/qcom because it's one device that happens to have all these different driver subsystems in it (clocks, reset, gdsc). -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-04-30 21:16 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <1396637136-29974-1-git-send-email-sboyd@codeaurora.org> 2014-04-04 18:45 ` [PATCH 4/4] devicetree: bindings: qcom,mmcc: Document GDSC binding Stephen Boyd 2014-04-29 7:07 ` [PATCH 4/4] devicetree: bindings: qcom, mmcc: " Mike Turquette 2014-04-30 21:16 ` [PATCH 4/4] devicetree: bindings: qcom,mmcc: " Stephen Boyd
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).