Hi Ray,
From the HW perspective, I don’t see any problem on the schematic. Just please confirm if the ADUDIO_1V8 voltage connected to VDDD pin of the codec is generated from the SGTL5000 device or if is generated by an external regulator. Because of the 100nF capacitor connected in this pin, I’m thinking the voltage is generated by an external regulator, which is correct.
I ask because of the issues with VDDD regulator and why is recommended for new designs to power it externally, you can find the document in the following link: https://www.nxp.com/docs/en/errata/SGTL5000ER.pdf
Now, regarding the SW configuration:
According to your SSS_CTRL->DAC_SELECT = 0x1 = I2S_IN configuration, you are bypassing DAP and connecting the I2S input directly to the DAC.
When I2S IN -> DAC -> LINEOUT route is selected, output Level (when VDDIO and VDDA are 3.3V) is 1.0 Vrms.
Power up the digital and Analog interfaces used (I2S_IN and DAC) using the following bits:
* CHIP_DIG_POWER 0x0002
To power up the I2S_IN (I2S_IN_POWERUP - Bit 0) and the DAC (DAC_POWERUP – bit 5)
* CHIP_ANA_POWER 0x0030
To power up the DAC use DAC_POWERUP
Some extra configuration is needed in the DAC to complete the setting:
The DAC output has a digital volume control from -90 dB to 0 dB in ~0.5 dB step sizes. The register CHIP_DAC_VOL controls the DAC volume.
The line output has a dedicated gain stage that can be used to adjust the output level. The CHIP_LINE_OUT_VOL controls the line level output gain.
The line outputs also have a dedicated mute that is controlled by the register field CHIP_ANA_CTRL- >MUTE_LO, you need to make sure it is not activated for your application.
You can find an example about how to initialize the SGTL5000 in the following link: https://www.nxp.com/docs/en/application-note/AN3663.pdf
Regards,
Reyes