2 * ARM PrimeXsys System Controller SP810 header file
4 * Copyright (C) 2009 ST Microelectronics
5 * Viresh Kumar <vireshk@kernel.org>
7 * This file is licensed under the terms of the GNU General Public
8 * License version 2. This program is licensed "as is" without any
9 * warranty of any kind, whether express or implied.
12 #ifndef __AMBA_SP810_H
13 #define __AMBA_SP810_H
17 /* sysctl registers offset */
19 #define SCSYSSTAT 0x004
20 #define SCIMCTRL 0x008
21 #define SCIMSTAT 0x00C
22 #define SCXTALCTRL 0x010
23 #define SCPLLCTRL 0x014
24 #define SCPLLFCTRL 0x018
25 #define SCPERCTRL0 0x01C
26 #define SCPERCTRL1 0x020
28 #define SCPERDIS 0x028
29 #define SCPERCLKEN 0x02C
30 #define SCPERSTAT 0x030
31 #define SCSYSID0 0xEE0
32 #define SCSYSID1 0xEE4
33 #define SCSYSID2 0xEE8
34 #define SCSYSID3 0xEEC
39 #define SCCNTCTRL 0xF10
40 #define SCCNTDATA 0xF14
41 #define SCCNTSTEP 0xF18
42 #define SCPERIPHID0 0xFE0
43 #define SCPERIPHID1 0xFE4
44 #define SCPERIPHID2 0xFE8
45 #define SCPERIPHID3 0xFEC
46 #define SCPCELLID0 0xFF0
47 #define SCPCELLID1 0xFF4
48 #define SCPCELLID2 0xFF8
49 #define SCPCELLID3 0xFFC
51 #define SCCTRL_TIMERENnSEL_SHIFT(n) (15 + ((n) * 2))
53 static inline void sysctl_soft_reset(void __iomem
*base
)
55 /* switch to slow mode */
56 writel(0x2, base
+ SCCTRL
);
58 /* writing any value to SCSYSSTAT reg will reset system */
59 writel(0, base
+ SCSYSSTAT
);
62 #endif /* __AMBA_SP810_H */