mirror of https://gitee.com/openkylin/linux.git
95 lines
2.6 KiB
Plaintext
95 lines
2.6 KiB
Plaintext
Qualcomm Global Clock & Reset Controller Binding
|
|
------------------------------------------------
|
|
|
|
Required properties :
|
|
- compatible : shall contain only one of the following:
|
|
|
|
"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-sdm630"
|
|
"qcom,gcc-sdm660"
|
|
"qcom,gcc-sdm845"
|
|
"qcom,gcc-sm8150"
|
|
|
|
- reg : shall contain base register location and length
|
|
- #clock-cells : shall contain 1
|
|
- #reset-cells : shall contain 1
|
|
|
|
Optional properties :
|
|
- #power-domain-cells : shall contain 1
|
|
- 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
|
|
- protected-clocks : Protected clock specifier list as per common clock
|
|
binding.
|
|
|
|
For SM8150 only:
|
|
- clocks: a list of phandles and clock-specifier pairs,
|
|
one for each entry in clock-names.
|
|
- clock-names: "bi_tcxo" (required)
|
|
"sleep_clk" (optional)
|
|
"aud_ref_clock" (optional)
|
|
|
|
Example:
|
|
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>;
|
|
#thermal-sensor-cells = <1>;
|
|
};
|
|
|
|
Example of GCC with protected-clocks properties:
|
|
clock-controller@100000 {
|
|
compatible = "qcom,gcc-sdm845";
|
|
reg = <0x100000 0x1f0000>;
|
|
#clock-cells = <1>;
|
|
#reset-cells = <1>;
|
|
#power-domain-cells = <1>;
|
|
protected-clocks = <GCC_QSPI_CORE_CLK>,
|
|
<GCC_QSPI_CORE_CLK_SRC>,
|
|
<GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
|
|
<GCC_LPASS_Q6_AXI_CLK>,
|
|
<GCC_LPASS_SWAY_CLK>;
|
|
};
|
|
|
|
Example of GCC with clocks
|
|
gcc: clock-controller@100000 {
|
|
compatible = "qcom,gcc-sm8150";
|
|
reg = <0x00100000 0x1f0000>;
|
|
#clock-cells = <1>;
|
|
#reset-cells = <1>;
|
|
#power-domain-cells = <1>;
|
|
clock-names = "bi_tcxo",
|
|
"sleep_clk";
|
|
clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
|
|
<&sleep_clk>;
|
|
};
|