On Sat, May 19, 2018 at 11:04:50PM +0530, Taniya Das wrote:
> Add QCOM cpufreq firmware device bindings for Qualcomm Technology Inc's
> SoCs. This is required for managing the cpu frequency transitions which are
> controlled by firmware.
> 
> Signed-off-by: Taniya Das <t...@codeaurora.org>
> ---
>  .../bindings/cpufreq/cpufreq-qcom-fw.txt           | 68 
> ++++++++++++++++++++++
>  1 file changed, 68 insertions(+)
>  create mode 100644 
> Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-fw.txt
> 
> diff --git a/Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-fw.txt 
> b/Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-fw.txt
> new file mode 100644
> index 0000000..bc912f4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-fw.txt
> @@ -0,0 +1,68 @@
> +Qualcomm Technologies, Inc. CPUFREQ Bindings
> +
> +CPUFREQ FW is a hardware engine used by some Qualcomm Technologies, Inc. 
> (QTI)
> +SoCs to manage frequency in hardware. It is capable of controlling frequency
> +for multiple clusters.
> +
> +Properties:
> +- compatible
> +     Usage:          required
> +     Value type:     <string>
> +     Definition:     must be "qcom,cpufreq-fw".

Only 1 version ever?

> +
> +Note that #address-cells, #size-cells, and ranges shall be present to ensure
> +the cpufreq can address a freq-domain registers.
> +
> +A freq-domain sub-node would be defined for the cpus with the following
> +properties:
> +
> +- compatible:
> +     Usage:          required
> +     Value type:     <string>
> +     Definition:     must be "cpufreq".

Too generic. This is very much a QCom specific binding. Perhaps just 
drop the compatible.

> +
> +- reg
> +     Usage:          required
> +     Value type:     <prop-encoded-array>
> +     Definition:     Addresses and sizes for the memory of the perf_base
> +                     , lut_base and en_base.
> +- reg-names
> +     Usage:          required
> +     Value type:     <stringlist>
> +     Definition:     Address names. Must be "perf_base", "lut_base",
> +                     "en_base".

_base is redundant.

> +                     Must be specified in the same order as the
> +                     corresponding addresses are specified in the reg
> +                     property.

Actually, must be specified in the order you specify here.

> +
> +- qcom,cpulist
> +     Usage:          required
> +     Value type:     <phandles of CPU>
> +     Definition:     List of related cpu handles which are under a cluster.
> +
> +Example:
> +     qcom,cpufreq-fw {
> +             compatible = "qcom,cpufreq-fw";
> +
> +             #address-cells = <1>;
> +             #size-cells = <1>;
> +             ranges;

There's not a smaller address range you can restrict children to?

> +
> +             freq-domain-0 {
> +                     compatible = "cpufreq";
> +                     reg = <0x17d43920 0x4>,
> +                          <0x17d43110 0x500>,
> +                          <0x17d41000 0x4>;
> +                     reg-names = "perf_base", "lut_base", "en_base";
> +                     qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>;
> +             };
> +
> +             freq-domain-1 {
> +                     compatible = "cpufreq";
> +                     reg = <0x17d46120 0x4>,
> +                         <0x17d45910 0x500>,
> +                         <0x17d45800 0x4>;
> +                     reg-names = "perf_base", "lut_base", "en_base";
> +                     qcom,cpulist = <&CPU4 &CPU5 &CPU6 &CPU7>;
> +             };
> +     };
> --
> Qualcomm INDIA, on behalf of Qualcomm Innovation Center, Inc.is a member
> of the Code Aurora Forum, hosted by the  Linux Foundation.
> 

Reply via email to