linux/include/dt-bindings/clock/samsung,exynosautov9.h

/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
/*
 * Copyright (c) 2022 Samsung Electronics Co., Ltd.
 * Author: Chanho Park <[email protected]>
 *
 * Device Tree binding constants for Exynos Auto V9 clock controller.
 */

#ifndef _DT_BINDINGS_CLOCK_EXYNOSAUTOV9_H
#define _DT_BINDINGS_CLOCK_EXYNOSAUTOV9_H

/* CMU_TOP */
#define FOUT_SHARED0_PLL
#define FOUT_SHARED1_PLL
#define FOUT_SHARED2_PLL
#define FOUT_SHARED3_PLL
#define FOUT_SHARED4_PLL

/* MUX in CMU_TOP */
#define MOUT_SHARED0_PLL
#define MOUT_SHARED1_PLL
#define MOUT_SHARED2_PLL
#define MOUT_SHARED3_PLL
#define MOUT_SHARED4_PLL
#define MOUT_CLKCMU_CMU_BOOST
#define MOUT_CLKCMU_CMU_CMUREF
#define MOUT_CLKCMU_ACC_BUS
#define MOUT_CLKCMU_APM_BUS
#define MOUT_CLKCMU_AUD_CPU
#define MOUT_CLKCMU_AUD_BUS
#define MOUT_CLKCMU_BUSC_BUS
#define MOUT_CLKCMU_BUSMC_BUS
#define MOUT_CLKCMU_CORE_BUS
#define MOUT_CLKCMU_CPUCL0_SWITCH
#define MOUT_CLKCMU_CPUCL0_CLUSTER
#define MOUT_CLKCMU_CPUCL1_SWITCH
#define MOUT_CLKCMU_CPUCL1_CLUSTER
#define MOUT_CLKCMU_DPTX_BUS
#define MOUT_CLKCMU_DPTX_DPGTC
#define MOUT_CLKCMU_DPUM_BUS
#define MOUT_CLKCMU_DPUS0_BUS
#define MOUT_CLKCMU_DPUS1_BUS
#define MOUT_CLKCMU_FSYS0_BUS
#define MOUT_CLKCMU_FSYS0_PCIE
#define MOUT_CLKCMU_FSYS1_BUS
#define MOUT_CLKCMU_FSYS1_USBDRD
#define MOUT_CLKCMU_FSYS1_MMC_CARD
#define MOUT_CLKCMU_FSYS2_BUS
#define MOUT_CLKCMU_FSYS2_UFS_EMBD
#define MOUT_CLKCMU_FSYS2_ETHERNET
#define MOUT_CLKCMU_G2D_G2D
#define MOUT_CLKCMU_G2D_MSCL
#define MOUT_CLKCMU_G3D00_SWITCH
#define MOUT_CLKCMU_G3D01_SWITCH
#define MOUT_CLKCMU_G3D1_SWITCH
#define MOUT_CLKCMU_ISPB_BUS
#define MOUT_CLKCMU_MFC_MFC
#define MOUT_CLKCMU_MFC_WFD
#define MOUT_CLKCMU_MIF_SWITCH
#define MOUT_CLKCMU_MIF_BUSP
#define MOUT_CLKCMU_NPU_BUS
#define MOUT_CLKCMU_PERIC0_BUS
#define MOUT_CLKCMU_PERIC0_IP
#define MOUT_CLKCMU_PERIC1_BUS
#define MOUT_CLKCMU_PERIC1_IP
#define MOUT_CLKCMU_PERIS_BUS

