qemu/include/hw/misc/aspeed_hace.h
<<
>>
Prefs
   1/*
   2 * ASPEED Hash and Crypto Engine
   3 *
   4 * Copyright (C) 2021 IBM Corp.
   5 *
   6 * SPDX-License-Identifier: GPL-2.0-or-later
   7 */
   8
   9#ifndef ASPEED_HACE_H
  10#define ASPEED_HACE_H
  11
  12#include "hw/sysbus.h"
  13
  14#define TYPE_ASPEED_HACE "aspeed.hace"
  15#define TYPE_ASPEED_AST2400_HACE TYPE_ASPEED_HACE "-ast2400"
  16#define TYPE_ASPEED_AST2500_HACE TYPE_ASPEED_HACE "-ast2500"
  17#define TYPE_ASPEED_AST2600_HACE TYPE_ASPEED_HACE "-ast2600"
  18OBJECT_DECLARE_TYPE(AspeedHACEState, AspeedHACEClass, ASPEED_HACE)
  19
  20#define ASPEED_HACE_NR_REGS (0x64 >> 2)
  21
  22struct AspeedHACEState {
  23    SysBusDevice parent;
  24
  25    MemoryRegion iomem;
  26    qemu_irq irq;
  27
  28    uint32_t regs[ASPEED_HACE_NR_REGS];
  29
  30    MemoryRegion *dram_mr;
  31    AddressSpace dram_as;
  32};
  33
  34
  35struct AspeedHACEClass {
  36    SysBusDeviceClass parent_class;
  37
  38    uint32_t src_mask;
  39    uint32_t dest_mask;
  40    uint32_t hash_mask;
  41};
  42
  43#endif /* _ASPEED_HACE_H_ */
  44