linux/include/dt-bindings/clock/exynos3250.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
 * 	Author: Tomasz Figa <[email protected]>
 *
 * Device Tree binding constants for Samsung Exynos3250 clock controllers.
 */

#ifndef _DT_BINDINGS_CLOCK_SAMSUNG_EXYNOS3250_CLOCK_H
#define _DT_BINDINGS_CLOCK_SAMSUNG_EXYNOS3250_CLOCK_H

/*
 * Let each exported clock get a unique index, which is used on DT-enabled
 * platforms to lookup the clock from a clock specifier. These indices are
 * therefore considered an ABI and so must not be changed. This implies
 * that new clocks should be added either in free spaces between clock groups
 * or at the end.
 */


/*
 * Main CMU
 */

#define CLK_OSCSEL
#define CLK_FIN_PLL
#define CLK_FOUT_APLL
#define CLK_FOUT_VPLL
#define CLK_FOUT_UPLL
#define CLK_FOUT_MPLL
#define CLK_ARM_CLK

/* Muxes */
#define CLK_MOUT_MPLL_USER_L
#define CLK_MOUT_GDL
#define CLK_MOUT_MPLL_USER_R
#define CLK_MOUT_GDR
#define CLK_MOUT_EBI
#define CLK_MOUT_ACLK_200
#define CLK_MOUT_ACLK_160
#define CLK_MOUT_ACLK_100
#define CLK_MOUT_ACLK_266_1
#define CLK_MOUT_ACLK_266_0
#define CLK_MOUT_ACLK_266
#define CLK_MOUT_VPLL
#define CLK_MOUT_EPLL_USER
#define CLK_MOUT_EBI_1
#define CLK_MOUT_UPLL
#define CLK_MOUT_ACLK_400_MCUISP_SUB
#define CLK_MOUT_MPLL
#define CLK_MOUT_ACLK_400_MCUISP
#define CLK_MOUT_VPLLSRC
#define CLK_MOUT_CAM1
#define CLK_MOUT_CAM_BLK
#define CLK_MOUT_MFC
#define CLK_MOUT_MFC_1
#define CLK_MOUT_MFC_0
#define CLK_MOUT_G3D
#define CLK_MOUT_G3D_1
#define CLK_MOUT_G3D_0
#define CLK_MOUT_MIPI0
#define CLK_MOUT_FIMD0
#define CLK_MOUT_UART_ISP
#define CLK_MOUT_SPI1_ISP
#define CLK_MOUT_SPI0_ISP
#define CLK_MOUT_TSADC
#define CLK_MOUT_MMC1
#define CLK_MOUT_MMC0
#define CLK_MOUT_UART1
#define CLK_MOUT_UART0
#define CLK_MOUT_SPI1
#define CLK_MOUT_SPI0
#define CLK_MOUT_AUDIO
#define CLK_MOUT_MPLL_USER_C
#define CLK_MOUT_HPM
#define CLK_MOUT_CORE
#define CLK_MOUT_APLL
#define CLK_MOUT_ACLK_266_SUB
#define CLK_MOUT_UART2
#define CLK_MOUT_MMC2

