9#ifndef _LIBQBOX_COMPONENTS_UART_16550_H 
   10#define _LIBQBOX_COMPONENTS_UART_16550_H 
   12#include <cci_configuration> 
   14#include <module_factory_registery.h> 
   17#include <ports/target.h> 
   18#include <ports/qemu-initiator-signal-socket.h> 
   25    cci::cci_param<unsigned int> p_baudbase;
 
   26    cci::cci_param<unsigned int> p_regshift;
 
   32    uart_16550(
const sc_core::sc_module_name& name, sc_core::sc_object* 
o)
 
   38        , p_baudbase(
"baudbase", 38400000,
 
   39                     "Base frequency from which the baudrate " 
   41        , p_regshift(
"regshift", 2,
 
   42                     "Shift to apply to the MMIO register map " 
   43                     "(2 means one reg = 32 bits)")
 
   49    void before_end_of_elaboration()
 override 
   51        QemuDevice::before_end_of_elaboration();
 
   53        m_dev.set_prop_int(
"baudbase", p_baudbase);
 
   54        m_dev.set_prop_int(
"regshift", p_regshift);
 
   57        m_chardev = m_inst.
get().chardev_new(
"uart", 
"stdio");
 
   58        m_dev.set_prop_chardev(
"chardev", m_chardev);
 
   61    void end_of_elaboration()
 override 
   63        QemuDevice::set_sysbus_as_parent_bus();
 
   64        QemuDevice::end_of_elaboration();
 
 
   73extern "C" void module_register();
 
QEMU device abstraction as a SystemC module.
Definition device.h:37
A QEMU output GPIO exposed as a InitiatorSignalSocket<bool>
Definition qemu-initiator-signal-socket.h:40
void init_sbd(qemu::SysBusDevice sbd, int gpio_idx)
Initialize this socket with a QEMU SysBusDevice, and a GPIO index.
Definition qemu-initiator-signal-socket.h:173
This class encapsulates a libqemu-cxx qemu::LibQemu instance. It handles QEMU parameters and instance...
Definition qemu-instance.h:89
qemu::LibQemu & get()
Returns the underlying qemu::LibQemu instance.
Definition qemu-instance.h:463
Definition libqemu-cxx.h:731
Definition libqemu-cxx.h:627