1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun * Copyright (C) ST-Ericsson SA 2010
4*4882a593Smuzhiyun * Author: Mattias Nilsson <mattias.i.nilsson@stericsson.com> for ST Ericsson.
5*4882a593Smuzhiyun */
6*4882a593Smuzhiyun #ifndef __AB8500_SYSCTRL_H
7*4882a593Smuzhiyun #define __AB8500_SYSCTRL_H
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun #include <linux/bitops.h>
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun #ifdef CONFIG_AB8500_CORE
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun int ab8500_sysctrl_read(u16 reg, u8 *value);
14*4882a593Smuzhiyun int ab8500_sysctrl_write(u16 reg, u8 mask, u8 value);
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun #else
17*4882a593Smuzhiyun
ab8500_sysctrl_read(u16 reg,u8 * value)18*4882a593Smuzhiyun static inline int ab8500_sysctrl_read(u16 reg, u8 *value)
19*4882a593Smuzhiyun {
20*4882a593Smuzhiyun return 0;
21*4882a593Smuzhiyun }
22*4882a593Smuzhiyun
ab8500_sysctrl_write(u16 reg,u8 mask,u8 value)23*4882a593Smuzhiyun static inline int ab8500_sysctrl_write(u16 reg, u8 mask, u8 value)
24*4882a593Smuzhiyun {
25*4882a593Smuzhiyun return 0;
26*4882a593Smuzhiyun }
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun #endif /* CONFIG_AB8500_CORE */
29*4882a593Smuzhiyun
ab8500_sysctrl_set(u16 reg,u8 bits)30*4882a593Smuzhiyun static inline int ab8500_sysctrl_set(u16 reg, u8 bits)
31*4882a593Smuzhiyun {
32*4882a593Smuzhiyun return ab8500_sysctrl_write(reg, bits, bits);
33*4882a593Smuzhiyun }
34*4882a593Smuzhiyun
ab8500_sysctrl_clear(u16 reg,u8 bits)35*4882a593Smuzhiyun static inline int ab8500_sysctrl_clear(u16 reg, u8 bits)
36*4882a593Smuzhiyun {
37*4882a593Smuzhiyun return ab8500_sysctrl_write(reg, bits, 0);
38*4882a593Smuzhiyun }
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun /* Registers */
41*4882a593Smuzhiyun #define AB8500_TURNONSTATUS 0x100
42*4882a593Smuzhiyun #define AB8500_RESETSTATUS 0x101
43*4882a593Smuzhiyun #define AB8500_PONKEY1PRESSSTATUS 0x102
44*4882a593Smuzhiyun #define AB8500_SYSCLKREQSTATUS 0x142
45*4882a593Smuzhiyun #define AB8500_STW4500CTRL1 0x180
46*4882a593Smuzhiyun #define AB8500_STW4500CTRL2 0x181
47*4882a593Smuzhiyun #define AB8500_STW4500CTRL3 0x200
48*4882a593Smuzhiyun #define AB8500_MAINWDOGCTRL 0x201
49*4882a593Smuzhiyun #define AB8500_MAINWDOGTIMER 0x202
50*4882a593Smuzhiyun #define AB8500_LOWBAT 0x203
51*4882a593Smuzhiyun #define AB8500_BATTOK 0x204
52*4882a593Smuzhiyun #define AB8500_SYSCLKTIMER 0x205
53*4882a593Smuzhiyun #define AB8500_SMPSCLKCTRL 0x206
54*4882a593Smuzhiyun #define AB8500_SMPSCLKSEL1 0x207
55*4882a593Smuzhiyun #define AB8500_SMPSCLKSEL2 0x208
56*4882a593Smuzhiyun #define AB8500_SMPSCLKSEL3 0x209
57*4882a593Smuzhiyun #define AB8500_SYSULPCLKCONF 0x20A
58*4882a593Smuzhiyun #define AB8500_SYSULPCLKCTRL1 0x20B
59*4882a593Smuzhiyun #define AB8500_SYSCLKCTRL 0x20C
60*4882a593Smuzhiyun #define AB8500_SYSCLKREQ1VALID 0x20D
61*4882a593Smuzhiyun #define AB8500_SYSTEMCTRLSUP 0x20F
62*4882a593Smuzhiyun #define AB8500_SYSCLKREQ1RFCLKBUF 0x210
63*4882a593Smuzhiyun #define AB8500_SYSCLKREQ2RFCLKBUF 0x211
64*4882a593Smuzhiyun #define AB8500_SYSCLKREQ3RFCLKBUF 0x212
65*4882a593Smuzhiyun #define AB8500_SYSCLKREQ4RFCLKBUF 0x213
66*4882a593Smuzhiyun #define AB8500_SYSCLKREQ5RFCLKBUF 0x214
67*4882a593Smuzhiyun #define AB8500_SYSCLKREQ6RFCLKBUF 0x215
68*4882a593Smuzhiyun #define AB8500_SYSCLKREQ7RFCLKBUF 0x216
69*4882a593Smuzhiyun #define AB8500_SYSCLKREQ8RFCLKBUF 0x217
70*4882a593Smuzhiyun #define AB8500_DITHERCLKCTRL 0x220
71*4882a593Smuzhiyun #define AB8500_SWATCTRL 0x230
72*4882a593Smuzhiyun #define AB8500_HIQCLKCTRL 0x232
73*4882a593Smuzhiyun #define AB8500_VSIMSYSCLKCTRL 0x233
74*4882a593Smuzhiyun #define AB9540_SYSCLK12BUFCTRL 0x234
75*4882a593Smuzhiyun #define AB9540_SYSCLK12CONFCTRL 0x235
76*4882a593Smuzhiyun #define AB9540_SYSCLK12BUFCTRL2 0x236
77*4882a593Smuzhiyun #define AB9540_SYSCLK12BUF1VALID 0x237
78*4882a593Smuzhiyun #define AB9540_SYSCLK12BUF2VALID 0x238
79*4882a593Smuzhiyun #define AB9540_SYSCLK12BUF3VALID 0x239
80*4882a593Smuzhiyun #define AB9540_SYSCLK12BUF4VALID 0x23A
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun /* Bits */
83*4882a593Smuzhiyun #define AB8500_TURNONSTATUS_PORNVBAT BIT(0)
84*4882a593Smuzhiyun #define AB8500_TURNONSTATUS_PONKEY1DBF BIT(1)
85*4882a593Smuzhiyun #define AB8500_TURNONSTATUS_PONKEY2DBF BIT(2)
86*4882a593Smuzhiyun #define AB8500_TURNONSTATUS_RTCALARM BIT(3)
87*4882a593Smuzhiyun #define AB8500_TURNONSTATUS_MAINCHDET BIT(4)
88*4882a593Smuzhiyun #define AB8500_TURNONSTATUS_VBUSDET BIT(5)
89*4882a593Smuzhiyun #define AB8500_TURNONSTATUS_USBIDDETECT BIT(6)
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun #define AB8500_RESETSTATUS_RESETN4500NSTATUS BIT(0)
92*4882a593Smuzhiyun #define AB8500_RESETSTATUS_SWRESETN4500NSTATUS BIT(2)
93*4882a593Smuzhiyun
94*4882a593Smuzhiyun #define AB8500_PONKEY1PRESSSTATUS_PONKEY1PRESSTIME_MASK 0x7F
95*4882a593Smuzhiyun #define AB8500_PONKEY1PRESSSTATUS_PONKEY1PRESSTIME_SHIFT 0
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun #define AB8500_SYSCLKREQSTATUS_SYSCLKREQ1STATUS BIT(0)
98*4882a593Smuzhiyun #define AB8500_SYSCLKREQSTATUS_SYSCLKREQ2STATUS BIT(1)
99*4882a593Smuzhiyun #define AB8500_SYSCLKREQSTATUS_SYSCLKREQ3STATUS BIT(2)
100*4882a593Smuzhiyun #define AB8500_SYSCLKREQSTATUS_SYSCLKREQ4STATUS BIT(3)
101*4882a593Smuzhiyun #define AB8500_SYSCLKREQSTATUS_SYSCLKREQ5STATUS BIT(4)
102*4882a593Smuzhiyun #define AB8500_SYSCLKREQSTATUS_SYSCLKREQ6STATUS BIT(5)
103*4882a593Smuzhiyun #define AB8500_SYSCLKREQSTATUS_SYSCLKREQ7STATUS BIT(6)
104*4882a593Smuzhiyun #define AB8500_SYSCLKREQSTATUS_SYSCLKREQ8STATUS BIT(7)
105*4882a593Smuzhiyun
106*4882a593Smuzhiyun #define AB8500_STW4500CTRL1_SWOFF BIT(0)
107*4882a593Smuzhiyun #define AB8500_STW4500CTRL1_SWRESET4500N BIT(1)
108*4882a593Smuzhiyun #define AB8500_STW4500CTRL1_THDB8500SWOFF BIT(2)
109*4882a593Smuzhiyun
110*4882a593Smuzhiyun #define AB8500_STW4500CTRL2_RESETNVAUX1VALID BIT(0)
111*4882a593Smuzhiyun #define AB8500_STW4500CTRL2_RESETNVAUX2VALID BIT(1)
112*4882a593Smuzhiyun #define AB8500_STW4500CTRL2_RESETNVAUX3VALID BIT(2)
113*4882a593Smuzhiyun #define AB8500_STW4500CTRL2_RESETNVMODVALID BIT(3)
114*4882a593Smuzhiyun #define AB8500_STW4500CTRL2_RESETNVEXTSUPPLY1VALID BIT(4)
115*4882a593Smuzhiyun #define AB8500_STW4500CTRL2_RESETNVEXTSUPPLY2VALID BIT(5)
116*4882a593Smuzhiyun #define AB8500_STW4500CTRL2_RESETNVEXTSUPPLY3VALID BIT(6)
117*4882a593Smuzhiyun #define AB8500_STW4500CTRL2_RESETNVSMPS1VALID BIT(7)
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun #define AB8500_STW4500CTRL3_CLK32KOUT2DIS BIT(0)
120*4882a593Smuzhiyun #define AB8500_STW4500CTRL3_RESETAUDN BIT(1)
121*4882a593Smuzhiyun #define AB8500_STW4500CTRL3_RESETDENCN BIT(2)
122*4882a593Smuzhiyun #define AB8500_STW4500CTRL3_THSDENA BIT(3)
123*4882a593Smuzhiyun
124*4882a593Smuzhiyun #define AB8500_MAINWDOGCTRL_MAINWDOGENA BIT(0)
125*4882a593Smuzhiyun #define AB8500_MAINWDOGCTRL_MAINWDOGKICK BIT(1)
126*4882a593Smuzhiyun #define AB8500_MAINWDOGCTRL_WDEXPTURNONVALID BIT(4)
127*4882a593Smuzhiyun
128*4882a593Smuzhiyun #define AB8500_MAINWDOGTIMER_MAINWDOGTIMER_MASK 0x7F
129*4882a593Smuzhiyun #define AB8500_MAINWDOGTIMER_MAINWDOGTIMER_SHIFT 0
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun #define AB8500_LOWBAT_LOWBATENA BIT(0)
132*4882a593Smuzhiyun #define AB8500_LOWBAT_LOWBAT_MASK 0x7E
133*4882a593Smuzhiyun #define AB8500_LOWBAT_LOWBAT_SHIFT 1
134*4882a593Smuzhiyun
135*4882a593Smuzhiyun #define AB8500_BATTOK_BATTOKSEL0THF_MASK 0x0F
136*4882a593Smuzhiyun #define AB8500_BATTOK_BATTOKSEL0THF_SHIFT 0
137*4882a593Smuzhiyun #define AB8500_BATTOK_BATTOKSEL1THF_MASK 0xF0
138*4882a593Smuzhiyun #define AB8500_BATTOK_BATTOKSEL1THF_SHIFT 4
139*4882a593Smuzhiyun
140*4882a593Smuzhiyun #define AB8500_SYSCLKTIMER_SYSCLKTIMER_MASK 0x0F
141*4882a593Smuzhiyun #define AB8500_SYSCLKTIMER_SYSCLKTIMER_SHIFT 0
142*4882a593Smuzhiyun #define AB8500_SYSCLKTIMER_SYSCLKTIMERADJ_MASK 0xF0
143*4882a593Smuzhiyun #define AB8500_SYSCLKTIMER_SYSCLKTIMERADJ_SHIFT 4
144*4882a593Smuzhiyun
145*4882a593Smuzhiyun #define AB8500_SMPSCLKCTRL_SMPSCLKINTSEL_MASK 0x03
146*4882a593Smuzhiyun #define AB8500_SMPSCLKCTRL_SMPSCLKINTSEL_SHIFT 0
147*4882a593Smuzhiyun #define AB8500_SMPSCLKCTRL_3M2CLKINTENA BIT(2)
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun #define AB8500_SMPSCLKSEL1_VARMCLKSEL_MASK 0x07
150*4882a593Smuzhiyun #define AB8500_SMPSCLKSEL1_VARMCLKSEL_SHIFT 0
151*4882a593Smuzhiyun #define AB8500_SMPSCLKSEL1_VAPECLKSEL_MASK 0x38
152*4882a593Smuzhiyun #define AB8500_SMPSCLKSEL1_VAPECLKSEL_SHIFT 3
153*4882a593Smuzhiyun
154*4882a593Smuzhiyun #define AB8500_SMPSCLKSEL2_VMODCLKSEL_MASK 0x07
155*4882a593Smuzhiyun #define AB8500_SMPSCLKSEL2_VMODCLKSEL_SHIFT 0
156*4882a593Smuzhiyun #define AB8500_SMPSCLKSEL2_VSMPS1CLKSEL_MASK 0x38
157*4882a593Smuzhiyun #define AB8500_SMPSCLKSEL2_VSMPS1CLKSEL_SHIFT 3
158*4882a593Smuzhiyun
159*4882a593Smuzhiyun #define AB8500_SMPSCLKSEL3_VSMPS2CLKSEL_MASK 0x07
160*4882a593Smuzhiyun #define AB8500_SMPSCLKSEL3_VSMPS2CLKSEL_SHIFT 0
161*4882a593Smuzhiyun #define AB8500_SMPSCLKSEL3_VSMPS3CLKSEL_MASK 0x38
162*4882a593Smuzhiyun #define AB8500_SMPSCLKSEL3_VSMPS3CLKSEL_SHIFT 3
163*4882a593Smuzhiyun
164*4882a593Smuzhiyun #define AB8500_SYSULPCLKCONF_ULPCLKCONF_MASK 0x03
165*4882a593Smuzhiyun #define AB8500_SYSULPCLKCONF_ULPCLKCONF_SHIFT 0
166*4882a593Smuzhiyun #define AB8500_SYSULPCLKCONF_CLK27MHZSTRE BIT(2)
167*4882a593Smuzhiyun #define AB8500_SYSULPCLKCONF_TVOUTCLKDELN BIT(3)
168*4882a593Smuzhiyun #define AB8500_SYSULPCLKCONF_TVOUTCLKINV BIT(4)
169*4882a593Smuzhiyun #define AB8500_SYSULPCLKCONF_ULPCLKSTRE BIT(5)
170*4882a593Smuzhiyun #define AB8500_SYSULPCLKCONF_CLK27MHZBUFENA BIT(6)
171*4882a593Smuzhiyun #define AB8500_SYSULPCLKCONF_CLK27MHZPDENA BIT(7)
172*4882a593Smuzhiyun
173*4882a593Smuzhiyun #define AB8500_SYSULPCLKCTRL1_SYSULPCLKINTSEL_MASK 0x03
174*4882a593Smuzhiyun #define AB8500_SYSULPCLKCTRL1_SYSULPCLKINTSEL_SHIFT 0
175*4882a593Smuzhiyun #define AB8500_SYSULPCLKCTRL1_ULPCLKREQ BIT(2)
176*4882a593Smuzhiyun #define AB8500_SYSULPCLKCTRL1_4500SYSCLKREQ BIT(3)
177*4882a593Smuzhiyun #define AB8500_SYSULPCLKCTRL1_AUDIOCLKENA BIT(4)
178*4882a593Smuzhiyun #define AB8500_SYSULPCLKCTRL1_SYSCLKBUF2REQ BIT(5)
179*4882a593Smuzhiyun #define AB8500_SYSULPCLKCTRL1_SYSCLKBUF3REQ BIT(6)
180*4882a593Smuzhiyun #define AB8500_SYSULPCLKCTRL1_SYSCLKBUF4REQ BIT(7)
181*4882a593Smuzhiyun
182*4882a593Smuzhiyun #define AB8500_SYSCLKCTRL_TVOUTPLLENA BIT(0)
183*4882a593Smuzhiyun #define AB8500_SYSCLKCTRL_TVOUTCLKENA BIT(1)
184*4882a593Smuzhiyun #define AB8500_SYSCLKCTRL_USBCLKENA BIT(2)
185*4882a593Smuzhiyun
186*4882a593Smuzhiyun #define AB8500_SYSCLKREQ1VALID_SYSCLKREQ1VALID BIT(0)
187*4882a593Smuzhiyun #define AB8500_SYSCLKREQ1VALID_ULPCLKREQ1VALID BIT(1)
188*4882a593Smuzhiyun #define AB8500_SYSCLKREQ1VALID_USBSYSCLKREQ1VALID BIT(2)
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun #define AB8500_SYSTEMCTRLSUP_EXTSUP12LPNCLKSEL_MASK 0x03
191*4882a593Smuzhiyun #define AB8500_SYSTEMCTRLSUP_EXTSUP12LPNCLKSEL_SHIFT 0
192*4882a593Smuzhiyun #define AB8500_SYSTEMCTRLSUP_EXTSUP3LPNCLKSEL_MASK 0x0C
193*4882a593Smuzhiyun #define AB8500_SYSTEMCTRLSUP_EXTSUP3LPNCLKSEL_SHIFT 2
194*4882a593Smuzhiyun #define AB8500_SYSTEMCTRLSUP_INTDB8500NOD BIT(4)
195*4882a593Smuzhiyun
196*4882a593Smuzhiyun #define AB8500_SYSCLKREQ1RFCLKBUF_SYSCLKREQ1RFCLKBUF2 BIT(2)
197*4882a593Smuzhiyun #define AB8500_SYSCLKREQ1RFCLKBUF_SYSCLKREQ1RFCLKBUF3 BIT(3)
198*4882a593Smuzhiyun #define AB8500_SYSCLKREQ1RFCLKBUF_SYSCLKREQ1RFCLKBUF4 BIT(4)
199*4882a593Smuzhiyun
200*4882a593Smuzhiyun #define AB8500_SYSCLKREQ2RFCLKBUF_SYSCLKREQ2RFCLKBUF2 BIT(2)
201*4882a593Smuzhiyun #define AB8500_SYSCLKREQ2RFCLKBUF_SYSCLKREQ2RFCLKBUF3 BIT(3)
202*4882a593Smuzhiyun #define AB8500_SYSCLKREQ2RFCLKBUF_SYSCLKREQ2RFCLKBUF4 BIT(4)
203*4882a593Smuzhiyun
204*4882a593Smuzhiyun #define AB8500_SYSCLKREQ3RFCLKBUF_SYSCLKREQ3RFCLKBUF2 BIT(2)
205*4882a593Smuzhiyun #define AB8500_SYSCLKREQ3RFCLKBUF_SYSCLKREQ3RFCLKBUF3 BIT(3)
206*4882a593Smuzhiyun #define AB8500_SYSCLKREQ3RFCLKBUF_SYSCLKREQ3RFCLKBUF4 BIT(4)
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun #define AB8500_SYSCLKREQ4RFCLKBUF_SYSCLKREQ4RFCLKBUF2 BIT(2)
209*4882a593Smuzhiyun #define AB8500_SYSCLKREQ4RFCLKBUF_SYSCLKREQ4RFCLKBUF3 BIT(3)
210*4882a593Smuzhiyun #define AB8500_SYSCLKREQ4RFCLKBUF_SYSCLKREQ4RFCLKBUF4 BIT(4)
211*4882a593Smuzhiyun
212*4882a593Smuzhiyun #define AB8500_SYSCLKREQ5RFCLKBUF_SYSCLKREQ5RFCLKBUF2 BIT(2)
213*4882a593Smuzhiyun #define AB8500_SYSCLKREQ5RFCLKBUF_SYSCLKREQ5RFCLKBUF3 BIT(3)
214*4882a593Smuzhiyun #define AB8500_SYSCLKREQ5RFCLKBUF_SYSCLKREQ5RFCLKBUF4 BIT(4)
215*4882a593Smuzhiyun
216*4882a593Smuzhiyun #define AB8500_SYSCLKREQ6RFCLKBUF_SYSCLKREQ6RFCLKBUF2 BIT(2)
217*4882a593Smuzhiyun #define AB8500_SYSCLKREQ6RFCLKBUF_SYSCLKREQ6RFCLKBUF3 BIT(3)
218*4882a593Smuzhiyun #define AB8500_SYSCLKREQ6RFCLKBUF_SYSCLKREQ6RFCLKBUF4 BIT(4)
219*4882a593Smuzhiyun
220*4882a593Smuzhiyun #define AB8500_SYSCLKREQ7RFCLKBUF_SYSCLKREQ7RFCLKBUF2 BIT(2)
221*4882a593Smuzhiyun #define AB8500_SYSCLKREQ7RFCLKBUF_SYSCLKREQ7RFCLKBUF3 BIT(3)
222*4882a593Smuzhiyun #define AB8500_SYSCLKREQ7RFCLKBUF_SYSCLKREQ7RFCLKBUF4 BIT(4)
223*4882a593Smuzhiyun
224*4882a593Smuzhiyun #define AB8500_SYSCLKREQ8RFCLKBUF_SYSCLKREQ8RFCLKBUF2 BIT(2)
225*4882a593Smuzhiyun #define AB8500_SYSCLKREQ8RFCLKBUF_SYSCLKREQ8RFCLKBUF3 BIT(3)
226*4882a593Smuzhiyun #define AB8500_SYSCLKREQ8RFCLKBUF_SYSCLKREQ8RFCLKBUF4 BIT(4)
227*4882a593Smuzhiyun
228*4882a593Smuzhiyun #define AB8500_DITHERCLKCTRL_VARMDITHERENA BIT(0)
229*4882a593Smuzhiyun #define AB8500_DITHERCLKCTRL_VSMPS3DITHERENA BIT(1)
230*4882a593Smuzhiyun #define AB8500_DITHERCLKCTRL_VSMPS1DITHERENA BIT(2)
231*4882a593Smuzhiyun #define AB8500_DITHERCLKCTRL_VSMPS2DITHERENA BIT(3)
232*4882a593Smuzhiyun #define AB8500_DITHERCLKCTRL_VMODDITHERENA BIT(4)
233*4882a593Smuzhiyun #define AB8500_DITHERCLKCTRL_VAPEDITHERENA BIT(5)
234*4882a593Smuzhiyun #define AB8500_DITHERCLKCTRL_DITHERDEL_MASK 0xC0
235*4882a593Smuzhiyun #define AB8500_DITHERCLKCTRL_DITHERDEL_SHIFT 6
236*4882a593Smuzhiyun
237*4882a593Smuzhiyun #define AB8500_SWATCTRL_UPDATERF BIT(0)
238*4882a593Smuzhiyun #define AB8500_SWATCTRL_SWATENABLE BIT(1)
239*4882a593Smuzhiyun #define AB8500_SWATCTRL_RFOFFTIMER_MASK 0x1C
240*4882a593Smuzhiyun #define AB8500_SWATCTRL_RFOFFTIMER_SHIFT 2
241*4882a593Smuzhiyun #define AB8500_SWATCTRL_SWATBIT5 BIT(6)
242*4882a593Smuzhiyun
243*4882a593Smuzhiyun #define AB8500_HIQCLKCTRL_SYSCLKREQ1HIQENAVALID BIT(0)
244*4882a593Smuzhiyun #define AB8500_HIQCLKCTRL_SYSCLKREQ2HIQENAVALID BIT(1)
245*4882a593Smuzhiyun #define AB8500_HIQCLKCTRL_SYSCLKREQ3HIQENAVALID BIT(2)
246*4882a593Smuzhiyun #define AB8500_HIQCLKCTRL_SYSCLKREQ4HIQENAVALID BIT(3)
247*4882a593Smuzhiyun #define AB8500_HIQCLKCTRL_SYSCLKREQ5HIQENAVALID BIT(4)
248*4882a593Smuzhiyun #define AB8500_HIQCLKCTRL_SYSCLKREQ6HIQENAVALID BIT(5)
249*4882a593Smuzhiyun #define AB8500_HIQCLKCTRL_SYSCLKREQ7HIQENAVALID BIT(6)
250*4882a593Smuzhiyun #define AB8500_HIQCLKCTRL_SYSCLKREQ8HIQENAVALID BIT(7)
251*4882a593Smuzhiyun
252*4882a593Smuzhiyun #define AB8500_VSIMSYSCLKCTRL_VSIMSYSCLKREQ1VALID BIT(0)
253*4882a593Smuzhiyun #define AB8500_VSIMSYSCLKCTRL_VSIMSYSCLKREQ2VALID BIT(1)
254*4882a593Smuzhiyun #define AB8500_VSIMSYSCLKCTRL_VSIMSYSCLKREQ3VALID BIT(2)
255*4882a593Smuzhiyun #define AB8500_VSIMSYSCLKCTRL_VSIMSYSCLKREQ4VALID BIT(3)
256*4882a593Smuzhiyun #define AB8500_VSIMSYSCLKCTRL_VSIMSYSCLKREQ5VALID BIT(4)
257*4882a593Smuzhiyun #define AB8500_VSIMSYSCLKCTRL_VSIMSYSCLKREQ6VALID BIT(5)
258*4882a593Smuzhiyun #define AB8500_VSIMSYSCLKCTRL_VSIMSYSCLKREQ7VALID BIT(6)
259*4882a593Smuzhiyun #define AB8500_VSIMSYSCLKCTRL_VSIMSYSCLKREQ8VALID BIT(7)
260*4882a593Smuzhiyun
261*4882a593Smuzhiyun #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUF1ENA BIT(0)
262*4882a593Smuzhiyun #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUF2ENA BIT(1)
263*4882a593Smuzhiyun #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUF3ENA BIT(2)
264*4882a593Smuzhiyun #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUF4ENA BIT(3)
265*4882a593Smuzhiyun #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUFENA_MASK 0x0F
266*4882a593Smuzhiyun #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUF1STRE BIT(4)
267*4882a593Smuzhiyun #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUF2STRE BIT(5)
268*4882a593Smuzhiyun #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUF3STRE BIT(6)
269*4882a593Smuzhiyun #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUF4STRE BIT(7)
270*4882a593Smuzhiyun #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUFSTRE_MASK 0xF0
271*4882a593Smuzhiyun
272*4882a593Smuzhiyun #define AB9540_SYSCLK12CONFCTRL_PLL26TO38ENA BIT(0)
273*4882a593Smuzhiyun #define AB9540_SYSCLK12CONFCTRL_SYSCLK12USBMUXSEL BIT(1)
274*4882a593Smuzhiyun #define AB9540_SYSCLK12CONFCTRL_INT384MHZMUXSEL0 BIT(2)
275*4882a593Smuzhiyun #define AB9540_SYSCLK12CONFCTRL_INT384MHZMUXSEL1 BIT(3)
276*4882a593Smuzhiyun #define AB9540_SYSCLK12CONFCTRL_SYSCLK12BUFMUX BIT(4)
277*4882a593Smuzhiyun #define AB9540_SYSCLK12CONFCTRL_SYSCLK12PLLMUX BIT(5)
278*4882a593Smuzhiyun #define AB9540_SYSCLK12CONFCTRL_SYSCLK2MUXVALID BIT(6)
279*4882a593Smuzhiyun
280*4882a593Smuzhiyun #define AB9540_SYSCLK12BUFCTRL2_SYSCLK12BUF1PDENA BIT(0)
281*4882a593Smuzhiyun #define AB9540_SYSCLK12BUFCTRL2_SYSCLK12BUF2PDENA BIT(1)
282*4882a593Smuzhiyun #define AB9540_SYSCLK12BUFCTRL2_SYSCLK12BUF3PDENA BIT(2)
283*4882a593Smuzhiyun #define AB9540_SYSCLK12BUFCTRL2_SYSCLK12BUF4PDENA BIT(3)
284*4882a593Smuzhiyun
285*4882a593Smuzhiyun #define AB9540_SYSCLK12BUF1VALID_SYSCLK12BUF1VALID_MASK 0xFF
286*4882a593Smuzhiyun #define AB9540_SYSCLK12BUF1VALID_SYSCLK12BUF1VALID_SHIFT 0
287*4882a593Smuzhiyun
288*4882a593Smuzhiyun #define AB9540_SYSCLK12BUF2VALID_SYSCLK12BUF2VALID_MASK 0xFF
289*4882a593Smuzhiyun #define AB9540_SYSCLK12BUF2VALID_SYSCLK12BUF2VALID_SHIFT 0
290*4882a593Smuzhiyun
291*4882a593Smuzhiyun #define AB9540_SYSCLK12BUF3VALID_SYSCLK12BUF3VALID_MASK 0xFF
292*4882a593Smuzhiyun #define AB9540_SYSCLK12BUF3VALID_SYSCLK12BUF3VALID_SHIFT 0
293*4882a593Smuzhiyun
294*4882a593Smuzhiyun #define AB9540_SYSCLK12BUF4VALID_SYSCLK12BUF4VALID_MASK 0xFF
295*4882a593Smuzhiyun #define AB9540_SYSCLK12BUF4VALID_SYSCLK12BUF4VALID_SHIFT 0
296*4882a593Smuzhiyun
297*4882a593Smuzhiyun #define AB8500_ENABLE_WD 0x1
298*4882a593Smuzhiyun #define AB8500_KICK_WD 0x2
299*4882a593Smuzhiyun #define AB8500_WD_RESTART_ON_EXPIRE 0x10
300*4882a593Smuzhiyun
301*4882a593Smuzhiyun #endif /* __AB8500_SYSCTRL_H */
302