/* Dividers */
#define CLK_DIV_GPL
#define CLK_DIV_GDL
#define CLK_DIV_GPR
#define CLK_DIV_GDR
#define CLK_DIV_MPLL_PRE
#define CLK_DIV_ACLK_400_MCUISP
#define CLK_DIV_EBI
#define CLK_DIV_ACLK_200
#define CLK_DIV_ACLK_160
#define CLK_DIV_ACLK_100
#define CLK_DIV_ACLK_266
#define CLK_DIV_CAM1
#define CLK_DIV_CAM_BLK
#define CLK_DIV_MFC
#define CLK_DIV_G3D
#define CLK_DIV_MIPI0_PRE
#define CLK_DIV_MIPI0
#define CLK_DIV_FIMD0
#define CLK_DIV_UART_ISP
#define CLK_DIV_SPI1_ISP_PRE
#define CLK_DIV_SPI1_ISP
#define CLK_DIV_SPI0_ISP_PRE
#define CLK_DIV_SPI0_ISP
#define CLK_DIV_TSADC_PRE
#define CLK_DIV_TSADC
#define CLK_DIV_MMC1_PRE
#define CLK_DIV_MMC1
#define CLK_DIV_MMC0_PRE
#define CLK_DIV_MMC0
#define CLK_DIV_UART1
#define CLK_DIV_UART0
#define CLK_DIV_SPI1_PRE
#define CLK_DIV_SPI1
#define CLK_DIV_SPI0_PRE
#define CLK_DIV_SPI0
#define CLK_DIV_PCM
#define CLK_DIV_AUDIO
#define CLK_DIV_I2S
#define CLK_DIV_CORE2
#define CLK_DIV_APLL
#define CLK_DIV_PCLK_DBG
#define CLK_DIV_ATB
#define CLK_DIV_COREM
#define CLK_DIV_CORE
#define CLK_DIV_HPM
#define CLK_DIV_COPY
#define CLK_DIV_UART2
#define CLK_DIV_MMC2_PRE
#define CLK_DIV_MMC2

/* Gates */
#define CLK_ASYNC_G3D
#define CLK_ASYNC_MFCL
#define CLK_PPMULEFT
#define CLK_GPIO_LEFT
#define CLK_ASYNC_ISPMX
#define CLK_ASYNC_FSYSD
#define CLK_ASYNC_LCD0X
#define CLK_ASYNC_CAMX
#define CLK_PPMURIGHT
#define CLK_GPIO_RIGHT
#define CLK_MONOCNT
#define CLK_TZPC6
#define CLK_PROVISIONKEY1
#define CLK_PROVISIONKEY0
#define CLK_CMU_ISPPART
#define CLK_TMU_APBIF
#define CLK_KEYIF
#define CLK_RTC
#define CLK_WDT
#define CLK_MCT
#define CLK_SECKEY
#define CLK_TZPC5
#define CLK_TZPC4
#define CLK_TZPC3
#define CLK_TZPC2
#define CLK_TZPC1
#define CLK_TZPC0
#define CLK_CMU_COREPART
#define CLK_CMU_TOPPART
#define CLK_PMU_APBIF
#define CLK_SYSREG
#define CLK_CHIP_ID
#define CLK_QEJPEG
#define CLK_PIXELASYNCM1
#define CLK_PIXELASYNCM0
#define CLK_PPMUCAMIF
#define CLK_QEM2MSCALER
#define CLK_QEGSCALER1
#define CLK_QEGSCALER0
#define CLK_SMMUJPEG
#define CLK_SMMUM2M2SCALER
#define CLK_SMMUGSCALER1
#define CLK_SMMUGSCALER0
#define CLK_JPEG
#define CLK_M2MSCALER
#define CLK_GSCALER1
#define CLK_GSCALER0
#define CLK_QEMFC
#define CLK_PPMUMFC_L
#define CLK_SMMUMFC_L
#define CLK_MFC
#define CLK_SMMUG3D
#define CLK_QEG3D
#define CLK_PPMUG3D
#define CLK_G3D
#define CLK_QE_CH1_LCD
#define CLK_QE_CH0_LCD
#define CLK_PPMULCD0
#define CLK_SMMUFIMD0
#define CLK_DSIM0
#define CLK_FIMD0
#define CLK_CAM1
#define CLK_UART_ISP_TOP
#define CLK_SPI1_ISP_TOP
#define CLK_SPI0_ISP_TOP
#define CLK_TSADC
#define CLK_PPMUFILE
#define CLK_USBOTG
#define CLK_USBHOST
#define CLK_SROMC
#define CLK_SDMMC1
#define CLK_SDMMC0
#define CLK_PDMA1
#define CLK_PDMA0
#define CLK_PWM
#define CLK_PCM
#define CLK_I2S
#define CLK_SPI1
#define CLK_SPI0
#define CLK_I2C7
#define CLK_I2C6
#define CLK_I2C5
#define CLK_I2C4
#define CLK_I2C3
#define CLK_I2C2
#define CLK_I2C1
#define CLK_I2C0
#define CLK_UART1
#define CLK_UART0
#define CLK_BLOCK_LCD
#define CLK_BLOCK_G3D
#define CLK_BLOCK_MFC
#define CLK_BLOCK_CAM
#define CLK_SMIES
#define CLK_UART2
#define CLK_SDMMC2

