Re: [PATCH 2/7] dt-bindings: PM / OPP: add clocks per OPP node support

From: Rob Herring
Date: Thu Aug 31 2017 - 13:39:27 EST


On Thu, Aug 24, 2017 at 12:10:05AM +0800, Dong Aisheng wrote:
> It's used for platforms where different OPPs may use different clocks.
> With this extended binding, user could specify the correct clock for each
> OPP node.
>
> Cc: Viresh Kumar <vireshk@xxxxxxxxxx>
> Cc: Nishanth Menon <nm@xxxxxx>
> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx>
> Cc: Rob Herring <robh+dt@xxxxxxxxxx>
> Cc: Frank Rowand <frowand.list@xxxxxxxxx>
> Cc: devicetree@xxxxxxxxxxxxxxx
> Signed-off-by: Dong Aisheng <aisheng.dong@xxxxxxx>
> ---
> Documentation/devicetree/bindings/opp/opp.txt | 52 +++++++++++++++++++++++++++
> 1 file changed, 52 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/opp/opp.txt b/Documentation/devicetree/bindings/opp/opp.txt
> index e36d261..40a4340 100644
> --- a/Documentation/devicetree/bindings/opp/opp.txt
> +++ b/Documentation/devicetree/bindings/opp/opp.txt
> @@ -152,6 +152,11 @@ Optional properties:
> hierarchy can be contained in multiple 32 bit values. i.e. <X Y Z1 Z2> in the
> above example, Z1 & Z2 refer to the version hierarchy Z.
>
> +- clocks: Clock phandle and specifier used for this opp.
> +
> +- clock-names: clock names for this opp. The valid clock names are platform
> + specific.

You don't need -names if there's only 1 clock. But then how long until
we have a list of any random clocks some how associated with an OPP.

I think this should really be solved within the clock framework. What
you really need is "set my parent clock to the source that can provide X
Hz". Could the assigned-clocks property work here (in the OPP nodes
rather than the cpu nodes)?

> +
> - status: Marks the node enabled/disabled.
>
> Example 1: Single cluster Dual-core ARM cortex A9, switch DVFS states together.
> @@ -528,3 +533,50 @@ Example 6: opp-microvolt-<name>, opp-microamp-<name>:
> };
> };
> };
> +
> +Example 7: Single core ARM cortex A7, switch separate clocks for each OPP:

Can't you add this to an existing example? We don't need to enumerate
every possible option.

Rob