Skip to content

Commit e2266f4

Browse files
Rahul Tanwarbebarino
authored andcommitted
dt-bindings: clk: intel: Add bindings document & header file for CGU
Clock generation unit(CGU) is a clock controller IP of Intel's Lightning Mountain(LGM) SoC. Add DT bindings include file and document for CGU clock controller driver of LGM. Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Rahul Tanwar <[email protected]> Link: https://lkml.kernel.org/r/8dce2be13195aab20c6b11fca6af0fffe22d5241.1587102634.git.rahul.tanwar@linux.intel.com Signed-off-by: Stephen Boyd <[email protected]>
1 parent 8f3d9f3 commit e2266f4

File tree

2 files changed

+209
-0
lines changed

2 files changed

+209
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/intel,cgu-lgm.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Intel Lightning Mountain SoC's Clock Controller(CGU) Binding
8+
9+
maintainers:
10+
- Rahul Tanwar <[email protected]>
11+
12+
description: |
13+
Lightning Mountain(LGM) SoC's Clock Generation Unit(CGU) driver provides
14+
all means to access the CGU hardware module in order to generate a series
15+
of clocks for the whole system and individual peripherals.
16+
17+
Please refer to include/dt-bindings/clock/intel,lgm-clk.h header file, it
18+
defines all available clocks as macros. These macros can be used in device
19+
tree sources.
20+
21+
properties:
22+
compatible:
23+
const: intel,cgu-lgm
24+
25+
reg:
26+
maxItems: 1
27+
28+
'#clock-cells':
29+
const: 1
30+
31+
required:
32+
- compatible
33+
- reg
34+
- '#clock-cells'
35+
36+
examples:
37+
- |
38+
cgu: clock-controller@e0200000 {
39+
compatible = "intel,cgu-lgm";
40+
reg = <0xe0200000 0x33c>;
41+
#clock-cells = <1>;
42+
};
43+
44+
...
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2+
/*
3+
* Copyright (C) 2020 Intel Corporation.
4+
* Lei Chuanhua <[email protected]>
5+
* Zhu Yixin <[email protected]>
6+
*/
7+
#ifndef __INTEL_LGM_CLK_H
8+
#define __INTEL_LGM_CLK_H
9+
10+
/* PLL clocks */
11+
#define LGM_CLK_OSC 1
12+
#define LGM_CLK_PLLPP 2
13+
#define LGM_CLK_PLL2 3
14+
#define LGM_CLK_PLL0CZ 4
15+
#define LGM_CLK_PLL0B 5
16+
#define LGM_CLK_PLL1 6
17+
#define LGM_CLK_LJPLL3 7
18+
#define LGM_CLK_LJPLL4 8
19+
#define LGM_CLK_PLL0CM0 9
20+
#define LGM_CLK_PLL0CM1 10
21+
22+
/* clocks from PLLs */
23+
24+
/* ROPLL clocks */
25+
#define LGM_CLK_PP_HW 15
26+
#define LGM_CLK_PP_UC 16
27+
#define LGM_CLK_PP_FXD 17
28+
#define LGM_CLK_PP_TBM 18
29+
30+
/* PLL2 clocks */
31+
#define LGM_CLK_DDR 20
32+
33+
/* PLL0CZ */
34+
#define LGM_CLK_CM 25
35+
#define LGM_CLK_IC 26
36+
#define LGM_CLK_SDXC3 27
37+
38+
/* PLL0B */
39+
#define LGM_CLK_NGI 30
40+
#define LGM_CLK_NOC4 31
41+
#define LGM_CLK_SW 32
42+
#define LGM_CLK_QSPI 33
43+
#define LGM_CLK_CQEM LGM_CLK_SW
44+
#define LGM_CLK_EMMC5 LGM_CLK_NOC4
45+
46+
/* PLL1 */
47+
#define LGM_CLK_CT 35
48+
#define LGM_CLK_DSP 36
49+
#define LGM_CLK_VIF 37
50+
51+
/* LJPLL3 */
52+
#define LGM_CLK_CML 40
53+
#define LGM_CLK_SERDES 41
54+
#define LGM_CLK_POOL 42
55+
#define LGM_CLK_PTP 43
56+
57+
/* LJPLL4 */
58+
#define LGM_CLK_PCIE 45
59+
#define LGM_CLK_SATA LGM_CLK_PCIE
60+
61+
/* PLL0CM0 */
62+
#define LGM_CLK_CPU0 50
63+
64+
/* PLL0CM1 */
65+
#define LGM_CLK_CPU1 55
66+
67+
/* Miscellaneous clocks */
68+
#define LGM_CLK_EMMC4 60
69+
#define LGM_CLK_SDXC2 61
70+
#define LGM_CLK_EMMC 62
71+
#define LGM_CLK_SDXC 63
72+
#define LGM_CLK_SLIC 64
73+
#define LGM_CLK_DCL 65
74+
#define LGM_CLK_DOCSIS 66
75+
#define LGM_CLK_PCM 67
76+
#define LGM_CLK_DDR_PHY 68
77+
#define LGM_CLK_PONDEF 69
78+
#define LGM_CLK_PL25M 70
79+
#define LGM_CLK_PL10M 71
80+
#define LGM_CLK_PL1544K 72
81+
#define LGM_CLK_PL2048K 73
82+
#define LGM_CLK_PL8K 74
83+
#define LGM_CLK_PON_NTR 75
84+
#define LGM_CLK_SYNC0 76
85+
#define LGM_CLK_SYNC1 77
86+
#define LGM_CLK_PROGDIV 78
87+
#define LGM_CLK_OD0 79
88+
#define LGM_CLK_OD1 80
89+
#define LGM_CLK_CBPHY0 81
90+
#define LGM_CLK_CBPHY1 82
91+
#define LGM_CLK_CBPHY2 83
92+
#define LGM_CLK_CBPHY3 84
93+
94+
/* Gate clocks */
95+
/* Gate CLK0 */
96+
#define LGM_GCLK_C55 100
97+
#define LGM_GCLK_QSPI 101
98+
#define LGM_GCLK_EIP197 102
99+
#define LGM_GCLK_VAULT 103
100+
#define LGM_GCLK_TOE 104
101+
#define LGM_GCLK_SDXC 105
102+
#define LGM_GCLK_EMMC 106
103+
#define LGM_GCLK_SPI_DBG 107
104+
#define LGM_GCLK_DMA3 108
105+
106+
/* Gate CLK1 */
107+
#define LGM_GCLK_DMA0 120
108+
#define LGM_GCLK_LEDC0 121
109+
#define LGM_GCLK_LEDC1 122
110+
#define LGM_GCLK_I2S0 123
111+
#define LGM_GCLK_I2S1 124
112+
#define LGM_GCLK_EBU 125
113+
#define LGM_GCLK_PWM 126
114+
#define LGM_GCLK_I2C0 127
115+
#define LGM_GCLK_I2C1 128
116+
#define LGM_GCLK_I2C2 129
117+
#define LGM_GCLK_I2C3 130
118+
#define LGM_GCLK_SSC0 131
119+
#define LGM_GCLK_SSC1 132
120+
#define LGM_GCLK_SSC2 133
121+
#define LGM_GCLK_SSC3 134
122+
#define LGM_GCLK_GPTC0 135
123+
#define LGM_GCLK_GPTC1 136
124+
#define LGM_GCLK_GPTC2 137
125+
#define LGM_GCLK_GPTC3 138
126+
#define LGM_GCLK_ASC0 139
127+
#define LGM_GCLK_ASC1 140
128+
#define LGM_GCLK_ASC2 141
129+
#define LGM_GCLK_ASC3 142
130+
#define LGM_GCLK_PCM0 143
131+
#define LGM_GCLK_PCM1 144
132+
#define LGM_GCLK_PCM2 145
133+
134+
/* Gate CLK2 */
135+
#define LGM_GCLK_PCIE10 150
136+
#define LGM_GCLK_PCIE11 151
137+
#define LGM_GCLK_PCIE30 152
138+
#define LGM_GCLK_PCIE31 153
139+
#define LGM_GCLK_PCIE20 154
140+
#define LGM_GCLK_PCIE21 155
141+
#define LGM_GCLK_PCIE40 156
142+
#define LGM_GCLK_PCIE41 157
143+
#define LGM_GCLK_XPCS0 158
144+
#define LGM_GCLK_XPCS1 159
145+
#define LGM_GCLK_XPCS2 160
146+
#define LGM_GCLK_XPCS3 161
147+
#define LGM_GCLK_SATA0 162
148+
#define LGM_GCLK_SATA1 163
149+
#define LGM_GCLK_SATA2 164
150+
#define LGM_GCLK_SATA3 165
151+
152+
/* Gate CLK3 */
153+
#define LGM_GCLK_ARCEM4 170
154+
#define LGM_GCLK_IDMAR1 171
155+
#define LGM_GCLK_IDMAT0 172
156+
#define LGM_GCLK_IDMAT1 173
157+
#define LGM_GCLK_IDMAT2 174
158+
#define LGM_GCLK_PPV4 175
159+
#define LGM_GCLK_GSWIPO 176
160+
#define LGM_GCLK_CQEM 177
161+
#define LGM_GCLK_XPCS5 178
162+
#define LGM_GCLK_USB1 179
163+
#define LGM_GCLK_USB2 180
164+
165+
#endif /* __INTEL_LGM_CLK_H */

0 commit comments

Comments
 (0)