xref: /netbsd-src/sys/arch/arm/sunxi/sun8i_v3s_ccu.h (revision 6c4affb9229be854a846947409d7c06ace8271d4)
1*6c4affb9Sjmcneill /* $NetBSD: sun8i_v3s_ccu.h,v 1.1 2021/05/05 10:24:04 jmcneill Exp $ */
2*6c4affb9Sjmcneill 
3*6c4affb9Sjmcneill /*-
4*6c4affb9Sjmcneill  * Copyright (c) 2021 Rui-Xiang Guo
5*6c4affb9Sjmcneill  * All rights reserved.
6*6c4affb9Sjmcneill  *
7*6c4affb9Sjmcneill  * Redistribution and use in source and binary forms, with or without
8*6c4affb9Sjmcneill  * modification, are permitted provided that the following conditions
9*6c4affb9Sjmcneill  * are met:
10*6c4affb9Sjmcneill  * 1. Redistributions of source code must retain the above copyright
11*6c4affb9Sjmcneill  *    notice, this list of conditions and the following disclaimer.
12*6c4affb9Sjmcneill  * 2. Redistributions in binary form must reproduce the above copyright
13*6c4affb9Sjmcneill  *    notice, this list of conditions and the following disclaimer in the
14*6c4affb9Sjmcneill  *    documentation and/or other materials provided with the distribution.
15*6c4affb9Sjmcneill  *
16*6c4affb9Sjmcneill  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17*6c4affb9Sjmcneill  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18*6c4affb9Sjmcneill  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19*6c4affb9Sjmcneill  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20*6c4affb9Sjmcneill  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
21*6c4affb9Sjmcneill  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22*6c4affb9Sjmcneill  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23*6c4affb9Sjmcneill  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24*6c4affb9Sjmcneill  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25*6c4affb9Sjmcneill  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26*6c4affb9Sjmcneill  * SUCH DAMAGE.
27*6c4affb9Sjmcneill  */
28*6c4affb9Sjmcneill 
29*6c4affb9Sjmcneill #ifndef __CCU_V3S_H__
30*6c4affb9Sjmcneill #define __CCU_V3S_H__
31*6c4affb9Sjmcneill 
32*6c4affb9Sjmcneill #define	V3S_CLK_PLL_CPU		0
33*6c4affb9Sjmcneill #define	V3S_CLK_PLL_AUDIO_BASE	1
34*6c4affb9Sjmcneill #define	V3S_CLK_PLL_AUDIO	2
35*6c4affb9Sjmcneill #define	V3S_CLK_PLL_AUDIO_2X	3
36*6c4affb9Sjmcneill #define	V3S_CLK_PLL_AUDIO_4X	4
37*6c4affb9Sjmcneill #define	V3S_CLK_PLL_AUDIO_8X	5
38*6c4affb9Sjmcneill #define	V3S_CLK_PLL_VIDEO	6
39*6c4affb9Sjmcneill #define	V3S_CLK_PLL_VE		7
40*6c4affb9Sjmcneill #define	V3S_CLK_PLL_DDR		8
41*6c4affb9Sjmcneill #define	V3S_CLK_PLL_PERIPH0	9
42*6c4affb9Sjmcneill #define	V3S_CLK_PLL_PERIPH0_2X	10
43*6c4affb9Sjmcneill #define	V3S_CLK_PLL_ISP		11
44*6c4affb9Sjmcneill #define	V3S_CLK_PLL_PERIPH1	12
45*6c4affb9Sjmcneill #define	V3S_CLK_CPU		14
46*6c4affb9Sjmcneill #define	V3S_CLK_AXI		15
47*6c4affb9Sjmcneill #define	V3S_CLK_AHB1		16
48*6c4affb9Sjmcneill #define	V3S_CLK_APB1		17
49*6c4affb9Sjmcneill #define	V3S_CLK_APB2		18
50*6c4affb9Sjmcneill #define	V3S_CLK_AHB2		19
51*6c4affb9Sjmcneill #define	V3S_CLK_BUS_CE		20
52*6c4affb9Sjmcneill #define	V3S_CLK_BUS_DMA		21
53*6c4affb9Sjmcneill #define	V3S_CLK_BUS_MMC0	22
54*6c4affb9Sjmcneill #define	V3S_CLK_BUS_MMC1	23
55*6c4affb9Sjmcneill #define	V3S_CLK_BUS_MMC2	24
56*6c4affb9Sjmcneill #define	V3S_CLK_BUS_DRAM	25
57*6c4affb9Sjmcneill #define	V3S_CLK_BUS_EMAC	26
58*6c4affb9Sjmcneill #define	V3S_CLK_BUS_HSTIMER	27
59*6c4affb9Sjmcneill #define	V3S_CLK_BUS_SPI		28
60*6c4affb9Sjmcneill #define	V3S_CLK_BUS_OTG		29
61*6c4affb9Sjmcneill #define	V3S_CLK_BUS_EHCI	30
62*6c4affb9Sjmcneill #define	V3S_CLK_BUS_OHCI	31
63*6c4affb9Sjmcneill #define	V3S_CLK_BUS_VE		32
64*6c4affb9Sjmcneill #define	V3S_CLK_BUS_TCON	33
65*6c4affb9Sjmcneill #define	V3S_CLK_BUS_CSI		34
66*6c4affb9Sjmcneill #define	V3S_CLK_BUS_DE		35
67*6c4affb9Sjmcneill #define	V3S_CLK_BUS_CODEC	36
68*6c4affb9Sjmcneill #define	V3S_CLK_BUS_PIO		37
69*6c4affb9Sjmcneill #define	V3S_CLK_BUS_I2C0	38
70*6c4affb9Sjmcneill #define	V3S_CLK_BUS_I2C1	39
71*6c4affb9Sjmcneill #define	V3S_CLK_BUS_UART0	40
72*6c4affb9Sjmcneill #define	V3S_CLK_BUS_UART1	41
73*6c4affb9Sjmcneill #define	V3S_CLK_BUS_UART2	42
74*6c4affb9Sjmcneill #define	V3S_CLK_BUS_EPHY	43
75*6c4affb9Sjmcneill #define	V3S_CLK_BUS_DBG		44
76*6c4affb9Sjmcneill #define	V3S_CLK_MMC0		45
77*6c4affb9Sjmcneill #define	V3S_CLK_MMC0_SAMPLE	46
78*6c4affb9Sjmcneill #define	V3S_CLK_MMC0_OUTPUT	47
79*6c4affb9Sjmcneill #define	V3S_CLK_MMC1		48
80*6c4affb9Sjmcneill #define	V3S_CLK_MMC1_SAMPLE	49
81*6c4affb9Sjmcneill #define	V3S_CLK_MMC1_OUTPUT	50
82*6c4affb9Sjmcneill #define	V3S_CLK_MMC2		51
83*6c4affb9Sjmcneill #define	V3S_CLK_MMC2_SAMPLE	52
84*6c4affb9Sjmcneill #define	V3S_CLK_MMC2_OUTPUT	53
85*6c4affb9Sjmcneill #define	V3S_CLK_CE		54
86*6c4affb9Sjmcneill #define	V3S_CLK_SPI		55
87*6c4affb9Sjmcneill #define	V3S_CLK_USBPHY		56
88*6c4affb9Sjmcneill #define	V3S_CLK_USBOHCI		57
89*6c4affb9Sjmcneill #define	V3S_CLK_DRAM		58
90*6c4affb9Sjmcneill #define	V3S_CLK_DRAM_VE		59
91*6c4affb9Sjmcneill #define	V3S_CLK_DRAM_CSI	60
92*6c4affb9Sjmcneill #define	V3S_CLK_DRAM_EHCI	61
93*6c4affb9Sjmcneill #define	V3S_CLK_DRAM_OHCI	62
94*6c4affb9Sjmcneill #define	V3S_CLK_DE		63
95*6c4affb9Sjmcneill #define	V3S_CLK_TCON		64
96*6c4affb9Sjmcneill #define	V3S_CLK_CSI_MISC	65
97*6c4affb9Sjmcneill #define	V3S_CLK_CSI0_MCLK	66
98*6c4affb9Sjmcneill #define	V3S_CLK_CSI1_SCLK	67
99*6c4affb9Sjmcneill #define	V3S_CLK_CSI1_MCLK	68
100*6c4affb9Sjmcneill #define	V3S_CLK_VE		69
101*6c4affb9Sjmcneill #define	V3S_CLK_AC_DIG		70
102*6c4affb9Sjmcneill #define	V3S_CLK_AVS		71
103*6c4affb9Sjmcneill #define	V3S_CLK_MBUS		72
104*6c4affb9Sjmcneill #define	V3S_CLK_MIPI_CSI	73
105*6c4affb9Sjmcneill 
106*6c4affb9Sjmcneill #define	V3S_RST_USBPHY		0
107*6c4affb9Sjmcneill #define	V3S_RST_MBUS		1
108*6c4affb9Sjmcneill #define	V3S_RST_BUS_CE		5
109*6c4affb9Sjmcneill #define	V3S_RST_BUS_DMA		6
110*6c4affb9Sjmcneill #define	V3S_RST_BUS_MMC0	7
111*6c4affb9Sjmcneill #define	V3S_RST_BUS_MMC1	8
112*6c4affb9Sjmcneill #define	V3S_RST_BUS_MMC2	9
113*6c4affb9Sjmcneill #define	V3S_RST_BUS_DRAM	11
114*6c4affb9Sjmcneill #define	V3S_RST_BUS_EMAC	12
115*6c4affb9Sjmcneill #define	V3S_RST_BUS_HSTIMER	14
116*6c4affb9Sjmcneill #define	V3S_RST_BUS_SPI		15
117*6c4affb9Sjmcneill #define	V3S_RST_BUS_OTG		17
118*6c4affb9Sjmcneill #define	V3S_RST_BUS_EHCI	18
119*6c4affb9Sjmcneill #define	V3S_RST_BUS_OHCI	22
120*6c4affb9Sjmcneill #define	V3S_RST_BUS_VE		26
121*6c4affb9Sjmcneill #define	V3S_RST_BUS_TCON	27
122*6c4affb9Sjmcneill #define	V3S_RST_BUS_CSI		30
123*6c4affb9Sjmcneill #define	V3S_RST_BUS_DE		34
124*6c4affb9Sjmcneill #define	V3S_RST_BUS_DBG		38
125*6c4affb9Sjmcneill #define	V3S_RST_BUS_EPHY	39
126*6c4affb9Sjmcneill #define	V3S_RST_BUS_CODEC	40
127*6c4affb9Sjmcneill #define	V3S_RST_BUS_I2C0	46
128*6c4affb9Sjmcneill #define	V3S_RST_BUS_I2C1	47
129*6c4affb9Sjmcneill #define	V3S_RST_BUS_UART0	49
130*6c4affb9Sjmcneill #define	V3S_RST_BUS_UART1	50
131*6c4affb9Sjmcneill #define	V3S_RST_BUS_UART2	51
132*6c4affb9Sjmcneill 
133*6c4affb9Sjmcneill #endif /* __CCU_V3S_H__ */
134