xref: /qemu/include/hw/fsi/fsi-master.h (revision fc524567087c2537b5103cdfc1d41e4f442892b6)
1ca033107SNinad Palsule /*
2ca033107SNinad Palsule  * SPDX-License-Identifier: GPL-2.0-or-later
3ca033107SNinad Palsule  * Copyright (C) 2024 IBM Corp.
4ca033107SNinad Palsule  *
5ca033107SNinad Palsule  * IBM Flexible Service Interface Master
6ca033107SNinad Palsule  */
7ca033107SNinad Palsule #ifndef FSI_FSI_MASTER_H
8ca033107SNinad Palsule #define FSI_FSI_MASTER_H
9ca033107SNinad Palsule 
10*8be545baSRichard Henderson #include "system/memory.h"
11ca033107SNinad Palsule #include "hw/qdev-core.h"
12ca033107SNinad Palsule #include "hw/fsi/fsi.h"
13ca033107SNinad Palsule #include "hw/fsi/cfam.h"
14ca033107SNinad Palsule 
15ca033107SNinad Palsule #define TYPE_FSI_MASTER "fsi.master"
16ca033107SNinad Palsule OBJECT_DECLARE_SIMPLE_TYPE(FSIMasterState, FSI_MASTER)
17ca033107SNinad Palsule 
18ca033107SNinad Palsule #define FSI_MASTER_NR_REGS ((0x2e0 >> 2) + 1)
19ca033107SNinad Palsule 
20ca033107SNinad Palsule typedef struct FSIMasterState {
21ca033107SNinad Palsule     DeviceState parent;
22ca033107SNinad Palsule     MemoryRegion iomem;
23ca033107SNinad Palsule     MemoryRegion opb2fsi;
24ca033107SNinad Palsule 
25ca033107SNinad Palsule     FSIBus bus;
26ca033107SNinad Palsule 
27ca033107SNinad Palsule     uint32_t regs[FSI_MASTER_NR_REGS];
28ca033107SNinad Palsule     FSICFAMState cfam;
29ca033107SNinad Palsule } FSIMasterState;
30ca033107SNinad Palsule 
31ca033107SNinad Palsule 
32ca033107SNinad Palsule #endif /* FSI_FSI_H */
33