I need to be able to set the gain between the left and right DAC units independently in this driver, but I see no way of doing it. In the ssm260x_probe() function it sets RLHPBOTH and LRHPBOTH to 1.
/* set the update bits */
reg = snd_soc_read(codec, SSM2602_LINVOL);
snd_soc_write(codec, SSM2602_LINVOL, reg | LINVOL_LRIN_BOTH);
reg = snd_soc_read(codec, SSM2602_RINVOL);
snd_soc_write(codec, SSM2602_RINVOL, reg | RINVOL_RLIN_BOTH);
Do I need to create a new ALSA control to modify each one? Could someone possibly give me a breakdown of what that entails? I don't want to hard code it, but I don't want this to take a week either.
Right now, I've commented out the ' | XINVOL_XIN_BOTH bit and things work as expected.
root:/> amixer sset Master "120,110"
Simple mixer control 'Master',0
Capabilities: pvolume penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 127
Front Left: Playback 120 [94%] [-2.00dB]
Front Right: Playback 110 [87%] [-12.00dB]
I would like to help someone out to create a control to toggle that bit
Just to clarify, I mis-typed, it wasn't LIN or RIN, it was supposed to be LOUT and ROUT.