Mute SGTL5000 LINE_OUT in Linux

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Mute SGTL5000 LINE_OUT in Linux

781 次查看
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?

标签 (3)
0 项奖励
2 回复数

393 次查看
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 项奖励

393 次查看
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 项奖励