xref: /freebsd-src/sys/contrib/device-tree/include/dt-bindings/clock/s3c2443.h (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot /* SPDX-License-Identifier: GPL-2.0 */
2*c66ec88fSEmmanuel Vadot /*
3*c66ec88fSEmmanuel Vadot  * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de>
4*c66ec88fSEmmanuel Vadot  *
5*c66ec88fSEmmanuel Vadot  * Device Tree binding constants clock controllers of Samsung S3C2443 and later.
6*c66ec88fSEmmanuel Vadot  */
7*c66ec88fSEmmanuel Vadot 
8*c66ec88fSEmmanuel Vadot #ifndef _DT_BINDINGS_CLOCK_SAMSUNG_S3C2443_CLOCK_H
9*c66ec88fSEmmanuel Vadot #define _DT_BINDINGS_CLOCK_SAMSUNG_S3C2443_CLOCK_H
10*c66ec88fSEmmanuel Vadot 
11*c66ec88fSEmmanuel Vadot /*
12*c66ec88fSEmmanuel Vadot  * Let each exported clock get a unique index, which is used on DT-enabled
13*c66ec88fSEmmanuel Vadot  * platforms to lookup the clock from a clock specifier. These indices are
14*c66ec88fSEmmanuel Vadot  * therefore considered an ABI and so must not be changed. This implies
15*c66ec88fSEmmanuel Vadot  * that new clocks should be added either in free spaces between clock groups
16*c66ec88fSEmmanuel Vadot  * or at the end.
17*c66ec88fSEmmanuel Vadot  */
18*c66ec88fSEmmanuel Vadot 
19*c66ec88fSEmmanuel Vadot /* Core clocks. */
20*c66ec88fSEmmanuel Vadot #define MSYSCLK			1
21*c66ec88fSEmmanuel Vadot #define ESYSCLK			2
22*c66ec88fSEmmanuel Vadot #define ARMDIV			3
23*c66ec88fSEmmanuel Vadot #define ARMCLK			4
24*c66ec88fSEmmanuel Vadot #define HCLK			5
25*c66ec88fSEmmanuel Vadot #define PCLK			6
26*c66ec88fSEmmanuel Vadot #define MPLL			7
27*c66ec88fSEmmanuel Vadot #define EPLL			8
28*c66ec88fSEmmanuel Vadot 
29*c66ec88fSEmmanuel Vadot /* Special clocks */
30*c66ec88fSEmmanuel Vadot #define SCLK_HSSPI0		16
31*c66ec88fSEmmanuel Vadot #define SCLK_FIMD		17
32*c66ec88fSEmmanuel Vadot #define SCLK_I2S0		18
33*c66ec88fSEmmanuel Vadot #define SCLK_I2S1		19
34*c66ec88fSEmmanuel Vadot #define SCLK_HSMMC1		20
35*c66ec88fSEmmanuel Vadot #define SCLK_HSMMC_EXT		21
36*c66ec88fSEmmanuel Vadot #define SCLK_CAM		22
37*c66ec88fSEmmanuel Vadot #define SCLK_UART		23
38*c66ec88fSEmmanuel Vadot #define SCLK_USBH		24
39*c66ec88fSEmmanuel Vadot 
40*c66ec88fSEmmanuel Vadot /* Muxes */
41*c66ec88fSEmmanuel Vadot #define MUX_HSSPI0		32
42*c66ec88fSEmmanuel Vadot #define MUX_HSSPI1		33
43*c66ec88fSEmmanuel Vadot #define MUX_HSMMC0		34
44*c66ec88fSEmmanuel Vadot #define MUX_HSMMC1		35
45*c66ec88fSEmmanuel Vadot 
46*c66ec88fSEmmanuel Vadot /* hclk-gates */
47*c66ec88fSEmmanuel Vadot #define HCLK_DMA0		48
48*c66ec88fSEmmanuel Vadot #define HCLK_DMA1		49
49*c66ec88fSEmmanuel Vadot #define HCLK_DMA2		50
50*c66ec88fSEmmanuel Vadot #define HCLK_DMA3		51
51*c66ec88fSEmmanuel Vadot #define HCLK_DMA4		52
52*c66ec88fSEmmanuel Vadot #define HCLK_DMA5		53
53*c66ec88fSEmmanuel Vadot #define HCLK_DMA6		54
54*c66ec88fSEmmanuel Vadot #define HCLK_DMA7		55
55*c66ec88fSEmmanuel Vadot #define HCLK_CAM		56
56*c66ec88fSEmmanuel Vadot #define HCLK_LCD		57
57*c66ec88fSEmmanuel Vadot #define HCLK_USBH		58
58*c66ec88fSEmmanuel Vadot #define HCLK_USBD		59
59*c66ec88fSEmmanuel Vadot #define HCLK_IROM		60
60*c66ec88fSEmmanuel Vadot #define HCLK_HSMMC0		61
61*c66ec88fSEmmanuel Vadot #define HCLK_HSMMC1		62
62*c66ec88fSEmmanuel Vadot #define HCLK_CFC		63
63*c66ec88fSEmmanuel Vadot #define HCLK_SSMC		64
64*c66ec88fSEmmanuel Vadot #define HCLK_DRAM		65
65*c66ec88fSEmmanuel Vadot #define HCLK_2D			66
66*c66ec88fSEmmanuel Vadot 
67*c66ec88fSEmmanuel Vadot /* pclk-gates */
68*c66ec88fSEmmanuel Vadot #define PCLK_UART0		72
69*c66ec88fSEmmanuel Vadot #define PCLK_UART1		73
70*c66ec88fSEmmanuel Vadot #define PCLK_UART2		74
71*c66ec88fSEmmanuel Vadot #define PCLK_UART3		75
72*c66ec88fSEmmanuel Vadot #define PCLK_I2C0		76
73*c66ec88fSEmmanuel Vadot #define PCLK_SDI		77
74*c66ec88fSEmmanuel Vadot #define PCLK_SPI0		78
75*c66ec88fSEmmanuel Vadot #define PCLK_ADC		79
76*c66ec88fSEmmanuel Vadot #define PCLK_AC97		80
77*c66ec88fSEmmanuel Vadot #define PCLK_I2S0		81
78*c66ec88fSEmmanuel Vadot #define PCLK_PWM		82
79*c66ec88fSEmmanuel Vadot #define PCLK_WDT		83
80*c66ec88fSEmmanuel Vadot #define PCLK_RTC		84
81*c66ec88fSEmmanuel Vadot #define PCLK_GPIO		85
82*c66ec88fSEmmanuel Vadot #define PCLK_SPI1		86
83*c66ec88fSEmmanuel Vadot #define PCLK_CHIPID		87
84*c66ec88fSEmmanuel Vadot #define PCLK_I2C1		88
85*c66ec88fSEmmanuel Vadot #define PCLK_I2S1		89
86*c66ec88fSEmmanuel Vadot #define PCLK_PCM		90
87*c66ec88fSEmmanuel Vadot 
88*c66ec88fSEmmanuel Vadot /* Total number of clocks. */
89*c66ec88fSEmmanuel Vadot #define NR_CLKS			(PCLK_PCM + 1)
90*c66ec88fSEmmanuel Vadot 
91*c66ec88fSEmmanuel Vadot #endif /* _DT_BINDINGS_CLOCK_SAMSUNG_S3C2443_CLOCK_H */
92