This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TAS5815: TAS5802: amplifier doesn't power up when I play sound through it

Part Number: TAS5815
Other Parts Discussed in Thread: AM625

Tool/software:

Hi, 

Apologies for not tagging the correct part. This question is about the TAS5802 but I am unable to find this part in the form when creating the question.

I am working on a custom board running the AM625 and the TAS5802. The integration details can be found on this TI E2E thread.

Currently the amplifier is being detected by the system and ALSA does report its matching playback interface.

The issue I am facing is that the amplifier doesn't enter PLAY mode when I play through it.

After being positive that the McASP was outputting the correct audio frames I focused on the TAS5802 and used the debugging instructions to fetch its regdump:

# echo 0 0x00 0x00 > regdump
# cat regdump
i2c-addr: 0x54
DeviceID: 0x0d
Chn0B0x00P0x00R0x00:0x00
Chn0B0x00P0x00R0x01:0x11
Chn0B0x00P0x00R0x02:0x01
Chn0B0x00P0x00R0x03:0x02 <<------- HiZ mode while playing??
Chn0B0x00P0x00R0x04:0x00
Chn0B0x00P0x00R0x05:0x00
Chn0B0x00P0x00R0x06:0x00
Chn0B0x00P0x00R0x07:0x00
Chn0B0x00P0x00R0x08:0x00
Chn0B0x00P0x00R0x09:0x00
Chn0B0x00P0x00R0x0a:0x00
Chn0B0x00P0x00R0x0b:0x00
Chn0B0x00P0x00R0x0c:0x00
Chn0B0x00P0x00R0x0d:0x00
Chn0B0x00P0x00R0x0e:0x00
Chn0B0x00P0x00R0x0f:0x00
Chn0B0x00P0x00R0x10:0x01
Chn0B0x00P0x00R0x11:0x00
Chn0B0x00P0x00R0x12:0x00
Chn0B0x00P0x00R0x13:0x00
Chn0B0x00P0x00R0x14:0x11
Chn0B0x00P0x00R0x15:0x00
Chn0B0x00P0x00R0x16:0x00
Chn0B0x00P0x00R0x17:0x00
Chn0B0x00P0x00R0x18:0x00
Chn0B0x00P0x00R0x19:0x00
Chn0B0x00P0x00R0x1a:0x00
Chn0B0x00P0x00R0x1b:0x00
Chn0B0x00P0x00R0x1c:0x00
Chn0B0x00P0x00R0x1d:0x00
Chn0B0x00P0x00R0x1e:0x00
Chn0B0x00P0x00R0x1f:0x00
Chn0B0x00P0x00R0x20:0x01
Chn0B0x00P0x00R0x21:0x07
Chn0B0x00P0x00R0x22:0x09
Chn0B0x00P0x00R0x23:0x01
Chn0B0x00P0x00R0x24:0x00
Chn0B0x00P0x00R0x25:0x40
Chn0B0x00P0x00R0x26:0x02
Chn0B0x00P0x00R0x27:0x00
Chn0B0x00P0x00R0x28:0x00
Chn0B0x00P0x00R0x29:0x00
Chn0B0x00P0x00R0x2a:0x00
Chn0B0x00P0x00R0x2b:0x00
Chn0B0x00P0x00R0x2c:0x00
Chn0B0x00P0x00R0x2d:0x00
Chn0B0x00P0x00R0x2e:0x00
Chn0B0x00P0x00R0x2f:0x00
Chn0B0x00P0x00R0x30:0x00
Chn0B0x00P0x00R0x31:0x00
Chn0B0x00P0x00R0x32:0x00
Chn0B0x00P0x00R0x33:0x02
Chn0B0x00P0x00R0x34:0x00
Chn0B0x00P0x00R0x35:0x11
Chn0B0x00P0x00R0x36:0x00
Chn0B0x00P0x00R0x37:0x00
Chn0B0x00P0x00R0x38:0x40
Chn0B0x00P0x00R0x39:0x00
Chn0B0x00P0x00R0x3a:0xf9
Chn0B0x00P0x00R0x3b:0x04
Chn0B0x00P0x00R0x3c:0x60
Chn0B0x00P0x00R0x3d:0x20
Chn0B0x00P0x00R0x3e:0x80
Chn0B0x00P0x00R0x3f:0x00
Chn0B0x00P0x00R0x40:0x01
Chn0B0x00P0x00R0x41:0x00
Chn0B0x00P0x00R0x42:0x00
Chn0B0x00P0x00R0x43:0x00
Chn0B0x00P0x00R0x44:0x00
Chn0B0x00P0x00R0x45:0x00
Chn0B0x00P0x00R0x46:0x11
Chn0B0x00P0x00R0x47:0x00
Chn0B0x00P0x00R0x48:0x00
Chn0B0x00P0x00R0x49:0x00
Chn0B0x00P0x00R0x4a:0x00
Chn0B0x00P0x00R0x4b:0x00
Chn0B0x00P0x00R0x4c:0x30
Chn0B0x00P0x00R0x4d:0x30
Chn0B0x00P0x00R0x4e:0x33
Chn0B0x00P0x00R0x4f:0x30
Chn0B0x00P0x00R0x50:0x00
Chn0B0x00P0x00R0x51:0x55
Chn0B0x00P0x00R0x52:0x00
Chn0B0x00P0x00R0x53:0x01
Chn0B0x00P0x00R0x54:0x00
Chn0B0x00P0x00R0x55:0x00
Chn0B0x00P0x00R0x56:0x00
Chn0B0x00P0x00R0x57:0x00
Chn0B0x00P0x00R0x58:0x00
Chn0B0x00P0x00R0x59:0x00
Chn0B0x00P0x00R0x5a:0x00
Chn0B0x00P0x00R0x5b:0x00
Chn0B0x00P0x00R0x5c:0x00
Chn0B0x00P0x00R0x5d:0xf8
Chn0B0x00P0x00R0x5e:0x00
Chn0B0x00P0x00R0x5f:0x00
Chn0B0x00P0x00R0x60:0x01
Chn0B0x00P0x00R0x61:0x0b
Chn0B0x00P0x00R0x62:0x00
Chn0B0x00P0x00R0x63:0x00
Chn0B0x00P0x00R0x64:0x00
Chn0B0x00P0x00R0x65:0x00
Chn0B0x00P0x00R0x66:0x03
Chn0B0x00P0x00R0x67:0xa8
Chn0B0x00P0x00R0x68:0x00
Chn0B0x00P0x00R0x69:0x00
Chn0B0x00P0x00R0x6a:0x00
Chn0B0x00P0x00R0x6b:0x00
Chn0B0x00P0x00R0x6c:0x00
Chn0B0x00P0x00R0x6d:0x50
Chn0B0x00P0x00R0x6e:0x11
Chn0B0x00P0x00R0x6f:0x24
Chn0B0x00P0x00R0x70:0x00
Chn0B0x00P0x00R0x71:0x00
Chn0B0x00P0x00R0x72:0x00
Chn0B0x00P0x00R0x73:0x00
Chn0B0x00P0x00R0x74:0x00
Chn0B0x00P0x00R0x75:0x38
Chn0B0x00P0x00R0x76:0x00
Chn0B0x00P0x00R0x77:0xff
Chn0B0x00P0x00R0x78:0x80
Chn0B0x00P0x00R0x79:0x00
Chn0B0x00P0x00R0x7a:0x09
Chn0B0x00P0x00R0x7b:0x03
Chn0B0x00P0x00R0x7c:0x00
Chn0B0x00P0x00R0x7d:0x00
Chn0B0x00P0x00R0x7e:0xe0
Chn0B0x00P0x00R0x7f:0x00
======caught smartpa reg end ======

