From 13649dbb7128dc0f62ecee23c3cc1228f589cee4 Mon Sep 17 00:00:00 2001 From: user0-07161 Date: Wed, 15 Oct 2025 16:57:48 +0200 Subject: [PATCH] amazon-checkers: enable wifi, fix crashes I've also added myself as a maintainer everywhere as I forgot to do that in the initial MR. Co-authored-by: Clayton Craft Part-of: --- .../device-amazon-checkers/APKBUILD | 9 +- .../device-amazon-checkers/modules-load.conf | 7 + .../firmware-amazon-checkers/APKBUILD | 25 ++++ .../0004-Include-Wi-Fi-Firmware.patch | 36 +++++ .../0005-Add-modinst-Makefile.patch | 132 ++++++++++++++++++ .../downstream/linux-amazon-checkers/APKBUILD | 29 +++- .../config-amazon-checkers.armv7 | 25 ++-- .../remove-dummy-audio-mmap.patch | 50 +++++++ 8 files changed, 293 insertions(+), 20 deletions(-) create mode 100644 device/downstream/device-amazon-checkers/modules-load.conf create mode 100644 device/downstream/firmware-amazon-checkers/APKBUILD create mode 100644 device/downstream/linux-amazon-checkers/0004-Include-Wi-Fi-Firmware.patch create mode 100644 device/downstream/linux-amazon-checkers/0005-Add-modinst-Makefile.patch create mode 100644 device/downstream/linux-amazon-checkers/remove-dummy-audio-mmap.patch diff --git a/device/downstream/device-amazon-checkers/APKBUILD b/device/downstream/device-amazon-checkers/APKBUILD index 8b4efbb4f..cfe370bca 100644 --- a/device/downstream/device-amazon-checkers/APKBUILD +++ b/device/downstream/device-amazon-checkers/APKBUILD @@ -1,15 +1,20 @@ +# Maintainer: User0 # Reference: pkgname=device-amazon-checkers pkgdesc="Amazon Echo Show 5 1st Generation" -pkgver=1 +pkgver=2 pkgrel=0 url="https://postmarketos.org" license="MIT" arch="armv7" options="!check !archcheck" +# without the firmware package, the kernel seems to look for it for ~2 to ~3 mins, +# therefore putting this in depends and not _pmb_recommends +# # pulseaudio crashes the kernel depends=" + firmware-amazon-checkers linux-amazon-checkers mkbootimg postmarketos-base @@ -20,6 +25,7 @@ makedepends="devicepkg-dev" source=" deviceinfo + modules-load.conf " build() { @@ -32,4 +38,5 @@ package() { sha512sums=" 6a57608e01fe37118c87fbbc0e4c945661fabee07e50da280944f947d37919e175b6e2161e5c98052ecb9c9553ca20f7884a3bd5fefed37b58e18deba467ba9b deviceinfo +36298b8b278a3bc09ede09680533a54dc68ba265d79c4d701a54375b2be133bd23d133733187637b5a3d4b364be7a0740a9530f117e575866a49bd3229e8c0ef modules-load.conf " diff --git a/device/downstream/device-amazon-checkers/modules-load.conf b/device/downstream/device-amazon-checkers/modules-load.conf new file mode 100644 index 000000000..e7e88a8c9 --- /dev/null +++ b/device/downstream/device-amazon-checkers/modules-load.conf @@ -0,0 +1,7 @@ +# This file contains the names of kernel modules that should be loaded at boot time, one +# per line. Lines beginning with "#" are ignored. + +# Wi-Fi module +wlan_mt76x8_sdio + + diff --git a/device/downstream/firmware-amazon-checkers/APKBUILD b/device/downstream/firmware-amazon-checkers/APKBUILD new file mode 100644 index 000000000..f167cdabe --- /dev/null +++ b/device/downstream/firmware-amazon-checkers/APKBUILD @@ -0,0 +1,25 @@ +# Maintainer: User0 +pkgname=firmware-amazon-checkers +pkgver=1 +pkgrel=0 +pkgdesc="Firmware for Amazon Echo Show 5 (1st Gen)" +url="https://github.com/user0-07161/wifi-firmware-amazon-checkers" +arch="armv7" +license="proprietary" +options="!check !strip !archcheck !spdx !tracedeps pmb:cross-native" + +_commit="1531bbbe7b5c22e084605210208d19a54f60054e" +_repository="wifi-firmware-amazon-checkers" + +source="$_repository-$_commit.tar.gz::https://github.com/user0-07161/$_repository/archive/$_commit.tar.gz" +builddir="$srcdir/$_repository-$_commit" + +package() { + mkdir -p "$pkgdir/usr/lib/firmware" + + mv * "$pkgdir"/usr/lib/firmware/ +} + +sha512sums=" +f53713c18db69d62c10a9cdb9e51269134f5b7724b0c0decba53f5bb4c575bf80c2fc741db73de68e89349dbfbaf7440a36d89fc152945dab1b0a44519c2f873 wifi-firmware-amazon-checkers-1531bbbe7b5c22e084605210208d19a54f60054e.tar.gz +" diff --git a/device/downstream/linux-amazon-checkers/0004-Include-Wi-Fi-Firmware.patch b/device/downstream/linux-amazon-checkers/0004-Include-Wi-Fi-Firmware.patch new file mode 100644 index 000000000..cc62efd5b --- /dev/null +++ b/device/downstream/linux-amazon-checkers/0004-Include-Wi-Fi-Firmware.patch @@ -0,0 +1,36 @@ +From 2b81a237b028e63d1e5e26330c97a007db0a2178 Mon Sep 17 00:00:00 2001 +From: user0-07161 +Date: Wed, 15 Oct 2025 13:14:53 +0200 +Subject: [PATCH] Include Wi-Fi Firmware + +--- + drivers/net/wireless/Kconfig | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig +index 8c8edaf..8c74e75 100644 +--- a/drivers/net/wireless/Kconfig ++++ b/drivers/net/wireless/Kconfig +@@ -32,6 +32,7 @@ source "drivers/net/wireless/rsi/Kconfig" + source "drivers/net/wireless/st/Kconfig" + source "drivers/net/wireless/ti/Kconfig" + source "drivers/net/wireless/zydas/Kconfig" ++source "drivers/net/wireless/wifimtk/Kconfig" + + config PCMCIA_RAYCS + tristate "Aviator/Raytheon 2.4GHz wireless support" +-- +diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile +index f00d429..36dad04 100644 +--- a/drivers/net/wireless/Makefile ++++ b/drivers/net/wireless/Makefile +@@ -11,6 +11,7 @@ obj-$(CONFIG_WLAN_VENDOR_INTEL) += intel/ + obj-$(CONFIG_WLAN_VENDOR_INTERSIL) += intersil/ + obj-$(CONFIG_WLAN_VENDOR_MARVELL) += marvell/ + obj-$(CONFIG_WLAN_VENDOR_MEDIATEK) += mediatek/ ++obj-$(CONFIG_WLAN_VENDOR_MEDIATEK) += wifimtk/ + obj-$(CONFIG_WLAN_VENDOR_RALINK) += ralink/ + obj-$(CONFIG_WLAN_VENDOR_REALTEK) += realtek/ + obj-$(CONFIG_WLAN_VENDOR_RSI) += rsi/ +2.51.0 + diff --git a/device/downstream/linux-amazon-checkers/0005-Add-modinst-Makefile.patch b/device/downstream/linux-amazon-checkers/0005-Add-modinst-Makefile.patch new file mode 100644 index 000000000..999874eaf --- /dev/null +++ b/device/downstream/linux-amazon-checkers/0005-Add-modinst-Makefile.patch @@ -0,0 +1,132 @@ +From 2d9ed388316294678a3efa8ae113d54ed32e54a0 Mon Sep 17 00:00:00 2001 +From: user0-07161 +Date: Wed, 15 Oct 2025 15:15:39 +0200 +Subject: [PATCH] add modinst makefile + +--- + scripts/Makefile.modinst | 41 +++++++++++++++++++++++++ + scripts/depmod.sh | 64 ++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 105 insertions(+) + create mode 100644 scripts/Makefile.modinst + create mode 100755 scripts/depmod.sh + +diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst +new file mode 100644 +index 0000000..07650ee +--- /dev/null ++++ b/scripts/Makefile.modinst +@@ -0,0 +1,41 @@ ++# ========================================================================== ++# Installing modules ++# ========================================================================== ++ ++PHONY := __modinst ++__modinst: ++ ++include scripts/Kbuild.include ++ ++# ++ ++__modules := $(sort $(shell grep -h '\.ko$$' /dev/null $(wildcard $(MODVERDIR)/*.mod))) ++modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o))) ++ ++PHONY += $(modules) ++__modinst: $(modules) ++ @: ++ ++# Don't stop modules_install if we can't sign external modules. ++quiet_cmd_modules_install = INSTALL $@ ++ cmd_modules_install = \ ++ mkdir -p $(2) ; \ ++ cp $@ $(2) ; \ ++ $(mod_strip_cmd) $(2)/$(notdir $@) ; \ ++ $(mod_sign_cmd) $(2)/$(notdir $@) $(patsubst %,|| true,$(KBUILD_EXTMOD)) && \ ++ $(mod_compress_cmd) $(2)/$(notdir $@) ++ ++# Modules built outside the kernel source tree go into extra by default ++INSTALL_MOD_DIR ?= extra ++ext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D)) ++ ++modinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D)) ++ ++$(modules): ++ $(call cmd,modules_install,$(MODLIB)/$(modinst_dir)) ++ ++ ++# Declare the contents of the .PHONY variable as phony. We keep that ++# information in a variable so we can use it in if_changed and friends. ++ ++.PHONY: $(PHONY) +diff --git a/scripts/depmod.sh b/scripts/depmod.sh +new file mode 100755 +index 0000000..122599b +--- /dev/null ++++ b/scripts/depmod.sh +@@ -0,0 +1,64 @@ ++#!/bin/sh ++# ++# A depmod wrapper used by the toplevel Makefile ++ ++if test $# -ne 3; then ++ echo "Usage: $0 /sbin/depmod " >&2 ++ exit 1 ++fi ++DEPMOD=$1 ++KERNELRELEASE=$2 ++SYMBOL_PREFIX=$3 ++ ++if ! test -r System.map -a -x "$DEPMOD"; then ++ exit 0 ++fi ++ ++# older versions of depmod don't support -P ++# support was added in module-init-tools 3.13 ++if test -n "$SYMBOL_PREFIX"; then ++ release=$("$DEPMOD" --version) ++ package=$(echo "$release" | cut -d' ' -f 1) ++ if test "$package" = "module-init-tools"; then ++ version=$(echo "$release" | cut -d' ' -f 2) ++ later=$(printf '%s\n' "$version" "3.13" | sort -V | tail -n 1) ++ if test "$later" != "$version"; then ++ # module-init-tools < 3.13, drop the symbol prefix ++ SYMBOL_PREFIX="" ++ fi ++ fi ++ if test -n "$SYMBOL_PREFIX"; then ++ SYMBOL_PREFIX="-P $SYMBOL_PREFIX" ++ fi ++fi ++ ++# older versions of depmod require the version string to start with three ++# numbers, so we cheat with a symlink here ++depmod_hack_needed=true ++tmp_dir=$(mktemp -d ${TMPDIR:-/tmp}/depmod.XXXXXX) ++mkdir -p "$tmp_dir/lib/modules/$KERNELRELEASE" ++if "$DEPMOD" -b "$tmp_dir" $KERNELRELEASE 2>/dev/null; then ++ if test -e "$tmp_dir/lib/modules/$KERNELRELEASE/modules.dep" -o \ ++ -e "$tmp_dir/lib/modules/$KERNELRELEASE/modules.dep.bin"; then ++ depmod_hack_needed=false ++ fi ++fi ++rm -rf "$tmp_dir" ++if $depmod_hack_needed; then ++ symlink="$INSTALL_MOD_PATH/lib/modules/99.98.$KERNELRELEASE" ++ ln -s "$KERNELRELEASE" "$symlink" ++ KERNELRELEASE=99.98.$KERNELRELEASE ++fi ++ ++set -- -ae -F System.map ++if test -n "$INSTALL_MOD_PATH"; then ++ set -- "$@" -b "$INSTALL_MOD_PATH" ++fi ++"$DEPMOD" "$@" "$KERNELRELEASE" $SYMBOL_PREFIX ++ret=$? ++ ++if $depmod_hack_needed; then ++ rm -f "$symlink" ++fi ++ ++exit $ret +-- +2.51.0 + diff --git a/device/downstream/linux-amazon-checkers/APKBUILD b/device/downstream/linux-amazon-checkers/APKBUILD index 243cd6ca4..a10633f5a 100644 --- a/device/downstream/linux-amazon-checkers/APKBUILD +++ b/device/downstream/linux-amazon-checkers/APKBUILD @@ -1,9 +1,9 @@ +# Maintainer: User0 # Reference: # Kernel config based on: arch/arm/configs/checkers_defconfig - pkgname=linux-amazon-checkers pkgver=4.9.77 -pkgrel=0 +pkgrel=1 pkgdesc="Amazon Echo Show 5 1st Generation kernel fork" arch="armv7" _carch="arm" @@ -23,24 +23,37 @@ makedepends=" " _repository="linux-downstream" +_repository_firmware_wifi="firmware-amazon-checkers" _commit="846c2e61fec7d94feed35e58812bb8b97eb59aab" +_commit_firmware_wifi="ba66f7a1535bda706f67d5becd8d3148523e5eec" _config="config-$_flavor.$arch" # NOTE: despite the github namespace, this is *NOT* a mainline kernel! source=" $pkgname-$_commit.tar.gz::https://github.com/checkers-mainline/$_repository/archive/$_commit.tar.gz + $pkgname-wifi-$_commit_firmware_wifi.tar.gz::https://github.com/user0-07161/$_repository_firmware_wifi/archive/$_commit_firmware_wifi.tar.gz $_config 0001-Remove-redundant-YYLOC-global-declaration.patch 0002-Fix-solaris-style-flag.patch 0003-Add-missing-kconfig-files.patch + 0004-Include-Wi-Fi-Firmware.patch + 0005-Add-modinst-Makefile.patch fix-check-lxdialog.patch fix-check-lxdialog-makefile.patch + remove-dummy-audio-mmap.patch " builddir="$srcdir/$_repository-$_commit" _outdir="out" prepare() { default_prepare + + mkdir -p "$builddir/drivers/net/wireless/wifimtk" + cp -rv "$srcdir/$_repository_firmware_wifi-$_commit_firmware_wifi"/* \ + "$builddir/drivers/net/wireless/wifimtk/" + ln -sf "$builddir/drivers/net/wireless/wifimtk/config/checkers.config" \ + "$builddir/drivers/net/wireless/wifimtk/.config" + . downstreamkernel_prepare } @@ -53,14 +66,24 @@ build() { package() { downstreamkernel_package "$builddir" "$pkgdir" "$_carch" \ "$_flavor" "$_outdir" + + unset LDFLAGS + make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \ + KBUILD_BUILD_VERSION="$((pkgrel + 1))-postmarketOS" \ + INSTALL_MOD_PATH="$pkgdir" INSTALL_MOD_STRIP=1 \ + modules_install } sha512sums=" 68dd148b050277f66ec243e6a129257f1b23b841009258e2be50e0a46208765595f6b4db2b726b243f203c20bddb5e52461e97d2252010b0cb82f07b402fa8ed linux-amazon-checkers-846c2e61fec7d94feed35e58812bb8b97eb59aab.tar.gz -82585dc91763436b55dee7c1d3f522ed059556e2f5c14c6f186efebb7a9388d5632fe4bdf2ad0bba910a867cbe108d69422d4678f374c7b5575ba2023b886cc6 config-amazon-checkers.armv7 +f5c87f01a171f69fd8fe1ad93fb896ad9e54be09d18b798ad3692a13409c97e6e0e903ce1a7db78ae7b95ab8f9c3b263f48a53b1b6828972afeac7569f3801e8 linux-amazon-checkers-wifi-ba66f7a1535bda706f67d5becd8d3148523e5eec.tar.gz +92409ede013b6cc3b0effa45e07128539675917f796f063bd236ceba88d8674e67e5eb9f5bd8278dc17d0d6d14f7c62027409df15aa10a6291d834930606b5a3 config-amazon-checkers.armv7 3fa90b7883d66e85e2f7a2d8011643f1a378169269fd8b172185e1179b6862789caadc500fc930f7b32498770d1f0145cf25dfe10022f99db60918bca01ef7e8 0001-Remove-redundant-YYLOC-global-declaration.patch 491879bc492820e608b3604daca24f26187f6e552ec47d358d205118179f89594f9cbb1480ad0d5c7a94126dfe523fd6e1bbb594821431967ee59f6908ebeeea 0002-Fix-solaris-style-flag.patch 0f7c76b206144d78a0f8fb18979f363c008bebbac96e075824c69651d52a2c06c8e5db5060b61033517e4c78d54cb9c446dfa03e1ddfac9e5fb44a6bfdf42265 0003-Add-missing-kconfig-files.patch +ad4fce05db2247c9353afe63f54cfaac54bd96266ffc6572e0e0dfeefe090b90e08ee44e0825e59ee3615b72adcbb4373b6c4e81b2989f170f24394a6d23668c 0004-Include-Wi-Fi-Firmware.patch +2a58983f0f9f955c5219358fa88f1b68cf832e2df4982d40a5e6cbd0cd40470a60f7b1e93c77de15b6a5e9d591ac9f6b329afd04422277b19dfa9f7ce5f26127 0005-Add-modinst-Makefile.patch 182be3c596b9cc267ac108d7cf03fc8c328ccc6b36770800e4dcedea8d1bb65e3f5eacf590c2948f58b1418cc60a1670ba77dde8c259e428d158c31b6e1dbaf5 fix-check-lxdialog.patch c33fad9de627e72f12e61e728fa1ec53ef15259c7790392a997cc7269e60e45da9534d58851c3b348a1729aaa134d1df305e33546e8a1f3654462f2c3c1d9563 fix-check-lxdialog-makefile.patch +e6f11b7a87c68ad0d9bb85361fe0d99f957e2bcba6c86d314b9ef558b526a7dfd8efcbe7698b686c396ef31f98ae33bd097736ea20f65612755838acb94a03bf remove-dummy-audio-mmap.patch " diff --git a/device/downstream/linux-amazon-checkers/config-amazon-checkers.armv7 b/device/downstream/linux-amazon-checkers/config-amazon-checkers.armv7 index edfc3cffb..b19938800 100644 --- a/device/downstream/linux-amazon-checkers/config-amazon-checkers.armv7 +++ b/device/downstream/linux-amazon-checkers/config-amazon-checkers.armv7 @@ -1121,7 +1121,7 @@ CONFIG_DST_CACHE=y # CONFIG_NET_DEVLINK is not set CONFIG_MAY_USE_DEVLINK=y CONFIG_HAVE_CBPF_JIT=y -# CONFIG_MTK_NET_LOGGING is not set +CONFIG_MTK_NET_LOGGING=y # # Device Drivers @@ -1433,6 +1433,8 @@ CONFIG_MTK_COMBO_CHIP_MT7668=y CONFIG_MTK_COMBO_CHIP="MT7668" CONFIG_MTK_COMBO_PLAT_PATH="" # CONFIG_MTK_COMBO_COMM is not set +CONFIG_MTK_COMBO_COMM_UART=y +CONFIG_MTK_COMBO_COMM_SDIO=y CONFIG_MTK_COMBO_BT=y # CONFIG_MTK_COMBO_ANT is not set # CONFIG_MTK_COMBO_GPS is not set @@ -1797,6 +1799,12 @@ CONFIG_WLAN_VENDOR_MEDIATEK=y # CONFIG_WLAN_VENDOR_ST is not set # CONFIG_WLAN_VENDOR_TI is not set # CONFIG_WLAN_VENDOR_ZYDAS is not set + +# +# wifimtk +# +CONFIG_MTK_WIFI_ONLY=y +CONFIG_MTK_MT_WIFI_CHRDEV=y # CONFIG_USB_NET_RNDIS_WLAN is not set # @@ -3198,21 +3206,6 @@ CONFIG_USB_F_FS=y CONFIG_USB_F_AUDIO_SRC=y # CONFIG_USB_CONFIGFS is not set CONFIG_USB_G_ANDROID=y -# CONFIG_USB_ZERO is not set -# CONFIG_USB_AUDIO is not set -# CONFIG_USB_ETH is not set -# CONFIG_USB_G_NCM is not set -# CONFIG_USB_GADGETFS is not set -# CONFIG_USB_FUNCTIONFS is not set -# CONFIG_USB_MASS_STORAGE is not set -# CONFIG_USB_G_SERIAL is not set -# CONFIG_USB_MIDI_GADGET is not set -# CONFIG_USB_G_PRINTER is not set -# CONFIG_USB_CDC_COMPOSITE is not set -# CONFIG_USB_G_ACM_MS is not set -# CONFIG_USB_G_MULTI is not set -# CONFIG_USB_G_HID is not set -# CONFIG_USB_G_DBGP is not set # CONFIG_USB_LED_TRIG is not set # CONFIG_USB_ULPI_BUS is not set # CONFIG_UWB is not set diff --git a/device/downstream/linux-amazon-checkers/remove-dummy-audio-mmap.patch b/device/downstream/linux-amazon-checkers/remove-dummy-audio-mmap.patch new file mode 100644 index 000000000..2e63d5c53 --- /dev/null +++ b/device/downstream/linux-amazon-checkers/remove-dummy-audio-mmap.patch @@ -0,0 +1,50 @@ +remove mmap capability from amazon mt8163 pcm audio driver + +For reasons known only to MediaTek, the pcm driver used by most amazon devices +of this era provide a fake zero page address whenever a mmap is attempted. +Naturally, this causes a kernel panic when an audio server like pulseaudio +attempts to mmap the sound device using the fake address. Remove this dummy +page function and remove mmap flags from the driver description so pulse +handles the device correctly. + +Verified on amazon-biscuit (Echo Dot 2G) but may also apply to other MT8163 +devices like karnak and douglas. MT8127 devices like ford appear to pull this +dummy page trick as well, so a modified patch may work there. +diff --git a/sound/soc/mediatek/mt_soc_audio_8163_amzn/mt_soc_pcm_dl1_i2s0Dl1.c b/sound/soc/mediatek/mt_soc_audio_8163_amzn/mt_soc_pcm_dl1_i2s0Dl1.c +index b68f2fa..afaaba8 100644 +--- a/sound/soc/mediatek/mt_soc_audio_8163_amzn/mt_soc_pcm_dl1_i2s0Dl1.c ++++ b/sound/soc/mediatek/mt_soc_audio_8163_amzn/mt_soc_pcm_dl1_i2s0Dl1.c +@@ -124,8 +124,7 @@ static const struct snd_kcontrol_new Audio_snd_I2S0dl1_controls[] = { + + static struct snd_pcm_hardware mtk_I2S0dl1_hardware = { + +- .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | +- SNDRV_PCM_INFO_RESUME | SNDRV_PCM_INFO_MMAP_VALID), ++ .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_RESUME), + .formats = SND_SOC_ADV_MT_FMTS, + .rates = SOC_HIGH_USE_RATE, + .rate_min = SOC_HIGH_USE_RATE_MIN, +@@ -1125,15 +1125,6 @@ static int mtk_pcm_I2S0dl1_silence(struct snd_pcm_substream *substream, + return 0; + } + +-static void *dummy_page[2]; +- +-static struct page *mtk_I2S0dl1_pcm_page(struct snd_pcm_substream *substream, +- unsigned long offset) +-{ +- pr_debug("%s\n", __func__); +- return virt_to_page(dummy_page[substream->stream]); +-} +- + static int mtk_I2S0dl1_reboot(struct notifier_block *nb, + unsigned long action, void *data) + { +@@ -908,7 +899,6 @@ static struct snd_pcm_ops mtk_I2S0dl1_ops = { + .pointer = mtk_pcm_I2S0dl1_pointer, + .copy = mtk_pcm_I2S0dl1_copy, + .silence = mtk_pcm_I2S0dl1_silence, +- .page = mtk_I2S0dl1_pcm_page, + }; + + static struct snd_soc_platform_driver mtk_I2S0dl1_soc_platform = {