diff --git a/recipes-kernel/linux/linux-seconorth-5.10/imx6guf/defconfig b/recipes-kernel/linux/linux-seconorth-5.10/imx6guf/defconfig index 3733e4f0a440185eb5eb45a5c4ba207d15934411..e311624e402f6a90f7c5b7082f867c8f613dbfc3 100644 --- a/recipes-kernel/linux/linux-seconorth-5.10/imx6guf/defconfig +++ b/recipes-kernel/linux/linux-seconorth-5.10/imx6guf/defconfig @@ -181,6 +181,7 @@ CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_ADS7846=y CONFIG_TOUCHSCREEN_AD7879=y CONFIG_TOUCHSCREEN_AD7879_I2C=y +CONFIG_TOUCHSCREEN_ATMEL_MXT=y CONFIG_TOUCHSCREEN_EGALAX=y CONFIG_TOUCHSCREEN_GOODIX=y CONFIG_TOUCHSCREEN_MAX11801=y diff --git a/recipes-kernel/touchdriver/atmel-mxt-skip-fwr-fallback.bb b/recipes-kernel/touchdriver/atmel-mxt-skip-fwr-fallback.bb new file mode 100644 index 0000000000000000000000000000000000000000..4ef759e1a4a229369b16091ce4bfb9d769ae0de1 --- /dev/null +++ b/recipes-kernel/touchdriver/atmel-mxt-skip-fwr-fallback.bb @@ -0,0 +1,20 @@ +SUMMARY = "Workaround to skip the sysfs firmware fallback of the atmel maxTouch at boot up" +# The current version of the atmel_mxt_ts driver tries to load a controller configuration +# on each driver probe. However, if no config is provided or can't be provided because +# the driver is build in, the driver probing process is delayed by 60 seconds because +# of a sysfs firmware load fallback. To shorten this delay, this recipe adds a udev rule +# that cancels the sysfs firmware fallback. + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +FILESEXTRAPATHS:append := "${THISDIR}/${PN}:" + +SRC_URI += " \ + file://skip_atmel-mxt_fwr_fallback.rules \ +" + +do_install() { + install -d ${D}${sysconfdir}/udev/rules.d/ + install -m 0644 ${WORKDIR}/skip_atmel-mxt_fwr_fallback.rules ${D}${sysconfdir}/udev/rules.d +} diff --git a/recipes-kernel/touchdriver/atmel-mxt-skip-fwr-fallback/skip_atmel-mxt_fwr_fallback.rules b/recipes-kernel/touchdriver/atmel-mxt-skip-fwr-fallback/skip_atmel-mxt_fwr_fallback.rules new file mode 100644 index 0000000000000000000000000000000000000000..e4244226228da389eb3ff4db41b33ffaa43b34ee --- /dev/null +++ b/recipes-kernel/touchdriver/atmel-mxt-skip-fwr-fallback/skip_atmel-mxt_fwr_fallback.rules @@ -0,0 +1,2 @@ +ACTION=="add", SUBSYSTEM=="firmware", ENV{FIRMWARE}=="maxtouch.cfg", ATTR{loading}="-1" + diff --git a/recipes-kernel/touchdriver/packagegroup-seconorth-touchdriver.bb b/recipes-kernel/touchdriver/packagegroup-seconorth-touchdriver.bb index 3a68e8d39e569bc75c700541e6b5d90225111e73..7ac47d399de8caaf97e8412774572e5934bacdcc 100644 --- a/recipes-kernel/touchdriver/packagegroup-seconorth-touchdriver.bb +++ b/recipes-kernel/touchdriver/packagegroup-seconorth-touchdriver.bb @@ -5,7 +5,6 @@ inherit packagegroup UNUSED_DRIVERS = " \ - atmel-mxt \ auo-pixcir \ edt-ft5x06 \ himax \ @@ -19,8 +18,17 @@ RDEPENDS:${PN} = " \ scx0500633 \ " -RDEPENDS:${PN}:append_mx6q = " \ +RDEPENDS:${PN}:append:mx6q = " \ sis-i2c \ eetii2c \ ni-force-ts \ " + +# This is not used for fng system, so use the override +# this is ugly as the override comes from the distro +# layer. But this hack is ugly anyway an may be +# replaced using the atmel driver instead of the mainline +# driver +RDEPENDS:${PN}:append:seconorth = " \ + atmel-mxt-skip-fwr-fallback \ +"