wcd9335 efuse sensing fails on fairphone-fp3

From: Bert Karwatzki
Date: Sun Feb 09 2025 - 18:11:16 EST


I recently tried to use the wcd9335 codec driver on the fairphone-fp3
with a close to mainline kernel from here
https://github.com/msm8953-mainline/linux/

After I get a logical address for the wcd9335 slim device the setup
seems to work until it reaches wcd9335_enable_efuse_sensing(),
where I get the warning message from

if (!(snd_soc_component_read(comp,
WCD9335_CHIP_TIER_CTRL_EFUSE_STATUS) &
WCD9335_CHIP_TIER_CTRL_EFUSE_EN_MASK))
WARN(1, "%s: Efuse sense is not complete\n", __func__);

After this I get a lot of slim interrupt errors (it seems every slim write fails):

[ 8.779992] qcom,slim-ngd-ctrl c140000.slim: Error Interrupt received 0x82000000
[...]

I tested the effect of not enabling efuse sensing on kernel 4.9.218 (the fairphone-fp3
downstream kernel with ubuntu touch) and also got lots of the same slim interrupt errors:

[ 42.863981] NGD interrupt error:0x82000000, err:-5
[ 42.863996] err desc[0]:0x8c86806
[ 42.863997] err desc[1]:0x680
[ 42.863999] err desc[2]:0x0
[ 42.864000] err desc[3]:0x0
[ 42.864001] err desc[4]:0x0
[ 42.864003] err desc[5]:0x0
[ 42.864004] err desc[6]:0x0
[ 42.864005] err desc[7]:0x0
[ 42.864007] err desc[8]:0x0
[ 42.864024] err desc[9]:0x0
[ 42.864024] TX failed :MC:0x68,mt:0x0, ret:-5, ver:261
[ 42.864035] conf:0x7,stat:0x684840e,rxmsgq:0x10000
[ 42.864039] int_stat:0x0,int_en:0xbe000000,int_cll:0x0
[...]

So I now believe that not enabling efuse sensing for wcd9335 causes the
slim interrupt errors. Does anybody have an idea what could have caused
the efuse sensing failure?

Bert Karwatzki