class Sdhci

Defined at line 33 of file ../../src/devices/block/drivers/sdhci/sdhci.h

Public Members

static const char[] kDriverName

Protected Members

optional regs_mmio_buffer_
optional regs_cqhci_mmio_buffer_
unique_ptr iobuf_

Public Methods

void Sdhci (fdf::DriverStartArgs start_args, fdf::UnownedSynchronizedDispatcher dispatcher)

Defined at line 58 of file ../../src/devices/block/drivers/sdhci/sdhci.h

uint32_t base_clock ()

Visible for testing.

Defined at line 113 of file ../../src/devices/block/drivers/sdhci/sdhci.h

zx::result<> Start ()

Defined at line 1705 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void PrepareStop (fdf::PrepareStopCompleter completer)

Defined at line 1841 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void HostInfo (fdf::Arena & arena, HostInfoCompleter::Sync & completer)

Defined at line 989 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void SetSignalVoltage (SetSignalVoltageRequestView request, fdf::Arena & arena, SetSignalVoltageCompleter::Sync & completer)

Defined at line 993 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void SetBusWidth (SetBusWidthRequestView request, fdf::Arena & arena, SetBusWidthCompleter::Sync & completer)

Defined at line 1064 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void SetBusFreq (SetBusFreqRequestView request, fdf::Arena & arena, SetBusFreqCompleter::Sync & completer)

Defined at line 1118 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void SetTiming (SetTimingRequestView request, fdf::Arena & arena, SetTimingCompleter::Sync & completer)

Defined at line 1174 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void HwReset (fdf::Arena & arena, HwResetCompleter::Sync & completer)

Defined at line 1241 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void PerformTuning (PerformTuningRequestView request, fdf::Arena & arena, PerformTuningCompleter::Sync & completer)

Defined at line 1292 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void RegisterInBandInterrupt (RegisterInBandInterruptRequestView request, fdf::Arena & arena, RegisterInBandInterruptCompleter::Sync & completer)

Defined at line 1349 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void AckInBandInterrupt (fdf::Arena & arena, AckInBandInterruptCompleter::Sync & completer)

Defined at line 1386 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void RegisterVmo (RegisterVmoRequestView request, fdf::Arena & arena, RegisterVmoCompleter::Sync & completer)

Defined at line 376 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void UnregisterVmo (UnregisterVmoRequestView request, fdf::Arena & arena, UnregisterVmoCompleter::Sync & completer)

Defined at line 431 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void Request (RequestRequestView request, fdf::Arena & arena, RequestCompleter::Sync & completer)

Defined at line 461 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void EnableCqhci (fdf::Arena & arena, EnableCqhciCompleter::Sync & completer)

Defined at line 477 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void DisableCqhci (fdf::Arena & arena, DisableCqhciCompleter::Sync & completer)

Defined at line 499 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void InitializeCommandQueueing (InitializeCommandQueueingRequestView request, fdf::Arena & arena, InitializeCommandQueueingCompleter::Sync & completer)

Defined at line 554 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

Protected Methods

zx_status_t WaitForReset (SoftwareReset mask)

Defined at line 123 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

RequestStatus GetRequestStatus ()

Defined at line 131 of file ../../src/devices/block/drivers/sdhci/sdhci.h

async_dispatcher_t * irq_dispatcher ()

Defined at line 160 of file ../../src/devices/block/drivers/sdhci/sdhci.h

void OnInterruptDelegateStopped ()

Resumes handling of the physical IRQ.

Defined at line 536 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void OnLifelineClosed (async_dispatcher_t * dispatcher, async::WaitBase * wait, zx_status_t status, const zx_packet_signal_t * signal)

Defined at line 525 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

zx_status_t InitMmio ()

Override to inject dependency for unit testing.

Defined at line 1623 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

zx_status_t InitCqhciMmio ()

Defined at line 1652 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

Enumerations

enum class RequestStatus
Name Value
IDLE 0
COMMAND 1
TRANSFER_DATA_DMA 2
READ_DATA_PIO 3
WRITE_DATA_PIO 4
BUSY_RESPONSE 5

All protected members are visible for testing.

Defined at line 117 of file ../../src/devices/block/drivers/sdhci/sdhci.h

Records