/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
/*
 * Copyright (c) 2024 Samsung Electronics Co., Ltd.
 * Author: Sunyeal Hong <sunyeal.hong@samsung.com>
 *
 * Device Tree binding constants for ExynosAuto v920 clock controller.
 */

#ifndef _DT_BINDINGS_CLOCK_EXYNOSAUTOV920_H
#define _DT_BINDINGS_CLOCK_EXYNOSAUTOV920_H

/* CMU_TOP */
#define FOUT_SHARED0_PLL		1
#define FOUT_SHARED1_PLL		2
#define FOUT_SHARED2_PLL		3
#define FOUT_SHARED3_PLL		4
#define FOUT_SHARED4_PLL		5
#define FOUT_SHARED5_PLL		6
#define FOUT_MMC_PLL			7

/* MUX in CMU_TOP */
#define MOUT_SHARED0_PLL		8
#define MOUT_SHARED1_PLL		9
#define MOUT_SHARED2_PLL		10
#define MOUT_SHARED3_PLL		11
#define MOUT_SHARED4_PLL		12
#define MOUT_SHARED5_PLL		13
#define MOUT_MMC_PLL			14
#define MOUT_CLKCMU_CMU_BOOST		15
#define MOUT_CLKCMU_CMU_CMUREF		16
#define MOUT_CLKCMU_ACC_NOC		17
#define MOUT_CLKCMU_ACC_ORB		18
#define MOUT_CLKCMU_APM_NOC		19
#define MOUT_CLKCMU_AUD_CPU		20
#define MOUT_CLKCMU_AUD_NOC		21
#define MOUT_CLKCMU_CPUCL0_SWITCH	22
#define MOUT_CLKCMU_CPUCL0_CLUSTER	23
#define MOUT_CLKCMU_CPUCL0_DBG		24
#define MOUT_CLKCMU_CPUCL1_SWITCH	25
#define MOUT_CLKCMU_CPUCL1_CLUSTER	26
#define MOUT_CLKCMU_CPUCL2_SWITCH	27
#define MOUT_CLKCMU_CPUCL2_CLUSTER	28
#define MOUT_CLKCMU_DNC_NOC		29
#define MOUT_CLKCMU_DPTX_NOC		30
#define MOUT_CLKCMU_DPTX_DPGTC		31
#define MOUT_CLKCMU_DPTX_DPOSC		32
#define MOUT_CLKCMU_DPUB_NOC		33
#define MOUT_CLKCMU_DPUB_DSIM		34
#define MOUT_CLKCMU_DPUF0_NOC		35
#define MOUT_CLKCMU_DPUF1_NOC		36
#define MOUT_CLKCMU_DPUF2_NOC		37
#define MOUT_CLKCMU_DSP_NOC		38
#define MOUT_CLKCMU_G3D_SWITCH		39
#define MOUT_CLKCMU_G3D_NOCP		40
#define MOUT_CLKCMU_GNPU_NOC		41
#define MOUT_CLKCMU_HSI0_NOC		42
#define MOUT_CLKCMU_HSI1_NOC		43
#define MOUT_CLKCMU_HSI1_USBDRD		44
#define MOUT_CLKCMU_HSI1_MMC_CARD	45
#define MOUT_CLKCMU_HSI2_NOC		46
#define MOUT_CLKCMU_HSI2_NOC_UFS	47
#define MOUT_CLKCMU_HSI2_UFS_EMBD	48
#define MOUT_CLKCMU_HSI2_ETHERNET	49
#define MOUT_CLKCMU_ISP_NOC		50
#define MOUT_CLKCMU_M2M_NOC		51
#define MOUT_CLKCMU_M2M_JPEG		52
#define MOUT_CLKCMU_MFC_MFC		53
#define MOUT_CLKCMU_MFC_WFD		54
#define MOUT_CLKCMU_MFD_NOC		55
#define MOUT_CLKCMU_MIF_SWITCH		56
#define MOUT_CLKCMU_MIF_NOCP		57
#define MOUT_CLKCMU_MISC_NOC		58
#define MOUT_CLKCMU_NOCL0_NOC		59
#define MOUT_CLKCMU_NOCL1_NOC		60
#define MOUT_CLKCMU_NOCL2_NOC		61
#define MOUT_CLKCMU_PERIC0_NOC		62
#define MOUT_CLKCMU_PERIC0_IP		63
#define MOUT_CLKCMU_PERIC1_NOC		64
#define MOUT_CLKCMU_PERIC1_IP		65
#define MOUT_CLKCMU_SDMA_NOC		66
#define MOUT_CLKCMU_SNW_NOC		67
#define MOUT_CLKCMU_SSP_NOC		68
#define MOUT_CLKCMU_TAA_NOC		69