Inspecting the regdump with the TAS5802 datasheet I see that STATE_CTL from DEVICE_CTRL2 register (3h) is set to Hi-Z

I tried manually setting it to PLAY with:
echo 0 0x00 0x00 0x03 0x03 > reg

And immediately the amplifier started to drive the speakers.

This is the output from the driver, just in case it is relevant:

[ 1174.561113] tasdevice-codec 3-0054: tasdevice_hw_params: Playback
[ 1174.569234] tasdevice-codec 3-0054: tasdevice_hw_params: BCLK rate = 1536000 Channel = 2 Sample rate = 48000 slot width = 16
[ 1174.608625] tasdevice-codec 3-0054: powercontrol_routine:1276: enter
[ 1174.615036] tasdevice-codec 3-0054: select_cfg_blk: profile_conf_id = 0
[ 1174.621664] tasdevice-codec 3-0054: select_cfg_blk: conf 0, block type:PRE_POWER_UP   device idx = 0x00
[ 1174.640313] tasdevice-codec 3-0054: powercontrol_routine:1285: leave

I am unable to attach the .bin file on thie thread. If you'd like to inspect it please message me and I can share a link or send it directly over email. FWIW, it was generated from tas5802-1amp-reg.json from the same repo as the driver using the instructions.

My expectation is to have the amplifier playing without me poking its registers. Any thoughts on what may cause this?

Best regards,

António