Closed hexdump0815 closed 2 years ago
untested draft of a potential ucm file for fennel14 (once we get the kernel audio driver probed properly): https://github.com/hexdump0815/imagebuilder/tree/main/systems/chromebook_kukui/extra-files/usr/share/alsa/ucm2/mt8183_da7219_m
I mentioned in #49 that I would try to boot Debian with the original ChromeOS kernel to see if the audio would work then. However, these kernels are compiled with CONFIG_VT off. So I don't think x.org will work with this kernel.
Now trying to recompile the ChromeOS kernel from the 5.10 source,.
@BenjaminWegener Are you sure you have kernel 5.10 installed in ChromeOS? I have 4.19 and also have none of the modules in /lib/modules that you are listing.
@milan475 its on dev channel i think, had to reset it lately, didnt use the chromeos since then. yes, verified 5.10. the modules are gzipped. aplay lists the mt8183_da7219_rtsomething as card.
Ah that makes sense! Still can't find most of the modules though. I did however make a dump of the kernel config the 4.19 kernel was compiled with in ChromeOS. I'll join the dev channel to get the 5.10 config later config.txt .
i managed to switch the old MT8183_MT6358_TS3A227E_MAX98357A
with the new MT8183_DA7219_MAX98357A
by compiling the module from source and installing it using
sound-FENNEL14.sh.txt
but i didnt test the ucm yet.
dmesg.txt seems like i havent modprobed the right one on boot
Awesome! Does cat /proc/asound/cards give you anything now?
I still wonder if het has anything to do with the kernel modules anyway though. If I list the /lib/modules/[KERNEL_VER]/ directory on ChromeOS I get this output. All the MT8183 sound ko files are nowhere to be found mods.txt .
i think they are in -rw-r--r--. 1 root root 8161 May 24 04:25 snd-sof-mt8195.ko.gz
no, got no soundcard yet, lsmod shows the old module, have to blacklist it first.
Hmm I'm not getting it though... lsmod on chromeos doesn't show any of the mediatek ko files loaded. Only snd_seq and snd_seq_device. Those are not loaded in debian btw..
I'll post a dump of the loaded modules in chrome os in a bit...
I feel like I'm getting a bit crazy... It seems to me like those modules shouldnt be enough to provide sound in ChromeOS and yet it does...
lsmod doesnt shw built-in mods, so cat /lib/modules/$(uname -r)/modules.builtin
should show some.
i got the new mod installed, but still no sound. same error with pinctrl_paris
linux@changeme:~$ dmesg | grep -i mt81
[ 1.066768] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: could not get audiosys reset:-517
[ 1.873953] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: could not get audiosys reset:-517
[ 1.876164] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: could not get audiosys reset:-517
[ 1.879757] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: could not get audiosys reset:-517
[ 1.881408] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: could not get audiosys reset:-517
[ 2.292698] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: could not get audiosys reset:-517
[ 2.487176] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: could not get audiosys reset:-517
[ 4.329514] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: could not get audiosys reset:-517
[ 14.822122] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: No cache defaults, reading back from HW
[ 14.825441] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: mtk_afe_combine_sub_dai(), num of dai 20
[ 14.853244] mt8183-pinctrl 10005000.pinctrl: pin GPIO7 already requested by 2-0015; cannot claim for 2-002c
[ 14.854118] mt8183-pinctrl 10005000.pinctrl: pin-7 (2-002c) status -22
[ 14.854927] mt8183-pinctrl 10005000.pinctrl: could not request pin 7 (GPIO7) from group GPIO7 on device pinctrl_paris
[ 14.878090] debugfs: Directory '11220000.audio-controller:mt8183-afe-pcm' with parent 'mt8183_da7219_rt1015p' already present!
[ 14.917487] mt8183_da7219 mt8183-sound: ASoC: no sink widget found for I2S Playback
[ 14.918461] mt8183_da7219 mt8183-sound: ASoC: Failed to add route TDM_OUT_PINCTRL -> direct -> I2S Playback
[ 14.919369] mt8183_da7219 mt8183-sound: snd_soc_bind_card: snd_soc_dapm_add_routes failed: -19
does "cat /sys/kernel/debug/devices_deferred" say anything?
i am new to this, so it's a guess:
in /compile/source/linux-stable-mt8/arch/arm64/boot/dts/mediatek/
there it says
input-enable;
bias-pull-up;
};
touch_rst_l {
pinmux = <PINMUX_GPIO156__FUNC_GPIO156>;
output-high;
};
};
trackpad_pins: trackpad-pins {
trackpad_int {
pinmux = <PINMUX_GPIO7__FUNC_GPIO7>;
input-enable;
bias-disable; /* pulled externally */
};
};
vddio_mipibrdg_en: vddio-mipibrdg-en {
pins1 {
pinmux = <PINMUX_GPIO37__FUNC_GPIO37>;
output-low;
};
};
volume_button_pins: volume-button-pins {
voldn-btn-odl {
pinmux = <PINMUX_GPIO6__FUNC_GPIO6>;
input-enable;
bias-pull-up;
so i can imagine, the trackpad requests pin 7 and doesnt clear it before the sound driver is loaded, hence the error
cat /sys/kernel/debug/devices_deferred
is empty
root@changeme:/home/linux# cat /sys/kernel/debug/pinctrl/10005000.pinctrl-pinctrl_paris/pinmux-pins
Pinmux settings per pin
Format: pin (name): mux_owner gpio_owner hog?
pin 0 (GPIO0): 11012000.spi (GPIO UNCLAIMED) function func7 group GPIO0
pin 1 (GPIO1): 11012000.spi (GPIO UNCLAIMED) function func7 group GPIO1
pin 2 (GPIO2): 11012000.spi (GPIO UNCLAIMED) function func7 group GPIO2
pin 3 (GPIO3): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 4 (GPIO4): 4-0058 (GPIO UNCLAIMED) function func0 group GPIO4
pin 5 (GPIO5): volume-buttons pinctrl_paris:325 function func0 group GPIO5
pin 6 (GPIO6): volume-buttons pinctrl_paris:326 function func0 group GPIO6
pin 7 (GPIO7): 2-0015 (GPIO UNCLAIMED) function func0 group GPIO7
pin 8 (GPIO8): (MUX UNCLAIMED) (GPIO UNCLAIMED)
so my next step would be recompiling the whole kernel again with pin changed to 8, as its unclaimed.
In case it's helpful: same output under chrome OS:
pin 0 (GPIO0): 11012000.spi (GPIO UNCLAIMED) function func7 group GPIO0
pin 1 (GPIO1): 11012000.spi (GPIO UNCLAIMED) function func7 group GPIO1
pin 2 (GPIO2): 11012000.spi (GPIO UNCLAIMED) function func7 group GPIO2
pin 3 (GPIO3): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 4 (GPIO4): 4-0058 (GPIO UNCLAIMED) function func0 group GPIO4
pin 5 (GPIO5): volume-buttons pinctrl_paris:325 function func0 group GPIO5
pin 6 (GPIO6): volume-buttons pinctrl_paris:326 function func0 group GPIO6
pin 7 (GPIO7): 2-002c (GPIO UNCLAIMED) function func0 group GPIO7
pin 8 (GPIO8): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 9 (GPIO9): 3-005c (GPIO UNCLAIMED) function func0 group GPIO9
Seems like "2-002c" is able to claim the pin under ChromeOS...
i was mistaken, after kernel recompile following dmesg appeared:
linux@changeme:~$ dmesg | grep -i pin
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1031424
[ 0.005019] arch_timer: CPU4: Trapping CNTVCT access
[ 0.005588] arch_timer: CPU5: Trapping CNTVCT access
[ 0.006089] arch_timer: CPU6: Trapping CNTVCT access
[ 0.006590] arch_timer: CPU7: Trapping CNTVCT access
[ 0.015170] pinctrl core: initialized pinctrl subsystem
[ 14.599065] mt8183-pinctrl 10005000.pinctrl: pin GPIO8 already requested by 2-0015; cannot claim for 2-002c
[ 14.600137] mt8183-pinctrl 10005000.pinctrl: pin-8 (2-002c) status -22
[ 14.604063] mt8183-pinctrl 10005000.pinctrl: could not request pin 8 (GPIO8) from group GPIO8 on device pinctrl_paris
[ 23.202746] mt8183_da7219 mt8183-sound: ASoC: Failed to add route TDM_OUT_PINCTRL -> direct -> I2S Playback
linux@changeme:~$ dmesg | grep -P audio\|snd\|sound\|audio
[ 1.802366] No soundcards found.
[ 14.314004] mt6358-sound mt6358-sound: mt6358_platform_driver_probe(), dev name mt6358-sound
[ 14.568250] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: No cache defaults, reading back from HW
[ 14.570013] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: mtk_afe_combine_sub_dai(), num of dai 20
[ 23.185240] debugfs: Directory '11220000.audio-controller:mt8183-afe-pcm' with parent 'mt8183_da7219_rt1015p' already present!
[ 23.202722] mt8183_da7219 mt8183-sound: ASoC: no sink widget found for I2S Playback
[ 23.202746] mt8183_da7219 mt8183-sound: ASoC: Failed to add route TDM_OUT_PINCTRL -> direct -> I2S Playback
[ 23.202752] mt8183_da7219 mt8183-sound: snd_soc_bind_card: snd_soc_dapm_add_routes failed: -19
so the elan trackpad has its own problem, but that isnt related to the sound but i have hope, because lsmod show following:
linux@changeme:~$ lsmod
Module Size Used by
snd_seq 73728 0
snd_seq_device 20480 1 snd_seq
mt8183_da7219_max98357 28672 0
ath10k_sdio 32768 0
ath10k_core 479232 1 ath10k_sdio
mtk_vcodec_dec 73728 0
mtk_vcodec_enc 45056 0
v4l2_h264 16384 1 mtk_vcodec_dec
mtk_vcodec_common 20480 2 mtk_vcodec_enc,mtk_vcodec_dec
mtk_vpu 20480 1 mtk_vcodec_common
mtk_jpeg 40960 0
uvcvideo 106496 0
ath 40960 1 ath10k_core
videobuf2_dma_contig 24576 3 mtk_jpeg,mtk_vcodec_enc,mtk_vcodec_dec
mac80211 516096 1 ath10k_core
v4l2_mem2mem 40960 3 mtk_jpeg,mtk_vcodec_enc,mtk_vcodec_dec
videobuf2_vmalloc 20480 1 uvcvideo
videobuf2_memops 20480 2 videobuf2_vmalloc,videobuf2_dma_contig
videobuf2_v4l2 32768 5 mtk_jpeg,mtk_vcodec_enc,uvcvideo,mtk_vcodec_dec,v4l2_mem2mem
libarc4 16384 1 mac80211
videobuf2_common 57344 9 mtk_jpeg,mtk_vcodec_enc,videobuf2_vmalloc,videobuf2_dma_contig,videobuf2_v4l2,uvcvideo,mtk_vcodec_dec,v4l2_mem2mem,videobuf2_memops
hci_uart 77824 0
videodev 237568 7 mtk_jpeg,mtk_vcodec_enc,videobuf2_v4l2,uvcvideo,videobuf2_common,mtk_vcodec_dec,v4l2_mem2mem
cfg80211 397312 3 ath,mac80211,ath10k_core
i2c_hid_of 16384 0
btqca 20480 1 hci_uart
btbcm 28672 1 hci_uart
snd_soc_mt8183_afe 118784 0
cros_ec_typec 20480 0
cros_ec_chardev 16384 0
sbs_battery 20480 0
cros_usbpd_charger 16384 0
cros_usbpd_logger 16384 0
mc 53248 6 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common,mtk_vcodec_dec,v4l2_mem2mem
typec 57344 1 cros_ec_typec
snd_soc_da7219 65536 1 mt8183_da7219_max98357
bluetooth 503808 10 btqca,hci_uart,btbcm
snd_soc_mtk_common 24576 1 snd_soc_mt8183_afe
i2c_hid 28672 1 i2c_hid_of
elants_i2c 24576 0
elan_i2c 32768 0
ecdh_generic 16384 1 bluetooth
ecc 36864 1 ecdh_generic
mtk_scp 20480 1 mtk_vcodec_common
rfkill 36864 7 bluetooth,cfg80211
mtk_rpmsg 20480 1 mtk_scp
coreboot_table 16384 0
mt6577_auxadc 20480 0
mtk_scp_ipi 16384 2 mtk_vcodec_common,mtk_scp
snd_soc_mt6358 57344 0
rtc_mt6397 16384 1
snd_soc_bt_sco 16384 0
mtk_wdt 20480 1
snd_soc_rt1015p 16384 0
fuse 131072 3
ip_tables 32768 0
x_tables 45056 1 ip_tables
ipv6 483328 0
just a few lines from chromeos 5.10
localhost / # depmod -av | grep -i sound
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/snd-rawmidi.ko.gz needs "snd_seq_device_new": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/snd-seq-device.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/seq/snd-seq.ko.gz needs "snd_seq_autoload_init": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/snd-seq-device.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/seq/snd-seq-dummy.ko.gz needs "snd_seq_delete_kernel_client": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/seq/snd-seq.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/seq/snd-seq-midi.ko.gz needs "__snd_seq_driver_register": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/snd-seq-device.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/seq/snd-seq-midi.ko.gz needs "snd_rawmidi_info_select": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/snd-rawmidi.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/seq/snd-seq-midi.ko.gz needs "snd_midi_event_new": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/seq/snd-seq-midi-event.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/seq/snd-seq-midi.ko.gz needs "snd_seq_kernel_client_ctl": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/seq/snd-seq.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/seq/snd-seq-midi-event.ko.gz needs "snd_seq_expand_var_event": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/seq/snd-seq.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/usb/snd-usb-audio.ko.gz needs "snd_usbmidi_disconnect": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/usb/snd-usbmidi-lib.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/usb/snd-usb-audio.ko.gz needs "snd_hwdep_new": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/snd-hwdep.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/usb/snd-usbmidi-lib.ko.gz needs "snd_rawmidi_new": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/core/snd-rawmidi.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/soc/sof/mediatek/mtk-adsp-common.ko.gz needs "sof_mailbox_read": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/soc/sof/snd-sof.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/soc/sof/mediatek/mt8195/snd-sof-mt8195.ko.gz needs "mtk_adsp_stream_init": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/soc/sof/mediatek/adsp-pcm.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/soc/sof/mediatek/mt8195/snd-sof-mt8195.ko.gz needs "snd_sof_suspend": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/soc/sof/snd-sof.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/soc/sof/mediatek/mt8195/snd-sof-mt8195.ko.gz needs "mtk_adsp_dump": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/soc/sof/mediatek/mtk-adsp-common.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/soc/sof/mediatek/mt8195/snd-sof-mt8195.ko.gz needs "sof_xtensa_arch_ops": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/soc/sof/xtensa/snd-sof-xtensa-dsp.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/soc/sof/snd-sof-of.ko.gz needs "snd_sof_device_probe": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/soc/sof/snd-sof.ko.gz
/lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/soc/sof/snd-sof-of.ko.gz needs "sof_mt8195_ops": /lib/modules/5.10.106-15290-g6e9d70c8a9b4/kernel/sound/soc/sof/mediatek/mt8195/snd-sof-mt8195.ko.gz
localhost / # aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: mt8183da7219rt1 [mt8183_da7219_rt1015p], device 0: Playback_1 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: mt8183da7219rt1 [mt8183_da7219_rt1015p], device 1: Playback_2 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: mt8183da7219rt1 [mt8183_da7219_rt1015p], device 2: Playback_3 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: mt8183da7219rt1 [mt8183_da7219_rt1015p], device 7: Playback_HDMI (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
localhost / # dmesg
...cut...
[ 0.315217] mt8183-pinctrl 10005000.pinctrl: pin GPIO7 already requested by 2-0015; cannot claim for 2-002c
[ 0.315224] mt8183-pinctrl 10005000.pinctrl: pin-7 (2-002c) status -22
[ 0.315229] mt8183-pinctrl 10005000.pinctrl: could not request pin 7 (GPIO7) from group GPIO7 on device pinctrl_paris
[ 0.315234] i2c_hid_of 2-002c: Error applying setting, reverse things back
[ 0.315244] i2c_hid_of: probe of 2-002c failed with error -22
...cut...
[ 0.354229] da7219 5-001a: Using default DAI clk names: da7219-dai-wclk, da7219-dai-bclk
[ 0.354558] mt6358-sound mt6358-sound: mt6358_platform_driver_probe(), dev name mt6358-sound
[ 0.354742] rt1015p rt1015p: GPIO lookup for consumer sdb
[ 0.354745] rt1015p rt1015p: using device tree for GPIO lookup
[ 0.354758] of_get_named_gpiod_flags: parsed 'sdb-gpios' property of node '/rt1015p[0]' - status (0)
[ 0.354771] gpio gpiochip0: Persistence not supported for GPIO 175
...cut...
[ 0.397519] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: No cache defaults, reading back from HW
[ 0.398051] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: mtk_afe_combine_sub_dai(), num of dai 20
[ 0.399335] debugfs: Directory '11220000.audio-controller:mt8183-afe-pcm' with parent 'mt8183_da7219_rt1015p' already present!
[ 0.416311] hdmi-audio-codec hdmi-audio-codec.15.auto: ASoC: sink widget TX overwritten
[ 0.417593] elan_i2c 2-0015: Elan Touchpad: Module ID: 0x010a, Firmware: 0x0002, Sample: 0x0002, IAP: 0x0002
[ 0.418049] input: Elan Touchpad as /devices/platform/soc/11009000.i2c/i2c-2/2-0015/input/input4
[ 0.418218] debugfs: File 'Playback' in directory 'dapm' already present!
[ 0.418226] debugfs: File 'Capture' in directory 'dapm' already present!
[ 0.420508] input: mt8183_da7219_rt1015p Headset Jack as /devices/platform/mt8183-sound/sound/card0/input2
[ 0.420611] input: mt8183_da7219_rt1015p HDMI Jack as /devices/platform/mt8183-sound/sound/card0/input3
...cut...
[ 0.443278] ALSA device list:
[ 0.443284] #0: mt8183_da7219_rt1015p
...cut...
[ 50.806549] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: mtk_dai_i2s_set_sysclk(), freq 12288000
[ 50.808241] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: mtk_dai_i2s_config(), id 15, rate 48000, format 6
[ 50.808253] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: mtk_dai_i2s_config(), id 14, rate 48000, format 6
[ 50.808969] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: mtk_apll_event(), name APLL2, event 0x1
[ 50.809017] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: mtk_mclk_en_event(), name I2S2_MCLK_EN, event 0x1
[ 50.809083] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: mtk_mclk_en_event(), name I2S3_MCLK_EN, event 0x1
so next would be the dmesg errors following ASoC: no sink widget found for I2S Playback
does anybody know, how to get a config from the running chromeos kernel?
usually "modprobe configs" and then you have it as /proc/config.gz in case it is built into the kernel
This is the dump I made earlier. For 5.10
Thank you both, will try to recompile with all config-snd and i2c stuff, maybe checking the dtbs again
some news...
the error message with [ 23.202746] mt8183_da7219 mt8183-sound: ASoC: Failed to add route TDM_OUT_PINCTRL -> direct -> I2S Playback
led me to hack the /compile/source/linux-stable-mt8/sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c
just to see if the error message would change.
static const struct snd_soc_dapm_route mt8183_da7219_max98357_dapm_routes[] = {
{"Speakers", NULL, "Speaker"},
// {"I2S Playback", NULL, "TDM_OUT_PINCTRL"},
};
so the good news, i get
linux@changeme:~$ lsmod
Module Size Used by
bridge 253952 0
mt8183_da7219_max98357 28672 0
stp 20480 1 bridge
llc 20480 2 bridge,stp
ath10k_sdio 32768 0
ath10k_core 479232 1 ath10k_sdio
mtk_vcodec_dec 73728 0
ath 40960 1 ath10k_core
v4l2_h264 16384 1 mtk_vcodec_dec
mtk_vcodec_enc 45056 0
mtk_vcodec_common 20480 2 mtk_vcodec_enc,mtk_vcodec_dec
mac80211 516096 1 ath10k_core
mtk_jpeg 40960 0
mtk_vpu 20480 1 mtk_vcodec_common
uvcvideo 106496 0
videobuf2_dma_contig 24576 3 mtk_jpeg,mtk_vcodec_enc,mtk_vcodec_dec
libarc4 16384 1 mac80211
videobuf2_vmalloc 20480 1 uvcvideo
v4l2_mem2mem 40960 3 mtk_jpeg,mtk_vcodec_enc,mtk_vcodec_dec
videobuf2_memops 20480 2 videobuf2_vmalloc,videobuf2_dma_contig
videobuf2_v4l2 32768 5 mtk_jpeg,mtk_vcodec_enc,uvcvideo,mtk_vcodec_dec,v4l2_mem2mem
videobuf2_common 61440 9 mtk_jpeg,mtk_vcodec_enc,videobuf2_vmalloc,videobuf2_dma_contig,videobuf2_v4l2,uvcvideo,mtk_vcodec_dec,v4l2_mem2mem,videobuf2_memops
cfg80211 397312 3 ath,mac80211,ath10k_core
videodev 237568 7 mtk_jpeg,mtk_vcodec_enc,videobuf2_v4l2,uvcvideo,videobuf2_common,mtk_vcodec_dec,v4l2_mem2mem
mc 53248 6 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common,mtk_vcodec_dec,v4l2_mem2mem
cros_ec_typec 20480 0
hci_uart 57344 0
cros_ec_lid_angle 16384 0
typec 57344 1 cros_ec_typec
snd_soc_mt8183_afe 118784 2
btqca 20480 1 hci_uart
cros_ec_sensors_core 20480 1 cros_ec_lid_angle
btrtl 24576 1 hci_uart
snd_soc_da7219 65536 2 mt8183_da7219_max98357
snd_soc_mtk_common 24576 1 snd_soc_mt8183_afe
cros_usbpd_charger 16384 0
cros_usbpd_logger 16384 0
cros_ec_chardev 16384 0
bluetooth 503808 10 btrtl,btqca,hci_uart
joydev 28672 0
elants_i2c 24576 0
mtk_scp 20480 1 mtk_vcodec_common
ecdh_generic 16384 1 bluetooth
ecc 36864 1 ecdh_generic
mtk_rpmsg 20480 1 mtk_scp
rfkill 36864 7 bluetooth,cfg80211
rpmsg_core 20480 1 mtk_rpmsg
mtk_scp_ipi 16384 2 mtk_vcodec_common,mtk_scp
mtk_wdt 20480 1
mt8183_cci_devfreq 16384 0
coreboot_table 16384 0
snd_soc_rt1015p 16384 1
snd_soc_bt_sco 16384 1
fuse 131072 3
ip_tables 32768 0
x_tables 45056 1 ip_tables
ipv6 483328 1 bridge
linux@changeme:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Dummy [Dummy], device 0: Dummy PCM [Dummy PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 3: mt8183da7219rt1 [mt8183_da7219_rt1015p], device 0: Playback_1 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: mt8183da7219rt1 [mt8183_da7219_rt1015p], device 1: Playback_2 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: mt8183da7219rt1 [mt8183_da7219_rt1015p], device 2: Playback_3 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: mt8183da7219rt1 [mt8183_da7219_rt1015p], device 7: Playback_HDMI (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
no sound currently in the mixer, haven't had time to look at the ucm.
congratulations - that at least looks like some progress - lets hope it ends with hearable audio :) ... i think the i2s tdm audio is related to hdmi audio and as hdmi (over usb-c) is not yet working on kukui it might be a problem for it to establish the route and thus it might make sense to comment that part out for now ... i'll keep your pr open until it is tested to work, but will for sure pull it in as soon as that is verified ... could you please paste here what /proc/asound/cards now looks like and the output of the amixer command might be interesting too for the ucm ... in general while experiementing with audio, please never do it with headphones directly in your ears as strange things might happen if things are setup wrong somehow and its not worth to risk your ears for that ...
linux@changeme:~$ cat /proc/asound/cards
0 [Dummy ]: Dummy - Dummy
Dummy 1
1 [Loopback ]: Loopback - Loopback
Loopback 1
2 [VirMIDI ]: VirMIDI - VirMIDI
Virtual MIDI Card 1
3 [mt8183da7219rt1]: mt8183_da7219_r - mt8183_da7219_rt1015p
mt8183_da7219_rt1015p
linux@changeme:~$ amixer
Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 65536
Mono:
Front Left: Playback 84026 [128%] [on]
Front Right: Playback 84026 [128%] [on]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch cswitch-joined
Capture channels: Front Left - Front Right
Limits: Capture 0 - 65536
Front Left: Capture 0 [0%] [on]
Front Right: Capture 0 [0%] [on]
ok - the naming is as i expected it so my draft ucm file from https://github.com/hexdump0815/imagebuilder/tree/main/systems/chromebook_kukui/extra-files/usr/share/alsa/ucm2/mt8183_da7219_m at least is properly named ... can you please paste the "amixer -c 3" output?
linux@changeme:~$ amixer -c 3
amixer: Mixer hw:3 load error: Invalid argument
oh - my naming is wrong: its "mt8183_da7219_r" - so "_r" and not "_m" ... which kernel (cromeos vs mainline) and which audio module source (chromeos vs mainline) is this now?
oh - i see - from the pull request its mainline/mainline which is good
i compiled from kernelorg 5.18.1, modified the config and used parts of imagebuilder to compile the kernel, i will reflash the bullseye image and repeat the steps... so its clean. takes half an hour or so
hmm - then i guess there is still a problem - that should in theory show the mixer of card 3, which is the card we want - the ucm config is then setting many of the mixer controls and switches to proper values, but if there is no mixer ucm will not work i think
this is how it looks like for kappa:
root@kappa:~# lsmod | grep snd
mt8183_mt6358_ts3a227_max98357 28672 0
snd_soc_ts3a227e 16384 2 mt8183_mt6358_ts3a227_max98357
snd_soc_mt8183_afe 118784 2
snd_soc_mt6358 57344 1
snd_soc_mtk_common 24576 1 snd_soc_mt8183_afe
snd_soc_bt_sco 16384 1
snd_soc_max98357a 16384 1
root@kappa:~# cat /proc/asound/cards
0 [mt8183mt6358ts3]: mt8183_mt6358_t - mt8183_mt6358_ts3a227_max98357
mt8183_mt6358_ts3a227_max98357
dmesg:
[ 16.176599] mt6358-sound mt6358-sound: mt6358_platform_driver_probe(), dev name mt6358-sound
[ 16.182718] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: No cache defaults, reading back from HW
[ 16.183217] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: mtk_afe_combine_sub_dai(), num of dai 20
[ 28.793416] mt8183_mt6358_ts3a227 mt8183-sound: mt8183_mt6358_ts3a227_max98357_dev_probe Can't find pin state wov -19
[ 28.794045] debugfs: Directory '11220000.audio-controller:mt8183-afe-pcm' with parent 'mt8183_mt6358_ts3a227_max98357' already present!
[ 28.799930] input: mt8183_mt6358_ts3a227_max98357 Headset Jack as /devices/platform/mt8183-sound/sound/card0/input6
[ 28.837279] mt8183-audio 11220000.audio-controller:mt8183-afe-pcm: mt8183_i2s_hd_set(), kcontrol name I2S0_HD_Mux, hd_en 0
... a lot more of such debug info
and amixer -c 0 shows tons of mixer controls and switches of which some are referenced in the ucm file
not sure if it helps: found this - https://patchwork.kernel.org/project/linux-mediatek/patch/20220316014059.19292-1-linmq006@gmail.com/ ... mybe some of the corresponding mt8186 patches might give some hint: https://patchwork.kernel.org/project/linux-mediatek/list/?series=&submitter=&state=*&q=da7219&archive=both&delegate=
sound is working, haven't tested mic etc. commits needed i will create tomorrow to make sound work, run this script:
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
echo "$0 is not running as root. try using sudo."
exit 2
fi
echo "this script builds and installs the kernel sound module mt8183-da7219-max98357a on the FENNEL14 sku0 chromebook"
echo "be sure to use the exact image on an usbdrive/sdcard mounted as /dev/sda!"
echo "image can be downloaded at https://github.com/hexdump0815/imagebuilder/releases/tag/220528-01"
echo "this can take over an hour to finish!"
echo "
extending the rootfs..."
/scripts/extend-rootfs.sh
echo "
uninstalling old module..."
modprobe -rf mt8183_mt6358_ts3a227_max98357
modprobe -rf snd-soc-ts3a227e
rm -rf /lib/modules/5.18.0-stb-mt8+/kernel/sound/soc/mediatek/mt8183/mt8183-mt6358-ts3a227-max98357.ko
rm -rf /lib/modules/5.18.0-stb-mt8+/kernel/sound/soc/mediatek/mt8183/mt8183-da7219-max98357.ko
sed -i -e 's/modprobe mt8183-mt6358-ts3a227-max98357/modprobe mt8183-da7219-max98357/g' /etc/rc.local
sed -i -e 's/exit 0/ /g' /etc/rc.local
echo "
installing build dependencies..."
apt update
apt install -y sed libncurses-dev dbus-x11 liblz4-tool vboot-kernel-utils build-essential flex bison gettext libiberty-dev libpci-dev libelf-dev libssl-dev libslang2-dev libperl-dev python-all-dev liblzma-dev libzstd-dev libcap-dev libnuma-dev libbabeltrace-dev systemtap-sdt-dev libdw-dev apt-utils binutils-dev git wget libunwind-dev
echo "
downloading kernel sources to build new module..."
cd /tmp
mkdir sound-fix
cd sound-fix
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.18.tar.xz
tar -xvf linux-5.18.tar.xz
cd linux-5.18
echo "
patching mt8183-da7219-max98357a.c..."
sed -i -e 's/{"I2S Playback", NULL, "TDM_OUT_PINCTRL"},/\/\/{"I2S Playback", NULL, "TDM_OUT_PINCTRL"},/g' sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c
echo "
building module..."
make clean -j8
make kernelrelease -j8
make oldconfig -j8
sed -i -e 's/CONFIG_LOCALVERSION="-stb-mt8"/CONFIG_LOCALVERSION="-stb-mt8+"/g' .config
make prepare -j8
make modules_prepare -j8
make Image dtbs modules -j8
echo "
installing module..."
cp sound/soc/mediatek/mt8183/mt8183-da7219-max98357.ko /lib/modules/5.18.0-stb-mt8+/kernel/sound/soc/mediatek/mt8183/
depmod
echo "
creating alsa profile..."
mkdir /usr/share/alsa/ucm2/mt8183_da7219_r/
echo "
Syntax 2
Comment "Kukui internal card"
SectionUseCase."HiFi" {
File "HiFi.conf"
Comment "Default"
}
" > /usr/share/alsa/ucm2/mt8183_da7219_r/mt8183_da7219_rt1015p.conf
echo "
SectionVerb {
EnableSequence [
cdev "hw:mt8183da7219rt1"
cset "name='Headphone Volume' 0"
# cset "name='UL3_CH1 ADDA_UL_CH1' 0"
# cset "name='UL3_CH2 ADDA_UL_CH2' 0"
cset "name='I2S3_CH1 DL1_CH1' 1"
cset "name='I2S3_CH2 DL1_CH2' 1"
cset "name='MTKAIF_DMIC' 1"
cset "name='Mt6358 Mic Type Mux' 2"
cset "name='UL3_CH1 ADDA_UL_CH1' 1"
cset "name='UL3_CH2 ADDA_UL_CH2' 1"
]
DisableSequence [
]
}
SectionDevice."Headphone" {
Value {
PlaybackPCM "hw:mt8183da7219rt1,0"
JackDev "mt8183_da7219_rt1015p Headset Jack"
JackSwitch "2"
}
ConflictingDevice [
"Speaker"
]
EnableSequence [
cdev "hw:mt8183da7219rt1"
cset "name='I2S3_CH1 DL1_CH1' 1"
cset "name='I2S3_CH2 DL1_CH2' 1"
]
DisableSequence [
cdev "hw:mt8183da7219rt1"
cset "name='I2S3_CH1 DL1_CH1' 0"
cset "name='I2S3_CH2 DL1_CH2' 0"
]
}
SectionDevice."Speaker" {
Value {
PlaybackPCM "hw:mt8183da7219rt1,0"
DspName "speaker_eq"
}
ConflictingDevice [
"Headphone"
]
EnableSequence [
cdev "hw:mt8183da7219rt1"
cset "name='I2S3_CH1 DL1_CH1' 1"
cset "name='I2S3_CH2 DL1_CH2' 1"
]
DisableSequence [
cdev "hw:mt8183da7219rt1"
cset "name='I2S3_CH1 DL1_CH1' 0"
cset "name='I2S3_CH2 DL1_CH2' 0"
]
}
SectionDevice."Internal Mic" {
Value {
CapturePCM "hw:mt8183da7219rt1,5"
CaptureChannelMap "0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1"
IntrinsicSensitivity "-600"
}
EnableSequence [
cdev "hw:mt8183da7219rt1"
cset "name='MTKAIF_DMIC' 1"
cset "name='Mt6358 Mic Type Mux' 2"
cset "name='UL3_CH1 ADDA_UL_CH1' 1"
cset "name='UL3_CH2 ADDA_UL_CH2' 1"
]
DisableSequence [
cdev "hw:mt8183da7219rt1"
cset "name='MTKAIF_DMIC' 0"
cset "name='Mt6358 Mic Type Mux' 0"
cset "name='UL3_CH1 ADDA_UL_CH1' 0"
cset "name='UL3_CH2 ADDA_UL_CH2' 0"
]
}
" > /usr/share/alsa/ucm2/mt8183_da7219_r/HiFi.conf
echo "
alsaucm -n -b - <<EOM
open mt8183_da7219_r
reset
set _verb HiFi
set _enadev Speaker
EOM
exit 0
" >> /etc/rc.local
echo "
Do you wish to reboot?"
select yn in "Yes" "No"; do
case $yn in
Yes )
reboot;
break;;
No ) exit;;
esac
done
Edit: should work now
this is very nice - congratulations! ... i was planning to build new kukui images with v5.18.1 and mesa 22.1.1 these days - i think i'll wait until your patches and ucm files are in as well so that those images will support fennel14 out of the box then too :) ... but anyway - take the time you need for preparing the patches - there is no hurry
@BenjaminWegener - i have pulled in your audio fix into the mt81xx kernel tree as it seems to be the only fix required as it seems to work for you now ... please let me know if i should simply copy and paste the ucm files from your comment above (and credit you for it of course) or if you prefer to create a pull request for it
i built a new kernel including this fix in case anyone wants to try it: https://github.com/hexdump0815/linux-mainline-mediatek-mt81xx-kernel/releases/tag/5.18.1-stb-mt8%2B
the ucm steps from above are still required
@hexdump0815 thanks very much! here is an untested script to use for the ucm and kernel updating. will test it on a fresh install asap.
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
echo "$0 is not running as root. try using sudo."
exit 2
fi
echo "this script updates the kernel and sound module mt8183-da7219-max98357a on the FENNEL14 sku0 chromebook."
echo "be sure to use the exact image on an usbdrive/sdcard mounted as /dev/sda!"
echo "image can be downloaded at https://github.com/hexdump0815/imagebuilder/releases/tag/220528-01"
echo "
extending the rootfs..."
/scripts/extend-rootfs.sh
echo "
uninstalling old module..."
modprobe -rf mt8183_mt6358_ts3a227_max98357
modprobe -rf snd-soc-ts3a227e
rm -rf /lib/modules/5.18.0-stb-mt8+/kernel/sound/soc/mediatek/mt8183/mt8183-mt6358-ts3a227-max98357.ko
echo "
activating new module..."
sed -i -e 's/modprobe mt8183-mt6358-ts3a227-max98357/modprobe mt8183-da7219-max98357/g' /etc/rc.local
sed -i -e 's/exit 0/ /g' /etc/rc.local
echo "
creating alsa profile..."
mkdir /usr/share/alsa/ucm2/mt8183_da7219_r/
echo "
Syntax 2
Comment \"Kukui internal card\"
SectionUseCase.\"HiFi\" {
File \"HiFi.conf\"
Comment \"Default\"
}
" > /usr/share/alsa/ucm2/mt8183_da7219_r/mt8183_da7219_rt1015p.conf
echo "
SectionVerb {
EnableSequence [
cdev \"hw:mt8183da7219rt1\"
cset \"name='Headphone Volume' 0\"
# cset \"name='UL3_CH1 ADDA_UL_CH1' 0\"
# cset \"name='UL3_CH2 ADDA_UL_CH2' 0\"
cset \"name='I2S3_CH1 DL1_CH1' 1\"
cset \"name='I2S3_CH2 DL1_CH2' 1\"
cset \"name='MTKAIF_DMIC' 1\"
cset \"name='Mt6358 Mic Type Mux' 2\"
cset \"name='UL3_CH1 ADDA_UL_CH1' 1\"
cset \"name='UL3_CH2 ADDA_UL_CH2' 1\"
]
DisableSequence [
]
}
SectionDevice.\"Headphone\" {
Value {
PlaybackPCM \"hw:mt8183da7219rt1,0\"
JackDev \"mt8183_da7219_rt1015p Headset Jack\"
JackSwitch \"2\"
}
ConflictingDevice [
\"Speaker\"
]
EnableSequence [
cdev \"hw:mt8183da7219rt1\"
cset \"name='I2S3_CH1 DL1_CH1' 1\"
cset \"name='I2S3_CH2 DL1_CH2' 1\"
]
DisableSequence [
cdev \"hw:mt8183da7219rt1\"
cset \"name='I2S3_CH1 DL1_CH1' 0\"
cset \"name='I2S3_CH2 DL1_CH2' 0\"
]
}
SectionDevice.\"Speaker\" {
Value {
PlaybackPCM \"hw:mt8183da7219rt1,0\"
DspName \"speaker_eq\"
}
ConflictingDevice [
\"Headphone\"
]
EnableSequence [
cdev \"hw:mt8183da7219rt1\"
cset \"name='I2S3_CH1 DL1_CH1' 1\"
cset \"name='I2S3_CH2 DL1_CH2' 1\"
]
DisableSequence [
cdev \"hw:mt8183da7219rt1\"
cset \"name='I2S3_CH1 DL1_CH1' 0\"
cset \"name='I2S3_CH2 DL1_CH2' 0\"
]
}
SectionDevice.\"Internal Mic\" {
Value {
CapturePCM \"hw:mt8183da7219rt1,5\"
CaptureChannelMap \"0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1\"
IntrinsicSensitivity \"-600\"
}
EnableSequence [
cdev \"hw:mt8183da7219rt1\"
cset \"name='MTKAIF_DMIC' 1\"
cset \"name='Mt6358 Mic Type Mux' 2\"
cset \"name='UL3_CH1 ADDA_UL_CH1' 1\"
cset \"name='UL3_CH2 ADDA_UL_CH2' 1\"
]
DisableSequence [
cdev \"hw:mt8183da7219rt1\"
cset \"name='MTKAIF_DMIC' 0\"
cset \"name='Mt6358 Mic Type Mux' 0\"
cset \"name='UL3_CH1 ADDA_UL_CH1' 0\"
cset \"name='UL3_CH2 ADDA_UL_CH2' 0\"
]
}
" > /usr/share/alsa/ucm2/mt8183_da7219_r/HiFi.conf
echo "
alsaucm -n -b - <<EOM
open mt8183_da7219_r
reset
set _verb HiFi
set _enadev Speaker
EOM
exit 0
" >> /etc/rc.local
echo "
downloading the kernel...
"
apt update
apt install wget -y
cd /tmp
mkdir mnt
wget https://github.com/hexdump0815/linux-mainline-mediatek-mt81xx-kernel/releases/download/5.18.1-stb-mt8%2B/5.18.1-stb-mt8+.tar.gz
echo "Do you wish to install the kernel? YOUR INSTALLATION HAS TO BE ON /dev/sda!!! THIS CAN NOT BE UNDONE AND MAY DAMAGE YOUR DEVICE!!!"
select yn in "Yes" "No"; do
case $yn in
Yes )
mount /dev/sda4 /tmp/mnt;
mount /dev/sda3 /tmp/mnt/boot;
cd /tmp/mnt;
tar xzf ../5.18.1-stb-mt8+.tar.gz;
dd if=boot/vmlinux.kpart-5.18.1-stb-mt8+ of=/dev/sda1;
umount /tmp/mnt/boot /tmp/mnt;
echo "kernel successfully written...";
break;;
No ) exit;;
esac
done
echo "Do you wish to reboot?"
select yn in "Yes" "No"; do
case $yn in
Yes )
reboot;
break;;
No ) exit;;
esac
done
i have added the ucm files and adjusted the rc.local in the imagebuilder (https://github.com/hexdump0815/imagebuilder/commit/89676f88f4385cc06856c2e5df460855dc877989) and will build a new image based on this one now
new bullseye image is up now: https://github.com/hexdump0815/imagebuilder/releases/tag/220606-01 - it would be nice if you could test boot it to see if audio now works out of the box on fennel14 too with it ... as soon as this is checked i'll build the jammy image too and upload it as well
Will do
@hexdump0815 i am happy to say, everything works now out of the box, including bluetooth and sound! thanks... i think, this and the bluetooth issue can be closed
@BenjaminWegener - i'm happy to hear this - thanks a lot for making this work and for the testing ... uploading the jammy image right now ... so welcome to fennel14 to the fully supported kukui devices club :)
btw. you mentioned in your status github issue that hardware video decoding is working - i think it is still done in software and the cpu is fast enough to easily do it ... there is some hw video decoder support for the mediatek socs in the tree i think, but things are not wired up properly yet (and not sure if and when they will) so that normal apps like firefox etc. can make use of it as far as i know
new images with working fennel14 audio are out, so lets close this issue ...
@BenjaminWegener - i'm happy to hear this - thanks a lot for making this work and for the testing ... uploading the jammy image right now ... so welcome to fennel14 to the fully supported kukui devices club :)
btw. you mentioned in your status github issue that hardware video decoding is working - i think it is still done in software and the cpu is fast enough to easily do it ... there is some hw video decoder support for the mediatek socs in the tree i think, but things are not wired up properly yet (and not sure if and when they will) so that normal apps like firefox etc. can make use of it as far as i know
@hexdump0815 maybe, i dont know. i have a few things i am free to test now, learned a lot about kernel and stuff the past days. first will be the open source arm mali driver to test, i know, its not free as in GNU but i want to know exactly what the mali 72 is capable of...
it looks like the audio driver is not probed properly on fennel14 and a proper ucm file for it needs to be created and tested.