SLAA954 August 2020 – MONTH TAS2563
This section describes the sequence of programming by the device driver in the end system. The sequence of programming depends on the state in which the end system is currently in. Each state serves a specific purpose as listed below.
Case 1: Initialization - Programming TAS2563 for the first time
Case 2: Power up - Play audio content
Case 3: New Configuration - Reconfigure TAS2563 with same program and same PLL
Case 4: New Configuration and PLL - Reconfigure TAS2563 with same program and different PLL
Case 5: New Configuration and Program - Reconfigure TAS2563 with different program
Example device driver code is available with TI. Users can use the example driver to port to their platform.
The dumped .bin file has various definitions (see the following code snippet).
#define TAS2563_BLOCK_PLL 0x00
#define TAS2563_BLOCK_PGM_ALL 0x0d
#define TAS2563_BLOCK_PGM_DEV_A 0x01
#define TAS2563_BLOCK_PGM_DEV_B 0x08
#define TAS2563_BLOCK_CFG_COEFF_DEV_A 0x03
#define TAS2563_BLOCK_CFG_COEFF_DEV_B 0x0a
#define TAS2563_BLOCK_CFG_PRE_DEV_A 0x04
#define TAS2563_BLOCK_CFG_PRE_DEV_B 0x0b
#define TAS2563_BLOCK_CFG_POST 0x05
#define TAS2563_BLOCK_CFG_POST_POWER 0x06
Since TAS2563 supports different application (such as Mono and TAS2563 Dual-Mono system), it is possible that not all blocks are present in one application. If a block is not present, that step can be skipped.
For Section 3.1 through 3.5, please use the following annotation for device applications.
[A]: applies to device A
[B]: applies to device B
[AB] applies to both device A and B