SLAA954 August 2020 – MONTH TAS2563
Programming TAS2563 for the first time
Use case: device initialization during system boot up
Status: DSP program memory and coefficient memory are empty. Assuming configuration 0 is the default tuning data.
Steps to playback:
Hardware reset the device
It is strongly recommended to hardware reset the device for reliable operation before initialization
Software reset the device
It is strongly recommended to software reset the device for reliable operation before initialization
Initialization
This code is not part of the binary file. The purpose of this step is to format ASI selection, IRQ configuration, and other relevant system configurations For both TAS2563 Mono and Stereo application:
[A] See TAS2563 Mono/Stereo Driver
int tas2563_load_default(struct tas2563_priv *pTAS2563)
[AB] See TAS2563 Mono/Stereo Driver
int tas2563_load_default(struct tas2563_priv *pTAS2563)
Download the Program
[AB] Load TAS2563_BLOCK_PGM_ALL of configuration 0 in broadcasting mode
[A] Load TAS2563_BLOCK_PGM_DEV_A of configuration 0
[B] Load TAS2563_BLOCK_PGM_DEV_B of configuration 0
Download PLL
For TAS2563 Mono application:
[A] Load TAS2563_BLOCK_PLL of configuration 0
For TAS2563 Stereo application:
[AB] Load TAS2563_BLOCK_PLL of configuration 0
Download the pre-data of the configuration
[A] Load TAS2563_BLOCK_CFG_PRE_DEV_A of configuration 0
[B] Load TAS2563_BLOCK_CFG_PRE_DEV_B of configuration 0
Download the coefficient
[A] Load TAS2563_BLOCK_CFG_COEFF_DEV_A of configuration 0
[B] Load TAS2563_BLOCK_CFG_COEFF_DEV_B of configuration 0
Download calibration data if present
[A] Load TAS2563_BLOCK_CFG_CAL_A of configuration 0
[B] Load TAS2563_BLOCK_CFG_CAL_B of configuration 0
Initialization Complete; Proceed to next step for Audio Playback
Feed the PLL clock. Audio stream may start any time after this step
[A/AB] Unmute; This code is not part of the binary file.
static int tas2563_mute(struct snd_soc_dai *dai, int mute)
Steps to sleep:
[AB] mute and shutdown TAS2563; This code is not part of the binary file.
static int tas2563_mute(struct snd_soc_dai *dai, int mute)
Turn off PLL Clock