mirror of https://gitee.com/openkylin/linux.git
189 lines
4.2 KiB
YAML
189 lines
4.2 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/bindings/clock/qcom,gcc.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Qualcomm Global Clock & Reset Controller Binding
|
|
|
|
maintainers:
|
|
- Stephen Boyd <sboyd@kernel.org>
|
|
- Taniya Das <tdas@codeaurora.org>
|
|
|
|
description: |
|
|
Qualcomm global clock control module which supports the clocks, resets and
|
|
power domains.
|
|
|
|
properties:
|
|
compatible :
|
|
enum:
|
|
- qcom,gcc-apq8064
|
|
- qcom,gcc-apq8084
|
|
- qcom,gcc-ipq8064
|
|
- qcom,gcc-ipq4019
|
|
- qcom,gcc-ipq8074
|
|
- qcom,gcc-msm8660
|
|
- qcom,gcc-msm8916
|
|
- qcom,gcc-msm8960
|
|
- qcom,gcc-msm8974
|
|
- qcom,gcc-msm8974pro
|
|
- qcom,gcc-msm8974pro-ac
|
|
- qcom,gcc-msm8994
|
|
- qcom,gcc-msm8996
|
|
- qcom,gcc-msm8998
|
|
- qcom,gcc-mdm9615
|
|
- qcom,gcc-qcs404
|
|
- qcom,gcc-sc7180
|
|
- qcom,gcc-sdm630
|
|
- qcom,gcc-sdm660
|
|
- qcom,gcc-sdm845
|
|
- qcom,gcc-sm8150
|
|
|
|
clocks:
|
|
minItems: 1
|
|
maxItems: 3
|
|
items:
|
|
- description: Board XO source
|
|
- description: Board active XO source
|
|
- description: Sleep clock source
|
|
|
|
clock-names:
|
|
minItems: 1
|
|
maxItems: 3
|
|
items:
|
|
- const: bi_tcxo
|
|
- const: bi_tcxo_ao
|
|
- const: sleep_clk
|
|
|
|
'#clock-cells':
|
|
const: 1
|
|
|
|
'#reset-cells':
|
|
const: 1
|
|
|
|
'#power-domain-cells':
|
|
const: 1
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
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.txt
|
|
|
|
nvmem-cell-names:
|
|
minItems: 1
|
|
maxItems: 2
|
|
description:
|
|
Names for each nvmem-cells specified.
|
|
items:
|
|
- const: calib
|
|
- const: calib_backup
|
|
|
|
'thermal-sensor-cells':
|
|
const: 1
|
|
|
|
protected-clocks:
|
|
description:
|
|
Protected clock specifier list as per common clock binding
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- '#clock-cells'
|
|
- '#reset-cells'
|
|
- '#power-domain-cells'
|
|
|
|
if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: qcom,gcc-apq8064
|
|
|
|
then:
|
|
required:
|
|
- nvmem-cells
|
|
- nvmem-cell-names
|
|
- '#thermal-sensor-cells'
|
|
|
|
else:
|
|
if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- qcom,gcc-sm8150
|
|
- qcom,gcc-sc7180
|
|
then:
|
|
required:
|
|
- clocks
|
|
- clock-names
|
|
|
|
|
|
examples:
|
|
# Example for GCC for MSM8960:
|
|
- |
|
|
clock-controller@900000 {
|
|
compatible = "qcom,gcc-msm8960";
|
|
reg = <0x900000 0x4000>;
|
|
#clock-cells = <1>;
|
|
#reset-cells = <1>;
|
|
#power-domain-cells = <1>;
|
|
};
|
|
|
|
|
|
# Example of GCC with TSENS properties:
|
|
- |
|
|
clock-controller@900000 {
|
|
compatible = "qcom,gcc-apq8064";
|
|
reg = <0x00900000 0x4000>;
|
|
nvmem-cells = <&tsens_calib>, <&tsens_backup>;
|
|
nvmem-cell-names = "calib", "calib_backup";
|
|
#clock-cells = <1>;
|
|
#reset-cells = <1>;
|
|
#power-domain-cells = <1>;
|
|
#thermal-sensor-cells = <1>;
|
|
};
|
|
|
|
# Example of GCC with protected-clocks properties:
|
|
- |
|
|
clock-controller@100000 {
|
|
compatible = "qcom,gcc-sdm845";
|
|
reg = <0x100000 0x1f0000>;
|
|
protected-clocks = <187>, <188>, <189>, <190>, <191>;
|
|
#clock-cells = <1>;
|
|
#reset-cells = <1>;
|
|
#power-domain-cells = <1>;
|
|
};
|
|
|
|
# Example of GCC with clock node properties for SM8150:
|
|
- |
|
|
clock-controller@100000 {
|
|
compatible = "qcom,gcc-sm8150";
|
|
reg = <0x00100000 0x1f0000>;
|
|
clocks = <&rpmhcc 0>, <&rpmhcc 1>, <&sleep_clk>;
|
|
clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk";
|
|
#clock-cells = <1>;
|
|
#reset-cells = <1>;
|
|
#power-domain-cells = <1>;
|
|
};
|
|
|
|
# Example of GCC with clock nodes properties for SC7180:
|
|
- |
|
|
clock-controller@100000 {
|
|
compatible = "qcom,gcc-sc7180";
|
|
reg = <0x100000 0x1f0000>;
|
|
clocks = <&rpmhcc 0>, <&rpmhcc 1>;
|
|
clock-names = "bi_tcxo", "bi_tcxo_ao";
|
|
#clock-cells = <1>;
|
|
#reset-cells = <1>;
|
|
#power-domain-cells = <1>;
|
|
};
|
|
...
|