qemu/include/hw/misc/imx6_src.h
<<
>>
Prefs
   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"
  16
  17#define SRC_SCR 0
  18#define SRC_SBMR1 1
  19#define SRC_SRSR 2
  20#define SRC_SISR 5
  21#define SRC_SIMR 6
  22#define SRC_SBMR2 7
  23#define SRC_GPR1 8
  24#define SRC_GPR2 9
  25#define SRC_GPR3 10
  26#define SRC_GPR4 11
  27#define SRC_GPR5 12
  28#define SRC_GPR6 13
  29#define SRC_GPR7 14
  30#define SRC_GPR8 15
  31#define SRC_GPR9 16
  32#define SRC_GPR10 17
  33#define SRC_MAX 18
  34
  35/* SRC_SCR */
  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
  56
  57#define EXTRACT(value, name) extract32(value, name##_SHIFT, name##_LENGTH)
  58
  59#define TYPE_IMX6_SRC "imx6.src"
  60#define IMX6_SRC(obj) OBJECT_CHECK(IMX6SRCState, (obj), TYPE_IMX6_SRC)
  61
  62typedef struct IMX6SRCState {
  63    /* <private> */
  64    SysBusDevice parent_obj;
  65
  66    /* <public> */
  67    MemoryRegion iomem;
  68
  69    uint32_t regs[SRC_MAX];
  70
  71} IMX6SRCState;
  72
  73#endif /* IMX6_SRC_H */
  74