/* Special clocks */
#define CLK_SCLK_JPEG
#define CLK_SCLK_M2MSCALER
#define CLK_SCLK_GSCALER1
#define CLK_SCLK_GSCALER0
#define CLK_SCLK_MFC
#define CLK_SCLK_G3D
#define CLK_SCLK_MIPIDPHY2L
#define CLK_SCLK_MIPI0
#define CLK_SCLK_FIMD0
#define CLK_SCLK_CAM1
#define CLK_SCLK_UART_ISP
#define CLK_SCLK_SPI1_ISP
#define CLK_SCLK_SPI0_ISP
#define CLK_SCLK_UPLL
#define CLK_SCLK_TSADC
#define CLK_SCLK_EBI
#define CLK_SCLK_MMC1
#define CLK_SCLK_MMC0
#define CLK_SCLK_I2S
#define CLK_SCLK_PCM
#define CLK_SCLK_SPI1
#define CLK_SCLK_SPI0
#define CLK_SCLK_UART1
#define CLK_SCLK_UART0
#define CLK_SCLK_UART2
#define CLK_SCLK_MMC2

/*
 * CMU DMC
 */

#define CLK_FOUT_BPLL
#define CLK_FOUT_EPLL

/* Muxes */
#define CLK_MOUT_MPLL_MIF
#define CLK_MOUT_BPLL
#define CLK_MOUT_DPHY
#define CLK_MOUT_DMC_BUS
#define CLK_MOUT_EPLL

/* Dividers */
#define CLK_DIV_DMC
#define CLK_DIV_DPHY
#define CLK_DIV_DMC_PRE
#define CLK_DIV_DMCP
#define CLK_DIV_DMCD

/*
 * CMU ISP
 */

/* Dividers */

#define CLK_DIV_ISP1
#define CLK_DIV_ISP0
#define CLK_DIV_MCUISP1
#define CLK_DIV_MCUISP0
#define CLK_DIV_MPWM

/* Gates */

#define CLK_UART_ISP
#define CLK_WDT_ISP
#define CLK_PWM_ISP
#define CLK_I2C1_ISP
#define CLK_I2C0_ISP
#define CLK_MPWM_ISP
#define CLK_MCUCTL_ISP
#define CLK_PPMUISPX
#define CLK_PPMUISPMX
#define CLK_QE_LITE1
#define CLK_QE_LITE0
#define CLK_QE_FD
#define CLK_QE_DRC
#define CLK_QE_ISP
#define CLK_CSIS1
#define CLK_SMMU_LITE1
#define CLK_SMMU_LITE0
#define CLK_SMMU_FD
#define CLK_SMMU_DRC
#define CLK_SMMU_ISP
#define CLK_GICISP
#define CLK_CSIS0
#define CLK_MCUISP
#define CLK_LITE1
#define CLK_LITE0
#define CLK_FD
#define CLK_DRC
#define CLK_ISP
#define CLK_QE_ISPCX
#define CLK_QE_SCALERP
#define CLK_QE_SCALERC
#define CLK_SMMU_SCALERP
#define CLK_SMMU_SCALERC
#define CLK_SCALERP
#define CLK_SCALERC
#define CLK_SPI1_ISP
#define CLK_SPI0_ISP
#define CLK_SMMU_ISPCX
#define CLK_ASYNCAXIM
#define CLK_SCLK_MPWM_ISP

#endif /* _DT_BINDINGS_CLOCK_SAMSUNG_EXYNOS3250_CLOCK_H */