1 1.1 jmcneill /* $NetBSD: exynos3250.h,v 1.1.1.2 2019/01/22 14:57:02 jmcneill Exp $ */ 2 1.1 jmcneill 3 1.1.1.2 jmcneill /* SPDX-License-Identifier: GPL-2.0 */ 4 1.1 jmcneill /* 5 1.1 jmcneill * Copyright (c) 2014 Samsung Electronics Co., Ltd. 6 1.1 jmcneill * Author: Tomasz Figa <t.figa (at) samsung.com> 7 1.1 jmcneill * 8 1.1 jmcneill * Device Tree binding constants for Samsung Exynos3250 clock controllers. 9 1.1 jmcneill */ 10 1.1 jmcneill 11 1.1 jmcneill #ifndef _DT_BINDINGS_CLOCK_SAMSUNG_EXYNOS3250_CLOCK_H 12 1.1 jmcneill #define _DT_BINDINGS_CLOCK_SAMSUNG_EXYNOS3250_CLOCK_H 13 1.1 jmcneill 14 1.1 jmcneill /* 15 1.1 jmcneill * Let each exported clock get a unique index, which is used on DT-enabled 16 1.1 jmcneill * platforms to lookup the clock from a clock specifier. These indices are 17 1.1 jmcneill * therefore considered an ABI and so must not be changed. This implies 18 1.1 jmcneill * that new clocks should be added either in free spaces between clock groups 19 1.1 jmcneill * or at the end. 20 1.1 jmcneill */ 21 1.1 jmcneill 22 1.1 jmcneill 23 1.1 jmcneill /* 24 1.1 jmcneill * Main CMU 25 1.1 jmcneill */ 26 1.1 jmcneill 27 1.1 jmcneill #define CLK_OSCSEL 1 28 1.1 jmcneill #define CLK_FIN_PLL 2 29 1.1 jmcneill #define CLK_FOUT_APLL 3 30 1.1 jmcneill #define CLK_FOUT_VPLL 4 31 1.1 jmcneill #define CLK_FOUT_UPLL 5 32 1.1 jmcneill #define CLK_FOUT_MPLL 6 33 1.1 jmcneill #define CLK_ARM_CLK 7 34 1.1 jmcneill 35 1.1 jmcneill /* Muxes */ 36 1.1 jmcneill #define CLK_MOUT_MPLL_USER_L 16 37 1.1 jmcneill #define CLK_MOUT_GDL 17 38 1.1 jmcneill #define CLK_MOUT_MPLL_USER_R 18 39 1.1 jmcneill #define CLK_MOUT_GDR 19 40 1.1 jmcneill #define CLK_MOUT_EBI 20 41 1.1 jmcneill #define CLK_MOUT_ACLK_200 21 42 1.1 jmcneill #define CLK_MOUT_ACLK_160 22 43 1.1 jmcneill #define CLK_MOUT_ACLK_100 23 44 1.1 jmcneill #define CLK_MOUT_ACLK_266_1 24 45 1.1 jmcneill #define CLK_MOUT_ACLK_266_0 25 46 1.1 jmcneill #define CLK_MOUT_ACLK_266 26 47 1.1 jmcneill #define CLK_MOUT_VPLL 27 48 1.1 jmcneill #define CLK_MOUT_EPLL_USER 28 49 1.1 jmcneill #define CLK_MOUT_EBI_1 29 50 1.1 jmcneill #define CLK_MOUT_UPLL 30 51 1.1 jmcneill #define CLK_MOUT_ACLK_400_MCUISP_SUB 31 52 1.1 jmcneill #define CLK_MOUT_MPLL 32 53 1.1 jmcneill #define CLK_MOUT_ACLK_400_MCUISP 33 54 1.1 jmcneill #define CLK_MOUT_VPLLSRC 34 55 1.1 jmcneill #define CLK_MOUT_CAM1 35 56 1.1 jmcneill #define CLK_MOUT_CAM_BLK 36 57 1.1 jmcneill #define CLK_MOUT_MFC 37 58 1.1 jmcneill #define CLK_MOUT_MFC_1 38 59 1.1 jmcneill #define CLK_MOUT_MFC_0 39 60 1.1 jmcneill #define CLK_MOUT_G3D 40 61 1.1 jmcneill #define CLK_MOUT_G3D_1 41 62 1.1 jmcneill #define CLK_MOUT_G3D_0 42 63 1.1 jmcneill #define CLK_MOUT_MIPI0 43 64 1.1 jmcneill #define CLK_MOUT_FIMD0 44 65 1.1 jmcneill #define CLK_MOUT_UART_ISP 45 66 1.1 jmcneill #define CLK_MOUT_SPI1_ISP 46 67 1.1 jmcneill #define CLK_MOUT_SPI0_ISP 47 68 1.1 jmcneill #define CLK_MOUT_TSADC 48 69 1.1 jmcneill #define CLK_MOUT_MMC1 49 70 1.1 jmcneill #define CLK_MOUT_MMC0 50 71 1.1 jmcneill #define CLK_MOUT_UART1 51 72 1.1 jmcneill #define CLK_MOUT_UART0 52 73 1.1 jmcneill #define CLK_MOUT_SPI1 53 74 1.1 jmcneill #define CLK_MOUT_SPI0 54 75 1.1 jmcneill #define CLK_MOUT_AUDIO 55 76 1.1 jmcneill #define CLK_MOUT_MPLL_USER_C 56 77 1.1 jmcneill #define CLK_MOUT_HPM 57 78 1.1 jmcneill #define CLK_MOUT_CORE 58 79 1.1 jmcneill #define CLK_MOUT_APLL 59 80 1.1 jmcneill #define CLK_MOUT_ACLK_266_SUB 60 81 1.1 jmcneill #define CLK_MOUT_UART2 61 82 1.1 jmcneill #define CLK_MOUT_MMC2 62 83 1.1 jmcneill 84 1.1 jmcneill /* Dividers */ 85 1.1 jmcneill #define CLK_DIV_GPL 64 86 1.1 jmcneill #define CLK_DIV_GDL 65 87 1.1 jmcneill #define CLK_DIV_GPR 66 88 1.1 jmcneill #define CLK_DIV_GDR 67 89 1.1 jmcneill #define CLK_DIV_MPLL_PRE 68 90 1.1 jmcneill #define CLK_DIV_ACLK_400_MCUISP 69 91 1.1 jmcneill #define CLK_DIV_EBI 70 92 1.1 jmcneill #define CLK_DIV_ACLK_200 71 93 1.1 jmcneill #define CLK_DIV_ACLK_160 72 94 1.1 jmcneill #define CLK_DIV_ACLK_100 73 95 1.1 jmcneill #define CLK_DIV_ACLK_266 74 96 1.1 jmcneill #define CLK_DIV_CAM1 75 97 1.1 jmcneill #define CLK_DIV_CAM_BLK 76 98 1.1 jmcneill #define CLK_DIV_MFC 77 99 1.1 jmcneill #define CLK_DIV_G3D 78 100 1.1 jmcneill #define CLK_DIV_MIPI0_PRE 79 101 1.1 jmcneill #define CLK_DIV_MIPI0 80 102 1.1 jmcneill #define CLK_DIV_FIMD0 81 103 1.1 jmcneill #define CLK_DIV_UART_ISP 82 104 1.1 jmcneill #define CLK_DIV_SPI1_ISP_PRE 83 105 1.1 jmcneill #define CLK_DIV_SPI1_ISP 84 106 1.1 jmcneill #define CLK_DIV_SPI0_ISP_PRE 85 107 1.1 jmcneill #define CLK_DIV_SPI0_ISP 86 108 1.1 jmcneill #define CLK_DIV_TSADC_PRE 87 109 1.1 jmcneill #define CLK_DIV_TSADC 88 110 1.1 jmcneill #define CLK_DIV_MMC1_PRE 89 111 1.1 jmcneill #define CLK_DIV_MMC1 90 112 1.1 jmcneill #define CLK_DIV_MMC0_PRE 91 113 1.1 jmcneill #define CLK_DIV_MMC0 92 114 1.1 jmcneill #define CLK_DIV_UART1 93 115 1.1 jmcneill #define CLK_DIV_UART0 94 116 1.1 jmcneill #define CLK_DIV_SPI1_PRE 95 117 1.1 jmcneill #define CLK_DIV_SPI1 96 118 1.1 jmcneill #define CLK_DIV_SPI0_PRE 97 119 1.1 jmcneill #define CLK_DIV_SPI0 98 120 1.1 jmcneill #define CLK_DIV_PCM 99 121 1.1 jmcneill #define CLK_DIV_AUDIO 100 122 1.1 jmcneill #define CLK_DIV_I2S 101 123 1.1 jmcneill #define CLK_DIV_CORE2 102 124 1.1 jmcneill #define CLK_DIV_APLL 103 125 1.1 jmcneill #define CLK_DIV_PCLK_DBG 104 126 1.1 jmcneill #define CLK_DIV_ATB 105 127 1.1 jmcneill #define CLK_DIV_COREM 106 128 1.1 jmcneill #define CLK_DIV_CORE 107 129 1.1 jmcneill #define CLK_DIV_HPM 108 130 1.1 jmcneill #define CLK_DIV_COPY 109 131 1.1 jmcneill #define CLK_DIV_UART2 110 132 1.1 jmcneill #define CLK_DIV_MMC2_PRE 111 133 1.1 jmcneill #define CLK_DIV_MMC2 112 134 1.1 jmcneill 135 1.1 jmcneill /* Gates */ 136 1.1 jmcneill #define CLK_ASYNC_G3D 128 137 1.1 jmcneill #define CLK_ASYNC_MFCL 129 138 1.1 jmcneill #define CLK_PPMULEFT 130 139 1.1 jmcneill #define CLK_GPIO_LEFT 131 140 1.1 jmcneill #define CLK_ASYNC_ISPMX 132 141 1.1 jmcneill #define CLK_ASYNC_FSYSD 133 142 1.1 jmcneill #define CLK_ASYNC_LCD0X 134 143 1.1 jmcneill #define CLK_ASYNC_CAMX 135 144 1.1 jmcneill #define CLK_PPMURIGHT 136 145 1.1 jmcneill #define CLK_GPIO_RIGHT 137 146 1.1 jmcneill #define CLK_MONOCNT 138 147 1.1 jmcneill #define CLK_TZPC6 139 148 1.1 jmcneill #define CLK_PROVISIONKEY1 140 149 1.1 jmcneill #define CLK_PROVISIONKEY0 141 150 1.1 jmcneill #define CLK_CMU_ISPPART 142 151 1.1 jmcneill #define CLK_TMU_APBIF 143 152 1.1 jmcneill #define CLK_KEYIF 144 153 1.1 jmcneill #define CLK_RTC 145 154 1.1 jmcneill #define CLK_WDT 146 155 1.1 jmcneill #define CLK_MCT 147 156 1.1 jmcneill #define CLK_SECKEY 148 157 1.1 jmcneill #define CLK_TZPC5 149 158 1.1 jmcneill #define CLK_TZPC4 150 159 1.1 jmcneill #define CLK_TZPC3 151 160 1.1 jmcneill #define CLK_TZPC2 152 161 1.1 jmcneill #define CLK_TZPC1 153 162 1.1 jmcneill #define CLK_TZPC0 154 163 1.1 jmcneill #define CLK_CMU_COREPART 155 164 1.1 jmcneill #define CLK_CMU_TOPPART 156 165 1.1 jmcneill #define CLK_PMU_APBIF 157 166 1.1 jmcneill #define CLK_SYSREG 158 167 1.1 jmcneill #define CLK_CHIP_ID 159 168 1.1 jmcneill #define CLK_QEJPEG 160 169 1.1 jmcneill #define CLK_PIXELASYNCM1 161 170 1.1 jmcneill #define CLK_PIXELASYNCM0 162 171 1.1 jmcneill #define CLK_PPMUCAMIF 163 172 1.1 jmcneill #define CLK_QEM2MSCALER 164 173 1.1 jmcneill #define CLK_QEGSCALER1 165 174 1.1 jmcneill #define CLK_QEGSCALER0 166 175 1.1 jmcneill #define CLK_SMMUJPEG 167 176 1.1 jmcneill #define CLK_SMMUM2M2SCALER 168 177 1.1 jmcneill #define CLK_SMMUGSCALER1 169 178 1.1 jmcneill #define CLK_SMMUGSCALER0 170 179 1.1 jmcneill #define CLK_JPEG 171 180 1.1 jmcneill #define CLK_M2MSCALER 172 181 1.1 jmcneill #define CLK_GSCALER1 173 182 1.1 jmcneill #define CLK_GSCALER0 174 183 1.1 jmcneill #define CLK_QEMFC 175 184 1.1 jmcneill #define CLK_PPMUMFC_L 176 185 1.1 jmcneill #define CLK_SMMUMFC_L 177 186 1.1 jmcneill #define CLK_MFC 178 187 1.1 jmcneill #define CLK_SMMUG3D 179 188 1.1 jmcneill #define CLK_QEG3D 180 189 1.1 jmcneill #define CLK_PPMUG3D 181 190 1.1 jmcneill #define CLK_G3D 182 191 1.1 jmcneill #define CLK_QE_CH1_LCD 183 192 1.1 jmcneill #define CLK_QE_CH0_LCD 184 193 1.1 jmcneill #define CLK_PPMULCD0 185 194 1.1 jmcneill #define CLK_SMMUFIMD0 186 195 1.1 jmcneill #define CLK_DSIM0 187 196 1.1 jmcneill #define CLK_FIMD0 188 197 1.1 jmcneill #define CLK_CAM1 189 198 1.1 jmcneill #define CLK_UART_ISP_TOP 190 199 1.1 jmcneill #define CLK_SPI1_ISP_TOP 191 200 1.1 jmcneill #define CLK_SPI0_ISP_TOP 192 201 1.1 jmcneill #define CLK_TSADC 193 202 1.1 jmcneill #define CLK_PPMUFILE 194 203 1.1 jmcneill #define CLK_USBOTG 195 204 1.1 jmcneill #define CLK_USBHOST 196 205 1.1 jmcneill #define CLK_SROMC 197 206 1.1 jmcneill #define CLK_SDMMC1 198 207 1.1 jmcneill #define CLK_SDMMC0 199 208 1.1 jmcneill #define CLK_PDMA1 200 209 1.1 jmcneill #define CLK_PDMA0 201 210 1.1 jmcneill #define CLK_PWM 202 211 1.1 jmcneill #define CLK_PCM 203 212 1.1 jmcneill #define CLK_I2S 204 213 1.1 jmcneill #define CLK_SPI1 205 214 1.1 jmcneill #define CLK_SPI0 206 215 1.1 jmcneill #define CLK_I2C7 207 216 1.1 jmcneill #define CLK_I2C6 208 217 1.1 jmcneill #define CLK_I2C5 209 218 1.1 jmcneill #define CLK_I2C4 210 219 1.1 jmcneill #define CLK_I2C3 211 220 1.1 jmcneill #define CLK_I2C2 212 221 1.1 jmcneill #define CLK_I2C1 213 222 1.1 jmcneill #define CLK_I2C0 214 223 1.1 jmcneill #define CLK_UART1 215 224 1.1 jmcneill #define CLK_UART0 216 225 1.1 jmcneill #define CLK_BLOCK_LCD 217 226 1.1 jmcneill #define CLK_BLOCK_G3D 218 227 1.1 jmcneill #define CLK_BLOCK_MFC 219 228 1.1 jmcneill #define CLK_BLOCK_CAM 220 229 1.1 jmcneill #define CLK_SMIES 221 230 1.1 jmcneill #define CLK_UART2 222 231 1.1 jmcneill #define CLK_SDMMC2 223 232 1.1 jmcneill 233 1.1 jmcneill /* Special clocks */ 234 1.1 jmcneill #define CLK_SCLK_JPEG 224 235 1.1 jmcneill #define CLK_SCLK_M2MSCALER 225 236 1.1 jmcneill #define CLK_SCLK_GSCALER1 226 237 1.1 jmcneill #define CLK_SCLK_GSCALER0 227 238 1.1 jmcneill #define CLK_SCLK_MFC 228 239 1.1 jmcneill #define CLK_SCLK_G3D 229 240 1.1 jmcneill #define CLK_SCLK_MIPIDPHY2L 230 241 1.1 jmcneill #define CLK_SCLK_MIPI0 231 242 1.1 jmcneill #define CLK_SCLK_FIMD0 232 243 1.1 jmcneill #define CLK_SCLK_CAM1 233 244 1.1 jmcneill #define CLK_SCLK_UART_ISP 234 245 1.1 jmcneill #define CLK_SCLK_SPI1_ISP 235 246 1.1 jmcneill #define CLK_SCLK_SPI0_ISP 236 247 1.1 jmcneill #define CLK_SCLK_UPLL 237 248 1.1 jmcneill #define CLK_SCLK_TSADC 238 249 1.1 jmcneill #define CLK_SCLK_EBI 239 250 1.1 jmcneill #define CLK_SCLK_MMC1 240 251 1.1 jmcneill #define CLK_SCLK_MMC0 241 252 1.1 jmcneill #define CLK_SCLK_I2S 242 253 1.1 jmcneill #define CLK_SCLK_PCM 243 254 1.1 jmcneill #define CLK_SCLK_SPI1 244 255 1.1 jmcneill #define CLK_SCLK_SPI0 245 256 1.1 jmcneill #define CLK_SCLK_UART1 246 257 1.1 jmcneill #define CLK_SCLK_UART0 247 258 1.1 jmcneill #define CLK_SCLK_UART2 248 259 1.1 jmcneill #define CLK_SCLK_MMC2 249 260 1.1 jmcneill 261 1.1 jmcneill /* 262 1.1 jmcneill * Total number of clocks of main CMU. 263 1.1 jmcneill * NOTE: Must be equal to last clock ID increased by one. 264 1.1 jmcneill */ 265 1.1 jmcneill #define CLK_NR_CLKS 250 266 1.1 jmcneill 267 1.1 jmcneill /* 268 1.1 jmcneill * CMU DMC 269 1.1 jmcneill */ 270 1.1 jmcneill 271 1.1 jmcneill #define CLK_FOUT_BPLL 1 272 1.1 jmcneill #define CLK_FOUT_EPLL 2 273 1.1 jmcneill 274 1.1 jmcneill /* Muxes */ 275 1.1 jmcneill #define CLK_MOUT_MPLL_MIF 8 276 1.1 jmcneill #define CLK_MOUT_BPLL 9 277 1.1 jmcneill #define CLK_MOUT_DPHY 10 278 1.1 jmcneill #define CLK_MOUT_DMC_BUS 11 279 1.1 jmcneill #define CLK_MOUT_EPLL 12 280 1.1 jmcneill 281 1.1 jmcneill /* Dividers */ 282 1.1 jmcneill #define CLK_DIV_DMC 16 283 1.1 jmcneill #define CLK_DIV_DPHY 17 284 1.1 jmcneill #define CLK_DIV_DMC_PRE 18 285 1.1 jmcneill #define CLK_DIV_DMCP 19 286 1.1 jmcneill #define CLK_DIV_DMCD 20 287 1.1 jmcneill 288 1.1 jmcneill /* 289 1.1 jmcneill * Total number of clocks of main CMU. 290 1.1 jmcneill * NOTE: Must be equal to last clock ID increased by one. 291 1.1 jmcneill */ 292 1.1 jmcneill #define NR_CLKS_DMC 21 293 1.1 jmcneill 294 1.1 jmcneill /* 295 1.1 jmcneill * CMU ISP 296 1.1 jmcneill */ 297 1.1 jmcneill 298 1.1 jmcneill /* Dividers */ 299 1.1 jmcneill 300 1.1 jmcneill #define CLK_DIV_ISP1 1 301 1.1 jmcneill #define CLK_DIV_ISP0 2 302 1.1 jmcneill #define CLK_DIV_MCUISP1 3 303 1.1 jmcneill #define CLK_DIV_MCUISP0 4 304 1.1 jmcneill #define CLK_DIV_MPWM 5 305 1.1 jmcneill 306 1.1 jmcneill /* Gates */ 307 1.1 jmcneill 308 1.1 jmcneill #define CLK_UART_ISP 8 309 1.1 jmcneill #define CLK_WDT_ISP 9 310 1.1 jmcneill #define CLK_PWM_ISP 10 311 1.1 jmcneill #define CLK_I2C1_ISP 11 312 1.1 jmcneill #define CLK_I2C0_ISP 12 313 1.1 jmcneill #define CLK_MPWM_ISP 13 314 1.1 jmcneill #define CLK_MCUCTL_ISP 14 315 1.1 jmcneill #define CLK_PPMUISPX 15 316 1.1 jmcneill #define CLK_PPMUISPMX 16 317 1.1 jmcneill #define CLK_QE_LITE1 17 318 1.1 jmcneill #define CLK_QE_LITE0 18 319 1.1 jmcneill #define CLK_QE_FD 19 320 1.1 jmcneill #define CLK_QE_DRC 20 321 1.1 jmcneill #define CLK_QE_ISP 21 322 1.1 jmcneill #define CLK_CSIS1 22 323 1.1 jmcneill #define CLK_SMMU_LITE1 23 324 1.1 jmcneill #define CLK_SMMU_LITE0 24 325 1.1 jmcneill #define CLK_SMMU_FD 25 326 1.1 jmcneill #define CLK_SMMU_DRC 26 327 1.1 jmcneill #define CLK_SMMU_ISP 27 328 1.1 jmcneill #define CLK_GICISP 28 329 1.1 jmcneill #define CLK_CSIS0 29 330 1.1 jmcneill #define CLK_MCUISP 30 331 1.1 jmcneill #define CLK_LITE1 31 332 1.1 jmcneill #define CLK_LITE0 32 333 1.1 jmcneill #define CLK_FD 33 334 1.1 jmcneill #define CLK_DRC 34 335 1.1 jmcneill #define CLK_ISP 35 336 1.1 jmcneill #define CLK_QE_ISPCX 36 337 1.1 jmcneill #define CLK_QE_SCALERP 37 338 1.1 jmcneill #define CLK_QE_SCALERC 38 339 1.1 jmcneill #define CLK_SMMU_SCALERP 39 340 1.1 jmcneill #define CLK_SMMU_SCALERC 40 341 1.1 jmcneill #define CLK_SCALERP 41 342 1.1 jmcneill #define CLK_SCALERC 42 343 1.1 jmcneill #define CLK_SPI1_ISP 43 344 1.1 jmcneill #define CLK_SPI0_ISP 44 345 1.1 jmcneill #define CLK_SMMU_ISPCX 45 346 1.1 jmcneill #define CLK_ASYNCAXIM 46 347 1.1 jmcneill #define CLK_SCLK_MPWM_ISP 47 348 1.1 jmcneill 349 1.1 jmcneill /* 350 1.1 jmcneill * Total number of clocks of CMU_ISP. 351 1.1 jmcneill * NOTE: Must be equal to last clock ID increased by one. 352 1.1 jmcneill */ 353 1.1 jmcneill #define NR_CLKS_ISP 48 354 1.1 jmcneill 355 1.1 jmcneill #endif /* _DT_BINDINGS_CLOCK_SAMSUNG_EXYNOS3250_CLOCK_H */ 356