/* DIV in CMU_TOP */
#define DOUT_SHARED0_DIV1		70
#define DOUT_SHARED0_DIV2		71
#define DOUT_SHARED0_DIV3		72
#define DOUT_SHARED0_DIV4		73
#define DOUT_SHARED1_DIV1		74
#define DOUT_SHARED1_DIV2		75
#define DOUT_SHARED1_DIV3		76
#define DOUT_SHARED1_DIV4		77
#define DOUT_SHARED2_DIV1		78
#define DOUT_SHARED2_DIV2		79
#define DOUT_SHARED2_DIV3		80
#define DOUT_SHARED2_DIV4		81
#define DOUT_SHARED3_DIV1		82
#define DOUT_SHARED3_DIV2		83
#define DOUT_SHARED3_DIV3		84
#define DOUT_SHARED3_DIV4		85
#define DOUT_SHARED4_DIV1		86
#define DOUT_SHARED4_DIV2		87
#define DOUT_SHARED4_DIV3		88
#define DOUT_SHARED4_DIV4		89
#define DOUT_SHARED5_DIV1		90
#define DOUT_SHARED5_DIV2		91
#define DOUT_SHARED5_DIV3		92
#define DOUT_SHARED5_DIV4		93
#define DOUT_CLKCMU_CMU_BOOST		94
#define DOUT_CLKCMU_ACC_NOC		95
#define DOUT_CLKCMU_ACC_ORB		96
#define DOUT_CLKCMU_APM_NOC		97
#define DOUT_CLKCMU_AUD_CPU		98
#define DOUT_CLKCMU_AUD_NOC		99
#define DOUT_CLKCMU_CPUCL0_SWITCH	100
#define DOUT_CLKCMU_CPUCL0_CLUSTER	101
#define DOUT_CLKCMU_CPUCL0_DBG		102
#define DOUT_CLKCMU_CPUCL1_SWITCH	103
#define DOUT_CLKCMU_CPUCL1_CLUSTER	104
#define DOUT_CLKCMU_CPUCL2_SWITCH	105
#define DOUT_CLKCMU_CPUCL2_CLUSTER	106
#define DOUT_CLKCMU_DNC_NOC		107
#define DOUT_CLKCMU_DPTX_NOC		108
#define DOUT_CLKCMU_DPTX_DPGTC		109
#define DOUT_CLKCMU_DPTX_DPOSC		110
#define DOUT_CLKCMU_DPUB_NOC		111
#define DOUT_CLKCMU_DPUB_DSIM		112
#define DOUT_CLKCMU_DPUF0_NOC		113
#define DOUT_CLKCMU_DPUF1_NOC		114
#define DOUT_CLKCMU_DPUF2_NOC		115
#define DOUT_CLKCMU_DSP_NOC		116
#define DOUT_CLKCMU_G3D_SWITCH		117
#define DOUT_CLKCMU_G3D_NOCP		118
#define DOUT_CLKCMU_GNPU_NOC		119
#define DOUT_CLKCMU_HSI0_NOC		120
#define DOUT_CLKCMU_HSI1_NOC		121
#define DOUT_CLKCMU_HSI1_USBDRD		122
#define DOUT_CLKCMU_HSI1_MMC_CARD	123
#define DOUT_CLKCMU_HSI2_NOC		124
#define DOUT_CLKCMU_HSI2_NOC_UFS	125
#define DOUT_CLKCMU_HSI2_UFS_EMBD	126
#define DOUT_CLKCMU_HSI2_ETHERNET	127
#define DOUT_CLKCMU_ISP_NOC		128
#define DOUT_CLKCMU_M2M_NOC		129
#define DOUT_CLKCMU_M2M_JPEG		130
#define DOUT_CLKCMU_MFC_MFC		131
#define DOUT_CLKCMU_MFC_WFD		132
#define DOUT_CLKCMU_MFD_NOC		133
#define DOUT_CLKCMU_MIF_NOCP		134
#define DOUT_CLKCMU_MISC_NOC		135
#define DOUT_CLKCMU_NOCL0_NOC		136
#define DOUT_CLKCMU_NOCL1_NOC		137
#define DOUT_CLKCMU_NOCL2_NOC		138
#define DOUT_CLKCMU_PERIC0_NOC		139
#define DOUT_CLKCMU_PERIC0_IP		140
#define DOUT_CLKCMU_PERIC1_NOC		141
#define DOUT_CLKCMU_PERIC1_IP		142
#define DOUT_CLKCMU_SDMA_NOC		143
#define DOUT_CLKCMU_SNW_NOC		144
#define DOUT_CLKCMU_SSP_NOC		145
#define DOUT_CLKCMU_TAA_NOC		146
#define DOUT_TCXO_DIV2			147

