Mute SGTL5000 LINE_OUT in Linux

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Mute SGTL5000 LINE_OUT in Linux

777 Views
steffendoster
Contributor IV

Hi everyone,

I have a custom i.MX6S board with a SGTL5000 Audio-Codec.

The codec is connected to a speaker (via amp) and a headphone jack. It runs with Linux 4.5.

It works very nice and all, but now I want to manually mute the Line-Out. I don't want to control the volume, just mute it.

Is there a simple way to set this bit via I2C?

Or do I have to implement this somehow in the driver?

Labels (3)
0 Kudos
2 Replies

389 Views
b36401
NXP Employee
NXP Employee

The headphone output has an independent mute that is controlled by the register field CHIP_ANA_CTRL->MUTE_HP.

The line outputs also have a dedicated mute that is controlled by the register field CHIP_ANA_CTRL->MUTE_LO.

For more details please refer the Reference Manual I attached.

Have a great day,

Victor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

389 Views
steffendoster
Contributor IV

I already know that. I have to set bit [8] in register [0x0024] to '1'.

But how can I do this on a Linux-Machine?

The implemented driver imx-sgtl5000.c doesn't seem to have such an option.

And I don't find a device in my filesystem where I can set easily this bit.

I also tried to set the bit with

i2cset -y -f 2 0x0a 0x0024 0x80

(The codec is on I2C-Bus 2 and has the device-address 0x0a)

If I do it with i2cset, the bit stays  '0', the whole register stays '0'.

Again: Is there a way to set Bit 8 in Register 0x0024 in SGTL5000 with Linux?

0 Kudos