SyterKit
0.4.0.x
SyterKit is a bare-metal framework
Loading...
Searching...
No Matches
include
drivers
chips
sun8iw20
reg-ccu.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0+ */
2
3
#ifndef __SUN8IW20_REG_CCU_H__
4
#define __SUN8IW20_REG_CCU_H__
5
6
#include <
reg-ncat.h
>
7
8
#define CCU_BASE SUNXI_CCMU_BASE
9
10
#define CCU_PLL_CPU_CTRL_REG (0x000)
11
#define CCU_PLL_DDR_CTRL_REG (0x010)
12
#define CCU_PLL_PERI0_CTRL_REG (0x020)
13
#define CCU_PLL_PERI1_CTRL_REG (0x028)
14
#define CCU_PLL_GPU_CTRL_REG (0x030)
15
#define CCU_PLL_VIDEO0_CTRL_REG (0x040)
16
#define CCU_PLL_VIDEO1_CTRL_REG (0x048)
17
#define CCU_PLL_VE_CTRL (0x058)
18
#define CCU_PLL_DE_CTRL (0x060)
19
#define CCU_PLL_HSIC_CTRL (0x070)
20
#define CCU_PLL_AUDIO0_CTRL_REG (0x078)
21
#define CCU_PLL_AUDIO1_CTRL_REG (0x080)
22
#define CCU_PLL_DDR_PAT0_CTRL_REG (0x110)
23
#define CCU_PLL_DDR_PAT1_CTRL_REG (0x114)
24
#define CCU_PLL_PERI0_PAT0_CTRL_REG (0x120)
25
#define CCU_PLL_PERI0_PAT1_CTRL_REG (0x124)
26
#define CCU_PLL_PERI1_PAT0_CTRL_REG (0x128)
27
#define CCU_PLL_PERI1_PAT1_CTRL_REG (0x12c)
28
#define CCU_PLL_GPU_PAT0_CTRL_REG (0x130)
29
#define CCU_PLL_GPU_PAT1_CTRL_REG (0x134)
30
#define CCU_PLL_VIDEO0_PAT0_CTRL_REG (0x140)
31
#define CCU_PLL_VIDEO0_PAT1_CTRL_REG (0x144)
32
#define CCU_PLL_VIDEO1_PAT0_CTRL_REG (0x148)
33
#define CCU_PLL_VIDEO1_PAT1_CTRL_REG (0x14c)
34
#define CCU_PLL_VE_PAT0_CTRL_REG (0x158)
35
#define CCU_PLL_VE_PAT1_CTRL_REG (0x15c)
36
#define CCU_PLL_DE_PAT0_CTRL_REG (0x160)
37
#define CCU_PLL_DE_PAT1_CTRL_REG (0x164)
38
#define CCU_PLL_HSIC_PAT0_CTRL_REG (0x170)
39
#define CCU_PLL_HSIC_PAT1_CTRL_REG (0x174)
40
#define CCU_PLL_AUDIO0_PAT0_CTRL_REG (0x178)
41
#define CCU_PLL_AUDIO0_PAT1_CTRL_REG (0x17c)
42
#define CCU_PLL_AUDIO1_PAT0_CTRL_REG (0x180)
43
#define CCU_PLL_AUDIO1_PAT1_CTRL_REG (0x184)
44
#define CCU_PLL_CPU_BIAS_REG (0x300)
45
#define CCU_PLL_DDR_BIAS_REG (0x310)
46
#define CCU_PLL_PERI0_BIAS_REG (0x320)
47
#define CCU_PLL_PERI1_BIAS_REG (0x328)
48
#define CCU_PLL_GPU_BIAS_REG (0x330)
49
#define CCU_PLL_VIDEO0_BIAS_REG (0x340)
50
#define CCU_PLL_VIDEO1_BIAS_REG (0x348)
51
#define CCU_PLL_VE_BIAS_REG (0x358)
52
#define CCU_PLL_DE_BIAS_REG (0x360)
53
#define CCU_PLL_HSIC_BIAS_REG (0x370)
54
#define CCU_PLL_AUDIO0_BIAS_REG (0x378)
55
#define CCU_PLL_AUDIO1_BIAS_REG (0x380)
56
#define CCU_PLL_CPU_TUN_REG (0x400)
57
#define CCU_CPU_AXI_CFG_REG (0x500)
58
#define CCU_CPU_GATING_REG (0x504)
59
#define CCU_PSI_CLK_REG (0x510)
60
#define CCU_AHB3_CLK_REG (0x51c)
61
#define CCU_APB0_CLK_REG (0x520)
62
#define CCU_APB1_CLK_REG (0x524)
63
#define CCU_MBUS_CLK_REG (0x540)
64
#define CCU_DMA_BGR_REG (0x70c)
65
#define CCU_DRAM_CLK_REG (0x800)
66
#define CCU_MBUS_MAT_CLK_GATING_REG (0x804)
67
#define CCU_DRAM_BGR_REG (0x80c)
68
#define CCU_SMHC0_CLK_REG (0x830)
69
#define CCU_SMHC1_CLK_REG (0x834)
70
#define CCU_SMHC2_CLK_REG (0x838)
71
#define CCU_SMHC_BGR_REG (0x84c)
72
#define CCU_UART_BGR_REG (0x90c)
73
#define CCU_TWI_BGR_REG (0x91c)
74
#define CCU_SCR_BGR_REG (0x93C)
75
#define CCU_SPI0_CLK_REG (0x940)
76
#define CCU_SPI_BGR_REG (0x96c)
77
#define CCU_USB0_CLK_REG (0xA70)
78
#define CCU_USB_BGR_REG (0xA8C)
79
80
/* MMC clock bit field */
81
#define CCU_MMC_CTRL_M(x) ((x) -1)
82
#define CCU_MMC_CTRL_N(x) ((x) << 8)
83
#define CCU_MMC_CTRL_OSCM24 (0x0 << 24)
84
#define CCU_MMC_CTRL_PLL6X1 (0x1 << 24)
85
#define CCU_MMC_CTRL_PLL6X2 (0x2 << 24)
86
#define CCU_MMC_CTRL_PLL_PERIPH1X CCU_MMC_CTRL_PLL6X1
87
#define CCU_MMC_CTRL_PLL_PERIPH2X CCU_MMC_CTRL_PLL6X2
88
#define CCU_MMC_CTRL_ENABLE (0x1 << 31)
89
/* if doesn't have these delays */
90
#define CCU_MMC_CTRL_OCLK_DLY(a) ((void) (a), 0)
91
#define CCU_MMC_CTRL_SCLK_DLY(a) ((void) (a), 0)
92
93
#define CCU_MMC_BGR_SMHC0_GATE (1 << 0)
94
#define CCU_MMC_BGR_SMHC1_GATE (1 << 1)
95
#define CCU_MMC_BGR_SMHC2_GATE (1 << 2)
96
97
#define CCU_MMC_BGR_SMHC0_RST (1 << 16)
98
#define CCU_MMC_BGR_SMHC1_RST (1 << 17)
99
#define CCU_MMC_BGR_SMHC2_RST (1 << 18)
100
101
/* DSP base */
102
#define CCU_DSP_CLK_REG (0xc70)
103
#define CCU_BIT_DSP_SCLK_GATING (31)
104
#define CCU_DSP_CLK_M_MASK (0x1f << 0)
105
#define CCU_DSP_CLK_SRC_MASK (0x7 << 24)
106
#define CCU_DSP_CLK_SRC_HOSC (0)
107
#define CCU_DSP_CLK_SRC_32K (0x1 << 24)
108
#define CCU_DSP_CLK_SRC_16M (0x2 << 24)
109
#define CCU_DSP_CLK_SRC_PERI2X (0x3 << 24)
110
#define CCU_DSP_CLK_SRC_AUDIO1_DIV2 (0x4 << 24)
111
/* x must be 1 - 32 */
112
#define CCU_DSP_CLK_FACTOR_M(x) (((x) -1) << 0)
113
114
#define CCU_DSP_BGR_REG (0xc7c)
115
#define CCU_BIT_DSP0_CFG_GATING (1)
116
#define CCU_BIT_DSP0_RST (16)
117
#define CCU_BIT_DSP0_CFG_RST (17)
118
#define CCU_BIT_DSP0_DBG_RST (18)
119
120
/* RISC-V base */
121
#define CCU_RISCV_GATING_RST_REG (0x0d04)
122
#define CCU_RISCV_CLK_GATING (0x1 << 31)
123
#define CCU_RISCV_GATING_FIELD (0x16aa << 0)
124
125
#define CCU_RISCV_RST_REG (0x0f20)
126
#define CCU_RISCV_RST_KEY_FIELD (0x16aa << 16)
127
#define CCU_RISCV_RST_SOFT_RSTN (0x1 << 0)
128
129
#define CCU_RISCV_CLK_REG (0x0d00)
130
#define CCU_RISCV_CLK_MASK (0x7 << 24)
131
#define CCU_RISCV_CLK_HOSC (0x0 << 24)
132
#define CCU_RISCV_CLK_32K (0x1 << 24)
133
#define CCU_RISCV_CLK_16M (0x2 << 24)
134
#define CCU_RISCV_CLK_PERI_800M (0x3 << 24)
135
#define CCU_RISCV_CLK_PERI_PERIPLL1X (0x4 << 24)
136
#define CCU_RISCV_CLK_CPUPLL (0x5 << 24)
137
#define CCU_RISCV_CLK_AUDIO1PLL_DIV2 (0x6 << 24)
138
139
#define CCU_RISCV_CFG_BGR_REG (0x0d0c)
140
#define CCU_RISCV_CFG_RST (0x1 << 16)
141
#define CCU_RISCV_CFG_GATING (0x1 << 0)
142
143
#endif
// __SUN8IW20_REG_CCU_H__
reg-ncat.h
Generated by
1.9.8