Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: clock: Add Qcom SM8350 GPUCC bindings

Add device tree bindings for graphics clock controller for
Qualcomm Technology Inc's SM8350 SoCs.

Signed-off-by: Robert Foss <robert.foss@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmityr.baryshkov@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220706154337.2026269-2-robert.foss@linaro.org

authored by

Robert Foss and committed by
Bjorn Andersson
e67a0044 f2906aa8

+124
+72
Documentation/devicetree/bindings/clock/qcom,gpucc-sm8350.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/clock/qcom,gpucc-sm8350.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Qualcomm Graphics Clock & Reset Controller Binding 8 + 9 + maintainers: 10 + - Robert Foss <robert.foss@linaro.org> 11 + 12 + description: | 13 + Qualcomm graphics clock control module which supports the clocks, resets and 14 + power domains on Qualcomm SoCs. 15 + 16 + See also: 17 + dt-bindings/clock/qcom,gpucc-sm8350.h 18 + 19 + properties: 20 + compatible: 21 + enum: 22 + - qcom,sm8350-gpucc 23 + 24 + clocks: 25 + items: 26 + - description: Board XO source 27 + - description: GPLL0 main branch source 28 + - description: GPLL0 div branch source 29 + 30 + '#clock-cells': 31 + const: 1 32 + 33 + '#reset-cells': 34 + const: 1 35 + 36 + '#power-domain-cells': 37 + const: 1 38 + 39 + reg: 40 + maxItems: 1 41 + 42 + required: 43 + - compatible 44 + - reg 45 + - clocks 46 + - '#clock-cells' 47 + - '#reset-cells' 48 + - '#power-domain-cells' 49 + 50 + additionalProperties: false 51 + 52 + examples: 53 + - | 54 + #include <dt-bindings/clock/qcom,gcc-sm8350.h> 55 + #include <dt-bindings/clock/qcom,rpmh.h> 56 + 57 + soc { 58 + #address-cells = <2>; 59 + #size-cells = <2>; 60 + 61 + clock-controller@3d90000 { 62 + compatible = "qcom,sm8350-gpucc"; 63 + reg = <0 0x03d90000 0 0x9000>; 64 + clocks = <&rpmhcc RPMH_CXO_CLK>, 65 + <&gcc GCC_GPU_GPLL0_CLK_SRC>, 66 + <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>; 67 + #clock-cells = <1>; 68 + #reset-cells = <1>; 69 + #power-domain-cells = <1>; 70 + }; 71 + }; 72 + ...
+52
include/dt-bindings/clock/qcom,gpucc-sm8350.h
··· 1 + /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ 2 + /* 3 + * Copyright (c) 2022, The Linux Foundation. All rights reserved. 4 + */ 5 + 6 + #ifndef _DT_BINDINGS_CLK_QCOM_GPU_CC_SM8350_H 7 + #define _DT_BINDINGS_CLK_QCOM_GPU_CC_SM8350_H 8 + 9 + /* GPU_CC clocks */ 10 + #define GPU_CC_AHB_CLK 0 11 + #define GPU_CC_CB_CLK 1 12 + #define GPU_CC_CRC_AHB_CLK 2 13 + #define GPU_CC_CX_APB_CLK 3 14 + #define GPU_CC_CX_GMU_CLK 4 15 + #define GPU_CC_CX_QDSS_AT_CLK 5 16 + #define GPU_CC_CX_QDSS_TRIG_CLK 6 17 + #define GPU_CC_CX_QDSS_TSCTR_CLK 7 18 + #define GPU_CC_CX_SNOC_DVM_CLK 8 19 + #define GPU_CC_CXO_AON_CLK 9 20 + #define GPU_CC_CXO_CLK 10 21 + #define GPU_CC_FREQ_MEASURE_CLK 11 22 + #define GPU_CC_GMU_CLK_SRC 12 23 + #define GPU_CC_GX_GMU_CLK 13 24 + #define GPU_CC_GX_QDSS_TSCTR_CLK 14 25 + #define GPU_CC_GX_VSENSE_CLK 15 26 + #define GPU_CC_HLOS1_VOTE_GPU_SMMU_CLK 16 27 + #define GPU_CC_HUB_AHB_DIV_CLK_SRC 17 28 + #define GPU_CC_HUB_AON_CLK 18 29 + #define GPU_CC_HUB_CLK_SRC 19 30 + #define GPU_CC_HUB_CX_INT_CLK 20 31 + #define GPU_CC_HUB_CX_INT_DIV_CLK_SRC 21 32 + #define GPU_CC_MND1X_0_GFX3D_CLK 22 33 + #define GPU_CC_MND1X_1_GFX3D_CLK 23 34 + #define GPU_CC_PLL0 24 35 + #define GPU_CC_PLL1 25 36 + #define GPU_CC_SLEEP_CLK 26 37 + 38 + /* GPU_CC resets */ 39 + #define GPUCC_GPU_CC_ACD_BCR 0 40 + #define GPUCC_GPU_CC_CB_BCR 1 41 + #define GPUCC_GPU_CC_CX_BCR 2 42 + #define GPUCC_GPU_CC_FAST_HUB_BCR 3 43 + #define GPUCC_GPU_CC_GFX3D_AON_BCR 4 44 + #define GPUCC_GPU_CC_GMU_BCR 5 45 + #define GPUCC_GPU_CC_GX_BCR 6 46 + #define GPUCC_GPU_CC_XO_BCR 7 47 + 48 + /* GPU_CC GDSCRs */ 49 + #define GPU_CX_GDSC 0 50 + #define GPU_GX_GDSC 1 51 + 52 + #endif