]>
Commit | Line | Data |
---|---|---|
19830574 JCD |
1 | /* |
2 | * IMX6 System Reset Controller | |
3 | * | |
4 | * Copyright (C) 2012 NICTA | |
5 | * Updated by Jean-Christophe Dubois <jcd@tribudubois.net> | |
6 | * | |
7 | * This work is licensed under the terms of the GNU GPL, version 2 or later. | |
8 | * See the COPYING file in the top-level directory. | |
9 | */ | |
10 | ||
11 | #ifndef IMX6_SRC_H | |
12 | #define IMX6_SRC_H | |
13 | ||
14 | #include "hw/sysbus.h" | |
15 | #include "qemu/bitops.h" | |
db1015e9 | 16 | #include "qom/object.h" |
19830574 JCD |
17 | |
18 | #define SRC_SCR 0 | |
19 | #define SRC_SBMR1 1 | |
20 | #define SRC_SRSR 2 | |
21 | #define SRC_SISR 5 | |
22 | #define SRC_SIMR 6 | |
23 | #define SRC_SBMR2 7 | |
24 | #define SRC_GPR1 8 | |
25 | #define SRC_GPR2 9 | |
26 | #define SRC_GPR3 10 | |
27 | #define SRC_GPR4 11 | |
28 | #define SRC_GPR5 12 | |
29 | #define SRC_GPR6 13 | |
30 | #define SRC_GPR7 14 | |
31 | #define SRC_GPR8 15 | |
32 | #define SRC_GPR9 16 | |
33 | #define SRC_GPR10 17 | |
34 | #define SRC_MAX 18 | |
35 | ||
36 | /* SRC_SCR */ | |
37 | #define CORE3_ENABLE_SHIFT 24 | |
38 | #define CORE3_ENABLE_LENGTH 1 | |
39 | #define CORE2_ENABLE_SHIFT 23 | |
40 | #define CORE2_ENABLE_LENGTH 1 | |
41 | #define CORE1_ENABLE_SHIFT 22 | |
42 | #define CORE1_ENABLE_LENGTH 1 | |
43 | #define CORE3_RST_SHIFT 16 | |
44 | #define CORE3_RST_LENGTH 1 | |
45 | #define CORE2_RST_SHIFT 15 | |
46 | #define CORE2_RST_LENGTH 1 | |
47 | #define CORE1_RST_SHIFT 14 | |
48 | #define CORE1_RST_LENGTH 1 | |
49 | #define CORE0_RST_SHIFT 13 | |
50 | #define CORE0_RST_LENGTH 1 | |
51 | #define SW_IPU1_RST_SHIFT 3 | |
52 | #define SW_IPU1_RST_LENGTH 1 | |
53 | #define SW_IPU2_RST_SHIFT 12 | |
54 | #define SW_IPU2_RST_LENGTH 1 | |
55 | #define WARM_RST_ENABLE_SHIFT 0 | |
56 | #define WARM_RST_ENABLE_LENGTH 1 | |
57 | ||
58 | #define EXTRACT(value, name) extract32(value, name##_SHIFT, name##_LENGTH) | |
59 | ||
60 | #define TYPE_IMX6_SRC "imx6.src" | |
8063396b | 61 | OBJECT_DECLARE_SIMPLE_TYPE(IMX6SRCState, IMX6_SRC) |
19830574 | 62 | |
db1015e9 | 63 | struct IMX6SRCState { |
19830574 JCD |
64 | /* <private> */ |
65 | SysBusDevice parent_obj; | |
66 | ||
67 | /* <public> */ | |
68 | MemoryRegion iomem; | |
69 | ||
70 | uint32_t regs[SRC_MAX]; | |
71 | ||
db1015e9 | 72 | }; |
19830574 JCD |
73 | |
74 | #endif /* IMX6_SRC_H */ |