| 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>; |
| }; |