class AmlTdmDevice

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

Public Methods

void AmlTdmDevice (AmlTdmDevice && )

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

void AmlTdmDevice (const AmlTdmDevice & )

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

uint32_t GetBufferAlignment ()

Get HW alignment required in the buffer in bytes.

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

std::unique_ptr<AmlTdmDevice> Create (fdf::MmioBuffer mmio, ee_audio_mclk_src_t src, aml_tdm_out_t tdm, aml_frddr_t frddr, aml_tdm_mclk_t mclk, metadata::AmlVersion version)
zx_status_t SetMclkDiv (uint32_t div)

Configure an mclk channel divider

Defined at line 40 of file ../../src/devices/lib/amlogic/aml-tdm-audio.cc

zx_status_t SetSclkDiv (uint32_t sdiv, uint32_t lrduty, uint32_t lrdiv, bool sclk_invert_ph0)

Configure an sclk/lclk generator block

Defined at line 72 of file ../../src/devices/lib/amlogic/aml-tdm-audio.cc

zx_status_t SetMClkPad (aml_tdm_mclk_pad_t mclk_pad)

Configures the mclk pad.

Defined at line 99 of file ../../src/devices/lib/amlogic/aml-tdm-audio.cc

zx_status_t SetSclkPad (aml_tdm_sclk_pad_t sclk_pad, bool is_custom_select)

Configures the sclk / lrclk pad.

zx_status_t SetDatPad (aml_tdm_dat_pad_t tdm_pin, aml_tdm_dat_lane_t dat_lane)

configure the data pad.

void ConfigTdmSlot (uint8_t bit_offset, uint8_t num_slots, uint8_t bits_per_slot, uint8_t bits_per_sample, uint8_t mix_mask, bool i2s_mode)

Configures placement of data on the tdm bus

zx_status_t ConfigTdmLane (size_t lane, uint32_t enable_mask, uint32_t mute_mask)

Configures Lanes.

void ConfigTdmSwaps (uint32_t swaps)

Configures TDM swaps.

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.

uint32_t GetRingPosition ()

Returns offset of dma pointer in the ring buffer.

uint32_t GetDmaStatus ()

Returns DMA status bits.

uint32_t GetTdmStatus ()

Returns TDM status bits.

uint64_t Start ()

Resets state of dma mechanisms and starts clocking data

onto/from tdm bus with data fetched from beginning of buffer.

void Stop ()

Stops clocking data out/in on/from the TDM bus (physical tdm bus signals remain active).

void Sync ()

Synchronize the state of TDM bus signals with fifo/dma engine.

void Initialize ()

Start clocking, configure the DDR and TDM interfaces.

void Shutdown ()

Stops the clocking data, shuts down the DDR interface, and quiets output signals.

uint32_t fifo_depth ()
const fdf::MmioBuffer & GetMmio ()
AmlTdmDevice & operator= (AmlTdmDevice && )

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

AmlTdmDevice & operator= (const AmlTdmDevice & )

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

Protected Methods

void AmlTdmDevice (aml_tdm_mclk_t mclk_ch, const ee_audio_mclk_src_t clk_src, const metadata::AmlVersion version)

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

void InitMclk ()

Defined at line 11 of file ../../src/devices/lib/amlogic/aml-tdm-audio.cc

void InitMstPad ()
void ~AmlTdmDevice ()

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

void AudioClkEna (uint32_t audio_blk_mask)

Defined at line 169 of file ../../src/devices/lib/amlogic/aml-tdm-audio.cc

void AudioClkDis (uint32_t audio_blk_mask)

Defined at line 173 of file ../../src/devices/lib/amlogic/aml-tdm-audio.cc

Friends

class default_delete