|  | /* | 
|  | * MAX78000 True Random Number Generator | 
|  | * | 
|  | * Copyright (c) 2025 Jackson Donaldson <jcksn@duck.com> | 
|  | * | 
|  | * SPDX-License-Identifier: GPL-2.0-or-later | 
|  | */ | 
|  | #ifndef HW_MAX78000_TRNG_H | 
|  | #define HW_MAX78000_TRNG_H | 
|  |  | 
|  | #include "hw/sysbus.h" | 
|  | #include "qom/object.h" | 
|  |  | 
|  | #define TYPE_MAX78000_TRNG "max78000-trng" | 
|  | OBJECT_DECLARE_SIMPLE_TYPE(Max78000TrngState, MAX78000_TRNG) | 
|  |  | 
|  | #define CTRL 0 | 
|  | #define STATUS 4 | 
|  | #define DATA 8 | 
|  |  | 
|  | #define RND_IE (1 << 1) | 
|  |  | 
|  | struct Max78000TrngState { | 
|  | SysBusDevice parent_obj; | 
|  |  | 
|  | MemoryRegion mmio; | 
|  |  | 
|  | uint32_t ctrl; | 
|  | uint32_t status; | 
|  | uint32_t data; | 
|  |  | 
|  | qemu_irq irq; | 
|  | }; | 
|  |  | 
|  | #endif |