1/*
2 * ARM PrimeXsys System Controller SP810 header file
3 *
4 * Copyright (C) 2009 ST Microelectronics
5 * Viresh Kumar <vireshk@kernel.org>
6 *
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.
10 */
11
12#ifndef __AMBA_SP810_H
13#define __AMBA_SP810_H
14
15#include <linux/io.h>
16
17/* sysctl registers offset */
18#define SCCTRL 0x000
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
27#define SCPEREN 0x024
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
35#define SCITCR 0xF00
36#define SCITIR0 0xF04
37#define SCITIR1 0xF08
38#define SCITOR 0xF0C
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
50
51#define SCCTRL_TIMERENnSEL_SHIFT(n) (15 + ((n) * 2))
52
53static inline void sysctl_soft_reset(void __iomem *base)
54{
55 /* switch to slow mode */
56 writel(val: 0x2, addr: base + SCCTRL);
57
58 /* writing any value to SCSYSSTAT reg will reset system */
59 writel(val: 0, addr: base + SCSYSSTAT);
60}
61
62#endif /* __AMBA_SP810_H */
63

source code of linux/include/linux/amba/sp810.h