struct Driver

Defined at line 245 of file ../../zircon/system/ulib/uart/include/lib/uart/dw8250.h

This provides the actual driver logic common to MMIO and PIO variants.

Public Members

static basic_string_view kConfigName
static const auto kDevicetreeBindings

Protected Members

uint32_t fifo_depth_
bool thre_mode_
bool fifo_stat_

Public Methods

template <typename... Args>
void Driver (Args &&... args)

Defined at line 256 of file ../../zircon/system/ulib/uart/include/lib/uart/dw8250.h

bool TrySelect (const devicetree::PropertyDecoder & decoder)

Defined at line 258 of file ../../zircon/system/ulib/uart/include/lib/uart/dw8250.h

template <class IoProvider>
void Init (IoProvider & io)

Defined at line 274 of file ../../zircon/system/ulib/uart/include/lib/uart/dw8250.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 329 of file ../../zircon/system/ulib/uart/include/lib/uart/dw8250.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 329 of file ../../zircon/system/ulib/uart/include/lib/uart/dw8250.h

template <class IoProvider>
bool TxReady (IoProvider & io)

Defined at line 387 of file ../../zircon/system/ulib/uart/include/lib/uart/dw8250.h

template <class IoProvider, typename It1, typename It2>
auto Write (IoProvider & io, bool , It1 it, const It2 & end)

Defined at line 403 of file ../../zircon/system/ulib/uart/include/lib/uart/dw8250.h

template <class IoProvider>
std::optional<uint8_t> Read (IoProvider & io)

Defined at line 430 of file ../../zircon/system/ulib/uart/include/lib/uart/dw8250.h

template <class IoProvider>
std::optional<uint8_t> Read (IoProvider & io)

Defined at line 430 of file ../../zircon/system/ulib/uart/include/lib/uart/dw8250.h

template <class IoProvider>
void EnableTxInterrupt (IoProvider & io, bool enable)

Defined at line 438 of file ../../zircon/system/ulib/uart/include/lib/uart/dw8250.h

template <class IoProvider>
void EnableRxInterrupt (IoProvider & io, bool enable)

Defined at line 444 of file ../../zircon/system/ulib/uart/include/lib/uart/dw8250.h

template <typename IoProvider, typename IrqProvider>
void InitInterrupt (IoProvider & io, IrqProvider & irq)

Defined at line 450 of file ../../zircon/system/ulib/uart/include/lib/uart/dw8250.h

template <class IoProvider, typename Lock, typename Waiter, typename Tx, typename Rx>
void Interrupt (IoProvider & io, Lock & lock, Waiter & waiter, Tx && tx, Rx && rx)

Defined at line 461 of file ../../zircon/system/ulib/uart/include/lib/uart/dw8250.h

template <class IoProvider>
void WaitDuringBusy (IoProvider & io)

Defined at line 519 of file ../../zircon/system/ulib/uart/include/lib/uart/dw8250.h