Import lib9p 7ddb1164407da19b9b1afb83df83ae65a71a9a66.
[freebsd.git] / sys / gnu / dts / include / dt-bindings / clock / 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 */