/* CMU_PERIC0 */
#define CLK_MOUT_PERIC0_IP_USER		1
#define CLK_MOUT_PERIC0_NOC_USER	2
#define CLK_MOUT_PERIC0_USI00_USI	3
#define CLK_MOUT_PERIC0_USI01_USI	4
#define CLK_MOUT_PERIC0_USI02_USI	5
#define CLK_MOUT_PERIC0_USI03_USI	6
#define CLK_MOUT_PERIC0_USI04_USI	7
#define CLK_MOUT_PERIC0_USI05_USI	8
#define CLK_MOUT_PERIC0_USI06_USI	9
#define CLK_MOUT_PERIC0_USI07_USI	10
#define CLK_MOUT_PERIC0_USI08_USI	11
#define CLK_MOUT_PERIC0_USI_I2C		12
#define CLK_MOUT_PERIC0_I3C		13

#define CLK_DOUT_PERIC0_USI00_USI	14
#define CLK_DOUT_PERIC0_USI01_USI	15
#define CLK_DOUT_PERIC0_USI02_USI	16
#define CLK_DOUT_PERIC0_USI03_USI	17
#define CLK_DOUT_PERIC0_USI04_USI	18
#define CLK_DOUT_PERIC0_USI05_USI	19
#define CLK_DOUT_PERIC0_USI06_USI	20
#define CLK_DOUT_PERIC0_USI07_USI	21
#define CLK_DOUT_PERIC0_USI08_USI	22
#define CLK_DOUT_PERIC0_USI_I2C		23
#define CLK_DOUT_PERIC0_I3C		24

/* CMU_PERIC1 */
#define CLK_MOUT_PERIC1_IP_USER		1
#define CLK_MOUT_PERIC1_NOC_USER	2
#define CLK_MOUT_PERIC1_USI09_USI	3
#define CLK_MOUT_PERIC1_USI10_USI	4
#define CLK_MOUT_PERIC1_USI11_USI	5
#define CLK_MOUT_PERIC1_USI12_USI	6
#define CLK_MOUT_PERIC1_USI13_USI	7
#define CLK_MOUT_PERIC1_USI14_USI	8
#define CLK_MOUT_PERIC1_USI15_USI	9
#define CLK_MOUT_PERIC1_USI16_USI	10
#define CLK_MOUT_PERIC1_USI17_USI	11
#define CLK_MOUT_PERIC1_USI_I2C		12
#define CLK_MOUT_PERIC1_I3C		13

#define CLK_DOUT_PERIC1_USI09_USI	14
#define CLK_DOUT_PERIC1_USI10_USI	15
#define CLK_DOUT_PERIC1_USI11_USI	16
#define CLK_DOUT_PERIC1_USI12_USI	17
#define CLK_DOUT_PERIC1_USI13_USI	18
#define CLK_DOUT_PERIC1_USI14_USI	19
#define CLK_DOUT_PERIC1_USI15_USI	20
#define CLK_DOUT_PERIC1_USI16_USI	21
#define CLK_DOUT_PERIC1_USI17_USI	22
#define CLK_DOUT_PERIC1_USI_I2C		23
#define CLK_DOUT_PERIC1_I3C		24

/* CMU_MISC */
#define CLK_MOUT_MISC_NOC_USER		1
#define CLK_MOUT_MISC_GIC		2

#define CLK_DOUT_MISC_OTP		3
#define CLK_DOUT_MISC_NOCP		4
#define CLK_DOUT_MISC_OSC_DIV2		5

/* CMU_HSI0 */
#define CLK_MOUT_HSI0_NOC_USER		1

#define CLK_DOUT_HSI0_PCIE_APB		2

/* CMU_HSI1 */
#define CLK_MOUT_HSI1_MMC_CARD_USER	1
#define CLK_MOUT_HSI1_NOC_USER		2
#define CLK_MOUT_HSI1_USBDRD_USER	3
#define CLK_MOUT_HSI1_USBDRD		4

#endif /* _DT_BINDINGS_CLOCK_EXYNOSAUTOV920_H */
