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