class AmlPdmDevice

Defined at line 22 of file ../../src/devices/lib/amlogic/include/soc/aml-common/aml-pdm-audio.h

Presently assumes stereo input with both streams multiplexed on the same

PDM input line. (TODO: support up to 8 channels to refactor gauss to use this)

Public Methods

void AmlPdmDevice (const AmlPdmDevice & )

Defined at line 24 of file ../../src/devices/lib/amlogic/include/soc/aml-common/aml-pdm-audio.h

void AmlPdmDevice (AmlPdmDevice && )

Defined at line 24 of file ../../src/devices/lib/amlogic/include/soc/aml-common/aml-pdm-audio.h

AmlPdmDevice & operator= (const AmlPdmDevice & )

Defined at line 24 of file ../../src/devices/lib/amlogic/include/soc/aml-common/aml-pdm-audio.h

AmlPdmDevice & operator= (AmlPdmDevice && )

Defined at line 24 of file ../../src/devices/lib/amlogic/include/soc/aml-common/aml-pdm-audio.h

uint32_t GetBufferAlignment ()

Get HW alignment required in the buffer in bytes.

Defined at line 36 of file ../../src/devices/lib/amlogic/include/soc/aml-common/aml-pdm-audio.h

std::unique_ptr<AmlPdmDevice> Create (fdf::MmioBuffer pdm_mmio, fdf::MmioBuffer audio_mmio, fdf::MmioBuffer audio2_mmio, ee_audio_mclk_src_t pdm_clk_src, uint32_t sclk_div, uint32_t dclk_div, aml_toddr_t toddr_dev, metadata::AmlVersion version)

static

Defined at line 57 of file ../../src/devices/lib/amlogic/aml-pdm-audio.cc

uint32_t fifo_depth ()

Defined at line 77 of file ../../src/devices/lib/amlogic/include/soc/aml-common/aml-pdm-audio.h

zx_status_t SetBuffer (zx_paddr_t buf, size_t len)

Sets the buffer/length pointers for dma engine

must resize in lower 32-bits of address space

Defined at line 309 of file ../../src/devices/lib/amlogic/aml-pdm-audio.cc

uint32_t GetRingPosition ()

Returns offset of dma pointer in the ring buffer

Defined at line 289 of file ../../src/devices/lib/amlogic/aml-pdm-audio.cc

uint32_t GetDmaStatus ()

Returns DMA status bits

Defined at line 295 of file ../../src/devices/lib/amlogic/aml-pdm-audio.cc

uint32_t GetPdmStatus ()

Returns PDM status bits

Defined at line 299 of file ../../src/devices/lib/amlogic/aml-pdm-audio.cc

uint64_t Start ()

Resets state of dma mechanisms and starts clocking data

in from pdm bus with data written to start of ring buffer

Defined at line 389 of file ../../src/devices/lib/amlogic/aml-pdm-audio.cc

void Stop ()

Stops clocking stat in off PDM bus

(physical pdm bus signals remain active)

Defined at line 400 of file ../../src/devices/lib/amlogic/aml-pdm-audio.cc

void Sync ()

Synchronize the state of PDM bus signals with fifo/dma engine

Defined at line 380 of file ../../src/devices/lib/amlogic/aml-pdm-audio.cc

void SetMute (uint8_t mute_mask)

Defined at line 280 of file ../../src/devices/lib/amlogic/aml-pdm-audio.cc

void Shutdown ()

shuts down toddr, stops writing data to ring buffer

Defined at line 405 of file ../../src/devices/lib/amlogic/aml-pdm-audio.cc

void ConfigPdmIn (uint8_t mask)

Takes channels out of reset and enables them.

Defined at line 364 of file ../../src/devices/lib/amlogic/aml-pdm-audio.cc

void SetRate (uint32_t frames_per_second)

Defined at line 284 of file ../../src/devices/lib/amlogic/aml-pdm-audio.cc

Protected Methods

void AmlPdmDevice (fdf::MmioBuffer pdm_mmio, fdf::MmioBuffer audio_mmio, fdf::MmioBuffer audio2_mmio, ee_audio_mclk_src_t clk_src, uint32_t sysclk_div, uint32_t dclk_div, aml_toddr_t toddr, uint32_t fifo_depth, metadata::AmlVersion version)

Defined at line 84 of file ../../src/devices/lib/amlogic/include/soc/aml-common/aml-pdm-audio.h

void ~AmlPdmDevice ()

Defined at line 98 of file ../../src/devices/lib/amlogic/include/soc/aml-common/aml-pdm-audio.h

Friends

class default_delete