blob: bab0fcaf75a2f5756cb4b6036acbeb877ff1f036 [file] [log] [blame]
Googler40bc9d02023-12-15 16:42:49 +08001/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
2/*
3 * arch/arm/cpu/armv8/txl/power_gate.h
4 *
5 * Copyright (C) 2020 Amlogic, Inc. All rights reserved.
6 *
7 */
8
9#ifndef __POWER_MGR_HEADER_
10#define __POWER_MGR_HEADER_
11
12#include <asm/arch/io.h>
13#include <common.h>
14#include <asm/arch-gxb/io.h>
15/* #include <asm/arch-gxb/register.h> */
16#include <asm/arch/secure_apb.h>
17/* clock gate control */
18
19#define DEBUG_MASK 0
20
21#define SET_CLK_GATE_MASK(reg, mask) __raw_writel((__raw_readl(reg)|mask), reg)
22#define CLEAR_CLK_GATE_MASK(reg, mask) \
23 __raw_writel((__raw_readl(reg)&(~mask)), reg)
24#define CLK_GATE_ON(_MOD) do { \
25 if (DEBUG_MASK) \
26 printf("on reg %24s before read :0x%x : 0x%x\n",\
27 GCLK_NAME_##_MOD, \
28 (unsigned int)GCLK_REG_##_MOD, \
29 __raw_readl(GCLK_REG_##_MOD)); \
30 SET_CLK_GATE_MASK(GCLK_REG_##_MOD, \
31 (unsigned int)GCLK_MASK_##_MOD); \
32 if (DEBUG_MASK) \
33 printf("on reg %24s after read :0x%x : 0x%x\n",\
34 GCLK_NAME_##_MOD, \
35 (unsigned int)GCLK_REG_##_MOD, \
36 __raw_readl(GCLK_REG_##_MOD)); \
37 } while (0)
38
39#define CLK_GATE_OFF(_MOD) do { \
40 if (DEBUG_MASK) \
41 printf("off reg[ %24s ][0x%08x]before read:0x%08x:0x%08x\n",\
42 GCLK_NAME_##_MOD, (int)GCLK_MASK_##_MOD, \
43 (unsigned int)GCLK_REG_##_MOD, \
44 __raw_readl(GCLK_REG_##_MOD)); \
45 CLEAR_CLK_GATE_MASK(GCLK_REG_##_MOD, (unsigned int)GCLK_MASK_##_MOD);\
46 if (DEBUG_MASK)\
47 printf("off reg[ %24s ][0x%08x] read after:0x%08x:0x%08x\n",\
48 GCLK_NAME_##_MOD, \
49 (int)GCLK_MASK_##_MOD, \
50 (unsigned int)GCLK_REG_##_MOD, \
51 __raw_readl(GCLK_REG_##_MOD)); \
52 } while (0)
53
54#define IS_CLK_GATE_ON(_MOD) (__raw_readl(GCLK_REG_##_MOD) & (GCLK_MASK_##_MOD))
55#define GATE_INIT(_MOD) GCLK_ref[GCLK_IDX_##_MOD] = IS_CLK_GATE_ON(_MOD) ? 1 : 0
56
57#define GCLK_IDX_DDR 0
58#define GCLK_NAME_DDR "DDR"
59#define GCLK_DEV_DDR "CLKGATE_DDR"
60#define GCLK_REG_DDR (HHI_GCLK_MPEG0)
61#define GCLK_MASK_DDR (1<<0)
62
63#define GCLK_IDX_DOS 1
64#define GCLK_NAME_DOS "DOS"
65#define GCLK_DEV_DOS "CLKGATE_DOS"
66#define GCLK_REG_DOS (HHI_GCLK_MPEG0)
67#define GCLK_MASK_DOS (1<<1)
68
69#define GCLK_IDX_RESERVED0_0 2
70#define GCLK_NAME_RESERVED0_0 "RESERVED0_0"
71#define GCLK_DEV_RESERVED0_0 "CLKGATE_RESERVED0_0"
72#define GCLK_REG_RESERVED0_0 (HHI_GCLK_MPEG0)
73#define GCLK_MASK_RESERVED0_0 (1<<2)
74
75#define GCLK_IDX_RESERVED0_1 3
76#define GCLK_NAME_RESERVED0_1 "RESERVED0_1"
77#define GCLK_DEV_RESERVED0_1 "CLKGATE_RESERVED0_1"
78#define GCLK_REG_RESERVED0_1 (HHI_GCLK_MPEG0)
79#define GCLK_MASK_RESERVED0_1 (1<<3)
80
81/* #define GCLK_IDX_AHB_BRIDGE 4 */
82/* #define GCLK_NAME_AHB_BRIDGE "AHB_BRIDGE" */
83/* #define GCLK_DEV_AHB_BRIDGE "CLKGATE_AHB_BRIDGE" */
84/* #define GCLK_REG_AHB_BRIDGE (HHI_GCLK_MPEG0) */
85/* #define GCLK_MASK_AHB_BRIDGE (1<<4) */
86
87#define GCLK_IDX_ISA 5
88#define GCLK_NAME_ISA "ISA"
89#define GCLK_DEV_ISA "CLKGATE_ISA"
90#define GCLK_REG_ISA (HHI_GCLK_MPEG0)
91#define GCLK_MASK_ISA (1<<5)
92
93/* NEW ADD */
94#define GCLK_IDX_PL310_CBUS 6
95#define GCLK_NAME_PL310_CBUS "PL310_CBUS"
96#define GCLK_DEV_PL310_CBUS "CLKGATE_PL310_CBUS"
97#define GCLK_REG_PL310_CBUS (HHI_GCLK_MPEG0)
98#define GCLK_MASK_PL310_CBUS (1<<6)
99
100#define GCLK_IDX_PERIPHS_TOP 7
101#define GCLK_NAME_PERIPHS_TOP "PERIPHS_TOP"
102#define GCLK_DEV_PERIPHS_TOP "CLKGATE_PERIPHS_TOP"
103#define GCLK_REG_PERIPHS_TOP (HHI_GCLK_MPEG0)
104#define GCLK_MASK_PERIPHS_TOP (1<<7)
105
106#define GCLK_IDX_SPICC 8
107#define GCLK_NAME_SPICC "SPICC"
108#define GCLK_DEV_SPICC "CLKGATE_SPICC"
109#define GCLK_REG_SPICC (HHI_GCLK_MPEG0)
110#define GCLK_MASK_SPICC (1<<8)
111
112#define GCLK_IDX_I2C 9
113#define GCLK_NAME_I2C "I2C"
114#define GCLK_DEV_I2C "CLKGATE_I2C"
115#define GCLK_REG_I2C (HHI_GCLK_MPEG0)
116#define GCLK_MASK_I2C (1<<9)
117
118#define GCLK_IDX_SAR_ADC 10
119#define GCLK_NAME_SAR_ADC "SAR_ADC"
120#define GCLK_DEV_SAR_ADC "CLKGATE_SAR_ADC"
121//#define GCLK_REG_SAR_ADC (HHI_SAR_CLK_CNTL) //no HHI_SAR_CLK_CNTL on TXL
122#define GCLK_REG_SAR_ADC (AO_SAR_CLK)
123#define GCLK_MASK_SAR_ADC (1<<8)
124
125#define GCLK_IDX_SMART_CARD_MPEG_DOMAIN 11
126#define GCLK_NAME_SMART_CARD_MPEG_DOMAIN "SMART_CARD_MPEG_DOMAIN"
127#define GCLK_DEV_SMART_CARD_MPEG_DOMAIN "CLKGATE_SMART_CARD_MPEG_DOMAIN"
128#define GCLK_REG_SMART_CARD_MPEG_DOMAIN (HHI_GCLK_MPEG0)
129#define GCLK_MASK_SMART_CARD_MPEG_DOMAIN (1<<11)
130
131#define GCLK_IDX_RANDOM_NUM_GEN 12
132#define GCLK_NAME_RANDOM_NUM_GEN "RANDOM_NUM_GEN"
133#define GCLK_DEV_RANDOM_NUM_GEN "CLKGATE_RANDOM_NUM_GEN"
134#define GCLK_REG_RANDOM_NUM_GEN (HHI_GCLK_MPEG0)
135#define GCLK_MASK_RANDOM_NUM_GEN (1<<12)
136
137#define GCLK_IDX_UART0 13
138#define GCLK_NAME_UART0 "UART0"
139#define GCLK_DEV_UART0 "CLKGATE_UART0"
140#define GCLK_REG_UART0 (HHI_GCLK_MPEG0)
141#define GCLK_MASK_UART0 (1<<13)
142
143/* gxb no this clock gate */
144/* #define GCLK_IDX_SDHC 14 */
145/* #define GCLK_NAME_SDHC "SDHC" */
146/* #define GCLK_DEV_SDHC "CLKGATE_SDHC" */
147/* #define GCLK_REG_SDHC (HHI_GCLK_MPEG0) */
148/* #define GCLK_MASK_SDHC (1<<14) */
149
150#define GCLK_IDX_STREAM 15
151#define GCLK_NAME_STREAM "STREAM"
152#define GCLK_DEV_STREAM "CLKGATE_STREAM"
153#define GCLK_REG_STREAM (HHI_GCLK_MPEG0)
154#define GCLK_MASK_STREAM (1<<15)
155
156#define GCLK_IDX_ASYNC_FIFO 16
157#define GCLK_NAME_ASYNC_FIFO "ASYNC_FIFO"
158#define GCLK_DEV_ASYNC_FIFO "CLKGATE_ASYNC_FIFO"
159#define GCLK_REG_ASYNC_FIFO (HHI_GCLK_MPEG0)
160#define GCLK_MASK_ASYNC_FIFO (1<<16)
161
162/* gxb no this clock gate */
163/* #define GCLK_IDX_SDIO 17 */
164/* #define GCLK_NAME_SDIO "SDIO" */
165/* #define GCLK_DEV_SDIO "CLKGATE_SDIO" */
166/* #define GCLK_REG_SDIO (HHI_GCLK_MPEG0) */
167/* #define GCLK_MASK_SDIO (1<<17) */
168
169/* gxb no this clock gate */
170/* #define GCLK_IDX_AUD_BUF 18 */
171/* #define GCLK_NAME_AUD_BUF "AUD_BUF" */
172/* #define GCLK_DEV_AUD_BUF "CLKGATE_AUD_BUF" */
173/* #define GCLK_REG_AUD_BUF (HHI_GCLK_MPEG0) */
174/* #define GCLK_MASK_AUD_BUF (1<<18) */
175
176#define GCLK_IDX_HIU_PARSER 19
177#define GCLK_NAME_HIU_PARSER "HIU_PARSER"
178#define GCLK_DEV_HIU_PARSER "CLKGATE_HIU_PARSER"
179#define GCLK_REG_HIU_PARSER (HHI_GCLK_MPEG0)
180#define GCLK_MASK_HIU_PARSER (1<<19)
181
182#define GCLK_IDX_RESERVED0_2 20
183#define GCLK_NAME_RESERVED0_2 "RESERVED0_2"
184#define GCLK_DEV_RESERVED0_2 "CLKGATE_RESERVED0_2"
185#define GCLK_REG_RESERVED0_2 (HHI_GCLK_MPEG0)
186#define GCLK_MASK_RESERVED0_2 (1<<20)
187
188/* NEW ADD */
189#define GCLK_IDX_RESERVED0_3 21
190#define GCLK_NAME_RESERVED0_3 "RESERVED0_3 "
191#define GCLK_DEV_RESERVED0_3 "CLKGATE_RESERVED0_3 "
192#define GCLK_REG_RESERVED0_3 (HHI_GCLK_MPEG0)
193#define GCLK_MASK_RESERVED0_3 (1<<21)
194
195#define GCLK_IDX_RESERVED0_4 22
196#define GCLK_NAME_RESERVED0_4 "RESERVED0_4"
197#define GCLK_DEV_RESERVED0_4 "CLKGATE_RESERVED0_4"
198#define GCLK_REG_RESERVED0_4 (HHI_GCLK_MPEG0)
199#define GCLK_MASK_RESERVED0_4 (1<<22)
200
201#define GCLK_IDX_ASSIST_MISC 23
202#define GCLK_NAME_ASSIST_MISC "ASSIST_MISC"
203#define GCLK_DEV_ASSIST_MISC "CLKGATE_ASSIST_MISC"
204#define GCLK_REG_ASSIST_MISC (HHI_GCLK_MPEG0)
205#define GCLK_MASK_ASSIST_MISC (1<<23)
206
207
208#define GCLK_IDX_EMMC_A 24
209#define GCLK_NAME_EMMC_A "EMMC_A"
210#define GCLK_DEV_EMMC_A "CLKGATE_EMMC_A"
211#define GCLK_REG_EMMC_A (HHI_GCLK_MPEG0)
212#define GCLK_MASK_EMMC_A (1<<24)
213
214#define GCLK_IDX_EMMC_B 25
215#define GCLK_NAME_EMMC_B "EMMC_B"
216#define GCLK_DEV_EMMC_B "CLKGATE_EMMC_B"
217#define GCLK_REG_EMMC_B (HHI_GCLK_MPEG0)
218#define GCLK_MASK_EMMC_B (1<<25)
219
220#define GCLK_IDX_EMMC_C 26
221#define GCLK_NAME_EMMC_C "EMMC_C"
222#define GCLK_DEV_EMMC_C "CLKGATE_EMMC_C"
223#define GCLK_REG_EMMC_C (HHI_GCLK_MPEG0)
224#define GCLK_MASK_EMMC_C (1<<26)
225
226#define GCLK_IDX_RESERVED0_8 27
227#define GCLK_NAME_RESERVED0_8 "RESERVED0_8"
228#define GCLK_DEV_RESERVED0_8 "CLKGATE_RESERVED0_8"
229#define GCLK_REG_RESERVED0_8 (HHI_GCLK_MPEG0)
230#define GCLK_MASK_RESERVED0_8 (1<<27)
231
232#define GCLK_IDX_RESERVED0_9 28
233#define GCLK_NAME_RESERVED0_9 "RESERVED0_9"
234#define GCLK_DEV_RESERVED0_9 "CLKGATE_RESERVED0_9"
235#define GCLK_REG_RESERVED0_9 (HHI_GCLK_MPEG0)
236#define GCLK_MASK_RESERVED0_9 (1<<28)
237
238#define GCLK_IDX_RESERVED0_A 29
239#define GCLK_NAME_RESERVED0_A "RESERVED0_A"
240#define GCLK_DEV_RESERVED0_A "CLKGATE_RESERVED0_A"
241#define GCLK_REG_RESERVED0_A (HHI_GCLK_MPEG0)
242#define GCLK_MASK_RESERVED0_A (1<<29)
243
244#define GCLK_IDX_SPI 30
245#define GCLK_NAME_SPI "SPI"
246#define GCLK_DEV_SPI "CLKGATE_SPI"
247#define GCLK_REG_SPI (HHI_GCLK_MPEG0)
248#define GCLK_MASK_SPI (1<<30)
249
250#define GCLK_IDX_RESERVED0_B 31
251#define GCLK_NAME_RESERVED0_B "RESERVED0_B"
252#define GCLK_DEV_RESERVED0_B "CLKGATE_RESERVED0_B"
253#define GCLK_REG_RESERVED0_B (HHI_GCLK_MPEG0)
254#define GCLK_MASK_RESERVED0_B (1<<31)
255
256/**************************************************************/
257
258#define GCLK_IDX_RESERVED1_1 32
259#define GCLK_NAME_RESERVED1_1 "RESERVED1_1"
260#define GCLK_DEV_RESERVED1_1 "CLKGATE_RESERVED1_1"
261#define GCLK_REG_RESERVED1_1 (HHI_GCLK_MPEG1)
262#define GCLK_MASK_RESERVED1_1 (1<<0)
263
264
265#define GCLK_IDX_RESERVED1_2 33
266#define GCLK_NAME_RESERVED1_2 "RESERVED1_2"
267#define GCLK_DEV_RESERVED1_2 "CLKGATE_RESERVED1_2"
268#define GCLK_REG_RESERVED1_2 (HHI_GCLK_MPEG1)
269#define GCLK_MASK_RESERVED1_2 (1<<1)
270
271
272#define GCLK_IDX_AUD_IN 34
273#define GCLK_NAME_AUD_IN "AUD_IN"
274#define GCLK_DEV_AUD_IN "CLKGATE_AUD_IN"
275#define GCLK_REG_AUD_IN (HHI_GCLK_MPEG1)
276#define GCLK_MASK_AUD_IN (1<<2)
277
278#define GCLK_IDX_ETHERNET 35
279#define GCLK_NAME_ETHERNET "ETHERNET"
280#define GCLK_DEV_ETHERNET "CLKGATE_ETHERNET"
281#define GCLK_REG_ETHERNET (HHI_GCLK_MPEG1)
282#define GCLK_MASK_ETHERNET (1<<3)
283
284#define GCLK_IDX_ETH_CLK 145
285#define GCLK_NAME_ETH_CLK "ETH_CLK"
286#define GCLK_REG_ETH_CLK (HHI_MPLL_CNTL10)
287#define GCLK_MASK_ETH_CLK (1<<3)
288
289#define GCLK_IDX_DEMUX 36
290#define GCLK_NAME_DEMUX "DEMUX"
291#define GCLK_DEV_DEMUX "CLKGATE_DEMUX"
292#define GCLK_REG_DEMUX (HHI_GCLK_MPEG1)
293#define GCLK_MASK_DEMUX (1<<4)
294
295#define GCLK_IDX_RESERVED1_3 37
296#define GCLK_NAME_RESERVED1_3 "RESERVED1_3"
297#define GCLK_DEV_RESERVED1_3 "CLKGATE_RESERVED1_3"
298#define GCLK_REG_RESERVED1_3 (HHI_GCLK_MPEG1)
299#define GCLK_MASK_RESERVED1_3 (1<<5)
300
301#define GCLK_IDX_AIU_AI_TOP_GLUE 38
302#define GCLK_NAME_AIU_AI_TOP_GLUE "AIU_AI_TOP_GLUE"
303#define GCLK_DEV_AIU_AI_TOP_GLUE "CLKGATE_AIU_AI_TOP_GLUE"
304#define GCLK_REG_AIU_AI_TOP_GLUE (HHI_GCLK_MPEG1)
305#define GCLK_MASK_AIU_AI_TOP_GLUE (1<<6)
306
307#define GCLK_IDX_AIU_IEC958 39
308#define GCLK_NAME_AIU_IEC958 "AIU_IEC958"
309#define GCLK_DEV_AIU_IEC958 "CLKGATE_AIU_IEC958"
310#define GCLK_REG_AIU_IEC958 (HHI_GCLK_MPEG1)
311#define GCLK_MASK_AIU_IEC958 (1<<7)
312
313#define GCLK_IDX_AIU_I2S_OUT 40
314#define GCLK_NAME_AIU_I2S_OUT "AIU_I2S_OUT"
315#define GCLK_DEV_AIU_I2S_OUT "CLKGATE_AIU_I2S_OUT"
316#define GCLK_REG_AIU_I2S_OUT (HHI_GCLK_MPEG1)
317#define GCLK_MASK_AIU_I2S_OUT (1<<8)
318
319#define GCLK_IDX_AIU_AMCLK_MEASURE 41
320#define GCLK_NAME_AIU_AMCLK_MEASURE "AIU_AMCLK_MEASURE"
321#define GCLK_DEV_AIU_AMCLK_MEASURE "CLKGATE_AIU_AMCLK_MEASURE"
322#define GCLK_REG_AIU_AMCLK_MEASURE (HHI_GCLK_MPEG1)
323#define GCLK_MASK_AIU_AMCLK_MEASURE (1<<9)
324
325#define GCLK_IDX_AIU_AIFIFO2 42
326#define GCLK_NAME_AIU_AIFIFO2 "AIU_AIFIFO2"
327#define GCLK_DEV_AIU_AIFIFO2 "CLKGATE_AIU_AIFIFO2"
328#define GCLK_REG_AIU_AIFIFO2 (HHI_GCLK_MPEG1)
329#define GCLK_MASK_AIU_AIFIFO2 (1<<10)
330
331#define GCLK_IDX_AIU_AUD_MIXER 43
332#define GCLK_NAME_AIU_AUD_MIXER "AIU_AUD_MIXER"
333#define GCLK_DEV_AIU_AUD_MIXER "CLKGATE_AIU_AUD_MIXER"
334#define GCLK_REG_AIU_AUD_MIXER (HHI_GCLK_MPEG1)
335#define GCLK_MASK_AIU_AUD_MIXER (1<<11)
336
337#define GCLK_IDX_AIU_MIXER_REG 44
338#define GCLK_NAME_AIU_MIXER_REG "AIU_MIXER_REG"
339#define GCLK_DEV_AIU_MIXER_REG "CLKGATE_AIU_MIXER_REG"
340#define GCLK_REG_AIU_MIXER_REG (HHI_GCLK_MPEG1)
341#define GCLK_MASK_AIU_MIXER_REG (1<<12)
342
343#define GCLK_IDX_AIU_ADC 45
344#define GCLK_NAME_AIU_ADC "AIU_ADC"
345#define GCLK_DEV_AIU_ADC "CLKGATE_AIU_ADC"
346#define GCLK_REG_AIU_ADC (HHI_GCLK_MPEG1)
347#define GCLK_MASK_AIU_ADC (1<<13)
348
349#define GCLK_IDX_BLK_MOV 46
350#define GCLK_NAME_BLK_MOV "BLK_MOV"
351#define GCLK_DEV_BLK_MOV "CLKGATE_BLK_MOV"
352#define GCLK_REG_BLK_MOV (HHI_GCLK_MPEG1)
353#define GCLK_MASK_BLK_MOV (1<<14)
354
355/* NEW ADD */
356#define GCLK_IDX_AIU_TOP_LEVEL 47
357#define GCLK_NAME_AIU_TOP_LEVEL "AIU_TOP_LEVEL"
358#define GCLK_DEV_AIU_TOP_LEVEL "CLKGATE_AIU_TOP_LEVEL"
359#define GCLK_REG_AIU_TOP_LEVEL (HHI_GCLK_MPEG1)
360#define GCLK_MASK_AIU_TOP_LEVEL (1<<15)
361
362#define GCLK_NAME_PCM_MCLK "PCM_MCLK"
363#define GCLK_REG_PCM_MCLK (HHI_PCM_CLK_CNTL)
364#define GCLK_MASK_PCM_MCLK (1<<9)
365
366#define GCLK_NAME_PCM_SCLK "PCM_SCLK"
367#define GCLK_REG_PCM_SCLK (HHI_PCM_CLK_CNTL)
368#define GCLK_MASK_PCM_SCLK (1<<22)
369
370#define GCLK_IDX_UART1 48
371#define GCLK_NAME_UART1 "UART1"
372#define GCLK_DEV_UART1 "CLKGATE_UART1"
373#define GCLK_REG_UART1 (HHI_GCLK_MPEG1)
374#define GCLK_MASK_UART1 (1<<16)
375
376#define GCLK_IDX_RESERVED1_4 49
377#define GCLK_NAME_RESERVED1_4 "RESERVED1_4"
378#define GCLK_DEV_RESERVED1_4 "CLKGATE_RESERVED1_4"
379#define GCLK_REG_RESERVED1_4 (HHI_GCLK_MPEG1)
380#define GCLK_MASK_RESERVED1_4 (1<<17)
381
382/* NEW ADD */
383#define GCLK_IDX_RESERVED1_5 50
384#define GCLK_NAME_RESERVED1_5 "RESERVED1_5"
385#define GCLK_DEV_RESERVED1_5 "CLKGATE_RESERVED1_5"
386#define GCLK_REG_RESERVED1_5 (HHI_GCLK_MPEG1)
387#define GCLK_MASK_RESERVED1_5 (1<<18)
388
389#define GCLK_IDX_RESERVED1_6 51
390#define GCLK_NAME_RESERVED1_6 "RESERVED1_6"
391#define GCLK_DEV_RESERVED1_6 "CLKGATE_RESERVED1_6"
392#define GCLK_REG_RESERVED1_6 (HHI_GCLK_MPEG1)
393#define GCLK_MASK_RESERVED1_6 (1<<19)
394
395#define GCLK_IDX_GE2D 52
396#define GCLK_NAME_GE2D "GE2D"
397#define GCLK_DEV_GE2D "CLKGATE_GE2D"
398#define GCLK_REG_GE2D (HHI_GCLK_MPEG1)
399#define GCLK_MASK_GE2D (1<<20)
400
401#define GCLK_IDX_USB0 53
402#define GCLK_NAME_USB0 "USB0"
403#define GCLK_DEV_USB0 "CLKGATE_USB0"
404#define GCLK_REG_USB0 (HHI_GCLK_MPEG1)
405#define GCLK_MASK_USB0 (1<<21)
406
407#define GCLK_IDX_USB1 54
408#define GCLK_NAME_USB1 "USB1"
409#define GCLK_DEV_USB1 "CLKGATE_USB1"
410#define GCLK_REG_USB1 (HHI_GCLK_MPEG1)
411#define GCLK_MASK_USB1 (1<<22)
412
413#define GCLK_IDX_RESET 55
414#define GCLK_NAME_RESET "RESET"
415#define GCLK_DEV_RESET "CLKGATE_RESET"
416#define GCLK_REG_RESET (HHI_GCLK_MPEG1)
417#define GCLK_MASK_RESET (1<<23)
418
419#define GCLK_IDX_NAND_CLK 56
420#define GCLK_NAME_NAND_CLK "NAND CLK"
421#define GCLK_DEV_NAND_CLK "HHI_NAND_CLK"
422#define GCLK_REG_NAND_CLK (HHI_NAND_CLK_CNTL)
423#define GCLK_MASK_NAND_CLK (1<<7)
424
425#define GCLK_IDX_HIU_PARSER_TOP 57
426#define GCLK_NAME_HIU_PARSER_TOP "HIU_PARSER_TOP"
427#define GCLK_DEV_HIU_PARSER_TOP "CLKGATE_HIU_PARSER_TOP"
428#define GCLK_REG_HIU_PARSER_TOP (HHI_GCLK_MPEG1)
429#define GCLK_MASK_HIU_PARSER_TOP (1<<25)
430
431/* NEW ADD */
432#define GCLK_NAME_USB_CLK "USB_CLK"
433#define GCLK_REG_USB_CLK (HHI_USB_CLK_CNTL)
434#define GCLK_MASK_USB_CLK (1<<9)
435
436#define GCLK_IDX_USB_GENERAL 58
437#define GCLK_NAME_USB_GENERAL "USB_GENERAL"
438#define GCLK_DEV_USB_GENERAL "CLKGATE_USB_GENERAL"
439#define GCLK_REG_USB_GENERAL (HHI_GCLK_MPEG1)
440#define GCLK_MASK_USB_GENERAL (1<<26)
441
442#define GCLK_IDX_RESERVED1_7 59
443#define GCLK_NAME_RESERVED1_7 "RESERVED1_7"
444#define GCLK_DEV_RESERVED1_7 "CLKGATE_RESERVED1_7"
445#define GCLK_REG_RESERVED1_7 (HHI_GCLK_MPEG1)
446#define GCLK_MASK_RESERVED1_7 (1<<27)
447
448/* #define GCLK_IDX_VDIN1 60 */
449/* #define GCLK_NAME_VDIN1 "VDIN1" */
450/* #define GCLK_DEV_VDIN1 "CLKGATE_VDIN1" */
451/* #define GCLK_REG_VDIN1 (HHI_GCLK_MPEG1) */
452/* #define GCLK_MASK_VDIN1 (1<<28) */
453
454#define GCLK_IDX_AHB_ARB0 61
455#define GCLK_NAME_AHB_ARB0 "AHB_ARB0"
456#define GCLK_DEV_AHB_ARB0 "CLKGATE_AHB_ARB0"
457#define GCLK_REG_AHB_ARB0 (HHI_GCLK_MPEG1)
458#define GCLK_MASK_AHB_ARB0 (1<<29)
459
460#define GCLK_IDX_EFUSE 62
461#define GCLK_NAME_EFUSE "EFUSE"
462#define GCLK_DEV_EFUSE "CLKGATE_EFUSE"
463#define GCLK_REG_EFUSE (HHI_GCLK_MPEG1)
464#define GCLK_MASK_EFUSE (1<<30)
465
466#define GCLK_IDX_ROM_CLK 63
467#define GCLK_NAME_ROM_CLK "ROM_CLK"
468#define GCLK_DEV_ROM_CLK "CLKGATE_ROM_CLK"
469#define GCLK_REG_ROM_CLK (HHI_GCLK_MPEG1)
470#define GCLK_MASK_ROM_CLK (1<<31)
471
472/**************************************************************/
473
474#define GCLK_IDX_RESERVED2_0 64
475#define GCLK_NAME_RESERVED2_0 "RESERVED2_0"
476#define GCLK_DEV_RESERVED2_0 "CLKGATE_RESERVED2_0"
477#define GCLK_REG_RESERVED2_0 (HHI_GCLK_MPEG2)
478#define GCLK_MASK_RESERVED2_0 (1<<0)
479
480#define GCLK_IDX_AHB_DATA_BUS 65
481#define GCLK_NAME_AHB_DATA_BUS "AHB_DATA_BUS"
482#define GCLK_DEV_AHB_DATA_BUS "CLKGATE_AHB_DATA_BUS"
483#define GCLK_REG_AHB_DATA_BUS (HHI_GCLK_MPEG2)
484#define GCLK_MASK_AHB_DATA_BUS (1<<1)
485
486#define GCLK_IDX_AHB_CONTROL_BUS 66
487#define GCLK_NAME_AHB_CONTROL_BUS "AHB_CONTROL_BUS"
488#define GCLK_DEV_AHB_CONTROL_BUS "CLKGATE_AHB_CONTROL_BUS"
489#define GCLK_REG_AHB_CONTROL_BUS (HHI_GCLK_MPEG2)
490#define GCLK_MASK_AHB_CONTROL_BUS (1<<2)
491
492#define GCLK_IDX_HDMI_INTR_SYNC 67
493#define GCLK_NAME_HDMI_INTR_SYNC "HDMI_INTR_SYNC"
494#define GCLK_DEV_HDMI_INTR_SYNC "CLKGATE_HDMI_INTR_SYNC"
495#define GCLK_REG_HDMI_INTR_SYNC (HHI_GCLK_MPEG2)
496#define GCLK_MASK_HDMI_INTR_SYNC (1<<3)
497
498#define GCLK_IDX_HDMI_PCLK 68
499#define GCLK_NAME_HDMI_PCLK "HDMI_PCLK"
500#define GCLK_DEV_HDMI_PCLK "CLKGATE_HDMI_PCLK"
501#define GCLK_REG_HDMI_PCLK (HHI_GCLK_MPEG2)
502#define GCLK_MASK_HDMI_PCLK (1<<4)
503
504#define GCLK_IDX_PDM 69
505#define GCLK_NAME_PDM "PDM"
506#define GCLK_DEV_PDM "CLKGATE_PDM"
507#define GCLK_REG_PDM (HHI_GCLK_MPEG2)
508#define GCLK_MASK_PDM (1<<5)
509
510#define GCLK_IDX_BT656 70
511#define GCLK_NAME_BT656 "BT656"
512#define GCLK_DEV_BT656 "CLKGATE_BT656"
513#define GCLK_REG_BT656 (HHI_GCLK_MPEG2)
514#define GCLK_MASK_BT656 (1<<6)
515
516#define GCLK_IDX_BT656_2 71
517#define GCLK_NAME_BT656_2 "BT656_2"
518#define GCLK_DEV_BT656_2 "CLKGATE_BT656_2"
519#define GCLK_REG_BT656_2 (HHI_GCLK_MPEG2)
520#define GCLK_MASK_BT656_2 (1<<7)
521
522#define GCLK_IDX_MISC_USB1_TO_DDR 72
523#define GCLK_NAME_MISC_USB1_TO_DDR "MISC_USB1_TO_DDR"
524#define GCLK_DEV_MISC_USB1_TO_DDR "CLKGATE_MISC_USB1_TO_DDR"
525#define GCLK_REG_MISC_USB1_TO_DDR (HHI_GCLK_MPEG2)
526#define GCLK_MASK_MISC_USB1_TO_DDR (1<<8)
527
528#define GCLK_IDX_MISC_USB0_TO_DDR 73
529#define GCLK_NAME_MISC_USB0_TO_DDR "MISC_USB0_TO_DDR"
530#define GCLK_DEV_MISC_USB0_TO_DDR "CLKGATE_MISC_USB0_TO_DDR"
531#define GCLK_REG_MISC_USB0_TO_DDR (HHI_GCLK_MPEG2)
532#define GCLK_MASK_MISC_USB0_TO_DDR (1<<9)
533
534#define GCLK_IDX_RESERVED2_4 74
535#define GCLK_NAME_RESERVED2_4 "RESERVED2_4"
536#define GCLK_DEV_RESERVED2_4 "CLKGATE_RESERVED2_4"
537#define GCLK_REG_RESERVED2_4 (HHI_GCLK_MPEG2)
538#define GCLK_MASK_RESERVED2_4 (1<<10)
539
540#define GCLK_IDX_MMC_PCLK 75
541#define GCLK_NAME_MMC_PCLK "MMC_PCLK"
542#define GCLK_DEV_MMC_PCLK "CLKGATE_MMC_PCLK"
543#define GCLK_REG_MMC_PCLK (HHI_GCLK_MPEG2)
544#define GCLK_MASK_MMC_PCLK (1<<11)
545
546#define GCLK_NAME_MMC_A_PCLK "MMC_A_PCLK"
547#define GCLK_REG_MMC_A_PCLK (HHI_MPLL_CNTL10)
548#define GCLK_MASK_MMC_A_PCLK (1<<2)
549
550#define GCLK_NAME_MMC_B_PCLK "MMC_B_PCLK"
551#define GCLK_REG_MMC_B_PCLK (HHI_MPLL_CNTL10)
552#define GCLK_MASK_MMC_B_PCLK (1<<1)
553
554#define GCLK_NAME_MMC_C_PCLK "MMC_C_PCLK"
555#define GCLK_REG_MMC_C_PCLK (HHI_MPLL_CNTL10)
556#define GCLK_MASK_MMC_C_PCLK (1<<0)
557
558#define GCLK_NAME_EMMC_A_CLK "EMMC_A_CLK"
559#define GCLK_REG_EMMC_A_CLK (HHI_SD_EMMC_CLK_CNTL)
560#define GCLK_MASK_EMMC_A_CLK (1<<7)
561
562#define GCLK_NAME_EMMC_B_CLK "EMMC_B_CLK"
563#define GCLK_REG_EMMC_B_CLK (HHI_SD_EMMC_CLK_CNTL)
564#define GCLK_MASK_EMMC_B_CLK (1<<23)
565
566#define GCLK_IDX_MISC_DVIN 76
567#define GCLK_NAME_MISC_DVIN "MISC_DVIN"
568#define GCLK_DEV_MISC_DVIN "CLKGATE_MISC_DVIN"
569#define GCLK_REG_MISC_DVIN (HHI_GCLK_MPEG2)
570#define GCLK_MASK_MISC_DVIN (1<<12)
571
572#define GCLK_IDX_RESERVED2_5 77
573#define GCLK_NAME_RESERVED2_5 "RESERVED2_5"
574#define GCLK_DEV_RESERVED2_5 "CLKGATE_RESERVED2_5"
575#define GCLK_REG_RESERVED2_5 (HHI_GCLK_MPEG2)
576#define GCLK_MASK_RESERVED2_5 (1<<13)
577
578#define GCLK_IDX_RESERVED2_6 78
579#define GCLK_NAME_RESERVED2_6 "RESERVED2_6"
580#define GCLK_DEV_RESERVED2_6 "CLKGATE_RESERVED2_6"
581#define GCLK_REG_RESERVED2_6 (HHI_GCLK_MPEG2)
582#define GCLK_MASK_RESERVED2_6 (1<<14)
583
584#define GCLK_IDX_UART2 79
585#define GCLK_NAME_UART2 "UART2"
586#define GCLK_DEV_UART2 "CLKGATE_UART2"
587#define GCLK_REG_UART2 (HHI_GCLK_MPEG2)
588#define GCLK_MASK_UART2 (1<<15)
589
590#define GCLK_IDX_RESERVED2_7 80
591#define GCLK_NAME_RESERVED2_7 "RESERVED2_7"
592#define GCLK_DEV_RESERVED2_7 "CLKGATE_RESERVED2_7"
593#define GCLK_REG_RESERVED2_7 (HHI_GCLK_MPEG2)
594#define GCLK_MASK_RESERVED2_7 (1<<16)
595
596#define GCLK_IDX_RESERVED2_8 81
597#define GCLK_NAME_RESERVED2_8 "RESERVED2_8"
598#define GCLK_DEV_RESERVED2_8 "CLKGATE_RESERVED2_8"
599#define GCLK_REG_RESERVED2_8 (HHI_GCLK_MPEG2)
600#define GCLK_MASK_RESERVED2_8 (1<<17)
601
602#define GCLK_IDX_RESERVED2_9 82
603#define GCLK_NAME_RESERVED2_9 "RESERVED2_9"
604#define GCLK_DEV_RESERVED2_9 "CLKGATE_RESERVED2_9"
605#define GCLK_REG_RESERVED2_9 (HHI_GCLK_MPEG2)
606#define GCLK_MASK_RESERVED2_9 (1<<18)
607
608#define GCLK_IDX_RESERVED2_A 83
609#define GCLK_NAME_RESERVED2_A "RESERVED2_A"
610#define GCLK_DEV_RESERVED2_A "CLKGATE_RESERVED2_A"
611#define GCLK_REG_RESERVED2_A (HHI_GCLK_MPEG2)
612#define GCLK_MASK_RESERVED2_A (1<<19)
613
614#define GCLK_IDX_RESERVED2_B 84
615#define GCLK_NAME_RESERVED2_B "RESERVED2_B"
616#define GCLK_DEV_RESERVED2_B "CLKGATE_RESERVED2_B"
617#define GCLK_REG_RESERVED2_B (HHI_GCLK_MPEG2)
618#define GCLK_MASK_RESERVED2_B (1<<20)
619
620#define GCLK_IDX_UART3 85
621#define GCLK_NAME_UART3 "UART3"
622#define GCLK_DEV_UART3 "CLKGATE_UART3"
623#define GCLK_REG_UART3 (HHI_GCLK_MPEG2)
624#define GCLK_MASK_UART3 (1<<21)
625
626#define GCLK_IDX_SANA 86
627#define GCLK_NAME_SANA "SANA"
628#define GCLK_DEV_SANA "CLKGATE_SANA"
629#define GCLK_REG_SANA (HHI_GCLK_MPEG2)
630#define GCLK_MASK_SANA (1<<22)
631
632#define GCLK_IDX_RESERVED2_D 87
633#define GCLK_NAME_RESERVED2_D "RESERVED2_D"
634#define GCLK_DEV_RESERVED2_D "CLKGATE_RESERVED2_D"
635#define GCLK_REG_RESERVED2_D (HHI_GCLK_MPEG2)
636#define GCLK_MASK_RESERVED2_D (1<<23)
637
638#define GCLK_IDX_RESERVED2_E 88
639#define GCLK_NAME_RESERVED2_E "RESERVED2_E"
640#define GCLK_DEV_RESERVED2_E "CLKGATE_RESERVED2_E"
641#define GCLK_REG_RESERVED2_E (HHI_GCLK_MPEG2)
642#define GCLK_MASK_RESERVED2_E (1<<24)
643
644#define GCLK_IDX_VPU_INTR 89
645#define GCLK_NAME_VPU_INTR "VPU_INTR"
646#define GCLK_DEV_VPU_INTR "CLKGATE_VPU_INTR"
647#define GCLK_REG_VPU_INTR (HHI_GCLK_MPEG2)
648#define GCLK_MASK_VPU_INTR (1<<25)
649
650#define GCLK_IDX_SECURE_AHP_APB3 90
651#define GCLK_NAME_SECURE_AHP_APB3 "SECURE_AHP_APB3"
652#define GCLK_DEV_SECURE_AHP_APB3 "CLKGATE_SECURE_AHP_APB3"
653#define GCLK_REG_SECURE_AHP_APB3 (HHI_GCLK_MPEG2)
654#define GCLK_MASK_SECURE_AHP_APB3 (1<<26)
655
656#define GCLK_IDX_RESERVED2_F 91
657#define GCLK_NAME_RESERVED2_F "RESERVED2_F"
658#define GCLK_DEV_RESERVED2_F "CLKGATE_RESERVED2_F"
659#define GCLK_REG_RESERVED2_F (HHI_GCLK_MPEG2)
660#define GCLK_MASK_RESERVED2_F (1<<27)
661
662#define GCLK_IDX_RESERVED2_10 92
663#define GCLK_NAME_RESERVED2_10 "RESERVED2_10"
664#define GCLK_DEV_RESERVED2_10 "CLKGATE_RESERVED2_10"
665#define GCLK_REG_RESERVED2_10 (HHI_GCLK_MPEG2)
666#define GCLK_MASK_RESERVED2_10 (1<<28)
667
668#define GCLK_IDX_CLK81_TO_A9 93
669#define GCLK_NAME_CLK81_TO_A9 "CLK81_TO_A9"
670#define GCLK_DEV_CLK81_TO_A9 "CLKGATE_CLK81_TO_A9"
671#define GCLK_REG_CLK81_TO_A9 (HHI_GCLK_MPEG2)
672#define GCLK_MASK_CLK81_TO_A9 (1<<29)
673
674#define GCLK_IDX_GIC 94
675#define GCLK_NAME_GIC "GIC"
676#define GCLK_DEV_GIC "CLKGATE_GIC"
677#define GCLK_REG_GIC (HHI_GCLK_MPEG2)
678#define GCLK_MASK_GIC (1<<30)
679
680#define GCLK_IDX_RESERVED2_12 95
681#define GCLK_NAME_RESERVED2_12 "RESERVED2_12"
682#define GCLK_DEV_RESERVED2_12 "CLKGATE_RESERVED2_12"
683#define GCLK_REG_RESERVED2_12 (HHI_GCLK_MPEG2)
684#define GCLK_MASK_RESERVED2_12 (1<<31)
685
686/**************************************************************/
687
688#define GCLK_IDX_RESERVED3_0 96
689#define GCLK_NAME_RESERVED3_0 "RESERVED3_0"
690#define GCLK_DEV_RESERVED3_0 "CLKGATE_RESERVED3_0"
691#define GCLK_REG_RESERVED3_0 (HHI_GCLK_MPEG2)
692#define GCLK_MASK_RESERVED3_0 (1<<0)
693
694#define GCLK_IDX_VCLK2_VENCI 97
695#define GCLK_NAME_VCLK2_VENCI "VCLK2_VENCI"
696#define GCLK_DEV_VCLK2_VENCI "CLKGATE_VCLK2_VENCI"
697#define GCLK_REG_VCLK2_VENCI (HHI_GCLK_OTHER)
698#define GCLK_MASK_VCLK2_VENCI (1<<1)
699
700#define GCLK_IDX_VCLK2_VENCI1 98
701#define GCLK_NAME_VCLK2_VENCI1 "VCLK2_VENCI1"
702#define GCLK_DEV_VCLK2_VENCI1 "CLKGATE_VCLK2_VENCI1"
703#define GCLK_REG_VCLK2_VENCI1 (HHI_GCLK_OTHER)
704#define GCLK_MASK_VCLK2_VENCI1 (1<<2)
705
706#define GCLK_IDX_VCLK2_VENCP 99
707#define GCLK_NAME_VCLK2_VENCP "VCLK2_VENCP"
708#define GCLK_DEV_VCLK2_VENCP "CLKGATE_VCLK2_VENCP"
709#define GCLK_REG_VCLK2_VENCP (HHI_GCLK_OTHER)
710#define GCLK_MASK_VCLK2_VENCP (1<<3)
711
712#define GCLK_IDX_VCLK2_VENCP1 100
713#define GCLK_NAME_VCLK2_VENCP1 "VCLK2_VENCP1"
714#define GCLK_DEV_VCLK2_VENCP1 "CLKGATE_VCLK2_VENCP1"
715#define GCLK_REG_VCLK2_VENCP1 (HHI_GCLK_OTHER)
716#define GCLK_MASK_VCLK2_VENCP1 (1<<4)
717
718#define GCLK_IDX_VCLK2_VENCT 101
719#define GCLK_NAME_VCLK2_VENCT "VCLK2_VENCT"
720#define GCLK_DEV_VCLK2_VENCT "CLKGATE_VCLK2_VENCT"
721#define GCLK_REG_VCLK2_VENCT (HHI_GCLK_OTHER)
722#define GCLK_MASK_VCLK2_VENCT (1<<5)
723
724#define GCLK_IDX_VCLK2_VENCT1 102
725#define GCLK_NAME_VCLK2_VENCT1 "VCLK2_VENCT1"
726#define GCLK_DEV_VCLK2_VENCT1 "CLKGATE_VCLK2_VENCT1"
727#define GCLK_REG_VCLK2_VENCT1 (HHI_GCLK_OTHER)
728#define GCLK_MASK_VCLK2_VENCT1 (1<<6)
729
730#define GCLK_IDX_VCLK2_OTHER 103
731#define GCLK_NAME_VCLK2_OTHER "VCLK2_OTHER"
732#define GCLK_DEV_VCLK2_OTHER "CLKGATE_VCLK2_OTHER"
733#define GCLK_REG_VCLK2_OTHER (HHI_GCLK_OTHER)
734#define GCLK_MASK_VCLK2_OTHER (1<<7)
735
736#define GCLK_IDX_VCLK2_ENCI 104
737#define GCLK_NAME_VCLK2_ENCI "VCLK2_ENCI"
738#define GCLK_DEV_VCLK2_ENCI "CLKGATE_VCLK2_ENCI"
739#define GCLK_REG_VCLK2_ENCI (HHI_GCLK_OTHER)
740#define GCLK_MASK_VCLK2_ENCI (1<<8)
741
742#define GCLK_IDX_VCLK2_ENCP 105
743#define GCLK_NAME_VCLK2_ENCP "VCLK2_ENCP"
744#define GCLK_DEV_VCLK2_ENCP "CLKGATE_VCLK2_ENCP"
745#define GCLK_REG_VCLK2_ENCP (HHI_GCLK_OTHER)
746#define GCLK_MASK_VCLK2_ENCP (1<<9)
747
748#define GCLK_IDX_DAC_CLK 106
749#define GCLK_NAME_DAC_CLK "DAC_CLK"
750#define GCLK_DEV_DAC_CLK "CLKGATE_DAC_CLK"
751#define GCLK_REG_DAC_CLK (HHI_GCLK_OTHER)
752#define GCLK_MASK_DAC_CLK (1<<10)
753
754#define GCLK_IDX_RESERVED3_1 107
755#define GCLK_NAME_RESERVED3_1 "RESERVED3_1"
756#define GCLK_DEV_RESERVED3_1 "CLKGATE_RESERVED3_1"
757#define GCLK_REG_RESERVED3_1 (HHI_GCLK_MPEG2)
758#define GCLK_MASK_RESERVED3_1 (1<<11)
759
760#define GCLK_IDX_RESERVED3_2 108
761#define GCLK_NAME_RESERVED3_2 "RESERVED3_2"
762#define GCLK_DEV_RESERVED3_2 "CLKGATE_RESERVED3_2"
763#define GCLK_REG_RESERVED3_2 (HHI_GCLK_MPEG2)
764#define GCLK_MASK_RESERVED3_2 (1<<12)
765
766#define GCLK_IDX_RESERVED3_3 109
767#define GCLK_NAME_RESERVED3_3 "RESERVED3_3"
768#define GCLK_DEV_RESERVED3_3 "CLKGATE_RESERVED3_3"
769#define GCLK_REG_RESERVED3_3 (HHI_GCLK_MPEG2)
770#define GCLK_MASK_RESERVED3_3 (1<<13)
771
772#define GCLK_IDX_AIU_AOCLK 110
773#define GCLK_NAME_AIU_AOCLK "AIU_AOCLK"
774#define GCLK_DEV_AIU_AOCLK "CLKGATE_AIU_AOCLK"
775#define GCLK_REG_AIU_AOCLK (HHI_GCLK_OTHER)
776#define GCLK_MASK_AIU_AOCLK (1<<14)
777
778#define GCLK_IDX_RESERVED3_4 111
779#define GCLK_NAME_RESERVED3_4 "RESERVED3_4"
780#define GCLK_DEV_RESERVED3_4 "CLKGATE_RESERVED3_4"
781#define GCLK_REG_RESERVED3_4 (HHI_GCLK_OTHER)
782#define GCLK_MASK_RESERVED3_4 (1<<15)
783
784#define GCLK_IDX_AIU_ICE958_AMCLK 112
785#define GCLK_NAME_AIU_ICE958_AMCLK "AIU_ICE958_AMCLK"
786#define GCLK_DEV_AIU_ICE958_AMCLK "CLKGATE_AIU_ICE958_AMCLK"
787#define GCLK_REG_AIU_ICE958_AMCLK (HHI_GCLK_OTHER)
788#define GCLK_MASK_AIU_ICE958_AMCLK (1<<16)
789
790#define GCLK_IDX_RESERVED3_5 113
791#define GCLK_NAME_RESERVED3_5 "RESERVED3_5"
792#define GCLK_DEV_RESERVED3_5 "CLKGATE_RESERVED3_5"
793#define GCLK_REG_RESERVED3_5 (HHI_GCLK_OTHER)
794#define GCLK_MASK_RESERVED3_5 (1<<17)
795
796#define GCLK_IDX_RESERVED3_6 114
797#define GCLK_NAME_RESERVED3_6 "RESERVED3_6"
798#define GCLK_DEV_RESERVED3_6 "CLKGATE_RESERVED3_6"
799#define GCLK_REG_RESERVED3_6 (HHI_GCLK_OTHER)
800#define GCLK_MASK_RESERVED3_6 (1<<18)
801
802#define GCLK_IDX_RESERVED3_7 115
803#define GCLK_NAME_RESERVED3_7 "RESERVED3_7"
804#define GCLK_DEV_RESERVED3_7 "CLKGATE_RESERVED3_7"
805#define GCLK_REG_RESERVED3_7 (HHI_GCLK_OTHER)
806#define GCLK_MASK_RESERVED3_7 (1<<19)
807
808#define GCLK_IDX_ENC480P 116
809#define GCLK_NAME_ENC480P "ENC480P"
810#define GCLK_DEV_ENC480P "CLKGATE_ENC480P"
811#define GCLK_REG_ENC480P (HHI_GCLK_OTHER)
812#define GCLK_MASK_ENC480P (1<<20)
813
814#define GCLK_IDX_RANDOM_NUM_GEN1 117
815#define GCLK_NAME_RANDOM_NUM_GEN1 "RANDOM_NUM_GEN1"
816#define GCLK_DEV_RANDOM_NUM_GEN1 "CLKGATE_RANDOM_NUM_GEN1"
817#define GCLK_REG_RANDOM_NUM_GEN1 (HHI_GCLK_OTHER)
818#define GCLK_MASK_RANDOM_NUM_GEN1 (1<<21)
819
820#define GCLK_IDX_VCLK2_ENCT 118
821#define GCLK_NAME_VCLK2_ENCT "GCLK_VENCL_INT"
822#define GCLK_DEV_VCLK2_ENCT "CLKGATE_GCLK_VENCL_INT"
823#define GCLK_REG_VCLK2_ENCT (HHI_GCLK_OTHER)
824#define GCLK_MASK_VCLK2_ENCT (1<<22)
825
826#define GCLK_IDX_VCLK2_ENCL 119
827#define GCLK_NAME_VCLK2_ENCL "VLKC2_ENCL"
828#define GCLK_DEV_VCLK2_ENCL "CLKGATE_VCLK2_ENCL"
829#define GCLK_REG_VCLK2_ENCL (HHI_GCLK_OTHER)
830#define GCLK_MASK_VCLK2_ENCL (1<<23)
831
832#define GCLK_IDX_MMC_CLK 120
833#define GCLK_NAME_MMC_CLK "MMC_CLK"
834#define GCLK_DEV_MMC_CLK "CLKGATE_MMC_CLK"
835#define GCLK_REG_MMC_CLK (HHI_GCLK_OTHER)
836#define GCLK_MASK_MMC_CLK (1<<24)
837
838#define GCLK_IDX_VCLK2_VENCL 121
839#define GCLK_NAME_VCLK2_VENCL "VCLK2_VENCL"
840#define GCLK_DEV_VCLK2_VENCL "CLKGATE_VCLK2_VENCL"
841#define GCLK_REG_VCLK2_VENCL (HHI_GCLK_OTHER)
842#define GCLK_MASK_VCLK2_VENCL (1<<25)
843
844#define GCLK_IDX_VCLK2_OTHER1 122
845#define GCLK_NAME_VCLK2_OTHER1 "VCLK2_OTHER1"
846#define GCLK_DEV_VCLK2_OTHER1 "CLKGATE_VCLK2_OTHER1"
847#define GCLK_REG_VCLK2_OTHER1 (HHI_GCLK_OTHER)
848#define GCLK_MASK_VCLK2_OTHER1 (1<<26)
849
850#define GCLK_IDX_RESERVED3_9 123
851#define GCLK_NAME_RESERVED3_9 "RESERVED3_9"
852#define GCLK_DEV_RESERVED3_9 "CLKGATE_RESERVED3_9"
853#define GCLK_REG_RESERVED3_9 (HHI_GCLK_OTHER)
854#define GCLK_MASK_RESERVED3_9 (1<<27)
855
856#define GCLK_IDX_RESERVED3_A 124
857#define GCLK_NAME_RESERVED3_A "RESERVED3_A"
858#define GCLK_DEV_RESERVED3_A "CLKGATE_RESERVED3_A"
859#define GCLK_REG_RESERVED3_A (HHI_GCLK_OTHER)
860#define GCLK_MASK_RESERVED3_A (1<<28)
861
862#define GCLK_IDX_RESERVED3_B 125
863#define GCLK_NAME_RESERVED3_B "RESERVED3_B"
864#define GCLK_DEV_RESERVED3_B "CLKGATE_RESERVED3_B"
865#define GCLK_REG_RESERVED3_B (HHI_GCLK_OTHER)
866#define GCLK_MASK_RESERVED3_B (1<<29)
867
868#define GCLK_IDX_RESERVED3_C 126
869#define GCLK_NAME_RESERVED3_C "RESERVED3_C"
870#define GCLK_DEV_RESERVED3_C "CLKGATE_RESERVED3_C"
871#define GCLK_REG_RESERVED3_C (HHI_GCLK_OTHER)
872#define GCLK_MASK_RESERVED3_C (1<<30)
873
874#define GCLK_IDX_EDP_CLK 127
875#define GCLK_NAME_EDP_CLK "EDP_CLK"
876#define GCLK_DEV_EDP_CLK "CLKGATE_EDP_CLK"
877#define GCLK_REG_EDP_CLK (HHI_GCLK_OTHER)
878#define GCLK_MASK_EDP_CLK (1<<31)
879
880/**************************************************************/
881
882#define GCLK_IDX_MEDIA_CPU 128
883#define GCLK_NAME_MEDIA_CPU "MEDIA_CPU"
884#define GCLK_DEV_MEDIA_CPU "CLKGATE_MEDIA_CPU"
885#define GCLK_REG_MEDIA_CPU (HHI_GCLK_AO)
886#define GCLK_MASK_MEDIA_CPU (1<<0)
887
888#define GCLK_IDX_AHB_SRAM 129
889#define GCLK_NAME_AHB_SRAM "AHB_SRAM"
890#define GCLK_DEV_AHB_SRAM "CLKGATE_AHB_SRAM"
891#define GCLK_REG_AHB_SRAM (HHI_GCLK_AO)
892#define GCLK_MASK_AHB_SRAM (1<<1)
893
894#define GCLK_IDX_AHB_BUS 130
895#define GCLK_NAME_AHB_BUS "AHB_BUS"
896#define GCLK_DEV_AHB_BUS "CLKGATE_AHB_BUS"
897#define GCLK_REG_AHB_BUS (HHI_GCLK_AO)
898#define GCLK_MASK_AHB_BUS (1<<2)
899
900#define GCLK_IDX_AO_REGS 131
901#define GCLK_NAME_AO_REGS "AO_REGS"
902#define GCLK_DEV_AO_REGS "CLKGATE_AO_REGS"
903#define GCLK_REG_AO_REGS (HHI_GCLK_AO)
904#define GCLK_MASK_AO_REGS (1<<3)
905
906#define GCLK_NAME_I2C_AO "I2C_AO"
907#define GCLK_REG_I2C_AO (HHI_GCLK_AO)
908#define GCLK_MASK_I2C_AO (1<<4)
909
910
911#define GCLK_IDX_CTS_ENCI 132
912#define GCLK_NAME_CTS_ENCI "CTS_ENCI"
913#define GCLK_DEV_CTS_ENCI "CLKGATE_CTS_ENCI"
914#define GCLK_REG_CTS_ENCI (HHI_VID_CLK_CNTL2)
915#define GCLK_MASK_CTS_ENCI (1<<0)
916
917#define GCLK_IDX_CTS_ENCT 133
918#define GCLK_NAME_CTS_ENCT "CTS_ENCT"
919#define GCLK_DEV_CTS_ENCT "CLKGATE_CTS_ENCT"
920#define GCLK_REG_CTS_ENCT (HHI_VID_CLK_CNTL2)
921#define GCLK_MASK_CTS_ENCT (1<<1)
922
923#define GCLK_IDX_CTS_ENCP 134
924#define GCLK_NAME_CTS_ENCP "CTS_ENCP"
925#define GCLK_DEV_CTS_ENCP "CLKGATE_CTS_ENCP"
926#define GCLK_REG_CTS_ENCP (HHI_VID_CLK_CNTL2)
927#define GCLK_MASK_CTS_ENCP (1<<2)
928
929#define GCLK_IDX_CTS_ENCL 135
930#define GCLK_NAME_CTS_ENCL "CTS_ENCL"
931#define GCLK_DEV_CTS_ENCL "CLKGATE_CTS_ENCL"
932#define GCLK_REG_CTS_ENCL (HHI_VID_CLK_CNTL2)
933#define GCLK_MASK_CTS_ENCL (1<<3)
934
935#define GCLK_IDX_CTS_VDAC 136
936#define GCLK_NAME_CTS_VDAC "CTS_VDAC"
937#define GCLK_DEV_CTS_VDAC "CLKGATE_CTS_VDAC"
938#define GCLK_REG_CTS_VDAC (HHI_VID_CLK_CNTL2)
939#define GCLK_MASK_CTS_VDAC (1<<4)
940
941#define GCLK_IDX_CTS_HDMI_TX_PIXEL 137
942#define GCLK_NAME_CTS_HDMI_TX_PIXEL "CTS_HDMI_TX_PIXEL"
943#define GCLK_DEV_CTS_HDMI_TX_PIXEL "CLKGATE_CTS_HDMI_TX_PIXEL"
944#define GCLK_REG_CTS_HDMI_TX_PIXEL (HHI_VID_CLK_CNTL2)
945#define GCLK_MASK_CTS_HDMI_TX_PIXEL (1<<5)
946
947#define GCLK_IDX_AUD 138
948#define GCLK_NAME_AUD "AUD"
949#define GCLK_DEV_AUD "CLKGATE_AUD"
950#define GCLK_REG_AUD (HHI_AUD_CLK_CNTL)
951#define GCLK_MASK_AUD (1<<23)
952
953
954#define GCLK_IDX_AUD2 138
955#define GCLK_NAME_AUD2 "AUD2"
956#define GCLK_DEV_AUD2 "CLKGATE_AUD2"
957#define GCLK_REG_AUD2 (HHI_AUD_CLK_CNTL)
958#define GCLK_MASK_AUD2 (1<<8)
959
960
961#define GCLK_NAME_AUD_CLK_2 "AUD_CLK_2"
962#define GCLK_REG_AUD_CLK_2 (HHI_AUD_CLK_CNTL2)
963#define GCLK_MASK_AUD_CLK_2 (1<<8)
964
965#define GCLK_IDX_AUD_CLK_3 138
966#define GCLK_NAME_AUD_CLK_3 "AUD_CLK"
967#define GCLK_DEV_AUD_CLK_3 "CLKGATE_AUD_CLK"
968#define GCLK_REG_AUD_CLK_3 (HHI_AUD_CLK_CNTL3)
969#define GCLK_MASK_AUD_CLK_3 (1<<16)
970
971#define GCLK_IDX_LCD_AN_PHY2 139
972#define GCLK_NAME_LCD_AN_PHY2 "LCD_AN_PHY2"
973#define GCLK_DEV_LCD_AN_PHY2 "CLKGATE_LCD_AN_PHY2"
974#define GCLK_REG_LCD_AN_PHY2 (HHI_VID_CLK_CNTL2)
975#define GCLK_MASK_LCD_AN_PHY2 (1<<7)
976
977#define GCLK_IDX_LCD_AN_PHY3 140
978#define GCLK_NAME_LCD_AN_PHY3 "LCD_AN_PHY3"
979#define GCLK_DEV_LCD_AN_PHY3 "CLKGATE_LCD_AN_PHY3"
980#define GCLK_REG_LCD_AN_PHY3 (HHI_VID_CLK_CNTL2)
981#define GCLK_MASK_LCD_AN_PHY3 (1<<6)
982
983#define GCLK_NAME_ATV_DEMO_VDAC "ATV_DEMO_VDAC"
984#define GCLK_REG_ATV_DEMO_VDAC (HHI_VID_CLK_CNTL2)
985#define GCLK_MASK_ATV_DEMO_VDAC (1<<8)
986
987#define GCLK_IDX_HDMI_PLL_CNTL 142
988#define GCLK_NAME_HDMI_PLL_CNTL "HDMI_PLL_CNTL"
989#define GCLK_DEV_HDMI_PLL_CNTL "GATE_HDMI_PLL_CNTL"
990#define GCLK_REG_HDMI_PLL_CNTL (HHI_HDMI_PLL_CNTL)
991#define GCLK_MASK_HDMI_PLL_CNTL (1<<30)
992
993#define GCLK_NAME_HDMITX_CLK "HDMITX_CLK"
994#define GCLK_REG_HDMITX_CLK (HHI_HDMI_CLK_CNTL)
995#define GCLK_MASK_HDMITX_CLK (1<<8)
996
997
998#define GCLK_NAME_HDMITX_CLK "HDMITX_CLK"
999#define GCLK_REG_HDMITX_CLK (HHI_HDMI_CLK_CNTL)
1000#define GCLK_MASK_HDMITX_CLK (1<<8)
1001
1002#define GCLK_IDX_VDEC_CLK_1 144
1003#define GCLK_NAME_VDEC_CLK_1 "VDEC_CLK_1"
1004#define GCLK_DEV_VDEC_CLK_1 "CLKGATE_VDEC_CLK_1"
1005#define GCLK_REG_VDEC_CLK_1 (HHI_VDEC_CLK_CNTL)
1006#define GCLK_MASK_VDEC_CLK_1 (1<<8)
1007
1008#define GCLK_NAME_VDEC_CLK_2 "VDEC_CLK_2"
1009#define GCLK_REG_VDEC_CLK_2 (HHI_VDEC3_CLK_CNTL)
1010#define GCLK_MASK_VDEC_CLK_2 (1<<8)
1011
1012#define GCLK_NAME_VDEC2_CLK_1 "VDEC2_CLK_1"
1013#define GCLK_REG_VDEC2_CLK_1 (HHI_VDEC2_CLK_CNTL)
1014#define GCLK_MASK_VDEC2_CLK_1 (1<<8)
1015
1016#define GCLK_NAME_VDEC2_CLK_2 "VDEC2_CLK_2"
1017#define GCLK_REG_VDEC2_CLK_2 (HHI_VDEC4_CLK_CNTL)
1018#define GCLK_MASK_VDEC2_CLK_2 (1<<8)
1019
1020#define GCLK_IDX_HCODEC_CLK_1 145
1021#define GCLK_NAME_HCODEC_CLK_1 "HCODEC_CLK"
1022#define GCLK_DEV_HCODEC_CLK_1 "CLKGATE_HCODEC_CLK"
1023#define GCLK_REG_HCODEC_CLK_1 (HHI_VDEC_CLK_CNTL)
1024#define GCLK_MASK_HCODEC_CLK_1 (1<<24)
1025
1026#define GCLK_NAME_HCODEC_CLK_2 "HCODEC_CLK_2"
1027#define GCLK_REG_HCODEC_CLK_2 (HHI_VDEC3_CLK_CNTL)
1028#define GCLK_MASK_HCODEC_CLK_2 (1<<24)
1029
1030#define GCLK_NAME_HEVC_CLK_1 "HCODEC_CLK_1"
1031#define GCLK_REG_HEVC_CLK_1 (HHI_VDEC2_CLK_CNTL)
1032#define GCLK_MASK_HEVC_CLK_1 (1<<24)
1033
1034#define GCLK_NAME_HEVC_CLK_2 "HEVC_CLK_2"
1035#define GCLK_REG_HEVC_CLK_2 (HHI_VDEC4_CLK_CNTL)
1036#define GCLK_MASK_HEVC_CLK_2 (1<<24)
1037
1038#define GCLK_IDX_GEN_CLK 146
1039#define GCLK_NAME_GEN_CLK "GEN_CLK"
1040#define GCLK_DEV_GEN_CLK "CLKGATE_HCODEC_CLK"
1041#define GCLK_REG_GEN_CLK (HHI_GEN_CLK_CNTL)
1042#define GCLK_MASK_GEN_CLK (1<<11)
1043
1044#define GCLK_NAME_VPU_CLK_1 "VPU_CLK_1"
1045#define GCLK_REG_VPU_CLK_1 (HHI_VPU_CLK_CNTL)
1046#define GCLK_MASK_VPU_CLK_1 (1<<8)
1047
1048#define GCLK_NAME_VPU_CLK_2 "VPU_CLK_2"
1049#define GCLK_REG_VPU_CLK_2 (HHI_VPU_CLK_CNTL)
1050#define GCLK_MASK_VPU_CLK_2 (1<<24)
1051
1052
1053#define GCLK_NAME_VPU_CLKB "VPU_CLKB"
1054#define GCLK_REG_VPU_CLKB (HHI_VPU_CLKB_CNTL)
1055#define GCLK_MASK_VPU_CLKB (1<<8)
1056
1057#define GCLK_NAME_VAPB_CLK_1 "VAPB_CLK_1"
1058#define GCLK_REG_VAPB_CLK_1 (HHI_VAPBCLK_CNTL)
1059#define GCLK_MASK_VAPB_CLK_1 (1<<8)
1060
1061#define GCLK_NAME_VAPB_CLK_2 "VAPB_CLK_2"
1062#define GCLK_REG_VAPB_CLK_2 (HHI_VAPBCLK_CNTL)
1063#define GCLK_MASK_VAPB_CLK_2 (1<<24)
1064
1065#define GCLK_NAME_MALI_CLK_1 "MALI_CLK_1"
1066#define GCLK_REG_MALI_CLK_1 (HHI_MALI_CLK_CNTL)
1067#define GCLK_MASK_MALI_CLK_1 (1<<8)
1068
1069#define GCLK_NAME_MALI_CLK_2 "MALI_CLK_2"
1070#define GCLK_REG_MALI_CLK_2 (HHI_MALI_CLK_CNTL)
1071#define GCLK_MASK_MALI_CLK_2 (1<<24)
1072
1073#define GCLK_NAME_PWM_A_CLK "PWM_A_CLK"
1074#define GCLK_REG_PWM_A_CLK (CBUS_REG_ADDR(0x2156))
1075#define GCLK_MASK_PWM_A_CLK (1<<15)
1076
1077#define GCLK_NAME_PWM_B_CLK "PWM_B_CLK"
1078#define GCLK_REG_PWM_B_CLK (CBUS_REG_ADDR(0x2156))
1079#define GCLK_MASK_PWM_B_CLK (1<<23)
1080
1081#define GCLK_NAME_PWM_C_CLK "PWM_C_CLK"
1082#define GCLK_REG_PWM_C_CLK (CBUS_REG_ADDR(0x2196))
1083#define GCLK_MASK_PWM_C_CLK (1<<15)
1084
1085#define GCLK_NAME_PWM_D_CLK "PWM_D_CLK"
1086#define GCLK_REG_PWM_D_CLK (CBUS_REG_ADDR(0x2196))
1087#define GCLK_MASK_PWM_D_CLK (1<<23)
1088
1089#define GCLK_NAME_PWM_E_CLK "PWM_E_CLK"
1090#define GCLK_REG_PWM_E_CLK (CBUS_REG_ADDR(0x21b2))
1091#define GCLK_MASK_PWM_E_CLK (1<<15)
1092
1093#define GCLK_NAME_PWM_F_CLK "PWM_D_CLK"
1094#define GCLK_REG_PWM_F_CLK (CBUS_REG_ADDR(0x21b2))
1095#define GCLK_MASK_PWM_F_CLK (1<<23)
1096
1097#define GCLK_NAME_VDIN_MEAS_CLK "VDIN_MEAS_CLK"
1098#define GCLK_REG_VDIN_MEAS_CLK (HHI_VDIN_MEAS_CLK_CNTL)
1099#define GCLK_MASK_VDIN_MEAS_CLK (1<<8)
1100
1101#define GCLK_NAME_MSR_CLK "MSR_CLK"
1102#define GCLK_REG_MSR_CLK (CBUS_REG_ADDR(0x21d7))
1103#define GCLK_MASK_MSR_CLK (1<<19)
1104
1105#define GCLK_NAME_MSR_HS_CLK "MSR_HS_CLK"
1106#define GCLK_REG_MSR_HS_CLK (CBUS_REG_ADDR(0x21d9))
1107#define GCLK_MASK_MSR_HS_CLK (1<<28)
1108
1109#define GCLK_NAME_32K_CLK "32K_CLK"
1110#define GCLK_REG_32K_CLK (HHI_32K_CLK_CNTL)
1111#define GCLK_MASK_32K_CLK (1<<15)
1112
1113
1114
1115#define GCLK_IDX_MAX 200
1116
1117extern short GCLK_ref[GCLK_IDX_MAX];
1118
1119#define REGISTER_CLK(_MOD) \
1120static struct clk CLK_##_MOD = { \
1121 .name = GCLK_NAME_##_MOD, \
1122 .clock_index = GCLK_IDX_##_MOD, \
1123 .clock_gate_reg_adr = GCLK_REG_##_MOD, \
1124 .clock_gate_reg_mask = GCLK_MASK_##_MOD, \
1125}
1126
1127#define CLK_LOOKUP_ITEM(_MOD) \
1128 { \
1129 .dev_id = GCLK_DEV_##_MOD, \
1130 .con_id = GCLK_NAME_##_MOD, \
1131 .clk = &CLK_##_MOD, \
1132 }
1133
1134
1135
1136/**********************/
1137/* internal audio dac control */
1138#define ADAC_RESET (0x5000+0x00*4)
1139#define ADAC_LATCH (0x5000+0x01*4)
1140#define ADAC_POWER_CTRL_REG1 (0x5000+0x10*4)
1141#define ADAC_POWER_CTRL_REG2 (0x5000+0x11*4)
1142
1143int audio_internal_dac_disable(void);
1144
1145/* video dac control */
1146int video_dac_enable(unsigned char enable_mask);
1147
1148int video_dac_disable(void);
1149
1150
1151#endif