blob: e8aa290147850822524735de851e882d192d136b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
/*
* Copyright (C) ST-Ericsson SA 2011
*
* License Terms: GNU General Public License v2
*/
#ifndef __MACH_PRCMU_REGS_DB5500_H
#define __MACH_PRCMU_REGS_DB5500_H
#define BITS(_start, _end) ((BIT(_end) - BIT(_start)) + BIT(_end))
#define PRCM_TCR 0x1C8
#define PRCM_TCR_TENSEL_MASK BITS(0, 7)
#define PRCM_TCR_STOP_TIMERS BIT(16)
#define PRCM_TCR_DOZE_MODE BIT(17)
/* PRCMU HW semaphore */
#define PRCM_SEM 0x400
#define PRCM_SEM_PRCM_SEM BIT(0)
#define DB5500_PRCM_ACLK_MGT 0x004
#define DB5500_PRCM_SVACLK_MGT 0x008
#define DB5500_PRCM_SIACLK_MGT 0x00C
#define DB5500_PRCM_SGACLK_MGT 0x014
#define DB5500_PRCM_UARTCLK_MGT 0x018
#define DB5500_PRCM_MSP02CLK_MGT 0x01C
#define DB5500_PRCM_I2CCLK_MGT 0x020
#define DB5500_PRCM_SDMMCCLK_MGT 0x024
#define DB5500_PRCM_PER1CLK_MGT 0x02C
#define DB5500_PRCM_PER2CLK_MGT 0x030
#define DB5500_PRCM_PER3CLK_MGT 0x034
#define DB5500_PRCM_PER5CLK_MGT 0x038
#define DB5500_PRCM_PER6CLK_MGT 0x03C
#define DB5500_PRCM_IRDACLK_MGT 0x040
#define DB5500_PRCM_PWMCLK_MGT 0x044
#define DB5500_PRCM_SPARE1CLK_MGT 0x048
#define DB5500_PRCM_IRRCCLK_MGT 0x04C
#define DB5500_PRCM_HDMICLK_MGT 0x058
#define DB5500_PRCM_APEATCLK_MGT 0x05C
#define DB5500_PRCM_APETRACECLK_MGT 0x060
#define DB5500_PRCM_MCDECLK_MGT 0x064
#define DB5500_PRCM_DSIALTCLK_MGT 0x06C
#define DB5500_PRCM_DMACLK_MGT 0x074
#define DB5500_PRCM_B2R2CLK_MGT 0x078
#define DB5500_PRCM_TVCLK_MGT 0x07C
#define DB5500_PRCM_RNGCLK_MGT 0x284
#define PRCM_CLK_MGT_CLKPLLDIV_MASK BITS(0, 4)
#define PRCM_CLK_MGT_CLKPLLDIV_SHIFT 0
#define PRCM_CLK_MGT_CLKPLLSW_MASK BITS(5, 7)
#define PRCM_CLK_MGT_CLKEN BIT(8)
#define PRCM_ARM_IT1_CLEAR 0x48C
#define PRCM_ARM_IT1_VAL 0x494
/* CPU mailbox registers */
#define PRCM_MBOX_CPU_VAL 0x0FC
#define PRCM_MBOX_CPU_SET 0x100
/* System reset register */
#define PRCM_APE_SOFTRST 0x228
/* PRCMU clock/PLL/reset registers */
#define PRCM_PLLDSI_FREQ 0x500
#define PRCM_PLLDSI_ENABLE 0x504
#define PRCM_PLLDSI_LOCKP 0x508
#define PRCM_DSI_PLLOUT_SEL 0x530
#define PRCM_DSITVCLK_DIV 0x52C
#define PRCM_APE_RESETN_SET 0x1E4
#define PRCM_APE_RESETN_CLR 0x1E8
/* CLKOUTx SEL0 settings */
#define CLKOUT_SEL0_REF_CLK 0x01 /* 0b 0001 */
#define CLKOUT_SEL0_RTC_CLK0 0x02 /* 0b 0010 */
#define CLKOUT_SEL0_ULP_CLK 0x04 /* 0b 0100 */
#define CLKOUT_SEL0_SEL_CLK 0x08 /* 0b 1000 */
/* CLKOUTx SEL settings */
#define CLKOUT_SEL_STATIC0 0x0001 /* 0b 00 0000 0001 */
#define CLKOUT_SEL_REFCLK 0x0002 /* 0b 00 0000 0010 */
#define CLKOUT_SEL_ULPCLK 0x0004 /* 0b 00 0000 0100 */
#define CLKOUT_SEL_ARMCLK 0x0008 /* 0b 00 0000 1000 */
#define CLKOUT_SEL_SYSACC0CLK 0x0010 /* 0b 00 0001 0000 */
#define CLKOUT_SEL_SOC0PLLCLK 0x0020 /* 0b 00 0010 0000 */
#define CLKOUT_SEL_SOC1PLLCLK 0x0040 /* 0b 00 0100 0000 */
#define CLKOUT_SEL_DDRPLLCLK 0x0080 /* 0b 00 1000 0000 */
#define CLKOUT_SEL_TVCLK 0x0100 /* 0b 01 0000 0000 */
#define CLKOUT_SEL_IRDACLK 0x0200 /* 0b 10 0000 0000 */
/* CLKOUTx dividers */
#define CLKOUT_DIV_2 0x00 /* 0b 000 */
#define CLKOUT_DIV_4 0x01 /* 0b 001 */
#define CLKOUT_DIV_8 0x02 /* 0b 010 */
#define CLKOUT_DIV_16 0x03 /* 0b 011 */
#define CLKOUT_DIV_32 0x04 /* 0b 100 */
#define CLKOUT_DIV_64 0x05 /* 0b 101 */
/* Values 0x06 and 0x07 will also set the CLKOUTx divider to 64. */
/* PRCM_CLKOCR CLKOUTx Control registers */
#define PRCM_CLKOCR 0x1CC
#define PRCM_CLKOCR_CLKOUT0_SEL0_SHIFT 0
#define PRCM_CLKOCR_CLKOUT0_SEL0_MASK BITS(0, 3)
#define PRCM_CLKOCR_CLKOUT0_SEL_SHIFT 4
#define PRCM_CLKOCR_CLKOUT0_SEL_MASK BITS(4, 13)
#define PRCM_CLKOCR_CLKOUT1_SEL0_SHIFT 16
#define PRCM_CLKOCR_CLKOUT1_SEL0_MASK BITS(16, 19)
#define PRCM_CLKOCR_CLKOUT1_SEL_SHIFT 20
#define PRCM_CLKOCR_CLKOUT1_SEL_MASK BITS(20, 29)
/* PRCM_CLKODIV CLKOUTx Dividers */
#define PRCM_CLKODIV 0x188
#define PRCM_CLKODIV_CLKOUT0_DIV_SHIFT 0
#define PRCM_CLKODIV_CLKOUT0_DIV_MASK BITS(0, 2)
#define PRCM_CLKODIV_CLKOUT1_DIV_SHIFT 16
#define PRCM_CLKODIV_CLKOUT1_DIV_MASK BITS(16, 18)
#define PRCM_MMIP_LS_CLAMP_SET 0x420
#define PRCM_MMIP_LS_CLAMP_CLR 0x424
#define PRCM_DDR_SUBSYS_APE_MINBW 0x438
/* Miscellaneous unit registers */
#define PRCM_DSI_SW_RESET 0x324
#define PRCM_RESOUTN_SET_OFFSET 0x214
#define PRCM_RESOUTN_CLR_OFFSET 0x218
#endif
|