Skip to content

Draft: d/patches: Add FP5 speaker patch

Manuel Traut requested to merge manut/qcom-linux:fp5-speaker into mobian-sc7280-6.13

To extract the firmware:

{ name = "aw882xx_acf.bin", rename = "aw88261_acf.bin" },

need to be added to

https://gitlab.com/mobian1/droid-juicer/-/blob/master/configs/fairphone,fp5.toml?ref_type=heads#L4

For unknown reasons,

mobian@mobian:~$ sudo modprobe snd-soc-aw88261

is needed to probe the amp.

[  100.443079] aw88261 2-0034: chip id = 2113
[  100.443863] aw88261 2-0035: chip id = 2113
[  100.449267] aw88261 2-0034: loaded aw88261_acf.bin - size: 1504
[  100.528433] aw88261 2-0035: loaded aw88261_acf.bin - size: 1504
[  100.676522] aw88261 2-0034: already power off
[  100.678092] aw88261 2-0035: already power off
[  100.679495] input: Fairphone 5 Headset Jack as /devices/platform/sound/sound/card0/input4
[  100.679903] input: Fairphone 5 DP0 Jack as /devices/platform/sound/sound/card0/input5
[  100.965908]  MultiMedia1: ASoC: no backend DAIs enabled for MultiMedia1, possibly missing ALSA mixer-based routing or UCM profile
[  100.977652] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000070
[  100.977664] Mem abort info:
[  100.977667]   ESR = 0x0000000096000004
[  100.977670]   EC = 0x25: DABT (current EL), IL = 32 bits
[  100.977673]   SET = 0, FnV = 0
[  100.977676]   EA = 0, S1PTW = 0
[  100.977678]   FSC = 0x04: level 0 translation fault
[  100.977681] Data abort info:
[  100.977712]   ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000
[  100.977716]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0
[  100.977718]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[  100.977721] user pgtable: 4k pages, 48-bit VAs, pgdp=000000010220f000
[  100.977725] [0000000000000070] pgd=0000000000000000, p4d=0000000000000000
[  100.977732] Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP
[  100.977736] Modules linked in: snd_soc_aw88261 snd_soc_aw88395_lib rfcomm algif_hash algif_skcipher ipt_REJECT nf_reject_ipv4 xt_conntrack xt_tcpudp nft_chain_nat xt_comment xt_MASQUERADE nft_compat nf_tables iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 bnep q6asm_dai q6routing q6afe_dai q6adm q6asm q6afe_clocks snd_q6dsp_common q6afe q6core venus_dec venus_enc videobuf2_dma_contig hci_uart btqca btbcm bluetooth ecdh_generic ecc leds_qcom_flash crct10dif_ce qcom_camss venus_core snd_soc_sc8280xp videobuf2_dma_sg snd_soc_qcom_sdw snd_soc_hdmi_codec snd_soc_qcom_common v4l2_mem2mem imx858 videobuf2_memops s5kjn1 qcom_stats videobuf2_v4l2 v4l2_fwnode videobuf2_common v4l2_async videodev ath11k_ahb mc ath11k fastrpc rpmsg_ctrl mac80211 libarc4 cfg80211 rfkill joydev dm_mod fuse nfnetlink ip_tables x_tables panel_raydium_rm692e5 msm drm_exec gpu_sched drm_display_helper drm_dp_aux_bus dispcc_sc7280 ipa
[  100.977855] CPU: 7 UID: 1000 PID: 1137 Comm: wireplumber Not tainted 6.13-sc7280 #6.13.2-1
[  100.977860] Hardware name: Fairphone 5 (DT)
[  100.977863] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  100.977868] pc : qcom_snd_sdw_startup+0x60/0x114 [snd_soc_qcom_sdw]
[  100.977875] lr : qcom_snd_sdw_startup+0x30/0x114 [snd_soc_qcom_sdw]
[  100.977879] sp : ffff80008242b790
[  100.977881] x29: ffff80008242b790 x28: 0000000000000000 x27: ffff4fa95216d880
[  100.977887] x26: ffff4fa95a624dc0 x25: ffff4fa9bac9e400 x24: ffff4fa95216d880
[  100.977892] x23: 00000000fffffdf4 x22: ffff4fa95a624d80 x21: 0000000000000000
[  100.977898] x20: ffff4fa94397c080 x19: 0000000000000000 x18: 0000000000000001
[  100.977903] x17: 0000000000000100 x16: ffffd6f1f36ffea4 x15: ff000000ff000000
[  100.977909] x14: 0000000000000000 x13: ffffd6f1f3d5ea00 x12: 3a6b63616279616c
[  100.977914] x11: 0000000567b4032f x10: 000000000000003a x9 : ffff80008242b840
[  100.977920] x8 : ffff4fa95a624dc0 x7 : 0000000000000000 x6 : ffff4fa95216e880
[  100.977925] x5 : ffff4fa955730000 x4 : 0000000000000000 x3 : ffff4fa955722958
[  100.977931] x2 : 0000000000000000 x1 : ffff4fa95a624d80 x0 : ffff4fa94397c080
[  100.977936] Call trace:
[  100.977939]  qcom_snd_sdw_startup+0x60/0x114 [snd_soc_qcom_sdw] (P)
[  100.977944]  snd_soc_link_startup+0x34/0xb4
[  100.977954]  __soc_pcm_open+0xd4/0x4bc
[  100.977959]  dpcm_be_dai_startup+0x128/0x288
[  100.977964]  dpcm_fe_dai_open+0xc8/0x8f4
[  100.977969]  snd_pcm_open_substream+0x5a0/0x864
[  100.977977]  snd_pcm_open+0x10c/0x248
[  100.977982]  snd_pcm_playback_open+0x4c/0x78
[  100.977987]  snd_open+0xa4/0x1a8
[  100.977991]  chrdev_open+0xb8/0x218
[  100.977999]  do_dentry_open+0x348/0x620
[  100.978005]  vfs_open+0x2c/0xe4
[  100.978009]  path_openat+0x7a8/0x1024
[  100.978015]  do_filp_open+0xa8/0x164
[  100.978020]  do_sys_openat2+0xc4/0xf8
[  100.978023]  __arm64_sys_openat+0x68/0xac
[  100.978027]  invoke_syscall+0x48/0x110
[  100.978034]  el0_svc_common.constprop.0+0xc0/0xe0
[  100.978040]  do_el0_svc+0x1c/0x28
[  100.978045]  el0_svc+0x30/0xd0
[  100.978049]  el0t_64_sync_handler+0x10c/0x138
[  100.978053]  el0t_64_sync+0x198/0x19c
[  100.978058] Code: 14000017 f9400e82 f9402c44 b9403f22 (f9403884) 
[  100.978062] ---[ end trace 0000000000000000 ]---

However something seems to be wrong...

Edited by Manuel Traut

Merge request reports

Loading