xref: /openbmc/qemu/include/hw/isa/vt82c686.h (revision 745c2911cc0a20da2e3a1e96ba0ae42a5ad65773)
10d09e41aSPaolo Bonzini #ifndef HW_VT82C686_H
20d09e41aSPaolo Bonzini #define HW_VT82C686_H
30d09e41aSPaolo Bonzini 
4eb604411SBALATON Zoltan #include "hw/pci/pci_device.h"
5eb604411SBALATON Zoltan #include "audio/audio.h"
6a4d65b70SBALATON Zoltan 
70bfda9a2SBALATON Zoltan #define TYPE_VT82C686B_ISA "vt82c686b-isa"
865c69e9aSBernhard Beschow #define TYPE_VT82C686B_USB_UHCI "vt82c686b-usb-uhci"
9f9f0c9e2SBALATON Zoltan #define TYPE_VT8231_ISA "vt8231-isa"
1007c6832cSBALATON Zoltan #define TYPE_VIA_AC97 "via-ac97"
114b8fd066SBernhard Beschow #define TYPE_VIA_IDE "via-ide"
1207c6832cSBALATON Zoltan #define TYPE_VIA_MC97 "via-mc97"
1398cf824bSPhilippe Mathieu-Daudé 
14eb604411SBALATON Zoltan typedef struct {
15eb604411SBALATON Zoltan     uint8_t stat;
16eb604411SBALATON Zoltan     uint8_t type;
17eb604411SBALATON Zoltan     uint32_t base;
18eb604411SBALATON Zoltan     uint32_t curr;
19eb604411SBALATON Zoltan     uint32_t addr;
20eb604411SBALATON Zoltan     uint32_t clen;
21eb604411SBALATON Zoltan } ViaAC97SGDChannel;
22eb604411SBALATON Zoltan 
23eb604411SBALATON Zoltan OBJECT_DECLARE_SIMPLE_TYPE(ViaAC97State, VIA_AC97);
24eb604411SBALATON Zoltan 
25eb604411SBALATON Zoltan struct ViaAC97State {
26eb604411SBALATON Zoltan     PCIDevice dev;
27eb604411SBALATON Zoltan     QEMUSoundCard card;
28eb604411SBALATON Zoltan     MemoryRegion sgd;
29eb604411SBALATON Zoltan     MemoryRegion fm;
30eb604411SBALATON Zoltan     MemoryRegion midi;
31eb604411SBALATON Zoltan     SWVoiceOut *vo;
32eb604411SBALATON Zoltan     ViaAC97SGDChannel aur;
33eb604411SBALATON Zoltan     uint16_t codec_regs[128];
34eb604411SBALATON Zoltan     uint32_t ac97_cmd;
35eb604411SBALATON Zoltan };
36eb604411SBALATON Zoltan 
37*7e01bd80SBALATON Zoltan void via_isa_set_irq(PCIDevice *d, int n, int level);
38*7e01bd80SBALATON Zoltan 
390d09e41aSPaolo Bonzini #endif
40