/* DIV in CMU_TOP */
#define DOUT_SHARED0_DIV3
#define DOUT_SHARED0_DIV2
#define DOUT_SHARED1_DIV3
#define DOUT_SHARED1_DIV2
#define DOUT_SHARED1_DIV4
#define DOUT_SHARED2_DIV3
#define DOUT_SHARED2_DIV2
#define DOUT_SHARED2_DIV4
#define DOUT_SHARED4_DIV2
#define DOUT_SHARED4_DIV4
#define DOUT_CLKCMU_CMU_BOOST
#define DOUT_CLKCMU_ACC_BUS
#define DOUT_CLKCMU_APM_BUS
#define DOUT_CLKCMU_AUD_CPU
#define DOUT_CLKCMU_AUD_BUS
#define DOUT_CLKCMU_BUSC_BUS
#define DOUT_CLKCMU_BUSMC_BUS
#define DOUT_CLKCMU_CORE_BUS
#define DOUT_CLKCMU_CPUCL0_SWITCH
#define DOUT_CLKCMU_CPUCL0_CLUSTER
#define DOUT_CLKCMU_CPUCL1_SWITCH
#define DOUT_CLKCMU_CPUCL1_CLUSTER
#define DOUT_CLKCMU_DPTX_BUS
#define DOUT_CLKCMU_DPTX_DPGTC
#define DOUT_CLKCMU_DPUM_BUS
#define DOUT_CLKCMU_DPUS0_BUS
#define DOUT_CLKCMU_DPUS1_BUS
#define DOUT_CLKCMU_FSYS0_BUS
#define DOUT_CLKCMU_FSYS0_PCIE
#define DOUT_CLKCMU_FSYS1_BUS
#define DOUT_CLKCMU_FSYS1_USBDRD
#define DOUT_CLKCMU_FSYS2_BUS
#define DOUT_CLKCMU_FSYS2_UFS_EMBD
#define DOUT_CLKCMU_FSYS2_ETHERNET
#define DOUT_CLKCMU_G2D_G2D
#define DOUT_CLKCMU_G2D_MSCL
#define DOUT_CLKCMU_G3D00_SWITCH
#define DOUT_CLKCMU_G3D01_SWITCH
#define DOUT_CLKCMU_G3D1_SWITCH
#define DOUT_CLKCMU_ISPB_BUS
#define DOUT_CLKCMU_MFC_MFC
#define DOUT_CLKCMU_MFC_WFD
#define DOUT_CLKCMU_MIF_SWITCH
#define DOUT_CLKCMU_MIF_BUSP
#define DOUT_CLKCMU_NPU_BUS
#define DOUT_CLKCMU_PERIC0_BUS
#define DOUT_CLKCMU_PERIC0_IP
#define DOUT_CLKCMU_PERIC1_BUS
#define DOUT_CLKCMU_PERIC1_IP
#define DOUT_CLKCMU_PERIS_BUS

/* GAT in CMU_TOP */
#define GOUT_CLKCMU_CMU_BOOST
#define GOUT_CLKCMU_CPUCL0_BOOST
#define GOUT_CLKCMU_CPUCL1_BOOST
#define GOUT_CLKCMU_CORE_BOOST
#define GOUT_CLKCMU_BUSC_BOOST
#define GOUT_CLKCMU_BUSMC_BOOST
#define GOUT_CLKCMU_MIF_BOOST
#define GOUT_CLKCMU_ACC_BUS
#define GOUT_CLKCMU_APM_BUS
#define GOUT_CLKCMU_AUD_CPU
#define GOUT_CLKCMU_AUD_BUS
#define GOUT_CLKCMU_BUSC_BUS
#define GOUT_CLKCMU_BUSMC_BUS
#define GOUT_CLKCMU_CORE_BUS
#define GOUT_CLKCMU_CPUCL0_SWITCH
#define GOUT_CLKCMU_CPUCL0_CLUSTER
#define GOUT_CLKCMU_CPUCL1_SWITCH
#define GOUT_CLKCMU_CPUCL1_CLUSTER
#define GOUT_CLKCMU_DPTX_BUS
#define GOUT_CLKCMU_DPTX_DPGTC
#define GOUT_CLKCMU_DPUM_BUS
#define GOUT_CLKCMU_DPUS0_BUS
#define GOUT_CLKCMU_DPUS1_BUS
#define GOUT_CLKCMU_FSYS0_BUS
#define GOUT_CLKCMU_FSYS0_PCIE
#define GOUT_CLKCMU_FSYS1_BUS
#define GOUT_CLKCMU_FSYS1_USBDRD
#define GOUT_CLKCMU_FSYS1_MMC_CARD
#define GOUT_CLKCMU_FSYS2_BUS
#define GOUT_CLKCMU_FSYS2_UFS_EMBD
#define GOUT_CLKCMU_FSYS2_ETHERNET
#define GOUT_CLKCMU_G2D_G2D
#define GOUT_CLKCMU_G2D_MSCL
#define GOUT_CLKCMU_G3D00_SWITCH
#define GOUT_CLKCMU_G3D01_SWITCH
#define GOUT_CLKCMU_G3D1_SWITCH
#define GOUT_CLKCMU_ISPB_BUS
#define GOUT_CLKCMU_MFC_MFC
#define GOUT_CLKCMU_MFC_WFD
#define GOUT_CLKCMU_MIF_SWITCH
#define GOUT_CLKCMU_MIF_BUSP
#define GOUT_CLKCMU_NPU_BUS
#define GOUT_CLKCMU_PERIC0_BUS
#define GOUT_CLKCMU_PERIC0_IP
#define GOUT_CLKCMU_PERIC1_BUS
#define GOUT_CLKCMU_PERIC1_IP
#define GOUT_CLKCMU_PERIS_BUS

