bbbb > -----Original Message----- > From: Viresh Kumar <viresh.kumar@xxxxxxxxxx> > Sent: Friday, May 4, 2018 09:11 > To: Ilia Lin <ilialin@xxxxxxxxxxxxxx> > Cc: mturquette@xxxxxxxxxxxx; sboyd@xxxxxxxxxx; robh@xxxxxxxxxx; > mark.rutland@xxxxxxx; rjw@xxxxxxxxxxxxx; lgirdwood@xxxxxxxxx; > broonie@xxxxxxxxxx; andy.gross@xxxxxxxxxx; david.brown@xxxxxxxxxx; > catalin.marinas@xxxxxxx; will.deacon@xxxxxxx; linux-clk@xxxxxxxxxxxxxxx; > devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux- > pm@xxxxxxxxxxxxxxx; linux-arm-msm@xxxxxxxxxxxxxxx; linux- > soc@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; > rnayak@xxxxxxxxxxxxxx; amit.kucheria@xxxxxxxxxx; > nicolas.dechesne@xxxxxxxxxx; celster@xxxxxxxxxxxxxx; > tfinkel@xxxxxxxxxxxxxx > Subject: Re: [PATCH v5 13/14] dt-bindings: cpufreq: Document operating- > points-v2-kryo-cpu > > On 03-05-18, 14:52, Ilia Lin wrote: > > In Certain Qualcomm Technologies, Inc. SoCs like apq8096 and msm8996 > > that have KRYO processors, the CPU ferequencies subset and voltage > > value of each OPP varies based on the silicon variant in use. > > Qualcomm Technologies, Inc. Process Voltage Scaling Tables defines the > > voltage and frequency value based on the msm-id in SMEM and speedbin > > blown in the efuse combination. > > The qcom-cpufreq-kryo driver reads the msm-id and efuse value from the > > SoC to provide the OPP framework with required information. > > This is used to determine the voltage and frequency value for each OPP > > of > > operating-points-v2 table when it is parsed by the OPP framework. > > > > This change adds documentation. > > > > Signed-off-by: Ilia Lin <ilialin@xxxxxxxxxxxxxx> > > --- > > .../devicetree/bindings/opp/kryo-cpufreq.txt | 693 > +++++++++++++++++++++ > > 1 file changed, 693 insertions(+) > > create mode 100644 > > Documentation/devicetree/bindings/opp/kryo-cpufreq.txt > > > > diff --git a/Documentation/devicetree/bindings/opp/kryo-cpufreq.txt > > b/Documentation/devicetree/bindings/opp/kryo-cpufreq.txt > > new file mode 100644 > > index 0000000..20cef9d > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/opp/kryo-cpufreq.txt > > @@ -0,0 +1,693 @@ > > +Qualcomm Technologies, Inc. KRYO CPUFreq and OPP bindings > > +=================================== > > + > > +In Certain Qualcomm Technologies, Inc. SoCs like apq8096 and msm8996 > > +that have KRYO processors, the CPU ferequencies subset and voltage > > +value of each OPP varies based on the silicon variant in use. > > +Qualcomm Technologies, Inc. Process Voltage Scaling Tables defines > > +the voltage and frequency value based on the msm-id in SMEM and > > +speedbin blown in the efuse combination. > > +The qcom-cpufreq-kryo driver reads the msm-id and efuse value from > > +the SoC to provide the OPP framework with required information > (existing HW bitmap). > > +This is used to determine the voltage and frequency value for each > > +OPP of > > +operating-points-v2 table when it is parsed by the OPP framework. > > + > > +Required properties: > > +-------------------- > > +In 'cpus' nodes: > > +- operating-points-v2: Phandle to the operating-points-v2 table to use. > > + > > +In 'operating-points-v2' table: > > +- compatible: Should be > > + - 'operating-points-v2-kryo-cpu' for apq8096 and msm8996. > > +- nvmem-cells: A phandle pointing to a nvmem-cells node representing > the > > + efuse registers that has information about the > > + speedbin that is used to select the right frequency/voltage > > + value pair. > > + Please refer the for nvmem-cells > > + bindings > Documentation/devicetree/bindings/nvmem/nvmem.txt > > + and also examples below. > > + > > +In every OPP node: > > +- opp-supported-hw: A single 32 bit bitmap value, representing > compatible HW. > > + Bitmap: > > + 0: MSM8996 V3, speedbin 0 > > + 1: MSM8996 V3, speedbin 1 > > + 2: MSM8996 V3, speedbin 2 > > + 3: unused > > + 4: MSM8996 SG, speedbin 0 > > + 5: MSM8996 SG, speedbin 1 > > + 6: MSM8996 SG, speedbin 2 > > + 7-31: unused > > + > > +Example 1: > > +--------- > > + > > + cpus { > > + #address-cells = <2>; > > + #size-cells = <0>; > > + > > + CPU0: cpu@0 { > > + device_type = "cpu"; > > + compatible = "qcom,kryo"; > > + reg = <0x0 0x0>; > > + enable-method = "psci"; > > + clocks = <&kryocc 0>; > > + cpu-supply = <&pm8994_s11_saw>; > > + operating-points-v2 = <&cluster0_opp>; > > + /* cooling options */ > > + cooling-min-level = <0>; > > + cooling-max-level = <15>; > > cooling min/max aren't required anymore, as I told you in the previous > version :) Sure, I removed them in the DT, but forgot in the documentation. Will fix. > > > + cluster0_opp: opp_table0 { > > + compatible = "operating-points-v2-kryo-cpu"; > > + nvmem-cells = <&speedbin_efuse>; > > + opp-shared; > > + > > + opp-307200000 { > > + opp-hz = /bits/ 64 < 307200000 >; > > You fixed spacing around frequency values in the dts but not here. Same as above. > > > + opp-microvolt = <905000 905000 1140000>; > > + opp-supported-hw = <0x77>; > > + clock-latency-ns = <200000>; > > + }; > > -- > viresh -- To unsubscribe from this list: send the line "unsubscribe linux-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html