1/*
2 * Copyright (c) 2013 Tomasz Figa <tomasz.figa at gmail.com>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * Device Tree binding constants for Samsung S3C64xx clock controller.
9*/
10
11#ifndef _DT_BINDINGS_CLOCK_SAMSUNG_S3C64XX_CLOCK_H
12#define _DT_BINDINGS_CLOCK_SAMSUNG_S3C64XX_CLOCK_H
13
14/*
15 * Let each exported clock get a unique index, which is used on DT-enabled
16 * platforms to lookup the clock from a clock specifier. These indices are
17 * therefore considered an ABI and so must not be changed. This implies
18 * that new clocks should be added either in free spaces between clock groups
19 * or at the end.
20 */
21
22/* Core clocks. */
23#define CLK27M			1
24#define CLK48M			2
25#define FOUT_APLL		3
26#define FOUT_MPLL		4
27#define FOUT_EPLL		5
28#define ARMCLK			6
29#define HCLKX2			7
30#define HCLK			8
31#define PCLK			9
32
33/* HCLK bus clocks. */
34#define HCLK_3DSE		16
35#define HCLK_UHOST		17
36#define HCLK_SECUR		18
37#define HCLK_SDMA1		19
38#define HCLK_SDMA0		20
39#define HCLK_IROM		21
40#define HCLK_DDR1		22
41#define HCLK_MEM1		23
42#define HCLK_MEM0		24
43#define HCLK_USB		25
44#define HCLK_HSMMC2		26
45#define HCLK_HSMMC1		27
46#define HCLK_HSMMC0		28
47#define HCLK_MDP		29
48#define HCLK_DHOST		30
49#define HCLK_IHOST		31
50#define HCLK_DMA1		32
51#define HCLK_DMA0		33
52#define HCLK_JPEG		34
53#define HCLK_CAMIF		35
54#define HCLK_SCALER		36
55#define HCLK_2D			37
56#define HCLK_TV			38
57#define HCLK_POST0		39
58#define HCLK_ROT		40
59#define HCLK_LCD		41
60#define HCLK_TZIC		42
61#define HCLK_INTC		43
62#define HCLK_MFC		44
63#define HCLK_DDR0		45
64
65/* PCLK bus clocks. */
66#define PCLK_IIC1		48
67#define PCLK_IIS2		49
68#define PCLK_SKEY		50
69#define PCLK_CHIPID		51
70#define PCLK_SPI1		52
71#define PCLK_SPI0		53
72#define PCLK_HSIRX		54
73#define PCLK_HSITX		55
74#define PCLK_GPIO		56
75#define PCLK_IIC0		57
76#define PCLK_IIS1		58
77#define PCLK_IIS0		59
78#define PCLK_AC97		60
79#define PCLK_TZPC		61
80#define PCLK_TSADC		62
81#define PCLK_KEYPAD		63
82#define PCLK_IRDA		64
83#define PCLK_PCM1		65
84#define PCLK_PCM0		66
85#define PCLK_PWM		67
86#define PCLK_RTC		68
87#define PCLK_WDT		69
88#define PCLK_UART3		70
89#define PCLK_UART2		71
90#define PCLK_UART1		72
91#define PCLK_UART0		73
92#define PCLK_MFC		74
93
94/* Special clocks. */
95#define SCLK_UHOST		80
96#define SCLK_MMC2_48		81
97#define SCLK_MMC1_48		82
98#define SCLK_MMC0_48		83
99#define SCLK_MMC2		84
100#define SCLK_MMC1		85
101#define SCLK_MMC0		86
102#define SCLK_SPI1_48		87
103#define SCLK_SPI0_48		88
104#define SCLK_SPI1		89
105#define SCLK_SPI0		90
106#define SCLK_DAC27		91
107#define SCLK_TV27		92
108#define SCLK_SCALER27		93
109#define SCLK_SCALER		94
110#define SCLK_LCD27		95
111#define SCLK_LCD		96
112#define SCLK_FIMC		97
113#define SCLK_POST0_27		98
114#define SCLK_AUDIO2		99
115#define SCLK_POST0		100
116#define SCLK_AUDIO1		101
117#define SCLK_AUDIO0		102
118#define SCLK_SECUR		103
119#define SCLK_IRDA		104
120#define SCLK_UART		105
121#define SCLK_MFC		106
122#define SCLK_CAM		107
123#define SCLK_JPEG		108
124#define SCLK_ONENAND		109
125
126/* MEM0 bus clocks - S3C6410-specific. */
127#define MEM0_CFCON		112
128#define MEM0_ONENAND1		113
129#define MEM0_ONENAND0		114
130#define MEM0_NFCON		115
131#define MEM0_SROM		116
132
133/* Muxes. */
134#define MOUT_APLL		128
135#define MOUT_MPLL		129
136#define MOUT_EPLL		130
137#define MOUT_MFC		131
138#define MOUT_AUDIO0		132
139#define MOUT_AUDIO1		133
140#define MOUT_UART		134
141#define MOUT_SPI0		135
142#define MOUT_SPI1		136
143#define MOUT_MMC0		137
144#define MOUT_MMC1		138
145#define MOUT_MMC2		139
146#define MOUT_UHOST		140
147#define MOUT_IRDA		141
148#define MOUT_LCD		142
149#define MOUT_SCALER		143
150#define MOUT_DAC27		144
151#define MOUT_TV27		145
152#define MOUT_AUDIO2		146
153
154/* Dividers. */
155#define DOUT_MPLL		160
156#define DOUT_SECUR		161
157#define DOUT_CAM		162
158#define DOUT_JPEG		163
159#define DOUT_MFC		164
160#define DOUT_MMC0		165
161#define DOUT_MMC1		166
162#define DOUT_MMC2		167
163#define DOUT_LCD		168
164#define DOUT_SCALER		169
165#define DOUT_UHOST		170
166#define DOUT_SPI0		171
167#define DOUT_SPI1		172
168#define DOUT_AUDIO0		173
169#define DOUT_AUDIO1		174
170#define DOUT_UART		175
171#define DOUT_IRDA		176
172#define DOUT_FIMC		177
173#define DOUT_AUDIO2		178
174
175/* Total number of clocks. */
176#define NR_CLKS			(DOUT_AUDIO2 + 1)
177
178#endif /* _DT_BINDINGS_CLOCK_SAMSUNG_S3C64XX_CLOCK_H */
179