/* CMU_BUSMC */
#define CLK_MOUT_BUSMC_BUS_USER
#define CLK_DOUT_BUSMC_BUSP
#define CLK_GOUT_BUSMC_PDMA0_PCLK
#define CLK_GOUT_BUSMC_SPDMA_PCLK

/* CMU_CORE */
#define CLK_MOUT_CORE_BUS_USER
#define CLK_DOUT_CORE_BUSP
#define CLK_GOUT_CORE_CCI_CLK
#define CLK_GOUT_CORE_CCI_PCLK
#define CLK_GOUT_CORE_CMU_CORE_PCLK

/* CMU_FSYS0 */
#define CLK_MOUT_FSYS0_BUS_USER
#define CLK_MOUT_FSYS0_PCIE_USER
#define CLK_GOUT_FSYS0_BUS_PCLK

#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X1_REFCLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_REFCLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X1_DBI_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X1_MSTR_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X1_SLV_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_DBI_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_MSTR_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_SLV_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_PIPE_CLK
#define CLK_GOUT_FSYS0_PCIE_GEN3A_2L0_CLK
#define CLK_GOUT_FSYS0_PCIE_GEN3B_2L0_CLK

#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X1_REFCLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_REFCLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X1_DBI_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X1_MSTR_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X1_SLV_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_DBI_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_MSTR_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_SLV_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_PIPE_CLK
#define CLK_GOUT_FSYS0_PCIE_GEN3A_2L1_CLK
#define CLK_GOUT_FSYS0_PCIE_GEN3B_2L1_CLK

#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X2_REFCLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_REFCLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X2_DBI_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X2_MSTR_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X2_SLV_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_DBI_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_MSTR_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_SLV_ACLK
#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_PIPE_CLK
#define CLK_GOUT_FSYS0_PCIE_GEN3A_4L_CLK
#define CLK_GOUT_FSYS0_PCIE_GEN3B_4L_CLK

/* CMU_FSYS1 */
#define FOUT_MMC_PLL

#define CLK_MOUT_FSYS1_BUS_USER
#define CLK_MOUT_FSYS1_MMC_PLL
#define CLK_MOUT_FSYS1_MMC_CARD_USER
#define CLK_MOUT_FSYS1_USBDRD_USER
#define CLK_MOUT_FSYS1_MMC_CARD

#define CLK_DOUT_FSYS1_MMC_CARD

#define CLK_GOUT_FSYS1_PCLK
#define CLK_GOUT_FSYS1_MMC_CARD_SDCLKIN
#define CLK_GOUT_FSYS1_MMC_CARD_ACLK
#define CLK_GOUT_FSYS1_USB20DRD_0_REFCLK
#define CLK_GOUT_FSYS1_USB20DRD_1_REFCLK
#define CLK_GOUT_FSYS1_USB30DRD_0_REFCLK
#define CLK_GOUT_FSYS1_USB30DRD_1_REFCLK
#define CLK_GOUT_FSYS1_USB20_0_ACLK
#define CLK_GOUT_FSYS1_USB20_1_ACLK
#define CLK_GOUT_FSYS1_USB30_0_ACLK
#define CLK_GOUT_FSYS1_USB30_1_ACLK

/* CMU_FSYS2 */
#define CLK_MOUT_FSYS2_BUS_USER
#define CLK_MOUT_FSYS2_UFS_EMBD_USER
#define CLK_MOUT_FSYS2_ETHERNET_USER
#define CLK_GOUT_FSYS2_UFS_EMBD0_ACLK
#define CLK_GOUT_FSYS2_UFS_EMBD0_UNIPRO
#define CLK_GOUT_FSYS2_UFS_EMBD1_ACLK
#define CLK_GOUT_FSYS2_UFS_EMBD1_UNIPRO

/* CMU_PERIC0 */
#define CLK_MOUT_PERIC0_BUS_USER
#define CLK_MOUT_PERIC0_IP_USER
#define CLK_MOUT_PERIC0_USI00_USI
#define CLK_MOUT_PERIC0_USI01_USI
#define CLK_MOUT_PERIC0_USI02_USI
#define CLK_MOUT_PERIC0_USI03_USI
#define CLK_MOUT_PERIC0_USI04_USI
#define CLK_MOUT_PERIC0_USI05_USI
#define CLK_MOUT_PERIC0_USI_I2C

