From 61eba47cfbc63882ad15465908e664c39ea72647 Mon Sep 17 00:00:00 2001 From: yz70s Date: Thu, 20 Apr 2017 00:01:22 +0200 Subject: [PATCH] pci-usb.cpp: add placeholder for OHCI device (nw) --- src/devices/machine/pci-usb.cpp | 20 ++++++++++++++++++++ src/devices/machine/pci-usb.h | 16 ++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/src/devices/machine/pci-usb.cpp b/src/devices/machine/pci-usb.cpp index f2f714e4612..1bcdeb0e72a 100644 --- a/src/devices/machine/pci-usb.cpp +++ b/src/devices/machine/pci-usb.cpp @@ -3,9 +3,29 @@ #include "emu.h" #include "pci-usb.h" +const device_type USB_OHCI = device_creator; const device_type USB_UHCI = device_creator; const device_type USB_EHCI = device_creator; +DEVICE_ADDRESS_MAP_START(map, 32, usb_ohci_device) +ADDRESS_MAP_END + +usb_ohci_device::usb_ohci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : pci_device(mconfig, USB_OHCI, "USB 1.1 OHCI interface", tag, owner, clock, "usb_ohci", __FILE__) +{ +} + +void usb_ohci_device::device_start() +{ + pci_device::device_start(); + add_map(4096, M_MEM, FUNC(usb_ohci_device::map)); +} + +void usb_ohci_device::device_reset() +{ + pci_device::device_reset(); +} + DEVICE_ADDRESS_MAP_START(map, 32, usb_uhci_device) ADDRESS_MAP_END diff --git a/src/devices/machine/pci-usb.h b/src/devices/machine/pci-usb.h index 49b94200bb8..2fc5b3ef396 100644 --- a/src/devices/machine/pci-usb.h +++ b/src/devices/machine/pci-usb.h @@ -5,12 +5,27 @@ #include "pci.h" +#define MCFG_USB_OHCI_ADD(_tag, _main_id, _revision, _subdevice_id) \ + MCFG_PCI_DEVICE_ADD(_tag, USB_OHCI, _main_id, _revision, 0x0c0310, _subdevice_id) + #define MCFG_USB_UHCI_ADD(_tag, _main_id, _revision, _subdevice_id) \ MCFG_PCI_DEVICE_ADD(_tag, USB_UHCI, _main_id, _revision, 0x0c0300, _subdevice_id) #define MCFG_USB_EHCI_ADD(_tag, _main_id, _revision, _subdevice_id) \ MCFG_PCI_DEVICE_ADD(_tag, USB_EHCI, _main_id, _revision, 0x0c0320, _subdevice_id) +class usb_ohci_device : public pci_device { +public: + usb_ohci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + +protected: + virtual void device_start() override; + virtual void device_reset() override; + +private: + DECLARE_ADDRESS_MAP(map, 32); +}; + class usb_uhci_device : public pci_device { public: usb_uhci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); @@ -35,6 +50,7 @@ private: DECLARE_ADDRESS_MAP(map, 32); }; +extern const device_type USB_OHCI; extern const device_type USB_UHCI; extern const device_type USB_EHCI;