Skip to content

Commit 920e9b9

Browse files
Konrad Dybciobebarino
authored andcommitted
dt-bindings: clock: Add SM6350 GCC clock bindings
Add device tree bindings for global clock controller on SM6350 SoC. Signed-off-by: Konrad Dybcio <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Stephen Boyd <[email protected]>
1 parent be5b605 commit 920e9b9

File tree

2 files changed

+254
-0
lines changed

2 files changed

+254
-0
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
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,gcc-sm6350.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm Global Clock & Reset Controller Binding for SM6350
8+
9+
maintainers:
10+
- Konrad Dybcio <[email protected]>
11+
12+
description: |
13+
Qualcomm global clock control module which supports the clocks, resets and
14+
power domains on SM6350.
15+
16+
See also:
17+
- dt-bindings/clock/qcom,gcc-sm6350.h
18+
19+
properties:
20+
compatible:
21+
const: qcom,gcc-sm6350
22+
23+
clocks:
24+
items:
25+
- description: Board XO source
26+
- description: Board active XO source
27+
- description: Sleep clock source
28+
29+
clock-names:
30+
items:
31+
- const: bi_tcxo
32+
- const: bi_tcxo_ao
33+
- const: sleep_clk
34+
35+
'#clock-cells':
36+
const: 1
37+
38+
'#reset-cells':
39+
const: 1
40+
41+
'#power-domain-cells':
42+
const: 1
43+
44+
reg:
45+
maxItems: 1
46+
47+
protected-clocks:
48+
description:
49+
Protected clock specifier list as per common clock binding.
50+
51+
required:
52+
- compatible
53+
- clocks
54+
- clock-names
55+
- reg
56+
- '#clock-cells'
57+
- '#reset-cells'
58+
- '#power-domain-cells'
59+
60+
additionalProperties: false
61+
62+
examples:
63+
- |
64+
#include <dt-bindings/clock/qcom,rpmh.h>
65+
clock-controller@100000 {
66+
compatible = "qcom,gcc-sm6350";
67+
reg = <0x00100000 0x1f0000>;
68+
clocks = <&rpmhcc RPMH_CXO_CLK>,
69+
<&rpmhcc RPMH_CXO_CLK_A>,
70+
<&sleep_clk>;
71+
clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk";
72+
#clock-cells = <1>;
73+
#reset-cells = <1>;
74+
#power-domain-cells = <1>;
75+
};
76+
...
Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2+
/*
3+
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
4+
* Copyright (c) 2021, Konrad Dybcio <[email protected]>
5+
*/
6+
7+
#ifndef _DT_BINDINGS_CLK_QCOM_GCC_SM6350_H
8+
#define _DT_BINDINGS_CLK_QCOM_GCC_SM6350_H
9+
10+
/* GCC clocks */
11+
#define GPLL0 0
12+
#define GPLL0_OUT_EVEN 1
13+
#define GPLL0_OUT_ODD 2
14+
#define GPLL6 3
15+
#define GPLL6_OUT_EVEN 4
16+
#define GPLL7 5
17+
#define GCC_AGGRE_CNOC_PERIPH_CENTER_AHB_CLK 6
18+
#define GCC_AGGRE_NOC_CENTER_AHB_CLK 7
19+
#define GCC_AGGRE_NOC_PCIE_SF_AXI_CLK 8
20+
#define GCC_AGGRE_NOC_PCIE_TBU_CLK 9
21+
#define GCC_AGGRE_NOC_WLAN_AXI_CLK 10
22+
#define GCC_AGGRE_UFS_PHY_AXI_CLK 11
23+
#define GCC_AGGRE_USB3_PRIM_AXI_CLK 12
24+
#define GCC_BOOT_ROM_AHB_CLK 13
25+
#define GCC_CAMERA_AHB_CLK 14
26+
#define GCC_CAMERA_AXI_CLK 15
27+
#define GCC_CAMERA_THROTTLE_NRT_AXI_CLK 16
28+
#define GCC_CAMERA_THROTTLE_RT_AXI_CLK 17
29+
#define GCC_CAMERA_XO_CLK 18
30+
#define GCC_CE1_AHB_CLK 19
31+
#define GCC_CE1_AXI_CLK 20
32+
#define GCC_CE1_CLK 21
33+
#define GCC_CFG_NOC_USB3_PRIM_AXI_CLK 22
34+
#define GCC_CPUSS_AHB_CLK 23
35+
#define GCC_CPUSS_AHB_CLK_SRC 24
36+
#define GCC_CPUSS_AHB_DIV_CLK_SRC 25
37+
#define GCC_CPUSS_GNOC_CLK 26
38+
#define GCC_CPUSS_RBCPR_CLK 27
39+
#define GCC_DDRSS_GPU_AXI_CLK 28
40+
#define GCC_DISP_AHB_CLK 29
41+
#define GCC_DISP_AXI_CLK 30
42+
#define GCC_DISP_CC_SLEEP_CLK 31
43+
#define GCC_DISP_CC_XO_CLK 32
44+
#define GCC_DISP_GPLL0_CLK 33
45+
#define GCC_DISP_THROTTLE_AXI_CLK 34
46+
#define GCC_DISP_XO_CLK 35
47+
#define GCC_GP1_CLK 36
48+
#define GCC_GP1_CLK_SRC 37
49+
#define GCC_GP2_CLK 38
50+
#define GCC_GP2_CLK_SRC 39
51+
#define GCC_GP3_CLK 40
52+
#define GCC_GP3_CLK_SRC 41
53+
#define GCC_GPU_CFG_AHB_CLK 42
54+
#define GCC_GPU_GPLL0_CLK 43
55+
#define GCC_GPU_GPLL0_DIV_CLK 44
56+
#define GCC_GPU_MEMNOC_GFX_CLK 45
57+
#define GCC_GPU_SNOC_DVM_GFX_CLK 46
58+
#define GCC_NPU_AXI_CLK 47
59+
#define GCC_NPU_BWMON_AXI_CLK 48
60+
#define GCC_NPU_BWMON_DMA_CFG_AHB_CLK 49
61+
#define GCC_NPU_BWMON_DSP_CFG_AHB_CLK 50
62+
#define GCC_NPU_CFG_AHB_CLK 51
63+
#define GCC_NPU_DMA_CLK 52
64+
#define GCC_NPU_GPLL0_CLK 53
65+
#define GCC_NPU_GPLL0_DIV_CLK 54
66+
#define GCC_PCIE_0_AUX_CLK 55
67+
#define GCC_PCIE_0_AUX_CLK_SRC 56
68+
#define GCC_PCIE_0_CFG_AHB_CLK 57
69+
#define GCC_PCIE_0_MSTR_AXI_CLK 58
70+
#define GCC_PCIE_0_PIPE_CLK 59
71+
#define GCC_PCIE_0_SLV_AXI_CLK 60
72+
#define GCC_PCIE_0_SLV_Q2A_AXI_CLK 61
73+
#define GCC_PCIE_PHY_RCHNG_CLK 62
74+
#define GCC_PCIE_PHY_RCHNG_CLK_SRC 63
75+
#define GCC_PDM2_CLK 64
76+
#define GCC_PDM2_CLK_SRC 65
77+
#define GCC_PDM_AHB_CLK 66
78+
#define GCC_PDM_XO4_CLK 67
79+
#define GCC_PRNG_AHB_CLK 68
80+
#define GCC_QUPV3_WRAP0_CORE_2X_CLK 69
81+
#define GCC_QUPV3_WRAP0_CORE_CLK 70
82+
#define GCC_QUPV3_WRAP0_S0_CLK 71
83+
#define GCC_QUPV3_WRAP0_S0_CLK_SRC 72
84+
#define GCC_QUPV3_WRAP0_S1_CLK 73
85+
#define GCC_QUPV3_WRAP0_S1_CLK_SRC 74
86+
#define GCC_QUPV3_WRAP0_S2_CLK 75
87+
#define GCC_QUPV3_WRAP0_S2_CLK_SRC 76
88+
#define GCC_QUPV3_WRAP0_S3_CLK 77
89+
#define GCC_QUPV3_WRAP0_S3_CLK_SRC 78
90+
#define GCC_QUPV3_WRAP0_S4_CLK 79
91+
#define GCC_QUPV3_WRAP0_S4_CLK_SRC 80
92+
#define GCC_QUPV3_WRAP0_S5_CLK 81
93+
#define GCC_QUPV3_WRAP0_S5_CLK_SRC 82
94+
#define GCC_QUPV3_WRAP1_CORE_2X_CLK 83
95+
#define GCC_QUPV3_WRAP1_CORE_CLK 84
96+
#define GCC_QUPV3_WRAP1_S0_CLK 85
97+
#define GCC_QUPV3_WRAP1_S0_CLK_SRC 86
98+
#define GCC_QUPV3_WRAP1_S1_CLK 87
99+
#define GCC_QUPV3_WRAP1_S1_CLK_SRC 88
100+
#define GCC_QUPV3_WRAP1_S2_CLK 89
101+
#define GCC_QUPV3_WRAP1_S2_CLK_SRC 90
102+
#define GCC_QUPV3_WRAP1_S3_CLK 91
103+
#define GCC_QUPV3_WRAP1_S3_CLK_SRC 92
104+
#define GCC_QUPV3_WRAP1_S4_CLK 93
105+
#define GCC_QUPV3_WRAP1_S4_CLK_SRC 94
106+
#define GCC_QUPV3_WRAP1_S5_CLK 95
107+
#define GCC_QUPV3_WRAP1_S5_CLK_SRC 96
108+
#define GCC_QUPV3_WRAP_0_M_AHB_CLK 97
109+
#define GCC_QUPV3_WRAP_0_S_AHB_CLK 98
110+
#define GCC_QUPV3_WRAP_1_M_AHB_CLK 99
111+
#define GCC_QUPV3_WRAP_1_S_AHB_CLK 100
112+
#define GCC_SDCC1_AHB_CLK 101
113+
#define GCC_SDCC1_APPS_CLK 102
114+
#define GCC_SDCC1_APPS_CLK_SRC 103
115+
#define GCC_SDCC1_ICE_CORE_CLK 104
116+
#define GCC_SDCC1_ICE_CORE_CLK_SRC 105
117+
#define GCC_SDCC2_AHB_CLK 106
118+
#define GCC_SDCC2_APPS_CLK 107
119+
#define GCC_SDCC2_APPS_CLK_SRC 108
120+
#define GCC_SYS_NOC_CPUSS_AHB_CLK 109
121+
#define GCC_UFS_MEM_CLKREF_CLK 110
122+
#define GCC_UFS_PHY_AHB_CLK 111
123+
#define GCC_UFS_PHY_AXI_CLK 112
124+
#define GCC_UFS_PHY_AXI_CLK_SRC 113
125+
#define GCC_UFS_PHY_ICE_CORE_CLK 114
126+
#define GCC_UFS_PHY_ICE_CORE_CLK_SRC 115
127+
#define GCC_UFS_PHY_PHY_AUX_CLK 116
128+
#define GCC_UFS_PHY_PHY_AUX_CLK_SRC 117
129+
#define GCC_UFS_PHY_RX_SYMBOL_0_CLK 118
130+
#define GCC_UFS_PHY_RX_SYMBOL_1_CLK 119
131+
#define GCC_UFS_PHY_TX_SYMBOL_0_CLK 120
132+
#define GCC_UFS_PHY_UNIPRO_CORE_CLK 121
133+
#define GCC_UFS_PHY_UNIPRO_CORE_CLK_SRC 122
134+
#define GCC_USB30_PRIM_MASTER_CLK 123
135+
#define GCC_USB30_PRIM_MASTER_CLK_SRC 124
136+
#define GCC_USB30_PRIM_MOCK_UTMI_CLK 125
137+
#define GCC_USB30_PRIM_MOCK_UTMI_CLK_SRC 126
138+
#define GCC_USB30_PRIM_MOCK_UTMI_DIV_CLK_SRC 127
139+
#define GCC_USB3_PRIM_CLKREF_CLK 128
140+
#define GCC_USB30_PRIM_SLEEP_CLK 129
141+
#define GCC_USB3_PRIM_PHY_AUX_CLK 130
142+
#define GCC_USB3_PRIM_PHY_AUX_CLK_SRC 131
143+
#define GCC_USB3_PRIM_PHY_COM_AUX_CLK 132
144+
#define GCC_USB3_PRIM_PHY_PIPE_CLK 133
145+
#define GCC_VIDEO_AHB_CLK 134
146+
#define GCC_VIDEO_AXI_CLK 135
147+
#define GCC_VIDEO_THROTTLE_AXI_CLK 136
148+
#define GCC_VIDEO_XO_CLK 137
149+
#define GCC_UFS_PHY_PHY_AUX_HW_CTL_CLK 138
150+
#define GCC_UFS_PHY_AXI_HW_CTL_CLK 139
151+
#define GCC_AGGRE_UFS_PHY_AXI_HW_CTL_CLK 140
152+
#define GCC_UFS_PHY_UNIPRO_CORE_HW_CTL_CLK 141
153+
#define GCC_UFS_PHY_ICE_CORE_HW_CTL_CLK 142
154+
#define GCC_RX5_PCIE_CLKREF_CLK 143
155+
#define GCC_GPU_GPLL0_MAIN_DIV_CLK_SRC 144
156+
#define GCC_NPU_PLL0_MAIN_DIV_CLK_SRC 145
157+
158+
/* GCC resets */
159+
#define GCC_QUSB2PHY_PRIM_BCR 0
160+
#define GCC_QUSB2PHY_SEC_BCR 1
161+
#define GCC_SDCC1_BCR 2
162+
#define GCC_SDCC2_BCR 3
163+
#define GCC_UFS_PHY_BCR 4
164+
#define GCC_USB30_PRIM_BCR 5
165+
#define GCC_PCIE_0_BCR 6
166+
#define GCC_PCIE_0_PHY_BCR 7
167+
#define GCC_QUPV3_WRAPPER_0_BCR 8
168+
#define GCC_QUPV3_WRAPPER_1_BCR 9
169+
#define GCC_USB3_PHY_PRIM_BCR 10
170+
#define GCC_USB3_DP_PHY_PRIM_BCR 11
171+
172+
/* GCC GDSCs */
173+
#define USB30_PRIM_GDSC 0
174+
#define UFS_PHY_GDSC 1
175+
#define HLOS1_VOTE_MMNOC_MMU_TBU_HF0_GDSC 2
176+
#define HLOS1_VOTE_MMNOC_MMU_TBU_HF1_GDSC 3
177+
178+
#endif

0 commit comments

Comments
 (0)