mbox series

[v5,0/3] arm: qcom: qcom-apq8064: add separate device node for tsens

Message ID 20220427125423.3166138-1-dmitry.baryshkov@linaro.org
Headers show
Series arm: qcom: qcom-apq8064: add separate device node for tsens | expand

Message

Dmitry Baryshkov April 27, 2022, 12:54 p.m. UTC
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 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 (3):
  clk: qcom: gcc-msm8960: create tsens device if there are no child
    nodes
  arm: dts: qcom-apq8064: create tsens device node
  dt-bindings: clock: qcom,gcc-apq8064: split tsens to the child node

 .../bindings/clock/qcom,gcc-apq8064.yaml      | 49 +++++++++----------
 arch/arm/boot/dts/qcom-apq8064.dtsi           | 25 +++++++---
 drivers/clk/qcom/gcc-msm8960.c                |  6 ++-
 3 files changed, 44 insertions(+), 36 deletions(-)


base-commit: 3123109284176b1532874591f7c81f3837bbdc17
prerequisite-patch-id: b5aad2b1e0db4e6d77d6a2faa2fe95acf274b3c8
prerequisite-patch-id: a0c7dcfc85a1eac4969530b73230f226006d6e1a
prerequisite-patch-id: 0fbf70957a52fa87d038d08f9c599e314c69e7d5
prerequisite-patch-id: d22652b1f0e097692b670a0ed4c3f803875d1c5e

Comments

Krzysztof Kozlowski April 28, 2022, 8 a.m. UTC | #1
On 27/04/2022 14:54, 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 <dmitry.baryshkov@linaro.org>
> ---
>  .../bindings/clock/qcom,gcc-apq8064.yaml      | 49 +++++++++----------
>  1 file changed, 22 insertions(+), 27 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-apq8064.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-apq8064.yaml
> index bd7b04c75e50..3a8bb5a5b37f 100644
> --- a/Documentation/devicetree/bindings/clock/qcom,gcc-apq8064.yaml
> +++ b/Documentation/devicetree/bindings/clock/qcom,gcc-apq8064.yaml
> @@ -23,47 +23,42 @@ description: |
>  
>  properties:
>    compatible:
> -    enum:
> -      - qcom,gcc-apq8064
> -      - qcom,gcc-msm8960
> -
> -  nvmem-cells:
> -    minItems: 1
> -    maxItems: 2
> -    description:
> -      Qualcomm TSENS (thermal sensor device) on some devices can
> -      be part of GCC and hence the TSENS properties can also be part
> -      of the GCC/clock-controller node.
> -      For more details on the TSENS properties please refer
> -      Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
> -
> -  nvmem-cell-names:

All these properties (and old compatible list) should be rather instead
made deprecated:true. These bindings exists since some time, so it's not
like refactoring during development.

> -    minItems: 1
>      items:
> -      - const: calib
> -      - const: calib_backup
> +      - enum:
> +          - qcom,gcc-apq8064
> +          - qcom,gcc-msm8960
> +      - const: syscon
> +
> +  thermal-sensor:
> +    type: object
>  
> -  '#thermal-sensor-cells':
> -    const: 1
> +    allOf:
> +      - $ref: /schemas/thermal/qcom-tsens.yaml#

No need for allOf and type, just $ref and description.

>  
>  required:
>    - compatible
> -  - nvmem-cells
> -  - nvmem-cell-names
> -  - '#thermal-sensor-cells'
>  
>  unevaluatedProperties: false


Best regards,
Krzysztof