Merge tag 'fbdev-v4.16' of git://github.com/bzolnier/linux
[sfrench/cifs-2.6.git] / include / dt-bindings / clock / hi3660-clock.h
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 */