Skip to content

Commit ecc3ade

Browse files
taniyadas20andersson
authored andcommitted
dt-bindings: clock: qcom: document the Kaanapali GPU Clock Controller
Qualcomm GX(graphics) is a clock controller which has PLLs, clocks and Power domains (GDSC), but the requirement from the SW driver is to use the GDSC power domain from the clock controller to recover the GPU firmware in case of any failure/hangs. The rest of the resources of the clock controller are being used by the firmware of GPU. This module exposes the GDSC power domains which helps the recovery of Graphics subsystem. Add bindings documentation for the Kaanapali Graphics Clock and Graphics power domain Controller for Kaanapali SoC. Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260107-kaanapali-mmcc-v3-v3-7-8e10adc236a8@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
1 parent e043131 commit ecc3ade

4 files changed

Lines changed: 125 additions & 0 deletions

File tree

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
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,kaanapali-gxclkctl.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm Graphics power domain Controller on Kaanapali
8+
9+
maintainers:
10+
- Taniya Das <taniya.das@oss.qualcomm.com>
11+
12+
description: |
13+
Qualcomm GX(graphics) is a clock controller which has PLLs, clocks and
14+
Power domains (GDSC). This module provides the power domains control
15+
of gxclkctl on Qualcomm SoCs which helps the recovery of Graphics subsystem.
16+
17+
See also:
18+
include/dt-bindings/clock/qcom,kaanapali-gxclkctl.h
19+
20+
properties:
21+
compatible:
22+
enum:
23+
- qcom,kaanapali-gxclkctl
24+
25+
power-domains:
26+
description:
27+
Power domains required for the clock controller to operate
28+
items:
29+
- description: GFX power domain
30+
- description: GMXC power domain
31+
- description: GPUCC(CX) power domain
32+
33+
'#power-domain-cells':
34+
const: 1
35+
36+
reg:
37+
maxItems: 1
38+
39+
required:
40+
- compatible
41+
- reg
42+
- power-domains
43+
- '#power-domain-cells'
44+
45+
unevaluatedProperties: false
46+
47+
examples:
48+
- |
49+
#include <dt-bindings/power/qcom,rpmhpd.h>
50+
soc {
51+
#address-cells = <2>;
52+
#size-cells = <2>;
53+
54+
clock-controller@3d64000 {
55+
compatible = "qcom,kaanapali-gxclkctl";
56+
reg = <0x0 0x03d64000 0x0 0x6000>;
57+
power-domains = <&rpmhpd RPMHPD_GFX>,
58+
<&rpmhpd RPMHPD_GMXC>,
59+
<&gpucc 0>;
60+
#power-domain-cells = <1>;
61+
};
62+
};
63+
...

Documentation/devicetree/bindings/clock/qcom,sm8450-gpucc.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ description: |
1414
domains on Qualcomm SoCs.
1515
1616
See also::
17+
include/dt-bindings/clock/qcom,kaanapali-gpucc.h
1718
include/dt-bindings/clock/qcom,milos-gpucc.h
1819
include/dt-bindings/clock/qcom,sar2130p-gpucc.h
1920
include/dt-bindings/clock/qcom,sm4450-gpucc.h
@@ -26,6 +27,7 @@ description: |
2627
properties:
2728
compatible:
2829
enum:
30+
- qcom,kaanapali-gpucc
2931
- qcom,milos-gpucc
3032
- qcom,sar2130p-gpucc
3133
- qcom,sm4450-gpucc
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2+
/*
3+
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
4+
*/
5+
6+
#ifndef _DT_BINDINGS_CLK_QCOM_GPU_CC_KAANAPALI_H
7+
#define _DT_BINDINGS_CLK_QCOM_GPU_CC_KAANAPALI_H
8+
9+
/* GPU_CC clocks */
10+
#define GPU_CC_AHB_CLK 0
11+
#define GPU_CC_CB_CLK 1
12+
#define GPU_CC_CX_ACCU_SHIFT_CLK 2
13+
#define GPU_CC_CX_GMU_CLK 3
14+
#define GPU_CC_CXO_AON_CLK 4
15+
#define GPU_CC_CXO_CLK 5
16+
#define GPU_CC_DEMET_CLK 6
17+
#define GPU_CC_DPM_CLK 7
18+
#define GPU_CC_FF_CLK_SRC 8
19+
#define GPU_CC_FREQ_MEASURE_CLK 9
20+
#define GPU_CC_GMU_CLK_SRC 10
21+
#define GPU_CC_GPU_SMMU_VOTE_CLK 11
22+
#define GPU_CC_GX_ACCU_SHIFT_CLK 12
23+
#define GPU_CC_GX_GMU_CLK 13
24+
#define GPU_CC_HUB_AON_CLK 14
25+
#define GPU_CC_HUB_CLK_SRC 15
26+
#define GPU_CC_HUB_CX_INT_CLK 16
27+
#define GPU_CC_HUB_DIV_CLK_SRC 17
28+
#define GPU_CC_MEMNOC_GFX_CLK 18
29+
#define GPU_CC_PLL0 19
30+
#define GPU_CC_PLL0_OUT_EVEN 20
31+
#define GPU_CC_RSCC_HUB_AON_CLK 21
32+
#define GPU_CC_RSCC_XO_AON_CLK 22
33+
#define GPU_CC_SLEEP_CLK 23
34+
35+
/* GPU_CC power domains */
36+
#define GPU_CC_CX_GDSC 0
37+
38+
/* GPU_CC resets */
39+
#define GPU_CC_CB_BCR 0
40+
#define GPU_CC_CX_BCR 1
41+
#define GPU_CC_FAST_HUB_BCR 2
42+
#define GPU_CC_FF_BCR 3
43+
#define GPU_CC_GMU_BCR 4
44+
#define GPU_CC_GX_BCR 5
45+
#define GPU_CC_XO_BCR 6
46+
47+
#endif
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2+
/*
3+
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
4+
*/
5+
6+
#ifndef _DT_BINDINGS_CLK_QCOM_GX_CLKCTL_KAANAPALI_H
7+
#define _DT_BINDINGS_CLK_QCOM_GX_CLKCTL_KAANAPALI_H
8+
9+
/* GX_CLKCTL power domains */
10+
#define GX_CLKCTL_GX_GDSC 0
11+
#define GX_CLKCTL_GX_SLICE_GDSC 1
12+
13+
#endif

0 commit comments

Comments
 (0)