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 1707 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

void PrepareStop (fdf::PrepareStopCompleter completer)

Defined at line 1845 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 1065 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Protected Methods

zx_status_t WaitForReset (SoftwareReset mask)

Defined at line 122 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 535 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 524 of file ../../src/devices/block/drivers/sdhci/sdhci.cc

zx_status_t InitMmio ()

Override to inject dependency for unit testing.

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

zx_status_t InitCqhciMmio ()

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

Enumerations

enum 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