Currently gcc-msm8960 driver manually creates tsens device. Instantiate
the device using DT node instead. This makes the APQ8064 follow the
IPQ8064 device tree schema (which is also closer to the way tsens
devices are described on newer Qualcomm platforms).
Compatibility with the previous devices trees is kept intact.
Changes since v5:
- Inherited the gcc-msm8960 patch from another patchseries.
- Marked old nvmem/thermal sensor properties as deprecated (Krzyshtof).
Changes since v4:
- Added thermal-sensor description to the qcom,gcc-apq8064 schema
Changes since v3:
- Fix a typo qcom,gcc-msm8060 -> qcom,gcc-msm8960 (noted by Krzyshtof)
- Fixed indentation in the example (also noted by Krzyshtof)
Changes since v2:
- Remove patches merged by Daniel
- Rephrase commit messages to emphasize that these changes make apq8064
follow ipq8064
Changes since v1:
- populate child devices in gcc-msm8960
- add syscon to the gcc device tree node
Dmitry Baryshkov (4):
dt-bindings: clock: qcom,gcc-apq8064: move msm8960 compat from
gcc-other.yaml
dt-bindings: clock: qcom,gcc-apq8064: split tsens to the child node
clk: qcom: gcc-msm8960: create tsens device if there are no child
nodes
arm: dts: qcom-apq8064: create tsens device node
.../bindings/clock/qcom,gcc-apq8064.yaml | 40 ++++++++++++++-----
.../bindings/clock/qcom,gcc-other.yaml | 5 +--
arch/arm/boot/dts/qcom-apq8064.dtsi | 25 ++++++++----
drivers/clk/qcom/gcc-msm8960.c | 6 ++-
4 files changed, 55 insertions(+), 21 deletions(-)
--
2.35.1
MSM8960 shares the design (and the driver) of the global clock
controller with APQ8064. Move it from clock/qcom,gcc-other.yaml to
clock/qcom,gcc-apq8064.yaml.
As the example in gcc-other.yaml was using qcom,gcc-msm8960 compat string,
change it to qcom,gcc-msm8974.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Baryshkov <redacted>
---
.../devicetree/bindings/clock/qcom,gcc-apq8064.yaml | 6 ++++--
Documentation/devicetree/bindings/clock/qcom,gcc-other.yaml | 5 ++---
2 files changed, 6 insertions(+), 5 deletions(-)
@@ -4,7 +4,7 @@$id:http://devicetree.org/schemas/clock/qcom,gcc-apq8064.yaml#$schema:http://devicetree.org/meta-schemas/core.yaml#-title:Qualcomm Global Clock & Reset Controller Binding for APQ8064+title:Qualcomm Global Clock & Reset Controller Binding for APQ8064/MSM8960allOf:-$ref:qcom,gcc.yaml#
@@ -61,10 +60,10 @@ required:unevaluatedProperties:falseexamples:-# Example for GCC for MSM8960:+# Example for GCC for MSM8974:-|clock-controller@900000 {-compatible = "qcom,gcc-msm8960";+compatible = "qcom,gcc-msm8974";reg = <0x900000 0x4000>;#clock-cells = <1>;#reset-cells = <1>;
From: Krzysztof Kozlowski <krzk@kernel.org> Date: 2022-05-21 15:23:37
On 21/05/2022 17:14, Dmitry Baryshkov wrote:
MSM8960 shares the design (and the driver) of the global clock
controller with APQ8064. Move it from clock/qcom,gcc-other.yaml to
clock/qcom,gcc-apq8064.yaml.
As the example in gcc-other.yaml was using qcom,gcc-msm8960 compat string,
change it to qcom,gcc-msm8974.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Baryshkov <redacted>
Reviewed-by: Krzysztof Kozlowski <redacted>
Best regards,
Krzysztof
Split tsens properties to the child node of the gcc. This follows the
lead of ipq8064 (which also uses a separate node for tsens) and makes
device tree closer to other platforms, where tsens is a completely
separate device.
Signed-off-by: Dmitry Baryshkov <redacted>
---
.../bindings/clock/qcom,gcc-apq8064.yaml | 40 ++++++++++++++-----
1 file changed, 30 insertions(+), 10 deletions(-)
@@ -23,13 +23,25 @@ description: |properties:compatible:-enum:--qcom,gcc-apq8064--qcom,gcc-msm8960+oneOf:+-items:+-enum:+-qcom,gcc-apq8064+-qcom,gcc-msm8960+-const:syscon+-enum:+-qcom,gcc-apq8064+-qcom,gcc-msm8960+deprecated:true++thermal-sensor:+description:child tsens device+$ref:/schemas/thermal/qcom-tsens.yaml#nvmem-cells:minItems:1maxItems:2+deprecated:truedescription:Qualcomm TSENS (thermal sensor device) on some devices canbe part of GCC and hence the TSENS properties can also be part
From: Krzysztof Kozlowski <hidden> Date: 2022-05-21 15:24:26
On 21/05/2022 17:14, Dmitry Baryshkov wrote:
Split tsens properties to the child node of the gcc. This follows the
lead of ipq8064 (which also uses a separate node for tsens) and makes
device tree closer to other platforms, where tsens is a completely
separate device.
Signed-off-by: Dmitry Baryshkov <redacted>
Reviewed-by: Krzysztof Kozlowski <redacted>
Best regards,
Krzysztof
Currently gcc-msm8960 driver manually creates tsens platform device
manually. It would be better to follow IPQ8064 approach, where tsens
device is defined as gcc's child device in the device tree. If nothing
else, it removes gcc's dependency on QFPROM, thus allowing clock
controller to be probed earlier.
Don't create it in case there are available child nodes (tsens) inside
the gcc's device tree node.
Signed-off-by: Dmitry Baryshkov <redacted>
---
drivers/clk/qcom/gcc-msm8960.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Create separate device node for thermal sensors on apq8064 platform.
Move related properties to the newly created device tree node.
This harmonizes apq8064 and ipq8064 device trees and allows gcc device
to be probed earlier by removing dependency on QFPROM nodes.
Signed-off-by: Dmitry Baryshkov <redacted>
---
arch/arm/boot/dts/qcom-apq8064.dtsi | 25 +++++++++++++++++--------
1 file changed, 17 insertions(+), 8 deletions(-)
On Sat, 21 May 2022 18:14:37 +0300, Dmitry Baryshkov wrote:
Create separate device node for thermal sensors on apq8064 platform.
Move related properties to the newly created device tree node.
This harmonizes apq8064 and ipq8064 device trees and allows gcc device
to be probed earlier by removing dependency on QFPROM nodes.
On Sat, 21 May 2022 18:14:33 +0300, Dmitry Baryshkov wrote:
Currently gcc-msm8960 driver manually creates tsens device. Instantiate
the device using DT node instead. This makes the APQ8064 follow the
IPQ8064 device tree schema (which is also closer to the way tsens
devices are described on newer Qualcomm platforms).
Compatibility with the previous devices trees is kept intact.
[...]
Applied, thanks!
[1/4] dt-bindings: clock: qcom,gcc-apq8064: move msm8960 compat from gcc-other.yaml
commit: 91a4cbf93326f2d27dda7361c43a5bb24cfd93c3
[2/4] dt-bindings: clock: qcom,gcc-apq8064: split tsens to the child node
commit: 621f984840928f0bd14b20c86b70a15590ed2d3e
[3/4] clk: qcom: gcc-msm8960: create tsens device if there are no child nodes
commit: 93b793d88da8b2c7afd63c64772666ec4274efad
Best regards,
--
Bjorn Andersson [off-list ref]
On Sat, 21 May 2022 18:14:33 +0300, Dmitry Baryshkov wrote:
quoted
Currently gcc-msm8960 driver manually creates tsens device. Instantiate
the device using DT node instead. This makes the APQ8064 follow the
IPQ8064 device tree schema (which is also closer to the way tsens
devices are described on newer Qualcomm platforms).
Compatibility with the previous devices trees is kept intact.
[...]
Applied, thanks!
[1/4] dt-bindings: clock: qcom,gcc-apq8064: move msm8960 compat from gcc-other.yaml
commit: 91a4cbf93326f2d27dda7361c43a5bb24cfd93c3
[2/4] dt-bindings: clock: qcom,gcc-apq8064: split tsens to the child node
commit: 621f984840928f0bd14b20c86b70a15590ed2d3e
[3/4] clk: qcom: gcc-msm8960: create tsens device if there are no child nodes
commit: 93b793d88da8b2c7afd63c64772666ec4274efad
I hope to see patch 4/4 to be also picked up at some point...
--
With best wishes
Dmitry