2018-02-09 13:40:30 +03:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2017, Impinj, Inc.
|
|
|
|
*
|
|
|
|
* i.MX7 SNVS block emulation code
|
|
|
|
*
|
|
|
|
* Author: Andrey Smirnov <andrew.smirnov@gmail.com>
|
|
|
|
*
|
|
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
|
|
* See the COPYING file in the top-level directory.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef IMX7_SNVS_H
|
|
|
|
#define IMX7_SNVS_H
|
|
|
|
|
|
|
|
#include "qemu/bitops.h"
|
|
|
|
#include "hw/sysbus.h"
|
2020-09-03 23:43:22 +03:00
|
|
|
#include "qom/object.h"
|
2018-02-09 13:40:30 +03:00
|
|
|
|
|
|
|
|
|
|
|
enum IMX7SNVSRegisters {
|
|
|
|
SNVS_LPCR = 0x38,
|
|
|
|
SNVS_LPCR_TOP = BIT(6),
|
2023-12-19 20:57:50 +03:00
|
|
|
SNVS_LPCR_DP_EN = BIT(5),
|
|
|
|
SNVS_LPSRTCMR = 0x050, /* Secure Real Time Counter MSB Register */
|
|
|
|
SNVS_LPSRTCLR = 0x054, /* Secure Real Time Counter LSB Register */
|
2018-02-09 13:40:30 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
#define TYPE_IMX7_SNVS "imx7.snvs"
|
2020-09-16 21:25:19 +03:00
|
|
|
OBJECT_DECLARE_SIMPLE_TYPE(IMX7SNVSState, IMX7_SNVS)
|
2018-02-09 13:40:30 +03:00
|
|
|
|
2020-09-03 23:43:22 +03:00
|
|
|
struct IMX7SNVSState {
|
2018-02-09 13:40:30 +03:00
|
|
|
/* <private> */
|
|
|
|
SysBusDevice parent_obj;
|
|
|
|
|
|
|
|
MemoryRegion mmio;
|
2023-12-19 20:57:50 +03:00
|
|
|
|
|
|
|
uint64_t tick_offset;
|
|
|
|
uint64_t lpcr;
|
2020-09-03 23:43:22 +03:00
|
|
|
};
|
2018-02-09 13:40:30 +03:00
|
|
|
|
|
|
|
#endif /* IMX7_SNVS_H */
|