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