Loading...
1/*
2 * Copyright (c) 2016-2017 Linaro Ltd.
3 * Copyright (c) 2016-2017 HiSilicon Technologies Co., Ltd.
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 */
10
11#ifndef __DTS_HI3660_CLOCK_H
12#define __DTS_HI3660_CLOCK_H
13
14/* fixed rate clocks */
15#define HI3660_CLKIN_SYS 0
16#define HI3660_CLKIN_REF 1
17#define HI3660_CLK_FLL_SRC 2
18#define HI3660_CLK_PPLL0 3
19#define HI3660_CLK_PPLL1 4
20#define HI3660_CLK_PPLL2 5
21#define HI3660_CLK_PPLL3 6
22#define HI3660_CLK_SCPLL 7
23#define HI3660_PCLK 8
24#define HI3660_CLK_UART0_DBG 9
25#define HI3660_CLK_UART6 10
26#define HI3660_OSC32K 11
27#define HI3660_OSC19M 12
28#define HI3660_CLK_480M 13
29#define HI3660_CLK_INV 14
30
31/* clk in crgctrl */
32#define HI3660_FACTOR_UART3 15
33#define HI3660_CLK_FACTOR_MMC 16
34#define HI3660_CLK_GATE_I2C0 17
35#define HI3660_CLK_GATE_I2C1 18
36#define HI3660_CLK_GATE_I2C2 19
37#define HI3660_CLK_GATE_I2C6 20
38#define HI3660_CLK_DIV_SYSBUS 21
39#define HI3660_CLK_DIV_320M 22
40#define HI3660_CLK_DIV_A53 23
41#define HI3660_CLK_GATE_SPI0 24
42#define HI3660_CLK_GATE_SPI2 25
43#define HI3660_PCIEPHY_REF 26
44#define HI3660_CLK_ABB_USB 27
45#define HI3660_HCLK_GATE_SDIO0 28
46#define HI3660_HCLK_GATE_SD 29
47#define HI3660_CLK_GATE_AOMM 30
48#define HI3660_PCLK_GPIO0 31
49#define HI3660_PCLK_GPIO1 32
50#define HI3660_PCLK_GPIO2 33
51#define HI3660_PCLK_GPIO3 34
52#define HI3660_PCLK_GPIO4 35
53#define HI3660_PCLK_GPIO5 36
54#define HI3660_PCLK_GPIO6 37
55#define HI3660_PCLK_GPIO7 38
56#define HI3660_PCLK_GPIO8 39
57#define HI3660_PCLK_GPIO9 40
58#define HI3660_PCLK_GPIO10 41
59#define HI3660_PCLK_GPIO11 42
60#define HI3660_PCLK_GPIO12 43
61#define HI3660_PCLK_GPIO13 44
62#define HI3660_PCLK_GPIO14 45
63#define HI3660_PCLK_GPIO15 46
64#define HI3660_PCLK_GPIO16 47
65#define HI3660_PCLK_GPIO17 48
66#define HI3660_PCLK_GPIO18 49
67#define HI3660_PCLK_GPIO19 50
68#define HI3660_PCLK_GPIO20 51
69#define HI3660_PCLK_GPIO21 52
70#define HI3660_CLK_GATE_SPI3 53
71#define HI3660_CLK_GATE_I2C7 54
72#define HI3660_CLK_GATE_I2C3 55
73#define HI3660_CLK_GATE_SPI1 56
74#define HI3660_CLK_GATE_UART1 57
75#define HI3660_CLK_GATE_UART2 58
76#define HI3660_CLK_GATE_UART4 59
77#define HI3660_CLK_GATE_UART5 60
78#define HI3660_CLK_GATE_I2C4 61
79#define HI3660_CLK_GATE_DMAC 62
80#define HI3660_PCLK_GATE_DSS 63
81#define HI3660_ACLK_GATE_DSS 64
82#define HI3660_CLK_GATE_LDI1 65
83#define HI3660_CLK_GATE_LDI0 66
84#define HI3660_CLK_GATE_VIVOBUS 67
85#define HI3660_CLK_GATE_EDC0 68
86#define HI3660_CLK_GATE_TXDPHY0_CFG 69
87#define HI3660_CLK_GATE_TXDPHY0_REF 70
88#define HI3660_CLK_GATE_TXDPHY1_CFG 71
89#define HI3660_CLK_GATE_TXDPHY1_REF 72
90#define HI3660_ACLK_GATE_USB3OTG 73
91#define HI3660_CLK_GATE_SPI4 74
92#define HI3660_CLK_GATE_SD 75
93#define HI3660_CLK_GATE_SDIO0 76
94#define HI3660_CLK_GATE_UFS_SUBSYS 77
95#define HI3660_PCLK_GATE_DSI0 78
96#define HI3660_PCLK_GATE_DSI1 79
97#define HI3660_ACLK_GATE_PCIE 80
98#define HI3660_PCLK_GATE_PCIE_SYS 81
99#define HI3660_CLK_GATE_PCIEAUX 82
100#define HI3660_PCLK_GATE_PCIE_PHY 83
101#define HI3660_CLK_ANDGT_LDI0 84
102#define HI3660_CLK_ANDGT_LDI1 85
103#define HI3660_CLK_ANDGT_EDC0 86
104#define HI3660_CLK_GATE_UFSPHY_GT 87
105#define HI3660_CLK_ANDGT_MMC 88
106#define HI3660_CLK_ANDGT_SD 89
107#define HI3660_CLK_A53HPM_ANDGT 90
108#define HI3660_CLK_ANDGT_SDIO 91
109#define HI3660_CLK_ANDGT_UART0 92
110#define HI3660_CLK_ANDGT_UART1 93
111#define HI3660_CLK_ANDGT_UARTH 94
112#define HI3660_CLK_ANDGT_SPI 95
113#define HI3660_CLK_VIVOBUS_ANDGT 96
114#define HI3660_CLK_AOMM_ANDGT 97
115#define HI3660_CLK_320M_PLL_GT 98
116#define HI3660_AUTODIV_EMMC0BUS 99
117#define HI3660_AUTODIV_SYSBUS 100
118#define HI3660_CLK_GATE_UFSPHY_CFG 101
119#define HI3660_CLK_GATE_UFSIO_REF 102
120#define HI3660_CLK_MUX_SYSBUS 103
121#define HI3660_CLK_MUX_UART0 104
122#define HI3660_CLK_MUX_UART1 105
123#define HI3660_CLK_MUX_UARTH 106
124#define HI3660_CLK_MUX_SPI 107
125#define HI3660_CLK_MUX_I2C 108
126#define HI3660_CLK_MUX_MMC_PLL 109
127#define HI3660_CLK_MUX_LDI1 110
128#define HI3660_CLK_MUX_LDI0 111
129#define HI3660_CLK_MUX_SD_PLL 112
130#define HI3660_CLK_MUX_SD_SYS 113
131#define HI3660_CLK_MUX_EDC0 114
132#define HI3660_CLK_MUX_SDIO_SYS 115
133#define HI3660_CLK_MUX_SDIO_PLL 116
134#define HI3660_CLK_MUX_VIVOBUS 117
135#define HI3660_CLK_MUX_A53HPM 118
136#define HI3660_CLK_MUX_320M 119
137#define HI3660_CLK_MUX_IOPERI 120
138#define HI3660_CLK_DIV_UART0 121
139#define HI3660_CLK_DIV_UART1 122
140#define HI3660_CLK_DIV_UARTH 123
141#define HI3660_CLK_DIV_MMC 124
142#define HI3660_CLK_DIV_SD 125
143#define HI3660_CLK_DIV_EDC0 126
144#define HI3660_CLK_DIV_LDI0 127
145#define HI3660_CLK_DIV_SDIO 128
146#define HI3660_CLK_DIV_LDI1 129
147#define HI3660_CLK_DIV_SPI 130
148#define HI3660_CLK_DIV_VIVOBUS 131
149#define HI3660_CLK_DIV_I2C 132
150#define HI3660_CLK_DIV_UFSPHY 133
151#define HI3660_CLK_DIV_CFGBUS 134
152#define HI3660_CLK_DIV_MMC0BUS 135
153#define HI3660_CLK_DIV_MMC1BUS 136
154#define HI3660_CLK_DIV_UFSPERI 137
155#define HI3660_CLK_DIV_AOMM 138
156#define HI3660_CLK_DIV_IOPERI 139
157#define HI3660_VENC_VOLT_HOLD 140
158#define HI3660_PERI_VOLT_HOLD 141
159#define HI3660_CLK_GATE_VENC 142
160#define HI3660_CLK_GATE_VDEC 143
161#define HI3660_CLK_ANDGT_VENC 144
162#define HI3660_CLK_ANDGT_VDEC 145
163#define HI3660_CLK_MUX_VENC 146
164#define HI3660_CLK_MUX_VDEC 147
165#define HI3660_CLK_DIV_VENC 148
166#define HI3660_CLK_DIV_VDEC 149
167#define HI3660_CLK_FAC_ISP_SNCLK 150
168#define HI3660_CLK_GATE_ISP_SNCLK0 151
169#define HI3660_CLK_GATE_ISP_SNCLK1 152
170#define HI3660_CLK_GATE_ISP_SNCLK2 153
171#define HI3660_CLK_ANGT_ISP_SNCLK 154
172#define HI3660_CLK_MUX_ISP_SNCLK 155
173#define HI3660_CLK_DIV_ISP_SNCLK 156
174
175/* clk in pmuctrl */
176#define HI3660_GATE_ABB_192 0
177
178/* clk in pctrl */
179#define HI3660_GATE_UFS_TCXO_EN 0
180#define HI3660_GATE_USB_TCXO_EN 1
181
182/* clk in sctrl */
183#define HI3660_PCLK_AO_GPIO0 0
184#define HI3660_PCLK_AO_GPIO1 1
185#define HI3660_PCLK_AO_GPIO2 2
186#define HI3660_PCLK_AO_GPIO3 3
187#define HI3660_PCLK_AO_GPIO4 4
188#define HI3660_PCLK_AO_GPIO5 5
189#define HI3660_PCLK_AO_GPIO6 6
190#define HI3660_PCLK_GATE_MMBUF 7
191#define HI3660_CLK_GATE_DSS_AXI_MM 8
192#define HI3660_PCLK_MMBUF_ANDGT 9
193#define HI3660_CLK_MMBUF_PLL_ANDGT 10
194#define HI3660_CLK_FLL_MMBUF_ANDGT 11
195#define HI3660_CLK_SYS_MMBUF_ANDGT 12
196#define HI3660_CLK_GATE_PCIEPHY_GT 13
197#define HI3660_ACLK_MUX_MMBUF 14
198#define HI3660_CLK_SW_MMBUF 15
199#define HI3660_CLK_DIV_AOBUS 16
200#define HI3660_PCLK_DIV_MMBUF 17
201#define HI3660_ACLK_DIV_MMBUF 18
202#define HI3660_CLK_DIV_PCIEPHY 19
203
204/* clk in iomcu */
205#define HI3660_CLK_I2C0_IOMCU 0
206#define HI3660_CLK_I2C1_IOMCU 1
207#define HI3660_CLK_I2C2_IOMCU 2
208#define HI3660_CLK_I2C6_IOMCU 3
209#define HI3660_CLK_IOMCU_PERI0 4
210
211/* clk in stub clock */
212#define HI3660_CLK_STUB_CLUSTER0 0
213#define HI3660_CLK_STUB_CLUSTER1 1
214#define HI3660_CLK_STUB_GPU 2
215#define HI3660_CLK_STUB_DDR 3
216#define HI3660_CLK_STUB_NUM 4
217
218#endif /* __DTS_HI3660_CLOCK_H */
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * Copyright (c) 2016-2017 Linaro Ltd.
4 * Copyright (c) 2016-2017 HiSilicon Technologies Co., Ltd.
5 */
6
7#ifndef __DTS_HI3660_CLOCK_H
8#define __DTS_HI3660_CLOCK_H
9
10/* fixed rate clocks */
11#define HI3660_CLKIN_SYS 0
12#define HI3660_CLKIN_REF 1
13#define HI3660_CLK_FLL_SRC 2
14#define HI3660_CLK_PPLL0 3
15#define HI3660_CLK_PPLL1 4
16#define HI3660_CLK_PPLL2 5
17#define HI3660_CLK_PPLL3 6
18#define HI3660_CLK_SCPLL 7
19#define HI3660_PCLK 8
20#define HI3660_CLK_UART0_DBG 9
21#define HI3660_CLK_UART6 10
22#define HI3660_OSC32K 11
23#define HI3660_OSC19M 12
24#define HI3660_CLK_480M 13
25#define HI3660_CLK_INV 14
26
27/* clk in crgctrl */
28#define HI3660_FACTOR_UART3 15
29#define HI3660_CLK_FACTOR_MMC 16
30#define HI3660_CLK_GATE_I2C0 17
31#define HI3660_CLK_GATE_I2C1 18
32#define HI3660_CLK_GATE_I2C2 19
33#define HI3660_CLK_GATE_I2C6 20
34#define HI3660_CLK_DIV_SYSBUS 21
35#define HI3660_CLK_DIV_320M 22
36#define HI3660_CLK_DIV_A53 23
37#define HI3660_CLK_GATE_SPI0 24
38#define HI3660_CLK_GATE_SPI2 25
39#define HI3660_PCIEPHY_REF 26
40#define HI3660_CLK_ABB_USB 27
41#define HI3660_HCLK_GATE_SDIO0 28
42#define HI3660_HCLK_GATE_SD 29
43#define HI3660_CLK_GATE_AOMM 30
44#define HI3660_PCLK_GPIO0 31
45#define HI3660_PCLK_GPIO1 32
46#define HI3660_PCLK_GPIO2 33
47#define HI3660_PCLK_GPIO3 34
48#define HI3660_PCLK_GPIO4 35
49#define HI3660_PCLK_GPIO5 36
50#define HI3660_PCLK_GPIO6 37
51#define HI3660_PCLK_GPIO7 38
52#define HI3660_PCLK_GPIO8 39
53#define HI3660_PCLK_GPIO9 40
54#define HI3660_PCLK_GPIO10 41
55#define HI3660_PCLK_GPIO11 42
56#define HI3660_PCLK_GPIO12 43
57#define HI3660_PCLK_GPIO13 44
58#define HI3660_PCLK_GPIO14 45
59#define HI3660_PCLK_GPIO15 46
60#define HI3660_PCLK_GPIO16 47
61#define HI3660_PCLK_GPIO17 48
62#define HI3660_PCLK_GPIO18 49
63#define HI3660_PCLK_GPIO19 50
64#define HI3660_PCLK_GPIO20 51
65#define HI3660_PCLK_GPIO21 52
66#define HI3660_CLK_GATE_SPI3 53
67#define HI3660_CLK_GATE_I2C7 54
68#define HI3660_CLK_GATE_I2C3 55
69#define HI3660_CLK_GATE_SPI1 56
70#define HI3660_CLK_GATE_UART1 57
71#define HI3660_CLK_GATE_UART2 58
72#define HI3660_CLK_GATE_UART4 59
73#define HI3660_CLK_GATE_UART5 60
74#define HI3660_CLK_GATE_I2C4 61
75#define HI3660_CLK_GATE_DMAC 62
76#define HI3660_PCLK_GATE_DSS 63
77#define HI3660_ACLK_GATE_DSS 64
78#define HI3660_CLK_GATE_LDI1 65
79#define HI3660_CLK_GATE_LDI0 66
80#define HI3660_CLK_GATE_VIVOBUS 67
81#define HI3660_CLK_GATE_EDC0 68
82#define HI3660_CLK_GATE_TXDPHY0_CFG 69
83#define HI3660_CLK_GATE_TXDPHY0_REF 70
84#define HI3660_CLK_GATE_TXDPHY1_CFG 71
85#define HI3660_CLK_GATE_TXDPHY1_REF 72
86#define HI3660_ACLK_GATE_USB3OTG 73
87#define HI3660_CLK_GATE_SPI4 74
88#define HI3660_CLK_GATE_SD 75
89#define HI3660_CLK_GATE_SDIO0 76
90#define HI3660_CLK_GATE_UFS_SUBSYS 77
91#define HI3660_PCLK_GATE_DSI0 78
92#define HI3660_PCLK_GATE_DSI1 79
93#define HI3660_ACLK_GATE_PCIE 80
94#define HI3660_PCLK_GATE_PCIE_SYS 81
95#define HI3660_CLK_GATE_PCIEAUX 82
96#define HI3660_PCLK_GATE_PCIE_PHY 83
97#define HI3660_CLK_ANDGT_LDI0 84
98#define HI3660_CLK_ANDGT_LDI1 85
99#define HI3660_CLK_ANDGT_EDC0 86
100#define HI3660_CLK_GATE_UFSPHY_GT 87
101#define HI3660_CLK_ANDGT_MMC 88
102#define HI3660_CLK_ANDGT_SD 89
103#define HI3660_CLK_A53HPM_ANDGT 90
104#define HI3660_CLK_ANDGT_SDIO 91
105#define HI3660_CLK_ANDGT_UART0 92
106#define HI3660_CLK_ANDGT_UART1 93
107#define HI3660_CLK_ANDGT_UARTH 94
108#define HI3660_CLK_ANDGT_SPI 95
109#define HI3660_CLK_VIVOBUS_ANDGT 96
110#define HI3660_CLK_AOMM_ANDGT 97
111#define HI3660_CLK_320M_PLL_GT 98
112#define HI3660_AUTODIV_EMMC0BUS 99
113#define HI3660_AUTODIV_SYSBUS 100
114#define HI3660_CLK_GATE_UFSPHY_CFG 101
115#define HI3660_CLK_GATE_UFSIO_REF 102
116#define HI3660_CLK_MUX_SYSBUS 103
117#define HI3660_CLK_MUX_UART0 104
118#define HI3660_CLK_MUX_UART1 105
119#define HI3660_CLK_MUX_UARTH 106
120#define HI3660_CLK_MUX_SPI 107
121#define HI3660_CLK_MUX_I2C 108
122#define HI3660_CLK_MUX_MMC_PLL 109
123#define HI3660_CLK_MUX_LDI1 110
124#define HI3660_CLK_MUX_LDI0 111
125#define HI3660_CLK_MUX_SD_PLL 112
126#define HI3660_CLK_MUX_SD_SYS 113
127#define HI3660_CLK_MUX_EDC0 114
128#define HI3660_CLK_MUX_SDIO_SYS 115
129#define HI3660_CLK_MUX_SDIO_PLL 116
130#define HI3660_CLK_MUX_VIVOBUS 117
131#define HI3660_CLK_MUX_A53HPM 118
132#define HI3660_CLK_MUX_320M 119
133#define HI3660_CLK_MUX_IOPERI 120
134#define HI3660_CLK_DIV_UART0 121
135#define HI3660_CLK_DIV_UART1 122
136#define HI3660_CLK_DIV_UARTH 123
137#define HI3660_CLK_DIV_MMC 124
138#define HI3660_CLK_DIV_SD 125
139#define HI3660_CLK_DIV_EDC0 126
140#define HI3660_CLK_DIV_LDI0 127
141#define HI3660_CLK_DIV_SDIO 128
142#define HI3660_CLK_DIV_LDI1 129
143#define HI3660_CLK_DIV_SPI 130
144#define HI3660_CLK_DIV_VIVOBUS 131
145#define HI3660_CLK_DIV_I2C 132
146#define HI3660_CLK_DIV_UFSPHY 133
147#define HI3660_CLK_DIV_CFGBUS 134
148#define HI3660_CLK_DIV_MMC0BUS 135
149#define HI3660_CLK_DIV_MMC1BUS 136
150#define HI3660_CLK_DIV_UFSPERI 137
151#define HI3660_CLK_DIV_AOMM 138
152#define HI3660_CLK_DIV_IOPERI 139
153#define HI3660_VENC_VOLT_HOLD 140
154#define HI3660_PERI_VOLT_HOLD 141
155#define HI3660_CLK_GATE_VENC 142
156#define HI3660_CLK_GATE_VDEC 143
157#define HI3660_CLK_ANDGT_VENC 144
158#define HI3660_CLK_ANDGT_VDEC 145
159#define HI3660_CLK_MUX_VENC 146
160#define HI3660_CLK_MUX_VDEC 147
161#define HI3660_CLK_DIV_VENC 148
162#define HI3660_CLK_DIV_VDEC 149
163#define HI3660_CLK_FAC_ISP_SNCLK 150
164#define HI3660_CLK_GATE_ISP_SNCLK0 151
165#define HI3660_CLK_GATE_ISP_SNCLK1 152
166#define HI3660_CLK_GATE_ISP_SNCLK2 153
167#define HI3660_CLK_ANGT_ISP_SNCLK 154
168#define HI3660_CLK_MUX_ISP_SNCLK 155
169#define HI3660_CLK_DIV_ISP_SNCLK 156
170
171/* clk in pmuctrl */
172#define HI3660_GATE_ABB_192 0
173
174/* clk in pctrl */
175#define HI3660_GATE_UFS_TCXO_EN 0
176#define HI3660_GATE_USB_TCXO_EN 1
177
178/* clk in sctrl */
179#define HI3660_PCLK_AO_GPIO0 0
180#define HI3660_PCLK_AO_GPIO1 1
181#define HI3660_PCLK_AO_GPIO2 2
182#define HI3660_PCLK_AO_GPIO3 3
183#define HI3660_PCLK_AO_GPIO4 4
184#define HI3660_PCLK_AO_GPIO5 5
185#define HI3660_PCLK_AO_GPIO6 6
186#define HI3660_PCLK_GATE_MMBUF 7
187#define HI3660_CLK_GATE_DSS_AXI_MM 8
188#define HI3660_PCLK_MMBUF_ANDGT 9
189#define HI3660_CLK_MMBUF_PLL_ANDGT 10
190#define HI3660_CLK_FLL_MMBUF_ANDGT 11
191#define HI3660_CLK_SYS_MMBUF_ANDGT 12
192#define HI3660_CLK_GATE_PCIEPHY_GT 13
193#define HI3660_ACLK_MUX_MMBUF 14
194#define HI3660_CLK_SW_MMBUF 15
195#define HI3660_CLK_DIV_AOBUS 16
196#define HI3660_PCLK_DIV_MMBUF 17
197#define HI3660_ACLK_DIV_MMBUF 18
198#define HI3660_CLK_DIV_PCIEPHY 19
199
200/* clk in iomcu */
201#define HI3660_CLK_I2C0_IOMCU 0
202#define HI3660_CLK_I2C1_IOMCU 1
203#define HI3660_CLK_I2C2_IOMCU 2
204#define HI3660_CLK_I2C6_IOMCU 3
205#define HI3660_CLK_IOMCU_PERI0 4
206
207/* clk in stub clock */
208#define HI3660_CLK_STUB_CLUSTER0 0
209#define HI3660_CLK_STUB_CLUSTER1 1
210#define HI3660_CLK_STUB_GPU 2
211#define HI3660_CLK_STUB_DDR 3
212#define HI3660_CLK_STUB_NUM 4
213
214#endif /* __DTS_HI3660_CLOCK_H */