summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoao Paulo Goncalves <joao.goncalves@toradex.com>2024-03-05 13:09:46 -0300
committerMax Krummenacher <max.krummenacher@toradex.com>2024-03-07 13:59:04 +0000
commitfbae91a4f6e19022aaf107d6a71297458b11752a (patch)
tree0711edf92b34495c47e1f7c057ac09e8eecf3281
parenta707784329cbf31448288cbcc327172e7449e6ea (diff)
linux-toradex-upstream: add v6.6 kernel recipe
Add recipe for kernel v6.6 for BSP7. Related-to: ELB-5616 Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0001-ARM-dts-imx6qdl-apalis-Add-usdhc-aliases.patch38
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0001-dt-bindings-arm-fsl-Add-toradex-apalis_imx6q-eval-v1.patch52
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0001-dt-bindings-arm-fsl-add-verdin-imx8mm-mallow-board.patch44
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0001-power-reset-gpio-poweroff-use-a-struct-to-store-the-.patch110
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0001-thermal-imx-Update-critical-temp-threshold.patch40
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0001-usb-gadget-f_ncm-Apply-workaround-for-packet-cloggin.patch68
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0002-ARM-dts-imx-Add-support-for-Apalis-Evaluation-Board-.patch530
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0002-ARM-dts-imx6qdl-colibri-Add-usdhc-aliases.patch38
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0002-Revert-drm-panel-simple-drop-use-of-data-mapping-pro.patch61
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0002-arm64-dts-freescale-verdin-imx8mm-add-support-to-mal.patch273
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0002-power-reset-gpio-poweroff-use-sys-off-handler-API.patch103
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0003-ARM-dts-imx7d-colibri-emmc-Add-usdhc-aliases.patch35
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0003-drivers-chipidea-disable-runtime-pm-for-imx6ul.patch39
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0003-dt-bindings-power-reset-gpio-poweroff-Add-priority-p.patch45
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0004-media-i2c-ov5640-Implement-get_mbus_config.patch54
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0004-power-reset-gpio-poweroff-make-sys-handler-priority-.patch54
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/aarch64/defconfig1025
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/aarch64/toradex_aarch64.config527
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/defconfig421
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/toradex_imx_v6_v7.config299
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream_6.6.bb30
21 files changed, 3886 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-ARM-dts-imx6qdl-apalis-Add-usdhc-aliases.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-ARM-dts-imx6qdl-apalis-Add-usdhc-aliases.patch
new file mode 100644
index 0000000..276288a
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-ARM-dts-imx6qdl-apalis-Add-usdhc-aliases.patch
@@ -0,0 +1,38 @@
+From 301d47dae8429cc48cc91a059c2b24a9612b6254 Mon Sep 17 00:00:00 2001
+From: Hiago De Franco <hiago.franco@toradex.com>
+Date: Mon, 20 Nov 2023 21:58:16 +0100
+Subject: [PATCH 1/3] ARM: dts: imx6qdl-apalis: Add usdhc aliases
+
+Add mmc aliases to ensure a consistent mmc device naming across the
+Toradex SoM family, with this commit mmc0 is the on-module eMMC
+boot device and the not available mmc interfaces are removed.
+
+Upstream-Status: Backport [cdb7389abe3065be80e70e8112afb1f625e7a770]
+
+Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
+Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+---
+ arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi
+index 4cc965277c521..dec2a1c9db142 100644
+--- a/arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi
++++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi
+@@ -12,6 +12,13 @@ / {
+ model = "Toradex Apalis iMX6Q/D Module";
+ compatible = "toradex,apalis_imx6q", "fsl,imx6q";
+
++ aliases {
++ mmc0 = &usdhc3; /* eMMC */
++ mmc1 = &usdhc1; /* MMC1 slot */
++ mmc2 = &usdhc2; /* SD1 slot */
++ /delete-property/ mmc3;
++ };
++
+ /* Will be filled by the bootloader */
+ memory@10000000 {
+ device_type = "memory";
+--
+2.34.1
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-dt-bindings-arm-fsl-Add-toradex-apalis_imx6q-eval-v1.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-dt-bindings-arm-fsl-Add-toradex-apalis_imx6q-eval-v1.patch
new file mode 100644
index 0000000..3405ee4
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-dt-bindings-arm-fsl-Add-toradex-apalis_imx6q-eval-v1.patch
@@ -0,0 +1,52 @@
+From 07aff3753a49d9c70cd98571a7bf58e61f8d9fed Mon Sep 17 00:00:00 2001
+From: Hiago De Franco <hiago.franco@toradex.com>
+Date: Wed, 24 Jan 2024 11:13:19 -0300
+Subject: [PATCH 1/2] dt-bindings: arm: fsl: Add toradex,apalis_imx6q-eval-v1.2
+ board
+
+Add the toradex,apalis_imx6q-eval-v1.2 compatible string for version 1.2
+of the Apalis Evaluation Board.
+
+Version v1.2 includes the following changes compared to v1.1:
+
+- 8-bit MMC connector replaced with a 4-bit uSD connector.
+- Audio codec NAU88C22 added.
+- M24C02 EEPROM i2c added.
+- MIPI-CSI-2 connector directly to the board added.
+- PCIe switch PEX8605 removed and PCIe now is routed directly to Mini
+ PCIe connector.
+- Power measurement IC INA219 added.
+- Replaced DVI with HDMI connector.
+- Single-channel USB to UART converter replaced with four-channel USB
+ to UART/JTAG.
+- Temperature sensor TMP75 added.
+
+Please note that version v1.0 (which reached EOL) is compatible with
+v1.1, therefore toradex,apalis_imx6q-eval compatible string should be
+used for both v1.0 and v1.1.
+
+Upstream-Status: Submitted [https://lore.kernel.org/lkml/20240122123526.43400-1-hiagofranco@gmail.com/]
+
+Acked-by: Conor Dooley <conor.dooley@microchip.com>
+Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+---
+ Documentation/devicetree/bindings/arm/fsl.yaml | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
+index 9450b2c8a678f..9a3262ca169e2 100644
+--- a/Documentation/devicetree/bindings/arm/fsl.yaml
++++ b/Documentation/devicetree/bindings/arm/fsl.yaml
+@@ -381,7 +381,8 @@ properties:
+ - toradex,apalis_imx6q-ixora # Apalis iMX6Q/D Module on Ixora Carrier Board
+ - toradex,apalis_imx6q-ixora-v1.1 # Apalis iMX6Q/D Module on Ixora V1.1 Carrier Board
+ - toradex,apalis_imx6q-ixora-v1.2 # Apalis iMX6Q/D Module on Ixora V1.2 Carrier Board
+- - toradex,apalis_imx6q-eval # Apalis iMX6Q/D Module on Apalis Evaluation Board
++ - toradex,apalis_imx6q-eval # Apalis iMX6Q/D Module on Apalis Evaluation Board v1.0/v1.1
++ - toradex,apalis_imx6q-eval-v1.2 # Apalis iMX6Q/D Module on Apalis Evaluation Board v1.2
+ - const: toradex,apalis_imx6q
+ - const: fsl,imx6q
+
+--
+2.34.1
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-dt-bindings-arm-fsl-add-verdin-imx8mm-mallow-board.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-dt-bindings-arm-fsl-add-verdin-imx8mm-mallow-board.patch
new file mode 100644
index 0000000..7f14070
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-dt-bindings-arm-fsl-add-verdin-imx8mm-mallow-board.patch
@@ -0,0 +1,44 @@
+From b12afbf0aba29a6a5b70c356146e2dc8b530998c Mon Sep 17 00:00:00 2001
+From: Joao Paulo Goncalves <joao.goncalves@toradex.com>
+Date: Fri, 1 Dec 2023 16:07:32 +0100
+Subject: [PATCH 1/2] dt-bindings: arm: fsl: add verdin imx8mm mallow board
+
+Add Mallow carrier board for wifi and nonwifi variants of Toradex Verdin
+IMX8MM SoM. Mallow is a low-cost carrier board in the Verdin family with
+a small form factor and build for volume production making it ideal for
+industrial and embedded applications.
+
+https://www.toradex.com/products/carrier-board/mallow-carrier-board
+
+Upstream-Status: Backport [ffce67b61108aaab6061f122b5cffe6c4e59fee2]
+
+Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
+Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
+Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+---
+ Documentation/devicetree/bindings/arm/fsl.yaml | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
+index 9450b2c8a678f..beca54b61999b 100644
+--- a/Documentation/devicetree/bindings/arm/fsl.yaml
++++ b/Documentation/devicetree/bindings/arm/fsl.yaml
+@@ -958,6 +958,7 @@ properties:
+ - menlo,mx8menlo # Verdin iMX8M Mini Module on i.MX8MM Menlo board
+ - toradex,verdin-imx8mm-nonwifi-dahlia # Verdin iMX8M Mini Module on Dahlia
+ - toradex,verdin-imx8mm-nonwifi-dev # Verdin iMX8M Mini Module on Verdin Development Board
++ - toradex,verdin-imx8mm-nonwifi-mallow # Verdin iMX8M Mini Module on Mallow
+ - toradex,verdin-imx8mm-nonwifi-yavia # Verdin iMX8M Mini Module on Yavia
+ - const: toradex,verdin-imx8mm-nonwifi # Verdin iMX8M Mini Module without Wi-Fi / BT
+ - const: toradex,verdin-imx8mm # Verdin iMX8M Mini Module
+@@ -968,6 +969,7 @@ properties:
+ - enum:
+ - toradex,verdin-imx8mm-wifi-dahlia # Verdin iMX8M Mini Wi-Fi / BT Module on Dahlia
+ - toradex,verdin-imx8mm-wifi-dev # Verdin iMX8M Mini Wi-Fi / BT M. on Verdin Development B.
++ - toradex,verdin-imx8mm-wifi-mallow # Verdin iMX8M Mini Wi-Fi / BT Module on Mallow
+ - toradex,verdin-imx8mm-wifi-yavia # Verdin iMX8M Mini Wi-Fi / BT Module on Yavia
+ - const: toradex,verdin-imx8mm-wifi # Verdin iMX8M Mini Wi-Fi / BT Module
+ - const: toradex,verdin-imx8mm # Verdin iMX8M Mini Module
+--
+2.34.1
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-power-reset-gpio-poweroff-use-a-struct-to-store-the-.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-power-reset-gpio-poweroff-use-a-struct-to-store-the-.patch
new file mode 100644
index 0000000..561091f
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-power-reset-gpio-poweroff-use-a-struct-to-store-the-.patch
@@ -0,0 +1,110 @@
+From 248de784e6db9afc2eb9b01a123ce27324d16457 Mon Sep 17 00:00:00 2001
+From: Stefan Eichenberger <stefan.eichenberger@toradex.com>
+Date: Fri, 6 Oct 2023 10:04:25 -0300
+Subject: [PATCH 1/4] power: reset: gpio-poweroff: use a struct to store the
+ module variables
+
+Use a struct to store the module variables. This is required to later
+move to notifier_blocks where we can have several instances.
+
+Upstream-Status: Backport [13b4c6964665cadb9b06c085029710c43a0c662]
+
+Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
+Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
+Link: https://lore.kernel.org/r/20231006130428.11259-2-francesco@dolcini.it
+Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
+---
+ drivers/power/reset/gpio-poweroff.c | 48 +++++++++++++++++++----------
+ 1 file changed, 31 insertions(+), 17 deletions(-)
+
+diff --git a/drivers/power/reset/gpio-poweroff.c b/drivers/power/reset/gpio-poweroff.c
+index b28f24da1b3cd..dea550e422f3c 100644
+--- a/drivers/power/reset/gpio-poweroff.c
++++ b/drivers/power/reset/gpio-poweroff.c
+@@ -17,32 +17,37 @@
+ #include <linux/module.h>
+
+ #define DEFAULT_TIMEOUT_MS 3000
++
++struct gpio_poweroff {
++ struct gpio_desc *reset_gpio;
++ u32 timeout_ms;
++ u32 active_delay_ms;
++ u32 inactive_delay_ms;
++};
++
+ /*
+ * Hold configuration here, cannot be more than one instance of the driver
+ * since pm_power_off itself is global.
+ */
+-static struct gpio_desc *reset_gpio;
+-static u32 timeout = DEFAULT_TIMEOUT_MS;
+-static u32 active_delay = 100;
+-static u32 inactive_delay = 100;
++static struct gpio_poweroff *gpio_poweroff;
+
+ static void gpio_poweroff_do_poweroff(void)
+ {
+- BUG_ON(!reset_gpio);
++ BUG_ON(!gpio_poweroff);
+
+ /* drive it active, also inactive->active edge */
+- gpiod_direction_output(reset_gpio, 1);
+- mdelay(active_delay);
++ gpiod_direction_output(gpio_poweroff->reset_gpio, 1);
++ mdelay(gpio_poweroff->active_delay_ms);
+
+ /* drive inactive, also active->inactive edge */
+- gpiod_set_value_cansleep(reset_gpio, 0);
+- mdelay(inactive_delay);
++ gpiod_set_value_cansleep(gpio_poweroff->reset_gpio, 0);
++ mdelay(gpio_poweroff->inactive_delay_ms);
+
+ /* drive it active, also inactive->active edge */
+- gpiod_set_value_cansleep(reset_gpio, 1);
++ gpiod_set_value_cansleep(gpio_poweroff->reset_gpio, 1);
+
+ /* give it some time */
+- mdelay(timeout);
++ mdelay(gpio_poweroff->timeout_ms);
+
+ WARN_ON(1);
+ }
+@@ -60,20 +65,29 @@ static int gpio_poweroff_probe(struct platform_device *pdev)
+ return -EBUSY;
+ }
+
++ gpio_poweroff = devm_kzalloc(&pdev->dev, sizeof(*gpio_poweroff), GFP_KERNEL);
++ if (!gpio_poweroff)
++ return -ENOMEM;
++
+ input = device_property_read_bool(&pdev->dev, "input");
+ if (input)
+ flags = GPIOD_IN;
+ else
+ flags = GPIOD_OUT_LOW;
+
+- device_property_read_u32(&pdev->dev, "active-delay-ms", &active_delay);
++
++ gpio_poweroff->active_delay_ms = 100;
++ gpio_poweroff->inactive_delay_ms = 100;
++ gpio_poweroff->timeout_ms = DEFAULT_TIMEOUT_MS;
++
++ device_property_read_u32(&pdev->dev, "active-delay-ms", &gpio_poweroff->active_delay_ms);
+ device_property_read_u32(&pdev->dev, "inactive-delay-ms",
+- &inactive_delay);
+- device_property_read_u32(&pdev->dev, "timeout-ms", &timeout);
++ &gpio_poweroff->inactive_delay_ms);
++ device_property_read_u32(&pdev->dev, "timeout-ms", &gpio_poweroff->timeout_ms);
+
+- reset_gpio = devm_gpiod_get(&pdev->dev, NULL, flags);
+- if (IS_ERR(reset_gpio))
+- return PTR_ERR(reset_gpio);
++ gpio_poweroff->reset_gpio = devm_gpiod_get(&pdev->dev, NULL, flags);
++ if (IS_ERR(gpio_poweroff->reset_gpio))
++ return PTR_ERR(gpio_poweroff->reset_gpio);
+
+ pm_power_off = &gpio_poweroff_do_poweroff;
+ return 0;
+--
+2.34.1
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-thermal-imx-Update-critical-temp-threshold.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-thermal-imx-Update-critical-temp-threshold.patch
new file mode 100644
index 0000000..c09abb9
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-thermal-imx-Update-critical-temp-threshold.patch
@@ -0,0 +1,40 @@
+From 212abec626e1c82616a1cf6e492e467cf79aef23 Mon Sep 17 00:00:00 2001
+From: Francesco Dolcini <francesco.dolcini@toradex.com>
+Date: Wed, 20 Apr 2022 11:13:00 +0200
+Subject: [PATCH 1/4] thermal: imx: Update critical temp threshold
+
+Increase the critical temperature threshold to the datasheet defined
+value according to the temperature grade of the SoC, increasing the
+actual critical temperature value of 5 degrees.
+
+Without this change the emergency shutdown will trigger earlier then
+required affecting applications that are expected to be working on this
+close to the limit, but yet valid, temperature range.
+
+Upstream-Status: Denied [https://lore.kernel.org/all/20220420091300.179753-1-francesco.dolcini@toradex.com/]
+Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
+---
+ drivers/thermal/imx_thermal.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c
+index 826358cbe810..4fcbf15b2768 100644
+--- a/drivers/thermal/imx_thermal.c
++++ b/drivers/thermal/imx_thermal.c
+@@ -458,11 +458,11 @@ static void imx_init_temp_grade(struct platform_device *pdev, u32 ocotp_mem0)
+ }
+
+ /*
+- * Set the critical trip point at 5 °C under max
++ * Set the critical trip point at max
+ * Set the passive trip point at 10 °C under max (changeable via sysfs)
+ */
+ trips[IMX_TRIP_PASSIVE].temperature = data->temp_max - (1000 * 10);
+- trips[IMX_TRIP_CRITICAL].temperature = data->temp_max - (1000 * 5);
++ trips[IMX_TRIP_CRITICAL].temperature = data->temp_max;
+ }
+
+ static int imx_init_from_tempmon_data(struct platform_device *pdev)
+--
+2.35.3
+
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-usb-gadget-f_ncm-Apply-workaround-for-packet-cloggin.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-usb-gadget-f_ncm-Apply-workaround-for-packet-cloggin.patch
new file mode 100644
index 0000000..dfdd723
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0001-usb-gadget-f_ncm-Apply-workaround-for-packet-cloggin.patch
@@ -0,0 +1,68 @@
+From 2147c8ddfaa746cdb8857db070f907fa9abfcb60 Mon Sep 17 00:00:00 2001
+From: Hiago De Franco <hiago.franco@toradex.com>
+Date: Tue, 19 Dec 2023 11:52:07 -0300
+Subject: [PATCH] usb: gadget: f_ncm: Apply workaround for packet clogging
+
+The existing size of 32 is causing significant slowness and freezing when
+utilizing the NCM protocol with a VNC client. This issue likely arises
+because the VNC protocol relies on sending numerous small packets, which
+accumulate until the 16KB limit is reached, leading to transmission
+delays.
+
+By decreasing TX_MAX_NUM_DPE to 4, we ensure that the NCM driver transmits
+packets at a reduced interval, thereby resolving the VNC performance
+issues. To comprehend how these packets are sent, refer to the code
+snippet below from f_ncm.c:
+
+```
+ /* If the new skb is too big for the current NCM NTB then
+ * set the current stored skb to be sent now and clear it
+ * ready for new data.
+ * NOTE: Assume maximum align for speed of calculation.
+ */
+ if (ncm->skb_tx_data
+ && (ncm->ndp_dgram_count >= TX_MAX_NUM_DPE
+ || (ncm->skb_tx_data->len +
+ div + rem + skb->len +
+ ncm->skb_tx_ndp->len + ndp_align + (2 * dgram_idx_len))
+ > max_size)) {
+ skb2 = package_for_tx(ncm);
+ if (!skb2)
+ goto err;
+ }
+```
+
+This issue is presently under investigation on the Linux kernel mailing
+list, and you can find the entire discussion at [1].
+
+[1] https://lore.kernel.org/all/20231204183751.64202-1-hiagofranco@gmail.com/
+
+Upstream-Status: Inappropriate [other]
+
+There is no proper patch for now, so instead we're using this patch that
+makes VNC work again as a temporarily solution until the mainline code
+gets fixed.
+
+Related-to: TEI-1078
+Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
+Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
+---
+ drivers/usb/gadget/function/f_ncm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/usb/gadget/function/f_ncm.c b/drivers/usb/gadget/function/f_ncm.c
+index e0c183234283..5e972d1c1a0c 100644
+--- a/drivers/usb/gadget/function/f_ncm.c
++++ b/drivers/usb/gadget/function/f_ncm.c
+@@ -113,7 +113,7 @@ static inline unsigned ncm_bitrate(struct usb_gadget *g)
+ * Smaller packets are not likely to be trying to maximize the
+ * throughput and will be mstly sending smaller infrequent frames.
+ */
+-#define TX_MAX_NUM_DPE 32
++#define TX_MAX_NUM_DPE 4
+
+ /* Delay for the transmit to wait before sending an unfilled NTB frame. */
+ #define TX_TIMEOUT_NSECS 300000
+--
+2.34.1
+
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-ARM-dts-imx-Add-support-for-Apalis-Evaluation-Board-.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-ARM-dts-imx-Add-support-for-Apalis-Evaluation-Board-.patch
new file mode 100644
index 0000000..3237bcd
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-ARM-dts-imx-Add-support-for-Apalis-Evaluation-Board-.patch
@@ -0,0 +1,530 @@
+From d01ee78a6990a2bc5572ea7839c0c549386d41d2 Mon Sep 17 00:00:00 2001
+From: Hiago De Franco <hiago.franco@toradex.com>
+Date: Wed, 24 Jan 2024 11:13:20 -0300
+Subject: [PATCH 2/2] ARM: dts: imx: Add support for Apalis Evaluation Board
+ v1.2
+
+Add support for the new Apalis Evaluation Board v1.2. Because
+only the imx6q-apalis-eval.dts was available, the imx6q-apalis-eval.dtsi
+has been created which has common hardware configurations for v1.0, v1.1
+and v1.2. Both imx6q-apalis-eval.dts and imx6q-apalis-eval-v1.2.dts
+files include imx6q-apalis-eval.dtsi.
+
+Versions 1.0 and 1.1 are compatible with each other and should
+use imx6q-apalis-eval.dts file. Now for v1.2, the new device-tree file
+should be used.
+
+Upstream-Status: Submitted [https://lore.kernel.org/lkml/20240122123526.43400-1-hiagofranco@gmail.com/]
+
+Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
+Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+---
+ arch/arm/boot/dts/nxp/imx/Makefile | 1 +
+ .../dts/nxp/imx/imx6q-apalis-eval-v1.2.dts | 200 ++++++++++++++++++
+ .../boot/dts/nxp/imx/imx6q-apalis-eval.dts | 108 +---------
+ .../boot/dts/nxp/imx/imx6q-apalis-eval.dtsi | 120 +++++++++++
+ 4 files changed, 323 insertions(+), 106 deletions(-)
+ create mode 100644 arch/arm/boot/dts/nxp/imx/imx6q-apalis-eval-v1.2.dts
+ create mode 100644 arch/arm/boot/dts/nxp/imx/imx6q-apalis-eval.dtsi
+
+diff --git a/arch/arm/boot/dts/nxp/imx/Makefile b/arch/arm/boot/dts/nxp/imx/Makefile
+index 3629e343d3225..9c4b2f14fb395 100644
+--- a/arch/arm/boot/dts/nxp/imx/Makefile
++++ b/arch/arm/boot/dts/nxp/imx/Makefile
+@@ -145,6 +145,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
+ imx6dl-yapp4-phoenix.dtb \
+ imx6dl-yapp4-ursa.dtb \
+ imx6q-apalis-eval.dtb \
++ imx6q-apalis-eval-v1.2.dtb \
+ imx6q-apalis-ixora.dtb \
+ imx6q-apalis-ixora-v1.1.dtb \
+ imx6q-apalis-ixora-v1.2.dtb \
+diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-apalis-eval-v1.2.dts b/arch/arm/boot/dts/nxp/imx/imx6q-apalis-eval-v1.2.dts
+new file mode 100644
+index 0000000000000..15d4a98ee9765
+--- /dev/null
++++ b/arch/arm/boot/dts/nxp/imx/imx6q-apalis-eval-v1.2.dts
+@@ -0,0 +1,200 @@
++// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
++/*
++ * Copyright 2024 Toradex
++ */
++
++/dts-v1/;
++
++#include "imx6q-apalis-eval.dtsi"
++
++/ {
++ model = "Toradex Apalis iMX6Q/D Module on Apalis Evaluation Board v1.2";
++ compatible = "toradex,apalis_imx6q-eval-v1.2", "toradex,apalis_imx6q",
++ "fsl,imx6q";
++
++ reg_3v3_mmc: regulator-3v3-mmc {
++ compatible = "regulator-fixed";
++ enable-active-high;
++ gpio = <&gpio2 0 GPIO_ACTIVE_HIGH>;
++ off-on-delay-us = <100000>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_enable_3v3_mmc>;
++ regulator-max-microvolt = <3300000>;
++ regulator-min-microvolt = <3300000>;
++ regulator-name = "3.3V_MMC";
++ startup-delay-us = <10000>;
++ };
++
++ reg_3v3_sd: regulator-3v3-sd {
++ compatible = "regulator-fixed";
++ enable-active-high;
++ gpio = <&gpio2 1 GPIO_ACTIVE_HIGH>;
++ off-on-delay-us = <100000>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_enable_3v3_sd>;
++ regulator-max-microvolt = <3300000>;
++ regulator-min-microvolt = <3300000>;
++ regulator-name = "3.3V_SD";
++ startup-delay-us = <10000>;
++ };
++
++ reg_can1: regulator-can1 {
++ compatible = "regulator-fixed";
++ enable-active-high;
++ gpio = <&gpio2 3 GPIO_ACTIVE_HIGH>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_enable_can1_power>;
++ regulator-name = "5V_SW_CAN1";
++ startup-delay-us = <10000>;
++ };
++
++ reg_can2: regulator-can2 {
++ compatible = "regulator-fixed";
++ enable-active-high;
++ gpio = <&gpio2 2 GPIO_ACTIVE_HIGH>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_enable_can2_power>;
++ regulator-name = "5V_SW_CAN2";
++ startup-delay-us = <10000>;
++ };
++
++ sound-carrier {
++ compatible = "simple-audio-card";
++ simple-audio-card,bitclock-master = <&codec_dai>;
++ simple-audio-card,format = "i2s";
++ simple-audio-card,frame-master = <&codec_dai>;
++ simple-audio-card,name = "apalis-nau8822";
++ simple-audio-card,routing =
++ "Headphones", "LHP",
++ "Headphones", "RHP",
++ "Speaker", "LSPK",
++ "Speaker", "RSPK",
++ "Line Out", "AUXOUT1",
++ "Line Out", "AUXOUT2",
++ "LAUX", "Line In",
++ "RAUX", "Line In",
++ "LMICP", "Mic In",
++ "RMICP", "Mic In";
++ simple-audio-card,widgets =
++ "Headphones", "Headphones",
++ "Line Out", "Line Out",
++ "Speaker", "Speaker",
++ "Microphone", "Mic In",
++ "Line", "Line In";
++
++ codec_dai: simple-audio-card,codec {
++ sound-dai = <&nau8822_1a>;
++ system-clock-frequency = <12288000>;
++ };
++
++ simple-audio-card,cpu {
++ sound-dai = <&ssi2>;
++ };
++ };
++};
++
++&can1 {
++ xceiver-supply = <&reg_can1>;
++ status = "okay";
++};
++
++&can2 {
++ xceiver-supply = <&reg_can2>;
++ status = "okay";
++};
++
++/* I2C1_SDA/SCL on MXM3 209/211 */
++&i2c1 {
++ /* Audio Codec */
++ nau8822_1a: audio-codec@1a {
++ compatible = "nuvoton,nau8822";
++ reg = <0x1a>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_nau8822>;
++ #sound-dai-cells = <0>;
++ };
++
++ /* Current measurement into module VCC */
++ hwmon@40 {
++ compatible = "ti,ina219";
++ reg = <0x40>;
++ shunt-resistor = <5000>;
++ };
++
++ /* Temperature Sensor */
++ temperature-sensor@4f {
++ compatible = "ti,tmp75c";
++ reg = <0x4f>;
++ };
++
++ /* EEPROM */
++ eeprom@57 {
++ compatible = "st,24c02", "atmel,24c02";
++ reg = <0x57>;
++ pagesize = <16>;
++ size = <256>;
++ };
++};
++
++&pcie {
++ status = "okay";
++};
++
++&ssi2 {
++ status = "okay";
++};
++
++/* MMC1 */
++&usdhc1 {
++ bus-width = <4>;
++ pinctrl-0 = <&pinctrl_usdhc1_4bit &pinctrl_mmc_cd>;
++ vmmc-supply = <&reg_3v3_mmc>;
++ status = "okay";
++};
++
++/* SD1 */
++&usdhc2 {
++ cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
++ pinctrl-0 = <&pinctrl_usdhc2 &pinctrl_sd_cd>;
++ vmmc-supply = <&reg_3v3_sd>;
++ status = "okay";
++};
++
++&iomuxc {
++ pinctrl_enable_3v3_mmc: enable3v3mmcgrp {
++ fsl,pins = <
++ /* MMC1_PWR_CTRL */
++ MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0
++ >;
++ };
++
++ pinctrl_enable_3v3_sd: enable3v3sdgrp {
++ fsl,pins = <
++ /* SD1_PWR_CTRL */
++ MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x1b0b0
++ >;
++ };
++
++ pinctrl_enable_can1_power: enablecan1powergrp {
++ fsl,pins = <
++ /* CAN1_PWR_EN */
++ MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x1b0b0
++ >;
++ };
++
++ pinctrl_enable_can2_power: enablecan2powergrp {
++ fsl,pins = <
++ /* CAN2_PWR_EN */
++ MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b0b0
++ >;
++ };
++
++ pinctrl_nau8822: nau8822grp {
++ fsl,pins = <
++ MX6QDL_PAD_DISP0_DAT16__AUD5_TXC 0x130b0
++ MX6QDL_PAD_DISP0_DAT17__AUD5_TXD 0x130b0
++ MX6QDL_PAD_DISP0_DAT18__AUD5_TXFS 0x130b0
++ MX6QDL_PAD_DISP0_DAT19__AUD5_RXD 0x130b0
++ >;
++ };
++};
+diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-apalis-eval.dts b/arch/arm/boot/dts/nxp/imx/imx6q-apalis-eval.dts
+index 3fc079dfd61ee..e1077e2da5f42 100644
+--- a/arch/arm/boot/dts/nxp/imx/imx6q-apalis-eval.dts
++++ b/arch/arm/boot/dts/nxp/imx/imx6q-apalis-eval.dts
+@@ -7,29 +7,13 @@
+
+ /dts-v1/;
+
+-#include <dt-bindings/gpio/gpio.h>
+-#include <dt-bindings/input/input.h>
+-#include <dt-bindings/interrupt-controller/irq.h>
+-#include "imx6q.dtsi"
+-#include "imx6qdl-apalis.dtsi"
++#include "imx6q-apalis-eval.dtsi"
+
+ / {
+ model = "Toradex Apalis iMX6Q/D Module on Apalis Evaluation Board";
+ compatible = "toradex,apalis_imx6q-eval", "toradex,apalis_imx6q",
+ "fsl,imx6q";
+
+- aliases {
+- i2c0 = &i2c1;
+- i2c1 = &i2c3;
+- i2c2 = &i2c2;
+- rtc0 = &rtc_i2c;
+- rtc1 = &snvs_rtc;
+- };
+-
+- chosen {
+- stdout-path = "serial0:115200n8";
+- };
+-
+ reg_pcie_switch: regulator-pcie-switch {
+ compatible = "regulator-fixed";
+ enable-active-high;
+@@ -40,14 +24,6 @@ reg_pcie_switch: regulator-pcie-switch {
+ startup-delay-us = <100000>;
+ status = "okay";
+ };
+-
+- reg_3v3_sw: regulator-3v3-sw {
+- compatible = "regulator-fixed";
+- regulator-always-on;
+- regulator-max-microvolt = <3300000>;
+- regulator-min-microvolt = <3300000>;
+- regulator-name = "3.3V_SW";
+- };
+ };
+
+ &can1 {
+@@ -62,102 +38,22 @@ &can2 {
+
+ /* I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */
+ &i2c1 {
+- status = "okay";
+-
++ /* PCIe Switch */
+ pcie-switch@58 {
+ compatible = "plx,pex8605";
+ reg = <0x58>;
+ };
+-
+- /* M41T0M6 real time clock on carrier board */
+- rtc_i2c: rtc@68 {
+- compatible = "st,m41t0";
+- reg = <0x68>;
+- };
+-};
+-
+-/*
+- * I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor on carrier
+- * board)
+- */
+-&i2c3 {
+- status = "okay";
+ };
+
+ &pcie {
+- pinctrl-names = "default";
+- pinctrl-0 = <&pinctrl_reset_moci>;
+- /* active-high meaning opposite of regular PERST# active-low polarity */
+- reset-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
+- reset-gpio-active-high;
+ vpcie-supply = <&reg_pcie_switch>;
+ status = "okay";
+ };
+
+-&pwm1 {
+- status = "okay";
+-};
+-
+-&pwm2 {
+- status = "okay";
+-};
+-
+-&pwm3 {
+- status = "okay";
+-};
+-
+-&pwm4 {
+- status = "okay";
+-};
+-
+-&reg_usb_host_vbus {
+- status = "okay";
+-};
+-
+-&reg_usb_otg_vbus {
+- status = "okay";
+-};
+-
+-&sata {
+- status = "okay";
+-};
+-
+ &sound_spdif {
+ status = "okay";
+ };
+
+-&spdif {
+- status = "okay";
+-};
+-
+-&uart1 {
+- status = "okay";
+-};
+-
+-&uart2 {
+- status = "okay";
+-};
+-
+-&uart4 {
+- status = "okay";
+-};
+-
+-&uart5 {
+- status = "okay";
+-};
+-
+-&usbh1 {
+- disable-over-current;
+- vbus-supply = <&reg_usb_host_vbus>;
+- status = "okay";
+-};
+-
+-&usbotg {
+- disable-over-current;
+- vbus-supply = <&reg_usb_otg_vbus>;
+- status = "okay";
+-};
+-
+ /* MMC1 */
+ &usdhc1 {
+ status = "okay";
+diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-apalis-eval.dtsi b/arch/arm/boot/dts/nxp/imx/imx6q-apalis-eval.dtsi
+new file mode 100644
+index 0000000000000..b6c45ad3f4304
+--- /dev/null
++++ b/arch/arm/boot/dts/nxp/imx/imx6q-apalis-eval.dtsi
+@@ -0,0 +1,120 @@
++// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
++/*
++ * Copyright 2014-2024 Toradex
++ */
++
++#include <dt-bindings/gpio/gpio.h>
++#include <dt-bindings/input/input.h>
++#include <dt-bindings/interrupt-controller/irq.h>
++#include "imx6q.dtsi"
++#include "imx6qdl-apalis.dtsi"
++
++/ {
++ aliases {
++ i2c0 = &i2c1;
++ i2c1 = &i2c3;
++ i2c2 = &i2c2;
++ rtc0 = &rtc_i2c;
++ rtc1 = &snvs_rtc;
++ };
++
++ chosen {
++ stdout-path = "serial0:115200n8";
++ };
++
++ reg_3v3_sw: regulator-3v3-sw {
++ compatible = "regulator-fixed";
++ regulator-always-on;
++ regulator-max-microvolt = <3300000>;
++ regulator-min-microvolt = <3300000>;
++ regulator-name = "3.3V_SW";
++ };
++};
++
++&i2c1 {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ /* M41T0M6 real time clock on carrier board */
++ rtc_i2c: rtc@68 {
++ compatible = "st,m41t0";
++ reg = <0x68>;
++ };
++};
++
++/*
++ * I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor on carrier
++ * board)
++ */
++&i2c3 {
++ status = "okay";
++};
++
++&pcie {
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_reset_moci>;
++ /* active-high meaning opposite of regular PERST# active-low polarity */
++ reset-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
++ reset-gpio-active-high;
++};
++
++&pwm1 {
++ status = "okay";
++};
++
++&pwm2 {
++ status = "okay";
++};
++
++&pwm3 {
++ status = "okay";
++};
++
++&pwm4 {
++ status = "okay";
++};
++
++&reg_usb_host_vbus {
++ status = "okay";
++};
++
++&reg_usb_otg_vbus {
++ status = "okay";
++};
++
++&sata {
++ status = "okay";
++};
++
++&spdif {
++ status = "okay";
++};
++
++&uart1 {
++ status = "okay";
++};
++
++&uart2 {
++ status = "okay";
++};
++
++&uart4 {
++ status = "okay";
++};
++
++&uart5 {
++ status = "okay";
++};
++
++&usbh1 {
++ disable-over-current;
++ vbus-supply = <&reg_usb_host_vbus>;
++ status = "okay";
++};
++
++&usbotg {
++ disable-over-current;
++ vbus-supply = <&reg_usb_otg_vbus>;
++ status = "okay";
++};
+--
+2.34.1
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-ARM-dts-imx6qdl-colibri-Add-usdhc-aliases.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-ARM-dts-imx6qdl-colibri-Add-usdhc-aliases.patch
new file mode 100644
index 0000000..8923abb
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-ARM-dts-imx6qdl-colibri-Add-usdhc-aliases.patch
@@ -0,0 +1,38 @@
+From 0fd10dbe5a88a882340d604bf55affeb7dbe03b7 Mon Sep 17 00:00:00 2001
+From: Hiago De Franco <hiago.franco@toradex.com>
+Date: Mon, 20 Nov 2023 21:58:17 +0100
+Subject: [PATCH 2/3] ARM: dts: imx6qdl-colibri: Add usdhc aliases
+
+Add mmc aliases to ensure a consistent mmc device naming across the
+Toradex SoM family, with this commit mmc0 is the on-module eMMC
+boot device and the not available mmc interfaces are removed.
+
+Upstream-Status: Backport [265f56542a936fa2edac21ee2cd45f0d331707a6]
+
+Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
+Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+---
+ arch/arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi
+index 11d9c7a2dacb1..55c90f6393ad5 100644
+--- a/arch/arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi
++++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi
+@@ -12,6 +12,13 @@ / {
+ model = "Toradex Colibri iMX6DL/S Module";
+ compatible = "toradex,colibri_imx6dl", "fsl,imx6dl";
+
++ aliases {
++ mmc0 = &usdhc3; /* eMMC */
++ mmc1 = &usdhc1; /* MMC/SD Slot */
++ /delete-property/ mmc2;
++ /delete-property/ mmc3;
++ };
++
+ backlight: backlight {
+ compatible = "pwm-backlight";
+ brightness-levels = <0 45 63 88 119 158 203 255>;
+--
+2.34.1
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-Revert-drm-panel-simple-drop-use-of-data-mapping-pro.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-Revert-drm-panel-simple-drop-use-of-data-mapping-pro.patch
new file mode 100644
index 0000000..5067258
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-Revert-drm-panel-simple-drop-use-of-data-mapping-pro.patch
@@ -0,0 +1,61 @@
+From fdd0972a24818dc336b2235ce93000ee7b88240e Mon Sep 17 00:00:00 2001
+From: Max Krummenacher <max.krummenacher@toradex.com>
+Date: Thu, 1 Sep 2022 14:04:50 +0200
+Subject: [PATCH 2/4] Revert "drm/panel-simple: drop use of data-mapping
+ property"
+
+This reverts commit d021d751c14752a0266865700f6f212fab40a18c.
+
+Re-enable the data-mapping property which was already used in the
+5.4-2.3.0 downstream kernel.
+
+In addition to the revert set bpc from the data-mapping value
+as a WARN_ON is printed if missing.
+In addition to the revert have mapping pointing to the empty string to
+prevent a kernel panic if data-mapping can not be read from the dt and
+then an uninitialized pointer is used in strcmp.
+
+Upstream-Status: denied [Alternative solution being discused]
+https://lore.kernel.org/all/20220628181838.2031-1-max.oss.09@gmail.com/
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ drivers/gpu/drm/panel/panel-simple.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
+index 95959dcc6e0e..4518eb5d7acb 100644
+--- a/drivers/gpu/drm/panel/panel-simple.c
++++ b/drivers/gpu/drm/panel/panel-simple.c
+@@ -464,6 +464,7 @@ static int panel_dpi_probe(struct device *dev,
+ struct panel_desc *desc;
+ unsigned int bus_flags;
+ struct videomode vm;
++ const char *mapping = "";
+ int ret;
+
+ np = dev->of_node;
+@@ -488,6 +489,21 @@ static int panel_dpi_probe(struct device *dev,
+ of_property_read_u32(np, "width-mm", &desc->size.width);
+ of_property_read_u32(np, "height-mm", &desc->size.height);
+
++ of_property_read_string(np, "data-mapping", &mapping);
++ if (!strcmp(mapping, "rgb24")) {
++ desc->bus_format = MEDIA_BUS_FMT_RGB888_1X24;
++ desc->bpc = 8;
++ } else if (!strcmp(mapping, "rgb565")) {
++ desc->bus_format = MEDIA_BUS_FMT_RGB565_1X16;
++ desc->bpc = 6;
++ } else if (!strcmp(mapping, "bgr666")) {
++ desc->bus_format = MEDIA_BUS_FMT_RGB666_1X18;
++ desc->bpc = 6;
++ } else if (!strcmp(mapping, "lvds666")) {
++ desc->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI;
++ desc->bpc = 6;
++ }
++
+ /* Extract bus_flags from display_timing */
+ bus_flags = 0;
+ vm.flags = timing->flags;
+--
+2.35.3
+
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-arm64-dts-freescale-verdin-imx8mm-add-support-to-mal.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-arm64-dts-freescale-verdin-imx8mm-add-support-to-mal.patch
new file mode 100644
index 0000000..95c8ea4
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-arm64-dts-freescale-verdin-imx8mm-add-support-to-mal.patch
@@ -0,0 +1,273 @@
+From 4d6ab01eaa1065bda3446736d265f113ca168c02 Mon Sep 17 00:00:00 2001
+From: Joao Paulo Goncalves <joao.goncalves@toradex.com>
+Date: Fri, 1 Dec 2023 16:07:33 +0100
+Subject: [PATCH 2/2] arm64: dts: freescale: verdin-imx8mm: add support to
+ mallow board
+
+Add Toradex Verdin IMX8MM Mallow carrier board support. Mallow is a
+low-cost carrier board in the Verdin family with a small form factor and
+build for volume production making it ideal for industrial and embedded
+applications.
+
+https://www.toradex.com/products/carrier-board/mallow-carrier-board
+
+Upstream-Status: Backport [eb9348865fabe4e0bc0b0453813dba8ecbfd9deb]
+
+Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
+Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+---
+ arch/arm64/boot/dts/freescale/Makefile | 2 +
+ .../dts/freescale/imx8mm-verdin-mallow.dtsi | 173 ++++++++++++++++++
+ .../imx8mm-verdin-nonwifi-mallow.dts | 18 ++
+ .../freescale/imx8mm-verdin-wifi-mallow.dts | 18 ++
+ 4 files changed, 211 insertions(+)
+ create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-mallow.dtsi
+ create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-nonwifi-mallow.dts
+ create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-wifi-mallow.dts
+
+diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
+index 89aee6c925760..2c2a76dff875d 100644
+--- a/arch/arm64/boot/dts/freescale/Makefile
++++ b/arch/arm64/boot/dts/freescale/Makefile
+@@ -79,9 +79,11 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7904.dtb
+ dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7905-0x.dtb
+ dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-nonwifi-dahlia.dtb
+ dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-nonwifi-dev.dtb
++dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-nonwifi-mallow.dtb
+ dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-nonwifi-yavia.dtb
+ dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-wifi-dahlia.dtb
+ dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-wifi-dev.dtb
++dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-wifi-mallow.dtb
+ dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-wifi-yavia.dtb
+ dtb-$(CONFIG_ARCH_MXC) += imx8mn-beacon-kit.dtb
+ dtb-$(CONFIG_ARCH_MXC) += imx8mn-bsh-smm-s2.dtb
+diff --git a/arch/arm64/boot/dts/freescale/imx8mm-verdin-mallow.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-verdin-mallow.dtsi
+new file mode 100644
+index 0000000000000..4a0799d63446c
+--- /dev/null
++++ b/arch/arm64/boot/dts/freescale/imx8mm-verdin-mallow.dtsi
+@@ -0,0 +1,173 @@
++// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
++/*
++ * Copyright 2023 Toradex
++ *
++ * Common dtsi for Verdin IMX8MM SoM on Mallow carrier board
++ *
++ * https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx-8m-mini-nano
++ * https://www.toradex.com/products/carrier-board/mallow-carrier-board
++ */
++
++#include <dt-bindings/leds/common.h>
++
++/ {
++ leds {
++ compatible = "gpio-leds";
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_leds>;
++
++ /* SODIMM 52 - USER_LED_1_RED */
++ led-0 {
++ color = <LED_COLOR_ID_RED>;
++ function = LED_FUNCTION_DEBUG;
++ function-enumerator = <1>;
++ gpios = <&gpio3 0 GPIO_ACTIVE_HIGH>;
++ };
++
++ /* SODIMM 54 - USER_LED_1_GREEN */
++ led-1 {
++ color = <LED_COLOR_ID_GREEN>;
++ function = LED_FUNCTION_DEBUG;
++ function-enumerator = <1>;
++ gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
++ };
++
++ /* SODIMM 56 - USER_LED_2_RED */
++ led-2 {
++ color = <LED_COLOR_ID_RED>;
++ function = LED_FUNCTION_DEBUG;
++ function-enumerator = <2>;
++ gpios = <&gpio3 6 GPIO_ACTIVE_HIGH>;
++ };
++
++ /* SODIMM 58 - USER_LED_2_GREEN */
++ led-3 {
++ color = <LED_COLOR_ID_GREEN>;
++ function = LED_FUNCTION_DEBUG;
++ function-enumerator = <2>;
++ gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>;
++ };
++ };
++};
++
++/* Verdin SPI_1 */
++&ecspi2 {
++ pinctrl-0 = <&pinctrl_ecspi2>, <&pinctrl_tpm_cs>;
++ cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>, <&gpio3 2 GPIO_ACTIVE_LOW>;
++ status = "okay";
++
++ tpm@1 {
++ compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
++ reg = <1>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_tpm_irq>;
++ interrupt-parent = <&gpio3>;
++ interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
++ spi-max-frequency = <18500000>;
++ };
++};
++
++/* EEPROM on Mallow */
++&eeprom_carrier_board {
++ status = "okay";
++};
++
++/* Verdin ETH_1 */
++&fec1 {
++ status = "okay";
++};
++
++/* Temperature sensor on Mallow */
++&hwmon_temp {
++ compatible = "ti,tmp1075";
++ status = "okay";
++};
++
++/* Verdin I2C_2_DSI */
++&i2c2 {
++ status = "okay";
++};
++
++/* Verdin I2C_4_CSI */
++&i2c3 {
++ status = "okay";
++};
++
++/* Verdin I2C_1 */
++&i2c4 {
++ status = "okay";
++};
++
++/* Verdin PCIE_1 */
++&pcie0 {
++ status = "okay";
++};
++
++&pcie_phy {
++ status = "okay";
++};
++
++/* Verdin PWM_3_DSI */
++&pwm1 {
++ status = "okay";
++};
++
++/* Verdin PWM_1 */
++&pwm2 {
++ status = "okay";
++};
++
++/* Verdin PWM_2 */
++&pwm3 {
++ status = "okay";
++};
++
++/* Verdin UART_3 */
++&uart1 {
++ status = "okay";
++};
++
++/* Verdin UART_1 */
++&uart2 {
++ status = "okay";
++};
++
++/* Verdin UART_2 */
++&uart3 {
++ status = "okay";
++};
++
++/* Verdin USB_1 */
++&usbotg1 {
++ status = "okay";
++};
++
++/* Verdin USB_2 */
++&usbotg2 {
++ status = "okay";
++};
++
++/* Verdin SD_1 */
++&usdhc2 {
++ status = "okay";
++};
++
++&iomuxc {
++ pinctrl_leds: ledsgrp {
++ fsl,pins =
++ <MX8MM_IOMUXC_NAND_ALE_GPIO3_IO0 0x106>, /* SODIMM 52 */
++ <MX8MM_IOMUXC_NAND_CE0_B_GPIO3_IO1 0x106>, /* SODIMM 54 */
++ <MX8MM_IOMUXC_NAND_DATA00_GPIO3_IO6 0x106>, /* SODIMM 56 */
++ <MX8MM_IOMUXC_NAND_DATA01_GPIO3_IO7 0x106>; /* SODIMM 58 */
++ };
++
++ pinctrl_tpm_cs: tpmcsgrp {
++ fsl,pins =
++ <MX8MM_IOMUXC_NAND_CE1_B_GPIO3_IO2 0x146>; /* SODIMM 64 */
++ };
++
++ pinctrl_tpm_irq: tpmirqgrp {
++ fsl,pins =
++ <MX8MM_IOMUXC_NAND_DQS_GPIO3_IO14 0x141>; /* SODIMM 66 */
++ };
++};
+diff --git a/arch/arm64/boot/dts/freescale/imx8mm-verdin-nonwifi-mallow.dts b/arch/arm64/boot/dts/freescale/imx8mm-verdin-nonwifi-mallow.dts
+new file mode 100644
+index 0000000000000..1b1999f3a80e8
+--- /dev/null
++++ b/arch/arm64/boot/dts/freescale/imx8mm-verdin-nonwifi-mallow.dts
+@@ -0,0 +1,18 @@
++// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
++/*
++ * Copyright 2023 Toradex
++ */
++
++/dts-v1/;
++
++#include "imx8mm-verdin.dtsi"
++#include "imx8mm-verdin-nonwifi.dtsi"
++#include "imx8mm-verdin-mallow.dtsi"
++
++/ {
++ model = "Toradex Verdin iMX8M Mini on Mallow";
++ compatible = "toradex,verdin-imx8mm-nonwifi-mallow",
++ "toradex,verdin-imx8mm-nonwifi",
++ "toradex,verdin-imx8mm",
++ "fsl,imx8mm";
++};
+diff --git a/arch/arm64/boot/dts/freescale/imx8mm-verdin-wifi-mallow.dts b/arch/arm64/boot/dts/freescale/imx8mm-verdin-wifi-mallow.dts
+new file mode 100644
+index 0000000000000..2916145f31bbe
+--- /dev/null
++++ b/arch/arm64/boot/dts/freescale/imx8mm-verdin-wifi-mallow.dts
+@@ -0,0 +1,18 @@
++// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
++/*
++ * Copyright 2023 Toradex
++ */
++
++/dts-v1/;
++
++#include "imx8mm-verdin.dtsi"
++#include "imx8mm-verdin-wifi.dtsi"
++#include "imx8mm-verdin-mallow.dtsi"
++
++/ {
++ model = "Toradex Verdin iMX8M Mini WB on Mallow";
++ compatible = "toradex,verdin-imx8mm-wifi-mallow",
++ "toradex,verdin-imx8mm-wifi",
++ "toradex,verdin-imx8mm",
++ "fsl,imx8mm";
++};
+--
+2.34.1
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-power-reset-gpio-poweroff-use-sys-off-handler-API.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-power-reset-gpio-poweroff-use-sys-off-handler-API.patch
new file mode 100644
index 0000000..f42a3ca
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-power-reset-gpio-poweroff-use-sys-off-handler-API.patch
@@ -0,0 +1,103 @@
+From 7db43d423bda4566732b04a2535346c5eaea0be1 Mon Sep 17 00:00:00 2001
+From: Stefan Eichenberger <stefan.eichenberger@toradex.com>
+Date: Fri, 6 Oct 2023 10:04:26 -0300
+Subject: [PATCH 2/4] power: reset: gpio-poweroff: use sys-off handler API
+
+Use the new sys-off handler API for gpio-poweroff. This allows us to
+have more than one poweroff handler and prioritise them.
+
+Upstream-Status: Backport [b16d9f49735f3d26e23f0ba4a2cf21668fc6b66]
+
+Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
+Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
+Link: https://lore.kernel.org/r/20231006130428.11259-3-francesco@dolcini.it
+Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
+---
+ drivers/power/reset/gpio-poweroff.c | 37 ++++++++++-------------------
+ 1 file changed, 12 insertions(+), 25 deletions(-)
+
+diff --git a/drivers/power/reset/gpio-poweroff.c b/drivers/power/reset/gpio-poweroff.c
+index dea550e422f3c..0deb293eb2d66 100644
+--- a/drivers/power/reset/gpio-poweroff.c
++++ b/drivers/power/reset/gpio-poweroff.c
+@@ -15,6 +15,7 @@
+ #include <linux/gpio/consumer.h>
+ #include <linux/mod_devicetable.h>
+ #include <linux/module.h>
++#include <linux/reboot.h>
+
+ #define DEFAULT_TIMEOUT_MS 3000
+
+@@ -25,15 +26,9 @@ struct gpio_poweroff {
+ u32 inactive_delay_ms;
+ };
+
+-/*
+- * Hold configuration here, cannot be more than one instance of the driver
+- * since pm_power_off itself is global.
+- */
+-static struct gpio_poweroff *gpio_poweroff;
+-
+-static void gpio_poweroff_do_poweroff(void)
++static int gpio_poweroff_do_poweroff(struct sys_off_data *data)
+ {
+- BUG_ON(!gpio_poweroff);
++ struct gpio_poweroff *gpio_poweroff = data->cb_data;
+
+ /* drive it active, also inactive->active edge */
+ gpiod_direction_output(gpio_poweroff->reset_gpio, 1);
+@@ -50,20 +45,16 @@ static void gpio_poweroff_do_poweroff(void)
+ mdelay(gpio_poweroff->timeout_ms);
+
+ WARN_ON(1);
++
++ return NOTIFY_DONE;
+ }
+
+ static int gpio_poweroff_probe(struct platform_device *pdev)
+ {
++ struct gpio_poweroff *gpio_poweroff;
+ bool input = false;
+ enum gpiod_flags flags;
+-
+- /* If a pm_power_off function has already been added, leave it alone */
+- if (pm_power_off != NULL) {
+- dev_err(&pdev->dev,
+- "%s: pm_power_off function already registered\n",
+- __func__);
+- return -EBUSY;
+- }
++ int ret;
+
+ gpio_poweroff = devm_kzalloc(&pdev->dev, sizeof(*gpio_poweroff), GFP_KERNEL);
+ if (!gpio_poweroff)
+@@ -89,14 +80,11 @@ static int gpio_poweroff_probe(struct platform_device *pdev)
+ if (IS_ERR(gpio_poweroff->reset_gpio))
+ return PTR_ERR(gpio_poweroff->reset_gpio);
+
+- pm_power_off = &gpio_poweroff_do_poweroff;
+- return 0;
+-}
+-
+-static int gpio_poweroff_remove(struct platform_device *pdev)
+-{
+- if (pm_power_off == &gpio_poweroff_do_poweroff)
+- pm_power_off = NULL;
++ ret = devm_register_sys_off_handler(&pdev->dev, SYS_OFF_MODE_POWER_OFF,
++ SYS_OFF_PRIO_DEFAULT, gpio_poweroff_do_poweroff,
++ gpio_poweroff);
++ if (ret)
++ return dev_err_probe(&pdev->dev, ret, "Cannot register poweroff handler\n");
+
+ return 0;
+ }
+@@ -109,7 +97,6 @@ MODULE_DEVICE_TABLE(of, of_gpio_poweroff_match);
+
+ static struct platform_driver gpio_poweroff_driver = {
+ .probe = gpio_poweroff_probe,
+- .remove = gpio_poweroff_remove,
+ .driver = {
+ .name = "poweroff-gpio",
+ .of_match_table = of_gpio_poweroff_match,
+--
+2.34.1
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0003-ARM-dts-imx7d-colibri-emmc-Add-usdhc-aliases.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0003-ARM-dts-imx7d-colibri-emmc-Add-usdhc-aliases.patch
new file mode 100644
index 0000000..bdd44eb
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0003-ARM-dts-imx7d-colibri-emmc-Add-usdhc-aliases.patch
@@ -0,0 +1,35 @@
+From dfddfac32dd5854b2b05e66abbedbddf6814485f Mon Sep 17 00:00:00 2001
+From: Hiago De Franco <hiago.franco@toradex.com>
+Date: Mon, 20 Nov 2023 21:58:18 +0100
+Subject: [PATCH 3/3] ARM: dts: imx7d-colibri-emmc: Add usdhc aliases
+
+Add mmc aliases to ensure a consistent mmc device naming across the
+Toradex SoM family, with this commit mmc0 is the on-module eMMC
+boot device and the not available mmc interfaces are removed.
+
+Upstream-Status: Backport [d53314dd068e782ba0fa808405026f37dbedeb1e]
+
+Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
+Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+---
+ arch/arm/boot/dts/nxp/imx/imx7d-colibri-emmc.dtsi | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/arch/arm/boot/dts/nxp/imx/imx7d-colibri-emmc.dtsi b/arch/arm/boot/dts/nxp/imx/imx7d-colibri-emmc.dtsi
+index 3740e34ef99f1..9670f45eab3ba 100644
+--- a/arch/arm/boot/dts/nxp/imx/imx7d-colibri-emmc.dtsi
++++ b/arch/arm/boot/dts/nxp/imx/imx7d-colibri-emmc.dtsi
+@@ -11,6 +11,10 @@ aliases {
+ /* Required to properly pass MAC addresses from bootloader. */
+ ethernet0 = &fec1;
+ ethernet1 = &fec2;
++ mmc0 = &usdhc3; /* eMMC */
++ mmc1 = &usdhc1; /* MMC/SD slot */
++ /delete-property/ mmc2;
++ /delete-property/ mmc3;
+ };
+
+ memory@80000000 {
+--
+2.34.1
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0003-drivers-chipidea-disable-runtime-pm-for-imx6ul.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0003-drivers-chipidea-disable-runtime-pm-for-imx6ul.patch
new file mode 100644
index 0000000..4f5e2c0
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0003-drivers-chipidea-disable-runtime-pm-for-imx6ul.patch
@@ -0,0 +1,39 @@
+From 070e2b7b7c3ef6e640e13aeb120c958e09accbb1 Mon Sep 17 00:00:00 2001
+From: Philippe Schenker <philippe.schenker@toradex.com>
+Date: Wed, 2 Nov 2022 14:25:56 +0100
+Subject: [PATCH 3/4] drivers: chipidea: disable runtime-pm for imx6ul
+
+Colibri iMX6ULL does not properly work with runtime-pm enabled. We see
+two issues with that enabled:
+
+1. Runtime PM disconnects the line as it thinks there is no VBUS -
+ because this signal is not hooked up in hardware. The driver gets a
+ wakeup signal from the attached hub after about 2s which leads to a
+ reset loop.
+2. In Dual-Role switching mode usb-device is not detected when plugged
+ in. The reason was never fully understood.
+
+Upstream-Status: Inappropriate [Configuration for colibri-imx6ull]
+
+Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
+---
+ drivers/usb/chipidea/ci_hdrc_imx.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c
+index e28bb2f2612d..4da4aa4ee70d 100644
+--- a/drivers/usb/chipidea/ci_hdrc_imx.c
++++ b/drivers/usb/chipidea/ci_hdrc_imx.c
+@@ -57,8 +57,7 @@ static const struct ci_hdrc_imx_platform_flag imx6sx_usb_data = {
+ };
+
+ static const struct ci_hdrc_imx_platform_flag imx6ul_usb_data = {
+- .flags = CI_HDRC_SUPPORTS_RUNTIME_PM |
+- CI_HDRC_TURN_VBUS_EARLY_ON |
++ .flags = CI_HDRC_TURN_VBUS_EARLY_ON |
+ CI_HDRC_DISABLE_DEVICE_STREAMING,
+ };
+
+--
+2.35.3
+
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0003-dt-bindings-power-reset-gpio-poweroff-Add-priority-p.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0003-dt-bindings-power-reset-gpio-poweroff-Add-priority-p.patch
new file mode 100644
index 0000000..2544c32
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0003-dt-bindings-power-reset-gpio-poweroff-Add-priority-p.patch
@@ -0,0 +1,45 @@
+From 30569e1ff44369f9d1aec5987cdcc0cedba7cc71 Mon Sep 17 00:00:00 2001
+From: Stefan Eichenberger <stefan.eichenberger@toradex.com>
+Date: Fri, 6 Oct 2023 10:04:27 -0300
+Subject: [PATCH 3/4] dt-bindings: power: reset: gpio-poweroff: Add priority
+ property
+
+Add the priority property to the gpio-poweroff bindings description.
+
+Upstream-Status: Backport [4ee17bd30788496a279ceaabc7ecaaf39f61cfc4]
+
+Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
+Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
+Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+Link: https://lore.kernel.org/r/20231006130428.11259-4-francesco@dolcini.it
+Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
+---
+ .../devicetree/bindings/power/reset/gpio-poweroff.yaml | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/Documentation/devicetree/bindings/power/reset/gpio-poweroff.yaml b/Documentation/devicetree/bindings/power/reset/gpio-poweroff.yaml
+index b54ec003a1e03..a4b437fce37cf 100644
+--- a/Documentation/devicetree/bindings/power/reset/gpio-poweroff.yaml
++++ b/Documentation/devicetree/bindings/power/reset/gpio-poweroff.yaml
+@@ -18,6 +18,9 @@ description: >
+ Finally the operating system assumes the power off failed if
+ the system is still running after waiting some time (timeout-ms).
+
++allOf:
++ - $ref: restart-handler.yaml#
++
+ properties:
+ compatible:
+ const: gpio-poweroff
+@@ -40,6 +43,9 @@ properties:
+ default: 100
+ description: Delay to wait after driving gpio inactive
+
++ priority:
++ default: 0
++
+ timeout-ms:
+ default: 3000
+ description: Time to wait before assuming the power off sequence failed.
+--
+2.34.1
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0004-media-i2c-ov5640-Implement-get_mbus_config.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0004-media-i2c-ov5640-Implement-get_mbus_config.patch
new file mode 100644
index 0000000..7205135
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0004-media-i2c-ov5640-Implement-get_mbus_config.patch
@@ -0,0 +1,54 @@
+From 3317d3298cd06213d457ad7090ec0fd56eefc5d2 Mon Sep 17 00:00:00 2001
+From: Aishwarya Kothari <aishwarya.kothari@toradex.com>
+Date: Wed, 25 Jan 2023 13:09:15 +0100
+Subject: [PATCH 4/4] media: i2c: ov5640: Implement get_mbus_config
+
+Implement the introduced get_mbus_config operation to report the
+config of the MIPI CSI-2, BT.656 and Parallel interface.
+
+Signed-off-by: Aishwarya Kothari <aishwarya.kothari@toradex.com>
+Upstream-Status: Submitted [https://lore.kernel.org/all/20230306063649.7387-1-marcel@ziswiler.com/]
+---
+ drivers/media/i2c/ov5640.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
+index 5fe85aa2d2ec..8cb966fb1b79 100644
+--- a/drivers/media/i2c/ov5640.c
++++ b/drivers/media/i2c/ov5640.c
+@@ -3755,6 +3755,24 @@ static int ov5640_init_cfg(struct v4l2_subdev *sd,
+ return 0;
+ }
+
++static int ov5640_get_mbus_config(struct v4l2_subdev *sd,
++ unsigned int pad,
++ struct v4l2_mbus_config *cfg)
++{
++ struct ov5640_dev *sensor = to_ov5640_dev(sd);
++
++ cfg->type = sensor->ep.bus_type;
++ if (ov5640_is_csi2(sensor)) {
++ cfg->bus.mipi_csi2.num_data_lanes =
++ sensor->ep.bus.mipi_csi2.num_data_lanes;
++ cfg->bus.mipi_csi2.flags = sensor->ep.bus.mipi_csi2.flags;
++ } else {
++ cfg->bus.parallel.flags = sensor->ep.bus.parallel.flags;
++ }
++
++ return 0;
++}
++
+ static const struct v4l2_subdev_core_ops ov5640_core_ops = {
+ .log_status = v4l2_ctrl_subdev_log_status,
+ .subscribe_event = v4l2_ctrl_subdev_subscribe_event,
+@@ -3775,6 +3793,7 @@ static const struct v4l2_subdev_pad_ops ov5640_pad_ops = {
+ .get_selection = ov5640_get_selection,
+ .enum_frame_size = ov5640_enum_frame_size,
+ .enum_frame_interval = ov5640_enum_frame_interval,
++ .get_mbus_config = ov5640_get_mbus_config,
+ };
+
+ static const struct v4l2_subdev_ops ov5640_subdev_ops = {
+--
+2.35.3
+
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0004-power-reset-gpio-poweroff-make-sys-handler-priority-.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0004-power-reset-gpio-poweroff-make-sys-handler-priority-.patch
new file mode 100644
index 0000000..6b94e1a
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0004-power-reset-gpio-poweroff-make-sys-handler-priority-.patch
@@ -0,0 +1,54 @@
+From 0af4e07ee7510a04d0ba3fba26a0675068c43780 Mon Sep 17 00:00:00 2001
+From: Stefan Eichenberger <stefan.eichenberger@toradex.com>
+Date: Fri, 6 Oct 2023 10:04:28 -0300
+Subject: [PATCH 4/4] power: reset: gpio-poweroff: make sys handler priority
+ configurable
+
+Add a priority property equal to gpio-restart to allow increasing the
+priority of the gpio-poweroff handler.
+
+Upstream-Status: Backport [d03d2a8cdefe86f04cfb53934a708620e7dfbfcb]
+
+Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
+Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
+Link: https://lore.kernel.org/r/20231006130428.11259-5-francesco@dolcini.it
+Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
+---
+ drivers/power/reset/gpio-poweroff.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/power/reset/gpio-poweroff.c b/drivers/power/reset/gpio-poweroff.c
+index 0deb293eb2d66..52cfeee2cb284 100644
+--- a/drivers/power/reset/gpio-poweroff.c
++++ b/drivers/power/reset/gpio-poweroff.c
+@@ -54,6 +54,7 @@ static int gpio_poweroff_probe(struct platform_device *pdev)
+ struct gpio_poweroff *gpio_poweroff;
+ bool input = false;
+ enum gpiod_flags flags;
++ int priority = SYS_OFF_PRIO_DEFAULT;
+ int ret;
+
+ gpio_poweroff = devm_kzalloc(&pdev->dev, sizeof(*gpio_poweroff), GFP_KERNEL);
+@@ -75,14 +76,18 @@ static int gpio_poweroff_probe(struct platform_device *pdev)
+ device_property_read_u32(&pdev->dev, "inactive-delay-ms",
+ &gpio_poweroff->inactive_delay_ms);
+ device_property_read_u32(&pdev->dev, "timeout-ms", &gpio_poweroff->timeout_ms);
++ device_property_read_u32(&pdev->dev, "priority", &priority);
++ if (priority > 255) {
++ dev_err(&pdev->dev, "Invalid priority property: %u\n", priority);
++ return -EINVAL;
++ }
+
+ gpio_poweroff->reset_gpio = devm_gpiod_get(&pdev->dev, NULL, flags);
+ if (IS_ERR(gpio_poweroff->reset_gpio))
+ return PTR_ERR(gpio_poweroff->reset_gpio);
+
+ ret = devm_register_sys_off_handler(&pdev->dev, SYS_OFF_MODE_POWER_OFF,
+- SYS_OFF_PRIO_DEFAULT, gpio_poweroff_do_poweroff,
+- gpio_poweroff);
++ priority, gpio_poweroff_do_poweroff, gpio_poweroff);
+ if (ret)
+ return dev_err_probe(&pdev->dev, ret, "Cannot register poweroff handler\n");
+
+--
+2.34.1
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/aarch64/defconfig b/recipes-kernel/linux/linux-toradex-upstream-6.6/aarch64/defconfig
new file mode 100644
index 0000000..6fc8118
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/aarch64/defconfig
@@ -0,0 +1,1025 @@
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_AUDIT=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_BPF_SYSCALL=y
+CONFIG_BPF_JIT=y
+CONFIG_PREEMPT=y
+CONFIG_IRQ_TIME_ACCOUNTING=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_NUMA_BALANCING=y
+CONFIG_MEMCG=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_CGROUP_PIDS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_HUGETLB=y
+CONFIG_CPUSETS=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_CGROUP_PERF=y
+CONFIG_CGROUP_BPF=y
+CONFIG_USER_NS=y
+CONFIG_SCHED_AUTOGROUP=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_PROFILING=y
+CONFIG_KEXEC_FILE=y
+CONFIG_CRASH_DUMP=y
+CONFIG_ARCH_K3=y
+CONFIG_ARCH_NXP=y
+CONFIG_ARCH_MXC=y
+CONFIG_ARM64_VA_BITS_48=y
+CONFIG_SCHED_MC=y
+CONFIG_SCHED_SMT=y
+CONFIG_NUMA=y
+CONFIG_XEN=y
+CONFIG_COMPAT=y
+CONFIG_RANDOMIZE_BASE=y
+CONFIG_HIBERNATION=y
+CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
+CONFIG_ENERGY_MODEL=y
+CONFIG_ARM_PSCI_CPUIDLE=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPUFREQ_DT=y
+CONFIG_ACPI_CPPC_CPUFREQ=m
+CONFIG_ARM_SCPI_CPUFREQ=y
+CONFIG_ARM_IMX_CPUFREQ_DT=m
+CONFIG_ARM_SCMI_CPUFREQ=y
+CONFIG_ACPI=y
+CONFIG_ACPI_HOTPLUG_MEMORY=y
+CONFIG_ACPI_HMAT=y
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_MEMORY_FAILURE=y
+CONFIG_ACPI_APEI_EINJ=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=y
+CONFIG_JUMP_LABEL=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTREMOVE=y
+CONFIG_KSM=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IPV6=m
+CONFIG_NETFILTER=y
+CONFIG_BRIDGE_NETFILTER=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_IP_VS=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_NAT=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+CONFIG_VLAN_8021Q_MVRP=y
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CBS=m
+CONFIG_NET_SCH_ETF=m
+CONFIG_NET_SCH_TAPRIO=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_FLOWER=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_GACT=m
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_GATE=m
+CONFIG_NET_SWITCHDEV=y
+CONFIG_QRTR_SMD=m
+CONFIG_QRTR_TUN=m
+CONFIG_CAN=m
+CONFIG_BT=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_HIDP=m
+# CONFIG_BT_LE is not set
+CONFIG_BT_LEDS=y
+# CONFIG_BT_DEBUGFS is not set
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTUSB_MTK=y
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_BCM=y
+CONFIG_BT_HCIUART_QCA=y
+CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_NXPUART=m
+CONFIG_CFG80211=m
+CONFIG_MAC80211=m
+CONFIG_MAC80211_LEDS=y
+CONFIG_RFKILL=m
+CONFIG_RFKILL_GPIO=m
+CONFIG_NET_9P=y
+CONFIG_NET_9P_VIRTIO=y
+CONFIG_PCI=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCIEAER=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_PASID=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCI_IMX6_HOST=y
+CONFIG_PCI_HISI=y
+CONFIG_PCI_ENDPOINT=y
+CONFIG_PCI_ENDPOINT_CONFIGFS=y
+CONFIG_PCI_EPF_TEST=m
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_BRCMSTB_GISB_ARB=y
+CONFIG_VEXPRESS_CONFIG=y
+CONFIG_MHI_BUS_PCI_GENERIC=m
+CONFIG_ARM_SCMI_PROTOCOL=y
+CONFIG_ARM_SCPI_PROTOCOL=y
+CONFIG_EFI_CAPSULE_LOADER=y
+CONFIG_IMX_DSP=m
+CONFIG_IMX_SCU=y
+CONFIG_IMX_SCU_PD=y
+CONFIG_GNSS=m
+CONFIG_GNSS_MTK_SERIAL=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_NBD=m
+CONFIG_VIRTIO_BLK=y
+CONFIG_BLK_DEV_NVME=m
+CONFIG_NVME_VERBOSE_ERRORS=y
+CONFIG_NVME_HWMON=y
+CONFIG_SRAM=y
+CONFIG_PCI_ENDPOINT_TEST=m
+CONFIG_EEPROM_AT24=y
+CONFIG_EEPROM_AT25=m
+CONFIG_UACCE=m
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_HISI_SAS=y
+CONFIG_SCSI_HISI_SAS_PCI=y
+CONFIG_MEGARAID_SAS=y
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_ATA=y
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_AHCI_DWC=m
+CONFIG_AHCI_IMX=m
+CONFIG_AHCI_CEVA=y
+CONFIG_SATA_SIL24=y
+CONFIG_PATA_OF_PLATFORM=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_NETDEVICES=y
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_TUN=y
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=y
+CONFIG_MHI_NET=m
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_ADAPTEC is not set
+# CONFIG_NET_VENDOR_AGERE is not set
+# CONFIG_NET_VENDOR_ALACRITECH is not set
+# CONFIG_NET_VENDOR_ALTEON is not set
+# CONFIG_NET_VENDOR_AMAZON is not set
+# CONFIG_NET_VENDOR_AMD is not set
+# CONFIG_NET_VENDOR_AQUANTIA is not set
+# CONFIG_NET_VENDOR_ARC is not set
+# CONFIG_NET_VENDOR_ATHEROS is not set
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_CADENCE is not set
+# CONFIG_NET_VENDOR_CAVIUM is not set
+# CONFIG_NET_VENDOR_CHELSIO is not set
+# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_CORTINA is not set
+# CONFIG_NET_VENDOR_DEC is not set
+# CONFIG_NET_VENDOR_DLINK is not set
+# CONFIG_NET_VENDOR_EMULEX is not set
+# CONFIG_NET_VENDOR_EZCHIP is not set
+CONFIG_FEC=y
+CONFIG_FSL_XGMAC_MDIO=y
+CONFIG_FSL_ENETC=y
+CONFIG_FSL_ENETC_VF=y
+CONFIG_FSL_ENETC_QOS=y
+# CONFIG_NET_VENDOR_GOOGLE is not set
+# CONFIG_NET_VENDOR_HISILICON is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
+CONFIG_E1000=y
+CONFIG_E1000E=y
+CONFIG_IGB=y
+CONFIG_IGBVF=y
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MELLANOX is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_MICROSEMI is not set
+# CONFIG_NET_VENDOR_MYRI is not set
+# CONFIG_NET_VENDOR_NI is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_NETERION is not set
+# CONFIG_NET_VENDOR_NETRONOME is not set
+# CONFIG_NET_VENDOR_NVIDIA is not set
+# CONFIG_NET_VENDOR_OKI is not set
+# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
+# CONFIG_NET_VENDOR_PENSANDO is not set
+# CONFIG_NET_VENDOR_QLOGIC is not set
+# CONFIG_NET_VENDOR_BROCADE is not set
+# CONFIG_NET_VENDOR_QUALCOMM is not set
+# CONFIG_NET_VENDOR_RDC is not set
+CONFIG_R8169=m
+# CONFIG_NET_VENDOR_RENESAS is not set
+# CONFIG_NET_VENDOR_ROCKER is not set
+# CONFIG_NET_VENDOR_SAMSUNG is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+# CONFIG_NET_VENDOR_SILAN is not set
+# CONFIG_NET_VENDOR_SIS is not set
+# CONFIG_NET_VENDOR_SOLARFLARE is not set
+# CONFIG_NET_VENDOR_SMSC is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
+CONFIG_STMMAC_ETH=m
+# CONFIG_NET_VENDOR_SUN is not set
+# CONFIG_NET_VENDOR_SYNOPSYS is not set
+# CONFIG_NET_VENDOR_TEHUTI is not set
+CONFIG_TI_K3_AM65_CPSW_NUSS=y
+# CONFIG_NET_VENDOR_VIA is not set
+# CONFIG_NET_VENDOR_WIZNET is not set
+CONFIG_AQUANTIA_PHY=y
+CONFIG_BROADCOM_PHY=m
+CONFIG_BCM54140_PHY=m
+CONFIG_BCM7XXX_PHY=m
+CONFIG_MARVELL_PHY=m
+CONFIG_MARVELL_10G_PHY=y
+CONFIG_MICREL_PHY=y
+CONFIG_MICROSEMI_PHY=y
+CONFIG_AT803X_PHY=y
+CONFIG_REALTEK_PHY=y
+CONFIG_ROCKCHIP_PHY=y
+CONFIG_DP83867_PHY=y
+CONFIG_DP83869_PHY=m
+CONFIG_DP83TD510_PHY=y
+CONFIG_VITESSE_PHY=y
+CONFIG_CAN_FLEXCAN=m
+CONFIG_CAN_M_CAN=m
+CONFIG_CAN_M_CAN_PLATFORM=m
+CONFIG_CAN_MCP251XFD=m
+CONFIG_MDIO_BCM_UNIMAC=y
+CONFIG_MDIO_GPIO=y
+CONFIG_MDIO_THUNDER=y
+CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
+CONFIG_MDIO_BUS_MUX_MMIOREG=y
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_LAN78XX=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SR9800=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+# CONFIG_WLAN_VENDOR_ADMTEK is not set
+CONFIG_ATH10K=m
+CONFIG_ATH10K_PCI=m
+CONFIG_ATH10K_SDIO=m
+CONFIG_WCN36XX=m
+CONFIG_ATH11K=m
+CONFIG_ATH11K_AHB=m
+CONFIG_ATH11K_PCI=m
+# CONFIG_WLAN_VENDOR_ATMEL is not set
+CONFIG_BRCMFMAC=m
+# CONFIG_WLAN_VENDOR_CISCO is not set
+# CONFIG_WLAN_VENDOR_INTEL is not set
+# CONFIG_WLAN_VENDOR_INTERSIL is not set
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_MWIFIEX_USB=m
+CONFIG_MT7921E=m
+# CONFIG_WLAN_VENDOR_RALINK is not set
+# CONFIG_WLAN_VENDOR_RSI is not set
+# CONFIG_WLAN_VENDOR_ST is not set
+CONFIG_WL18XX=m
+CONFIG_WLCORE_SDIO=m
+# CONFIG_WLAN_VENDOR_ZYDAS is not set
+# CONFIG_WLAN_VENDOR_QUANTENNA is not set
+CONFIG_WWAN=m
+CONFIG_MHI_WWAN_CTRL=m
+CONFIG_MHI_WWAN_MBIM=m
+CONFIG_INPUT_EVDEV=y
+CONFIG_KEYBOARD_ADC=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_SNVS_PWRKEY=m
+CONFIG_KEYBOARD_IMX_SC_KEY=m
+CONFIG_KEYBOARD_CROS_EC=y
+CONFIG_KEYBOARD_MTK_PMIC=m
+CONFIG_MOUSE_ELAN_I2C=m
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_TOUCHSCREEN_GOODIX=m
+CONFIG_TOUCHSCREEN_ELAN=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_BBNSM_PWRKEY=m
+CONFIG_INPUT_TPS65219_PWRBUTTON=y
+CONFIG_INPUT_PWM_BEEPER=m
+CONFIG_INPUT_PWM_VIBRA=m
+CONFIG_INPUT_RK805_PWRKEY=m
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_SERIO_AMBAKMI=y
+CONFIG_LEGACY_PTY_COUNT=16
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_OMAP=y
+CONFIG_SERIAL_8250_NR_UARTS=6
+CONFIG_SERIAL_8250_RUNTIME_UARTS=6
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_XILINX_PS_UART=y
+CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_SERIAL_FSL_LINFLEXUART=y
+CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y
+CONFIG_RPMSG_TTY=m
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_VIRTIO_CONSOLE=y
+CONFIG_IPMI_HANDLER=m
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_VIRTIO=y
+CONFIG_TCG_TPM=y
+CONFIG_TCG_TIS=m
+CONFIG_TCG_TIS_SPI=m
+CONFIG_TCG_TIS_SPI_CR50=y
+CONFIG_TCG_TIS_I2C_CR50=m
+CONFIG_TCG_TIS_I2C_INFINEON=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX=y
+CONFIG_I2C_MUX_PCA954x=y
+CONFIG_I2C_CADENCE=m
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
+CONFIG_I2C_GPIO=m
+CONFIG_I2C_IMX=y
+CONFIG_I2C_IMX_LPI2C=y
+CONFIG_I2C_OMAP=y
+CONFIG_I2C_RK3X=y
+CONFIG_I2C_CROS_EC_TUNNEL=y
+CONFIG_SPI=y
+CONFIG_SPI_CADENCE_QUADSPI=y
+CONFIG_SPI_DESIGNWARE=m
+CONFIG_SPI_DW_DMA=y
+CONFIG_SPI_DW_MMIO=m
+CONFIG_SPI_FSL_LPSPI=y
+CONFIG_SPI_FSL_QUADSPI=y
+CONFIG_SPI_NXP_FLEXSPI=y
+CONFIG_SPI_IMX=m
+CONFIG_SPI_OMAP24XX=m
+CONFIG_SPI_PL022=y
+CONFIG_SPI_SPIDEV=y
+CONFIG_SPMI=y
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_MAX77620=y
+CONFIG_PINCTRL_RK805=m
+CONFIG_PINCTRL_SINGLE=y
+CONFIG_PINCTRL_IMX8MM=y
+CONFIG_PINCTRL_IMX8MN=y
+CONFIG_PINCTRL_IMX8MP=y
+CONFIG_PINCTRL_IMX8MQ=y
+CONFIG_PINCTRL_IMX8QM=y
+CONFIG_PINCTRL_IMX8QXP=y
+CONFIG_PINCTRL_IMX8DXL=y
+CONFIG_PINCTRL_IMX8ULP=y
+CONFIG_PINCTRL_IMX93=y
+CONFIG_GPIO_ALTERA=m
+CONFIG_GPIO_DAVINCI=y
+CONFIG_GPIO_DWAPB=y
+CONFIG_GPIO_MB86S7X=y
+CONFIG_GPIO_MXC=y
+CONFIG_GPIO_PL061=y
+CONFIG_GPIO_SYSCON=y
+CONFIG_GPIO_WCD934X=m
+CONFIG_GPIO_XGENE=y
+CONFIG_GPIO_MAX732X=y
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_GPIO_BD9571MWV=m
+CONFIG_GPIO_MAX77620=y
+CONFIG_POWER_RESET_BRCMSTB=y
+CONFIG_POWER_RESET_XGENE=y
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_SYSCON_REBOOT_MODE=y
+CONFIG_NVMEM_REBOOT_MODE=m
+CONFIG_BATTERY_QCOM_BATTMGR=m
+CONFIG_BATTERY_SBS=m
+CONFIG_BATTERY_BQ27XXX=y
+CONFIG_BATTERY_MAX17042=m
+CONFIG_CHARGER_MT6360=m
+CONFIG_CHARGER_BQ25890=m
+CONFIG_CHARGER_BQ25980=m
+CONFIG_CHARGER_RK817=m
+CONFIG_SENSORS_ARM_SCMI=y
+CONFIG_SENSORS_ARM_SCPI=y
+CONFIG_SENSORS_GPIO_FAN=m
+CONFIG_SENSORS_JC42=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_PWM_FAN=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_INA3221=m
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=10000
+CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
+CONFIG_CPU_THERMAL=y
+CONFIG_DEVFREQ_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+CONFIG_IMX_SC_THERMAL=m
+CONFIG_IMX8MM_THERMAL=m
+CONFIG_K3_THERMAL=y
+CONFIG_QORIQ_THERMAL=m
+CONFIG_GENERIC_ADC_THERMAL=m
+CONFIG_WATCHDOG=y
+CONFIG_ARM_SP805_WATCHDOG=y
+CONFIG_ARM_SBSA_WATCHDOG=y
+CONFIG_DW_WATCHDOG=y
+CONFIG_K3_RTI_WATCHDOG=y
+CONFIG_IMX2_WDT=y
+CONFIG_IMX_SC_WDT=m
+CONFIG_IMX7ULP_WDT=m
+CONFIG_ARM_SMC_WATCHDOG=y
+CONFIG_MFD_BD9571MWV=y
+CONFIG_MFD_AXP20X_I2C=y
+CONFIG_MFD_HI6421_PMIC=y
+CONFIG_MFD_MAX77620=y
+CONFIG_MFD_MT6360=y
+CONFIG_MFD_MT6397=y
+CONFIG_MFD_RK8XX_I2C=y
+CONFIG_MFD_RK8XX_SPI=y
+CONFIG_MFD_SEC_CORE=y
+CONFIG_MFD_TI_AM335X_TSCADC=m
+CONFIG_MFD_TPS65219=y
+CONFIG_MFD_ROHM_BD718XX=y
+CONFIG_MFD_WCD934X=m
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_AXP20X=y
+CONFIG_REGULATOR_BD718XX=y
+CONFIG_REGULATOR_BD9571MWV=y
+CONFIG_REGULATOR_CROS_EC=y
+CONFIG_REGULATOR_FAN53555=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_REGULATOR_HI6421V530=y
+CONFIG_REGULATOR_MAX77620=y
+CONFIG_REGULATOR_MAX8973=y
+CONFIG_REGULATOR_MP8859=y
+CONFIG_REGULATOR_MT6315=m
+CONFIG_REGULATOR_MT6357=y
+CONFIG_REGULATOR_MT6358=y
+CONFIG_REGULATOR_MT6359=y
+CONFIG_REGULATOR_MT6360=y
+CONFIG_REGULATOR_MT6397=y
+CONFIG_REGULATOR_PCA9450=y
+CONFIG_REGULATOR_PF8X00=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_REGULATOR_PWM=y
+CONFIG_REGULATOR_QCOM_SPMI=y
+CONFIG_REGULATOR_RAA215300=y
+CONFIG_REGULATOR_RK808=y
+CONFIG_REGULATOR_S2MPS11=y
+CONFIG_REGULATOR_TPS65132=m
+CONFIG_REGULATOR_TPS65219=y
+CONFIG_REGULATOR_VCTRL=m
+CONFIG_MEDIA_SUPPORT=m
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_PLATFORM_SUPPORT=y
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_AMPHION_VPU=m
+CONFIG_VIDEO_IMX7_CSI=m
+CONFIG_VIDEO_IMX8MQ_MIPI_CSI2=m
+CONFIG_VIDEO_IMX_MIPI_CSIS=m
+CONFIG_VIDEO_IMX8_ISI=m
+CONFIG_VIDEO_IMX8_ISI_M2M=y
+CONFIG_VIDEO_IMX8_JPEG=m
+CONFIG_VIDEO_HANTRO=m
+CONFIG_VIDEO_AR0521=m
+CONFIG_VIDEO_IMX219=m
+CONFIG_VIDEO_IMX290=m
+CONFIG_VIDEO_IMX412=m
+CONFIG_VIDEO_OV5640=m
+CONFIG_VIDEO_OV5645=m
+CONFIG_VIDEO_OV5647=m
+CONFIG_VIDEO_OV9282=m
+CONFIG_DRM=m
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_DRM_I2C_SIL164=m
+CONFIG_DRM_I2C_NXP_TDA998X=m
+CONFIG_DRM_HDLCD=m
+CONFIG_DRM_MALI_DISPLAY=m
+CONFIG_DRM_KOMEDA=m
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
+CONFIG_DRM_PANEL_LVDS=m
+CONFIG_DRM_PANEL_SIMPLE=m
+CONFIG_DRM_PANEL_EDP=m
+CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m
+CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
+CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
+CONFIG_DRM_PANEL_VISIONOX_VTDR6130=m
+CONFIG_DRM_DISPLAY_CONNECTOR=m
+CONFIG_DRM_FSL_LDB=m
+CONFIG_DRM_LONTIUM_LT8912B=m
+CONFIG_DRM_LONTIUM_LT9611=m
+CONFIG_DRM_LONTIUM_LT9611UXC=m
+CONFIG_DRM_ITE_IT66121=m
+CONFIG_DRM_NWL_MIPI_DSI=m
+CONFIG_DRM_PARADE_PS8640=m
+CONFIG_DRM_SAMSUNG_DSIM=m
+CONFIG_DRM_SII902X=m
+CONFIG_DRM_SIMPLE_BRIDGE=m
+CONFIG_DRM_THINE_THC63LVD1024=m
+CONFIG_DRM_TOSHIBA_TC358767=m
+CONFIG_DRM_TOSHIBA_TC358768=m
+CONFIG_DRM_TI_TFP410=m
+CONFIG_DRM_TI_SN65DSI83=m
+CONFIG_DRM_TI_SN65DSI86=m
+CONFIG_DRM_ANALOGIX_ANX7625=m
+CONFIG_DRM_I2C_ADV7511=m
+CONFIG_DRM_I2C_ADV7511_AUDIO=y
+CONFIG_DRM_CDNS_MHDP8546=m
+CONFIG_DRM_IMX8QM_LDB=m
+CONFIG_DRM_IMX8QXP_LDB=m
+CONFIG_DRM_IMX8QXP_PIXEL_COMBINER=m
+CONFIG_DRM_IMX8QXP_PIXEL_LINK=m
+CONFIG_DRM_IMX8QXP_PIXEL_LINK_TO_DPI=m
+CONFIG_DRM_IMX_DCSS=m
+CONFIG_DRM_ETNAVIV=m
+CONFIG_DRM_MXSFB=m
+CONFIG_DRM_IMX_LCDIF=m
+CONFIG_DRM_TIDSS=m
+CONFIG_FB=y
+CONFIG_FB_EFI=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=m
+CONFIG_BACKLIGHT_PWM=m
+CONFIG_BACKLIGHT_LP855X=m
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_ALOOP=m
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_FSL_ASRC=m
+CONFIG_SND_SOC_FSL_MQS=m
+CONFIG_SND_SOC_FSL_MICFIL=m
+CONFIG_SND_SOC_FSL_EASRC=m
+CONFIG_SND_SOC_FSL_XCVR=m
+CONFIG_SND_SOC_FSL_RPMSG=m
+CONFIG_SND_IMX_SOC=m
+CONFIG_SND_SOC_IMX_SGTL5000=m
+CONFIG_SND_SOC_IMX_SPDIF=m
+CONFIG_SND_SOC_FSL_ASOC_CARD=m
+CONFIG_SND_SOC_IMX_AUDMIX=m
+CONFIG_SND_SOC_IMX_HDMI=m
+CONFIG_SND_SOC_J721E_EVM=m
+CONFIG_SND_SOC_ADAU7002=m
+CONFIG_SND_SOC_AK4613=m
+CONFIG_SND_SOC_BT_SCO=m
+CONFIG_SND_SOC_CROS_EC_CODEC=m
+CONFIG_SND_SOC_DA7213=m
+CONFIG_SND_SOC_DMIC=m
+CONFIG_SND_SOC_ES7134=m
+CONFIG_SND_SOC_ES7241=m
+CONFIG_SND_SOC_ES8316=m
+CONFIG_SND_SOC_GTM601=m
+CONFIG_SND_SOC_MAX98357A=m
+CONFIG_SND_SOC_MAX98927=m
+CONFIG_SND_SOC_RK817=m
+CONFIG_SND_SOC_RT5640=m
+CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
+CONFIG_SND_SOC_SIMPLE_MUX=m
+CONFIG_SND_SOC_SPDIF=m
+CONFIG_SND_SOC_TAS2552=m
+CONFIG_SND_SOC_TAS571X=m
+CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC3X_I2C=m
+CONFIG_SND_SOC_TS3A227E=m
+CONFIG_SND_SOC_WM8904=m
+CONFIG_SND_SOC_MT6358=m
+CONFIG_SND_SOC_NAU8822=m
+CONFIG_SND_SOC_LPASS_WSA_MACRO=m
+CONFIG_SND_SOC_LPASS_VA_MACRO=m
+CONFIG_SND_SOC_LPASS_RX_MACRO=m
+CONFIG_SND_SOC_LPASS_TX_MACRO=m
+CONFIG_SND_SIMPLE_CARD=m
+CONFIG_SND_AUDIO_GRAPH_CARD=m
+CONFIG_SND_AUDIO_GRAPH_CARD2=m
+CONFIG_HID_MULTITOUCH=m
+CONFIG_USB_HIDDEV=y
+CONFIG_I2C_HID_ACPI=m
+CONFIG_I2C_HID_OF=m
+CONFIG_USB_CONN_GPIO=y
+CONFIG_USB=y
+CONFIG_USB_OTG=y
+CONFIG_USB_MON=m
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_PCI_RENESAS=m
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+CONFIG_USB_ACM=m
+CONFIG_USB_STORAGE=y
+CONFIG_USB_CDNS_SUPPORT=m
+CONFIG_USB_CDNS3=m
+CONFIG_USB_CDNS3_GADGET=y
+CONFIG_USB_CDNS3_HOST=y
+CONFIG_USB_MUSB_HDRC=y
+CONFIG_USB_DWC3=y
+CONFIG_USB_DWC2=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_ISP1760=y
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_HUB_USB251XB=y
+CONFIG_USB_HSIC_USB3503=y
+CONFIG_USB_ONBOARD_HUB=m
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_ULPI=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_SNP_UDC_PLAT=y
+CONFIG_USB_BDC_UDC=y
+CONFIG_USB_CONFIGFS=m
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_GADGETFS=m
+CONFIG_TYPEC=m
+CONFIG_TYPEC_TCPM=m
+CONFIG_TYPEC_TCPCI=m
+CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_UCSI=m
+CONFIG_UCSI_CCG=m
+CONFIG_UCSI_PMIC_GLINK=m
+CONFIG_TYPEC_TPS6598X=m
+CONFIG_TYPEC_HD3SS3220=m
+CONFIG_TYPEC_MUX_FSA4480=m
+CONFIG_TYPEC_MUX_GPIO_SBU=m
+CONFIG_MMC=y
+CONFIG_MMC_BLOCK_MINORS=32
+CONFIG_MMC_ARMMMCI=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_ACPI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_OF_ARASAN=y
+CONFIG_MMC_SDHCI_OF_ESDHC=y
+CONFIG_MMC_SDHCI_OF_DWCMSHC=y
+CONFIG_MMC_SDHCI_CADENCE=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_MMC_SDHCI_F_SDH30=y
+CONFIG_MMC_SPI=y
+CONFIG_MMC_DW=y
+CONFIG_MMC_DW_EXYNOS=y
+CONFIG_MMC_DW_HI3798CV200=y
+CONFIG_MMC_DW_K3=y
+CONFIG_MMC_MTK=y
+CONFIG_MMC_SDHCI_XENON=y
+CONFIG_MMC_SDHCI_AM654=y
+CONFIG_SCSI_UFSHCD=y
+CONFIG_SCSI_UFS_BSG=y
+CONFIG_SCSI_UFSHCD_PLATFORM=y
+CONFIG_SCSI_UFS_CDNS_PLATFORM=m
+CONFIG_SCSI_UFS_TI_J721E=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_CLASS_MULTICOLOR=m
+CONFIG_LEDS_LM3692X=m
+CONFIG_LEDS_PCA9532=m
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_PWM=y
+CONFIG_LEDS_SYSCON=y
+CONFIG_LEDS_QCOM_LPG=m
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_DISK=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_CPU=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+CONFIG_LEDS_TRIGGER_PANIC=y
+CONFIG_EDAC=y
+CONFIG_EDAC_GHES=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_DS1307=y
+CONFIG_RTC_DRV_HYM8563=m
+CONFIG_RTC_DRV_MAX77686=y
+CONFIG_RTC_DRV_RK808=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_PCF85063=m
+CONFIG_RTC_DRV_PCF85363=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RV3028=m
+CONFIG_RTC_DRV_RV8803=m
+CONFIG_RTC_DRV_S5M=y
+CONFIG_RTC_DRV_DS3232=y
+CONFIG_RTC_DRV_PCF2127=m
+CONFIG_RTC_DRV_EFI=y
+CONFIG_RTC_DRV_CROS_EC=y
+CONFIG_RTC_DRV_PL031=y
+CONFIG_RTC_DRV_SNVS=m
+CONFIG_RTC_DRV_BBNSM=m
+CONFIG_RTC_DRV_IMX_SC=m
+CONFIG_RTC_DRV_MT6397=m
+CONFIG_RTC_DRV_TI_K3=m
+CONFIG_DMADEVICES=y
+CONFIG_BCM_SBA_RAID=m
+CONFIG_FSL_EDMA=y
+CONFIG_IMX_SDMA=m
+CONFIG_MV_XOR_V2=y
+CONFIG_PL330_DMA=y
+CONFIG_QCOM_HIDMA_MGMT=y
+CONFIG_QCOM_HIDMA=y
+CONFIG_TI_K3_UDMA=y
+CONFIG_TI_K3_UDMA_GLUE_LAYER=y
+CONFIG_VFIO=y
+CONFIG_VFIO_PCI=y
+CONFIG_VIRTIO_PCI=y
+CONFIG_VIRTIO_BALLOON=y
+CONFIG_VIRTIO_MMIO=y
+CONFIG_XEN_GNTDEV=y
+CONFIG_XEN_GRANT_DEV_ALLOC=y
+CONFIG_STAGING=y
+CONFIG_STAGING_MEDIA=y
+CONFIG_VIDEO_MAX96712=m
+CONFIG_CHROME_PLATFORMS=y
+CONFIG_CROS_EC=y
+CONFIG_CROS_EC_I2C=y
+CONFIG_CROS_EC_RPMSG=m
+CONFIG_CROS_EC_SPI=y
+CONFIG_CROS_EC_CHARDEV=m
+CONFIG_CLK_VEXPRESS_OSC=y
+CONFIG_COMMON_CLK_RK808=y
+CONFIG_COMMON_CLK_SCMI=y
+CONFIG_COMMON_CLK_SCPI=y
+CONFIG_COMMON_CLK_CS2000_CP=y
+CONFIG_COMMON_CLK_S2MPS11=y
+CONFIG_COMMON_CLK_XGENE=y
+CONFIG_COMMON_CLK_PWM=y
+CONFIG_COMMON_CLK_RS9_PCIE=y
+CONFIG_COMMON_CLK_VC5=y
+CONFIG_COMMON_CLK_BD718XX=m
+CONFIG_CLK_IMX8MM=y
+CONFIG_CLK_IMX8MN=y
+CONFIG_CLK_IMX8MP=y
+CONFIG_CLK_IMX8MQ=y
+CONFIG_CLK_IMX8QXP=y
+CONFIG_CLK_IMX8ULP=y
+CONFIG_CLK_IMX93=y
+CONFIG_TI_SCI_CLK=y
+CONFIG_HWSPINLOCK=y
+CONFIG_ARM_MHU=y
+CONFIG_IMX_MBOX=y
+CONFIG_PLATFORM_MHU=y
+CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y
+CONFIG_IOMMU_IO_PGTABLE_DART=y
+CONFIG_ARM_SMMU=y
+CONFIG_ARM_SMMU_V3=y
+CONFIG_REMOTEPROC=y
+CONFIG_REMOTEPROC_CDEV=y
+CONFIG_IMX_REMOTEPROC=y
+CONFIG_IMX_DSP_REMOTEPROC=m
+CONFIG_TI_K3_DSP_REMOTEPROC=m
+CONFIG_TI_K3_R5_REMOTEPROC=m
+CONFIG_RPMSG_CHAR=m
+CONFIG_RPMSG_CTRL=m
+CONFIG_RPMSG_QCOM_GLINK_RPM=y
+CONFIG_RPMSG_VIRTIO=y
+CONFIG_SOUNDWIRE=m
+CONFIG_SOUNDWIRE_QCOM=m
+CONFIG_SOC_BRCMSTB=y
+CONFIG_FSL_RCPM=y
+CONFIG_QCOM_PMIC_GLINK=m
+CONFIG_TI_SCI_PM_DOMAINS=y
+CONFIG_TI_PRUSS=m
+CONFIG_DEVFREQ_GOV_PASSIVE=m
+CONFIG_ARM_IMX_BUS_DEVFREQ=y
+CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m
+CONFIG_EXTCON_GPIO=y
+CONFIG_EXTCON_PTN5150=m
+CONFIG_EXTCON_USB_GPIO=y
+CONFIG_EXTCON_USBC_CROS_EC=y
+CONFIG_MEMORY=y
+CONFIG_IIO=y
+CONFIG_IMX8QXP_ADC=m
+CONFIG_MAX9611=m
+CONFIG_QCOM_SPMI_VADC=m
+CONFIG_QCOM_SPMI_ADC5=m
+CONFIG_TI_ADS1015=y
+CONFIG_TI_AM335X_ADC=m
+CONFIG_IIO_CROS_EC_SENSORS_CORE=m
+CONFIG_IIO_CROS_EC_SENSORS=m
+CONFIG_IIO_ST_LSM6DSX=m
+CONFIG_IIO_CROS_EC_LIGHT_PROX=m
+CONFIG_SENSORS_ISL29018=m
+CONFIG_VCNL4000=m
+CONFIG_IIO_ST_MAGN_3AXIS=m
+CONFIG_IIO_CROS_EC_BARO=m
+CONFIG_MPL3115=m
+CONFIG_PWM=y
+CONFIG_PWM_CROS_EC=m
+CONFIG_PWM_IMX27=m
+CONFIG_PWM_TIECAP=m
+CONFIG_PWM_TIEHRPWM=m
+CONFIG_RESET_IMX7=y
+CONFIG_RESET_TI_SCI=y
+CONFIG_PHY_CAN_TRANSCEIVER=m
+CONFIG_PHY_CADENCE_TORRENT=m
+CONFIG_PHY_CADENCE_SIERRA=m
+CONFIG_PHY_MIXEL_LVDS_PHY=m
+CONFIG_PHY_MIXEL_MIPI_DPHY=m
+CONFIG_PHY_FSL_IMX8M_PCIE=y
+CONFIG_PHY_QCOM_USB_HS=m
+CONFIG_PHY_SAMSUNG_USB2=y
+CONFIG_PHY_AM654_SERDES=m
+CONFIG_PHY_J721E_WIZ=m
+CONFIG_ARM_CCI_PMU=m
+CONFIG_ARM_CCN=m
+CONFIG_ARM_CMN=m
+CONFIG_ARM_SMMU_V3_PMU=m
+CONFIG_ARM_DSU_PMU=m
+CONFIG_FSL_IMX8_DDR_PMU=m
+CONFIG_ARM_SPE_PMU=m
+CONFIG_ARM_DMC620_PMU=m
+CONFIG_HISI_PMU=y
+CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU=m
+CONFIG_NVMEM_LAYOUT_SL28_VPD=m
+CONFIG_NVMEM_IMX_OCOTP=y
+CONFIG_NVMEM_IMX_OCOTP_ELE=m
+CONFIG_NVMEM_IMX_OCOTP_SCU=y
+CONFIG_NVMEM_RMEM=m
+CONFIG_NVMEM_SNVS_LPGPR=y
+CONFIG_NVMEM_SPMI_SDAM=m
+CONFIG_FPGA=y
+CONFIG_FPGA_MGR_ALTERA_CVP=m
+CONFIG_FPGA_BRIDGE=m
+CONFIG_ALTERA_FREEZE_BRIDGE=m
+CONFIG_FPGA_REGION=m
+CONFIG_OF_FPGA_REGION=m
+CONFIG_TEE=y
+CONFIG_OPTEE=y
+CONFIG_MUX_GPIO=m
+CONFIG_MUX_MMIO=y
+CONFIG_SLIM_QCOM_CTRL=m
+CONFIG_INTERCONNECT=y
+CONFIG_INTERCONNECT_IMX=y
+CONFIG_INTERCONNECT_IMX8MM=m
+CONFIG_INTERCONNECT_IMX8MN=m
+CONFIG_INTERCONNECT_IMX8MQ=m
+CONFIG_INTERCONNECT_IMX8MP=y
+CONFIG_COUNTER=m
+CONFIG_HTE=y
+CONFIG_EXFAT_FS=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_FANOTIFY=y
+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
+CONFIG_QUOTA=y
+CONFIG_AUTOFS_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_VFAT_FS=y
+CONFIG_NTFS_FS=m
+CONFIG_NTFS_RW=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_HUGETLBFS=y
+CONFIG_EFIVAR_FS=y
+CONFIG_SQUASHFS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V4=y
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_ROOT_NFS=y
+CONFIG_9P_FS=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_SECURITY=y
+CONFIG_CRYPTO_USER=y
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_ECHAINIV=y
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_LZO=m
+CONFIG_CRYPTO_ZSTD=m
+CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_CRYPTO_USER_API_RNG=m
+CONFIG_CRYPTO_CHACHA20_NEON=m
+CONFIG_CRYPTO_GHASH_ARM64_CE=y
+CONFIG_CRYPTO_SHA1_ARM64_CE=y
+CONFIG_CRYPTO_SHA2_ARM64_CE=y
+CONFIG_CRYPTO_SHA512_ARM64_CE=m
+CONFIG_CRYPTO_SHA3_ARM64=m
+CONFIG_CRYPTO_SM3_ARM64_CE=m
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
+CONFIG_CRYPTO_AES_ARM64_BS=m
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
+CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
+CONFIG_CRYPTO_DEV_FSL_CAAM=m
+CONFIG_CRYPTO_DEV_CCREE=m
+CONFIG_CRYPTO_DEV_HISI_SEC2=m
+CONFIG_CRYPTO_DEV_HISI_ZIP=m
+CONFIG_CRYPTO_DEV_HISI_HPRE=m
+CONFIG_CRYPTO_DEV_HISI_TRNG=m
+CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m
+CONFIG_CRYPTO_DEV_SA2UL=m
+CONFIG_PACKING=y
+CONFIG_INDIRECT_PIO=y
+CONFIG_CRC_CCITT=m
+CONFIG_DMA_RESTRICTED_POOL=y
+CONFIG_CMA_SIZE_MBYTES=1376
+CONFIG_CMA_SIZE_PERCENTAGE=25
+CONFIG_CMA_SIZE_SEL_MIN=y
+CONFIG_PRINTK_TIME=y
+CONFIG_DYNAMIC_DEBUG=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
+CONFIG_DEBUG_INFO_REDUCED=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_FTRACE is not set
+CONFIG_SAMPLES=y
+CONFIG_SAMPLE_RPMSG_CLIENT=m
+CONFIG_CORESIGHT=m
+CONFIG_CORESIGHT_LINK_AND_SINK_TMC=m
+CONFIG_CORESIGHT_CATU=m
+CONFIG_CORESIGHT_SINK_TPIU=m
+CONFIG_CORESIGHT_SINK_ETBV10=m
+CONFIG_CORESIGHT_STM=m
+CONFIG_CORESIGHT_CPU_DEBUG=m
+CONFIG_CORESIGHT_CTI=m
+CONFIG_MEMTEST=y
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/aarch64/toradex_aarch64.config b/recipes-kernel/linux/linux-toradex-upstream-6.6/aarch64/toradex_aarch64.config
new file mode 100644
index 0000000..2e57e3e
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/aarch64/toradex_aarch64.config
@@ -0,0 +1,527 @@
+## This file contains the differences to arm64 defconfig
+## it is used to generate toradex defconfig with the following command
+##
+## make defconfig
+## scripts/kconfig/merge_config.sh .config toradex_aarch64.config
+## make savedefconfig
+
+
+##
+## Section to enable kernel features
+##
+
+# CPU Frequency scaling
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+
+# Usefull for debugging
+CONFIG_DYNAMIC_DEBUG=y
+
+# Filesystems widely used
+CONFIG_EXFAT_FS=m
+CONFIG_NTFS_FS=m
+CONFIG_NTFS_RW=y
+
+# NVMe debugging/features
+CONFIG_NVME_HWMON=y
+CONFIG_NVME_VERBOSE_ERRORS=y
+
+# Systemd, https://github.com/systemd/systemd/blob/main/README
+CONFIG_DEVTMPFS=y
+CONFIG_CGROUPS=y
+CONFIG_INOTIFY_USER=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EPOLL=y
+CONFIG_UNIX=y
+CONFIG_SYSFS=y
+CONFIG_PROC_FS=y
+CONFIG_FHANDLE=y
+CONFIG_SYSFS_DEPRECATED=n
+CONFIG_UEVENT_HELPER=n
+CONFIG_FW_LOADER_USER_HELPER=n
+CONFIG_NET_NS=y
+CONFIG_NAMESPACES=y
+CONFIG_USER_NS=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_BPF=y
+CONFIG_BPF_SYSCALL=y
+CONFIG_BPF_JIT=y
+CONFIG_CGROUP_BPF=y
+CONFIG_RT_GROUP_SCHED=n
+
+# Spidev, force the driver to be builtin
+CONFIG_SPI_SPIDEV=y
+
+# Extcon used for dual-role USB switching
+CONFIG_EXTCON_GPIO=y
+
+# Gadgetfs is used for RNDIS (Ethernet over USB device)
+CONFIG_USB_GADGETFS=m
+
+# ADC used on Verdin boards
+CONFIG_TI_ADS1015=y
+
+# RTC widely used on Toradex eval-boards
+CONFIG_RTC_DRV_DS1307=y
+
+# Support HID devices
+# This suppresses also the warning "hid-generic: device has no listeners, quitting"
+CONFIG_USB_HIDDEV=y
+
+# USB hub used on modules and or eval-boards
+CONFIG_USB_HUB_USB251XB=y
+
+# Enable usbmon which allows capturing USB traffic using tcpdump
+CONFIG_USB_MON=m
+
+# Thermal emergency poweroff
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=10000
+
+# Wi-Fi and Bluetooth used on modules plus related useful settings
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_NXPUART=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT=m
+CONFIG_CFG80211=m
+CONFIG_MAC80211=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_MWIFIEX_USB=m
+CONFIG_MWIFIEX=m
+CONFIG_R8188EU=m
+CONFIG_RFKILL_GPIO=m
+CONFIG_RFKILL=m
+
+# Verdin DSI Devices
+CONFIG_PWM=y
+CONFIG_DRM_LONTIUM_LT8912B=m
+CONFIG_DRM_TI_SN65DSI83=m
+
+# Verdin EEPROM
+CONFIG_EEPROM_AT24=y
+
+# Verdin Serial 8250 UARTs
+CONFIG_SERIAL_8250_NR_UARTS=6
+CONFIG_SERIAL_8250_RUNTIME_UARTS=6
+
+# Cameras
+CONFIG_VIDEO_AR0521=m
+CONFIG_VIDEO_IMX290=m
+CONFIG_VIDEO_OV5647=m
+CONFIG_VIDEO_OV9282=m
+CONFIG_VIDEO_TC358743=m
+
+# CMA
+CONFIG_CMA_SIZE_MBYTES=1376
+CONFIG_CMA_SIZE_PERCENTAGE=25
+# CONFIG_CMA_SIZE_SEL_MBYTES is not set
+# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
+CONFIG_CMA_SIZE_SEL_MIN=y
+
+# Verdin display adapters
+CONFIG_DRM_LONTIUM_LT8912B=m
+CONFIG_DRM_TI_SN65DSI83=m
+CONFIG_DRM_TOSHIBA_TC358767=m
+
+##
+## Section to enable i.MX aarch64 SoC
+##
+
+# GPU
+CONFIG_DRM_ETNAVIV=m
+
+# RPMsg and RemoteProc for HMP
+CONFIG_IMX_REMOTEPROC=y
+CONFIG_RPMSG_CTRL=m
+CONFIG_RPMSG_VIRTIO=y
+CONFIG_REMOTEPROC_CDEV=y
+CONFIG_RPMSG_TTY=m
+CONFIG_SAMPLES=y
+CONFIG_SAMPLE_RPMSG_CLIENT=m
+
+# Enable i.MX PCIe
+CONFIG_PCI_IMX6_HOST=y
+CONFIG_PCI_IMX6_EP=m
+
+# Enable i.MX 8M series SoC drivers
+CONFIG_DRM_FSL_LDB=m
+CONFIG_DRM_IMX_LCDIF=m
+CONFIG_SND_SOC_FSL_AUD2HTX=m
+CONFIG_SND_SOC_FSL_RPMSG=m
+CONFIG_SND_SOC_FSL_XCVR=m
+CONFIG_SND_SOC_IMX_HDMI=m
+
+# Enable i.MX 8/8X series drivers
+CONFIG_AHCI_IMX=m
+CONFIG_DRM_IMX8QM_LDB=m
+CONFIG_DRM_IMX8QXP_LDB=m
+CONFIG_DRM_IMX8QXP_PIXEL_COMBINER=m
+CONFIG_DRM_IMX8QXP_PIXEL_LINK=m
+CONFIG_DRM_IMX8QXP_PIXEL_LINK_TO_DPI=m
+CONFIG_IMX8QXP_ADC=m
+CONFIG_PHY_MIXEL_LVDS_PHY=m
+CONFIG_SND_SOC_FSL_MQS=m
+CONFIG_VIDEO_AMPHION_VPU=m
+CONFIG_VIDEO_IMX8_JPEG=m
+CONFIG_VIDEO_IMX8MQ_MIPI_CSI2=m
+
+# Optional HiFi4 DSP
+CONFIG_IMX_DSP=m
+CONFIG_IMX_DSP_REMOTEPROC=m
+
+
+##
+## Section to enable TI aarch64 SoC
+##
+
+CONFIG_K3_RTI_WATCHDOG=y
+CONFIG_K3_THERMAL=y
+
+# Verdin PMIC
+CONFIG_MFD_TPS65219=y
+CONFIG_REGULATOR_TPS65219=y
+CONFIG_INPUT_TPS65219_PWRBUTTON=y
+
+
+##
+## Section to disable kernel features
+##
+
+# Not used ADC Driver
+CONFIG_IMX93_ADC=n
+
+# Disable architectures and SoCs not used by Toradex
+CONFIG_ARCH_ACTIONS=n
+CONFIG_ARCH_SUNXI=n
+CONFIG_ARCH_ALPINE=n
+CONFIG_ARCH_APPLE=n
+CONFIG_ARCH_BCM=n
+CONFIG_ARCH_BCM2835=n
+CONFIG_ARCH_BCM_IPROC=n
+CONFIG_ARCH_BCMBCA=y
+CONFIG_ARCH_BRCMSTB=n
+CONFIG_ARCH_BERLIN=n
+CONFIG_ARCH_BITMAIN=n
+CONFIG_ARCH_EXYNOS=n
+CONFIG_ARCH_SPARX5=n
+CONFIG_ARCH_LG1K=n
+CONFIG_ARCH_HISI=n
+CONFIG_ARCH_KEEMBAY=n
+CONFIG_ARCH_MEDIATEK=n
+CONFIG_ARCH_MESON=n
+CONFIG_ARCH_MVEBU=n
+CONFIG_ARCH_LAYERSCAPE=n
+CONFIG_ARCH_S32=n
+CONFIG_ARCH_MA35=n
+CONFIG_ARCH_NPCM=n
+CONFIG_ARCH_QCOM=n
+CONFIG_ARCH_REALTEK=n
+CONFIG_ARCH_RENESAS=n
+CONFIG_ARCH_ROCKCHIP=n
+CONFIG_ARCH_SEATTLE=n
+CONFIG_ARCH_INTEL_SOCFPGA=n
+CONFIG_ARCH_STM32=n
+CONFIG_ARCH_SYNQUACER=n
+CONFIG_ARCH_TEGRA=n
+CONFIG_ARCH_TESLA_FSD=n
+CONFIG_ARCH_SPRD=n
+CONFIG_ARCH_THUNDER=n
+CONFIG_ARCH_THUNDER2=n
+CONFIG_ARCH_UNIPHIER=n
+CONFIG_ARCH_VEXPRESS=n
+CONFIG_ARCH_VISCONTI=n
+CONFIG_ARCH_XGENE=n
+CONFIG_ARCH_ZYNQMP=n
+
+# Disable NAND as Toradex uses only eMMC on ARM 64bit boards
+CONFIG_MTD=n
+
+# Disable unnecessary TV stuff
+CONFIG_DRM_NOUVEAU=n
+CONFIG_NET_DSA=n
+CONFIG_NFC=n
+CONFIG_OVERLAY_FS=n
+CONFIG_RC_CORE=n
+CONFIG_MTD_UBI=n
+CONFIG_JFFS2_FS=n
+CONFIG_UBIFS_FS=n
+# Media
+CONFIG_DVB_CORE=n
+CONFIG_DVB_M88DS3103=n
+CONFIG_DVB_MXL5XX=n
+CONFIG_DVB_STB0899=n
+CONFIG_DVB_STB6100=n
+CONFIG_DVB_STV090x=n
+CONFIG_DVB_STV0910=n
+CONFIG_DVB_STV6110x=n
+CONFIG_DVB_STV6111=n
+CONFIG_DVB_DRXK=n
+CONFIG_DVB_MN88472=n
+CONFIG_DVB_MN88473=n
+CONFIG_DVB_SI2165=n
+CONFIG_DVB_TDA18271C2DD=n
+CONFIG_DVB_CX24110=n
+CONFIG_DVB_CX24116=n
+CONFIG_DVB_CX24117=n
+CONFIG_DVB_CX24120=n
+CONFIG_DVB_CX24123=n
+CONFIG_DVB_DS3000=n
+CONFIG_DVB_MB86A16=n
+CONFIG_DVB_MT312=n
+CONFIG_DVB_S5H1420=n
+CONFIG_DVB_SI21XX=n
+CONFIG_DVB_STB6000=n
+CONFIG_DVB_STV0288=n
+CONFIG_DVB_STV0299=n
+CONFIG_DVB_STV0900=n
+CONFIG_DVB_STV6110=n
+CONFIG_DVB_TDA10071=n
+CONFIG_DVB_TDA10086=n
+CONFIG_DVB_TDA8083=n
+CONFIG_DVB_TDA8261=n
+CONFIG_DVB_TDA826X=n
+CONFIG_DVB_TS2020=n
+CONFIG_DVB_TUA6100=n
+CONFIG_DVB_TUNER_CX24113=n
+CONFIG_DVB_TUNER_ITD1000=n
+CONFIG_DVB_VES1X93=n
+CONFIG_DVB_ZL10036=n
+CONFIG_DVB_ZL10039=n
+CONFIG_DVB_AF9013=n
+CONFIG_DVB_CX22700=n
+CONFIG_DVB_CX22702=n
+CONFIG_DVB_CXD2820R=n
+CONFIG_DVB_CXD2841ER=n
+CONFIG_DVB_DIB3000MB=n
+CONFIG_DVB_DIB3000MC=n
+CONFIG_DVB_DIB7000M=n
+CONFIG_DVB_DIB7000P=n
+CONFIG_DVB_DIB9000=n
+CONFIG_DVB_DRXD=n
+CONFIG_DVB_EC100=n
+CONFIG_DVB_L64781=n
+CONFIG_DVB_MT352=n
+CONFIG_DVB_NXT6000=n
+CONFIG_DVB_RTL2830=n
+CONFIG_DVB_RTL2832=n
+CONFIG_DVB_RTL2832_SDR=n
+CONFIG_DVB_S5H1432=n
+CONFIG_DVB_SI2168=n
+CONFIG_DVB_SP887X=n
+CONFIG_DVB_STV0367=n
+CONFIG_DVB_TDA10048=n
+CONFIG_DVB_TDA1004X=n
+CONFIG_DVB_ZD1301_DEMOD=n
+CONFIG_DVB_ZL10353=n
+CONFIG_DVB_CXD2880=n
+CONFIG_DVB_STV0297=n
+CONFIG_DVB_TDA10021=n
+CONFIG_DVB_TDA10023=n
+CONFIG_DVB_VES1820=n
+CONFIG_DVB_AU8522=n
+CONFIG_DVB_AU8522_DTV=n
+CONFIG_DVB_AU8522_V4L=n
+CONFIG_DVB_BCM3510=n
+CONFIG_DVB_LG2160=n
+CONFIG_DVB_LGDT3305=n
+CONFIG_DVB_LGDT3306A=n
+CONFIG_DVB_LGDT330X=n
+CONFIG_DVB_MXL692=n
+CONFIG_DVB_NXT200X=n
+CONFIG_DVB_OR51132=n
+CONFIG_DVB_OR51211=n
+CONFIG_DVB_S5H1409=n
+CONFIG_DVB_S5H1411=n
+CONFIG_DVB_DIB8000=n
+CONFIG_DVB_MB86A20S=n
+CONFIG_DVB_S921=n
+CONFIG_DVB_MN88443X=n
+CONFIG_DVB_TC90522=n
+CONFIG_DVB_PLL=n
+CONFIG_DVB_TUNER_DIB0070=n
+CONFIG_DVB_TUNER_DIB0090=n
+CONFIG_DVB_A8293=n
+CONFIG_DVB_AF9033=n
+CONFIG_DVB_ASCOT2E=n
+CONFIG_DVB_ATBM8830=n
+CONFIG_DVB_HELENE=n
+CONFIG_DVB_HORUS3A=n
+CONFIG_DVB_ISL6405=n
+CONFIG_DVB_ISL6421=n
+CONFIG_DVB_ISL6423=n
+CONFIG_DVB_IX2505V=n
+CONFIG_DVB_LGS8GL5=n
+CONFIG_DVB_LGS8GXX=n
+CONFIG_DVB_LNBH25=n
+CONFIG_DVB_LNBH29=n
+CONFIG_DVB_LNBP21=n
+CONFIG_DVB_LNBP22=n
+CONFIG_DVB_M88RS2000=n
+CONFIG_DVB_TDA665x=n
+CONFIG_DVB_DRX39XYJ=n
+CONFIG_DVB_CXD2099=n
+CONFIG_DVB_SP2=n
+CONFIG_DVB_TUNER_CX24113=n
+CONFIG_DVB_TUNER_ITD1000=n
+CONFIG_DVB_TUNER_DIB0070=n
+CONFIG_DVB_TUNER_DIB0090=n
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=n
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=n
+CONFIG_MEDIA_SDR_SUPPORT=n
+CONFIG_MEDIA_TUNER=n
+CONFIG_MEDIA_TUNER_E4000=n
+CONFIG_MEDIA_TUNER_FC0011=n
+CONFIG_MEDIA_TUNER_FC0012=n
+CONFIG_MEDIA_TUNER_FC0013=n
+CONFIG_MEDIA_TUNER_FC2580=n
+CONFIG_MEDIA_TUNER_IT913X=n
+CONFIG_MEDIA_TUNER_M88RS6000T=n
+CONFIG_MEDIA_TUNER_MAX2165=n
+CONFIG_MEDIA_TUNER_MC44S803=n
+CONFIG_MEDIA_TUNER_MSI001=n
+CONFIG_MEDIA_TUNER_MT2060=n
+CONFIG_MEDIA_TUNER_MT2063=n
+CONFIG_MEDIA_TUNER_MT20XX=n
+CONFIG_MEDIA_TUNER_MT2131=n
+CONFIG_MEDIA_TUNER_MT2266=n
+CONFIG_MEDIA_TUNER_MXL301RF=n
+CONFIG_MEDIA_TUNER_MXL5005S=n
+CONFIG_MEDIA_TUNER_MXL5007T=n
+CONFIG_MEDIA_TUNER_QM1D1B0004=n
+CONFIG_MEDIA_TUNER_QM1D1C0042=n
+CONFIG_MEDIA_TUNER_QT1010=n
+CONFIG_MEDIA_TUNER_R820T=n
+CONFIG_MEDIA_TUNER_SI2157=n
+CONFIG_MEDIA_TUNER_SIMPLE=n
+CONFIG_MEDIA_TUNER_TDA18212=n
+CONFIG_MEDIA_TUNER_TDA18218=n
+CONFIG_MEDIA_TUNER_TDA18250=n
+CONFIG_MEDIA_TUNER_TDA18271=n
+CONFIG_MEDIA_TUNER_TDA827X=n
+CONFIG_MEDIA_TUNER_TDA8290=n
+CONFIG_MEDIA_TUNER_TDA9887=n
+CONFIG_MEDIA_TUNER_TEA5761=n
+CONFIG_MEDIA_TUNER_TEA5767=n
+CONFIG_MEDIA_TUNER_TUA9001=n
+CONFIG_MEDIA_TUNER_XC2028=n
+CONFIG_MEDIA_TUNER_XC4000=n
+CONFIG_MEDIA_TUNER_XC5000=n
+
+# Not used sound drivers
+CONFIG_SND_SOC_MSM8916_WCD_ANALOG=n
+CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=n
+CONFIG_SND_SOC_PCM3168A=n
+CONFIG_SND_SOC_PCM3168A_I2C=n
+CONFIG_SND_SOC_RL6231=n
+CONFIG_SND_SOC_RT5659=n
+CONFIG_SND_SOC_WCD9335=n
+CONFIG_SND_SOC_WCD_MBHC=n
+CONFIG_SND_SOC_WCD934X=n
+CONFIG_SND_SOC_WCD938X=n
+CONFIG_SND_SOC_WCD938X_SDW=n
+CONFIG_SND_SOC_WM8524=n
+CONFIG_SND_SOC_WM8960=n
+CONFIG_SND_SOC_WM8962=n
+CONFIG_SND_SOC_WM8978=n
+CONFIG_SND_SOC_WSA881X=n
+
+# Not used PCI drivers
+CONFIG_PCI_HOST_THUNDER_ECAM=n
+CONFIG_PCI_HOST_THUNDER_PEM=n
+CONFIG_PCI_LAYERSCAPE=n
+CONFIG_PCI_MESON=n
+CONFIG_PCI_XGENE_MSI=n
+CONFIG_PCI_XGENE=n
+CONFIG_PCIE_ALTERA_MSI=n
+CONFIG_PCIE_ALTERA=n
+CONFIG_PCIE_KIRIN=n
+CONFIG_PCIE_MOBIVEIL=n
+
+# Not used Graphic Drivers
+CONFIG_DRM_RCAR_DW_HDMI=n
+CONFIG_DRM_RCAR_LVDS=n
+# Selected by DRM_RCAR_LVDS only
+CONFIG_OF_OVERLAY=n
+CONFIG_DRM_HISI_HIBMC=n
+CONFIG_DRM_HISI_KIRIN=n
+CONFIG_DRM_PL111=n
+CONFIG_DRM_LIMA=n
+CONFIG_DRM_PANFROST=n
+
+# Not used Network and Wifi drivers
+CONFIG_NET_VENDOR_3COM=n
+CONFIG_NET_VENDOR_ADAPTEC=n
+CONFIG_NET_VENDOR_AGERE=n
+CONFIG_NET_VENDOR_ALACRITECH=n
+CONFIG_NET_VENDOR_ALTEON=n
+CONFIG_NET_VENDOR_AMAZON=n
+CONFIG_NET_VENDOR_AMD=n
+CONFIG_NET_VENDOR_AQUANTIA=n
+CONFIG_NET_VENDOR_ARC=n
+CONFIG_NET_VENDOR_ATHEROS=n
+CONFIG_NET_VENDOR_AURORA=n
+CONFIG_NET_VENDOR_BROADCOM=n
+CONFIG_NET_VENDOR_BROCADE=n
+CONFIG_NET_VENDOR_CADENCE=n
+CONFIG_NET_VENDOR_CAVIUM=n
+CONFIG_NET_VENDOR_CHELSIO=n
+CONFIG_NET_VENDOR_CISCO=n
+CONFIG_NET_VENDOR_CORTINA=n
+CONFIG_NET_VENDOR_DEC=n
+CONFIG_NET_VENDOR_DLINK=n
+CONFIG_NET_VENDOR_EMULEX=n
+CONFIG_NET_VENDOR_EZCHIP=n
+CONFIG_NET_VENDOR_GOOGLE=n
+CONFIG_NET_VENDOR_HISILICON=n
+CONFIG_NET_VENDOR_HP=n
+CONFIG_NET_VENDOR_HUAWEI=n
+CONFIG_NET_VENDOR_MARVELL=n
+CONFIG_NET_VENDOR_MELLANOX=n
+CONFIG_NET_VENDOR_MICREL=n
+CONFIG_NET_VENDOR_MICROCHIP=n
+CONFIG_NET_VENDOR_MICROSEMI=n
+CONFIG_NET_VENDOR_MYRI=n
+CONFIG_NET_VENDOR_NATSEMI=n
+CONFIG_NET_VENDOR_NETERION=n
+CONFIG_NET_VENDOR_NETRONOME=n
+CONFIG_NET_VENDOR_NI=n
+CONFIG_NET_VENDOR_NVIDIA=n
+CONFIG_NET_VENDOR_OKI=n
+CONFIG_NET_VENDOR_PACKET_ENGINES=n
+CONFIG_NET_VENDOR_PENSANDO=n
+CONFIG_NET_VENDOR_QLOGIC=n
+CONFIG_NET_VENDOR_QUALCOMM=n
+CONFIG_NET_VENDOR_RDC=n
+CONFIG_NET_VENDOR_RENESAS=n
+CONFIG_NET_VENDOR_ROCKER=n
+CONFIG_NET_VENDOR_SAMSUNG=n
+CONFIG_NET_VENDOR_SEEQ=n
+CONFIG_NET_VENDOR_SILAN=n
+CONFIG_NET_VENDOR_SIS=n
+CONFIG_NET_VENDOR_SMSC=n
+CONFIG_NET_VENDOR_SOCIONEXT=n
+CONFIG_NET_VENDOR_SOLARFLARE=n
+CONFIG_NET_VENDOR_SUN=n
+CONFIG_NET_VENDOR_SYNOPSYS=n
+CONFIG_NET_VENDOR_TEHUTI=n
+CONFIG_NET_VENDOR_VIA=n
+CONFIG_NET_VENDOR_WIZNET=n
+CONFIG_WLAN_VENDOR_ADMTEK=n
+CONFIG_WLAN_VENDOR_ATMEL=n
+CONFIG_WLAN_VENDOR_CISCO=n
+CONFIG_WLAN_VENDOR_INTEL=n
+CONFIG_WLAN_VENDOR_INTERSIL=n
+CONFIG_WLAN_VENDOR_QUANTENNA=n
+CONFIG_WLAN_VENDOR_RALINK=n
+CONFIG_WLAN_VENDOR_RSI=n
+CONFIG_WLAN_VENDOR_ST=n
+CONFIG_WLAN_VENDOR_ZYDAS=n
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/defconfig b/recipes-kernel/linux/linux-toradex-upstream-6.6/defconfig
new file mode 100644
index 0000000..303a479
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/defconfig
@@ -0,0 +1,421 @@
+CONFIG_KERNEL_LZ4=y
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_BPF_SYSCALL=y
+CONFIG_BPF_JIT=y
+CONFIG_PREEMPT_VOLUNTARY=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_CGROUP_BPF=y
+CONFIG_NAMESPACES=y
+CONFIG_USER_NS=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_EXPERT=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_PERF_EVENTS=y
+CONFIG_ARCH_MULTI_V6=y
+CONFIG_ARCH_MXC=y
+CONFIG_SOC_IMX6Q=y
+CONFIG_SOC_IMX6UL=y
+CONFIG_SOC_IMX7D=y
+CONFIG_SMP=y
+CONFIG_ARM_PSCI=y
+CONFIG_HIGHMEM=y
+CONFIG_ARCH_FORCE_MAX_ORDER=14
+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPUFREQ_DT=y
+CONFIG_ARM_IMX6Q_CPUFREQ=y
+CONFIG_ARM_IMX_CPUFREQ_DT=y
+CONFIG_CPU_IDLE=y
+CONFIG_ARM_CPUIDLE=y
+CONFIG_ARM_PSCI_CPUIDLE=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_TEST_SUSPEND=y
+CONFIG_KPROBES=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_BINFMT_MISC=m
+# CONFIG_SWAP is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_NETFILTER=y
+CONFIG_BRIDGE=m
+CONFIG_VLAN_8021Q=m
+CONFIG_CAN=y
+CONFIG_BT=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_HCIUART=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_CFG80211=m
+CONFIG_CFG80211_WEXT=y
+CONFIG_MAC80211=m
+CONFIG_RFKILL=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_PCI=y
+CONFIG_PCI_MSI=y
+# CONFIG_VGA_ARB is not set
+CONFIG_PCI_IMX6=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_STANDALONE is not set
+CONFIG_IMX_WEIM=y
+CONFIG_CONNECTOR=y
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_RAW_NAND=y
+CONFIG_MTD_NAND_GPMI_NAND=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_FASTMAP=y
+CONFIG_MTD_UBI_BLOCK=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_EEPROM_AT24=y
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_BLK_DEV_SD=y
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_ATA=y
+# CONFIG_SATA_PMP is not set
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_AHCI_IMX=y
+# CONFIG_ATA_SFF is not set
+CONFIG_NETDEVICES=y
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_FARADAY is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+CONFIG_SMC91X=y
+CONFIG_SMC911X=y
+CONFIG_SMSC911X=y
+# CONFIG_NET_VENDOR_STMICRO is not set
+CONFIG_MICREL_PHY=y
+CONFIG_CAN_FLEXCAN=y
+CONFIG_CAN_MCP251X=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_LAN78XX=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_MCS7830=m
+# CONFIG_USB_NET_ZAURUS is not set
+CONFIG_ATH10K=m
+CONFIG_ATH10K_PCI=m
+CONFIG_ATH10K_SDIO=m
+CONFIG_IWLWIFI=m
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_RT2X00=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT3573=y
+CONFIG_RT2800USB_RT53XX=y
+CONFIG_RT2800USB_RT55XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RTL8192CU=m
+CONFIG_RTL8XXXU=m
+CONFIG_INPUT_EVDEV=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_SNVS_PWRKEY=y
+CONFIG_KEYBOARD_IMX=y
+# CONFIG_MOUSE_PS2 is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_AD7879=y
+CONFIG_TOUCHSCREEN_AD7879_I2C=y
+CONFIG_TOUCHSCREEN_ATMEL_MXT=y
+CONFIG_TOUCHSCREEN_STMPE=y
+CONFIG_INPUT_MISC=y
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_RPMSG_TTY=m
+CONFIG_SERIAL_DEV_BUS=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_HELPER_AUTO is not set
+CONFIG_I2C_GPIO=y
+CONFIG_I2C_IMX=y
+CONFIG_SPI=y
+CONFIG_SPI_MEM=y
+CONFIG_SPI_GPIO=y
+CONFIG_SPI_IMX=y
+CONFIG_SPI_SPIDEV=y
+# CONFIG_PTP_1588_CLOCK_KVM is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MXC=y
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_POWER_RESET_SYSCON_POWEROFF=y
+CONFIG_SENSORS_GPIO_FAN=y
+CONFIG_SENSORS_IIO_HWMON=y
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_THERMAL_STATISTICS=y
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=10000
+CONFIG_THERMAL_WRITABLE_TRIPS=y
+CONFIG_CPU_THERMAL=y
+CONFIG_IMX_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_RN5T618_WATCHDOG=y
+CONFIG_IMX2_WDT=y
+CONFIG_MFD_RN5T618=y
+CONFIG_MFD_STMPE=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_ANATOP=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_REGULATOR_RN5T618=y
+CONFIG_MEDIA_SUPPORT=y
+# CONFIG_DVB_NET is not set
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_MUX=y
+CONFIG_VIDEO_CODA=m
+CONFIG_VIDEO_IMX_PXP=y
+CONFIG_VIDEO_OV5640=m
+CONFIG_VIDEO_ADV7180=m
+CONFIG_VIDEO_TC358743=m
+# CONFIG_CXD2880_SPI_DRV is not set
+CONFIG_IMX_IPUV3_CORE=y
+CONFIG_DRM=y
+CONFIG_DRM_DEBUG_MODESET_LOCK=y
+CONFIG_DRM_PANEL_LVDS=y
+CONFIG_DRM_PANEL_SIMPLE=y
+CONFIG_DRM_PANEL_EDP=y
+CONFIG_DRM_PANEL_SEIKO_43WVF1G=y
+CONFIG_DRM_SIMPLE_BRIDGE=y
+CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
+CONFIG_DRM_DW_HDMI_CEC=y
+CONFIG_DRM_IMX=y
+CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
+CONFIG_DRM_IMX_TVE=y
+CONFIG_DRM_IMX_LDB=y
+CONFIG_DRM_IMX_HDMI=y
+CONFIG_DRM_ETNAVIV=y
+CONFIG_DRM_MXSFB=y
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_MX3 is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_BACKLIGHT_GPIO=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_LOGO=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_FSL_ASRC=y
+CONFIG_SND_IMX_SOC=y
+CONFIG_SND_SOC_IMX_SGTL5000=y
+CONFIG_SND_SOC_IMX_SPDIF=y
+CONFIG_SND_SOC_FSL_ASOC_CARD=y
+CONFIG_SND_SOC_AC97_CODEC=y
+CONFIG_SND_SOC_NAU8822=m
+CONFIG_SND_SIMPLE_CARD=y
+CONFIG_HID_MULTITOUCH=y
+CONFIG_USB_HIDDEV=y
+CONFIG_USB_CONN_GPIO=y
+CONFIG_USB=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_ACM=m
+CONFIG_USB_STORAGE=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_TEST=m
+CONFIG_USB_EHSET_TEST_FIXTURE=m
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_MXS_PHY=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_CONFIGFS=y
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_LB_SS=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_CONFIGFS_F_UAC1=y
+CONFIG_USB_CONFIGFS_F_UAC2=y
+CONFIG_USB_CONFIGFS_F_MIDI=y
+CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_USB_CONFIGFS_F_UVC=y
+CONFIG_USB_CONFIGFS_F_PRINTER=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_AUDIO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_G_NCM=m
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FUNCTIONFS=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_PWM=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_ONESHOT=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_DS1307=y
+CONFIG_RTC_DRV_MXC=y
+CONFIG_RTC_DRV_SNVS=y
+CONFIG_DMADEVICES=y
+CONFIG_FSL_EDMA=y
+CONFIG_IMX_SDMA=m
+CONFIG_MXS_DMA=y
+CONFIG_DMATEST=m
+CONFIG_STAGING=y
+CONFIG_R8188EU=m
+CONFIG_STAGING_MEDIA=y
+CONFIG_VIDEO_IMX_MEDIA=y
+CONFIG_COMMON_CLK_PWM=y
+CONFIG_IMX_MBOX=m
+CONFIG_REMOTEPROC=y
+CONFIG_REMOTEPROC_CDEV=y
+CONFIG_IMX_REMOTEPROC=m
+CONFIG_RPMSG_CHAR=m
+CONFIG_RPMSG_CTRL=m
+CONFIG_RPMSG_VIRTIO=m
+CONFIG_EXTCON_USB_GPIO=y
+CONFIG_IIO=y
+CONFIG_IMX7D_ADC=y
+CONFIG_STMPE_ADC=y
+CONFIG_VF610_ADC=y
+CONFIG_PWM=y
+CONFIG_PWM_FSL_FTM=y
+CONFIG_PWM_IMX27=y
+CONFIG_NVMEM_IMX_OCOTP=y
+CONFIG_NVMEM_SNVS_LPGPR=y
+CONFIG_TEE=y
+CONFIG_OPTEE=y
+CONFIG_MUX_MMIO=y
+CONFIG_EXFAT_FS=m
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=y
+CONFIG_NTFS3_FS=m
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=m
+CONFIG_UBIFS_FS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_ROOT_NFS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_UTF8=y
+CONFIG_SECURITYFS=y
+CONFIG_CRYPTO_CCM=y
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM=y
+CONFIG_CRYPTO_DEV_SAHARA=y
+CONFIG_CRYPTO_DEV_MXS_DCP=y
+CONFIG_CRC_CCITT=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_CMA_SIZE_MBYTES=256
+CONFIG_CMA_SIZE_PERCENTAGE=35
+CONFIG_CMA_SIZE_SEL_MIN=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_PRINTK_TIME=y
+CONFIG_DYNAMIC_DEBUG=y
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_FTRACE is not set
+CONFIG_SAMPLES=y
+CONFIG_SAMPLE_RPMSG_CLIENT=m
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/toradex_imx_v6_v7.config b/recipes-kernel/linux/linux-toradex-upstream-6.6/toradex_imx_v6_v7.config
new file mode 100644
index 0000000..c63dc9d
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/toradex_imx_v6_v7.config
@@ -0,0 +1,299 @@
+## This file contains the differences to imx_v6_v7_defconfig
+## it is used to generate toradex defconfig with the following command
+##
+## make imx_v6_v7_defconfig
+## scripts/kconfig/merge_config.sh .config toradex_imx_v6_v7.config
+## make savedefconfig
+
+# LZ4 support is better than LZO and provide good boot time performance
+CONFIG_KERNEL_LZ4=y
+
+# USB OTG Role Switch
+CONFIG_EXTCON_USB_GPIO=y
+CONFIG_USB_CONN_GPIO=y
+
+# Enable i.MX PCIE
+CONFIG_PCI_IMX6_HOST=y
+
+# Usefull for debugging
+CONFIG_DYNAMIC_DEBUG=y
+
+# Systemd, https://github.com/systemd/systemd/blob/main/README
+CONFIG_DEVTMPFS=y
+CONFIG_CGROUPS=y
+CONFIG_INOTIFY_USER=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EPOLL=y
+CONFIG_UNIX=y
+CONFIG_SYSFS=y
+CONFIG_PROC_FS=y
+CONFIG_FHANDLE=y
+CONFIG_SYSFS_DEPRECATED=n
+CONFIG_UEVENT_HELPER=n
+CONFIG_FW_LOADER_USER_HELPER=n
+CONFIG_NET_NS=y
+CONFIG_NAMESPACES=y
+CONFIG_USER_NS=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_BPF=y
+CONFIG_BPF_SYSCALL=y
+CONFIG_BPF_JIT=y
+CONFIG_CGROUP_BPF=y
+CONFIG_RT_GROUP_SCHED=n
+
+# SPI test and debugging
+CONFIG_SPI_SPIDEV=y
+
+# Support HID devices
+# This suppresses also the warning "hid-generic: device has no listeners, quitting"
+CONFIG_USB_HIDDEV=y
+
+# Apalis Evaluation Board v1.2
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SND_SOC_NAU8822=m
+
+# Colibri Evaluation Board
+CONFIG_CAN_MCP251X=m
+
+# WiFi/BT used on multiple SOM
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+
+# WiFi modules
+CONFIG_ATH10K=m
+CONFIG_ATH10K_PCI=m
+CONFIG_IWLWIFI=m
+CONFIG_RT2X00=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT3573=y
+CONFIG_RT2800USB_RT53XX=y
+CONFIG_RT2800USB_RT55XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RTL8192CU=m
+CONFIG_RTL8XXXU=m
+
+# 80211 as modules, so that regulatory.db is available when loading
+CONFIG_CFG80211=m
+CONFIG_MAC80211=m
+
+# Networking
+CONFIG_BRIDGE=m
+CONFIG_VLAN_8021Q=m
+
+# CMA, used by the VPU for example
+CONFIG_CMA_SIZE_MBYTES=256
+CONFIG_CMA_SIZE_SEL_MIN=y
+CONFIG_CMA_SIZE_PERCENTAGE=35
+
+# Thermal emergency poweroff
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=10000
+
+# Others
+CONFIG_DRM_SIMPLE_BRIDGE=y
+
+# Non rootfs as module to minimize image size
+CONFIG_JFFS2_FS=m
+CONFIG_EXFAT_FS=m
+CONFIG_EXT2_FS=m
+CONFIG_EXT3_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_NTFS3_FS=m
+
+# Disable not needed iMX drivers
+CONFIG_SOC_IMX31=n
+CONFIG_SOC_IMX35=n
+CONFIG_SOC_IMX50=n
+CONFIG_SOC_IMX51=n
+CONFIG_SOC_IMX53=n
+CONFIG_SOC_VF610=n
+CONFIG_SOC_IMX6SL=n
+CONFIG_SOC_IMX6SLL=n
+CONFIG_SOC_IMX6SX=n
+CONFIG_SOC_IMX7ULP=n
+CONFIG_SOC_IMX8M=n
+
+CONFIG_PINCTRL_IMX8MM=n
+CONFIG_PINCTRL_IMX8MN=n
+CONFIG_PINCTRL_IMX8MP=n
+CONFIG_PINCTRL_IMX8MQ=n
+
+CONFIG_CLK_IMX8MM=n
+CONFIG_CLK_IMX8MN=n
+CONFIG_CLK_IMX8MP=n
+CONFIG_CLK_IMX8MQ=n
+
+CONFIG_MTD_NAND_MXC=n
+CONFIG_PATA_IMX=n
+CONFIG_SPI_FSL_QUADSPI=n
+CONFIG_IMX7ULP_WDT=n
+CONFIG_FB_MX3=n
+CONFIG_RTC_DRV_MXC_V2=n
+CONFIG_PWM_IMX_TPM=n
+CONFIG_FSL_EDMA=n
+
+# Disable not needed functionality
+CONFIG_KEXEC=n
+CONFIG_SWAP=n
+
+# Disable noisy debug on the console every input event
+CONFIG_INPUT_EVBUG=n
+
+# Disable or build as module not needed generic drivers
+CONFIG_RC_CORE=n
+CONFIG_MTD_SPI_NOR=n
+CONFIG_VGA_ARB=n
+CONFIG_EEPROM_AT25=n
+CONFIG_SATA_PMP=n
+CONFIG_ATA_SFF=n
+CONFIG_KEYBOARD_ATKBD=n
+CONFIG_MOUSE_PS2=n
+CONFIG_INPUT_MMA8450=n
+CONFIG_SERIO=n
+CONFIG_PTP_1588_CLOCK_KVM=n
+
+CONFIG_TOUCHSCREEN_ADS7846=n
+CONFIG_TOUCHSCREEN_DA9052=n
+CONFIG_TOUCHSCREEN_EGALAX=n
+CONFIG_TOUCHSCREEN_GOODIX=n
+CONFIG_TOUCHSCREEN_ILI210X=n
+CONFIG_TOUCHSCREEN_MAX11801=n
+CONFIG_TOUCHSCREEN_IMX6UL_TSC=n
+CONFIG_TOUCHSCREEN_EDT_FT5X06=n
+CONFIG_TOUCHSCREEN_MC13783=n
+CONFIG_TOUCHSCREEN_TSC2004=n
+CONFIG_TOUCHSCREEN_TSC2007=n
+CONFIG_TOUCHSCREEN_SX8654=n
+CONFIG_TOUCHSCREEN_COLIBRI_VF50=n
+
+CONFIG_I2C_MUX=n
+CONFIG_I2C_MUX_GPIO=n
+CONFIG_I2C_HELPER_AUTO=n
+CONFIG_I2C_ALGOPCF=n
+CONFIG_I2C_ALGOPCA=n
+
+CONFIG_GPIO_SIOX=n
+CONFIG_GPIO_MAX732X=n
+CONFIG_GPIO_PCA953X=n
+CONFIG_GPIO_PCF857X=n
+CONFIG_GPIO_STMPE=n
+CONFIG_GPIO_74X164=n
+
+CONFIG_RN5T618_POWER=n
+CONFIG_SENSORS_MC13783_ADC=n
+
+CONFIG_DA9063_WATCHDOG=n
+CONFIG_DA9062_WATCHDOG=n
+
+CONFIG_MFD_DA9052_I2C=n
+CONFIG_MFD_DA9062=n
+CONFIG_MFD_DA9063=n
+CONFIG_MFD_MC13XXX_SPI=n
+CONFIG_MFD_MC13XXX_I2C=n
+
+CONFIG_REGULATOR_DA9052=n
+CONFIG_REGULATOR_DA9062=n
+CONFIG_REGULATOR_DA9063=n
+CONFIG_REGULATOR_LTC3676=n
+CONFIG_REGULATOR_MC13783=n
+CONFIG_REGULATOR_MC13892=n
+
+CONFIG_DVB_NET=n
+
+CONFIG_VIDEO_OV2680=n
+CONFIG_VIDEO_OV5645=n
+
+# HDMI to CSI-2 bridge
+CONFIG_VIDEO_TC358743=m
+
+CONFIG_CXD2880_SPI_DRV=n
+
+# This compiles all media-related drivers as modules and disables TV stuff
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_VIDEO_IMX_MEDIA=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=n
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=n
+CONFIG_MEDIA_RADIO_SUPPORT=n
+CONFIG_MEDIA_SDR_SUPPORT=n
+CONFIG_MEDIA_TEST_SUPPORT=n
+
+CONFIG_DRM_TI_TFP410=n
+
+CONFIG_LCD_CLASS_DEVICE=n
+CONFIG_LCD_L4F00242T03=n
+CONFIG_LCD_PLATFORM=n
+
+CONFIG_SND_SOC_EUKREA_TLV320=n
+CONFIG_SND_SOC_IMX_ES8328=n
+CONFIG_SND_SOC_CS42XX8_I2C=n
+CONFIG_SND_SOC_TLV320AIC3X_I2C=n
+CONFIG_SND_SOC_TLV320AIC23_I2C=n
+CONFIG_SND_SOC_WM8960=n
+CONFIG_SND_SOC_WM8962=n
+CONFIG_SND_SOC_ES8328_I2C=n
+CONFIG_SND_SOC_ES8328_SPI=n
+
+CONFIG_HID_WACOM=n
+CONFIG_I2C_HID_OF=n
+
+CONFIG_RTC_DRV_ISL1208=n
+CONFIG_RTC_DRV_PCF8523=n
+CONFIG_RTC_DRV_PCF8563=n
+CONFIG_RTC_DRV_M41T80=n
+CONFIG_RTC_DRV_RC5T619=n
+CONFIG_RTC_DRV_RV3029C2=n
+CONFIG_RTC_DRV_DA9063=n
+CONFIG_RTC_DRV_MC13XXX=n
+
+CONFIG_MMA8452=n
+CONFIG_RN5T618_ADC=n
+CONFIG_SENSORS_ISL29018=n
+CONFIG_MAG3110=n
+CONFIG_MPL3115=n
+
+CONFIG_SIOX=n
+
+CONFIG_BRCMFMAC=n
+CONFIG_WL12XX=n
+CONFIG_WL18XX=n
+CONFIG_WLCORE=n
+
+CONFIG_CS89x0_PLATFORM=n
+
+CONFIG_AT803X_PHY=n
+CONFIG_USB_RTL8152=m
+CONFIG_USB_LAN78XX=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_ZAURUS=n
+CONFIG_AX88796B_PHY=m
+CONFIG_MICROCHIP_PHY=m
+CONFIG_SMSC_PHY=m
+
+CONFIG_PROVE_LOCKING=n
+CONFIG_DEBUG_RT_MUTEXES=n
+CONFIG_DEBUG_SPINLOCK=n
+CONFIG_DEBUG_MUTEXES=n
+CONFIG_DEBUG_WW_MUTEX_SLOWPATH=n
+CONFIG_DEBUG_RWSEMS=n
+CONFIG_DEBUG_LOCK_ALLOC=n
+
+CONFIG_DMADEVICES=y
+CONFIG_FSL_EDMA=y
+CONFIG_DMA_VIRTUAL_CHANNELS=y
+
+# RPMsg and RemoteProc for HMP
+CONFIG_RPMSG_TTY=m
+CONFIG_IMX_MBOX=m
+CONFIG_REMOTEPROC=y
+CONFIG_REMOTEPROC_CDEV=y
+CONFIG_IMX_REMOTEPROC=m
+CONFIG_RPMSG_CHAR=m
+CONFIG_RPMSG_CTRL=m
+CONFIG_RPMSG_VIRTIO=m
+CONFIG_SAMPLES=y
+CONFIG_SAMPLE_RPMSG_CLIENT=m
diff --git a/recipes-kernel/linux/linux-toradex-upstream_6.6.bb b/recipes-kernel/linux/linux-toradex-upstream_6.6.bb
new file mode 100644
index 0000000..1704c14
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream_6.6.bb
@@ -0,0 +1,30 @@
+require linux-toradex-upstream.inc
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-${PV}:"
+
+LINUX_REPO = "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
+
+TDX_PATCHES = " \
+ file://0001-ARM-dts-imx6qdl-apalis-Add-usdhc-aliases.patch \
+ file://0001-dt-bindings-arm-fsl-Add-toradex-apalis_imx6q-eval-v1.patch \
+ file://0001-dt-bindings-arm-fsl-add-verdin-imx8mm-mallow-board.patch \
+ file://0001-power-reset-gpio-poweroff-use-a-struct-to-store-the-.patch \
+ file://0001-thermal-imx-Update-critical-temp-threshold.patch \
+ file://0001-usb-gadget-f_ncm-Apply-workaround-for-packet-cloggin.patch \
+ file://0002-arm64-dts-freescale-verdin-imx8mm-add-support-to-mal.patch \
+ file://0002-ARM-dts-imx6qdl-colibri-Add-usdhc-aliases.patch \
+ file://0002-ARM-dts-imx-Add-support-for-Apalis-Evaluation-Board-.patch \
+ file://0002-power-reset-gpio-poweroff-use-sys-off-handler-API.patch \
+ file://0002-Revert-drm-panel-simple-drop-use-of-data-mapping-pro.patch \
+ file://0003-ARM-dts-imx7d-colibri-emmc-Add-usdhc-aliases.patch \
+ file://0003-drivers-chipidea-disable-runtime-pm-for-imx6ul.patch \
+ file://0003-dt-bindings-power-reset-gpio-poweroff-Add-priority-p.patch \
+ file://0004-media-i2c-ov5640-Implement-get_mbus_config.patch \
+ file://0004-power-reset-gpio-poweroff-make-sys-handler-priority-.patch \
+"
+PV = "6.6"
+LINUX_VERSION ?= "6.6.20"
+KBRANCH = "linux-6.6.y"
+KERNEL_VERSION_SANITY_SKIP = "1"
+SRCREV_machine = "9b4a8eac17f0d840729384618b4b1e876233026c"
+SRCREV_machine:use-head-next = "${AUTOREV}"