From fbae91a4f6e19022aaf107d6a71297458b11752a Mon Sep 17 00:00:00 2001 From: Joao Paulo Goncalves Date: Tue, 5 Mar 2024 13:09:46 -0300 Subject: 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 --- ...-ARM-dts-imx6qdl-apalis-Add-usdhc-aliases.patch | 38 + ...-arm-fsl-Add-toradex-apalis_imx6q-eval-v1.patch | 52 + ...gs-arm-fsl-add-verdin-imx8mm-mallow-board.patch | 44 + ...-gpio-poweroff-use-a-struct-to-store-the-.patch | 110 +++ ...hermal-imx-Update-critical-temp-threshold.patch | 40 + ...f_ncm-Apply-workaround-for-packet-cloggin.patch | 68 ++ ...-Add-support-for-Apalis-Evaluation-Board-.patch | 530 ++++++++++ ...ARM-dts-imx6qdl-colibri-Add-usdhc-aliases.patch | 38 + ...panel-simple-drop-use-of-data-mapping-pro.patch | 61 ++ ...reescale-verdin-imx8mm-add-support-to-mal.patch | 273 ++++++ ...set-gpio-poweroff-use-sys-off-handler-API.patch | 103 ++ ...-dts-imx7d-colibri-emmc-Add-usdhc-aliases.patch | 35 + ...rs-chipidea-disable-runtime-pm-for-imx6ul.patch | 39 + ...-power-reset-gpio-poweroff-Add-priority-p.patch | 45 + ...edia-i2c-ov5640-Implement-get_mbus_config.patch | 54 ++ ...-gpio-poweroff-make-sys-handler-priority-.patch | 54 ++ .../linux-toradex-upstream-6.6/aarch64/defconfig | 1025 ++++++++++++++++++++ .../aarch64/toradex_aarch64.config | 527 ++++++++++ .../linux/linux-toradex-upstream-6.6/defconfig | 421 ++++++++ .../toradex_imx_v6_v7.config | 299 ++++++ recipes-kernel/linux/linux-toradex-upstream_6.6.bb | 30 + 21 files changed, 3886 insertions(+) create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/0001-ARM-dts-imx6qdl-apalis-Add-usdhc-aliases.patch create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/0001-dt-bindings-arm-fsl-Add-toradex-apalis_imx6q-eval-v1.patch create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/0001-dt-bindings-arm-fsl-add-verdin-imx8mm-mallow-board.patch create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/0001-power-reset-gpio-poweroff-use-a-struct-to-store-the-.patch create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/0001-thermal-imx-Update-critical-temp-threshold.patch create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/0001-usb-gadget-f_ncm-Apply-workaround-for-packet-cloggin.patch create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/0002-ARM-dts-imx-Add-support-for-Apalis-Evaluation-Board-.patch create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/0002-ARM-dts-imx6qdl-colibri-Add-usdhc-aliases.patch create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/0002-Revert-drm-panel-simple-drop-use-of-data-mapping-pro.patch create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/0002-arm64-dts-freescale-verdin-imx8mm-add-support-to-mal.patch create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/0002-power-reset-gpio-poweroff-use-sys-off-handler-API.patch create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/0003-ARM-dts-imx7d-colibri-emmc-Add-usdhc-aliases.patch create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/0003-drivers-chipidea-disable-runtime-pm-for-imx6ul.patch create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/0003-dt-bindings-power-reset-gpio-poweroff-Add-priority-p.patch create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/0004-media-i2c-ov5640-Implement-get_mbus_config.patch create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/0004-power-reset-gpio-poweroff-make-sys-handler-priority-.patch create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/aarch64/defconfig create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/aarch64/toradex_aarch64.config create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/defconfig create mode 100644 recipes-kernel/linux/linux-toradex-upstream-6.6/toradex_imx_v6_v7.config create mode 100644 recipes-kernel/linux/linux-toradex-upstream_6.6.bb 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 +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 +Signed-off-by: Francesco Dolcini +Signed-off-by: Shawn Guo +--- + 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 +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 +Signed-off-by: Hiago De Franco +Signed-off-by: Shawn Guo +--- + 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 +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 +Signed-off-by: Francesco Dolcini +Acked-by: Krzysztof Kozlowski +Signed-off-by: Shawn Guo +--- + 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 +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 +Signed-off-by: Francesco Dolcini +Link: https://lore.kernel.org/r/20231006130428.11259-2-francesco@dolcini.it +Signed-off-by: Sebastian Reichel +--- + 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 + + #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 +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 +--- + 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 +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 +Signed-off-by: Joao Paulo Goncalves +--- + 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 +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 +Signed-off-by: Hiago De Franco +Signed-off-by: Shawn Guo +--- + 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 = <®_can1>; ++ status = "okay"; ++}; ++ ++&can2 { ++ xceiver-supply = <®_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 = <®_3v3_mmc>; ++ status = "okay"; ++}; ++ ++/* SD1 */ ++&usdhc2 { ++ cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>; ++ pinctrl-0 = <&pinctrl_usdhc2 &pinctrl_sd_cd>; ++ vmmc-supply = <®_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 +-#include +-#include +-#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 = <®_pcie_switch>; + status = "okay"; + }; + +-&pwm1 { +- status = "okay"; +-}; +- +-&pwm2 { +- status = "okay"; +-}; +- +-&pwm3 { +- status = "okay"; +-}; +- +-&pwm4 { +- status = "okay"; +-}; +- +-®_usb_host_vbus { +- status = "okay"; +-}; +- +-®_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 = <®_usb_host_vbus>; +- status = "okay"; +-}; +- +-&usbotg { +- disable-over-current; +- vbus-supply = <®_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 ++#include ++#include ++#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"; ++}; ++ ++®_usb_host_vbus { ++ status = "okay"; ++}; ++ ++®_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 = <®_usb_host_vbus>; ++ status = "okay"; ++}; ++ ++&usbotg { ++ disable-over-current; ++ vbus-supply = <®_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 +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 +Signed-off-by: Francesco Dolcini +Signed-off-by: Shawn Guo +--- + 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 +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 +--- + 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 +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 +Signed-off-by: Francesco Dolcini +Signed-off-by: Shawn Guo +--- + 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 ++ ++/ { ++ leds { ++ compatible = "gpio-leds"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_leds>; ++ ++ /* SODIMM 52 - USER_LED_1_RED */ ++ led-0 { ++ color = ; ++ function = LED_FUNCTION_DEBUG; ++ function-enumerator = <1>; ++ gpios = <&gpio3 0 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ /* SODIMM 54 - USER_LED_1_GREEN */ ++ led-1 { ++ color = ; ++ function = LED_FUNCTION_DEBUG; ++ function-enumerator = <1>; ++ gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ /* SODIMM 56 - USER_LED_2_RED */ ++ led-2 { ++ color = ; ++ function = LED_FUNCTION_DEBUG; ++ function-enumerator = <2>; ++ gpios = <&gpio3 6 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ /* SODIMM 58 - USER_LED_2_GREEN */ ++ led-3 { ++ color = ; ++ 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 = ++ , /* SODIMM 52 */ ++ , /* SODIMM 54 */ ++ , /* SODIMM 56 */ ++ ; /* SODIMM 58 */ ++ }; ++ ++ pinctrl_tpm_cs: tpmcsgrp { ++ fsl,pins = ++ ; /* SODIMM 64 */ ++ }; ++ ++ pinctrl_tpm_irq: tpmirqgrp { ++ fsl,pins = ++ ; /* 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 +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 +Signed-off-by: Francesco Dolcini +Link: https://lore.kernel.org/r/20231006130428.11259-3-francesco@dolcini.it +Signed-off-by: Sebastian Reichel +--- + 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 + #include + #include ++#include + + #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 +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 +Signed-off-by: Francesco Dolcini +Signed-off-by: Shawn Guo +--- + 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 +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 +--- + 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 +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 +Signed-off-by: Francesco Dolcini +Reviewed-by: Krzysztof Kozlowski +Link: https://lore.kernel.org/r/20231006130428.11259-4-francesco@dolcini.it +Signed-off-by: Sebastian Reichel +--- + .../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 +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 +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 +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 +Signed-off-by: Francesco Dolcini +Link: https://lore.kernel.org/r/20231006130428.11259-5-francesco@dolcini.it +Signed-off-by: Sebastian Reichel +--- + 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}" -- cgit v1.2.3