xref: /freebsd-src/sys/contrib/device-tree/include/dt-bindings/clock/s3c2412.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 S3C2412.
6*c66ec88fSEmmanuel Vadot  */
7*c66ec88fSEmmanuel Vadot 
8*c66ec88fSEmmanuel Vadot #ifndef _DT_BINDINGS_CLOCK_SAMSUNG_S3C2412_CLOCK_H
9*c66ec88fSEmmanuel Vadot #define _DT_BINDINGS_CLOCK_SAMSUNG_S3C2412_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 
21*c66ec88fSEmmanuel Vadot /* id 1 is reserved */
22*c66ec88fSEmmanuel Vadot #define MPLL			2
23*c66ec88fSEmmanuel Vadot #define UPLL			3
24*c66ec88fSEmmanuel Vadot #define MDIVCLK			4
25*c66ec88fSEmmanuel Vadot #define MSYSCLK			5
26*c66ec88fSEmmanuel Vadot #define USYSCLK			6
27*c66ec88fSEmmanuel Vadot #define HCLK			7
28*c66ec88fSEmmanuel Vadot #define PCLK			8
29*c66ec88fSEmmanuel Vadot #define ARMDIV			9
30*c66ec88fSEmmanuel Vadot #define ARMCLK			10
31*c66ec88fSEmmanuel Vadot 
32*c66ec88fSEmmanuel Vadot 
33*c66ec88fSEmmanuel Vadot /* Special clocks */
34*c66ec88fSEmmanuel Vadot #define SCLK_CAM		16
35*c66ec88fSEmmanuel Vadot #define SCLK_UART		17
36*c66ec88fSEmmanuel Vadot #define SCLK_I2S		18
37*c66ec88fSEmmanuel Vadot #define SCLK_USBD		19
38*c66ec88fSEmmanuel Vadot #define SCLK_USBH		20
39*c66ec88fSEmmanuel Vadot 
40*c66ec88fSEmmanuel Vadot /* pclk-gates */
41*c66ec88fSEmmanuel Vadot #define PCLK_WDT		32
42*c66ec88fSEmmanuel Vadot #define PCLK_SPI		33
43*c66ec88fSEmmanuel Vadot #define PCLK_I2S		34
44*c66ec88fSEmmanuel Vadot #define PCLK_I2C		35
45*c66ec88fSEmmanuel Vadot #define PCLK_ADC		36
46*c66ec88fSEmmanuel Vadot #define PCLK_RTC		37
47*c66ec88fSEmmanuel Vadot #define PCLK_GPIO		38
48*c66ec88fSEmmanuel Vadot #define PCLK_UART2		39
49*c66ec88fSEmmanuel Vadot #define PCLK_UART1		40
50*c66ec88fSEmmanuel Vadot #define PCLK_UART0		41
51*c66ec88fSEmmanuel Vadot #define PCLK_SDI		42
52*c66ec88fSEmmanuel Vadot #define PCLK_PWM		43
53*c66ec88fSEmmanuel Vadot #define PCLK_USBD		44
54*c66ec88fSEmmanuel Vadot 
55*c66ec88fSEmmanuel Vadot /* hclk-gates */
56*c66ec88fSEmmanuel Vadot #define HCLK_HALF		48
57*c66ec88fSEmmanuel Vadot #define HCLK_X2			49
58*c66ec88fSEmmanuel Vadot #define HCLK_SDRAM		50
59*c66ec88fSEmmanuel Vadot #define HCLK_USBH		51
60*c66ec88fSEmmanuel Vadot #define HCLK_LCD		52
61*c66ec88fSEmmanuel Vadot #define HCLK_NAND		53
62*c66ec88fSEmmanuel Vadot #define HCLK_DMA3		54
63*c66ec88fSEmmanuel Vadot #define HCLK_DMA2		55
64*c66ec88fSEmmanuel Vadot #define HCLK_DMA1		56
65*c66ec88fSEmmanuel Vadot #define HCLK_DMA0		57
66*c66ec88fSEmmanuel Vadot 
67*c66ec88fSEmmanuel Vadot /* Total number of clocks. */
68*c66ec88fSEmmanuel Vadot #define NR_CLKS			(HCLK_DMA0 + 1)
69*c66ec88fSEmmanuel Vadot 
70*c66ec88fSEmmanuel Vadot #endif /* _DT_BINDINGS_CLOCK_SAMSUNG_S3C2412_CLOCK_H */
71