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