Draft: d/patches: Add FP5 speaker patch
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