SyterKit
0.4.0.x
SyterKit is a bare-metal framework
Loading...
Searching...
No Matches
include
drivers
chips
sun50iw10
reg-ccu.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0+ */
2
/*
3
* (C) Copyright 2013-2025
4
* Allwinner Technology Co., Ltd. <www.allwinnertech.com>
5
*
6
* original from bsp uboot defines
7
*/
8
9
#ifndef __SUN50IW10_REG_CCU_H__
10
#define __SUN50IW10_REG_CCU_H__
11
12
#include <
reg-ncat.h
>
13
14
#define CCU_BASE SUNXI_CCM_BASE
15
16
/* pll list */
17
#define CCU_PLL_CPUX_CTRL_REG (0x00)
18
#define CCU_PLL_DDR0_CTRL_REG (0x10)
19
#define CCU_PLL_DDR1_CTRL_REG (0x18)
20
#define CCU_PLL_PERI0_CTRL_REG (0x20)
21
#define CCU_PLL_PERI1_CTRL_REG (0x28)
22
#define CCU_PLL_GPU_CTRL_REG (0x30)
23
#define CCU_PLL_VIDE00_CTRL_REG (0x40)
24
#define CCU_PLL_VIDE01_CTRL_REG (0x48)
25
#define CCU_PLL_VIDE02_CTRL_REG (0x50)
26
#define CCU_PLL_VIDE03_CTRL_REG (0x68)
27
#define CCU_PLL_VE_CTRL_REG (0x58)
28
#define CCU_PLL_COM_CTRL_REG (0x60)
29
#define CCU_PLL_AUDIO_CTRL_REG (0x78)
30
#define CCU_PLL_HSIC_CTRL_REG (0x70)
31
32
/* cfg list */
33
#define CCU_CPUX_AXI_CFG_REG (0x500)
34
#define CCU_PSI_AHB1_AHB2_CFG_REG (0x510)
35
#define CCU_AHB3_CFG_GREG (0x51C)
36
#define CCU_APB1_CFG_GREG (0x520)
37
#define CCU_APB2_CFG_GREG (0x524)
38
#define CCU_MBUS_CFG_REG (0x540)
39
40
#define CCU_CE_CLK_REG (0x680)
41
#define CCU_CE_BGR_REG (0x68C)
42
43
#define CCU_VE_CLK_REG (0x690)
44
#define CCU_VE_BGR_REG (0x69C)
45
46
/*SYS*/
47
#define CCU_DMA_BGR_REG (0x70C)
48
#define CCU_AVS_CLK_REG (0x740)
49
#define CCU_AVS_BGR_REG (0x74C)
50
51
/*IOMMU*/
52
#define CCU_IOMMU_BGR_REG (0x7bc)
53
#define IOMMU_AUTO_GATING_REG (SUNXI_IOMMU_BASE + 0X40)
54
55
/* storage */
56
#define CCU_DRAM_CLK_REG (0x800)
57
#define CCU_MBUS_MAT_CLK_GATING_REG (0x804)
58
#define CCU_PLL_DDR_AUX_REG (0x808)
59
#define CCU_DRAM_BGR_REG (0x80C)
60
61
#define CCU_NAND_CLK_REG (0x810)
62
#define CCU_NAND_BGR_REG (0x82C)
63
64
#define CCU_SMHC0_CLK_REG (0x830)
65
#define CCU_SMHC1_CLK_REG (0x834)
66
#define CCU_SMHC2_CLK_REG (0x838)
67
#define CCU_SMHC_BGR_REG (0x84c)
68
69
/*normal interface*/
70
#define CCU_UART_BGR_REG (0x90C)
71
#define CCU_TWI_BGR_REG (0x91C)
72
73
#define CCU_SCR_BGR_REG (0x93C)
74
75
#define CCU_SPI0_CLK_REG (0x940)
76
#define CCU_SPI1_CLK_REG (0x944)
77
#define CCU_SPI_BGR_REG (0x96C)
78
#define CCU_USB0_CLK_REG (0xA70)
79
#define CCU_USB_BGR_REG (0xA8C)
80
81
/*DMA*/
82
#define DMA_GATING_BASE CCU_DMA_BGR_REG
83
#define DMA_GATING_PASS (1)
84
#define DMA_GATING_BIT (0)
85
86
/*CE*/
87
#define CE_CLK_SRC_MASK (0x1)
88
#define CE_CLK_SRC_SEL_BIT (24)
89
#define CE_CLK_SRC (0x01)
90
91
#define CE_CLK_DIV_RATION_N_BIT (8)
92
#define CE_CLK_DIV_RATION_N_MASK (0x3)
93
#define CE_CLK_DIV_RATION_N (0)
94
95
#define CE_CLK_DIV_RATION_M_BIT (0)
96
#define CE_CLK_DIV_RATION_M_MASK (0xF)
97
#define CE_CLK_DIV_RATION_M (2)
98
99
#define CE_SCLK_ONOFF_BIT (31)
100
#define CE_SCLK_ON (1)
101
102
#define CE_GATING_BASE CCU_CE_BGR_REG
103
#define CE_GATING_PASS (1)
104
#define CE_GATING_BIT (0)
105
106
#define CE_RST_REG_BASE CCU_CE_BGR_REG
107
#define CE_RST_BIT (16)
108
#define CE_DEASSERT (1)
109
110
/*gpadc gate and reset reg*/
111
#define CCU_GPADC_BGR_REG (0x09EC)
112
113
/*lpadc gate and reset reg*/
114
#define CCU_LRADC_BGR_REG (0x0A9C)
115
116
/* ehci */
117
#define BUS_CLK_GATING_REG 0x60
118
#define BUS_SOFTWARE_RESET_REG 0x2c0
119
#define USBPHY_CONFIG_REG 0xcc
120
121
#define USBEHCI0_RST_BIT 24
122
#define USBEHCI0_GATIING_BIT 24
123
#define USBPHY0_RST_BIT 0
124
#define USBPHY0_SCLK_GATING_BIT 8
125
126
#define USBEHCI1_RST_BIT 25
127
#define USBEHCI1_GATIING_BIT 25
128
#define USBPHY1_RST_BIT 1
129
#define USBPHY1_SCLK_GATING_BIT 9
130
131
/* MMC clock bit field */
132
#define CCU_MMC_CTRL_M(x) ((x) -1)
133
#define CCU_MMC_CTRL_N(x) ((x) << 8)
134
#define CCU_MMC_CTRL_OSCM24 (0x0 << 24)
135
#define CCU_MMC_CTRL_PLL6X1 (0x1 << 24)
136
#define CCU_MMC_CTRL_PLL6X2 (0x2 << 24)
137
#define CCU_MMC_CTRL_PLL_PERIPH1X CCU_MMC_CTRL_PLL6X1
138
#define CCU_MMC_CTRL_PLL_PERIPH2X CCU_MMC_CTRL_PLL6X2
139
#define CCU_MMC_CTRL_ENABLE (0x1 << 31)
140
141
/* if doesn't have these delays */
142
#define CCU_MMC_CTRL_OCLK_DLY(a) ((void) (a), 0)
143
#define CCU_MMC_CTRL_SCLK_DLY(a) ((void) (a), 0)
144
145
#define CCU_MMC_BGR_SMHC0_GATE (1 << 0)
146
#define CCU_MMC_BGR_SMHC1_GATE (1 << 1)
147
#define CCU_MMC_BGR_SMHC2_GATE (1 << 2)
148
149
#define CCU_MMC_BGR_SMHC0_RST (1 << 16)
150
#define CCU_MMC_BGR_SMHC1_RST (1 << 17)
151
#define CCU_MMC_BGR_SMHC2_RST (1 << 18)
152
153
#endif
// __SUN50IW10_REG_CCU_H__
reg-ncat.h
Generated by
1.9.8