class AmlSdmmc

Defined at line 44 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.h

Public Members

static const char[] kDriverName
static const size_t kMaxDmaDescriptors
static const fuchsia_power_broker::PowerLevel kPowerLevelOff
static const fuchsia_power_broker::PowerLevel kPowerLevelOn

Protected Members

optional component_inspector_
SdmmcHostInfo dev_info_
bool power_suspended_
mutex lock_
mutex tuning_lock_

Public Methods

void AmlSdmmc ()

Defined at line 59 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.h

zx::result<> Start (fdf::DriverContext context)

Defined at line 68 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

void ~AmlSdmmc ()

Defined at line 74 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.h

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

Defined at line 99 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.h

void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_hardware_power::PowerTokenProvider> md, fidl::UnknownMethodCompleter::Sync & completer)

Defined at line 115 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.h

std::optional<fidl::ServerEnd<fuchsia_power_broker::ElementRunner>> take_power_element_runner ()

Used by fdf_power::Suspendable.

Defined at line 126 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.h

void Stop (fdf::StopCompleter completer)

Defined at line 1683 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

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

fuchsia_hardware_sdmmc::Sdmmc implementation

Defined at line 559 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

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

Defined at line 850 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

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

Defined at line 563 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

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

Defined at line 610 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

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

Defined at line 805 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

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

Defined at line 745 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

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

Defined at line 1290 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

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

Defined at line 604 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

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

Defined at line 1443 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

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

Defined at line 1485 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

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

Defined at line 1516 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

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

Defined at line 1539 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

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

Defined at line 1543 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

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

Defined at line 1547 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

void GetToken (GetTokenCompleter::Sync & completer)

fuchsia_hardware_power::PowerTokenProvider implementation

Defined at line 305 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

zx_status_t SuspendPower ()

Defined at line 651 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

zx_status_t ResumePower ()

Defined at line 683 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

void Suspend (fdf_power::SuspendCompleter completer)

fdf_power::Suspendable implementation

Defined at line 413 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

void Resume (fdf_power::ResumeCompleter completer)

Defined at line 418 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

bool SuspendEnabled ()

Defined at line 423 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

zx_status_t Init (const std::string & instance_identifier)

Visible for tests

Defined at line 1633 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

Protected Methods

std::optional<compat::DeviceServer::BanjoConfig> get_banjo_config ()

Defined at line 139 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.h

const zx::bti & bti ()

Visible for tests

Defined at line 158 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.h

const fdf::MmioBuffer & mmio ()

Defined at line 159 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.h

void * descs_buffer ()

Defined at line 163 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.h

zx_status_t WaitForInterruptImpl ()

Defined at line 425 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

void WaitForBus ()

Defined at line 1139 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

zx_status_t SetBusWidthImpl (fuchsia_hardware_sdmmc::wire::SdmmcBusWidth bus_width)

Defined at line 582 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

zx_status_t SetBusFreqImpl (uint32_t freq)

Defined at line 629 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

zx_status_t SetTimingImpl (fuchsia_hardware_sdmmc::wire::SdmmcTiming timing)

Defined at line 824 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

zx_status_t HwResetImpl ()

Defined at line 773 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

zx_status_t PerformTuningImpl (uint32_t tuning_cmd_idx)

Defined at line 1312 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

zx_status_t RequestImpl (const fuchsia_hardware_sdmmc::wire::SdmmcReq & req, uint32_t[4] out_response)

Defined at line 1567 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

zx_status_t RegisterVmoImpl (uint32_t vmo_id, uint8_t client_id, zx::vmo vmo, uint64_t offset, uint64_t size, fuchsia_hardware_sdmmc::wire::SdmmcVmoRight rights)

Defined at line 1454 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc

zx_status_t UnregisterVmoImpl (uint32_t vmo_id, uint8_t client_id, zx::vmo * out_vmo)

Defined at line 1496 of file ../../src/devices/block/drivers/aml-sdmmc/aml-sdmmc.cc