2 * IMX6 System Reset Controller
4 * Copyright (C) 2012 NICTA
5 * Updated by Jean-Christophe Dubois <jcd@tribudubois.net>
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.
14 #include "hw/sysbus.h"
15 #include "qemu/bitops.h"
36 #define CORE3_ENABLE_SHIFT 24
37 #define CORE3_ENABLE_LENGTH 1
38 #define CORE2_ENABLE_SHIFT 23
39 #define CORE2_ENABLE_LENGTH 1
40 #define CORE1_ENABLE_SHIFT 22
41 #define CORE1_ENABLE_LENGTH 1
42 #define CORE3_RST_SHIFT 16
43 #define CORE3_RST_LENGTH 1
44 #define CORE2_RST_SHIFT 15
45 #define CORE2_RST_LENGTH 1
46 #define CORE1_RST_SHIFT 14
47 #define CORE1_RST_LENGTH 1
48 #define CORE0_RST_SHIFT 13
49 #define CORE0_RST_LENGTH 1
50 #define SW_IPU1_RST_SHIFT 3
51 #define SW_IPU1_RST_LENGTH 1
52 #define SW_IPU2_RST_SHIFT 12
53 #define SW_IPU2_RST_LENGTH 1
54 #define WARM_RST_ENABLE_SHIFT 0
55 #define WARM_RST_ENABLE_LENGTH 1
57 #define EXTRACT(value, name) extract32(value, name##_SHIFT, name##_LENGTH)
59 #define TYPE_IMX6_SRC "imx6.src"
60 #define IMX6_SRC(obj) OBJECT_CHECK(IMX6SRCState, (obj), TYPE_IMX6_SRC)
62 typedef struct IMX6SRCState
{
64 SysBusDevice parent_obj
;
69 uint32_t regs
[SRC_MAX
];
73 #endif /* IMX6_SRC_H */