#define CLK_DOUT_PERIC0_USI00_USI
#define CLK_DOUT_PERIC0_USI01_USI
#define CLK_DOUT_PERIC0_USI02_USI
#define CLK_DOUT_PERIC0_USI03_USI
#define CLK_DOUT_PERIC0_USI04_USI
#define CLK_DOUT_PERIC0_USI05_USI
#define CLK_DOUT_PERIC0_USI_I2C

#define CLK_GOUT_PERIC0_IPCLK_0
#define CLK_GOUT_PERIC0_IPCLK_1
#define CLK_GOUT_PERIC0_IPCLK_2
#define CLK_GOUT_PERIC0_IPCLK_3
#define CLK_GOUT_PERIC0_IPCLK_4
#define CLK_GOUT_PERIC0_IPCLK_5
#define CLK_GOUT_PERIC0_IPCLK_6
#define CLK_GOUT_PERIC0_IPCLK_7
#define CLK_GOUT_PERIC0_IPCLK_8
#define CLK_GOUT_PERIC0_IPCLK_9
#define CLK_GOUT_PERIC0_IPCLK_10
#define CLK_GOUT_PERIC0_IPCLK_11
#define CLK_GOUT_PERIC0_PCLK_0
#define CLK_GOUT_PERIC0_PCLK_1
#define CLK_GOUT_PERIC0_PCLK_2
#define CLK_GOUT_PERIC0_PCLK_3
#define CLK_GOUT_PERIC0_PCLK_4
#define CLK_GOUT_PERIC0_PCLK_5
#define CLK_GOUT_PERIC0_PCLK_6
#define CLK_GOUT_PERIC0_PCLK_7
#define CLK_GOUT_PERIC0_PCLK_8
#define CLK_GOUT_PERIC0_PCLK_9
#define CLK_GOUT_PERIC0_PCLK_10
#define CLK_GOUT_PERIC0_PCLK_11

/* CMU_PERIC1 */
#define CLK_MOUT_PERIC1_BUS_USER
#define CLK_MOUT_PERIC1_IP_USER
#define CLK_MOUT_PERIC1_USI06_USI
#define CLK_MOUT_PERIC1_USI07_USI
#define CLK_MOUT_PERIC1_USI08_USI
#define CLK_MOUT_PERIC1_USI09_USI
#define CLK_MOUT_PERIC1_USI10_USI
#define CLK_MOUT_PERIC1_USI11_USI
#define CLK_MOUT_PERIC1_USI_I2C

#define CLK_DOUT_PERIC1_USI06_USI
#define CLK_DOUT_PERIC1_USI07_USI
#define CLK_DOUT_PERIC1_USI08_USI
#define CLK_DOUT_PERIC1_USI09_USI
#define CLK_DOUT_PERIC1_USI10_USI
#define CLK_DOUT_PERIC1_USI11_USI
#define CLK_DOUT_PERIC1_USI_I2C

#define CLK_GOUT_PERIC1_IPCLK_0
#define CLK_GOUT_PERIC1_IPCLK_1
#define CLK_GOUT_PERIC1_IPCLK_2
#define CLK_GOUT_PERIC1_IPCLK_3
#define CLK_GOUT_PERIC1_IPCLK_4
#define CLK_GOUT_PERIC1_IPCLK_5
#define CLK_GOUT_PERIC1_IPCLK_6
#define CLK_GOUT_PERIC1_IPCLK_7
#define CLK_GOUT_PERIC1_IPCLK_8
#define CLK_GOUT_PERIC1_IPCLK_9
#define CLK_GOUT_PERIC1_IPCLK_10
#define CLK_GOUT_PERIC1_IPCLK_11
#define CLK_GOUT_PERIC1_PCLK_0
#define CLK_GOUT_PERIC1_PCLK_1
#define CLK_GOUT_PERIC1_PCLK_2
#define CLK_GOUT_PERIC1_PCLK_3
#define CLK_GOUT_PERIC1_PCLK_4
#define CLK_GOUT_PERIC1_PCLK_5
#define CLK_GOUT_PERIC1_PCLK_6
#define CLK_GOUT_PERIC1_PCLK_7
#define CLK_GOUT_PERIC1_PCLK_8
#define CLK_GOUT_PERIC1_PCLK_9
#define CLK_GOUT_PERIC1_PCLK_10
#define CLK_GOUT_PERIC1_PCLK_11

/* CMU_PERIS */
#define CLK_MOUT_PERIS_BUS_USER
#define CLK_GOUT_SYSREG_PERIS_PCLK
#define CLK_GOUT_WDT_CLUSTER0
#define CLK_GOUT_WDT_CLUSTER1

#endif /* _DT_BINDINGS_CLOCK_EXYNOSAUTOV9_H */