struct Driver
Defined at line 25 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
Public Members
static array kDevicetreeBindings
static basic_string_view kConfigName
static IoRegisterType kIoType
static const uint32_t kType
static const uint32_t kExtra
Public Methods
std::optional<uart::Config<Driver>> TryMatch (const zbi_header_t & header, const void * )
Defined at line 34 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
std::optional<uart::Config<Driver>> TryMatch (const acpi_lite::AcpiDebugPortDescriptor & debug_port)
Defined at line 38 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
std::optional<uart::Config<Driver>> TryMatch (std::string_view str)
Defined at line 43 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
std::optional<uart::Config<Driver>> TryMatch (std::string_view str)
Defined at line 43 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
bool TrySelect (const devicetree::PropertyDecoder & decoder)
Defined at line 50 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
void Driver ()
Defined at line 52 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
void Driver (const config_type & config)
Defined at line 53 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
template <derived_from<Driver> T>
void Driver (const Config<T> & tagged_config)
Defined at line 56 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
bool operator== (const Driver & other)
Defined at line 58 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
bool operator!= (const Driver & other)
Defined at line 59 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
void FillItem (void * )
Defined at line 61 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
bool MatchDevicetree (const devicetree::PropertyDecoder & )
API to match devicetree node compatible list.
Defined at line 64 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
void Unparse (FILE * out)
Defined at line 66 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
void Unparse (FILE * out)
Defined at line 66 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
template <typename IoProvider>
void Init (IoProvider & io)
uart::KernelDriver UartDriver API
Each method is a template parameterized by an IoProvider type for
accessing the hardware registers so that real Driver types can be used
with hwreg::Mock in tests independent of actual hardware access. The
null Driver never uses the `io` arguments.
Defined at line 78 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
template <class IoProvider>
void SetLineControl (IoProvider & io, std::optional<DataBits> data_bits, std::optional<Parity> parity, std::optional<StopBits> stop_bits)
Defined at line 81 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
template <class IoProvider>
void SetLineControl (IoProvider & io, std::optional<DataBits> data_bits, std::optional<Parity> parity, std::optional<StopBits> stop_bits)
Defined at line 81 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
template <typename IoProvider>
bool TxReady (IoProvider & io)
Return true if Write can make forward progress right now.
Defined at line 86 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
template <typename IoProvider, typename It1, typename It2>
auto Write (IoProvider & io, bool , It1 it, const It2 & end)
This is called only when TxReady() has just returned true. Advance
the iterator at least one and as many as is convenient but not past
end, outputting each character before advancing.
Defined at line 94 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
template <typename IoProvider>
std::optional<uint8_t> Read (IoProvider & io)
Poll for an incoming character and return one if there is one.
Defined at line 100 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
template <typename IoProvider>
std::optional<uint8_t> Read (IoProvider & io)
Poll for an incoming character and return one if there is one.
Defined at line 100 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
template <typename IoProvider>
void EnableTxInterrupt (IoProvider & io)
Enable transmit interrupts so Interrupt will be called when TxReady().
Defined at line 106 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
template <typename IoProvider>
void EnableRxInterrupt (IoProvider & io)
Enable receive interrupts so Interrupt will be called when RxReady().
Defined at line 110 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
template <typename IoProvider, typename IrqProvider>
void InitInterrupt (IoProvider & io, IrqProvider & irq)
Set the UART up to deliver interrupts. This is called after Init.
Defined at line 114 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
template <typename IoProvider, typename Lock, typename Waiter, typename Tx, typename Rx>
void Interrupt (IoProvider & , Lock & , Waiter & , Tx && , Rx && )
Defined at line 117 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
template <typename IoProvider, typename IrqProvider>
void PrepareForSuspend (IoProvider & io, IrqProvider & irq)
Defined at line 120 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
template <typename IoProvider, typename IrqProvider>
void WakeupFromSuspend (IoProvider & io, IrqProvider & irq)
Defined at line 123 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
config_type config ()
This tells the IoProvider what device resources to provide.
Defined at line 126 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h
size_t io_slots ()
Defined at line 127 of file ../../zircon/system/ulib/uart/include/lib/uart/null.h