From 07e1cedeb84a26fcf0848b928ecb407716f5ced9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Fri, 17 Jan 2025 10:03:17 +0100 Subject: [PATCH 01/55] Pin awscli to older version to work around R2 issues (#3803) CI job fails to upload build artifacts because R2 doesn't support checksums [1]. This was added in awscli 1.37.0 [2], pin to a version older than that to work around the issue before R2 supports it or ignores the header. [1] https://www.cloudflarestatus.com/incidents/t5nrjmpxc1cj [2] https://github.com/aws/aws-cli/blob/develop/CHANGELOG.rst --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 89375447439..dcbcd6f8c62 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -199,7 +199,7 @@ jobs: - name: Install AWS CLI if: ${{ github.event_name != 'release' && needs.prepare.outputs.publish_build == 'true' }} - run: pip install awscli + run: pip install 'awscli<1.37.0' - name: Set version suffix if: ${{ github.event_name != 'release' }} From 267679b19264a5164aa54f5c34c3c364b0594275 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Fri, 17 Jan 2025 13:12:25 +0100 Subject: [PATCH 02/55] Bump OS to development version 15.0.dev0 --- buildroot-external/meta | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/buildroot-external/meta b/buildroot-external/meta index d370069fd0c..3557c72bf00 100644 --- a/buildroot-external/meta +++ b/buildroot-external/meta @@ -1,5 +1,5 @@ -VERSION_MAJOR="14" -VERSION_MINOR="2" +VERSION_MAJOR="15" +VERSION_MINOR="0" VERSION_SUFFIX="dev0" HASSOS_NAME="Home Assistant OS" From 219d7ec5302c30d2b30776f48c8ca1d60f4fd14c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Fri, 17 Jan 2025 15:50:21 +0100 Subject: [PATCH 03/55] Fix artifacts index job by downgrading awscli (#3805) Similarly to #3803, artifact index update fails because the R2 doesn't like the new awscli. The regression apparently comes from 1.37.0 as well, so pin to version older than that. --- .github/workflows/artifacts-index.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/artifacts-index.yaml b/.github/workflows/artifacts-index.yaml index dd94d7d86ac..fb85859aa1b 100644 --- a/.github/workflows/artifacts-index.yaml +++ b/.github/workflows/artifacts-index.yaml @@ -49,7 +49,7 @@ jobs: python-version: ${{ env.PYTHON_VERSION }} - name: Install AWS CLI - run: pip install awscli + run: pip install 'awscli<1.37.0' - name: Create build index env: From a9af9c8d351ccb2281d41023b0420491d96d69b8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Jan 2025 14:50:05 +0100 Subject: [PATCH 04/55] Bump docker/build-push-action from 6.11.0 to 6.12.0 (#3809) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index dcbcd6f8c62..7117d29a455 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -144,7 +144,7 @@ jobs: username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and Push - uses: docker/build-push-action@v6.11.0 + uses: docker/build-push-action@v6.12.0 id: build_haos_builder with: context: . From a7cdebf03217c7d6b44ff64ab2aa93a7a7fc0237 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 21 Jan 2025 12:42:20 +0100 Subject: [PATCH 05/55] Bump Buildroot to 2024.02.10 (#3811) * buildroot 00e8f09356...ff563b383d (1): > Merge tag '2024.02.10' into 2024.02.x-haos --- buildroot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot b/buildroot index 00e8f093567..ff563b383df 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit 00e8f0935678fa588a10817c0e259379a59e9dec +Subproject commit ff563b383dfe222af5721363fc8414db1bd2c480 From 64ee53579b32fae80f02d15b88d1ef4016abc2c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C5=A0imek?= Date: Tue, 21 Jan 2025 13:01:12 +0100 Subject: [PATCH 06/55] Enable USB-SD convertor on AMD/Xilinx Kria KD240 platform (#3812) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Enable USB-SD convertor on AMD/Xilinx Kria KD240 platform Kria KD240 board is using SD card but SD is connected via onboard USB HUB. USB controller is DWC3 with Xilinx glue logic. Both of these options are enabled but board is using slg7xl45106 for driving usb-hub reset (PCA9570 driver) and USB3.0 requires initialization via PHY_XILINX_ZYNQMP driver. All options should be enabled (=y) and can't be kernel modules because provide access to rootfs. * Add a note for config symbol change in 6.12 Changed in mainline commit 31e7f6c015d9eb35e77ae9868801c53ab0ff19ac --------- Co-authored-by: Jan Čermák --- .../board/arm-uefi/generic-aarch64/kernel.config | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/buildroot-external/board/arm-uefi/generic-aarch64/kernel.config b/buildroot-external/board/arm-uefi/generic-aarch64/kernel.config index a87f91fa14a..3862de136cc 100644 --- a/buildroot-external/board/arm-uefi/generic-aarch64/kernel.config +++ b/buildroot-external/board/arm-uefi/generic-aarch64/kernel.config @@ -60,6 +60,14 @@ CONFIG_I6300ESB_WDT=y # GPIO support CONFIG_GPIO_ZYNQ=m +CONFIG_GPIO_PCA9570=y + +# PHY drivers +CONFIG_PHY_XILINX_ZYNQMP=y + +# USB support +# TODO: change to `CONFIG_USB_ONBOARD_DEV` in 6.12 +CONFIG_USB_ONBOARD_HUB=y # 1-wire CONFIG_W1_MASTER_AMD_AXI=m From ca02ed000beec22dc0f4dc0c1e9c045f01f47118 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 21 Jan 2025 16:55:49 +0100 Subject: [PATCH 07/55] Add check for tainted kernel to automatic tests (#3814) Add test that the kernel isn't tainted at the end of the basic and supervisor test suites, allowing us to catch e.g. kernel warnings that may left unnoticed if dmesg isn't checked. There is no other source of tainting, so the value should be always zero. --- tests/smoke_test/test_basic.py | 8 ++++++++ tests/supervisor_test/test_supervisor.py | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/tests/smoke_test/test_basic.py b/tests/smoke_test/test_basic.py index 9e466e198ef..615695ff404 100644 --- a/tests/smoke_test/test_basic.py +++ b/tests/smoke_test/test_basic.py @@ -76,3 +76,11 @@ def test_systemctl_status(shell): def test_systemctl_check_no_failed(shell): output = shell.run_check("systemctl --no-pager -l list-units --state=failed") assert "0 loaded units listed." in output, f"Some units failed:\n{"\n".join(output)}" + + +@pytest.mark.dependency(depends=["test_init"]) +def test_kernel_not_tainted(shell): + """Check if the kernel is not tainted - do it at the end of the + test suite to increase the chance of catching issues.""" + output = shell.run_check("cat /proc/sys/kernel/tainted") + assert output == "0\n", f"Kernel tainted: {output}" diff --git a/tests/supervisor_test/test_supervisor.py b/tests/supervisor_test/test_supervisor.py index c7621ea4fb1..92623e32760 100644 --- a/tests/supervisor_test/test_supervisor.py +++ b/tests/supervisor_test/test_supervisor.py @@ -190,3 +190,11 @@ def test_restore_ssl_directory(shell_json, stash): result = shell_json(f"ha backups restore {stash.get('slug')} --folders ssl --no-progress --raw-json") assert result.get("result") == "ok", f"Backup restore failed: {result}" logger.info("Backup restore result: %s", result) + + +@pytest.mark.dependency(depends=["test_start_supervisor"]) +def test_kernel_not_tainted(shell): + """Check if the kernel is not tainted - do it at the end of the + test suite to increase the chance of catching issues.""" + output = shell.run_check("cat /proc/sys/kernel/tainted") + assert output == "0\n", f"Kernel tainted: {output}" From 235d7e0a4d8d7800f7c000d6e2a91fcd30254b9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 21 Jan 2025 16:56:05 +0100 Subject: [PATCH 08/55] Linux: Update kernel to 6.6.73 (#3813) * https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.72 * https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.73 --- Documentation/kernel.md | 24 +++++++++---------- .../configs/generic_aarch64_defconfig | 2 +- .../configs/generic_x86_64_defconfig | 2 +- buildroot-external/configs/green_defconfig | 2 +- .../configs/khadas_vim3_defconfig | 2 +- .../configs/odroid_c2_defconfig | 2 +- .../configs/odroid_c4_defconfig | 2 +- .../configs/odroid_m1_defconfig | 2 +- .../configs/odroid_m1s_defconfig | 2 +- .../configs/odroid_n2_defconfig | 2 +- .../configs/odroid_xu4_defconfig | 2 +- buildroot-external/configs/ova_defconfig | 2 +- buildroot-external/configs/tinker_defconfig | 2 +- 13 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Documentation/kernel.md b/Documentation/kernel.md index 50828d2d238..81fd3924cd3 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -3,7 +3,7 @@ | Board | Version | |-------|---------| -| Open Virtual Appliance | 6.6.71 | +| Open Virtual Appliance | 6.6.73 | | Raspberry Pi | 6.6.62 | | Raspberry Pi 0-W | 6.6.62 | | Raspberry Pi 2 | 6.6.62 | @@ -11,14 +11,14 @@ | Raspberry Pi 4 | 6.6.62 | | Raspberry Pi 5 | 6.6.62 | | Home Assistant Yellow | 6.6.62 | -| Home Assistant Green | 6.6.71 | -| Tinker Board | 6.6.71 | -| ODROID-C2 | 6.6.71 | -| ODROID-C4 | 6.6.71 | -| ODROID-M1 | 6.6.71 | -| ODROID-M1S | 6.6.71 | -| ODROID-N2 | 6.6.71 | -| ODROID-XU4 | 6.6.71 | -| Generic aarch64 | 6.6.71 | -| Generic x86-64 | 6.6.71 | -| Khadas VIM3 | 6.6.71 | +| Home Assistant Green | 6.6.73 | +| Tinker Board | 6.6.73 | +| ODROID-C2 | 6.6.73 | +| ODROID-C4 | 6.6.73 | +| ODROID-M1 | 6.6.73 | +| ODROID-M1S | 6.6.73 | +| ODROID-N2 | 6.6.73 | +| ODROID-XU4 | 6.6.73 | +| Generic aarch64 | 6.6.73 | +| Generic x86-64 | 6.6.73 | +| Khadas VIM3 | 6.6.73 | diff --git a/buildroot-external/configs/generic_aarch64_defconfig b/buildroot-external/configs/generic_aarch64_defconfig index 680bcdc6ad0..4cc58a3e992 100644 --- a/buildroot-external/configs/generic_aarch64_defconfig +++ b/buildroot-external/configs/generic_aarch64_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64 $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.71" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/generic_x86_64_defconfig b/buildroot-external/configs/generic_x86_64_defconfig index 12fe7cf0223..889bc6e9b0a 100644 --- a/buildroot-external/configs/generic_x86_64_defconfig +++ b/buildroot-external/configs/generic_x86_64_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.71" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/green_defconfig b/buildroot-external/configs/green_defconfig index 978da445946..6e3543029ad 100755 --- a/buildroot-external/configs/green_defconfig +++ b/buildroot-external/configs/green_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.71" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/kernel.config" diff --git a/buildroot-external/configs/khadas_vim3_defconfig b/buildroot-external/configs/khadas_vim3_defconfig index 69f4c43326f..82e0e73d729 100644 --- a/buildroot-external/configs/khadas_vim3_defconfig +++ b/buildroot-external/configs/khadas_vim3_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3 $(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.71" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/kernel-vim.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 8efbdc054e2..8b333c4c400 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.71" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index 1485a0a1193..b6cc2c9e28b 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.71" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_m1_defconfig b/buildroot-external/configs/odroid_m1_defconfig index 9d115c9086b..a824f7111b7 100644 --- a/buildroot-external/configs/odroid_m1_defconfig +++ b/buildroot-external/configs/odroid_m1_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.71" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/kernel.config" diff --git a/buildroot-external/configs/odroid_m1s_defconfig b/buildroot-external/configs/odroid_m1s_defconfig index 7efd7c92e17..2909e146f08 100644 --- a/buildroot-external/configs/odroid_m1s_defconfig +++ b/buildroot-external/configs/odroid_m1s_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.71" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/kernel.config" diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index 3856b82a5e9..d31e5344680 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.71" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/kernel.config" diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index e55880d5a2e..ffa71bf25e9 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.71" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" BR2_LINUX_KERNEL_DEFCONFIG="exynos" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index f0e25cd2f25..1e9188a0122 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.71" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 0984b9ef2b4..882879264b6 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker $(BR2_EXTERNAL_HASSOS_PATH)/board/asus/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.71" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/kernel.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config" From af7b36e1007981ccd04c75d60ee24e487d836a04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 21 Jan 2025 18:39:58 +0100 Subject: [PATCH 09/55] Fix linux-pam trying to include disabled pam_lastlog.so on login (#3815) Build of pam_lastlog.so was disabled by updating to v1.5.3 [1] yet the line wasn't removed from the login modules. In upstream this was resolved by adding a config option for turning the lastlog module and dynamic disabling of the line including it. These changes neither a fix removing the config line were not applied to 2024.02, so cherry-pick them here to fix the issue. * buildroot ff563b383d...3784884466 (2): > package/linux-pam: adjust login pam file for lastlog > package/linux-pam: add menuconfig option to build pam_lastlog.so Fixes #3789 [1] https://github.com/linux-pam/linux-pam/releases/tag/v1.5.3 --- buildroot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot b/buildroot index ff563b383df..3784884466d 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit ff563b383dfe222af5721363fc8414db1bd2c480 +Subproject commit 3784884466ddce383c02a467fed4a4334cba2c11 From 48bf9b50567d8b850396eac39b98c40a0bbbd3de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 21 Jan 2025 18:40:07 +0100 Subject: [PATCH 10/55] Move rauc.db to boot partition (#3810) * Move rauc.db to boot partition The RAUC metadata file contains information that is tightly related to the system and kernel partitions. With the possibility to migrate data disk, the rauc.db can contain bogus information when moved to a different system. Removal of the file on "device wipe" is also not desirable, because the information about slot status is lost. Relocate the rauc.db to the boot partition after a system upgrade (as this can't be handled by RAUC hooks, because it needs to be executed after all slots and metadata is written) and adjust the script for recreating it. The downside is that its content in /mnt/data would be recreated if the boot slot is changed or system downgraded but this should be handled quite gracefully. Also remove the raucdb-first-boot service which is no longer necessary with the file not present in the data partition. * Fix shellcheck and mount path --- buildroot-external/ota/rauc-hook | 11 +++++++++++ buildroot-external/ota/system.conf.gtpl | 2 +- .../lib/systemd/system/raucdb-first-boot.service | 14 -------------- .../usr/lib/systemd/system/raucdb-migrate.service | 13 +++++++++++++ .../usr/lib/systemd/system/raucdb-update.service | 2 +- .../rootfs-overlay/usr/libexec/raucdb-update | 9 +++++++-- 6 files changed, 33 insertions(+), 18 deletions(-) delete mode 100644 buildroot-external/rootfs-overlay/usr/lib/systemd/system/raucdb-first-boot.service create mode 100644 buildroot-external/rootfs-overlay/usr/lib/systemd/system/raucdb-migrate.service diff --git a/buildroot-external/ota/rauc-hook b/buildroot-external/ota/rauc-hook index f366d5c7e1e..661c7575069 100755 --- a/buildroot-external/ota/rauc-hook +++ b/buildroot-external/ota/rauc-hook @@ -52,6 +52,17 @@ install_boot() { sed -i '/device_tree=bcm2711-rpi-cm4-ha-yellow.dtb/d; s/\[all\]/\[cm4\]\ndevice_tree=bcm2711-rpi-cm4-ha-yellow.dtb\n\n\[cm5\]\ndevice_tree=bcm2712-rpi-cm5-ha-yellow.dtb\n\n\[all\]/' "${BOOT_MNT}/config.txt" fi fi + + # Prepare rauc.db for migration, should be removed in HAOS 16 + # (along with raucdb-migrate.service and related raucdb-update changes) + if [ -f /mnt/data/rauc.db ]; then + # shellcheck disable=SC1091 + . /etc/os-release + # Do not migrate if already running on OS 15. + if [ "${VERSION_ID%%.*}" != "15" ]; then + touch /mnt/boot/migrate-raucdb + fi + fi } install_spl() { diff --git a/buildroot-external/ota/system.conf.gtpl b/buildroot-external/ota/system.conf.gtpl index 4d15e371c44..4a183d84b7d 100644 --- a/buildroot-external/ota/system.conf.gtpl +++ b/buildroot-external/ota/system.conf.gtpl @@ -1,7 +1,7 @@ [system] compatible={{ env "ota_compatible" }} mountprefix=/run/rauc -statusfile=/mnt/data/rauc.db +statusfile=/mnt/boot/rauc.db {{- if eq (env "BOOTLOADER") "tryboot" }} bootloader=custom {{- else }} diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/raucdb-first-boot.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/raucdb-first-boot.service deleted file mode 100644 index efc7242613b..00000000000 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/raucdb-first-boot.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=Remove adopted rauc.db on first boot -After=rauc.service -Before=raucdb-update.service -RequiresMountsFor=/mnt/data -ConditionFirstBoot=yes -ConditionFileNotEmpty=/mnt/data/rauc.db - -[Service] -Type=oneshot -ExecStart=/bin/rm -f /mnt/data/rauc.db - -[Install] -WantedBy=multi-user.target diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/raucdb-migrate.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/raucdb-migrate.service new file mode 100644 index 00000000000..e6b6323aa17 --- /dev/null +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/raucdb-migrate.service @@ -0,0 +1,13 @@ +[Unit] +Description=Migrate rauc.db to boot partition +Before=rauc.service +RequiresMountsFor=/mnt/boot /mnt/data +ConditionPathExists=/mnt/boot/migrate-raucdb + +[Service] +Type=oneshot +ExecStart=/bin/cp /mnt/data/rauc.db /mnt/boot/ +ExecStartPost=/bin/rm /mnt/boot/migrate-raucdb + +[Install] +WantedBy=multi-user.target diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/raucdb-update.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/raucdb-update.service index d38d50bcabd..e1e996ba120 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/raucdb-update.service +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/raucdb-update.service @@ -2,7 +2,7 @@ Description=Ensure rauc.db contains version information After=rauc.service Before=hassos-supervisor.service -RequiresMountsFor=/mnt/data +RequiresMountsFor=/mnt/boot /mnt/data [Service] Type=oneshot diff --git a/buildroot-external/rootfs-overlay/usr/libexec/raucdb-update b/buildroot-external/rootfs-overlay/usr/libexec/raucdb-update index 0bf04211abe..ac08309d61e 100755 --- a/buildroot-external/rootfs-overlay/usr/libexec/raucdb-update +++ b/buildroot-external/rootfs-overlay/usr/libexec/raucdb-update @@ -3,7 +3,12 @@ set -e -if grep -q 'slot\.boot\.0' /mnt/data/rauc.db; then +# Remove rauc.db from old location before migration in HAOS 15. +if [ -f /mnt/data/rauc.db ]; then + rm -f /mnt/data/rauc.db +fi + +if grep -q 'slot\.boot\.0' /mnt/boot/rauc.db; then echo "[INFO] rauc.db already contains slot information" exit 0 fi @@ -21,7 +26,7 @@ CURRENT_SLOT_ID=$(test "${RAUC_SYSTEM_BOOTED_BOOTNAME}" = "A" && echo 0 || echo . /etc/os-release -cat >> /mnt/data/rauc.db <> /mnt/boot/rauc.db < Date: Tue, 21 Jan 2025 22:41:53 +0100 Subject: [PATCH 11/55] Fix kernel tainted test (#3818) I have only tested that it fails for unreleased 6.6.72 kernel but haven't tested the happy path and missed that it also failed because the types were different. Stupid me. --- tests/smoke_test/test_basic.py | 2 +- tests/supervisor_test/test_supervisor.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/smoke_test/test_basic.py b/tests/smoke_test/test_basic.py index 615695ff404..eb6d42b4566 100644 --- a/tests/smoke_test/test_basic.py +++ b/tests/smoke_test/test_basic.py @@ -83,4 +83,4 @@ def test_kernel_not_tainted(shell): """Check if the kernel is not tainted - do it at the end of the test suite to increase the chance of catching issues.""" output = shell.run_check("cat /proc/sys/kernel/tainted") - assert output == "0\n", f"Kernel tainted: {output}" + assert "\n".join(output) == "0", f"Kernel tainted: {output}" diff --git a/tests/supervisor_test/test_supervisor.py b/tests/supervisor_test/test_supervisor.py index 92623e32760..8351fb6c5ff 100644 --- a/tests/supervisor_test/test_supervisor.py +++ b/tests/supervisor_test/test_supervisor.py @@ -197,4 +197,4 @@ def test_kernel_not_tainted(shell): """Check if the kernel is not tainted - do it at the end of the test suite to increase the chance of catching issues.""" output = shell.run_check("cat /proc/sys/kernel/tainted") - assert output == "0\n", f"Kernel tainted: {output}" + assert "\n".join(output) == "0", f"Kernel tainted: {output}" From da08a45d9f40fda124640bc701ad40ac1794d7d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Mon, 27 Jan 2025 09:29:31 +0100 Subject: [PATCH 12/55] Bump OS to release version 14.2 --- buildroot-external/meta | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/buildroot-external/meta b/buildroot-external/meta index bcd863c77f8..00246473a97 100644 --- a/buildroot-external/meta +++ b/buildroot-external/meta @@ -1,8 +1,8 @@ VERSION_MAJOR="14" VERSION_MINOR="2" -VERSION_SUFFIX="rc2" +VERSION_SUFFIX="" HASSOS_NAME="Home Assistant OS" HASSOS_ID="haos" -DEPLOYMENT="staging" +DEPLOYMENT="production" From f51d6b049024ba4223bbcbb22ddb0ce9f6b9ff0e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Jan 2025 15:21:53 +0100 Subject: [PATCH 13/55] Bump actions/stale from 9.0.0 to 9.1.0 (#3835) --- .github/workflows/stale.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 7bd752602bd..ebc149c14b7 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -19,7 +19,7 @@ jobs: # - No PRs marked as no-stale or pinned # - No issues marked as no-stale, help-wanted or pinned - name: 90 days stale issues & PRs policy - uses: actions/stale@v9.0.0 + uses: actions/stale@v9.1.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} days-before-stale: 90 From c6218aafd80c99817b05128f83f2f6733bce9050 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Jan 2025 16:26:40 +0100 Subject: [PATCH 14/55] Bump docker/build-push-action from 6.12.0 to 6.13.0 (#3836) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.12.0 to 6.13.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v6.12.0...v6.13.0) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 7117d29a455..9424ce1c70d 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -144,7 +144,7 @@ jobs: username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and Push - uses: docker/build-push-action@v6.12.0 + uses: docker/build-push-action@v6.13.0 id: build_haos_builder with: context: . From 7eccef8a186e5800c0baf9abb238c6e56d0e400b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C5=A0imek?= Date: Tue, 28 Jan 2025 13:05:02 +0100 Subject: [PATCH 15/55] Change Cadence i2c and Zynq GPIO from modules to built-in drivers (#3821) On Kria KD240 slg7xl45106 device is handling reset for USB hub which is providing access to SD card (USB/SD converter). Access to this device is done via i2c which needs to be also enabled in the kernel as built-in driver not as module when rootfs is mounted. Also change ZYNQ_GPIO to be built-in driver because i2c is using gpio for bus recovery that's why it should be also enabled to probe i2c driver properly. v6.6 kernel doesn't have support for usb5744 driver that's why disable it but add TODO to enable it once v6.12 upgrade is done. --- .../board/arm-uefi/generic-aarch64/kernel.config | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/buildroot-external/board/arm-uefi/generic-aarch64/kernel.config b/buildroot-external/board/arm-uefi/generic-aarch64/kernel.config index 3862de136cc..3733fd34365 100644 --- a/buildroot-external/board/arm-uefi/generic-aarch64/kernel.config +++ b/buildroot-external/board/arm-uefi/generic-aarch64/kernel.config @@ -59,15 +59,18 @@ CONFIG_FB_HYPERV=y CONFIG_I6300ESB_WDT=y # GPIO support -CONFIG_GPIO_ZYNQ=m +CONFIG_GPIO_ZYNQ=y CONFIG_GPIO_PCA9570=y # PHY drivers CONFIG_PHY_XILINX_ZYNQMP=y # USB support -# TODO: change to `CONFIG_USB_ONBOARD_DEV` in 6.12 -CONFIG_USB_ONBOARD_HUB=y +# TODO: enable `CONFIG_USB_ONBOARD_DEV` in 6.12 +# TODO: enable `CONFIG_USB_ONBOARD_DEV_USB5744` in 6.12 + +# i2c support +CONFIG_I2C_CADENCE=y # 1-wire CONFIG_W1_MASTER_AMD_AXI=m From 4919e4e26c90d1a5440d3f5b58068ba309de69e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 28 Jan 2025 13:51:18 +0100 Subject: [PATCH 16/55] Use Python 3.13 for the build and artifacts index jobs (#3840) --- .github/workflows/artifacts-index.yaml | 2 +- .github/workflows/build.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/artifacts-index.yaml b/.github/workflows/artifacts-index.yaml index fb85859aa1b..7114d77c59c 100644 --- a/.github/workflows/artifacts-index.yaml +++ b/.github/workflows/artifacts-index.yaml @@ -31,7 +31,7 @@ on: required: true env: - PYTHON_VERSION: "3.10" + PYTHON_VERSION: "3.13" jobs: build-index: diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 9424ce1c70d..df9b7bac5f6 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -18,7 +18,7 @@ on: default: true env: - PYTHON_VERSION: "3.10" + PYTHON_VERSION: "3.13" jobs: prepare: From fbd5c2c75115bff840bb9d77af18343480727246 Mon Sep 17 00:00:00 2001 From: Nick Venenga Date: Tue, 28 Jan 2025 08:57:07 -0500 Subject: [PATCH 17/55] Update generic-x86-64 Linux kernel to 6.12 (#3767) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Linux: Update kernel to 6.12.6 * Linux 6.12 * https://github.com/home-assistant/operating-system/pull/3767#discussion_r1899169881 * https://github.com/home-assistant/operating-system/pull/3767#discussion_r1899170543 * Add patch descriptions, kernel ver conditionals Signed-off-by: Nick Venenga * Remove extra zram compression algos * Undo fragment files config change ...for platforms that didn't receive kernel updates * Sort Dockerfile apt packages * Add Upstream refs to patches * Re-enable TC * Restore v6.6.y kernel fragments * Update buildroot to rebased branch * Apply 6.12 migration only to generic-x86-64 * package/eq3_char_loop: port patch from RaspberryMatic by @jens-maus * package/generic_raw_uart: port patch from RaspberryMatic by @jens-maus * Restore buildroot-external/board/pc/patches/linux It's used in ova and generic-aarch64 defconfigs. Keep the path removed from generic-x86-64 defconfig. * Split linux patches to be version-specific The IPv6 reachability patch needs different context on 6.6.y and 6.12.y - introduce version-specific linux directories. To avoid the need for extra directory for version used in RPi, copy those patches to its patches directory. * Replace removed Intel Skylake audio driver with Intel AVS The Skylake driver was removed and should be now replaced either by Intel HD Audio or Intel AVS. Remove the old options and enable AVS. SND_SOC_INTEL_SKYLAKE=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:63) SND_SOC_INTEL_SKL=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:64) SND_SOC_INTEL_APL=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:65) SND_SOC_INTEL_KBL=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:66) SND_SOC_INTEL_GLK=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:67) SND_SOC_INTEL_CNL=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:68) SND_SOC_INTEL_CFL=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:69) SND_SOC_INTEL_CML_H=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:70) SND_SOC_INTEL_CML_LP=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:71) SND_SOC_INTEL_SKYLAKE_FAMILY=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:72) SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:73) SND_SOC_INTEL_SKYLAKE_COMMON=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:74) -> https://github.com/torvalds/linux/commit/a882f4d750ee0ec7e264c015019d0d642e136ff6 SND_SOC_INTEL_SST=m requested, actual = n (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:58) -> https://github.com/torvalds/linux/commit/970d299b0a0a29b7fa1a36a05f561cd932ee4149 * Remove I2C_COMPAT option I2C_COMPAT=y not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:163) -> https://github.com/torvalds/linux/commit/7e722083fcc3e148838fc3dc2486c498908c4677 * Correctly disable module compression after Kconfig change The Kconfig structure was changed, there's now a top-level bool: https://github.com/torvalds/linux/commit/c7ff693fa2094ba0a9d0a20feb4ab1658eff9c33 --------- Signed-off-by: Nick Venenga Co-authored-by: Jan Čermák --- Dockerfile | 3 + Documentation/kernel.md | 2 +- buildroot | 2 +- .../board/pc/generic-x86-64/kernel.config | 15 +- ...o-explicitly-enable-reachability-te.patch} | 0 ...hanges-causing-issues-with-Z-Wave.m.patch} | 0 .../configs/generic_x86_64_defconfig | 6 +- .../kernel/v6.12.y/device-support-pci.config | 41 + .../device-support-wireless-pci.config | 55 + .../v6.12.y/device-support-wireless.config | 81 + .../kernel/v6.12.y/device-support.config | 182 + .../kernel/v6.12.y/docker.config | 74 + .../kernel/v6.12.y/hassos.config | 210 + .../v6.12.y/kernel-arm64-rockchip.config | 4211 +++++++++++++++++ ...version1_1.patch => 0002-version1_2.patch} | 6 +- ...char_loop-driver-build-on-Linux-6.12.patch | 17 + .../package/gasket/0001-linux-6.x.patch | 35 + buildroot-external/package/gasket/gasket.mk | 2 +- .../0002-Linux-6.12-llseek.patch | 17 + .../0003-Linux-6.11-gpio-data.patch | 19 + .../0004-Linux-6.11-uart_remove.patch | 87 + .../package/rtl88x2bu/rtl88x2bu.mk | 2 +- ...to-explicitly-enable-reachability-te.patch | 52 + ...changes-causing-issues-with-Z-Wave.m.patch | 650 +++ ...to-explicitly-enable-reachability-te.patch | 52 + ...changes-causing-issues-with-Z-Wave.m.patch | 650 +++ 26 files changed, 6448 insertions(+), 23 deletions(-) rename buildroot-external/{patches/linux/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch => board/raspberrypi/patches/linux/0004-ipv6-add-option-to-explicitly-enable-reachability-te.patch} (100%) rename buildroot-external/{patches/linux/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch => board/raspberrypi/patches/linux/0005-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch} (100%) create mode 100644 buildroot-external/kernel/v6.12.y/device-support-pci.config create mode 100644 buildroot-external/kernel/v6.12.y/device-support-wireless-pci.config create mode 100644 buildroot-external/kernel/v6.12.y/device-support-wireless.config create mode 100644 buildroot-external/kernel/v6.12.y/device-support.config create mode 100644 buildroot-external/kernel/v6.12.y/docker.config create mode 100644 buildroot-external/kernel/v6.12.y/hassos.config create mode 100644 buildroot-external/kernel/v6.12.y/kernel-arm64-rockchip.config rename buildroot-external/package/eq3_char_loop/{0002-version1_1.patch => 0002-version1_2.patch} (95%) create mode 100644 buildroot-external/package/eq3_char_loop/0004-Fix-eq3_char_loop-driver-build-on-Linux-6.12.patch create mode 100644 buildroot-external/package/gasket/0001-linux-6.x.patch create mode 100644 buildroot-external/package/generic_raw_uart/0002-Linux-6.12-llseek.patch create mode 100644 buildroot-external/package/generic_raw_uart/0003-Linux-6.11-gpio-data.patch create mode 100644 buildroot-external/package/generic_raw_uart/0004-Linux-6.11-uart_remove.patch create mode 100644 buildroot-external/patches/linux/6.12.6/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch create mode 100644 buildroot-external/patches/linux/6.12.6/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch create mode 100644 buildroot-external/patches/linux/6.6.73/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch create mode 100644 buildroot-external/patches/linux/6.6.73/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch diff --git a/Dockerfile b/Dockerfile index be88de08991..ae60e2016f8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,6 +21,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ # Build tools RUN apt-get update && apt-get install -y --no-install-recommends \ + automake \ bash \ bc \ binutils \ @@ -30,6 +31,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ file \ git \ graphviz \ + help2man \ jq \ make \ ncurses-dev \ @@ -43,6 +45,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ rsync \ skopeo \ sudo \ + texinfo \ unzip \ vim \ wget \ diff --git a/Documentation/kernel.md b/Documentation/kernel.md index 81fd3924cd3..fddb754ee34 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -20,5 +20,5 @@ | ODROID-N2 | 6.6.73 | | ODROID-XU4 | 6.6.73 | | Generic aarch64 | 6.6.73 | -| Generic x86-64 | 6.6.73 | +| Generic x86-64 | 6.12.6 | | Khadas VIM3 | 6.6.73 | diff --git a/buildroot b/buildroot index 3784884466d..71cba6c610f 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit 3784884466ddce383c02a467fed4a4334cba2c11 +Subproject commit 71cba6c610ff6a6e7b07934a8e5587977f473d36 diff --git a/buildroot-external/board/pc/generic-x86-64/kernel.config b/buildroot-external/board/pc/generic-x86-64/kernel.config index ecd02ea9099..772b6b53bfb 100644 --- a/buildroot-external/board/pc/generic-x86-64/kernel.config +++ b/buildroot-external/board/pc/generic-x86-64/kernel.config @@ -55,24 +55,12 @@ CONFIG_SND_HDA_I915=y CONFIG_SND_SOC=m CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y -CONFIG_SND_SOC_INTEL_SST=m CONFIG_SND_SOC_INTEL_CATPT=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI=m -CONFIG_SND_SOC_INTEL_SKYLAKE=m -CONFIG_SND_SOC_INTEL_SKL=m -CONFIG_SND_SOC_INTEL_APL=m -CONFIG_SND_SOC_INTEL_KBL=m -CONFIG_SND_SOC_INTEL_GLK=m -CONFIG_SND_SOC_INTEL_CNL=m -CONFIG_SND_SOC_INTEL_CFL=m -CONFIG_SND_SOC_INTEL_CML_H=m -CONFIG_SND_SOC_INTEL_CML_LP=m -CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY=m -CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y -CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m CONFIG_SND_SOC_ACPI_INTEL_MATCH=m +CONFIG_SND_SOC_INTEL_AVS=m CONFIG_SND_SOC_INTEL_MACH=y CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=m @@ -160,7 +148,6 @@ CONFIG_EDAC_IGEN6=m CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y -CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=m CONFIG_I2C_MUX=y CONFIG_I2C_TINY_USB=m diff --git a/buildroot-external/patches/linux/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch b/buildroot-external/board/raspberrypi/patches/linux/0004-ipv6-add-option-to-explicitly-enable-reachability-te.patch similarity index 100% rename from buildroot-external/patches/linux/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch rename to buildroot-external/board/raspberrypi/patches/linux/0004-ipv6-add-option-to-explicitly-enable-reachability-te.patch diff --git a/buildroot-external/patches/linux/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch b/buildroot-external/board/raspberrypi/patches/linux/0005-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch similarity index 100% rename from buildroot-external/patches/linux/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch rename to buildroot-external/board/raspberrypi/patches/linux/0005-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch diff --git a/buildroot-external/configs/generic_x86_64_defconfig b/buildroot-external/configs/generic_x86_64_defconfig index 889bc6e9b0a..0da77234262 100644 --- a/buildroot-external/configs/generic_x86_64_defconfig +++ b/buildroot-external/configs/generic_x86_64_defconfig @@ -4,7 +4,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" @@ -16,9 +16,9 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.6" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/kernel.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/kernel.config" BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y diff --git a/buildroot-external/kernel/v6.12.y/device-support-pci.config b/buildroot-external/kernel/v6.12.y/device-support-pci.config new file mode 100644 index 00000000000..f35f80ff201 --- /dev/null +++ b/buildroot-external/kernel/v6.12.y/device-support-pci.config @@ -0,0 +1,41 @@ +CONFIG_IGB=y +CONFIG_IGC=m + +CONFIG_NET_VENDOR_AQUANTIA=y +CONFIG_AQTION=m + +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_ATL2=m +CONFIG_ATL1=m +CONFIG_ATL1C=m +CONFIG_ATL1E=m +CONFIG_ALX=m + +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_B44=m +CONFIG_BCMGENET=m +CONFIG_BNX2=m +CONFIG_TIGON3=m +CONFIG_BNX2X=m +CONFIG_BNXT=m + +CONFIG_BROADCOM_PHY=m + +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_STMMAC_ETH=m +CONFIG_STMMAC_PCI=m + +CONFIG_MEDIA_PCI_SUPPORT=y + +# PCI sound drivers +CONFIG_SND_PCI=y +CONFIG_SND_HDA_GENERIC=m +CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_CODEC_REALTEK=m +CONFIG_SND_HDA_CODEC_ANALOG=m +CONFIG_SND_HDA_CODEC_VIA=m +CONFIG_SND_HDA_CODEC_HDMI=m + +# NVMe SSD support +CONFIG_NVME_CORE=y +CONFIG_BLK_DEV_NVME=y diff --git a/buildroot-external/kernel/v6.12.y/device-support-wireless-pci.config b/buildroot-external/kernel/v6.12.y/device-support-wireless-pci.config new file mode 100644 index 00000000000..d661c3c4cdc --- /dev/null +++ b/buildroot-external/kernel/v6.12.y/device-support-wireless-pci.config @@ -0,0 +1,55 @@ +# This fragment contains configuration options for WiFi drivers that are +# using PCI or PCIe bus. The device-support-wireless.config fragment must +# be included for this one to work as well as it contains common options. + +# Atheros drivers +CONFIG_ATH5K=m +CONFIG_ATH5K_PCI=y +CONFIG_ATH10K_PCI=m +CONFIG_ATH11K=m +CONFIG_ATH11K_PCI=m +CONFIG_ATH12K=m + +# Broadcom drivers +CONFIG_BRCMFMAC_PCIE=y + +# Intel drivers +CONFIG_IWLEGACY=m +CONFIG_IWL3945=m +CONFIG_IWL4965=m +CONFIG_IWLWIFI=m +CONFIG_IWLDVM=m +CONFIG_IWLMVM=m + +# Marvell drivers +CONFIG_MWIFIEX_PCIE=m +CONFIG_MWL8K=m + +# Mediatek drivers +CONFIG_MT7603E=m +CONFIG_MT7615E=m +CONFIG_MT7915E=m +CONFIG_MT7921E=m +CONFIG_MT7996E=m + +# Ralink drivers +CONFIG_RT2800PCI=m + +# Realtek drivers +CONFIG_RTL8192CE=m +CONFIG_RTL8192SE=m +CONFIG_RTL8192DE=m +CONFIG_RTL8723AE=m +CONFIG_RTL8723BE=m +CONFIG_RTL8188EE=m +CONFIG_RTL8192EE=m +CONFIG_RTL8821AE=m +CONFIG_RTW88_8822BE=m +CONFIG_RTW88_8822CE=m +CONFIG_RTW88_8723DE=m +CONFIG_RTW88_8821CE=m + +CONFIG_RTW89_8851BE=m +CONFIG_RTW89_8852AE=m +CONFIG_RTW89_8852BE=m +CONFIG_RTW89_8852CE=m diff --git a/buildroot-external/kernel/v6.12.y/device-support-wireless.config b/buildroot-external/kernel/v6.12.y/device-support-wireless.config new file mode 100644 index 00000000000..c4dc10213ee --- /dev/null +++ b/buildroot-external/kernel/v6.12.y/device-support-wireless.config @@ -0,0 +1,81 @@ +# This fragment contains configuration options for all platforms that +# should support WiFi connectivity over USB or SDIO. It does not contain +# drivers for PCI or PCIe devices - those need also inclusion of +# device-support-wireless-pci.config fragment. + +# Atheros drivers +CONFIG_WLAN_VENDOR_ATH=y +CONFIG_ATH10K=m +CONFIG_ATH10K_SDIO=m +CONFIG_ATH10K_USB=m +CONFIG_ATH6KL=m +CONFIG_ATH6KL_SDIO=m +CONFIG_ATH6KL_USB=m +CONFIG_ATH9K=m +CONFIG_ATH9K_HTC=m +CONFIG_CARL9170=m + +# Broadcom drivers +CONFIG_WLAN_VENDOR_BROADCOM=y +CONFIG_B43=m +CONFIG_B43_PHY_G=y +CONFIG_B43_PHY_N=y +CONFIG_B43_PHY_LP=y +CONFIG_B43_PHY_HT=y +CONFIG_BRCMSMAC=m +CONFIG_BRCMFMAC=m +CONFIG_BRCMFMAC_USB=y + +# Intel drivers +# Note: enabling it here but Intel drivers are currently exclusively PCI +CONFIG_WLAN_VENDOR_INTEL=y + +# Marvell drivers +CONFIG_WLAN_VENDOR_MARVELL=y +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_USB=m + +# Mediatek drivers +CONFIG_WLAN_VENDOR_MEDIATEK=y +CONFIG_MT7601U=m +CONFIG_MT7663U=m +CONFIG_MT7663S=m +CONFIG_MT76x0E=m +CONFIG_MT76x0U=m +CONFIG_MT76x2U=m +CONFIG_MT76x2E=m +CONFIG_MT7921S=m +CONFIG_MT7921U=m + +# Ralink drivers +CONFIG_WLAN_VENDOR_RALINK=y +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT3573=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_RT55XX=y +CONFIG_RT2800USB_UNKNOWN=y +CONFIG_RT2X00=m + +# Realtek drivers +CONFIG_WLAN_VENDOR_REALTEK=y +CONFIG_RTL8XXXU=m +CONFIG_RTL8192CU=m +CONFIG_RTL_CARDS=m +CONFIG_RTW88=m +CONFIG_RTW88_8822BS=m +CONFIG_RTW88_8822BU=m +CONFIG_RTW88_8822CS=m +CONFIG_RTW88_8822CU=m +CONFIG_RTW88_8723DS=m +CONFIG_RTW88_8723DU=m +CONFIG_RTW88_8821CS=m +# Use OOT driver for 8821CU instead, see: https://github.com/home-assistant/operating-system/issues/3205 +# CONFIG_RTW88_8821CU is not set +CONFIG_RTW89=m + +# Staging drivers +CONFIG_STAGING=y +CONFIG_RTL8723BS=m diff --git a/buildroot-external/kernel/v6.12.y/device-support.config b/buildroot-external/kernel/v6.12.y/device-support.config new file mode 100644 index 00000000000..d3e925ec447 --- /dev/null +++ b/buildroot-external/kernel/v6.12.y/device-support.config @@ -0,0 +1,182 @@ +CONFIG_USB_GADGET=y + +CONFIG_USBIP_CORE=m +CONFIG_USBIP_VHCI_HCD=m +CONFIG_USBIP_VHCI_HC_PORTS=8 +CONFIG_USBIP_VHCI_NR_HCS=1 +CONFIG_USBIP_HOST=m +CONFIG_USBIP_VUDC=m + +CONFIG_USB_SERIAL=y +CONFIG_USB_SERIAL_CONSOLE=y +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_SIMPLE=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_KEYSPAN=m + +CONFIG_USB_ACM=m + +# USB Network AdapterS +CONFIG_USB_NET_DRIVERS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_RTL8152=m +CONFIG_USB_LAN78XX=m +CONFIG_USB_USBNET=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_AX88179_178A=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_NCM=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m + +CONFIG_MEDIA_CEC_SUPPORT=y + +# Required for BT drivers +CONFIG_SERIAL_DEV_BUS=y + +# Bluetooth device drivers +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIBTUSB_BCM=y +CONFIG_BT_HCIBTUSB_MTK=y +CONFIG_BT_HCIBTUSB_RTL=y +CONFIG_BT_HCIBTSDIO=m +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_INTEL=y +CONFIG_BT_HCIUART_BCM=y +CONFIG_BT_HCIUART_RTL=y +CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_AG6XX=y +CONFIG_BT_HCIUART_MRVL=y +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m +CONFIG_BT_MTKSDIO=m +CONFIG_BT_MTKUART=m + +# Multimedia core support +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_SUPPORT_FILTER=y +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y +CONFIG_MEDIA_CONTROLLER=y +CONFIG_MEDIA_CONTROLLER_DVB=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_ANALOG_TV_SUPPORT=y +CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_VIDEO_TVEEPROM=m +CONFIG_VIDEOBUF2_CORE=m +CONFIG_VIDEOBUF2_V4L2=m +CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_VMALLOC=m +CONFIG_MEDIA_PLATFORM_SUPPORT=y +CONFIG_MEDIA_PLATFORM_DRIVERS=y +CONFIG_V4L_PLATFORM_DRIVERS=y + +# Webcam devices +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +CONFIG_USB_M5602=m +CONFIG_USB_STV06XX=m +CONFIG_USB_GL860=m +CONFIG_USB_GSPCA_BENQ=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_CPIA1=m +CONFIG_USB_GSPCA_DTCS033=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_JL2005BCD=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_NW80X=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_OV534_9=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m +CONFIG_USB_GSPCA_SN9C2028=m +CONFIG_USB_GSPCA_SN9C20X=m +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=m +CONFIG_USB_GSPCA_SPCA500=m +CONFIG_USB_GSPCA_SPCA501=m +CONFIG_USB_GSPCA_SPCA505=m +CONFIG_USB_GSPCA_SPCA506=m +CONFIG_USB_GSPCA_SPCA508=m +CONFIG_USB_GSPCA_SPCA561=m +CONFIG_USB_GSPCA_SPCA1528=m +CONFIG_USB_GSPCA_SQ905=m +CONFIG_USB_GSPCA_SQ905C=m +CONFIG_USB_GSPCA_SQ930X=m +CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STK1135=m +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m +CONFIG_USB_GSPCA_TOUPTEK=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_VICAM=m +CONFIG_USB_GSPCA_XIRLINK_CIT=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_USB_PWC=m +CONFIG_USB_PWC_INPUT_EVDEV=y +CONFIG_USB_S2255=m + +# Analog capture USB devices +CONFIG_VIDEO_USBTV=m +CONFIG_VIDEO_PVRUSB2=m +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_PVRUSB2_DVB=y +CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_STK1160=m + +# Analog/digital capture USB devices +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_AU0828_V4L2=y +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_VIDEO_CX2341X=m + +# Webcam/capture (analog/digital) USB devices +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_V4L2=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=m + +# Audio devices (USB/PCI) +CONFIG_SND_USB_AUDIO=m + +# GPIO support +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y + +# Can Bus support +CONFIG_CAN=m +CONFIG_CAN_RAW=m +CONFIG_CAN_VCAN=m +CONFIG_CAN_SLCAN=m +CONFIG_CAN_DEV=m +CONFIG_CAN_GS_USB=m +CONFIG_CAN_PEAK_USB=m + +# 1-wire +CONFIG_W1=y +CONFIG_W1_MASTER_DS2490=m +CONFIG_W1_MASTER_DS2482=m +CONFIG_W1_MASTER_GPIO=m diff --git a/buildroot-external/kernel/v6.12.y/docker.config b/buildroot-external/kernel/v6.12.y/docker.config new file mode 100644 index 00000000000..3e80bc7f3e7 --- /dev/null +++ b/buildroot-external/kernel/v6.12.y/docker.config @@ -0,0 +1,74 @@ +CONFIG_POSIX_MQUEUE=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_NET_SCHED=y +# CONFIG_RT_GROUP_SCHED is not set + +CONFIG_CGROUPS=y +CONFIG_CPUSETS=y +CONFIG_BLK_CGROUP=y +CONFIG_BLK_DEV_THROTTLING=y +CONFIG_CGROUP_SCHED=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_CGROUP_PERF=y +CONFIG_NET_CLS_CGROUP=y +CONFIG_CGROUP_NET_PRIO=y +CONFIG_CGROUP_BPF=y +CONFIG_BPF_SYSCALL=y + +CONFIG_MEMCG=y + +CONFIG_NAMESPACES=y +CONFIG_USER_NS=y +CONFIG_PID_NS=y +CONFIG_IPC_NS=y +CONFIG_UTS_NS=y + +CONFIG_NETDEVICES=y +CONFIG_DUMMY=m +CONFIG_MACVLAN=m +CONFIG_IPVLAN=m +CONFIG_VXLAN=m + +CONFIG_INET=y +CONFIG_IPV6=y +CONFIG_INET_ESP=m +CONFIG_NETCONSOLE=y +CONFIG_VETH=y +CONFIG_NETFILTER=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_NAT=y +CONFIG_IP6_NF_IPTABLES=y +CONFIG_IP6_NF_FILTER=y +CONFIG_IP6_NF_MANGLE=y +CONFIG_IP6_NF_NAT=y +CONFIG_NETFILTER_ADVANCED=y +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_IPVS=y +CONFIG_IP_VS=y +CONFIG_IP_VS_RR=y +CONFIG_IP_VS_NFCT=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_IP_NF_TARGET_REDIRECT=y +CONFIG_BRIDGE=y +CONFIG_BRIDGE_NETFILTER=y +CONFIG_XFRM_USER=m +CONFIG_NET_L3_MASTER_DEV=y + +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_OVERLAY_FS=y +# CONFIG_OVERLAY_FS_METACOPY is not set +# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set + +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_CMAC=y diff --git a/buildroot-external/kernel/v6.12.y/hassos.config b/buildroot-external/kernel/v6.12.y/hassos.config new file mode 100644 index 00000000000..0742acda736 --- /dev/null +++ b/buildroot-external/kernel/v6.12.y/hassos.config @@ -0,0 +1,210 @@ +CONFIG_LOCALVERSION="-haos" +CONFIG_EXPERT=y + +# GCC plugins are disabled by linux.mk, disable them here to reduce +# linux-diff-config noise +CONFIG_GCC_PLUGINS=n + +CONFIG_CMDLINE="" +CONFIG_PANIC_TIMEOUT=5 + +CONFIG_PREEMPT=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_DEBUG_PREEMPT is not set + +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y + +# CONFIG_MODULE_COMPRESS is not set + +CONFIG_FW_LOADER_COMPRESS=y +CONFIG_FW_LOADER_COMPRESS_ZSTD=y + +CONFIG_ZRAM=y +CONFIG_ZRAM_BACKEND_LZ4=y +CONFIG_ZSWAP=y +CONFIG_ZSWAP_DEFAULT_ON=y +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4=y +CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC=y +CONFIG_ZSMALLOC=y + +CONFIG_LRU_GEN=y +CONFIG_LRU_GEN_ENABLED=y + +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y + +CONFIG_MISC_FILESYSTEMS=y +CONFIG_BLOCK=y +CONFIG_EROFS_FS=y +CONFIG_EXT4_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_LZ4=y +CONFIG_BTRFS_FS=m +CONFIG_NTFS3_FS=m +CONFIG_EXFAT_FS=m +CONFIG_MD=y +CONFIG_BLK_DEV_DM=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_DM_VERITY=y + +CONFIG_SECCOMP=y +CONFIG_SECCOMP_FILTER=y + +CONFIG_AUDIT=y +CONFIG_DEFAULT_SECURITY_APPARMOR=y +# CONFIG_DEFAULT_SECURITY_DAC is not set +# CONFIG_DEFAULT_SECURITY_SELINUX is not set +CONFIG_SECURITY=y +CONFIG_SECURITY_APPARMOR=y +# CONFIG_SECURITY_SELINUX is not set +CONFIG_LSM="apparmor" + +CONFIG_CRYPTO=y +CONFIG_CRYPTO_LZ4=y +CONFIG_CRYPTO_MICHAEL_MIC=y + +CONFIG_CRYPTO_USER=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_USER_API_RNG=m +CONFIG_CRYPTO_USER_API_AEAD=m + +CONFIG_PARTITION_ADVANCED=y +CONFIG_EFI_PARTITION=y +CONFIG_MSDOS_PARTITION=y + +# CONFIG_LOGO is not set +# CONFIG_DEBUG_STACK_USAGE is not set + +CONFIG_BT=m +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_LE=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=m +CONFIG_BT_LEDS=y + +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_REACHABILITY_PROBE=y +CONFIG_IPV6_SIT=m + +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_MROUTE=y +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_MROUTE=y + +CONFIG_MPTCP=y +CONFIG_MPTCP_IPV6=y + +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=y +CONFIG_NF_TABLES_NETDEV=y +CONFIG_NF_TPROXY_IPV4=m +CONFIG_NF_TABLES_IPV4=y +CONFIG_NF_TABLES_ARP=y +CONFIG_NF_TPROXY_IPV6=m +CONFIG_NF_TABLES_IPV6=y +CONFIG_NF_TABLES_BRIDGE=m +CONFIG_NF_FLOW_TABLE=m + +CONFIG_NFT_NUMGEN=m +CONFIG_NFT_CT=m +CONFIG_NFT_FLOW_OFFLOAD=m +CONFIG_NFT_CONNLIMIT=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_MASQ=m +CONFIG_NFT_REDIR=m +CONFIG_NFT_NAT=m +CONFIG_NFT_TUNNEL=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_QUOTA=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_REJECT_INET=m +CONFIG_NFT_COMPAT=m +CONFIG_NFT_HASH=m +CONFIG_NFT_FIB=m +CONFIG_NFT_FIB_INET=m +CONFIG_NFT_XFRM=m +CONFIG_NFT_SOCKET=m +CONFIG_NFT_OSF=m +CONFIG_NFT_TPROXY=m +CONFIG_NFT_SYNPROXY=m +CONFIG_NFT_DUP_NETDEV=m +CONFIG_NFT_FWD_NETDEV=m +CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_REJECT_NETDEV=m +CONFIG_NFT_REJECT_IPV4=m +CONFIG_NFT_DUP_IPV4=m +CONFIG_NFT_FIB_IPV4=m +CONFIG_NFT_REJECT_IPV6=m +CONFIG_NFT_DUP_IPV6=m +CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_BRIDGE_META=m +CONFIG_NFT_BRIDGE_REJECT=m + +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_XT_SET=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MARK=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m + +CONFIG_IP_SET=m +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_IPMAC=m +CONFIG_IP_SET_HASH_MAC=m +CONFIG_IP_SET_HASH_NETPORTNET=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_HASH_NETIFACE=m +CONFIG_IP_SET_LIST_SET=m +CONFIG_IP_VS=m +CONFIG_IP_VS_IPV6=y + +CONFIG_TUN=y +CONFIG_VLAN_8021Q=m +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y + +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_FQ_CODEL=m + +CONFIG_WIRELESS=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_CFG80211=m +CONFIG_CFG80211_WEXT=y + +CONFIG_CIFS=m +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y +CONFIG_CIFS_DFS_UPCALL=y + +CONFIG_WIREGUARD=m + +CONFIG_HID=y +CONFIG_HIDRAW=y +CONFIG_UHID=y + +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_UTF8=y diff --git a/buildroot-external/kernel/v6.12.y/kernel-arm64-rockchip.config b/buildroot-external/kernel/v6.12.y/kernel-arm64-rockchip.config new file mode 100644 index 00000000000..47c8934a373 --- /dev/null +++ b/buildroot-external/kernel/v6.12.y/kernel-arm64-rockchip.config @@ -0,0 +1,4211 @@ +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_USELIB=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_BPF_SYSCALL=y +CONFIG_BPF_JIT=y +# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set +CONFIG_PREEMPT=y +CONFIG_SCHED_CORE=y +CONFIG_IRQ_TIME_ACCOUNTING=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_IKHEADERS=m +CONFIG_LOG_BUF_SHIFT=18 +CONFIG_MEMCG=y +CONFIG_BLK_CGROUP=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_RDMA=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_NAMESPACES=y +CONFIG_USER_NS=y +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_BOOT_CONFIG=y +CONFIG_EXPERT=y +CONFIG_KALLSYMS_ALL=y +CONFIG_PROFILING=y +CONFIG_ARCH_SUNXI=y +CONFIG_ARCH_ROCKCHIP=y +CONFIG_ARCH_TEGRA=y +# CONFIG_ARM64_ERRATUM_2077057 is not set +CONFIG_ARM64_VA_BITS_48=y +CONFIG_SCHED_MC=y +CONFIG_SCHED_CLUSTER=y +CONFIG_SCHED_SMT=y +CONFIG_NR_CPUS=8 +CONFIG_HZ_100=y +CONFIG_PARAVIRT_TIME_ACCOUNTING=y +CONFIG_KEXEC=y +CONFIG_KEXEC_FILE=y +CONFIG_COMPAT=y +# CONFIG_ARM64_MTE is not set +CONFIG_RANDOMIZE_BASE=y +CONFIG_HIBERNATION=y +CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y +CONFIG_ENERGY_MODEL=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_CPU_IDLE_GOV_TEO=y +CONFIG_ARM_PSCI_CPUIDLE=y +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_CPU_FREQ_GOV_SCHEDUTIL=y +CONFIG_CPUFREQ_DT=y +CONFIG_ACPI_CPPC_CPUFREQ=y +CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m +CONFIG_ARM_SCPI_CPUFREQ=y +CONFIG_ARM_SCMI_CPUFREQ=m +CONFIG_ARM_TEGRA20_CPUFREQ=m +CONFIG_ARM_TEGRA186_CPUFREQ=m +CONFIG_ARM_TEGRA194_CPUFREQ=m +CONFIG_ACPI=y +CONFIG_ACPI_VIDEO=m +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_IPMI=m +CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_HED=y +CONFIG_ACPI_CUSTOM_METHOD=y +CONFIG_ACPI_CONFIGFS=m +CONFIG_PMIC_OPREGION=y +CONFIG_VIRTUALIZATION=y +CONFIG_KVM=y +CONFIG_KPROBES=y +CONFIG_JUMP_LABEL=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODULE_COMPRESS_NONE=y +CONFIG_BLK_DEV_ZONED=y +CONFIG_BLK_DEV_THROTTLING=y +CONFIG_BLK_DEV_THROTTLING_LOW=y +CONFIG_BLK_WBT=y +CONFIG_BLK_CGROUP_IOLATENCY=y +CONFIG_BLK_SED_OPAL=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_OSF_PARTITION=y +CONFIG_MAC_PARTITION=y +CONFIG_BSD_DISKLABEL=y +CONFIG_LDM_PARTITION=y +CONFIG_CMDLINE_PARTITION=y +CONFIG_IOSCHED_BFQ=y +CONFIG_BFQ_GROUP_IOSCHED=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_MISC=m +CONFIG_ZSWAP=y +CONFIG_ZSWAP_DEFAULT_ON=y +CONFIG_ZBUD=y +CONFIG_ZSMALLOC=y +CONFIG_SLAB_FREELIST_RANDOM=y +# CONFIG_COMPAT_BRK is not set +CONFIG_KSM=y +CONFIG_MEMORY_FAILURE=y +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_CMA_DEBUGFS=y +CONFIG_DAMON=y +CONFIG_DAMON_VADDR=y +CONFIG_DAMON_PADDR=y +CONFIG_DAMON_RECLAIM=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=m +CONFIG_UNIX=y +CONFIG_UNIX_DIAG=m +CONFIG_TLS=m +CONFIG_TLS_DEVICE=y +CONFIG_XFRM_USER=m +CONFIG_XFRM_INTERFACE=m +CONFIG_XFRM_SUB_POLICY=y +CONFIG_XFRM_STATISTICS=y +CONFIG_NET_KEY=m +CONFIG_NET_KEY_MIGRATE=y +CONFIG_XDP_SOCKETS=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_FIB_TRIE_STATS=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IPGRE=m +CONFIG_NET_IPGRE_BROADCAST=y +CONFIG_IP_MROUTE=y +CONFIG_IP_MROUTE_MULTIPLE_TABLES=y +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +CONFIG_NET_IPVTI=m +CONFIG_NET_FOU_IP_TUNNELS=y +CONFIG_INET_AH=m +CONFIG_INET_ESP=m +CONFIG_INET_ESP_OFFLOAD=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_DIAG=m +CONFIG_INET_UDP_DIAG=m +CONFIG_INET_RAW_DIAG=m +CONFIG_INET_DIAG_DESTROY=y +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_HSTCP=m +CONFIG_TCP_CONG_HYBLA=m +CONFIG_TCP_CONG_NV=m +CONFIG_TCP_CONG_SCALABLE=m +CONFIG_TCP_CONG_LP=m +CONFIG_TCP_CONG_VENO=m +CONFIG_TCP_CONG_YEAH=m +CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_TCP_CONG_DCTCP=m +CONFIG_TCP_CONG_CDG=m +CONFIG_TCP_CONG_BBR=m +CONFIG_DEFAULT_RENO=y +CONFIG_TCP_MD5SIG=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_ESP_OFFLOAD=m +CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_MIP6=m +CONFIG_IPV6_ILA=m +CONFIG_IPV6_VTI=m +CONFIG_IPV6_SIT=m +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_GRE=m +CONFIG_IPV6_SUBTREES=y +CONFIG_IPV6_MROUTE=y +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y +CONFIG_IPV6_PIMSM_V2=y +CONFIG_IPV6_SEG6_LWTUNNEL=y +CONFIG_IPV6_SEG6_HMAC=y +CONFIG_NETWORK_PHY_TIMESTAMPING=y +CONFIG_NETFILTER=y +CONFIG_BRIDGE_NETFILTER=m +CONFIG_NETFILTER_NETLINK_HOOK=m +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CONNTRACK_ZONES=y +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +CONFIG_NF_CT_NETLINK_TIMEOUT=m +CONFIG_NF_CT_NETLINK_HELPER=m +CONFIG_NETFILTER_NETLINK_GLUE_CT=y +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=y +CONFIG_NF_TABLES_NETDEV=y +CONFIG_NFT_NUMGEN=m +CONFIG_NFT_CT=m +CONFIG_NFT_FLOW_OFFLOAD=m +CONFIG_NFT_CONNLIMIT=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_MASQ=m +CONFIG_NFT_REDIR=m +CONFIG_NFT_NAT=m +CONFIG_NFT_TUNNEL=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_QUOTA=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_COMPAT=m +CONFIG_NFT_HASH=m +CONFIG_NFT_FIB_INET=m +CONFIG_NFT_XFRM=m +CONFIG_NFT_SOCKET=m +CONFIG_NFT_OSF=m +CONFIG_NFT_TPROXY=m +CONFIG_NFT_SYNPROXY=m +CONFIG_NFT_DUP_NETDEV=m +CONFIG_NFT_FWD_NETDEV=m +CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_REJECT_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE=m +CONFIG_NETFILTER_XT_SET=m +CONFIG_NETFILTER_XT_TARGET_AUDIT=m +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HMARK=m +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +CONFIG_NETFILTER_XT_TARGET_LED=m +CONFIG_NETFILTER_XT_TARGET_LOG=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m +CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +CONFIG_NETFILTER_XT_MATCH_BPF=m +CONFIG_NETFILTER_XT_MATCH_CGROUP=m +CONFIG_NETFILTER_XT_MATCH_CLUSTER=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_CPU=m +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_NFACCT=m +CONFIG_NETFILTER_XT_MATCH_OSF=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_IP_SET=m +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_IPMAC=m +CONFIG_IP_SET_HASH_MAC=m +CONFIG_IP_SET_HASH_NETPORTNET=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_HASH_NETIFACE=m +CONFIG_IP_SET_LIST_SET=m +CONFIG_IP_VS=m +CONFIG_IP_VS_IPV6=y +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_PROTO_ESP=y +CONFIG_IP_VS_PROTO_AH=y +CONFIG_IP_VS_PROTO_SCTP=y +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_WRR=m +CONFIG_IP_VS_LC=m +CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_FO=m +CONFIG_IP_VS_OVF=m +CONFIG_IP_VS_LBLC=m +CONFIG_IP_VS_LBLCR=m +CONFIG_IP_VS_DH=m +CONFIG_IP_VS_SH=m +CONFIG_IP_VS_MH=m +CONFIG_IP_VS_SED=m +CONFIG_IP_VS_NQ=m +CONFIG_IP_VS_TWOS=m +CONFIG_IP_VS_FTP=m +CONFIG_IP_VS_PE_SIP=m +CONFIG_NFT_DUP_IPV4=m +CONFIG_NFT_FIB_IPV4=m +CONFIG_NF_TABLES_ARP=y +CONFIG_NF_LOG_ARP=m +CONFIG_NF_LOG_IPV4=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_RPFILTER=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m +CONFIG_IP_NF_NAT=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_SECURITY=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m +CONFIG_NFT_DUP_IPV6=m +CONFIG_NFT_FIB_IPV6=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_RPFILTER=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_SECURITY=m +CONFIG_IP6_NF_NAT=m +CONFIG_IP6_NF_TARGET_MASQUERADE=m +CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_NF_TABLES_BRIDGE=m +CONFIG_NFT_BRIDGE_META=m +CONFIG_NFT_BRIDGE_REJECT=m +CONFIG_NF_CONNTRACK_BRIDGE=m +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m +CONFIG_BRIDGE_EBT_802_3=m +CONFIG_BRIDGE_EBT_AMONG=m +CONFIG_BRIDGE_EBT_ARP=m +CONFIG_BRIDGE_EBT_IP=m +CONFIG_BRIDGE_EBT_IP6=m +CONFIG_BRIDGE_EBT_LIMIT=m +CONFIG_BRIDGE_EBT_MARK=m +CONFIG_BRIDGE_EBT_PKTTYPE=m +CONFIG_BRIDGE_EBT_STP=m +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_EBT_ARPREPLY=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_MARK_T=m +CONFIG_BRIDGE_EBT_REDIRECT=m +CONFIG_BRIDGE_EBT_SNAT=m +CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_BPFILTER=y +CONFIG_IP_DCCP=m +CONFIG_SCTP_DBG_OBJCNT=y +CONFIG_SCTP_COOKIE_HMAC_SHA1=y +CONFIG_RDS=m +CONFIG_RDS_TCP=m +CONFIG_TIPC=m +CONFIG_ATM=m +CONFIG_ATM_CLIP=m +CONFIG_ATM_CLIP_NO_ICMP=y +CONFIG_ATM_LANE=m +CONFIG_ATM_MPOA=m +CONFIG_ATM_BR2684=m +CONFIG_ATM_BR2684_IPFILTER=y +CONFIG_L2TP=m +CONFIG_L2TP_DEBUGFS=m +CONFIG_L2TP_V3=y +CONFIG_L2TP_IP=m +CONFIG_L2TP_ETH=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_VLAN_FILTERING=y +CONFIG_NET_DSA=m +CONFIG_NET_DSA_TAG_OCELOT=m +CONFIG_NET_DSA_TAG_OCELOT_8021Q=m +CONFIG_NET_DSA_TAG_RTL4_A=m +CONFIG_NET_DSA_TAG_RTL8_4=m +CONFIG_NET_DSA_TAG_RZN1_A5PSW=m +CONFIG_VLAN_8021Q=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +CONFIG_LLC2=m +CONFIG_ATALK=m +CONFIG_DEV_APPLETALK=m +CONFIG_IPDDP=m +CONFIG_IPDDP_ENCAP=y +CONFIG_X25=m +CONFIG_LAPB=m +CONFIG_PHONET=m +CONFIG_6LOWPAN=m +CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=m +CONFIG_6LOWPAN_GHC_UDP=m +CONFIG_6LOWPAN_GHC_ICMPV6=m +CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m +CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m +CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=m +CONFIG_IEEE802154=m +CONFIG_IEEE802154_NL802154_EXPERIMENTAL=y +CONFIG_IEEE802154_6LOWPAN=m +CONFIG_MAC802154=m +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFB=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_CBS=m +CONFIG_NET_SCH_ETF=m +CONFIG_NET_SCH_TAPRIO=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_MQPRIO=m +CONFIG_NET_SCH_SKBPRIO=m +CONFIG_NET_SCH_CHOKE=m +CONFIG_NET_SCH_QFQ=m +CONFIG_NET_SCH_CODEL=m +CONFIG_NET_SCH_FQ_CODEL=m +CONFIG_NET_SCH_CAKE=m +CONFIG_NET_SCH_FQ=m +CONFIG_NET_SCH_HHF=m +CONFIG_NET_SCH_PIE=m +CONFIG_NET_SCH_FQ_PIE=m +CONFIG_NET_SCH_INGRESS=m +CONFIG_NET_SCH_PLUG=m +CONFIG_NET_SCH_ETS=m +CONFIG_NET_SCH_DEFAULT=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_U32=m +CONFIG_CLS_U32_PERF=y +CONFIG_CLS_U32_MARK=y +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_CLS_CGROUP=m +CONFIG_NET_CLS_BPF=m +CONFIG_NET_CLS_FLOWER=m +CONFIG_NET_CLS_MATCHALL=m +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_CMP=m +CONFIG_NET_EMATCH_NBYTE=m +CONFIG_NET_EMATCH_U32=m +CONFIG_NET_EMATCH_META=m +CONFIG_NET_EMATCH_TEXT=m +CONFIG_NET_EMATCH_CANID=m +CONFIG_NET_EMATCH_IPSET=m +CONFIG_NET_EMATCH_IPT=m +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_GACT=m +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_SAMPLE=m +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_NAT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_SIMP=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_NET_ACT_CSUM=m +CONFIG_NET_ACT_MPLS=m +CONFIG_NET_ACT_VLAN=m +CONFIG_NET_ACT_BPF=m +CONFIG_NET_ACT_CONNMARK=m +CONFIG_NET_ACT_CTINFO=m +CONFIG_NET_ACT_SKBMOD=m +CONFIG_NET_ACT_IFE=m +CONFIG_NET_ACT_TUNNEL_KEY=m +CONFIG_NET_ACT_CT=m +CONFIG_NET_IFE_SKBMARK=m +CONFIG_NET_IFE_SKBPRIO=m +CONFIG_NET_IFE_SKBTCINDEX=m +CONFIG_DCB=y +CONFIG_DNS_RESOLVER=y +CONFIG_BATMAN_ADV=m +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_DEBUG=y +CONFIG_OPENVSWITCH=m +CONFIG_VSOCKETS=m +CONFIG_VMWARE_VMCI_VSOCKETS=m +CONFIG_VIRTIO_VSOCKETS=m +CONFIG_NETLINK_DIAG=m +CONFIG_MPLS_ROUTING=m +CONFIG_MPLS_IPTUNNEL=m +CONFIG_HSR=m +CONFIG_CGROUP_NET_PRIO=y +CONFIG_BPF_STREAM_PARSER=y +CONFIG_NET_PKTGEN=m +CONFIG_HAMRADIO=y +CONFIG_AX25=m +CONFIG_NETROM=m +CONFIG_ROSE=m +CONFIG_MKISS=m +CONFIG_6PACK=m +CONFIG_BPQETHER=m +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=m +CONFIG_BAYCOM_PAR=m +CONFIG_YAM=m +CONFIG_CAN=m +CONFIG_CAN_J1939=m +CONFIG_BT=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=m +CONFIG_BT_6LOWPAN=m +CONFIG_BT_LEDS=y +CONFIG_BT_AOSPEXT=y +# CONFIG_BT_DEBUGFS is not set +CONFIG_BT_SELFTEST=y +CONFIG_BT_SELFTEST_ECDH=y +CONFIG_BT_SELFTEST_SMP=y +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y +CONFIG_BT_HCIBTUSB_MTK=y +CONFIG_BT_HCIBTSDIO=m +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_NOKIA=m +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIUART_INTEL=y +CONFIG_BT_HCIUART_BCM=y +CONFIG_BT_HCIUART_RTL=y +CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_AG6XX=y +CONFIG_BT_HCIUART_MRVL=y +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBFUSB=m +CONFIG_BT_HCIVHCI=m +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m +CONFIG_BT_ATH3K=m +CONFIG_BT_MTKSDIO=m +CONFIG_BT_MTKUART=m +CONFIG_BT_VIRTIO=m +CONFIG_CFG80211=m +CONFIG_CFG80211_CERTIFICATION_ONUS=y +CONFIG_CFG80211_REG_CELLULAR_HINTS=y +CONFIG_CFG80211_REG_RELAX_NO_IR=y +CONFIG_MAC80211=m +CONFIG_MAC80211_MESH=y +CONFIG_RFKILL=m +CONFIG_RFKILL_INPUT=y +CONFIG_RFKILL_GPIO=m +CONFIG_NET_9P=m +CONFIG_NET_9P_VIRTIO=m +CONFIG_CAIF=m +CONFIG_CAIF_USB=m +CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y +CONFIG_NFC=m +CONFIG_NFC_DIGITAL=m +CONFIG_NFC_NCI=m +CONFIG_NFC_NCI_SPI=m +CONFIG_NFC_NCI_UART=m +CONFIG_NFC_HCI=m +CONFIG_NFC_SHDLC=y +CONFIG_NFC_TRF7970A=m +CONFIG_NFC_SIM=m +CONFIG_NFC_PORT100=m +CONFIG_NFC_VIRTUAL_NCI=m +CONFIG_NFC_FDP=m +CONFIG_NFC_FDP_I2C=m +CONFIG_NFC_PN544_I2C=m +CONFIG_NFC_PN533_USB=m +CONFIG_NFC_PN533_I2C=m +CONFIG_NFC_PN532_UART=m +CONFIG_NFC_MICROREAD_I2C=m +CONFIG_NFC_MRVL_USB=m +CONFIG_NFC_MRVL_UART=m +CONFIG_NFC_MRVL_I2C=m +CONFIG_NFC_MRVL_SPI=m +CONFIG_NFC_ST21NFCA_I2C=m +CONFIG_NFC_ST_NCI_I2C=m +CONFIG_NFC_ST_NCI_SPI=m +CONFIG_NFC_NXP_NCI=m +CONFIG_NFC_NXP_NCI_I2C=m +CONFIG_NFC_S3FWRN5_I2C=m +CONFIG_NFC_S3FWRN82_UART=m +CONFIG_NFC_ST95HF=m +CONFIG_PCI=y +CONFIG_PCIEPORTBUS=y +CONFIG_HOTPLUG_PCI_PCIE=y +CONFIG_PCIEAER=y +CONFIG_PCIEAER_INJECT=m +CONFIG_PCIE_ECRC=y +CONFIG_PCIEASPM_PERFORMANCE=y +CONFIG_PCI_STUB=y +CONFIG_PCI_PRI=y +CONFIG_PCI_PASID=y +CONFIG_HOTPLUG_PCI=y +CONFIG_HOTPLUG_PCI_ACPI=y +CONFIG_PCI_TEGRA=y +CONFIG_PCI_HOST_GENERIC=y +CONFIG_PCI_XGENE=y +CONFIG_PCIE_ROCKCHIP_HOST=y +CONFIG_PCIE_ROCKCHIP_EP=y +CONFIG_PCIE_DW_PLAT_HOST=y +CONFIG_PCIE_DW_PLAT_EP=y +CONFIG_PCI_HISI=y +CONFIG_PCIE_ROCKCHIP_DW_HOST=y +CONFIG_PCIE_TEGRA194_HOST=m +CONFIG_PCIE_TEGRA194_EP=m +CONFIG_PCI_ENDPOINT=y +CONFIG_PCI_ENDPOINT_CONFIGFS=y +CONFIG_PCI_EPF_NTB=m +CONFIG_CXL_BUS=m +CONFIG_UEVENT_HELPER=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_FW_LOADER_USER_HELPER=y +CONFIG_FW_LOADER_COMPRESS=y +CONFIG_BRCMSTB_GISB_ARB=y +CONFIG_SUNXI_RSB=m +CONFIG_TEGRA_ACONNECT=m +CONFIG_TEGRA_GMI=m +CONFIG_VEXPRESS_CONFIG=y +CONFIG_MHI_BUS=m +CONFIG_MHI_BUS_PCI_GENERIC=m +CONFIG_MHI_BUS_EP=m +CONFIG_ARM_SCMI_PROTOCOL=y +CONFIG_ARM_SCMI_TRANSPORT_VIRTIO=y +CONFIG_ARM_SCMI_POWER_CONTROL=m +CONFIG_ARM_SCPI_PROTOCOL=y +CONFIG_DMI_SYSFS=y +CONFIG_ISCSI_IBFT=y +CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y +CONFIG_EFI_BOOTLOADER_CONTROL=m +CONFIG_EFI_CAPSULE_LOADER=m +CONFIG_GNSS=m +CONFIG_GNSS_MTK_SERIAL=m +CONFIG_GNSS_SIRF_SERIAL=m +CONFIG_GNSS_UBX_SERIAL=m +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=m +CONFIG_MTD_AFS_PARTS=m +CONFIG_MTD_BLOCK=y +CONFIG_FTL=m +CONFIG_NFTL=m +CONFIG_NFTL_RW=y +CONFIG_INFTL=m +CONFIG_RFD_FTL=m +CONFIG_SSFDC=m +CONFIG_SM_FTL=m +CONFIG_MTD_SWAP=m +CONFIG_MTD_CFI=y +CONFIG_MTD_JEDECPROBE=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_PHYSMAP=m +CONFIG_MTD_PHYSMAP_OF=y +CONFIG_MTD_DATAFLASH=y +CONFIG_MTD_SST25L=y +CONFIG_MTD_ONENAND=m +CONFIG_MTD_RAW_NAND=y +CONFIG_MTD_NAND_DENALI_DT=y +CONFIG_MTD_NAND_ROCKCHIP=m +CONFIG_MTD_SPI_NAND=m +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_UBI=m +CONFIG_OF_OVERLAY=y +CONFIG_PARPORT=m +CONFIG_BLK_DEV_NULL_BLK=m +CONFIG_ZRAM=m +CONFIG_ZRAM_WRITEBACK=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_DRBD=m +CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_RAM=m +CONFIG_ATA_OVER_ETH=m +CONFIG_VIRTIO_BLK=m +CONFIG_BLK_DEV_RBD=m +CONFIG_BLK_DEV_UBLK=m +CONFIG_BLK_DEV_NVME=y +CONFIG_NVME_MULTIPATH=y +CONFIG_NVME_HWMON=y +CONFIG_NVME_FC=m +CONFIG_NVME_TCP=m +CONFIG_NVME_TARGET=m +CONFIG_NVME_TARGET_PASSTHRU=y +CONFIG_NVME_TARGET_LOOP=m +CONFIG_NVME_TARGET_FC=m +CONFIG_NVME_TARGET_FCLOOP=m +CONFIG_NVME_TARGET_TCP=m +CONFIG_AD525X_DPOT=m +CONFIG_AD525X_DPOT_I2C=m +CONFIG_AD525X_DPOT_SPI=m +CONFIG_PHANTOM=m +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_HI6421V600_IRQ=m +CONFIG_SRAM=y +CONFIG_DW_XDATA_PCIE=m +CONFIG_XILINX_SDFEC=m +CONFIG_VCPU_STALL_DETECTOR=m +CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_AT25=m +CONFIG_EEPROM_LEGACY=m +CONFIG_EEPROM_MAX6875=m +CONFIG_EEPROM_EE1004=m +CONFIG_CB710_CORE=m +CONFIG_VMWARE_VMCI=m +CONFIG_GENWQE=m +CONFIG_ECHO=m +CONFIG_BCM_VK=m +CONFIG_MISC_ALCOR_PCI=m +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m +CONFIG_UACCE=m +CONFIG_GP_PCI1XXXX=m +CONFIG_RAID_ATTRS=y +CONFIG_BLK_DEV_SD=y +CONFIG_CHR_DEV_ST=m +CONFIG_BLK_DEV_SR=y +CONFIG_CHR_DEV_SG=y +CONFIG_CHR_DEV_SCH=m +CONFIG_SCSI_ENCLOSURE=m +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_FC_ATTRS=m +CONFIG_SCSI_SAS_ATTRS=y +CONFIG_SCSI_SAS_ATA=y +CONFIG_SCSI_SRP_ATTRS=m +CONFIG_ISCSI_TCP=m +CONFIG_SCSI_BNX2_ISCSI=m +CONFIG_SCSI_BNX2X_FCOE=m +CONFIG_BE2ISCSI=m +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_MVSAS=m +# CONFIG_SCSI_MVSAS_DEBUG is not set +CONFIG_SCSI_MVSAS_TASKLET=y +CONFIG_SCSI_MVUMI=m +CONFIG_SCSI_ARCMSR=m +CONFIG_SCSI_ESAS2R=m +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_MM=m +CONFIG_MEGARAID_MAILBOX=m +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_SAS=m +CONFIG_SCSI_MPT3SAS=m +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_BUSLOGIC=m +CONFIG_LIBFC=m +CONFIG_LIBFCOE=m +CONFIG_FCOE=m +CONFIG_SCSI_SNIC=m +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_IPR=m +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_QLA_FC=m +CONFIG_TCM_QLA2XXX=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_AM53C974=m +CONFIG_SCSI_WD719X=m +CONFIG_SCSI_DEBUG=m +CONFIG_SCSI_PMCRAID=m +CONFIG_SCSI_VIRTIO=y +CONFIG_SCSI_CHELSIO_FCOE=m +CONFIG_SCSI_DH=y +CONFIG_SCSI_DH_RDAC=m +CONFIG_SCSI_DH_HP_SW=m +CONFIG_SCSI_DH_EMC=m +CONFIG_SCSI_DH_ALUA=m +CONFIG_ATA=y +CONFIG_SATA_AHCI=y +CONFIG_SATA_AHCI_PLATFORM=y +CONFIG_AHCI_DWC=m +CONFIG_AHCI_SUNXI=y +CONFIG_AHCI_TEGRA=y +CONFIG_SATA_INIC162X=m +CONFIG_SATA_ACARD_AHCI=m +CONFIG_SATA_SIL24=y +CONFIG_PDC_ADMA=m +CONFIG_SATA_QSTOR=m +CONFIG_SATA_SX4=m +CONFIG_ATA_PIIX=y +CONFIG_SATA_MV=m +CONFIG_SATA_NV=m +CONFIG_SATA_PROMISE=m +CONFIG_SATA_SIL=m +CONFIG_SATA_SIS=m +CONFIG_SATA_SVW=m +CONFIG_SATA_ULI=m +CONFIG_SATA_VIA=m +CONFIG_SATA_VITESSE=m +CONFIG_PATA_ALI=m +CONFIG_PATA_AMD=m +CONFIG_PATA_ARTOP=m +CONFIG_PATA_ATIIXP=m +CONFIG_PATA_ATP867X=m +CONFIG_PATA_CMD64X=m +CONFIG_PATA_CYPRESS=m +CONFIG_PATA_EFAR=m +CONFIG_PATA_HPT366=m +CONFIG_PATA_HPT37X=m +CONFIG_PATA_HPT3X2N=m +CONFIG_PATA_HPT3X3=m +CONFIG_PATA_IT8213=m +CONFIG_PATA_IT821X=m +CONFIG_PATA_JMICRON=m +CONFIG_PATA_MARVELL=m +CONFIG_PATA_NETCELL=m +CONFIG_PATA_NINJA32=m +CONFIG_PATA_NS87415=m +CONFIG_PATA_OLDPIIX=m +CONFIG_PATA_OPTIDMA=m +CONFIG_PATA_PDC2027X=m +CONFIG_PATA_PDC_OLD=m +CONFIG_PATA_RDC=m +CONFIG_PATA_SCH=m +CONFIG_PATA_SERVERWORKS=m +CONFIG_PATA_SIL680=m +CONFIG_PATA_TOSHIBA=m +CONFIG_PATA_TRIFLEX=m +CONFIG_PATA_VIA=m +CONFIG_PATA_WINBOND=m +CONFIG_PATA_CMD640_PCI=m +CONFIG_PATA_MPIIX=m +CONFIG_PATA_NS87410=m +CONFIG_PATA_OPTI=m +CONFIG_PATA_OF_PLATFORM=y +CONFIG_ATA_GENERIC=m +CONFIG_MD=y +CONFIG_BLK_DEV_MD=y +CONFIG_MD_LINEAR=m +CONFIG_MD_MULTIPATH=m +CONFIG_MD_FAULTY=m +CONFIG_MD_CLUSTER=m +CONFIG_BCACHE=m +CONFIG_BLK_DEV_DM=y +CONFIG_DM_DEBUG=y +CONFIG_DM_CRYPT=m +CONFIG_DM_SNAPSHOT=y +CONFIG_DM_THIN_PROVISIONING=m +CONFIG_DM_CACHE=m +CONFIG_DM_WRITECACHE=m +CONFIG_DM_ERA=m +CONFIG_DM_CLONE=m +CONFIG_DM_MIRROR=m +CONFIG_DM_LOG_USERSPACE=m +CONFIG_DM_RAID=m +CONFIG_DM_ZERO=m +CONFIG_DM_MULTIPATH=m +CONFIG_DM_MULTIPATH_QL=m +CONFIG_DM_MULTIPATH_ST=m +CONFIG_DM_MULTIPATH_IOA=m +CONFIG_DM_DELAY=m +CONFIG_DM_DUST=m +CONFIG_DM_INIT=y +CONFIG_DM_UEVENT=y +CONFIG_DM_FLAKEY=m +CONFIG_DM_VERITY=m +CONFIG_DM_VERITY_FEC=y +CONFIG_DM_SWITCH=m +CONFIG_DM_LOG_WRITES=m +CONFIG_DM_INTEGRITY=m +CONFIG_DM_ZONED=m +CONFIG_TARGET_CORE=m +CONFIG_TCM_IBLOCK=m +CONFIG_TCM_FILEIO=m +CONFIG_TCM_PSCSI=m +CONFIG_TCM_USER2=m +CONFIG_LOOPBACK_TARGET=m +CONFIG_TCM_FC=m +CONFIG_ISCSI_TARGET=m +CONFIG_FUSION=y +CONFIG_FUSION_SPI=m +CONFIG_FUSION_FC=m +CONFIG_FUSION_SAS=m +CONFIG_FUSION_CTL=m +CONFIG_FUSION_LAN=m +CONFIG_FIREWIRE_NOSY=m +CONFIG_BONDING=m +CONFIG_DUMMY=m +CONFIG_WIREGUARD=m +CONFIG_EQUALIZER=m +CONFIG_NET_FC=y +CONFIG_IFB=m +CONFIG_NET_TEAM=m +CONFIG_NET_TEAM_MODE_BROADCAST=m +CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TEAM_MODE_RANDOM=m +CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m +CONFIG_NET_TEAM_MODE_LOADBALANCE=m +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_IPVLAN=m +CONFIG_IPVTAP=m +CONFIG_VXLAN=m +CONFIG_GENEVE=m +CONFIG_BAREUDP=m +CONFIG_GTP=m +CONFIG_AMT=m +CONFIG_MACSEC=m +CONFIG_NETCONSOLE=y +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_TUN=m +CONFIG_TUN_VNET_CROSS_LE=y +CONFIG_VETH=m +CONFIG_VIRTIO_NET=m +CONFIG_NLMON=m +CONFIG_NET_VRF=m +CONFIG_MHI_NET=m +CONFIG_ATM_DUMMY=m +CONFIG_ATM_TCP=m +CONFIG_ATM_LANAI=m +CONFIG_ATM_ENI=m +CONFIG_ATM_NICSTAR=m +CONFIG_ATM_IDT77252=m +CONFIG_ATM_IA=m +CONFIG_ATM_FORE200E=m +CONFIG_ATM_HE=m +CONFIG_ATM_SOLOS=m +CONFIG_CAIF_DRIVERS=y +CONFIG_CAIF_TTY=m +CONFIG_CAIF_VIRTIO=m +CONFIG_B53_SPI_DRIVER=m +CONFIG_B53_MDIO_DRIVER=m +CONFIG_B53_MMAP_DRIVER=m +CONFIG_B53_SRAB_DRIVER=m +CONFIG_B53_SERDES=m +CONFIG_NET_DSA_BCM_SF2=m +CONFIG_NET_DSA_LOOP=m +CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK=m +CONFIG_NET_DSA_LANTIQ_GSWIP=m +CONFIG_NET_DSA_MT7530=m +CONFIG_NET_DSA_MV88E6060=m +CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON=m +CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C=m +CONFIG_NET_DSA_MICROCHIP_KSZ_SPI=m +CONFIG_NET_DSA_MICROCHIP_KSZ8863_SMI=m +CONFIG_NET_DSA_MV88E6XXX=m +CONFIG_NET_DSA_AR9331=m +CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_SJA1105=m +CONFIG_NET_DSA_XRS700X_I2C=m +CONFIG_NET_DSA_XRS700X_MDIO=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m +CONFIG_NET_DSA_VITESSE_VSC73XX_SPI=m +CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM=m +CONFIG_ET131X=m +CONFIG_SUN4I_EMAC=m +CONFIG_ACENIC=m +CONFIG_ALTERA_TSE=m +CONFIG_AMD8111_ETH=m +CONFIG_PCNET32=m +CONFIG_AMD_XGBE=m +CONFIG_AQTION=m +CONFIG_ATL2=m +CONFIG_ATL1=m +CONFIG_ATL1E=m +CONFIG_ATL1C=m +CONFIG_ALX=m +CONFIG_B44=m +CONFIG_BCMGENET=m +CONFIG_TIGON3=m +CONFIG_BNX2X=m +CONFIG_SYSTEMPORT=m +CONFIG_BNXT=m +CONFIG_MACB=y +CONFIG_THUNDER_NIC_PF=y +CONFIG_CAVIUM_PTP=y +CONFIG_DNET=m +CONFIG_DL2K=m +CONFIG_SUNDANCE=m +CONFIG_HIX5HD2_GMAC=y +CONFIG_HNS_DSAF=y +CONFIG_HNS_ENET=y +CONFIG_HNS3=y +CONFIG_HNS3_HCLGE=y +CONFIG_HNS3_ENET=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=m +CONFIG_IGB=m +CONFIG_IGBVF=m +CONFIG_IXGBE=m +CONFIG_IXGBE_DCB=y +CONFIG_IXGBEVF=m +CONFIG_I40E=m +CONFIG_I40EVF=m +CONFIG_FM10K=m +CONFIG_TXGBE=m +CONFIG_JME=m +CONFIG_ADIN1110=m +CONFIG_LITEX_LITEETH=m +CONFIG_MVMDIO=m +CONFIG_SKGE=m +CONFIG_SKGE_GENESIS=y +CONFIG_SKY2=m +CONFIG_OCTEON_EP=m +CONFIG_MLX4_EN=m +CONFIG_KSZ884X_PCI=m +CONFIG_MYRI10GE=m +CONFIG_FEALNX=m +CONFIG_NATSEMI=m +CONFIG_NS83820=m +CONFIG_NE2K_PCI=m +CONFIG_FORCEDETH=m +CONFIG_ETHOC=m +CONFIG_HAMACHI=m +CONFIG_YELLOWFIN=m +CONFIG_IONIC=m +CONFIG_BNA=m +CONFIG_QCA7000_UART=m +CONFIG_QCOM_EMAC=m +CONFIG_RMNET=m +CONFIG_8139CP=m +CONFIG_8139TOO=m +CONFIG_8139TOO_TUNE_TWISTER=y +CONFIG_8139TOO_8129=y +CONFIG_8139_OLD_RX_RESET=y +CONFIG_R8169=m +CONFIG_ROCKER=m +CONFIG_SFC_SIENA=m +CONFIG_SMC91X=y +CONFIG_SMSC911X=y +CONFIG_STMMAC_ETH=y +CONFIG_DWMAC_SUNXI=m +CONFIG_DWMAC_SUN8I=m +CONFIG_TEHUTI=m +CONFIG_XILINX_EMACLITE=m +CONFIG_XILINX_AXI_EMAC=m +CONFIG_XILINX_LL_TEMAC=m +CONFIG_NET_SB1000=y +CONFIG_LED_TRIGGER_PHY=y +CONFIG_SFP=m +CONFIG_AMD_PHY=m +CONFIG_ADIN_PHY=m +CONFIG_AQUANTIA_PHY=m +CONFIG_BROADCOM_PHY=m +CONFIG_BCM84881_PHY=m +CONFIG_BCM87XX_PHY=m +CONFIG_CICADA_PHY=m +CONFIG_DAVICOM_PHY=m +CONFIG_ICPLUS_PHY=m +CONFIG_LXT_PHY=m +CONFIG_LSI_ET1011C_PHY=m +CONFIG_MARVELL_PHY=m +CONFIG_MARVELL_10G_PHY=m +CONFIG_MARVELL_88X2222_PHY=m +CONFIG_MAXLINEAR_GPHY=m +CONFIG_MICREL_PHY=y +CONFIG_MICROCHIP_T1_PHY=m +CONFIG_MOTORCOMM_PHY=y +CONFIG_NATIONAL_PHY=m +CONFIG_NXP_C45_TJA11XX_PHY=m +CONFIG_AT803X_PHY=m +CONFIG_QSEMI_PHY=m +CONFIG_REALTEK_PHY=y +CONFIG_ROCKCHIP_PHY=y +CONFIG_DP83TC811_PHY=m +CONFIG_DP83848_PHY=m +CONFIG_DP83869_PHY=m +CONFIG_DP83TD510_PHY=m +CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m +CONFIG_CAN_GRCAN=m +CONFIG_CAN_KVASER_PCIEFD=m +CONFIG_CAN_SLCAN=m +CONFIG_CAN_XILINXCAN=m +CONFIG_CAN_C_CAN=m +CONFIG_CAN_C_CAN_PLATFORM=m +CONFIG_CAN_C_CAN_PCI=m +CONFIG_CAN_CC770=m +CONFIG_CAN_CC770_ISA=m +CONFIG_CAN_CC770_PLATFORM=m +CONFIG_CAN_CTUCANFD_PCI=m +CONFIG_CAN_M_CAN=m +CONFIG_CAN_M_CAN_PCI=m +CONFIG_CAN_M_CAN_PLATFORM=m +CONFIG_CAN_M_CAN_TCAN4X5X=m +CONFIG_CAN_PEAK_PCIEFD=m +CONFIG_CAN_SJA1000=m +CONFIG_CAN_EMS_PCI=m +CONFIG_CAN_F81601=m +CONFIG_CAN_KVASER_PCI=m +CONFIG_CAN_PEAK_PCI=m +CONFIG_CAN_PLX_PCI=m +CONFIG_CAN_SJA1000_ISA=m +CONFIG_CAN_SJA1000_PLATFORM=m +CONFIG_CAN_SOFTING=m +CONFIG_CAN_HI311X=m +CONFIG_CAN_MCP251X=m +CONFIG_CAN_8DEV_USB=m +CONFIG_CAN_EMS_USB=m +CONFIG_CAN_ESD_USB=m +CONFIG_CAN_ETAS_ES58X=m +CONFIG_CAN_GS_USB=m +CONFIG_CAN_KVASER_USB=m +CONFIG_CAN_MCBA_USB=m +CONFIG_CAN_PEAK_USB=m +CONFIG_CAN_UCAN=m +CONFIG_MDIO_BITBANG=y +CONFIG_MDIO_GPIO=m +CONFIG_MDIO_MVUSB=m +CONFIG_MDIO_MSCC_MIIM=m +CONFIG_MDIO_IPQ8064=m +CONFIG_MDIO_BUS_MUX_GPIO=m +CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y +CONFIG_MDIO_BUS_MUX_MMIOREG=y +CONFIG_PPP=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOATM=m +CONFIG_PPPOE=m +CONFIG_PPTP=m +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_SLIP=m +CONFIG_SLIP_COMPRESSED=y +CONFIG_SLIP_SMART=y +CONFIG_SLIP_MODE_SLIP6=y +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_RTL8152=m +CONFIG_USB_LAN78XX=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_HUAWEI_CDC_NCM=m +CONFIG_USB_NET_CDC_MBIM=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SR9700=m +CONFIG_USB_NET_SR9800=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_EPSON2888=y +CONFIG_USB_KC2190=y +CONFIG_USB_NET_CX82310_ETH=m +CONFIG_USB_NET_KALMIA=m +CONFIG_USB_NET_QMI_WWAN=m +CONFIG_USB_HSO=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_CDC_PHONET=m +CONFIG_USB_IPHETH=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_VL600=m +CONFIG_USB_NET_CH9200=m +CONFIG_USB_NET_AQC111=m +CONFIG_ADM8211=m +CONFIG_ATH_REG_DYNAMIC_USER_REG_HINTS=y +CONFIG_ATH_REG_DYNAMIC_USER_CERT_TESTING=y +CONFIG_ATH5K=m +CONFIG_ATH5K_DEBUG=y +CONFIG_ATH5K_TEST_CHANNELS=y +CONFIG_ATH9K=m +CONFIG_ATH9K_AHB=y +CONFIG_ATH9K_DFS_CERTIFIED=y +CONFIG_ATH9K_DYNACK=y +CONFIG_ATH9K_WOW=y +CONFIG_ATH9K_CHANNEL_CONTEXT=y +CONFIG_ATH9K_PCI_NO_EEPROM=m +CONFIG_ATH9K_HTC=m +CONFIG_ATH9K_HWRNG=y +CONFIG_CARL9170=m +CONFIG_CARL9170_HWRNG=y +CONFIG_ATH6KL=m +CONFIG_ATH6KL_SDIO=m +CONFIG_ATH6KL_USB=m +CONFIG_ATH6KL_REGDOMAIN=y +CONFIG_AR5523=m +CONFIG_WIL6210=m +CONFIG_ATH10K=m +CONFIG_ATH10K_PCI=m +CONFIG_ATH10K_AHB=y +CONFIG_ATH10K_SDIO=m +CONFIG_ATH10K_USB=m +CONFIG_ATH10K_DFS_CERTIFIED=y +CONFIG_WCN36XX=m +CONFIG_ATH11K=m +CONFIG_ATH11K_AHB=m +CONFIG_ATMEL=m +CONFIG_PCI_ATMEL=m +CONFIG_AT76C50X_USB=m +CONFIG_B43=m +CONFIG_B43_SDIO=y +CONFIG_B43LEGACY=m +CONFIG_BRCMSMAC=m +CONFIG_BRCMFMAC=m +CONFIG_BRCMFMAC_USB=y +CONFIG_BRCMFMAC_PCIE=y +CONFIG_BRCMDBG=y +CONFIG_IPW2100=m +CONFIG_IPW2100_MONITOR=y +CONFIG_IPW2200=m +CONFIG_IPW2200_MONITOR=y +CONFIG_IPW2200_PROMISCUOUS=y +CONFIG_IPW2200_QOS=y +CONFIG_IWL4965=m +CONFIG_IWL3945=m +CONFIG_IWLWIFI=m +CONFIG_IWLDVM=m +CONFIG_IWLMVM=m +CONFIG_HOSTAP=m +CONFIG_HOSTAP_FIRMWARE=y +CONFIG_HOSTAP_FIRMWARE_NVRAM=y +CONFIG_HERMES=m +CONFIG_HERMES_PRISM=y +CONFIG_ORINOCO_USB=m +CONFIG_P54_COMMON=m +CONFIG_P54_USB=m +CONFIG_P54_SPI=m +CONFIG_P54_SPI_DEFAULT_EEPROM=y +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBERTAS_SDIO=m +CONFIG_LIBERTAS_SPI=m +CONFIG_LIBERTAS_MESH=y +CONFIG_LIBERTAS_THINFIRM=m +CONFIG_LIBERTAS_THINFIRM_USB=m +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_PCIE=m +CONFIG_MWIFIEX_USB=m +CONFIG_MWL8K=m +CONFIG_MT7601U=m +CONFIG_MT76x0U=m +CONFIG_MT76x0E=m +CONFIG_MT76x2E=m +CONFIG_MT76x2U=m +CONFIG_MT7603E=m +CONFIG_MT7615E=m +CONFIG_MT7663U=m +CONFIG_MT7663S=m +CONFIG_MT7915E=m +CONFIG_MT7921E=m +CONFIG_MT7921S=m +CONFIG_WILC1000_SDIO=m +CONFIG_WILC1000_SPI=m +CONFIG_PLFXLC=m +CONFIG_RT2X00=m +CONFIG_RT2400PCI=m +CONFIG_RT2500PCI=m +CONFIG_RT61PCI=m +CONFIG_RT2800PCI=m +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT3573=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_RT55XX=y +CONFIG_RT2800USB_UNKNOWN=y +CONFIG_RTL8180=m +CONFIG_RTL8187=m +CONFIG_RTL8192CE=m +CONFIG_RTL8192SE=m +CONFIG_RTL8192DE=m +CONFIG_RTL8723AE=m +CONFIG_RTL8723BE=m +CONFIG_RTL8188EE=m +CONFIG_RTL8192EE=m +CONFIG_RTL8821AE=m +CONFIG_RTL8192CU=m +# CONFIG_RTLWIFI_DEBUG is not set +CONFIG_RTL8XXXU=m +CONFIG_RTL8XXXU_UNTESTED=y +CONFIG_RTW88=m +CONFIG_RTW88_8822BE=m +CONFIG_RTW88_8822CE=m +CONFIG_RTW88_8723DE=m +CONFIG_RTW88_8821CE=m +CONFIG_RTW89=m +CONFIG_RTW89_8852AE=m +CONFIG_RTW89_8852CE=m +CONFIG_RSI_91X=m +# CONFIG_RSI_DEBUGFS is not set +CONFIG_WFX=m +CONFIG_CW1200=m +CONFIG_CW1200_WLAN_SDIO=m +CONFIG_CW1200_WLAN_SPI=m +CONFIG_WL1251=m +CONFIG_WL1251_SPI=m +CONFIG_WL1251_SDIO=m +CONFIG_WL12XX=m +CONFIG_WL18XX=m +CONFIG_WLCORE_SPI=m +CONFIG_WLCORE_SDIO=m +CONFIG_USB_ZD1201=m +CONFIG_ZD1211RW=m +CONFIG_QTNFMAC_PCIE=m +CONFIG_MAC80211_HWSIM=m +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_VIRT_WIFI=m +CONFIG_WAN=y +CONFIG_HDLC=m +CONFIG_HDLC_RAW=m +CONFIG_HDLC_RAW_ETH=m +CONFIG_IEEE802154_FAKELB=m +CONFIG_IEEE802154_AT86RF230=m +CONFIG_IEEE802154_MRF24J40=m +CONFIG_IEEE802154_CC2520=m +CONFIG_IEEE802154_ATUSB=m +CONFIG_IEEE802154_ADF7242=m +CONFIG_IEEE802154_CA8210=m +CONFIG_IEEE802154_MCR20A=m +CONFIG_IEEE802154_HWSIM=m +CONFIG_WWAN=m +CONFIG_WWAN_HWSIM=m +CONFIG_MHI_WWAN_CTRL=m +CONFIG_MHI_WWAN_MBIM=m +CONFIG_MTK_T7XX=m +CONFIG_VMXNET3=m +CONFIG_FUJITSU_ES=m +CONFIG_NETDEVSIM=m +CONFIG_NET_FAILOVER=y +CONFIG_INPUT_SPARSEKMAP=m +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_EVDEV=y +CONFIG_KEYBOARD_ADC=m +CONFIG_KEYBOARD_ADP5520=m +CONFIG_KEYBOARD_QT1050=m +CONFIG_KEYBOARD_GPIO=y +CONFIG_KEYBOARD_GPIO_POLLED=m +CONFIG_KEYBOARD_TEGRA=m +CONFIG_KEYBOARD_PINEPHONE=m +CONFIG_KEYBOARD_SUN4I_LRADC=m +CONFIG_KEYBOARD_IQS62X=m +CONFIG_KEYBOARD_CROS_EC=y +CONFIG_MOUSE_SYNAPTICS_I2C=m +CONFIG_MOUSE_SYNAPTICS_USB=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_JOYSTICK_ANALOG=m +CONFIG_JOYSTICK_A3D=m +CONFIG_JOYSTICK_ADC=m +CONFIG_JOYSTICK_ADI=m +CONFIG_JOYSTICK_COBRA=m +CONFIG_JOYSTICK_GF2K=m +CONFIG_JOYSTICK_GRIP=m +CONFIG_JOYSTICK_GRIP_MP=m +CONFIG_JOYSTICK_GUILLEMOT=m +CONFIG_JOYSTICK_INTERACT=m +CONFIG_JOYSTICK_SIDEWINDER=m +CONFIG_JOYSTICK_TMDC=m +CONFIG_JOYSTICK_IFORCE=m +CONFIG_JOYSTICK_IFORCE_USB=m +CONFIG_JOYSTICK_IFORCE_232=m +CONFIG_JOYSTICK_WARRIOR=m +CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_SPACEORB=m +CONFIG_JOYSTICK_SPACEBALL=m +CONFIG_JOYSTICK_STINGER=m +CONFIG_JOYSTICK_TWIDJOY=m +CONFIG_JOYSTICK_ZHENHUA=m +CONFIG_JOYSTICK_DB9=m +CONFIG_JOYSTICK_GAMECON=m +CONFIG_JOYSTICK_TURBOGRAFX=m +CONFIG_JOYSTICK_AS5011=m +CONFIG_JOYSTICK_JOYDUMP=m +CONFIG_JOYSTICK_XPAD=m +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +CONFIG_JOYSTICK_WALKERA0701=m +CONFIG_JOYSTICK_PSXPAD_SPI=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PXRC=m +CONFIG_JOYSTICK_QWIIC=m +CONFIG_JOYSTICK_FSIA6B=m +CONFIG_JOYSTICK_SENSEHAT=m +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_ADS7846=m +CONFIG_TOUCHSCREEN_AD7877=m +CONFIG_TOUCHSCREEN_AD7879=m +CONFIG_TOUCHSCREEN_AD7879_I2C=m +CONFIG_TOUCHSCREEN_AD7879_SPI=m +CONFIG_TOUCHSCREEN_ADC=m +CONFIG_TOUCHSCREEN_AR1021_I2C=m +CONFIG_TOUCHSCREEN_ATMEL_MXT=m +CONFIG_TOUCHSCREEN_AUO_PIXCIR=m +CONFIG_TOUCHSCREEN_BU21013=m +CONFIG_TOUCHSCREEN_BU21029=m +CONFIG_TOUCHSCREEN_CHIPONE_ICN8318=m +CONFIG_TOUCHSCREEN_CHIPONE_ICN8505=m +CONFIG_TOUCHSCREEN_CY8CTMG110=m +CONFIG_TOUCHSCREEN_CYTTSP_CORE=m +CONFIG_TOUCHSCREEN_CYTTSP_I2C=m +CONFIG_TOUCHSCREEN_CYTTSP_SPI=m +CONFIG_TOUCHSCREEN_CYTTSP4_CORE=m +CONFIG_TOUCHSCREEN_CYTTSP4_I2C=m +CONFIG_TOUCHSCREEN_CYTTSP4_SPI=m +CONFIG_TOUCHSCREEN_DYNAPRO=m +CONFIG_TOUCHSCREEN_HAMPSHIRE=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_EGALAX=m +CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m +CONFIG_TOUCHSCREEN_EXC3000=m +CONFIG_TOUCHSCREEN_FUJITSU=m +CONFIG_TOUCHSCREEN_GOODIX=m +CONFIG_TOUCHSCREEN_HIDEEP=m +CONFIG_TOUCHSCREEN_HYCON_HY46XX=m +CONFIG_TOUCHSCREEN_ILI210X=m +CONFIG_TOUCHSCREEN_ILITEK=m +CONFIG_TOUCHSCREEN_S6SY761=m +CONFIG_TOUCHSCREEN_GUNZE=m +CONFIG_TOUCHSCREEN_EKTF2127=m +CONFIG_TOUCHSCREEN_ELAN=m +CONFIG_TOUCHSCREEN_ELO=m +CONFIG_TOUCHSCREEN_WACOM_W8001=m +CONFIG_TOUCHSCREEN_WACOM_I2C=m +CONFIG_TOUCHSCREEN_MAX11801=m +CONFIG_TOUCHSCREEN_MCS5000=m +CONFIG_TOUCHSCREEN_MMS114=m +CONFIG_TOUCHSCREEN_MELFAS_MIP4=m +CONFIG_TOUCHSCREEN_MSG2638=m +CONFIG_TOUCHSCREEN_MTOUCH=m +CONFIG_TOUCHSCREEN_IMX6UL_TSC=m +CONFIG_TOUCHSCREEN_INEXIO=m +CONFIG_TOUCHSCREEN_PENMOUNT=m +CONFIG_TOUCHSCREEN_EDT_FT5X06=m +CONFIG_TOUCHSCREEN_TOUCHRIGHT=m +CONFIG_TOUCHSCREEN_TOUCHWIN=m +CONFIG_TOUCHSCREEN_PIXCIR=m +CONFIG_TOUCHSCREEN_WDT87XX_I2C=m +CONFIG_TOUCHSCREEN_WM97XX=m +CONFIG_TOUCHSCREEN_USB_COMPOSITE=m +CONFIG_TOUCHSCREEN_TOUCHIT213=m +CONFIG_TOUCHSCREEN_TSC_SERIO=m +CONFIG_TOUCHSCREEN_TSC2004=m +CONFIG_TOUCHSCREEN_TSC2005=m +CONFIG_TOUCHSCREEN_TSC2007=m +CONFIG_TOUCHSCREEN_TSC2007_IIO=y +CONFIG_TOUCHSCREEN_RM_TS=m +CONFIG_TOUCHSCREEN_SILEAD=m +CONFIG_TOUCHSCREEN_SIS_I2C=m +CONFIG_TOUCHSCREEN_ST1232=m +CONFIG_TOUCHSCREEN_STMFTS=m +CONFIG_TOUCHSCREEN_SUN4I=m +CONFIG_TOUCHSCREEN_SURFACE3_SPI=m +CONFIG_TOUCHSCREEN_SX8654=m +CONFIG_TOUCHSCREEN_TPS6507X=m +CONFIG_TOUCHSCREEN_ZET6223=m +CONFIG_TOUCHSCREEN_ZFORCE=m +CONFIG_TOUCHSCREEN_COLIBRI_VF50=m +CONFIG_TOUCHSCREEN_ROHM_BU21023=m +CONFIG_TOUCHSCREEN_IQS5XX=m +CONFIG_TOUCHSCREEN_ZINITIX=m +CONFIG_INPUT_MISC=y +CONFIG_INPUT_ATC260X_ONKEY=m +CONFIG_INPUT_MAX77650_ONKEY=m +CONFIG_INPUT_GPIO_BEEPER=m +CONFIG_INPUT_GPIO_DECODER=m +CONFIG_INPUT_GPIO_VIBRA=m +CONFIG_INPUT_ATI_REMOTE2=m +CONFIG_INPUT_AXP20X_PEK=m +CONFIG_INPUT_UINPUT=m +CONFIG_INPUT_RK805_PWRKEY=y +CONFIG_INPUT_DA7280_HAPTICS=m +CONFIG_INPUT_IBM_PANEL=m +CONFIG_INPUT_IQS626A=m +CONFIG_INPUT_IQS7222=m +CONFIG_INPUT_SOC_BUTTON_ARRAY=m +CONFIG_INPUT_RAVE_SP_PWRBUTTON=m +CONFIG_INPUT_RT5120_PWRKEY=m +CONFIG_RMI4_I2C=m +CONFIG_RMI4_SPI=m +CONFIG_RMI4_SMB=m +CONFIG_RMI4_F34=y +CONFIG_RMI4_F3A=y +CONFIG_RMI4_F55=y +CONFIG_SERIO_PARKBD=m +CONFIG_SERIO_AMBAKMI=y +CONFIG_SERIO_RAW=m +CONFIG_SERIO_ALTERA_PS2=m +CONFIG_SERIO_ARC_PS2=m +CONFIG_SERIO_SUN4I_PS2=m +CONFIG_LEGACY_PTY_COUNT=16 +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_FINTEK=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_PCI=m +CONFIG_SERIAL_8250_NR_UARTS=8 +CONFIG_SERIAL_8250_RUNTIME_UARTS=8 +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_MANY_PORTS=y +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_RSA=y +CONFIG_SERIAL_8250_DW=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SERIAL_AMBA_PL010=y +CONFIG_SERIAL_AMBA_PL010_CONSOLE=y +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_TEGRA=y +CONFIG_SERIAL_TEGRA_TCU=y +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_SIFIVE=m +CONFIG_SERIAL_SCCNXP=y +CONFIG_SERIAL_SCCNXP_CONSOLE=y +CONFIG_SERIAL_SC16IS7XX=m +CONFIG_SERIAL_SC16IS7XX_SPI=y +CONFIG_SERIAL_ALTERA_JTAGUART=m +CONFIG_SERIAL_ALTERA_UART=m +CONFIG_SERIAL_XILINX_PS_UART=y +CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y +CONFIG_SERIAL_ARC=m +CONFIG_SERIAL_RP2=m +CONFIG_SERIAL_FSL_LPUART=m +CONFIG_SERIAL_FSL_LINFLEXUART=m +CONFIG_SERIAL_CONEXANT_DIGICOLOR=m +CONFIG_SERIAL_SPRD=m +CONFIG_SERIAL_LITEUART=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_MOXA_INTELLIO=m +CONFIG_MOXA_SMARTIO=m +CONFIG_N_HDLC=m +CONFIG_N_GSM=m +CONFIG_NOZOMI=m +CONFIG_NULL_TTY=m +CONFIG_RPMSG_TTY=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_TTY_PRINTK=m +CONFIG_VIRTIO_CONSOLE=y +CONFIG_IPMI_HANDLER=m +CONFIG_IPMI_DEVICE_INTERFACE=m +CONFIG_IPMI_SI=m +CONFIG_IPMI_IPMB=m +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=m +CONFIG_TCG_TPM=y +CONFIG_TCG_TIS_I2C=m +CONFIG_TCG_TIS_I2C_INFINEON=y +CONFIG_XILLYUSB=m +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_ARB_GPIO_CHALLENGE=m +CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_GPMUX=m +CONFIG_I2C_MUX_LTC4306=m +CONFIG_I2C_MUX_PCA9541=m +CONFIG_I2C_MUX_PCA954x=m +CONFIG_I2C_MUX_PINCTRL=m +CONFIG_I2C_MUX_REG=m +CONFIG_I2C_DEMUX_PINCTRL=m +CONFIG_I2C_MUX_MLXCPLD=m +CONFIG_I2C_CADENCE=m +CONFIG_I2C_CBUS_GPIO=m +CONFIG_I2C_DESIGNWARE_PLATFORM=y +CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_EMEV2=m +CONFIG_I2C_GPIO=m +CONFIG_I2C_GPIO_FAULT_INJECTOR=y +CONFIG_I2C_HISI=m +CONFIG_I2C_MV64XXX=m +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_RK3X=y +CONFIG_I2C_TEGRA=y +CONFIG_I2C_XILINX=m +CONFIG_I2C_DIOLAN_U2C=m +CONFIG_I2C_CP2615=m +CONFIG_I2C_PARPORT=m +CONFIG_I2C_PCI1XXXX=m +CONFIG_I2C_ROBOTFUZZ_OSIF=m +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_TINY_USB=m +CONFIG_I2C_CROS_EC_TUNNEL=y +CONFIG_I2C_VIRTIO=m +CONFIG_I2C_STUB=m +CONFIG_I2C_SLAVE_EEPROM=m +CONFIG_I2C_SLAVE_TESTUNIT=m +CONFIG_I3C=m +CONFIG_CDNS_I3C_MASTER=m +CONFIG_DW_I3C_MASTER=m +CONFIG_SVC_I3C_MASTER=m +CONFIG_MIPI_I3C_HCI=m +CONFIG_SPI=y +CONFIG_SPI_ALTERA=m +CONFIG_SPI_AXI_SPI_ENGINE=m +CONFIG_SPI_CADENCE=m +CONFIG_SPI_CADENCE_QUADSPI=y +CONFIG_SPI_CADENCE_XSPI=m +CONFIG_SPI_DESIGNWARE=m +CONFIG_SPI_DW_PCI=m +CONFIG_SPI_DW_MMIO=m +CONFIG_SPI_HISI_KUNPENG=m +CONFIG_SPI_HISI_SFC_V3XX=m +CONFIG_SPI_GPIO=m +CONFIG_SPI_LM70_LLP=m +CONFIG_SPI_FSL_SPI=m +CONFIG_SPI_MICROCHIP_CORE=m +CONFIG_SPI_MICROCHIP_CORE_QSPI=m +CONFIG_SPI_OC_TINY=m +CONFIG_SPI_PL022=y +CONFIG_SPI_ROCKCHIP=y +CONFIG_SPI_ROCKCHIP_SFC=m +CONFIG_SPI_SUN4I=m +CONFIG_SPI_SUN6I=m +CONFIG_SPI_MXIC=m +CONFIG_SPI_TEGRA210_QUAD=m +CONFIG_SPI_TEGRA20_SFLASH=y +CONFIG_SPI_TEGRA20_SLINK=m +CONFIG_SPI_MUX=m +CONFIG_SPI_SPIDEV=m +CONFIG_SPI_LOOPBACK_TEST=m +CONFIG_SPI_TLE62X0=m +CONFIG_SPI_SLAVE=y +CONFIG_SPI_SLAVE_TIME=m +CONFIG_SPI_SLAVE_SYSTEM_CONTROL=m +CONFIG_SPMI=y +CONFIG_PPS_CLIENT_LDISC=m +CONFIG_PPS_CLIENT_GPIO=m +CONFIG_DP83640_PHY=m +CONFIG_PTP_1588_CLOCK_INES=m +CONFIG_PTP_1588_CLOCK_KVM=m +CONFIG_PTP_1588_CLOCK_IDT82P33=m +CONFIG_PTP_1588_CLOCK_IDTCM=m +CONFIG_PTP_1588_CLOCK_OCP=m +CONFIG_PINCTRL_AS3722=m +CONFIG_PINCTRL_AXP209=m +CONFIG_PINCTRL_CY8C95X0=m +CONFIG_PINCTRL_MAX77620=y +CONFIG_PINCTRL_RK805=y +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_STMFX=m +CONFIG_PINCTRL_SX150X=y +CONFIG_PINCTRL_SUN5I=y +CONFIG_PINCTRL_SUN6I_A31=y +CONFIG_PINCTRL_SUN6I_A31_R=y +CONFIG_PINCTRL_SUN8I_A23=y +CONFIG_PINCTRL_SUN8I_A33=y +CONFIG_PINCTRL_SUN8I_A83T=y +CONFIG_PINCTRL_SUN8I_A83T_R=y +CONFIG_PINCTRL_SUN8I_A23_R=y +CONFIG_PINCTRL_SUN8I_H3=y +CONFIG_PINCTRL_SUN8I_V3S=y +CONFIG_PINCTRL_SUN9I_A80=y +CONFIG_PINCTRL_SUN9I_A80_R=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_74XX_MMIO=m +CONFIG_GPIO_ALTERA=m +CONFIG_GPIO_CADENCE=m +CONFIG_GPIO_DWAPB=m +CONFIG_GPIO_EXAR=m +CONFIG_GPIO_GRGPIO=m +CONFIG_GPIO_HISI=m +CONFIG_GPIO_HLWD=m +CONFIG_GPIO_LOGICVC=m +CONFIG_GPIO_MB86S7X=m +CONFIG_GPIO_PL061=y +CONFIG_GPIO_SYSCON=y +CONFIG_GPIO_XGENE=y +CONFIG_GPIO_XILINX=y +CONFIG_GPIO_AMD_FCH=m +CONFIG_GPIO_ADNP=m +CONFIG_GPIO_GW_PLD=m +CONFIG_GPIO_MAX7300=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_PCA953X=y +CONFIG_GPIO_PCA953X_IRQ=y +CONFIG_GPIO_PCA9570=m +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_TPIC2810=m +CONFIG_GPIO_ADP5520=m +CONFIG_GPIO_ARIZONA=m +CONFIG_GPIO_BD71815=m +CONFIG_GPIO_BD71828=m +CONFIG_GPIO_BD9571MWV=m +CONFIG_GPIO_MAX77620=y +CONFIG_GPIO_MAX77650=m +CONFIG_GPIO_TQMX86=m +CONFIG_GPIO_PCI_IDIO_16=m +CONFIG_GPIO_PCIE_IDIO_24=m +CONFIG_GPIO_RDC321X=m +CONFIG_GPIO_74X164=m +CONFIG_GPIO_MAX3191X=m +CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MC33880=m +CONFIG_GPIO_PISOSR=m +CONFIG_GPIO_XRA1403=m +CONFIG_GPIO_MOCKUP=m +CONFIG_GPIO_VIRTIO=m +CONFIG_W1_MASTER_MATROX=m +CONFIG_W1_MASTER_DS2490=m +CONFIG_W1_MASTER_DS2482=m +CONFIG_W1_MASTER_GPIO=m +CONFIG_W1_MASTER_SGI=m +CONFIG_W1_SLAVE_THERM=m +CONFIG_W1_SLAVE_SMEM=m +CONFIG_W1_SLAVE_DS2405=m +CONFIG_W1_SLAVE_DS2408=m +CONFIG_W1_SLAVE_DS2413=m +CONFIG_W1_SLAVE_DS2406=m +CONFIG_W1_SLAVE_DS2423=m +CONFIG_W1_SLAVE_DS2805=m +CONFIG_W1_SLAVE_DS2430=m +CONFIG_W1_SLAVE_DS2431=m +CONFIG_W1_SLAVE_DS2433=m +CONFIG_W1_SLAVE_DS2438=m +CONFIG_W1_SLAVE_DS250X=m +CONFIG_W1_SLAVE_DS28E04=m +CONFIG_W1_SLAVE_DS28E17=m +CONFIG_POWER_RESET_ATC260X=m +CONFIG_POWER_RESET_BRCMSTB=y +CONFIG_POWER_RESET_GPIO=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_POWER_RESET_REGULATOR=y +CONFIG_POWER_RESET_RESTART=y +CONFIG_POWER_RESET_VEXPRESS=y +CONFIG_POWER_RESET_XGENE=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +CONFIG_SYSCON_REBOOT_MODE=y +CONFIG_GENERIC_ADC_BATTERY=m +CONFIG_CHARGER_ADP5061=m +CONFIG_BATTERY_CW2015=m +CONFIG_BATTERY_DS2760=m +CONFIG_BATTERY_DS2780=m +CONFIG_BATTERY_DS2781=m +CONFIG_BATTERY_DS2782=m +CONFIG_BATTERY_SBS=m +CONFIG_CHARGER_SBS=m +CONFIG_MANAGER_SBS=m +CONFIG_BATTERY_BQ27XXX=m +CONFIG_CHARGER_AXP20X=m +CONFIG_BATTERY_AXP20X=m +CONFIG_AXP20X_POWER=m +CONFIG_BATTERY_MAX17040=m +CONFIG_BATTERY_MAX17042=m +CONFIG_BATTERY_MAX1721X=m +CONFIG_CHARGER_ISP1704=m +CONFIG_CHARGER_GPIO=m +CONFIG_CHARGER_LT3651=m +CONFIG_CHARGER_LTC4162L=m +CONFIG_CHARGER_DETECTOR_MAX14656=m +CONFIG_CHARGER_MAX77650=m +CONFIG_CHARGER_MT6370=m +CONFIG_CHARGER_RK817=m +CONFIG_CHARGER_SMB347=m +CONFIG_BATTERY_GOLDFISH=m +CONFIG_BATTERY_RT5033=m +CONFIG_CHARGER_CROS_PCHG=m +CONFIG_CHARGER_UCS1002=m +CONFIG_SENSORS_AD7314=m +CONFIG_SENSORS_AD7414=m +CONFIG_SENSORS_AD7418=m +CONFIG_SENSORS_ADM1025=m +CONFIG_SENSORS_ADM1026=m +CONFIG_SENSORS_ADM1029=m +CONFIG_SENSORS_ADM1031=m +CONFIG_SENSORS_ADM1177=m +CONFIG_SENSORS_ADM9240=m +CONFIG_SENSORS_ADT7310=m +CONFIG_SENSORS_ADT7410=m +CONFIG_SENSORS_ADT7411=m +CONFIG_SENSORS_ADT7462=m +CONFIG_SENSORS_ADT7470=m +CONFIG_SENSORS_ADT7475=m +CONFIG_SENSORS_AHT10=m +CONFIG_SENSORS_AQUACOMPUTER_D5NEXT=m +CONFIG_SENSORS_AS370=m +CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_AXI_FAN_CONTROL=m +CONFIG_SENSORS_ARM_SCMI=m +CONFIG_SENSORS_ARM_SCPI=m +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_CORSAIR_PSU=m +CONFIG_SENSORS_DRIVETEMP=m +CONFIG_SENSORS_DS620=m +CONFIG_SENSORS_DS1621=m +CONFIG_SENSORS_I5K_AMB=m +CONFIG_SENSORS_F71805F=m +CONFIG_SENSORS_F71882FG=m +CONFIG_SENSORS_F75375S=m +CONFIG_SENSORS_FTSTEUTATES=m +CONFIG_SENSORS_GL518SM=m +CONFIG_SENSORS_GL520SM=m +CONFIG_SENSORS_G760A=m +CONFIG_SENSORS_G762=m +CONFIG_SENSORS_GPIO_FAN=m +CONFIG_SENSORS_HIH6130=m +CONFIG_SENSORS_IIO_HWMON=m +CONFIG_SENSORS_IT87=m +CONFIG_SENSORS_JC42=m +CONFIG_SENSORS_POWR1220=m +CONFIG_SENSORS_LINEAGE=m +CONFIG_SENSORS_LTC2945=m +CONFIG_SENSORS_LTC2947_I2C=m +CONFIG_SENSORS_LTC2947_SPI=m +CONFIG_SENSORS_LTC2990=m +CONFIG_SENSORS_LTC2992=m +CONFIG_SENSORS_LTC4151=m +CONFIG_SENSORS_LTC4215=m +CONFIG_SENSORS_LTC4222=m +CONFIG_SENSORS_LTC4245=m +CONFIG_SENSORS_LTC4260=m +CONFIG_SENSORS_LTC4261=m +CONFIG_SENSORS_MAX1111=m +CONFIG_SENSORS_MAX127=m +CONFIG_SENSORS_MAX16065=m +CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_MAX1668=m +CONFIG_SENSORS_MAX197=m +CONFIG_SENSORS_MAX31722=m +CONFIG_SENSORS_MAX31730=m +CONFIG_SENSORS_MAX31760=m +CONFIG_SENSORS_MAX6620=m +CONFIG_SENSORS_MAX6621=m +CONFIG_SENSORS_MAX6639=m +CONFIG_SENSORS_MAX6650=m +CONFIG_SENSORS_MAX6697=m +CONFIG_SENSORS_MAX31790=m +CONFIG_SENSORS_MCP3021=m +CONFIG_SENSORS_TC654=m +CONFIG_SENSORS_TPS23861=m +CONFIG_SENSORS_ADCXX=m +CONFIG_SENSORS_LM63=m +CONFIG_SENSORS_LM70=m +CONFIG_SENSORS_LM73=m +CONFIG_SENSORS_LM75=m +CONFIG_SENSORS_LM77=m +CONFIG_SENSORS_LM78=m +CONFIG_SENSORS_LM80=m +CONFIG_SENSORS_LM83=m +CONFIG_SENSORS_LM85=m +CONFIG_SENSORS_LM87=m +CONFIG_SENSORS_LM90=m +CONFIG_SENSORS_LM92=m +CONFIG_SENSORS_LM93=m +CONFIG_SENSORS_LM95234=m +CONFIG_SENSORS_LM95241=m +CONFIG_SENSORS_LM95245=m +CONFIG_SENSORS_PC87360=m +CONFIG_SENSORS_PC87427=m +CONFIG_SENSORS_NTC_THERMISTOR=m +CONFIG_SENSORS_NCT6683=m +CONFIG_SENSORS_NCT6775=m +CONFIG_SENSORS_NCT6775_I2C=m +CONFIG_SENSORS_NCT7802=m +CONFIG_SENSORS_NCT7904=m +CONFIG_SENSORS_NPCM7XX=m +CONFIG_SENSORS_NZXT_KRAKEN2=m +CONFIG_SENSORS_OCC_P8_I2C=m +CONFIG_SENSORS_PCF8591=m +CONFIG_PMBUS=m +CONFIG_SENSORS_ADM1275=m +CONFIG_SENSORS_BEL_PFE=m +CONFIG_SENSORS_BPA_RS600=m +CONFIG_SENSORS_FSP_3Y=m +CONFIG_SENSORS_IBM_CFFPS=m +CONFIG_SENSORS_DPS920AB=m +CONFIG_SENSORS_INSPUR_IPSPS=m +CONFIG_SENSORS_IR35221=m +CONFIG_SENSORS_IR36021=m +CONFIG_SENSORS_IR38064=m +CONFIG_SENSORS_IRPS5401=m +CONFIG_SENSORS_ISL68137=m +CONFIG_SENSORS_LM25066=m +CONFIG_SENSORS_LT7182S=m +CONFIG_SENSORS_LTC2978=m +CONFIG_SENSORS_LTC2978_REGULATOR=y +CONFIG_SENSORS_LTC3815=m +CONFIG_SENSORS_MAX15301=m +CONFIG_SENSORS_MAX16064=m +CONFIG_SENSORS_MAX20730=m +CONFIG_SENSORS_MAX20751=m +CONFIG_SENSORS_MAX31785=m +CONFIG_SENSORS_MAX34440=m +CONFIG_SENSORS_MAX8688=m +CONFIG_SENSORS_MP2888=m +CONFIG_SENSORS_PIM4328=m +CONFIG_SENSORS_PM6764TR=m +CONFIG_SENSORS_PXE1610=m +CONFIG_SENSORS_Q54SJ108A2=m +CONFIG_SENSORS_STPDDC60=m +CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m +CONFIG_SENSORS_UCD9000=m +CONFIG_SENSORS_UCD9200=m +CONFIG_SENSORS_XDPE152=m +CONFIG_SENSORS_XDPE122=m +CONFIG_SENSORS_ZL6100=m +CONFIG_SENSORS_PWM_FAN=m +CONFIG_SENSORS_SBTSI=m +CONFIG_SENSORS_SBRMI=m +CONFIG_SENSORS_SHT15=m +CONFIG_SENSORS_SHT21=m +CONFIG_SENSORS_SHT3x=m +CONFIG_SENSORS_SHT4x=m +CONFIG_SENSORS_SHTC1=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_EMC1403=m +CONFIG_SENSORS_EMC2103=m +CONFIG_SENSORS_EMC2305=m +CONFIG_SENSORS_EMC6W201=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SCH5627=m +CONFIG_SENSORS_SCH5636=m +CONFIG_SENSORS_STTS751=m +CONFIG_SENSORS_ADC128D818=m +CONFIG_SENSORS_ADS7828=m +CONFIG_SENSORS_ADS7871=m +CONFIG_SENSORS_AMC6821=m +CONFIG_SENSORS_INA209=m +CONFIG_SENSORS_INA2XX=m +CONFIG_SENSORS_INA3221=m +CONFIG_SENSORS_TC74=m +CONFIG_SENSORS_THMC50=m +CONFIG_SENSORS_TMP102=m +CONFIG_SENSORS_TMP103=m +CONFIG_SENSORS_TMP108=m +CONFIG_SENSORS_TMP401=m +CONFIG_SENSORS_TMP421=m +CONFIG_SENSORS_TMP513=m +CONFIG_SENSORS_VEXPRESS=m +CONFIG_SENSORS_VIA686A=m +CONFIG_SENSORS_VT1211=m +CONFIG_SENSORS_VT8231=m +CONFIG_SENSORS_W83773G=m +CONFIG_SENSORS_W83781D=m +CONFIG_SENSORS_W83791D=m +CONFIG_SENSORS_W83792D=m +CONFIG_SENSORS_W83793=m +CONFIG_SENSORS_W83795=m +CONFIG_SENSORS_W83L785TS=m +CONFIG_SENSORS_W83L786NG=m +CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83627EHF=m +CONFIG_SENSORS_XGENE=m +CONFIG_SENSORS_ACPI_POWER=m +CONFIG_THERMAL_STATISTICS=y +CONFIG_THERMAL_WRITABLE_TRIPS=y +CONFIG_THERMAL_GOV_FAIR_SHARE=y +CONFIG_THERMAL_GOV_BANG_BANG=y +CONFIG_THERMAL_GOV_USER_SPACE=y +CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y +CONFIG_CPU_THERMAL=y +CONFIG_DEVFREQ_THERMAL=y +CONFIG_THERMAL_EMULATION=y +CONFIG_THERMAL_MMIO=m +CONFIG_MAX77620_THERMAL=m +CONFIG_SUN8I_THERMAL=m +CONFIG_ROCKCHIP_THERMAL=y +CONFIG_TEGRA_BPMP_THERMAL=m +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_SYSFS=y +CONFIG_SOFT_WATCHDOG=m +CONFIG_BD957XMUF_WATCHDOG=m +CONFIG_RAVE_SP_WATCHDOG=m +CONFIG_DW_WATCHDOG=y +CONFIG_RN5T618_WATCHDOG=m +CONFIG_SUNXI_WATCHDOG=m +CONFIG_TEGRA_WATCHDOG=m +CONFIG_HP_WATCHDOG=m +CONFIG_PCIPCWATCHDOG=m +CONFIG_WDTPCI=m +CONFIG_USBPCWATCHDOG=m +CONFIG_SSB_DRIVER_GPIO=y +CONFIG_BCMA_HOST_SOC=y +CONFIG_BCMA_DRIVER_GMAC_CMN=y +CONFIG_BCMA_DRIVER_GPIO=y +CONFIG_BCMA_DEBUG=y +CONFIG_MFD_SUN4I_GPADC=m +CONFIG_MFD_AS3711=y +CONFIG_MFD_AS3722=m +CONFIG_PMIC_ADP5520=y +CONFIG_MFD_AAT2870_CORE=y +CONFIG_MFD_BD9571MWV=y +CONFIG_MFD_AC100=m +CONFIG_MFD_AXP20X_I2C=y +CONFIG_MFD_AXP20X_RSB=m +CONFIG_MFD_HI6421_PMIC=y +CONFIG_MFD_IQS62X=m +CONFIG_MFD_MAX77620=y +CONFIG_MFD_MAX77650=m +CONFIG_MFD_MT6370=m +CONFIG_MFD_OCELOT=m +CONFIG_MFD_NTXEC=m +CONFIG_MFD_SY7636A=m +CONFIG_MFD_RT4831=m +CONFIG_MFD_RT5033=m +CONFIG_MFD_RT5120=m +CONFIG_MFD_RC5T583=y +CONFIG_MFD_RK8XX_I2C=y +CONFIG_MFD_RN5T618=m +CONFIG_MFD_SEC_CORE=y +CONFIG_MFD_SM501=m +CONFIG_MFD_SM501_GPIO=y +CONFIG_MFD_SUN6I_PRCM=y +CONFIG_MFD_LM3533=m +CONFIG_MFD_TQMX86=m +CONFIG_MFD_VX855=m +CONFIG_MFD_ARIZONA_I2C=m +CONFIG_MFD_ARIZONA_SPI=m +CONFIG_MFD_WM5102=y +CONFIG_MFD_ROHM_BD718XX=y +CONFIG_MFD_ROHM_BD71828=m +CONFIG_MFD_ROHM_BD957XMUF=m +CONFIG_MFD_ATC260X_I2C=m +CONFIG_MFD_QCOM_PM8008=m +CONFIG_RAVE_SP_CORE=m +CONFIG_MFD_RSMU_I2C=m +CONFIG_MFD_RSMU_SPI=m +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_88PG86X=m +CONFIG_REGULATOR_AAT2870=m +CONFIG_REGULATOR_ARIZONA_LDO1=m +CONFIG_REGULATOR_ARIZONA_MICSUPP=m +CONFIG_REGULATOR_ARM_SCMI=m +CONFIG_REGULATOR_AS3711=m +CONFIG_REGULATOR_AS3722=m +CONFIG_REGULATOR_ATC260X=m +CONFIG_REGULATOR_AXP20X=m +CONFIG_REGULATOR_BD71815=m +CONFIG_REGULATOR_BD71828=m +CONFIG_REGULATOR_BD718XX=m +CONFIG_REGULATOR_BD9571MWV=m +CONFIG_REGULATOR_BD957XMUF=m +CONFIG_REGULATOR_DA9121=m +CONFIG_REGULATOR_FAN53555=y +CONFIG_REGULATOR_FAN53880=m +CONFIG_REGULATOR_GPIO=y +CONFIG_REGULATOR_HI6421V530=y +CONFIG_REGULATOR_MAX77620=y +CONFIG_REGULATOR_MAX77650=m +CONFIG_REGULATOR_MAX8893=m +CONFIG_REGULATOR_MAX8973=y +CONFIG_REGULATOR_MCP16502=m +CONFIG_REGULATOR_MP5416=m +CONFIG_REGULATOR_MP8859=m +CONFIG_REGULATOR_MP886X=m +CONFIG_REGULATOR_MPQ7920=m +CONFIG_REGULATOR_MT6315=m +CONFIG_REGULATOR_MT6370=m +CONFIG_REGULATOR_PF8X00=m +CONFIG_REGULATOR_PFUZE100=m +CONFIG_REGULATOR_PWM=y +CONFIG_REGULATOR_QCOM_SPMI=y +CONFIG_REGULATOR_RC5T583=m +CONFIG_REGULATOR_RK808=y +CONFIG_REGULATOR_RN5T618=m +CONFIG_REGULATOR_RT4831=m +CONFIG_REGULATOR_RT5033=m +CONFIG_REGULATOR_RT5120=m +CONFIG_REGULATOR_RT5759=m +CONFIG_REGULATOR_RT6160=m +CONFIG_REGULATOR_RT6245=m +CONFIG_REGULATOR_RTQ2134=m +CONFIG_REGULATOR_RTQ6752=m +CONFIG_REGULATOR_S2MPS11=y +CONFIG_REGULATOR_SLG51000=m +CONFIG_REGULATOR_SY8824X=m +CONFIG_REGULATOR_VCTRL=m +CONFIG_REGULATOR_VEXPRESS=m +CONFIG_RC_CORE=m +CONFIG_LIRC=y +CONFIG_RC_DECODERS=y +CONFIG_IR_IMON_DECODER=m +CONFIG_IR_JVC_DECODER=m +CONFIG_IR_MCE_KBD_DECODER=m +CONFIG_IR_NEC_DECODER=m +CONFIG_IR_RC5_DECODER=m +CONFIG_IR_RC6_DECODER=m +CONFIG_IR_RCMM_DECODER=m +CONFIG_IR_SANYO_DECODER=m +CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SONY_DECODER=m +CONFIG_IR_XMP_DECODER=m +CONFIG_RC_DEVICES=y +CONFIG_IR_ENE=m +CONFIG_IR_FINTEK=m +CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m +CONFIG_IR_HIX5HD2=m +CONFIG_IR_IGORPLUGUSB=m +CONFIG_IR_IGUANA=m +CONFIG_IR_IMON=m +CONFIG_IR_IMON_RAW=m +CONFIG_IR_ITE_CIR=m +CONFIG_IR_MCEUSB=m +CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m +CONFIG_IR_REDRAT3=m +CONFIG_IR_SERIAL=m +CONFIG_IR_SERIAL_TRANSMITTER=y +CONFIG_IR_SPI=m +CONFIG_IR_STREAMZAP=m +CONFIG_IR_SUNXI=m +CONFIG_IR_TOY=m +CONFIG_IR_TTUSBIR=m +CONFIG_RC_ATI_REMOTE=m +CONFIG_RC_LOOPBACK=m +CONFIG_RC_XBOX_DVD=m +CONFIG_CEC_PIN_ERROR_INJ=y +CONFIG_CEC_CH7322=m +CONFIG_CEC_CROS_EC=m +CONFIG_CEC_GPIO=m +CONFIG_CEC_TEGRA=m +CONFIG_USB_PULSE8_CEC=m +CONFIG_USB_RAINSHADOW_CEC=m +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y +CONFIG_VIDEO_FIXED_MINOR_RANGES=y +CONFIG_DVB_MAX_ADAPTERS=8 +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_GSPCA=m +CONFIG_USB_GSPCA_BENQ=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_CPIA1=m +CONFIG_USB_GSPCA_DTCS033=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_JL2005BCD=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_NW80X=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_OV534_9=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m +CONFIG_USB_GSPCA_SN9C2028=m +CONFIG_USB_GSPCA_SN9C20X=m +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=m +CONFIG_USB_GSPCA_SPCA1528=m +CONFIG_USB_GSPCA_SPCA500=m +CONFIG_USB_GSPCA_SPCA501=m +CONFIG_USB_GSPCA_SPCA505=m +CONFIG_USB_GSPCA_SPCA506=m +CONFIG_USB_GSPCA_SPCA508=m +CONFIG_USB_GSPCA_SPCA561=m +CONFIG_USB_GSPCA_SQ905=m +CONFIG_USB_GSPCA_SQ905C=m +CONFIG_USB_GSPCA_SQ930X=m +CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STK1135=m +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m +CONFIG_USB_GSPCA_TOUPTEK=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_VICAM=m +CONFIG_USB_GSPCA_XIRLINK_CIT=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_USB_GL860=m +CONFIG_USB_M5602=m +CONFIG_USB_STV06XX=m +CONFIG_USB_PWC=m +CONFIG_USB_S2255=m +CONFIG_VIDEO_USBTV=m +CONFIG_USB_VIDEO_CLASS=m +CONFIG_VIDEO_GO7007=m +CONFIG_VIDEO_GO7007_USB=m +CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m +CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_PVRUSB2=m +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_AU0828_RC=y +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_DVB_AS102=m +CONFIG_DVB_B2C2_FLEXCOP_USB=m +CONFIG_DVB_USB_V2=m +CONFIG_DVB_USB_AF9015=m +CONFIG_DVB_USB_AF9035=m +CONFIG_DVB_USB_ANYSEE=m +CONFIG_DVB_USB_AU6610=m +CONFIG_DVB_USB_AZ6007=m +CONFIG_DVB_USB_CE6230=m +CONFIG_DVB_USB_DVBSKY=m +CONFIG_DVB_USB_EC168=m +CONFIG_DVB_USB_GL861=m +CONFIG_DVB_USB_LME2510=m +CONFIG_DVB_USB_MXL111SF=m +CONFIG_DVB_USB_RTL28XXU=m +CONFIG_DVB_USB_ZD1301=m +CONFIG_DVB_USB=m +CONFIG_DVB_USB_A800=m +CONFIG_DVB_USB_AF9005=m +CONFIG_DVB_USB_AF9005_REMOTE=m +CONFIG_DVB_USB_AZ6027=m +CONFIG_DVB_USB_CINERGY_T2=m +CONFIG_DVB_USB_CXUSB=m +CONFIG_DVB_USB_DIB0700=m +CONFIG_DVB_USB_DIBUSB_MB=m +CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y +CONFIG_DVB_USB_DIBUSB_MC=m +CONFIG_DVB_USB_DIGITV=m +CONFIG_DVB_USB_DTT200U=m +CONFIG_DVB_USB_DTV5100=m +CONFIG_DVB_USB_DW2102=m +CONFIG_DVB_USB_GP8PSK=m +CONFIG_DVB_USB_M920X=m +CONFIG_DVB_USB_NOVA_T_USB2=m +CONFIG_DVB_USB_OPERA1=m +CONFIG_DVB_USB_PCTV452E=m +CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_TTUSB2=m +CONFIG_DVB_USB_UMT_010=m +CONFIG_DVB_USB_VP702X=m +CONFIG_DVB_USB_VP7045=m +CONFIG_SMS_USB_DRV=m +CONFIG_DVB_TTUSB_BUDGET=m +CONFIG_DVB_TTUSB_DEC=m +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_V4L2=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=m +CONFIG_MEDIA_PCI_SUPPORT=y +CONFIG_VIDEO_SOLO6X10=m +CONFIG_VIDEO_TW68=m +CONFIG_VIDEO_DT3155=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_IVTV_ALSA=m +CONFIG_VIDEO_FB_IVTV=m +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m +CONFIG_VIDEO_CX23885=m +CONFIG_MEDIA_ALTERA_CI=m +CONFIG_VIDEO_CX25821=m +CONFIG_VIDEO_CX25821_ALSA=m +CONFIG_VIDEO_CX88=m +CONFIG_VIDEO_CX88_ALSA=m +CONFIG_VIDEO_CX88_BLACKBIRD=m +CONFIG_VIDEO_CX88_DVB=m +CONFIG_VIDEO_SAA7134=m +CONFIG_VIDEO_SAA7134_ALSA=m +CONFIG_VIDEO_SAA7134_DVB=m +CONFIG_VIDEO_SAA7134_GO7007=m +CONFIG_VIDEO_SAA7164=m +CONFIG_DVB_B2C2_FLEXCOP_PCI=m +CONFIG_DVB_DDBRIDGE=m +CONFIG_DVB_DM1105=m +CONFIG_MANTIS_CORE=m +CONFIG_DVB_MANTIS=m +CONFIG_DVB_HOPPER=m +CONFIG_DVB_NGENE=m +CONFIG_DVB_PLUTO2=m +CONFIG_DVB_PT1=m +CONFIG_DVB_PT3=m +CONFIG_DVB_SMIPCIE=m +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m +CONFIG_VIDEO_ROCKCHIP_RGA=m +CONFIG_VIDEO_ROCKCHIP_ISP1=m +CONFIG_VIDEO_SUN6I_CSI=m +CONFIG_VIDEO_SUN6I_MIPI_CSI2=m +CONFIG_VIDEO_SUN8I_A83T_MIPI_CSI2=m +CONFIG_VIDEO_HANTRO=m +CONFIG_SMS_SDIO_DRV=m +CONFIG_VIDEO_AR0521=m +CONFIG_VIDEO_OV5640=m +CONFIG_VIDEO_OV9734=m +CONFIG_VIDEO_TDA1997X=m +CONFIG_VIDEO_TDA9840=m +CONFIG_VIDEO_TEA6415C=m +CONFIG_VIDEO_TEA6420=m +CONFIG_VIDEO_TLV320AIC23B=m +CONFIG_VIDEO_ADV7180=m +CONFIG_VIDEO_ADV7183=m +CONFIG_VIDEO_ADV748X=m +CONFIG_VIDEO_ADV7604=m +CONFIG_VIDEO_ADV7604_CEC=y +CONFIG_VIDEO_ADV7842=m +CONFIG_VIDEO_ADV7842_CEC=y +CONFIG_VIDEO_BT819=m +CONFIG_VIDEO_BT856=m +CONFIG_VIDEO_BT866=m +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_ML86V7667=m +CONFIG_VIDEO_SAA7110=m +CONFIG_VIDEO_TC358743=m +CONFIG_VIDEO_TC358743_CEC=y +CONFIG_VIDEO_TVP514X=m +CONFIG_VIDEO_TVP7002=m +CONFIG_VIDEO_TW9910=m +CONFIG_VIDEO_VPX3220=m +CONFIG_VIDEO_ADV7170=m +CONFIG_VIDEO_ADV7175=m +CONFIG_VIDEO_ADV7343=m +CONFIG_VIDEO_ADV7393=m +CONFIG_VIDEO_AK881X=m +CONFIG_VIDEO_SAA7185=m +CONFIG_VIDEO_THS8200=m +CONFIG_VIDEO_I2C=m +CONFIG_VIDEO_ST_MIPID02=m +CONFIG_VIDEO_THS7303=m +CONFIG_DVB_TDA8261=m +CONFIG_DVB_TUA6100=m +CONFIG_DVB_VES1X93=m +CONFIG_DVB_DIB9000=m +CONFIG_DVB_L64781=m +CONFIG_DVB_S5H1432=m +CONFIG_DVB_CXD2880=m +CONFIG_DVB_MN88443X=m +CONFIG_DVB_ASCOT2E=m +CONFIG_DVB_HELENE=m +CONFIG_DVB_HORUS3A=m +CONFIG_DVB_LGS8GL5=m +CONFIG_DVB_LNBH29=m +CONFIG_DRM=m +CONFIG_DRM_LOAD_EDID_FIRMWARE=y +CONFIG_DRM_DP_CEC=y +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_SIL164=m +CONFIG_DRM_I2C_NXP_TDA998X=m +CONFIG_DRM_I2C_NXP_TDA9950=m +CONFIG_DRM_HDLCD=m +CONFIG_DRM_HDLCD_SHOW_UNDERRUN=y +CONFIG_DRM_KOMEDA=m +CONFIG_DRM_VGEM=m +CONFIG_DRM_ROCKCHIP=m +CONFIG_ROCKCHIP_VOP2=y +CONFIG_ROCKCHIP_ANALOGIX_DP=y +CONFIG_ROCKCHIP_CDN_DP=y +CONFIG_ROCKCHIP_DW_HDMI=y +CONFIG_ROCKCHIP_DW_MIPI_DSI=y +CONFIG_ROCKCHIP_INNO_HDMI=y +CONFIG_ROCKCHIP_LVDS=y +CONFIG_ROCKCHIP_RGB=y +CONFIG_ROCKCHIP_RK3066_HDMI=y +CONFIG_DRM_VMWGFX=m +CONFIG_DRM_UDL=m +CONFIG_DRM_AST=m +CONFIG_DRM_MGAG200=m +CONFIG_DRM_SUN4I=m +CONFIG_DRM_QXL=m +CONFIG_DRM_VIRTIO_GPU=m +CONFIG_DRM_TEGRA=m +CONFIG_DRM_TEGRA_STAGING=y +CONFIG_DRM_PANEL_ABT_Y030XX067A=m +CONFIG_DRM_PANEL_ARM_VERSATILE=m +CONFIG_DRM_PANEL_BOE_HIMAX8279D=m +CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m +CONFIG_DRM_PANEL_DSI_CM=m +CONFIG_DRM_PANEL_LVDS=m +CONFIG_DRM_PANEL_SIMPLE=m +CONFIG_DRM_PANEL_EDP=m +CONFIG_DRM_PANEL_EBBG_FT8719=m +CONFIG_DRM_PANEL_ELIDA_KD35T133=m +CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m +CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m +CONFIG_DRM_PANEL_ILITEK_IL9322=m +CONFIG_DRM_PANEL_ILITEK_ILI9341=m +CONFIG_DRM_PANEL_ILITEK_ILI9881C=m +CONFIG_DRM_PANEL_INNOLUX_EJ030NA=m +CONFIG_DRM_PANEL_INNOLUX_P079ZCA=m +CONFIG_DRM_PANEL_JDI_LT070ME05000=m +CONFIG_DRM_PANEL_KHADAS_TS050=m +CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829=m +CONFIG_DRM_PANEL_LG_LB035Q02=m +CONFIG_DRM_PANEL_NEC_NL8048HL11=m +CONFIG_DRM_PANEL_NEWVISION_NV3052C=m +CONFIG_DRM_PANEL_NOVATEK_NT35510=m +CONFIG_DRM_PANEL_NOVATEK_NT36672A=m +CONFIG_DRM_PANEL_NOVATEK_NT39016=m +CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m +CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m +CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m +CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m +CONFIG_DRM_PANEL_RAYDIUM_RM67191=m +CONFIG_DRM_PANEL_RAYDIUM_RM68200=m +CONFIG_DRM_PANEL_RONBO_RB070D30=m +CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20=m +CONFIG_DRM_PANEL_SAMSUNG_DB7430=m +CONFIG_DRM_PANEL_SAMSUNG_S6D16D0=m +CONFIG_DRM_PANEL_SAMSUNG_S6D27A1=m +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m +CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m +CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m +CONFIG_DRM_PANEL_SAMSUNG_SOFEF00=m +CONFIG_DRM_PANEL_SEIKO_43WVF1G=m +CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m +CONFIG_DRM_PANEL_SHARP_LS037V7DW01=m +CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m +CONFIG_DRM_PANEL_SHARP_LS060T1SX01=m +CONFIG_DRM_PANEL_SITRONIX_ST7701=m +CONFIG_DRM_PANEL_SONY_ACX565AKM=m +CONFIG_DRM_PANEL_TDO_TL070WSH30=m +CONFIG_DRM_PANEL_TPO_TD028TTEC1=m +CONFIG_DRM_PANEL_TPO_TD043MTEA1=m +CONFIG_DRM_PANEL_TPO_TPG110=m +CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m +CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m +CONFIG_DRM_PANEL_XINPENG_XPP055C272=m +CONFIG_DRM_CDNS_DSI=m +CONFIG_DRM_CHIPONE_ICN6211=m +CONFIG_DRM_CROS_EC_ANX7688=m +CONFIG_DRM_DISPLAY_CONNECTOR=m +CONFIG_DRM_LONTIUM_LT8912B=m +CONFIG_DRM_LONTIUM_LT9211=m +CONFIG_DRM_LONTIUM_LT9611UXC=m +CONFIG_DRM_ITE_IT66121=m +CONFIG_DRM_LVDS_CODEC=m +CONFIG_DRM_PARADE_PS8640=m +CONFIG_DRM_SII9234=m +CONFIG_DRM_SIMPLE_BRIDGE=m +CONFIG_DRM_THINE_THC63LVD1024=m +CONFIG_DRM_TOSHIBA_TC358764=m +CONFIG_DRM_TOSHIBA_TC358768=m +CONFIG_DRM_TI_DLPC3433=m +CONFIG_DRM_TI_SN65DSI83=m +CONFIG_DRM_TI_TPD12S015=m +CONFIG_DRM_ANALOGIX_ANX6345=m +CONFIG_DRM_ANALOGIX_ANX78XX=m +CONFIG_DRM_I2C_ADV7511=m +CONFIG_DRM_I2C_ADV7511_AUDIO=y +CONFIG_DRM_DW_HDMI_AHB_AUDIO=m +CONFIG_DRM_DW_HDMI_GP_AUDIO=m +CONFIG_DRM_DW_HDMI_CEC=m +CONFIG_DRM_ETNAVIV=m +CONFIG_DRM_HISI_HIBMC=m +CONFIG_DRM_HISI_KIRIN=m +CONFIG_DRM_LOGICVC=m +CONFIG_DRM_BOCHS=m +CONFIG_DRM_GM12U320=m +CONFIG_DRM_SIMPLEDRM=m +CONFIG_TINYDRM_HX8357D=m +CONFIG_TINYDRM_ILI9225=m +CONFIG_TINYDRM_ILI9341=m +CONFIG_TINYDRM_ILI9486=m +CONFIG_TINYDRM_MI0283QT=m +CONFIG_TINYDRM_REPAPER=m +CONFIG_TINYDRM_ST7586=m +CONFIG_TINYDRM_ST7735R=m +CONFIG_DRM_LIMA=m +CONFIG_DRM_PANFROST=m +CONFIG_DRM_TIDSS=m +CONFIG_DRM_GUD=m +CONFIG_DRM_LEGACY=y +CONFIG_FB=y +CONFIG_FIRMWARE_EDID=y +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_ARMCLCD=y +CONFIG_FB_UVESA=m +CONFIG_FB_EFI=y +CONFIG_FB_UDL=m +CONFIG_FB_VIRTUAL=m +CONFIG_FB_SIMPLE=m +CONFIG_FB_SSD1307=m +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LCD_PLATFORM=m +CONFIG_LCD_OTM3225A=m +CONFIG_BACKLIGHT_LM3533=m +CONFIG_BACKLIGHT_PWM=m +CONFIG_BACKLIGHT_MT6370=m +CONFIG_BACKLIGHT_QCOM_WLED=m +CONFIG_BACKLIGHT_RT4831=m +CONFIG_BACKLIGHT_ADP5520=m +CONFIG_BACKLIGHT_AAT2870=m +CONFIG_BACKLIGHT_LP855X=y +CONFIG_BACKLIGHT_AS3711=m +CONFIG_BACKLIGHT_GPIO=m +CONFIG_BACKLIGHT_RAVE_SP=m +CONFIG_BACKLIGHT_LED=m +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_LOGO=y +CONFIG_SOUND=m +CONFIG_SND=m +CONFIG_SND_SEQUENCER=m +CONFIG_SND_SEQ_DUMMY=m +CONFIG_SND_DUMMY=m +CONFIG_SND_ALOOP=m +CONFIG_SND_VIRMIDI=m +CONFIG_SND_MTPAV=m +CONFIG_SND_MTS64=m +CONFIG_SND_SERIAL_U16550=m +CONFIG_SND_SERIAL_GENERIC=m +CONFIG_SND_MPU401=m +CONFIG_SND_PORTMAN2X4=m +CONFIG_SND_AC97_POWER_SAVE=y +CONFIG_SND_AD1889=m +CONFIG_SND_ALS300=m +CONFIG_SND_ALI5451=m +CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m +CONFIG_SND_AU8810=m +CONFIG_SND_AU8820=m +CONFIG_SND_AU8830=m +CONFIG_SND_AW2=m +CONFIG_SND_AZT3328=m +CONFIG_SND_BT87X=m +CONFIG_SND_BT87X_OVERCLOCK=y +CONFIG_SND_CA0106=m +CONFIG_SND_CMIPCI=m +CONFIG_SND_OXYGEN=m +CONFIG_SND_CS4281=m +CONFIG_SND_CS46XX=m +CONFIG_SND_CTXFI=m +CONFIG_SND_DARLA20=m +CONFIG_SND_GINA20=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_DARLA24=m +CONFIG_SND_GINA24=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_MONA=m +CONFIG_SND_MIA=m +CONFIG_SND_ECHO3G=m +CONFIG_SND_INDIGO=m +CONFIG_SND_INDIGOIO=m +CONFIG_SND_INDIGODJ=m +CONFIG_SND_INDIGOIOX=m +CONFIG_SND_INDIGODJX=m +CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1X=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +CONFIG_SND_ES1938=m +CONFIG_SND_FM801=m +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +CONFIG_SND_ICE1712=m +CONFIG_SND_ICE1724=m +CONFIG_SND_INTEL8X0=m +CONFIG_SND_INTEL8X0M=m +CONFIG_SND_KORG1212=m +CONFIG_SND_LOLA=m +CONFIG_SND_LX6464ES=m +CONFIG_SND_MAESTRO3=m +CONFIG_SND_MAESTRO3_INPUT=y +CONFIG_SND_MIXART=m +CONFIG_SND_NM256=m +CONFIG_SND_PCXHR=m +CONFIG_SND_RIPTIDE=m +CONFIG_SND_RME32=m +CONFIG_SND_RME96=m +CONFIG_SND_RME9652=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_TRIDENT=m +CONFIG_SND_VIA82XX=m +CONFIG_SND_VIA82XX_MODEM=m +CONFIG_SND_VIRTUOSO=m +CONFIG_SND_VX222=m +CONFIG_SND_YMFPCI=m +CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_TEGRA=m +CONFIG_SND_HDA_HWDEP=y +CONFIG_SND_HDA_INPUT_BEEP=y +CONFIG_SND_HDA_PATCH_LOADER=y +CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m +CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m +CONFIG_SND_HDA_CODEC_REALTEK=m +CONFIG_SND_HDA_CODEC_ANALOG=m +CONFIG_SND_HDA_CODEC_SIGMATEL=m +CONFIG_SND_HDA_CODEC_VIA=m +CONFIG_SND_HDA_CODEC_HDMI=m +CONFIG_SND_HDA_CODEC_CIRRUS=m +CONFIG_SND_HDA_CODEC_CS8409=m +CONFIG_SND_HDA_CODEC_CONEXANT=m +CONFIG_SND_HDA_CODEC_CA0110=m +CONFIG_SND_HDA_CODEC_CA0132=m +CONFIG_SND_HDA_CODEC_CMEDIA=m +CONFIG_SND_HDA_CODEC_SI3054=m +CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM=y +CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_UA101=m +CONFIG_SND_USB_CAIAQ=m +CONFIG_SND_USB_CAIAQ_INPUT=y +CONFIG_SND_USB_6FIRE=m +CONFIG_SND_USB_HIFACE=m +CONFIG_SND_BCD2000=m +CONFIG_SND_USB_POD=m +CONFIG_SND_USB_PODHD=m +CONFIG_SND_USB_TONEPORT=m +CONFIG_SND_USB_VARIAX=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_ADI=m +CONFIG_SND_SOC_ADI_AXI_I2S=m +CONFIG_SND_SOC_ADI_AXI_SPDIF=m +CONFIG_SND_SOC_AMD_ACP=m +CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m +CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m +CONFIG_SND_SOC_AMD_ST_ES8336_MACH=m +CONFIG_SND_ATMEL_SOC=m +CONFIG_SND_SOC_MIKROE_PROTO=m +CONFIG_SND_BCM63XX_I2S_WHISTLER=m +CONFIG_SND_DESIGNWARE_I2S=m +CONFIG_SND_DESIGNWARE_PCM=y +CONFIG_SND_SOC_FSL_ASRC=m +CONFIG_SND_SOC_FSL_SAI=m +CONFIG_SND_SOC_FSL_MQS=m +CONFIG_SND_SOC_FSL_AUDMIX=m +CONFIG_SND_SOC_FSL_SSI=m +CONFIG_SND_SOC_FSL_SPDIF=m +CONFIG_SND_SOC_FSL_ESAI=m +CONFIG_SND_SOC_FSL_MICFIL=m +CONFIG_SND_SOC_FSL_XCVR=m +CONFIG_SND_SOC_FSL_RPMSG=m +CONFIG_SND_SOC_IMX_AUDMUX=m +CONFIG_SND_I2S_HI6210_I2S=m +CONFIG_SND_SOC_IMG=y +CONFIG_SND_SOC_IMG_I2S_IN=m +CONFIG_SND_SOC_IMG_I2S_OUT=m +CONFIG_SND_SOC_IMG_PARALLEL_OUT=m +CONFIG_SND_SOC_IMG_SPDIF_IN=m +CONFIG_SND_SOC_IMG_SPDIF_OUT=m +CONFIG_SND_SOC_IMG_PISTACHIO_INTERNAL_DAC=m +CONFIG_SND_SOC_MTK_BTCVSD=m +CONFIG_SND_SOC_ROCKCHIP=m +CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=m +CONFIG_SND_SOC_ROCKCHIP_PDM=m +CONFIG_SND_SOC_ROCKCHIP_SPDIF=m +CONFIG_SND_SOC_ROCKCHIP_MAX98090=m +CONFIG_SND_SOC_ROCKCHIP_RT5645=m +CONFIG_SND_SOC_RK3288_HDMI_ANALOG=m +CONFIG_SND_SOC_RK3399_GRU_SOUND=m +CONFIG_SND_SOC_SOF_TOPLEVEL=y +CONFIG_SND_SOC_SOF_PCI=m +CONFIG_SND_SOC_SOF_ACPI=m +CONFIG_SND_SOC_SOF_OF=m +CONFIG_SND_SOC_SOF_IMX_TOPLEVEL=y +CONFIG_SND_SUN4I_CODEC=m +CONFIG_SND_SUN8I_CODEC=m +CONFIG_SND_SUN8I_CODEC_ANALOG=m +CONFIG_SND_SUN50I_CODEC_ANALOG=m +CONFIG_SND_SUN4I_I2S=m +CONFIG_SND_SUN4I_SPDIF=m +CONFIG_SND_SUN50I_DMIC=m +CONFIG_SND_SOC_TEGRA=m +CONFIG_SND_SOC_TEGRA210_AHUB=m +CONFIG_SND_SOC_TEGRA210_DMIC=m +CONFIG_SND_SOC_TEGRA210_I2S=m +CONFIG_SND_SOC_TEGRA210_OPE=m +CONFIG_SND_SOC_TEGRA186_ASRC=m +CONFIG_SND_SOC_TEGRA210_ADMAIF=m +CONFIG_SND_SOC_TEGRA210_MVC=m +CONFIG_SND_SOC_TEGRA210_SFC=m +CONFIG_SND_SOC_TEGRA210_AMX=m +CONFIG_SND_SOC_TEGRA210_ADX=m +CONFIG_SND_SOC_TEGRA210_MIXER=m +CONFIG_SND_SOC_TEGRA_AUDIO_GRAPH_CARD=m +CONFIG_SND_SOC_TEGRA_RT5640=m +CONFIG_SND_SOC_TEGRA_WM8753=m +CONFIG_SND_SOC_TEGRA_WM8903=m +CONFIG_SND_SOC_TEGRA_WM9712=m +CONFIG_SND_SOC_TEGRA_TRIMSLICE=m +CONFIG_SND_SOC_TEGRA_ALC5632=m +CONFIG_SND_SOC_TEGRA_MAX98090=m +CONFIG_SND_SOC_TEGRA_RT5677=m +CONFIG_SND_SOC_TEGRA_SGTL5000=m +CONFIG_SND_SOC_XILINX_I2S=m +CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER=m +CONFIG_SND_SOC_XILINX_SPDIF=m +CONFIG_SND_SOC_XTFPGA_I2S=m +CONFIG_SND_SOC_AC97_CODEC=m +CONFIG_SND_SOC_ADAU1372_I2C=m +CONFIG_SND_SOC_ADAU1372_SPI=m +CONFIG_SND_SOC_ADAU1701=m +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m +CONFIG_SND_SOC_ADAU7118_HW=m +CONFIG_SND_SOC_ADAU7118_I2C=m +CONFIG_SND_SOC_AK4104=m +CONFIG_SND_SOC_AK4118=m +CONFIG_SND_SOC_AK4375=m +CONFIG_SND_SOC_AK4458=m +CONFIG_SND_SOC_AK4554=m +CONFIG_SND_SOC_AK4613=m +CONFIG_SND_SOC_AK4642=m +CONFIG_SND_SOC_AK5386=m +CONFIG_SND_SOC_AK5558=m +CONFIG_SND_SOC_ALC5623=m +CONFIG_SND_SOC_BD28623=m +CONFIG_SND_SOC_BT_SCO=m +CONFIG_SND_SOC_CROS_EC_CODEC=m +CONFIG_SND_SOC_CS35L32=m +CONFIG_SND_SOC_CS35L33=m +CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m +CONFIG_SND_SOC_CS35L36=m +CONFIG_SND_SOC_CS35L41_SPI=m +CONFIG_SND_SOC_CS35L41_I2C=m +CONFIG_SND_SOC_CS35L45_SPI=m +CONFIG_SND_SOC_CS35L45_I2C=m +CONFIG_SND_SOC_CS42L42=m +CONFIG_SND_SOC_CS42L51_I2C=m +CONFIG_SND_SOC_CS42L52=m +CONFIG_SND_SOC_CS42L56=m +CONFIG_SND_SOC_CS42L73=m +CONFIG_SND_SOC_CS42L83=m +CONFIG_SND_SOC_CS4234=m +CONFIG_SND_SOC_CS4265=m +CONFIG_SND_SOC_CS4270=m +CONFIG_SND_SOC_CS4271_I2C=m +CONFIG_SND_SOC_CS4271_SPI=m +CONFIG_SND_SOC_CS42XX8_I2C=m +CONFIG_SND_SOC_CS43130=m +CONFIG_SND_SOC_CS4341=m +CONFIG_SND_SOC_CS4349=m +CONFIG_SND_SOC_CS53L30=m +CONFIG_SND_SOC_CX2072X=m +CONFIG_SND_SOC_DA7213=m +CONFIG_SND_SOC_ES7134=m +CONFIG_SND_SOC_ES7241=m +CONFIG_SND_SOC_ES8326=m +CONFIG_SND_SOC_GTM601=m +CONFIG_SND_SOC_HDA=m +CONFIG_SND_SOC_ICS43432=m +CONFIG_SND_SOC_INNO_RK3036=m +CONFIG_SND_SOC_MAX98088=m +CONFIG_SND_SOC_MAX98504=m +CONFIG_SND_SOC_MAX9867=m +CONFIG_SND_SOC_MAX98927=m +CONFIG_SND_SOC_MAX98520=m +CONFIG_SND_SOC_MAX98373_I2C=m +CONFIG_SND_SOC_MAX98390=m +CONFIG_SND_SOC_MAX98396=m +CONFIG_SND_SOC_MAX9860=m +CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m +CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m +CONFIG_SND_SOC_PCM1681=m +CONFIG_SND_SOC_PCM1789_I2C=m +CONFIG_SND_SOC_PCM179X_I2C=m +CONFIG_SND_SOC_PCM179X_SPI=m +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m +CONFIG_SND_SOC_PCM3060_I2C=m +CONFIG_SND_SOC_PCM3060_SPI=m +CONFIG_SND_SOC_PCM3168A_I2C=m +CONFIG_SND_SOC_PCM3168A_SPI=m +CONFIG_SND_SOC_PCM5102A=m +CONFIG_SND_SOC_PCM512x_I2C=m +CONFIG_SND_SOC_PCM512x_SPI=m +CONFIG_SND_SOC_RK3328=m +CONFIG_SND_SOC_RK817=m +CONFIG_SND_SOC_RT5616=m +CONFIG_SND_SOC_RT5631=m +CONFIG_SND_SOC_RT5659=m +CONFIG_SND_SOC_RT9120=m +CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m +CONFIG_SND_SOC_SIMPLE_MUX=m +CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SRC4XXX_I2C=m +CONFIG_SND_SOC_SSM2305=m +CONFIG_SND_SOC_SSM2518=m +CONFIG_SND_SOC_SSM2602_SPI=m +CONFIG_SND_SOC_SSM2602_I2C=m +CONFIG_SND_SOC_SSM4567=m +CONFIG_SND_SOC_STA32X=m +CONFIG_SND_SOC_STA350=m +CONFIG_SND_SOC_STI_SAS=m +CONFIG_SND_SOC_TAS2552=m +CONFIG_SND_SOC_TAS2562=m +CONFIG_SND_SOC_TAS2764=m +CONFIG_SND_SOC_TAS2770=m +CONFIG_SND_SOC_TAS2780=m +CONFIG_SND_SOC_TAS5086=m +CONFIG_SND_SOC_TAS571X=m +CONFIG_SND_SOC_TAS5720=m +CONFIG_SND_SOC_TAS6424=m +CONFIG_SND_SOC_TDA7419=m +CONFIG_SND_SOC_TFA9879=m +CONFIG_SND_SOC_TFA989X=m +CONFIG_SND_SOC_TLV320ADC3XXX=m +CONFIG_SND_SOC_TLV320AIC23_SPI=m +CONFIG_SND_SOC_TLV320AIC31XX=m +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m +CONFIG_SND_SOC_TLV320AIC3X_I2C=m +CONFIG_SND_SOC_TLV320AIC3X_SPI=m +CONFIG_SND_SOC_TLV320ADCX140=m +CONFIG_SND_SOC_TSCS42XX=m +CONFIG_SND_SOC_TSCS454=m +CONFIG_SND_SOC_UDA1334=m +CONFIG_SND_SOC_WM8510=m +CONFIG_SND_SOC_WM8523=m +CONFIG_SND_SOC_WM8524=m +CONFIG_SND_SOC_WM8580=m +CONFIG_SND_SOC_WM8711=m +CONFIG_SND_SOC_WM8728=m +CONFIG_SND_SOC_WM8731_I2C=m +CONFIG_SND_SOC_WM8731_SPI=m +CONFIG_SND_SOC_WM8737=m +CONFIG_SND_SOC_WM8741=m +CONFIG_SND_SOC_WM8750=m +CONFIG_SND_SOC_WM8770=m +CONFIG_SND_SOC_WM8776=m +CONFIG_SND_SOC_WM8782=m +CONFIG_SND_SOC_WM8804_I2C=m +CONFIG_SND_SOC_WM8804_SPI=m +CONFIG_SND_SOC_WM8904=m +CONFIG_SND_SOC_WM8940=m +CONFIG_SND_SOC_WM8960=m +CONFIG_SND_SOC_WM8962=m +CONFIG_SND_SOC_WM8974=m +CONFIG_SND_SOC_WM8978=m +CONFIG_SND_SOC_WM8985=m +CONFIG_SND_SOC_ZL38060=m +CONFIG_SND_SOC_MAX9759=m +CONFIG_SND_SOC_MT6351=m +CONFIG_SND_SOC_MT6358=m +CONFIG_SND_SOC_MT6660=m +CONFIG_SND_SOC_NAU8315=m +CONFIG_SND_SOC_NAU8540=m +CONFIG_SND_SOC_NAU8810=m +CONFIG_SND_SOC_NAU8821=m +CONFIG_SND_SOC_NAU8822=m +CONFIG_SND_SOC_NAU8824=m +CONFIG_SND_SOC_TPA6130A2=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_SND_AUDIO_GRAPH_CARD2_CUSTOM_SAMPLE=m +CONFIG_SND_TEST_COMPONENT=m +CONFIG_SND_VIRTIO=m +CONFIG_HID_BATTERY_STRENGTH=y +CONFIG_HIDRAW=y +CONFIG_UHID=m +CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m +CONFIG_HID_ACRUX=m +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=m +CONFIG_HID_APPLEIR=m +CONFIG_HID_ASUS=m +CONFIG_HID_AUREAL=m +CONFIG_HID_BELKIN=m +CONFIG_HID_BETOP_FF=m +CONFIG_HID_BIGBEN_FF=m +CONFIG_HID_CHERRY=m +CONFIG_HID_CHICONY=m +CONFIG_HID_CORSAIR=m +CONFIG_HID_COUGAR=m +CONFIG_HID_MACALLY=m +CONFIG_HID_PRODIKEYS=m +CONFIG_HID_CMEDIA=m +CONFIG_HID_CP2112=m +CONFIG_HID_CREATIVE_SB0540=m +CONFIG_HID_CYPRESS=m +CONFIG_HID_DRAGONRISE=m +CONFIG_DRAGONRISE_FF=y +CONFIG_HID_EMS_FF=m +CONFIG_HID_ELAN=m +CONFIG_HID_ELECOM=m +CONFIG_HID_ELO=m +CONFIG_HID_EZKEY=m +CONFIG_HID_FT260=m +CONFIG_HID_GEMBIRD=m +CONFIG_HID_GFRM=m +CONFIG_HID_GLORIOUS=m +CONFIG_HID_HOLTEK=m +CONFIG_HOLTEK_FF=y +CONFIG_HID_GOOGLE_HAMMER=m +CONFIG_HID_VIVALDI=m +CONFIG_HID_GT683R=m +CONFIG_HID_KEYTOUCH=m +CONFIG_HID_KYE=m +CONFIG_HID_UCLOGIC=m +CONFIG_HID_WALTOP=m +CONFIG_HID_VIEWSONIC=m +CONFIG_HID_VRC2=m +CONFIG_HID_XIAOMI=m +CONFIG_HID_GYRATION=m +CONFIG_HID_ICADE=m +CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m +CONFIG_HID_TWINHAN=m +CONFIG_HID_KENSINGTON=m +CONFIG_HID_LCPOWER=m +CONFIG_HID_LENOVO=m +CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH_DJ=m +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_HID_MAGICMOUSE=m +CONFIG_HID_MALTRON=m +CONFIG_HID_MAYFLASH=m +CONFIG_HID_MEGAWORLD_FF=m +CONFIG_HID_REDRAGON=m +CONFIG_HID_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NINTENDO=m +CONFIG_HID_NTI=m +CONFIG_HID_NTRIG=m +CONFIG_HID_ORTEK=m +CONFIG_HID_PANTHERLORD=m +CONFIG_PANTHERLORD_FF=y +CONFIG_HID_PENMOUNT=m +CONFIG_HID_PETALYNX=m +CONFIG_HID_PICOLCD=m +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_BACKLIGHT=y +CONFIG_HID_PICOLCD_LCD=y +CONFIG_HID_PICOLCD_LEDS=y +CONFIG_HID_PICOLCD_CIR=y +CONFIG_HID_PLANTRONICS=m +CONFIG_HID_PXRC=m +CONFIG_HID_PRIMAX=m +CONFIG_HID_RETRODE=m +CONFIG_HID_ROCCAT=m +CONFIG_HID_SAITEK=m +CONFIG_HID_SAMSUNG=m +CONFIG_HID_SEMITEK=m +CONFIG_HID_SONY=m +CONFIG_SONY_FF=y +CONFIG_HID_SPEEDLINK=m +CONFIG_HID_STEAM=m +CONFIG_HID_STEELSERIES=m +CONFIG_HID_SUNPLUS=m +CONFIG_HID_RMI=m +CONFIG_HID_GREENASIA=m +CONFIG_GREENASIA_FF=y +CONFIG_HID_SMARTJOYPLUS=m +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_HID_TIVO=m +CONFIG_HID_TOPSEED=m +CONFIG_HID_TOPRE=m +CONFIG_HID_THINGM=m +CONFIG_HID_THRUSTMASTER=m +CONFIG_THRUSTMASTER_FF=y +CONFIG_HID_UDRAW_PS3=m +CONFIG_HID_U2FZERO=m +CONFIG_HID_WACOM=m +CONFIG_HID_WIIMOTE=m +CONFIG_HID_XINMO=m +CONFIG_HID_ZEROPLUS=m +CONFIG_ZEROPLUS_FF=y +CONFIG_HID_ZYDACRON=m +CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_CUSTOM_SENSOR=m +CONFIG_HID_ALPS=m +CONFIG_HID_MCP2221=m +CONFIG_HID_PID=y +CONFIG_USB_HIDDEV=y +CONFIG_I2C_HID_ACPI=m +CONFIG_I2C_HID_OF=m +CONFIG_I2C_HID_OF_ELAN=m +CONFIG_I2C_HID_OF_GOODIX=m +CONFIG_USB_LED_TRIG=y +CONFIG_USB=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_DYNAMIC_MINORS=y +CONFIG_USB_OTG=y +CONFIG_USB_OTG_FSM=m +CONFIG_USB_LEDS_TRIGGER_USBPORT=y +CONFIG_USB_MON=m +CONFIG_USB_C67X00_HCD=m +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_TEGRA=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_FSL=m +CONFIG_USB_EHCI_TEGRA=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_OXU210HP_HCD=m +CONFIG_USB_ISP116X_HCD=m +CONFIG_USB_MAX3421_HCD=m +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_USB_UHCI_HCD=m +CONFIG_USB_SL811_HCD=m +CONFIG_USB_SL811_HCD_ISO=y +CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_HCD_TEST_MODE=y +CONFIG_USB_PRINTER=m +CONFIG_USB_TMC=m +CONFIG_USB_STORAGE=y +CONFIG_USB_STORAGE_REALTEK=m +CONFIG_USB_STORAGE_DATAFAB=m +CONFIG_USB_STORAGE_FREECOM=m +CONFIG_USB_STORAGE_ISD200=m +CONFIG_USB_STORAGE_USBAT=m +CONFIG_USB_STORAGE_SDDR09=m +CONFIG_USB_STORAGE_SDDR55=m +CONFIG_USB_STORAGE_JUMPSHOT=m +CONFIG_USB_STORAGE_ALAUDA=m +CONFIG_USB_STORAGE_ONETOUCH=m +CONFIG_USB_STORAGE_KARMA=m +CONFIG_USB_STORAGE_CYPRESS_ATACB=m +CONFIG_USB_STORAGE_ENE_UB6250=m +CONFIG_USB_UAS=m +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m +CONFIG_USBIP_CORE=m +CONFIG_USBIP_VHCI_HCD=m +CONFIG_USBIP_HOST=m +CONFIG_USBIP_VUDC=m +CONFIG_USB_CDNS_SUPPORT=m +CONFIG_USB_CDNS3=m +CONFIG_USB_CDNSP_PCI=m +CONFIG_USB_CDNSP_GADGET=y +CONFIG_USB_CDNSP_HOST=y +CONFIG_USB_MUSB_HDRC=y +CONFIG_USB_MUSB_SUNXI=m +CONFIG_USB_DWC3=y +CONFIG_USB_DWC3_ULPI=y +CONFIG_USB_DWC2=y +CONFIG_USB_DWC2_PCI=m +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_ISP1760=y +CONFIG_USB_USS720=m +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_SIMPLE=m +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_F81232=m +CONFIG_USB_SERIAL_F8153X=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_METRO=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MXUPORT=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_SAFE=m +CONFIG_USB_SERIAL_SAFE_PADDED=y +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_XSENS_MT=m +CONFIG_USB_SERIAL_WISHBONE=m +CONFIG_USB_SERIAL_SSU100=m +CONFIG_USB_SERIAL_QT2=m +CONFIG_USB_SERIAL_UPD78F0730=m +CONFIG_USB_SERIAL_XR=m +CONFIG_USB_SERIAL_DEBUG=m +CONFIG_USB_EMI62=m +CONFIG_USB_EMI26=m +CONFIG_USB_ADUTUX=m +CONFIG_USB_SEVSEG=m +CONFIG_USB_LEGOTOWER=m +CONFIG_USB_LCD=m +CONFIG_USB_CYPRESS_CY7C63=m +CONFIG_USB_CYTHERM=m +CONFIG_USB_IDMOUSE=m +CONFIG_USB_APPLEDISPLAY=m +CONFIG_APPLE_MFI_FASTCHARGE=m +CONFIG_USB_SISUSBVGA=m +CONFIG_USB_LD=m +CONFIG_USB_TRANCEVIBRATOR=m +CONFIG_USB_IOWARRIOR=m +CONFIG_USB_TEST=m +CONFIG_USB_EHSET_TEST_FIXTURE=m +CONFIG_USB_ISIGHTFW=m +CONFIG_USB_YUREX=m +CONFIG_USB_HUB_USB251XB=m +CONFIG_USB_HSIC_USB3503=y +CONFIG_USB_HSIC_USB4604=m +CONFIG_USB_LINK_LAYER_TEST=m +CONFIG_USB_CHAOSKEY=m +CONFIG_USB_ONBOARD_HUB=m +CONFIG_USB_ATM=m +CONFIG_USB_SPEEDTOUCH=m +CONFIG_USB_CXACRU=m +CONFIG_USB_UEAGLEATM=m +CONFIG_USB_XUSBATM=m +CONFIG_NOP_USB_XCEIV=y +CONFIG_USB_ISP1301=m +CONFIG_U_SERIAL_CONSOLE=y +CONFIG_USB_GR_UDC=m +CONFIG_USB_R8A66597=m +CONFIG_USB_PXA27X=m +CONFIG_USB_MV_UDC=m +CONFIG_USB_MV_U3D=m +CONFIG_USB_SNP_UDC_PLAT=m +CONFIG_USB_M66592=m +CONFIG_USB_BDC_UDC=m +CONFIG_USB_AMD5536UDC=m +CONFIG_USB_NET2272=m +CONFIG_USB_NET2280=m +CONFIG_USB_GOKU=m +CONFIG_USB_EG20T=m +CONFIG_USB_GADGET_XILINX=m +CONFIG_USB_MAX3420_UDC=m +CONFIG_USB_TEGRA_XUDC=m +CONFIG_USB_DUMMY_HCD=m +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_LB_SS=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_UAC1=y +CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=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_CONFIGFS_F_TCM=y +CONFIG_USB_ZERO=m +CONFIG_USB_AUDIO=m +CONFIG_GADGET_UAC1=y +CONFIG_USB_ETH=m +CONFIG_USB_ETH_EEM=y +CONFIG_USB_G_NCM=m +CONFIG_USB_GADGETFS=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_FUNCTIONFS_ETH=y +CONFIG_USB_FUNCTIONFS_RNDIS=y +CONFIG_USB_FUNCTIONFS_GENERIC=y +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_GADGET_TARGET=m +CONFIG_USB_G_SERIAL=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_G_PRINTER=m +CONFIG_USB_CDC_COMPOSITE=m +CONFIG_USB_G_NOKIA=m +CONFIG_USB_G_ACM_MS=m +CONFIG_USB_G_MULTI=m +CONFIG_USB_G_MULTI_CDC=y +CONFIG_USB_G_HID=m +CONFIG_USB_RAW_GADGET=m +CONFIG_TYPEC=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_RT1711H=m +CONFIG_TYPEC_TCPCI_MT6370=m +CONFIG_TYPEC_TCPCI_MAXIM=m +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_UCSI=m +CONFIG_UCSI_CCG=m +CONFIG_UCSI_ACPI=m +CONFIG_UCSI_STM32G0=m +CONFIG_TYPEC_TPS6598X=m +CONFIG_TYPEC_ANX7411=m +CONFIG_TYPEC_HD3SS3220=m +CONFIG_TYPEC_STUSB160X=m +CONFIG_TYPEC_MUX_FSA4480=m +CONFIG_TYPEC_MUX_PI3USB30532=m +CONFIG_TYPEC_DP_ALTMODE=m +CONFIG_TYPEC_NVIDIA_ALTMODE=m +CONFIG_MMC=y +CONFIG_PWRSEQ_SD8787=m +CONFIG_MMC_BLOCK_MINORS=32 +CONFIG_SDIO_UART=m +CONFIG_MMC_TEST=y +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_ACPI=m +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_OF_ARASAN=y +CONFIG_MMC_SDHCI_OF_AT91=m +CONFIG_MMC_SDHCI_OF_DWCMSHC=m +CONFIG_MMC_SDHCI_CADENCE=y +CONFIG_MMC_SDHCI_TEGRA=y +CONFIG_MMC_SDHCI_F_SDH30=y +CONFIG_MMC_SDHCI_MILBEAUT=m +CONFIG_MMC_ALCOR=m +CONFIG_MMC_TIFM_SD=m +CONFIG_MMC_SPI=y +CONFIG_MMC_VIA_SDMMC=m +CONFIG_MMC_DW=y +CONFIG_MMC_DW_BLUEFIELD=m +CONFIG_MMC_DW_EXYNOS=y +CONFIG_MMC_DW_HI3798CV200=m +CONFIG_MMC_DW_K3=y +CONFIG_MMC_DW_ROCKCHIP=y +CONFIG_MMC_VUB300=m +CONFIG_MMC_USHC=m +CONFIG_MMC_USDHI6ROL0=m +CONFIG_MMC_REALTEK_PCI=m +CONFIG_MMC_REALTEK_USB=m +CONFIG_MMC_SUNXI=m +CONFIG_MMC_HSQ=m +CONFIG_MMC_MTK=m +CONFIG_MMC_SDHCI_XENON=y +CONFIG_SCSI_UFSHCD=y +CONFIG_SCSI_UFSHCD_PCI=m +CONFIG_SCSI_UFSHCD_PLATFORM=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_CLASS_FLASH=m +CONFIG_LEDS_AN30259A=m +CONFIG_LEDS_CR0014114=m +CONFIG_LEDS_EL15203000=m +CONFIG_LEDS_LM3532=m +CONFIG_LEDS_LM3533=m +CONFIG_LEDS_LM3692X=m +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_PWM=m +CONFIG_LEDS_REGULATOR=m +CONFIG_LEDS_ADP5520=m +CONFIG_LEDS_MAX77650=m +CONFIG_LEDS_SYSCON=y +CONFIG_LEDS_MLXREG=m +CONFIG_LEDS_USER=y +CONFIG_LEDS_SPI_BYTE=m +CONFIG_LEDS_TI_LMU_COMMON=m +CONFIG_LEDS_LM3697=m +CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LEDS_TRIGGER_ONESHOT=m +CONFIG_LEDS_TRIGGER_DISK=y +CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_BACKLIGHT=m +CONFIG_LEDS_TRIGGER_CPU=y +CONFIG_LEDS_TRIGGER_ACTIVITY=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y +CONFIG_LEDS_TRIGGER_TRANSIENT=m +CONFIG_LEDS_TRIGGER_CAMERA=m +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_LEDS_TRIGGER_NETDEV=m +CONFIG_LEDS_TRIGGER_PATTERN=m +CONFIG_LEDS_TRIGGER_TTY=m +CONFIG_EDAC=y +CONFIG_EDAC_DMC520=m +CONFIG_RTC_CLASS=y +CONFIG_RTC_INTF_DEV_UIE_EMUL=y +CONFIG_RTC_DRV_AC100=m +CONFIG_RTC_DRV_AS3722=m +CONFIG_RTC_DRV_DS1307=y +CONFIG_RTC_DRV_HYM8563=y +CONFIG_RTC_DRV_MAX77686=y +CONFIG_RTC_DRV_NCT3018Y=m +CONFIG_RTC_DRV_RK808=y +CONFIG_RTC_DRV_ISL12026=m +CONFIG_RTC_DRV_X1205=m +CONFIG_RTC_DRV_PCF8523=m +CONFIG_RTC_DRV_PCF85063=m +CONFIG_RTC_DRV_PCF85363=m +CONFIG_RTC_DRV_PCF8563=m +CONFIG_RTC_DRV_PCF8583=m +CONFIG_RTC_DRV_M41T80=m +CONFIG_RTC_DRV_M41T80_WDT=y +CONFIG_RTC_DRV_BD70528=m +CONFIG_RTC_DRV_BQ32K=m +CONFIG_RTC_DRV_RC5T583=m +CONFIG_RTC_DRV_RC5T619=m +CONFIG_RTC_DRV_S35390A=m +CONFIG_RTC_DRV_FM3130=m +CONFIG_RTC_DRV_RX8010=m +CONFIG_RTC_DRV_RX8581=m +CONFIG_RTC_DRV_RX8025=m +CONFIG_RTC_DRV_EM3027=m +CONFIG_RTC_DRV_RV3028=m +CONFIG_RTC_DRV_RV8803=m +CONFIG_RTC_DRV_S5M=m +CONFIG_RTC_DRV_SD3078=m +CONFIG_RTC_DRV_M41T93=m +CONFIG_RTC_DRV_M41T94=m +CONFIG_RTC_DRV_DS1302=m +CONFIG_RTC_DRV_DS1305=m +CONFIG_RTC_DRV_DS1343=m +CONFIG_RTC_DRV_DS1347=m +CONFIG_RTC_DRV_DS1390=m +CONFIG_RTC_DRV_MAX6916=m +CONFIG_RTC_DRV_R9701=m +CONFIG_RTC_DRV_RX4581=m +CONFIG_RTC_DRV_RS5C348=m +CONFIG_RTC_DRV_MAX6902=m +CONFIG_RTC_DRV_PCF2123=m +CONFIG_RTC_DRV_MCP795=m +CONFIG_RTC_DRV_DS3232=m +CONFIG_RTC_DRV_PCF2127=m +CONFIG_RTC_DRV_RV3029C2=m +CONFIG_RTC_DRV_RX6110=m +CONFIG_RTC_DRV_EFI=y +CONFIG_RTC_DRV_NTXEC=m +CONFIG_RTC_DRV_PL030=m +CONFIG_RTC_DRV_PL031=y +CONFIG_RTC_DRV_SUN6I=y +CONFIG_RTC_DRV_CADENCE=m +CONFIG_RTC_DRV_TEGRA=y +CONFIG_RTC_DRV_HID_SENSOR_TIME=m +CONFIG_RTC_DRV_GOLDFISH=m +CONFIG_DMADEVICES=y +CONFIG_ALTERA_MSGDMA=m +CONFIG_BCM_SBA_RAID=m +CONFIG_DMA_SUN6I=m +CONFIG_DW_AXI_DMAC=m +CONFIG_FSL_EDMA=y +CONFIG_FSL_QDMA=m +CONFIG_MV_XOR_V2=y +CONFIG_PL330_DMA=y +CONFIG_PLX_DMA=m +CONFIG_TEGRA186_GPC_DMA=m +CONFIG_TEGRA20_APB_DMA=y +CONFIG_TEGRA210_ADMA=m +CONFIG_QCOM_HIDMA_MGMT=y +CONFIG_QCOM_HIDMA=y +CONFIG_DW_DMAC=m +CONFIG_DW_DMAC_PCI=m +CONFIG_SF_PDMA=m +CONFIG_ASYNC_TX_DMA=y +CONFIG_UDMABUF=y +CONFIG_DMABUF_SELFTESTS=m +CONFIG_DMABUF_HEAPS=y +CONFIG_DMABUF_SYSFS_STATS=y +CONFIG_DMABUF_HEAPS_SYSTEM=y +CONFIG_DMABUF_HEAPS_CMA=y +CONFIG_UIO_CIF=m +CONFIG_UIO_AEC=m +CONFIG_UIO_SERCOS3=m +CONFIG_UIO_PCI_GENERIC=m +CONFIG_VFIO=y +CONFIG_VFIO_PCI=y +CONFIG_VIRT_DRIVERS=y +CONFIG_NITRO_ENCLAVES=m +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_VDPA=m +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MMIO=y +CONFIG_VDPA=m +CONFIG_VDPA_USER=m +CONFIG_IFCVF=m +CONFIG_VP_VDPA=m +CONFIG_VHOST_NET=m +CONFIG_VHOST_SCSI=m +CONFIG_VHOST_VDPA=m +CONFIG_STAGING=y +CONFIG_RTL8192U=m +CONFIG_RTLLIB=m +CONFIG_RTL8192E=m +CONFIG_RTL8723BS=m +CONFIG_R8712U=m +CONFIG_RTS5208=m +CONFIG_VT6655=m +CONFIG_VT6656=m +CONFIG_AD9832=m +CONFIG_AD9834=m +CONFIG_FB_SM750=m +CONFIG_STAGING_MEDIA=y +CONFIG_VIDEO_ROCKCHIP_VDEC=m +CONFIG_VIDEO_SUNXI=y +CONFIG_VIDEO_SUNXI_CEDRUS=m +CONFIG_VIDEO_TEGRA=m +CONFIG_VIDEO_TEGRA_TPG=y +CONFIG_FB_TFT=m +CONFIG_FB_TFT_AGM1264K_FL=m +CONFIG_FB_TFT_BD663474=m +CONFIG_FB_TFT_HX8340BN=m +CONFIG_FB_TFT_HX8347D=m +CONFIG_FB_TFT_HX8353D=m +CONFIG_FB_TFT_HX8357D=m +CONFIG_FB_TFT_ILI9163=m +CONFIG_FB_TFT_ILI9320=m +CONFIG_FB_TFT_ILI9325=m +CONFIG_FB_TFT_ILI9340=m +CONFIG_FB_TFT_ILI9341=m +CONFIG_FB_TFT_ILI9481=m +CONFIG_FB_TFT_ILI9486=m +CONFIG_FB_TFT_PCD8544=m +CONFIG_FB_TFT_RA8875=m +CONFIG_FB_TFT_S6D02A1=m +CONFIG_FB_TFT_S6D1121=m +CONFIG_FB_TFT_SEPS525=m +CONFIG_FB_TFT_SH1106=m +CONFIG_FB_TFT_SSD1289=m +CONFIG_FB_TFT_SSD1305=m +CONFIG_FB_TFT_SSD1306=m +CONFIG_FB_TFT_SSD1331=m +CONFIG_FB_TFT_SSD1351=m +CONFIG_FB_TFT_ST7735R=m +CONFIG_FB_TFT_ST7789V=m +CONFIG_FB_TFT_TINYLCD=m +CONFIG_FB_TFT_TLS8204=m +CONFIG_FB_TFT_UC1611=m +CONFIG_FB_TFT_UC1701=m +CONFIG_FB_TFT_UPD161704=m +CONFIG_FIELDBUS_DEV=m +CONFIG_HMS_ANYBUSS_BUS=m +CONFIG_CHROME_PLATFORMS=y +CONFIG_CHROMEOS_ACPI=m +CONFIG_CROS_EC=y +CONFIG_CROS_EC_I2C=y +CONFIG_CROS_EC_SPI=y +CONFIG_CLK_ICST=y +CONFIG_CLK_VEXPRESS_OSC=m +CONFIG_LMK04832=m +CONFIG_COMMON_CLK_RK808=y +CONFIG_COMMON_CLK_SCMI=y +CONFIG_COMMON_CLK_SCPI=y +CONFIG_COMMON_CLK_SI5341=m +CONFIG_COMMON_CLK_SI544=m +CONFIG_COMMON_CLK_CS2000_CP=y +CONFIG_COMMON_CLK_S2MPS11=y +CONFIG_COMMON_CLK_AXI_CLKGEN=m +CONFIG_COMMON_CLK_XGENE=y +CONFIG_COMMON_CLK_PWM=y +CONFIG_COMMON_CLK_VC7=m +CONFIG_COMMON_CLK_BD718XX=m +CONFIG_XILINX_VCU=m +CONFIG_COMMON_CLK_XLNX_CLKWZRD=m +CONFIG_HWSPINLOCK=y +CONFIG_HWSPINLOCK_SUN6I=y +CONFIG_ARM_MHU=y +CONFIG_ARM_MHU_V2=m +CONFIG_PLATFORM_MHU=y +CONFIG_ROCKCHIP_MBOX=y +CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y +CONFIG_ROCKCHIP_IOMMU=y +CONFIG_ARM_SMMU=y +CONFIG_ARM_SMMU_V3=y +CONFIG_ARM_SMMU_V3_SVA=y +CONFIG_VIRTIO_IOMMU=m +CONFIG_REMOTEPROC=y +CONFIG_RPMSG_CHAR=y +CONFIG_RPMSG_QCOM_GLINK_RPM=y +CONFIG_SOC_BRCMSTB=y +CONFIG_LITEX_SOC_CONTROLLER=m +CONFIG_ROCKCHIP_IODOMAIN=y +CONFIG_ROCKCHIP_PM_DOMAINS=y +CONFIG_ARCH_TEGRA_132_SOC=y +CONFIG_ARCH_TEGRA_210_SOC=y +CONFIG_ARCH_TEGRA_186_SOC=y +CONFIG_ARCH_TEGRA_194_SOC=y +CONFIG_SOC_TEGRA_CBB=m +CONFIG_SOC_TI=y +CONFIG_DEVFREQ_GOV_PERFORMANCE=m +CONFIG_DEVFREQ_GOV_POWERSAVE=m +CONFIG_DEVFREQ_GOV_USERSPACE=m +CONFIG_DEVFREQ_GOV_PASSIVE=m +CONFIG_ARM_TEGRA_DEVFREQ=y +CONFIG_ARM_RK3399_DMC_DEVFREQ=y +CONFIG_EXTCON_ADC_JACK=m +CONFIG_EXTCON_GPIO=y +CONFIG_EXTCON_PTN5150=m +CONFIG_EXTCON_USB_GPIO=y +CONFIG_EXTCON_USBC_TUSB320=m +CONFIG_MEMORY=y +CONFIG_IIO=y +CONFIG_IIO_BUFFER_HW_CONSUMER=m +CONFIG_IIO_SW_DEVICE=m +CONFIG_IIO_SW_TRIGGER=m +CONFIG_IIO_TRIGGERED_EVENT=m +CONFIG_ADIS16201=m +CONFIG_ADIS16209=m +CONFIG_ADXL313_I2C=m +CONFIG_ADXL313_SPI=m +CONFIG_ADXL345_I2C=m +CONFIG_ADXL345_SPI=m +CONFIG_ADXL355_I2C=m +CONFIG_ADXL355_SPI=m +CONFIG_ADXL372_SPI=m +CONFIG_ADXL372_I2C=m +CONFIG_BMA180=m +CONFIG_BMA220=m +CONFIG_BMA400=m +CONFIG_BMC150_ACCEL=m +CONFIG_BMI088_ACCEL=m +CONFIG_DA280=m +CONFIG_DA311=m +CONFIG_DMARD06=m +CONFIG_DMARD09=m +CONFIG_DMARD10=m +CONFIG_FXLS8962AF_I2C=m +CONFIG_FXLS8962AF_SPI=m +CONFIG_HID_SENSOR_ACCEL_3D=m +CONFIG_KXSD9=m +CONFIG_KXCJK1013=m +CONFIG_MC3230=m +CONFIG_MMA7455_I2C=m +CONFIG_MMA7455_SPI=m +CONFIG_MMA7660=m +CONFIG_MMA8452=m +CONFIG_MMA9551=m +CONFIG_MMA9553=m +CONFIG_MSA311=m +CONFIG_MXC4005=m +CONFIG_MXC6255=m +CONFIG_SCA3000=m +CONFIG_SCA3300=m +CONFIG_STK8312=m +CONFIG_STK8BA50=m +CONFIG_AD7091R5=m +CONFIG_AD7124=m +CONFIG_AD7266=m +CONFIG_AD7291=m +CONFIG_AD7292=m +CONFIG_AD7298=m +CONFIG_AD7476=m +CONFIG_AD7606_IFACE_PARALLEL=m +CONFIG_AD7606_IFACE_SPI=m +CONFIG_AD7766=m +CONFIG_AD7768_1=m +CONFIG_AD7791=m +CONFIG_AD7793=m +CONFIG_AD7887=m +CONFIG_AD7923=m +CONFIG_AD7949=m +CONFIG_AD799X=m +CONFIG_AXP20X_ADC=m +CONFIG_AXP288_ADC=m +CONFIG_LTC2496=m +CONFIG_MAX11205=m +CONFIG_RN5T618_ADC=m +CONFIG_ROCKCHIP_SARADC=y +CONFIG_RICHTEK_RTQ6056=m +CONFIG_SUN4I_GPADC=m +CONFIG_TI_ADC081C=m +CONFIG_TI_ADC0832=m +CONFIG_TI_ADC084S021=m +CONFIG_TI_ADC12138=m +CONFIG_TI_ADC108S102=m +CONFIG_TI_ADC128S052=m +CONFIG_TI_ADC161S626=m +CONFIG_TI_ADS1015=m +CONFIG_TI_ADS7950=m +CONFIG_TI_ADS8344=m +CONFIG_TI_ADS8688=m +CONFIG_TI_ADS124S08=m +CONFIG_TI_ADS131E08=m +CONFIG_TI_TSC2046=m +CONFIG_XILINX_XADC=m +CONFIG_HMC425=m +CONFIG_BME680=m +CONFIG_PMS7003=m +CONFIG_SCD4X=m +CONFIG_SENSIRION_SGP30=m +CONFIG_SENSIRION_SGP40=m +CONFIG_SPS30_I2C=m +CONFIG_SPS30_SERIAL=m +CONFIG_SENSEAIR_SUNRISE_CO2=m +CONFIG_AD5686_SPI=m +CONFIG_AD5696_I2C=m +CONFIG_AD5758=m +CONFIG_AD5766=m +CONFIG_AD5770R=m +CONFIG_LTC1660=m +CONFIG_TI_DAC5571=m +CONFIG_TI_DAC7311=m +CONFIG_TI_DAC7612=m +CONFIG_AD9523=m +CONFIG_ADF4371=m +CONFIG_ADRF6780=m +CONFIG_ADIS16080=m +CONFIG_ADIS16130=m +CONFIG_ADIS16136=m +CONFIG_ADIS16260=m +CONFIG_ADXRS450=m +CONFIG_BMG160=m +CONFIG_FXAS21002C=m +CONFIG_HID_SENSOR_GYRO_3D=m +CONFIG_MPU3050_I2C=m +CONFIG_IIO_ST_GYRO_3AXIS=m +CONFIG_ITG3200=m +CONFIG_AFE4403=m +CONFIG_AFE4404=m +CONFIG_MAX30100=m +CONFIG_MAX30102=m +CONFIG_AM2315=m +CONFIG_DHT11=m +CONFIG_HDC100X=m +CONFIG_HID_SENSOR_HUMIDITY=m +CONFIG_HTS221=m +CONFIG_HTU21=m +CONFIG_SI7005=m +CONFIG_SI7020=m +CONFIG_ADIS16460=m +CONFIG_BOSCH_BNO055_SERIAL=m +CONFIG_BOSCH_BNO055_I2C=m +CONFIG_FXOS8700_I2C=m +CONFIG_FXOS8700_SPI=m +CONFIG_IIO_ST_LSM9DS0=m +CONFIG_ACPI_ALS=m +CONFIG_ADJD_S311=m +CONFIG_ADUX1020=m +CONFIG_AL3010=m +CONFIG_AL3320A=m +CONFIG_APDS9300=m +CONFIG_APDS9960=m +CONFIG_BH1750=m +CONFIG_BH1780=m +CONFIG_CM32181=m +CONFIG_CM3232=m +CONFIG_CM3323=m +CONFIG_CM3605=m +CONFIG_CM36651=m +CONFIG_GP2AP002=m +CONFIG_GP2AP020A00F=m +CONFIG_IQS621_ALS=m +CONFIG_SENSORS_ISL29018=m +CONFIG_SENSORS_ISL29028=m +CONFIG_ISL29125=m +CONFIG_HID_SENSOR_ALS=m +CONFIG_HID_SENSOR_PROX=m +CONFIG_JSA1212=m +CONFIG_RPR0521=m +CONFIG_SENSORS_LM3533=m +CONFIG_LTR501=m +CONFIG_LTRF216A=m +CONFIG_LV0104CS=m +CONFIG_MAX44000=m +CONFIG_MAX44009=m +CONFIG_NOA1305=m +CONFIG_OPT3001=m +CONFIG_PA12203001=m +CONFIG_SI1133=m +CONFIG_SI1145=m +CONFIG_STK3310=m +CONFIG_ST_UVIS25=m +CONFIG_TCS3414=m +CONFIG_TCS3472=m +CONFIG_SENSORS_TSL2563=m +CONFIG_TSL2583=m +CONFIG_TSL2591=m +CONFIG_TSL2772=m +CONFIG_TSL4531=m +CONFIG_US5182D=m +CONFIG_VCNL4000=m +CONFIG_VCNL4035=m +CONFIG_VEML6030=m +CONFIG_VEML6070=m +CONFIG_VL6180=m +CONFIG_ZOPT2201=m +CONFIG_AK8974=m +CONFIG_AK09911=m +CONFIG_BMC150_MAGN_I2C=m +CONFIG_BMC150_MAGN_SPI=m +CONFIG_MAG3110=m +CONFIG_HID_SENSOR_MAGNETOMETER_3D=m +CONFIG_MMC35240=m +CONFIG_SENSORS_HMC5843_I2C=m +CONFIG_SENSORS_HMC5843_SPI=m +CONFIG_SENSORS_RM3100_I2C=m +CONFIG_SENSORS_RM3100_SPI=m +CONFIG_YAMAHA_YAS530=m +CONFIG_HID_SENSOR_INCLINOMETER_3D=m +CONFIG_HID_SENSOR_DEVICE_ROTATION=m +CONFIG_IIO_HRTIMER_TRIGGER=m +CONFIG_IIO_INTERRUPT_TRIGGER=m +CONFIG_IIO_TIGHTLOOP_TRIGGER=m +CONFIG_IIO_SYSFS_TRIGGER=m +CONFIG_IQS624_POS=m +CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE=m +CONFIG_AD5110=m +CONFIG_AD5272=m +CONFIG_MAX5432=m +CONFIG_MCP4018=m +CONFIG_MCP41010=m +CONFIG_BMP280=m +CONFIG_DLHL60D=m +CONFIG_DPS310=m +CONFIG_HID_SENSOR_PRESS=m +CONFIG_ICP10100=m +CONFIG_CROS_EC_MKBP_PROXIMITY=m +CONFIG_ISL29501=m +CONFIG_MB1232=m +CONFIG_PING=m +CONFIG_VL53L0X_I2C=m +CONFIG_IQS620AT_TEMP=m +CONFIG_LTC2983=m +CONFIG_MAXIM_THERMOCOUPLE=m +CONFIG_HID_SENSOR_TEMP=m +CONFIG_MLX90614=m +CONFIG_MLX90632=m +CONFIG_TMP006=m +CONFIG_TMP007=m +CONFIG_TMP117=m +CONFIG_TSYS01=m +CONFIG_TSYS02D=m +CONFIG_MAX31856=m +CONFIG_MAX31865=m +CONFIG_PWM=y +CONFIG_PWM_ATMEL_TCB=m +CONFIG_PWM_CLK=m +CONFIG_PWM_CROS_EC=m +CONFIG_PWM_DWC=m +CONFIG_PWM_NTXEC=m +CONFIG_PWM_ROCKCHIP=y +CONFIG_PWM_SUN4I=m +CONFIG_PWM_TEGRA=y +CONFIG_PWM_XILINX=m +CONFIG_RESET_TI_TPS380X=m +CONFIG_PHY_CAN_TRANSCEIVER=m +CONFIG_PHY_SUN4I_USB=m +CONFIG_PHY_SUN9I_USB=m +CONFIG_PHY_SUN50I_USB3=m +CONFIG_BCM_KONA_USB2_PHY=m +CONFIG_PHY_CADENCE_TORRENT=m +CONFIG_PHY_CADENCE_DPHY=m +CONFIG_PHY_CADENCE_SIERRA=m +CONFIG_PHY_MAPPHONE_MDM6600=m +CONFIG_PHY_QCOM_USB_HS=y +CONFIG_PHY_QCOM_USB_HSIC=y +CONFIG_PHY_ROCKCHIP_DP=y +CONFIG_PHY_ROCKCHIP_DPHY_RX0=m +CONFIG_PHY_ROCKCHIP_EMMC=y +CONFIG_PHY_ROCKCHIP_INNO_HDMI=y +CONFIG_PHY_ROCKCHIP_INNO_USB2=y +CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY=m +CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=y +CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y +CONFIG_PHY_ROCKCHIP_PCIE=y +CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=y +CONFIG_PHY_ROCKCHIP_TYPEC=y +CONFIG_PHY_ROCKCHIP_USB=y +CONFIG_PHY_SAMSUNG_USB2=y +CONFIG_PHY_TEGRA_XUSB=y +CONFIG_ARM_CCI_PMU=y +CONFIG_ARM_CCN=y +CONFIG_ARM_DMC620_PMU=y +CONFIG_ALIBABA_UNCORE_DRW_PMU=m +CONFIG_HISI_PMU=y +CONFIG_HNS3_PMU=m +CONFIG_DAX=y +CONFIG_DEV_DAX=m +CONFIG_NVMEM_RAVE_SP_EEPROM=m +CONFIG_NVMEM_RMEM=m +CONFIG_NVMEM_ROCKCHIP_EFUSE=m +CONFIG_NVMEM_ROCKCHIP_OTP=m +CONFIG_NVMEM_SPMI_SDAM=m +CONFIG_NVMEM_SUNXI_SID=m +CONFIG_NVMEM_U_BOOT_ENV=m +CONFIG_HISI_PTT=m +CONFIG_FPGA=y +CONFIG_FPGA_BRIDGE=m +CONFIG_ALTERA_FREEZE_BRIDGE=m +CONFIG_FPGA_REGION=m +CONFIG_OF_FPGA_REGION=m +CONFIG_FPGA_MGR_MICROCHIP_SPI=m +CONFIG_TEE=y +CONFIG_OPTEE=m +CONFIG_MUX_ADG792A=m +CONFIG_MUX_ADGS1408=m +CONFIG_MUX_GPIO=m +CONFIG_MUX_MMIO=m +CONFIG_COUNTER=m +CONFIG_INTERRUPT_CNT=m +CONFIG_MOST=m +CONFIG_MOST_SND=m +CONFIG_VALIDATE_FS_PARSER=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +CONFIG_GFS2_FS=m +CONFIG_GFS2_FS_LOCKING_DLM=y +CONFIG_OCFS2_FS=m +CONFIG_BTRFS_FS=y +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_NILFS2_FS=m +CONFIG_F2FS_FS=y +CONFIG_F2FS_FS_SECURITY=y +CONFIG_F2FS_CHECK_FS=y +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_ZONEFS_FS=m +CONFIG_FS_ENCRYPTION=y +CONFIG_FS_VERITY=y +CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y +CONFIG_FANOTIFY=y +CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_AUTOFS_FS=m +CONFIG_FUSE_FS=y +CONFIG_CUSE=m +CONFIG_VIRTIO_FS=m +CONFIG_OVERLAY_FS=y +CONFIG_OVERLAY_FS_XINO_AUTO=y +CONFIG_FSCACHE=m +CONFIG_FSCACHE_STATS=y +CONFIG_CACHEFILES=m +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_UTF8=y +CONFIG_EXFAT_FS=m +CONFIG_NTFS_FS=m +CONFIG_NTFS_RW=y +CONFIG_NTFS3_FS=m +CONFIG_NTFS3_64BIT_CLUSTER=y +CONFIG_NTFS3_LZX_XPRESS=y +CONFIG_NTFS3_FS_POSIX_ACL=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_HUGETLBFS=y +CONFIG_ORANGEFS_FS=m +CONFIG_ADFS_FS=m +CONFIG_AFFS_FS=m +CONFIG_ECRYPT_FS=y +CONFIG_ECRYPT_FS_MESSAGING=y +CONFIG_HFS_FS=m +CONFIG_HFSPLUS_FS=m +CONFIG_BEFS_FS=m +CONFIG_BFS_FS=m +CONFIG_EFS_FS=m +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_XATTR=y +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +CONFIG_JFFS2_LZO=y +CONFIG_JFFS2_CMODE_FAVOURLZO=y +CONFIG_UBIFS_FS=m +CONFIG_CRAMFS=m +CONFIG_CRAMFS_MTD=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_DIRECT=y +CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_LZ4=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +CONFIG_SQUASHFS_ZSTD=y +CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y +CONFIG_SQUASHFS_EMBEDDED=y +CONFIG_VXFS_FS=m +CONFIG_MINIX_FS=m +CONFIG_OMFS_FS=m +CONFIG_HPFS_FS=m +CONFIG_QNX4FS_FS=m +CONFIG_QNX6FS_FS=m +CONFIG_ROMFS_FS=m +CONFIG_PSTORE=y +CONFIG_PSTORE_RAM=m +CONFIG_PSTORE_BLK=m +CONFIG_SYSV_FS=m +CONFIG_UFS_FS=m +CONFIG_UFS_FS_WRITE=y +CONFIG_NFS_FS=m +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=m +CONFIG_NFS_SWAP=y +CONFIG_NFS_V4_1=y +CONFIG_NFS_V4_2=y +CONFIG_NFS_V4_1_MIGRATION=y +CONFIG_NFS_FSCACHE=y +CONFIG_NFS_V4_2_READ_PLUS=y +CONFIG_NFSD=m +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_NFSD_BLOCKLAYOUT=y +CONFIG_NFSD_SCSILAYOUT=y +CONFIG_NFSD_FLEXFILELAYOUT=y +CONFIG_NFSD_V4_SECURITY_LABEL=y +CONFIG_SUNRPC_DEBUG=y +CONFIG_CEPH_FS=m +CONFIG_CEPH_FSCACHE=y +CONFIG_CEPH_FS_POSIX_ACL=y +CONFIG_CEPH_FS_SECURITY_LABEL=y +CONFIG_CIFS=m +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y +CONFIG_CIFS_DFS_UPCALL=y +CONFIG_CIFS_FSCACHE=y +CONFIG_SMB_SERVER=m +CONFIG_SMB_SERVER_KERBEROS5=y +CONFIG_CODA_FS=m +CONFIG_AFS_FS=m +CONFIG_AFS_FSCACHE=y +CONFIG_9P_FS=m +CONFIG_9P_FSCACHE=y +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_9P_FS_SECURITY=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=m +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +CONFIG_NLS_MAC_ROMAN=m +CONFIG_NLS_MAC_CELTIC=m +CONFIG_NLS_MAC_CENTEURO=m +CONFIG_NLS_MAC_CROATIAN=m +CONFIG_NLS_MAC_CYRILLIC=m +CONFIG_NLS_MAC_GAELIC=m +CONFIG_NLS_MAC_GREEK=m +CONFIG_NLS_MAC_ICELAND=m +CONFIG_NLS_MAC_INUIT=m +CONFIG_NLS_MAC_ROMANIAN=m +CONFIG_NLS_MAC_TURKISH=m +CONFIG_DLM=m +CONFIG_UNICODE=y +CONFIG_KEYS_REQUEST_CACHE=y +CONFIG_PERSISTENT_KEYRINGS=y +CONFIG_TRUSTED_KEYS=m +CONFIG_ENCRYPTED_KEYS=y +CONFIG_KEY_DH_OPERATIONS=y +CONFIG_SECURITY=y +CONFIG_SECURITY_NETWORK_XFRM=y +CONFIG_LSM_MMAP_MIN_ADDR=0 +CONFIG_HARDENED_USERCOPY=y +CONFIG_FORTIFY_SOURCE=y +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 +CONFIG_SECURITY_SMACK=y +CONFIG_SECURITY_SMACK_APPEND_SIGNALS=y +CONFIG_SECURITY_TOMOYO=y +CONFIG_SECURITY_APPARMOR=y +CONFIG_SECURITY_YAMA=y +CONFIG_SECURITY_SAFESETID=y +CONFIG_SECURITY_LOCKDOWN_LSM=y +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_INTEGRITY_SIGNATURE=y +CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y +CONFIG_INTEGRITY_PLATFORM_KEYRING=y +CONFIG_DEFAULT_SECURITY_APPARMOR=y +CONFIG_LSM="lockdown,yama,integrity,apparmor" +CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y +CONFIG_CRYPTO_PCRYPT=m +CONFIG_CRYPTO_CRYPTD=y +CONFIG_CRYPTO_AUTHENC=y +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_ECDH=y +CONFIG_CRYPTO_ECDSA=m +CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_AES_TI=y +CONFIG_CRYPTO_ANUBIS=y +CONFIG_CRYPTO_ARIA=m +CONFIG_CRYPTO_BLOWFISH=y +CONFIG_CRYPTO_CAMELLIA=y +CONFIG_CRYPTO_CAST5=y +CONFIG_CRYPTO_CAST6=y +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_FCRYPT=y +CONFIG_CRYPTO_KHAZAD=y +CONFIG_CRYPTO_SEED=y +CONFIG_CRYPTO_SERPENT=y +CONFIG_CRYPTO_TEA=y +CONFIG_CRYPTO_TWOFISH=y +CONFIG_CRYPTO_ADIANTUM=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_CFB=m +CONFIG_CRYPTO_HCTR2=m +CONFIG_CRYPTO_KEYWRAP=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_OFB=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_AEGIS128=m +CONFIG_CRYPTO_CHACHA20POLY1305=y +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_ECHAINIV=y +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_MD4=y +CONFIG_CRYPTO_MICHAEL_MIC=y +CONFIG_CRYPTO_RMD160=y +CONFIG_CRYPTO_SHA3=y +CONFIG_CRYPTO_VMAC=y +CONFIG_CRYPTO_WP512=y +CONFIG_CRYPTO_XCBC=y +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_842=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_ANSI_CPRNG=m +CONFIG_CRYPTO_DRBG_HASH=y +CONFIG_CRYPTO_DRBG_CTR=y +CONFIG_CRYPTO_STATS=y +CONFIG_CRYPTO_NHPOLY1305_NEON=y +CONFIG_CRYPTO_CHACHA20_NEON=y +CONFIG_CRYPTO_GHASH_ARM64_CE=y +CONFIG_CRYPTO_POLY1305_NEON=y +CONFIG_CRYPTO_SHA1_ARM64_CE=y +CONFIG_CRYPTO_SHA2_ARM64_CE=y +CONFIG_CRYPTO_SHA512_ARM64=y +CONFIG_CRYPTO_SHA512_ARM64_CE=m +CONFIG_CRYPTO_SHA3_ARM64=m +CONFIG_CRYPTO_SM3_NEON=m +CONFIG_CRYPTO_SM3_ARM64_CE=m +CONFIG_CRYPTO_POLYVAL_ARM64_CE=m +CONFIG_CRYPTO_AES_ARM64=y +CONFIG_CRYPTO_AES_ARM64_CE_BLK=y +CONFIG_CRYPTO_AES_ARM64_BS=y +CONFIG_CRYPTO_SM4_ARM64_CE=m +CONFIG_CRYPTO_SM4_ARM64_CE_BLK=m +CONFIG_CRYPTO_SM4_ARM64_NEON_BLK=m +CONFIG_CRYPTO_AES_ARM64_CE_CCM=y +CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m +CONFIG_CRYPTO_DEV_SUN4I_SS=m +CONFIG_CRYPTO_DEV_SUN8I_CE=m +CONFIG_CRYPTO_DEV_SUN8I_SS=m +CONFIG_CRYPTO_DEV_ATMEL_ECC=m +CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m +CONFIG_CRYPTO_DEV_QAT_DH895xCC=m +CONFIG_CRYPTO_DEV_QAT_C3XXX=m +CONFIG_CRYPTO_DEV_QAT_C62X=m +CONFIG_CRYPTO_DEV_QAT_4XXX=m +CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m +CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m +CONFIG_CRYPTO_DEV_QAT_C62XVF=m +CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m +CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m +CONFIG_CRYPTO_DEV_ROCKCHIP=m +CONFIG_CRYPTO_DEV_VIRTIO=m +CONFIG_CRYPTO_DEV_SAFEXCEL=m +CONFIG_CRYPTO_DEV_CCREE=m +CONFIG_CRYPTO_DEV_HISI_SEC=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=y +CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG=y +CONFIG_PKCS8_PRIVATE_KEY_PARSER=m +CONFIG_PKCS7_TEST_KEY=m +CONFIG_SIGNED_PE_FILE_VERIFICATION=y +CONFIG_SYSTEM_EXTRA_CERTIFICATE=y +CONFIG_SECONDARY_TRUSTED_KEYRING=y +CONFIG_SYSTEM_BLACKLIST_KEYRING=y +CONFIG_CRC4=m +CONFIG_XZ_DEC_MICROLZMA=y +CONFIG_XZ_DEC_TEST=m +CONFIG_DMA_RESTRICTED_POOL=y +CONFIG_CMA_SIZE_MBYTES=384 +CONFIG_GLOB_SELFTEST=m +CONFIG_FONTS=y +CONFIG_FONT_8x8=y +CONFIG_FONT_ACORN_8x8=y +CONFIG_FONT_6x10=y +CONFIG_FONT_TER16x32=y +CONFIG_PRINTK_TIME=y +CONFIG_DYNAMIC_DEBUG=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_TEST_LOCKUP=m +CONFIG_RCU_TORTURE_TEST=m +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_TRACE is not set +# CONFIG_FTRACE is not set +CONFIG_FUNCTION_ERROR_INJECTION=y +# CONFIG_RUNTIME_TESTING_MENU is not set +CONFIG_MEMTEST=y +CONFIG_ARMV8_DEPRECATED=y +CONFIG_SWP_EMULATION=y +CONFIG_CP15_BARRIER_EMULATION=y +CONFIG_SETEND_EMULATION=y diff --git a/buildroot-external/package/eq3_char_loop/0002-version1_1.patch b/buildroot-external/package/eq3_char_loop/0002-version1_2.patch similarity index 95% rename from buildroot-external/package/eq3_char_loop/0002-version1_1.patch rename to buildroot-external/package/eq3_char_loop/0002-version1_2.patch index 3b7484b3ec7..843cfd0682d 100644 --- a/buildroot-external/package/eq3_char_loop/0002-version1_1.patch +++ b/buildroot-external/package/eq3_char_loop/0002-version1_2.patch @@ -1,5 +1,7 @@ KernelDrivers/eq3_char_loop.c: updated to latest 1.1 version +Upstream: Not applicable + Signed-off-by: Jens Maus --- ./KernelDrivers/eq3_char_loop.c.orig 2017-05-14 22:57:19.109181928 +0200 @@ -42,7 +44,7 @@ Signed-off-by: Jens Maus if(ret < 0) { - printk( KERN_INFO EQ3LOOP_DRIVER_NAME ": eq3loop_write_master() retrun error:"); -+ printk( KERN_INFO EQ3LOOP_DRIVER_NAME ": eq3loop_write_master() return error: %ld", ret); ++ printk( KERN_INFO EQ3LOOP_DRIVER_NAME ": eq3loop_write_master() return error: %zd", ret); } if( ret > 0 || CIRC_CNT(channel->master2slave_buf.head,channel->master2slave_buf.tail,BUFSIZE) ) { @@ -110,4 +112,4 @@ Signed-off-by: Jens Maus MODULE_DESCRIPTION("eQ-3 IPC loopback char driver"); MODULE_LICENSE("GPL"); - -+MODULE_VERSION("1.1"); ++MODULE_VERSION("1.2"); diff --git a/buildroot-external/package/eq3_char_loop/0004-Fix-eq3_char_loop-driver-build-on-Linux-6.12.patch b/buildroot-external/package/eq3_char_loop/0004-Fix-eq3_char_loop-driver-build-on-Linux-6.12.patch new file mode 100644 index 00000000000..b56548a13ae --- /dev/null +++ b/buildroot-external/package/eq3_char_loop/0004-Fix-eq3_char_loop-driver-build-on-Linux-6.12.patch @@ -0,0 +1,17 @@ +Remove llseek NULL'd in 6.0 (868941b) removed in 6.12 (cb787f4) + +Signed-off-by: Nick Venenga +Upstream: https://github.com/jens-maus/occu/pull/1 + +--- a/KernelDrivers/eq3_char_loop.c ++++ b/KernelDrivers/eq3_char_loop.c +@@ -898,7 +898,9 @@ static int eq3loop_open(struct inode *inode, struct file *filp) + + static struct file_operations eq3loop_fops = { + .owner = THIS_MODULE, ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0) + .llseek = no_llseek, ++#endif + .read = eq3loop_read, + .write = eq3loop_write, + .open = eq3loop_open, diff --git a/buildroot-external/package/gasket/0001-linux-6.x.patch b/buildroot-external/package/gasket/0001-linux-6.x.patch new file mode 100644 index 00000000000..ce1ac087e50 --- /dev/null +++ b/buildroot-external/package/gasket/0001-linux-6.x.patch @@ -0,0 +1,35 @@ +From 4b2a1464f3b619daaf0f6c664c954a42c4b7ce00 Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Sat, 26 Oct 2024 11:06:10 +0000 +Subject: [PATCH] stop using no_llseek + +Since commit 868941b ("fs: remove no_llseek"), no_llseek() is +simply defined to be NULL, and a NULL llseek means seeking is +unsupported. + +refs: +- https://github.com/torvalds/linux/commit/cb787f4ac0c2e439ea8d7e6387b925f74576bdf8 +- https://github.com/torvalds/linux/commit/868941b14441282ba08761b770fc6cad69d5bdb7 + +no_llseek has been hard dropped in linux-6.12 + +Signed-off-by: Rudi Heitbaum +Upstream: https://github.com/google/gasket-driver/pull/35 +--- + src/gasket_core.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/gasket_core.c b/src/gasket_core.c +index b1c2726..5402e2a 100644 +--- a/src/gasket_core.c ++++ b/src/gasket_core.c +@@ -1373,7 +1373,9 @@ static long gasket_ioctl(struct file *filp, uint cmd, ulong arg) + /* File operations for all Gasket devices. */ + static const struct file_operations gasket_file_ops = { + .owner = THIS_MODULE, ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0) + .llseek = no_llseek, ++#endif + .mmap = gasket_mmap, + .open = gasket_open, + .release = gasket_release, diff --git a/buildroot-external/package/gasket/gasket.mk b/buildroot-external/package/gasket/gasket.mk index a40b9d09d00..fa867248a6f 100644 --- a/buildroot-external/package/gasket/gasket.mk +++ b/buildroot-external/package/gasket/gasket.mk @@ -1,4 +1,4 @@ -GASKET_VERSION = 09385d485812088e04a98a6e1227bf92663e0b59 +GASKET_VERSION = 5815ee3908a46a415aac616ac7b9aedcb98a504c GASKET_SITE = $(call github,google,gasket-driver,$(GASKET_VERSION)) GASKET_LICENSE = GPL-2.0 GASKET_LICENSE_FILES = LICENSE diff --git a/buildroot-external/package/generic_raw_uart/0002-Linux-6.12-llseek.patch b/buildroot-external/package/generic_raw_uart/0002-Linux-6.12-llseek.patch new file mode 100644 index 00000000000..6422ddd9e71 --- /dev/null +++ b/buildroot-external/package/generic_raw_uart/0002-Linux-6.12-llseek.patch @@ -0,0 +1,17 @@ +Remove llseek NULL'd in 6.0 (868941b) removed in 6.12 (cb787f4) + +Signed-off-by: Nick Venenga +Upstream: https://github.com/alexreinert/piVCCU/pull/533 + +--- a/kernel/generic_raw_uart.c ++++ b/kernel/generic_raw_uart.c +@@ -147,7 +147,9 @@ static int generic_raw_uart_get_device_type(struct generic_raw_uart_instance *in + static struct file_operations generic_raw_uart_fops = + { + .owner = THIS_MODULE, ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0) + .llseek = no_llseek, ++#endif + .read = generic_raw_uart_read, + .write = generic_raw_uart_write, + .open = generic_raw_uart_open, diff --git a/buildroot-external/package/generic_raw_uart/0003-Linux-6.11-gpio-data.patch b/buildroot-external/package/generic_raw_uart/0003-Linux-6.11-gpio-data.patch new file mode 100644 index 00000000000..a84154b45e8 --- /dev/null +++ b/buildroot-external/package/generic_raw_uart/0003-Linux-6.11-gpio-data.patch @@ -0,0 +1,19 @@ +Replace `gpiochip_add` removed in 6.11 (3ff1180) with `gpiochip_add_data` added in 4.5 (b08ea35) + +Signed-off-by: Nick Venenga +Upstream: https://github.com/alexreinert/piVCCU/pull/533 + +--- a/kernel/hb_rf_eth.c ++++ b/kernel/hb_rf_eth.c +@@ -715,7 +715,11 @@ static int __init hb_rf_eth_init(void) + gc.base = -1; + gc.can_sleep = false; + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 5, 0) + err = gpiochip_add(&gc); ++#else ++ err = gpiochip_add_data(&gc, NULL); ++#endif + if (err) + goto failed_gc_create; + diff --git a/buildroot-external/package/generic_raw_uart/0004-Linux-6.11-uart_remove.patch b/buildroot-external/package/generic_raw_uart/0004-Linux-6.11-uart_remove.patch new file mode 100644 index 00000000000..79ef2f7f725 --- /dev/null +++ b/buildroot-external/package/generic_raw_uart/0004-Linux-6.11-uart_remove.patch @@ -0,0 +1,87 @@ +Change raw_uart_driver remove macro to define the function as void as in kernel 6.11 +the platform_device remove function was changed to void (0edb555). + +Upstream: Not applicable + +Signed-off-by: Jens Maus + +diff --git a/kernel/generic_raw_uart.h b/kernel/generic_raw_uart.h +index b865e22..791e5d0 100644 +--- a/kernel/generic_raw_uart.h 2025-01-10 13:19:08.697184514 +0100 ++++ b/kernel/generic_raw_uart.h 2025-01-10 13:28:43.311159893 +0100 +@@ -93,6 +93,8 @@ + + extern bool generic_raw_uart_verify_dkey(struct device *dev, unsigned char *dkey, int dkey_len, unsigned char *skey, uint32_t *pkey, int bytes); + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0) ++ + #define module_raw_uart_driver(__module_name, __raw_uart_driver, __of_match) \ + static struct generic_raw_uart *__raw_uart_driver##_raw_uart; \ + static int __##__raw_uart_driver##_probe(struct platform_device *pdev) \ +@@ -121,7 +123,7 @@ + int err; \ + struct device *dev = &pdev->dev; \ + \ +- err = generic_raw_uart_remove(__raw_uart_driver##_raw_uart); \ ++ err = generic_raw_uart_remove(__raw_uart_driver##_raw_uart); \ + if (err) \ + { \ + dev_err(dev, "failed to remove generic_raw_uart module"); \ +@@ -143,3 +145,57 @@ + \ + module_platform_driver(__raw_uart_driver_platform_driver); \ + MODULE_DEVICE_TABLE(of, __of_match); ++ ++#else ++ ++#define module_raw_uart_driver(__module_name, __raw_uart_driver, __of_match) \ ++ static struct generic_raw_uart *__raw_uart_driver##_raw_uart; \ ++ static int __##__raw_uart_driver##_probe(struct platform_device *pdev) \ ++ { \ ++ struct device *dev = &pdev->dev; \ ++ int err = __raw_uart_driver##_probe(pdev); \ ++ \ ++ if (err) \ ++ { \ ++ dev_err(dev, "failed to initialize generic_raw_uart module"); \ ++ return err; \ ++ } \ ++ \ ++ __raw_uart_driver##_raw_uart = generic_raw_uart_probe(dev, &__raw_uart_driver, NULL); \ ++ if (IS_ERR_OR_NULL(__raw_uart_driver##_raw_uart)) \ ++ { \ ++ dev_err(dev, "failed to initialize generic_raw_uart module"); \ ++ return PTR_ERR(__raw_uart_driver##_raw_uart); \ ++ } \ ++ \ ++ return 0; \ ++ } \ ++ \ ++ static void __##__raw_uart_driver##_remove(struct platform_device *pdev) \ ++ { \ ++ int err; \ ++ struct device *dev = &pdev->dev; \ ++ \ ++ err = generic_raw_uart_remove(__raw_uart_driver##_raw_uart); \ ++ if (err) \ ++ { \ ++ dev_err(dev, "failed to remove generic_raw_uart module"); \ ++ } \ ++ \ ++ __raw_uart_driver##_remove(pdev); \ ++ } \ ++ \ ++ static struct platform_driver __raw_uart_driver_platform_driver = { \ ++ .probe = __##__raw_uart_driver##_probe, \ ++ .remove = __##__raw_uart_driver##_remove, \ ++ .driver = { \ ++ .owner = THIS_MODULE, \ ++ .name = __module_name, \ ++ .of_match_table = __of_match, \ ++ }, \ ++ }; \ ++ \ ++ module_platform_driver(__raw_uart_driver_platform_driver); \ ++ MODULE_DEVICE_TABLE(of, __of_match); ++ ++#endif diff --git a/buildroot-external/package/rtl88x2bu/rtl88x2bu.mk b/buildroot-external/package/rtl88x2bu/rtl88x2bu.mk index b1a3e11ce8c..3fc1ec863df 100644 --- a/buildroot-external/package/rtl88x2bu/rtl88x2bu.mk +++ b/buildroot-external/package/rtl88x2bu/rtl88x2bu.mk @@ -1,4 +1,4 @@ -RTL88X2BU_VERSION = 476ef38727cb539d7987d0cd1da3a8842df7bc58 +RTL88X2BU_VERSION = 45ca59c3dd14d287853142fe761b403330dbb32d RTL88X2BU_SITE = $(call github,cilynx,rtl88x2bu,$(RTL88X2BU_VERSION)) RTL88X2BU_LICENSE = GPL-2.0 RTL88X2BU_LICENSE_FILES = LICENSE diff --git a/buildroot-external/patches/linux/6.12.6/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch b/buildroot-external/patches/linux/6.12.6/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch new file mode 100644 index 00000000000..3d7cb7e7dca --- /dev/null +++ b/buildroot-external/patches/linux/6.12.6/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch @@ -0,0 +1,52 @@ +From 76591e4075194cf717dc085b8285912f706bcd46 Mon Sep 17 00:00:00 2001 +From: Stefan Agner +Date: Tue, 28 Mar 2023 12:02:10 +0200 +Subject: [PATCH] ipv6: add option to explicitly enable reachability test + +Systems which act as host as well as router might prefer the host +behavior. Currently the kernel does not allow to use IPv6 forwarding +globally and at the same time use route reachability probing. + +Add a compile time flag to enable route reachability probe in any +case. + +Signed-off-by: Stefan Agner +--- + net/ipv6/Kconfig | 9 +++++++++ + net/ipv6/route.c | 3 ++- + 2 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/net/ipv6/Kconfig b/net/ipv6/Kconfig +index 08d4b7132d4c..242bf2eeb7ae 100644 +--- a/net/ipv6/Kconfig ++++ b/net/ipv6/Kconfig +@@ -48,6 +48,15 @@ config IPV6_OPTIMISTIC_DAD + + If unsure, say N. + ++config IPV6_REACHABILITY_PROBE ++ bool "IPv6: Always use reachability probing (RFC 4191)" ++ help ++ By default reachability probing is disabled on router devices (when ++ IPv6 forwarding is enabled). This option explicitly enables ++ reachability probing always. ++ ++ If unsure, say N. ++ + config INET6_AH + tristate "IPv6: AH transformation" + select XFRM_AH +diff --git a/net/ipv6/route.c b/net/ipv6/route.c +index 56525b5b95a2..916769b9a772 100644 +--- a/net/ipv6/route.c ++++ b/net/ipv6/route.c +@@ -2211,7 +2211,8 @@ struct rt6_info *ip6_pol_route(struct net *net, struct fib6_table *table, + + strict |= flags & RT6_LOOKUP_F_IFACE; + strict |= flags & RT6_LOOKUP_F_IGNORE_LINKSTATE; +- if (READ_ONCE(net->ipv6.devconf_all->forwarding) == 0) ++ if (READ_ONCE(net->ipv6.devconf_all->forwarding) == 0 || ++ IS_ENABLED(CONFIG_IPV6_REACHABILITY_PROBE)) + strict |= RT6_LOOKUP_F_REACHABLE; + + rcu_read_lock(); diff --git a/buildroot-external/patches/linux/6.12.6/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch b/buildroot-external/patches/linux/6.12.6/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch new file mode 100644 index 00000000000..0a9221b3a40 --- /dev/null +++ b/buildroot-external/patches/linux/6.12.6/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch @@ -0,0 +1,650 @@ +From f9037c133775498d0ff2f035a957ce4f294e4e81 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= +Date: Wed, 6 Mar 2024 13:25:41 +0100 +Subject: [PATCH] Revert USB core changes causing issues with Z-Wave.me UZB + stick +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Workaround for issues described on GH [1] and reported in [2]. + +* Revert "USB: core: Fix oversight in SuperSpeed initialization" + This reverts commit 59cf445754566984fd55af19ba7146c76e6627bc. + +* Revert "USB: core: Fix race by not overwriting udev->descriptor in hub_port_init()" + This reverts commit ff33299ec8bb80cdcc073ad9c506bd79bb2ed20b. + +* Revert "USB: core: Change usb_get_device_descriptor() API" + This reverts commit de28e469da75359a2bb8cd8778b78aa64b1be1f4. + +* Revert "USB: core: Unite old scheme and new scheme descriptor reads" + This reverts commit 85d07c55621676d47d873d2749b88f783cd4d5a1. + +[1] https://github.com/home-assistant/operating-system/issues/2995 +[2] https://lore.kernel.org/linux-usb/1e954652-dfb3-4248-beea-b8a449128ff0@sairon.cz/ + +Signed-off-by: Jan Čermák +--- + drivers/usb/core/hcd.c | 10 +- + drivers/usb/core/hub.c | 336 ++++++++++++++++--------------------- + drivers/usb/core/message.c | 29 ++-- + drivers/usb/core/usb.h | 4 +- + 4 files changed, 166 insertions(+), 213 deletions(-) + +diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c +index 12b6dfeaf658c..d895f6ebbc400 100644 +--- a/drivers/usb/core/hcd.c ++++ b/drivers/usb/core/hcd.c +@@ -958,7 +958,6 @@ static int register_root_hub(struct usb_hcd *hcd) + { + struct device *parent_dev = hcd->self.controller; + struct usb_device *usb_dev = hcd->self.root_hub; +- struct usb_device_descriptor *descr; + const int devnum = 1; + int retval; + +@@ -970,16 +969,13 @@ static int register_root_hub(struct usb_hcd *hcd) + mutex_lock(&usb_bus_idr_lock); + + usb_dev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); +- descr = usb_get_device_descriptor(usb_dev); +- if (IS_ERR(descr)) { +- retval = PTR_ERR(descr); ++ retval = usb_get_device_descriptor(usb_dev, USB_DT_DEVICE_SIZE); ++ if (retval != sizeof usb_dev->descriptor) { + mutex_unlock(&usb_bus_idr_lock); + dev_dbg (parent_dev, "can't read %s device descriptor %d\n", + dev_name(&usb_dev->dev), retval); +- return retval; ++ return (retval < 0) ? retval : -EMSGSIZE; + } +- usb_dev->descriptor = *descr; +- kfree(descr); + + if (le16_to_cpu(usb_dev->descriptor.bcdUSB) >= 0x0201) { + retval = usb_get_bos_descriptor(usb_dev); +diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c +index 1ba3feb5e1900..ef1d63537a9b7 100644 +--- a/drivers/usb/core/hub.c ++++ b/drivers/usb/core/hub.c +@@ -4742,67 +4742,6 @@ static int hub_enable_device(struct usb_device *udev) + return hcd->driver->enable_device(hcd, udev); + } + +-/* +- * Get the bMaxPacketSize0 value during initialization by reading the +- * device's device descriptor. Since we don't already know this value, +- * the transfer is unsafe and it ignores I/O errors, only testing for +- * reasonable received values. +- * +- * For "old scheme" initialization, size will be 8 so we read just the +- * start of the device descriptor, which should work okay regardless of +- * the actual bMaxPacketSize0 value. For "new scheme" initialization, +- * size will be 64 (and buf will point to a sufficiently large buffer), +- * which might not be kosher according to the USB spec but it's what +- * Windows does and what many devices expect. +- * +- * Returns: bMaxPacketSize0 or a negative error code. +- */ +-static int get_bMaxPacketSize0(struct usb_device *udev, +- struct usb_device_descriptor *buf, int size, bool first_time) +-{ +- int i, rc; +- +- /* +- * Retry on all errors; some devices are flakey. +- * 255 is for WUSB devices, we actually need to use +- * 512 (WUSB1.0[4.8.1]). +- */ +- for (i = 0; i < GET_MAXPACKET0_TRIES; ++i) { +- /* Start with invalid values in case the transfer fails */ +- buf->bDescriptorType = buf->bMaxPacketSize0 = 0; +- rc = usb_control_msg(udev, usb_rcvaddr0pipe(), +- USB_REQ_GET_DESCRIPTOR, USB_DIR_IN, +- USB_DT_DEVICE << 8, 0, +- buf, size, +- initial_descriptor_timeout); +- switch (buf->bMaxPacketSize0) { +- case 8: case 16: case 32: case 64: case 9: +- if (buf->bDescriptorType == USB_DT_DEVICE) { +- rc = buf->bMaxPacketSize0; +- break; +- } +- fallthrough; +- default: +- if (rc >= 0) +- rc = -EPROTO; +- break; +- } +- +- /* +- * Some devices time out if they are powered on +- * when already connected. They need a second +- * reset, so return early. But only on the first +- * attempt, lest we get into a time-out/reset loop. +- */ +- if (rc > 0 || (rc == -ETIMEDOUT && first_time && +- udev->speed > USB_SPEED_FULL)) +- break; +- } +- return rc; +-} +- +-#define GET_DESCRIPTOR_BUFSIZE 64 +- + /* Reset device, (re)assign address, get device descriptor. + * Device connection must be stable, no more debouncing needed. + * Returns device in USB_STATE_ADDRESS, except on error. +@@ -4812,17 +4751,10 @@ static int get_bMaxPacketSize0(struct usb_device *udev, + * the port lock. For a newly detected device that is not accessible + * through any global pointers, it's not necessary to lock the device, + * but it is still necessary to lock the port. +- * +- * For a newly detected device, @dev_descr must be NULL. The device +- * descriptor retrieved from the device will then be stored in +- * @udev->descriptor. For an already existing device, @dev_descr +- * must be non-NULL. The device descriptor will be stored there, +- * not in @udev->descriptor, because descriptors for registered +- * devices are meant to be immutable. + */ + static int + hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, +- int retry_counter, struct usb_device_descriptor *dev_descr) ++ int retry_counter) + { + struct usb_device *hdev = hub->hdev; + struct usb_hcd *hcd = bus_to_hcd(hdev->bus); +@@ -4834,13 +4766,6 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + int devnum = udev->devnum; + const char *driver_name; + bool do_new_scheme; +- const bool initial = !dev_descr; +- int maxp0; +- struct usb_device_descriptor *buf, *descr; +- +- buf = kmalloc(GET_DESCRIPTOR_BUFSIZE, GFP_NOIO); +- if (!buf) +- return -ENOMEM; + + /* root hub ports have a slightly longer reset period + * (from USB 2.0 spec, section 7.1.7.5) +@@ -4873,31 +4798,31 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + } + oldspeed = udev->speed; + +- if (initial) { +- /* USB 2.0 section 5.5.3 talks about ep0 maxpacket ... +- * it's fixed size except for full speed devices. ++ /* USB 2.0 section 5.5.3 talks about ep0 maxpacket ... ++ * it's fixed size except for full speed devices. ++ * For Wireless USB devices, ep0 max packet is always 512 (tho ++ * reported as 0xff in the device descriptor). WUSB1.0[4.8.1]. ++ */ ++ switch (udev->speed) { ++ case USB_SPEED_SUPER_PLUS: ++ case USB_SPEED_SUPER: ++ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(512); ++ break; ++ case USB_SPEED_HIGH: /* fixed at 64 */ ++ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); ++ break; ++ case USB_SPEED_FULL: /* 8, 16, 32, or 64 */ ++ /* to determine the ep0 maxpacket size, try to read ++ * the device descriptor to get bMaxPacketSize0 and ++ * then correct our initial guess. + */ +- switch (udev->speed) { +- case USB_SPEED_SUPER_PLUS: +- case USB_SPEED_SUPER: +- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(512); +- break; +- case USB_SPEED_HIGH: /* fixed at 64 */ +- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); +- break; +- case USB_SPEED_FULL: /* 8, 16, 32, or 64 */ +- /* to determine the ep0 maxpacket size, try to read +- * the device descriptor to get bMaxPacketSize0 and +- * then correct our initial guess. +- */ +- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); +- break; +- case USB_SPEED_LOW: /* fixed at 8 */ +- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(8); +- break; +- default: +- goto fail; +- } ++ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); ++ break; ++ case USB_SPEED_LOW: /* fixed at 8 */ ++ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(8); ++ break; ++ default: ++ goto fail; + } + + speed = usb_speed_string(udev->speed); +@@ -4917,24 +4842,22 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + if (udev->speed < USB_SPEED_SUPER) + dev_info(&udev->dev, + "%s %s USB device number %d using %s\n", +- (initial ? "new" : "reset"), speed, ++ (udev->config) ? "reset" : "new", speed, + devnum, driver_name); + +- if (initial) { +- /* Set up TT records, if needed */ +- if (hdev->tt) { +- udev->tt = hdev->tt; +- udev->ttport = hdev->ttport; +- } else if (udev->speed != USB_SPEED_HIGH +- && hdev->speed == USB_SPEED_HIGH) { +- if (!hub->tt.hub) { +- dev_err(&udev->dev, "parent hub has no TT\n"); +- retval = -EINVAL; +- goto fail; +- } +- udev->tt = &hub->tt; +- udev->ttport = port1; ++ /* Set up TT records, if needed */ ++ if (hdev->tt) { ++ udev->tt = hdev->tt; ++ udev->ttport = hdev->ttport; ++ } else if (udev->speed != USB_SPEED_HIGH ++ && hdev->speed == USB_SPEED_HIGH) { ++ if (!hub->tt.hub) { ++ dev_err(&udev->dev, "parent hub has no TT\n"); ++ retval = -EINVAL; ++ goto fail; + } ++ udev->tt = &hub->tt; ++ udev->ttport = port1; + } + + /* Why interleave GET_DESCRIPTOR and SET_ADDRESS this way? +@@ -4958,6 +4881,9 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + } + + if (do_new_scheme) { ++ struct usb_device_descriptor *buf; ++ int r = 0; ++ + retval = hub_enable_device(udev); + if (retval < 0) { + dev_err(&udev->dev, +@@ -4966,14 +4892,52 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + goto fail; + } + +- maxp0 = get_bMaxPacketSize0(udev, buf, +- GET_DESCRIPTOR_BUFSIZE, retries == 0); +- if (maxp0 > 0 && !initial && +- maxp0 != udev->descriptor.bMaxPacketSize0) { +- dev_err(&udev->dev, "device reset changed ep0 maxpacket size!\n"); +- retval = -ENODEV; +- goto fail; ++#define GET_DESCRIPTOR_BUFSIZE 64 ++ buf = kmalloc(GET_DESCRIPTOR_BUFSIZE, GFP_NOIO); ++ if (!buf) { ++ retval = -ENOMEM; ++ continue; ++ } ++ ++ /* Retry on all errors; some devices are flakey. ++ * 255 is for WUSB devices, we actually need to use ++ * 512 (WUSB1.0[4.8.1]). ++ */ ++ for (operations = 0; operations < GET_MAXPACKET0_TRIES; ++ ++operations) { ++ buf->bMaxPacketSize0 = 0; ++ r = usb_control_msg(udev, usb_rcvaddr0pipe(), ++ USB_REQ_GET_DESCRIPTOR, USB_DIR_IN, ++ USB_DT_DEVICE << 8, 0, ++ buf, GET_DESCRIPTOR_BUFSIZE, ++ initial_descriptor_timeout); ++ switch (buf->bMaxPacketSize0) { ++ case 8: case 16: case 32: case 64: case 255: ++ if (buf->bDescriptorType == ++ USB_DT_DEVICE) { ++ r = 0; ++ break; ++ } ++ fallthrough; ++ default: ++ if (r == 0) ++ r = -EPROTO; ++ break; ++ } ++ /* ++ * Some devices time out if they are powered on ++ * when already connected. They need a second ++ * reset. But only on the first attempt, ++ * lest we get into a time out/reset loop ++ */ ++ if (r == 0 || (r == -ETIMEDOUT && ++ retries == 0 && ++ udev->speed > USB_SPEED_FULL)) ++ break; + } ++ udev->descriptor.bMaxPacketSize0 = ++ buf->bMaxPacketSize0; ++ kfree(buf); + + retval = hub_port_reset(hub, port1, udev, delay, false); + if (retval < 0) /* error or disconnect */ +@@ -4984,13 +4948,14 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + retval = -ENODEV; + goto fail; + } +- if (maxp0 < 0) { +- if (maxp0 != -ENODEV) ++ if (r) { ++ if (r != -ENODEV) + dev_err(&udev->dev, "device descriptor read/64, error %d\n", +- maxp0); +- retval = maxp0; ++ r); ++ retval = -EMSGSIZE; + continue; + } ++#undef GET_DESCRIPTOR_BUFSIZE + } + + for (operations = 0; operations < SET_ADDRESS_TRIES; ++operations) { +@@ -5031,21 +4996,18 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + if (do_new_scheme) + break; + +- maxp0 = get_bMaxPacketSize0(udev, buf, 8, retries == 0); +- if (maxp0 < 0) { +- retval = maxp0; ++ retval = usb_get_device_descriptor(udev, 8); ++ if (retval < 8) { + if (retval != -ENODEV) + dev_err(&udev->dev, + "device descriptor read/8, error %d\n", + retval); ++ if (retval >= 0) ++ retval = -EMSGSIZE; + } else { + u32 delay; + +- if (!initial && maxp0 != udev->descriptor.bMaxPacketSize0) { +- dev_err(&udev->dev, "device reset changed ep0 maxpacket size!\n"); +- retval = -ENODEV; +- goto fail; +- } ++ retval = 0; + + delay = udev->parent->hub_delay; + udev->hub_delay = min_t(u32, delay, +@@ -5064,62 +5026,48 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + goto fail; + + /* +- * Check the ep0 maxpacket guess and correct it if necessary. +- * maxp0 is the value stored in the device descriptor; +- * i is the value it encodes (logarithmic for SuperSpeed or greater). ++ * Some superspeed devices have finished the link training process ++ * and attached to a superspeed hub port, but the device descriptor ++ * got from those devices show they aren't superspeed devices. Warm ++ * reset the port attached by the devices can fix them. + */ +- i = maxp0; +- if (udev->speed >= USB_SPEED_SUPER) { +- if (maxp0 <= 16) +- i = 1 << maxp0; +- else +- i = 0; /* Invalid */ +- } +- if (usb_endpoint_maxp(&udev->ep0.desc) == i) { +- ; /* Initial ep0 maxpacket guess is right */ +- } else if (((udev->speed == USB_SPEED_FULL || +- udev->speed == USB_SPEED_HIGH) && +- (i == 8 || i == 16 || i == 32 || i == 64)) || +- (udev->speed >= USB_SPEED_SUPER && i > 0)) { +- /* Initial guess is wrong; use the descriptor's value */ ++ if ((udev->speed >= USB_SPEED_SUPER) && ++ (le16_to_cpu(udev->descriptor.bcdUSB) < 0x0300)) { ++ dev_err(&udev->dev, "got a wrong device descriptor, " ++ "warm reset device\n"); ++ hub_port_reset(hub, port1, udev, ++ HUB_BH_RESET_TIME, true); ++ retval = -EINVAL; ++ goto fail; ++ } ++ ++ if (udev->descriptor.bMaxPacketSize0 == 0xff || ++ udev->speed >= USB_SPEED_SUPER) ++ i = 512; ++ else ++ i = udev->descriptor.bMaxPacketSize0; ++ if (usb_endpoint_maxp(&udev->ep0.desc) != i) { ++ if (udev->speed == USB_SPEED_LOW || ++ !(i == 8 || i == 16 || i == 32 || i == 64)) { ++ dev_err(&udev->dev, "Invalid ep0 maxpacket: %d\n", i); ++ retval = -EMSGSIZE; ++ goto fail; ++ } + if (udev->speed == USB_SPEED_FULL) + dev_dbg(&udev->dev, "ep0 maxpacket = %d\n", i); + else + dev_warn(&udev->dev, "Using ep0 maxpacket: %d\n", i); + udev->ep0.desc.wMaxPacketSize = cpu_to_le16(i); + usb_ep0_reinit(udev); +- } else { +- /* Initial guess is wrong and descriptor's value is invalid */ +- dev_err(&udev->dev, "Invalid ep0 maxpacket: %d\n", maxp0); +- retval = -EMSGSIZE; +- goto fail; + } + +- descr = usb_get_device_descriptor(udev); +- if (IS_ERR(descr)) { +- retval = PTR_ERR(descr); ++ retval = usb_get_device_descriptor(udev, USB_DT_DEVICE_SIZE); ++ if (retval < (signed)sizeof(udev->descriptor)) { + if (retval != -ENODEV) + dev_err(&udev->dev, "device descriptor read/all, error %d\n", + retval); +- goto fail; +- } +- if (initial) +- udev->descriptor = *descr; +- else +- *dev_descr = *descr; +- kfree(descr); +- +- /* +- * Some superspeed devices have finished the link training process +- * and attached to a superspeed hub port, but the device descriptor +- * got from those devices show they aren't superspeed devices. Warm +- * reset the port attached by the devices can fix them. +- */ +- if ((udev->speed >= USB_SPEED_SUPER) && +- (le16_to_cpu(udev->descriptor.bcdUSB) < 0x0300)) { +- dev_err(&udev->dev, "got a wrong device descriptor, warm reset device\n"); +- hub_port_reset(hub, port1, udev, HUB_BH_RESET_TIME, true); +- retval = -EINVAL; ++ if (retval >= 0) ++ retval = -ENOMSG; + goto fail; + } + +@@ -5145,7 +5093,6 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + hub_port_disable(hub, port1, 0); + update_devnum(udev, devnum); /* for disconnect processing */ + } +- kfree(buf); + return retval; + } + +@@ -5226,7 +5173,7 @@ hub_power_remaining(struct usb_hub *hub) + + + static int descriptors_changed(struct usb_device *udev, +- struct usb_device_descriptor *new_device_descriptor, ++ struct usb_device_descriptor *old_device_descriptor, + struct usb_host_bos *old_bos) + { + int changed = 0; +@@ -5237,8 +5184,8 @@ static int descriptors_changed(struct usb_device *udev, + int length; + char *buf; + +- if (memcmp(&udev->descriptor, new_device_descriptor, +- sizeof(*new_device_descriptor)) != 0) ++ if (memcmp(&udev->descriptor, old_device_descriptor, ++ sizeof(*old_device_descriptor)) != 0) + return 1; + + if ((old_bos && !udev->bos) || (!old_bos && udev->bos)) +@@ -5415,7 +5362,7 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, + } + + /* reset (non-USB 3.0 devices) and get descriptor */ +- status = hub_port_init(hub, udev, port1, i, NULL); ++ status = hub_port_init(hub, udev, port1, i); + if (status < 0) + goto loop; + +@@ -5562,8 +5509,9 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1, + { + struct usb_port *port_dev = hub->ports[port1 - 1]; + struct usb_device *udev = port_dev->child; +- struct usb_device_descriptor *descr; ++ struct usb_device_descriptor descriptor; + int status = -ENODEV; ++ int retval; + + dev_dbg(&port_dev->dev, "status %04x, change %04x, %s\n", portstatus, + portchange, portspeed(hub, portstatus)); +@@ -5590,20 +5538,23 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1, + * changed device descriptors before resuscitating the + * device. + */ +- descr = usb_get_device_descriptor(udev); +- if (IS_ERR(descr)) { ++ descriptor = udev->descriptor; ++ retval = usb_get_device_descriptor(udev, ++ sizeof(udev->descriptor)); ++ if (retval < 0) { + dev_dbg(&udev->dev, +- "can't read device descriptor %ld\n", +- PTR_ERR(descr)); ++ "can't read device descriptor %d\n", ++ retval); + } else { +- if (descriptors_changed(udev, descr, ++ if (descriptors_changed(udev, &descriptor, + udev->bos)) { + dev_dbg(&udev->dev, + "device descriptor has changed\n"); ++ /* for disconnect() calls */ ++ udev->descriptor = descriptor; + } else { + status = 0; /* Nothing to do */ + } +- kfree(descr); + } + #ifdef CONFIG_PM + } else if (udev->state == USB_STATE_SUSPENDED && +@@ -6060,7 +6011,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) + struct usb_device *parent_hdev = udev->parent; + struct usb_hub *parent_hub; + struct usb_hcd *hcd = bus_to_hcd(udev->bus); +- struct usb_device_descriptor descriptor; ++ struct usb_device_descriptor descriptor = udev->descriptor; + struct usb_host_bos *bos; + int i, j, ret = 0; + int port1 = udev->portnum; +@@ -6096,7 +6047,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) + /* ep0 maxpacket size may change; let the HCD know about it. + * Other endpoints will be handled by re-enumeration. */ + usb_ep0_reinit(udev); +- ret = hub_port_init(parent_hub, udev, port1, i, &descriptor); ++ ret = hub_port_init(parent_hub, udev, port1, i); + if (ret >= 0 || ret == -ENOTCONN || ret == -ENODEV) + break; + } +@@ -6108,6 +6059,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) + /* Device might have changed firmware (DFU or similar) */ + if (descriptors_changed(udev, &descriptor, bos)) { + dev_info(&udev->dev, "device firmware changed\n"); ++ udev->descriptor = descriptor; /* for disconnect() calls */ + goto re_enumerate; + } + +diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c +index 077dfe48d01c1..0d2bfc909019b 100644 +--- a/drivers/usb/core/message.c ++++ b/drivers/usb/core/message.c +@@ -1041,35 +1041,40 @@ char *usb_cache_string(struct usb_device *udev, int index) + EXPORT_SYMBOL_GPL(usb_cache_string); + + /* +- * usb_get_device_descriptor - read the device descriptor +- * @udev: the device whose device descriptor should be read ++ * usb_get_device_descriptor - (re)reads the device descriptor (usbcore) ++ * @dev: the device whose device descriptor is being updated ++ * @size: how much of the descriptor to read + * + * Context: task context, might sleep. + * ++ * Updates the copy of the device descriptor stored in the device structure, ++ * which dedicates space for this purpose. ++ * + * Not exported, only for use by the core. If drivers really want to read + * the device descriptor directly, they can call usb_get_descriptor() with + * type = USB_DT_DEVICE and index = 0. + * +- * Returns: a pointer to a dynamically allocated usb_device_descriptor +- * structure (which the caller must deallocate), or an ERR_PTR value. ++ * This call is synchronous, and may not be used in an interrupt context. ++ * ++ * Return: The number of bytes received on success, or else the status code ++ * returned by the underlying usb_control_msg() call. + */ +-struct usb_device_descriptor *usb_get_device_descriptor(struct usb_device *udev) ++int usb_get_device_descriptor(struct usb_device *dev, unsigned int size) + { + struct usb_device_descriptor *desc; + int ret; + ++ if (size > sizeof(*desc)) ++ return -EINVAL; + desc = kmalloc(sizeof(*desc), GFP_NOIO); + if (!desc) +- return ERR_PTR(-ENOMEM); +- +- ret = usb_get_descriptor(udev, USB_DT_DEVICE, 0, desc, sizeof(*desc)); +- if (ret == sizeof(*desc)) +- return desc; ++ return -ENOMEM; + ++ ret = usb_get_descriptor(dev, USB_DT_DEVICE, 0, desc, size); + if (ret >= 0) +- ret = -EMSGSIZE; ++ memcpy(&dev->descriptor, desc, size); + kfree(desc); +- return ERR_PTR(ret); ++ return ret; + } + + /* +diff --git a/drivers/usb/core/usb.h b/drivers/usb/core/usb.h +index 60363153fc3f3..69ca59841083b 100644 +--- a/drivers/usb/core/usb.h ++++ b/drivers/usb/core/usb.h +@@ -43,8 +43,8 @@ extern bool usb_endpoint_is_ignored(struct usb_device *udev, + struct usb_endpoint_descriptor *epd); + extern int usb_remove_device(struct usb_device *udev); + +-extern struct usb_device_descriptor *usb_get_device_descriptor( +- struct usb_device *udev); ++extern int usb_get_device_descriptor(struct usb_device *dev, ++ unsigned int size); + extern int usb_set_isoch_delay(struct usb_device *dev); + extern int usb_get_bos_descriptor(struct usb_device *dev); + extern void usb_release_bos_descriptor(struct usb_device *dev); diff --git a/buildroot-external/patches/linux/6.6.73/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch b/buildroot-external/patches/linux/6.6.73/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch new file mode 100644 index 00000000000..2e82302b3b8 --- /dev/null +++ b/buildroot-external/patches/linux/6.6.73/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch @@ -0,0 +1,52 @@ +From 76591e4075194cf717dc085b8285912f706bcd46 Mon Sep 17 00:00:00 2001 +From: Stefan Agner +Date: Tue, 28 Mar 2023 12:02:10 +0200 +Subject: [PATCH] ipv6: add option to explicitly enable reachability test + +Systems which act as host as well as router might prefer the host +behavior. Currently the kernel does not allow to use IPv6 forwarding +globally and at the same time use route reachability probing. + +Add a compile time flag to enable route reachability probe in any +case. + +Signed-off-by: Stefan Agner +--- + net/ipv6/Kconfig | 9 +++++++++ + net/ipv6/route.c | 3 ++- + 2 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/net/ipv6/Kconfig b/net/ipv6/Kconfig +index 08d4b7132d4c..242bf2eeb7ae 100644 +--- a/net/ipv6/Kconfig ++++ b/net/ipv6/Kconfig +@@ -48,6 +48,15 @@ config IPV6_OPTIMISTIC_DAD + + If unsure, say N. + ++config IPV6_REACHABILITY_PROBE ++ bool "IPv6: Always use reachability probing (RFC 4191)" ++ help ++ By default reachability probing is disabled on router devices (when ++ IPv6 forwarding is enabled). This option explicitly enables ++ reachability probing always. ++ ++ If unsure, say N. ++ + config INET6_AH + tristate "IPv6: AH transformation" + select XFRM_AH +diff --git a/net/ipv6/route.c b/net/ipv6/route.c +index 56525b5b95a2..916769b9a772 100644 +--- a/net/ipv6/route.c ++++ b/net/ipv6/route.c +@@ -2211,7 +2211,8 @@ struct rt6_info *ip6_pol_route(struct net *net, struct fib6_table *table, + + strict |= flags & RT6_LOOKUP_F_IFACE; + strict |= flags & RT6_LOOKUP_F_IGNORE_LINKSTATE; +- if (net->ipv6.devconf_all->forwarding == 0) ++ if (net->ipv6.devconf_all->forwarding == 0 || ++ IS_ENABLED(CONFIG_IPV6_REACHABILITY_PROBE)) + strict |= RT6_LOOKUP_F_REACHABLE; + + rcu_read_lock(); diff --git a/buildroot-external/patches/linux/6.6.73/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch b/buildroot-external/patches/linux/6.6.73/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch new file mode 100644 index 00000000000..0a9221b3a40 --- /dev/null +++ b/buildroot-external/patches/linux/6.6.73/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch @@ -0,0 +1,650 @@ +From f9037c133775498d0ff2f035a957ce4f294e4e81 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= +Date: Wed, 6 Mar 2024 13:25:41 +0100 +Subject: [PATCH] Revert USB core changes causing issues with Z-Wave.me UZB + stick +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Workaround for issues described on GH [1] and reported in [2]. + +* Revert "USB: core: Fix oversight in SuperSpeed initialization" + This reverts commit 59cf445754566984fd55af19ba7146c76e6627bc. + +* Revert "USB: core: Fix race by not overwriting udev->descriptor in hub_port_init()" + This reverts commit ff33299ec8bb80cdcc073ad9c506bd79bb2ed20b. + +* Revert "USB: core: Change usb_get_device_descriptor() API" + This reverts commit de28e469da75359a2bb8cd8778b78aa64b1be1f4. + +* Revert "USB: core: Unite old scheme and new scheme descriptor reads" + This reverts commit 85d07c55621676d47d873d2749b88f783cd4d5a1. + +[1] https://github.com/home-assistant/operating-system/issues/2995 +[2] https://lore.kernel.org/linux-usb/1e954652-dfb3-4248-beea-b8a449128ff0@sairon.cz/ + +Signed-off-by: Jan Čermák +--- + drivers/usb/core/hcd.c | 10 +- + drivers/usb/core/hub.c | 336 ++++++++++++++++--------------------- + drivers/usb/core/message.c | 29 ++-- + drivers/usb/core/usb.h | 4 +- + 4 files changed, 166 insertions(+), 213 deletions(-) + +diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c +index 12b6dfeaf658c..d895f6ebbc400 100644 +--- a/drivers/usb/core/hcd.c ++++ b/drivers/usb/core/hcd.c +@@ -958,7 +958,6 @@ static int register_root_hub(struct usb_hcd *hcd) + { + struct device *parent_dev = hcd->self.controller; + struct usb_device *usb_dev = hcd->self.root_hub; +- struct usb_device_descriptor *descr; + const int devnum = 1; + int retval; + +@@ -970,16 +969,13 @@ static int register_root_hub(struct usb_hcd *hcd) + mutex_lock(&usb_bus_idr_lock); + + usb_dev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); +- descr = usb_get_device_descriptor(usb_dev); +- if (IS_ERR(descr)) { +- retval = PTR_ERR(descr); ++ retval = usb_get_device_descriptor(usb_dev, USB_DT_DEVICE_SIZE); ++ if (retval != sizeof usb_dev->descriptor) { + mutex_unlock(&usb_bus_idr_lock); + dev_dbg (parent_dev, "can't read %s device descriptor %d\n", + dev_name(&usb_dev->dev), retval); +- return retval; ++ return (retval < 0) ? retval : -EMSGSIZE; + } +- usb_dev->descriptor = *descr; +- kfree(descr); + + if (le16_to_cpu(usb_dev->descriptor.bcdUSB) >= 0x0201) { + retval = usb_get_bos_descriptor(usb_dev); +diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c +index 1ba3feb5e1900..ef1d63537a9b7 100644 +--- a/drivers/usb/core/hub.c ++++ b/drivers/usb/core/hub.c +@@ -4742,67 +4742,6 @@ static int hub_enable_device(struct usb_device *udev) + return hcd->driver->enable_device(hcd, udev); + } + +-/* +- * Get the bMaxPacketSize0 value during initialization by reading the +- * device's device descriptor. Since we don't already know this value, +- * the transfer is unsafe and it ignores I/O errors, only testing for +- * reasonable received values. +- * +- * For "old scheme" initialization, size will be 8 so we read just the +- * start of the device descriptor, which should work okay regardless of +- * the actual bMaxPacketSize0 value. For "new scheme" initialization, +- * size will be 64 (and buf will point to a sufficiently large buffer), +- * which might not be kosher according to the USB spec but it's what +- * Windows does and what many devices expect. +- * +- * Returns: bMaxPacketSize0 or a negative error code. +- */ +-static int get_bMaxPacketSize0(struct usb_device *udev, +- struct usb_device_descriptor *buf, int size, bool first_time) +-{ +- int i, rc; +- +- /* +- * Retry on all errors; some devices are flakey. +- * 255 is for WUSB devices, we actually need to use +- * 512 (WUSB1.0[4.8.1]). +- */ +- for (i = 0; i < GET_MAXPACKET0_TRIES; ++i) { +- /* Start with invalid values in case the transfer fails */ +- buf->bDescriptorType = buf->bMaxPacketSize0 = 0; +- rc = usb_control_msg(udev, usb_rcvaddr0pipe(), +- USB_REQ_GET_DESCRIPTOR, USB_DIR_IN, +- USB_DT_DEVICE << 8, 0, +- buf, size, +- initial_descriptor_timeout); +- switch (buf->bMaxPacketSize0) { +- case 8: case 16: case 32: case 64: case 9: +- if (buf->bDescriptorType == USB_DT_DEVICE) { +- rc = buf->bMaxPacketSize0; +- break; +- } +- fallthrough; +- default: +- if (rc >= 0) +- rc = -EPROTO; +- break; +- } +- +- /* +- * Some devices time out if they are powered on +- * when already connected. They need a second +- * reset, so return early. But only on the first +- * attempt, lest we get into a time-out/reset loop. +- */ +- if (rc > 0 || (rc == -ETIMEDOUT && first_time && +- udev->speed > USB_SPEED_FULL)) +- break; +- } +- return rc; +-} +- +-#define GET_DESCRIPTOR_BUFSIZE 64 +- + /* Reset device, (re)assign address, get device descriptor. + * Device connection must be stable, no more debouncing needed. + * Returns device in USB_STATE_ADDRESS, except on error. +@@ -4812,17 +4751,10 @@ static int get_bMaxPacketSize0(struct usb_device *udev, + * the port lock. For a newly detected device that is not accessible + * through any global pointers, it's not necessary to lock the device, + * but it is still necessary to lock the port. +- * +- * For a newly detected device, @dev_descr must be NULL. The device +- * descriptor retrieved from the device will then be stored in +- * @udev->descriptor. For an already existing device, @dev_descr +- * must be non-NULL. The device descriptor will be stored there, +- * not in @udev->descriptor, because descriptors for registered +- * devices are meant to be immutable. + */ + static int + hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, +- int retry_counter, struct usb_device_descriptor *dev_descr) ++ int retry_counter) + { + struct usb_device *hdev = hub->hdev; + struct usb_hcd *hcd = bus_to_hcd(hdev->bus); +@@ -4834,13 +4766,6 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + int devnum = udev->devnum; + const char *driver_name; + bool do_new_scheme; +- const bool initial = !dev_descr; +- int maxp0; +- struct usb_device_descriptor *buf, *descr; +- +- buf = kmalloc(GET_DESCRIPTOR_BUFSIZE, GFP_NOIO); +- if (!buf) +- return -ENOMEM; + + /* root hub ports have a slightly longer reset period + * (from USB 2.0 spec, section 7.1.7.5) +@@ -4873,31 +4798,31 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + } + oldspeed = udev->speed; + +- if (initial) { +- /* USB 2.0 section 5.5.3 talks about ep0 maxpacket ... +- * it's fixed size except for full speed devices. ++ /* USB 2.0 section 5.5.3 talks about ep0 maxpacket ... ++ * it's fixed size except for full speed devices. ++ * For Wireless USB devices, ep0 max packet is always 512 (tho ++ * reported as 0xff in the device descriptor). WUSB1.0[4.8.1]. ++ */ ++ switch (udev->speed) { ++ case USB_SPEED_SUPER_PLUS: ++ case USB_SPEED_SUPER: ++ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(512); ++ break; ++ case USB_SPEED_HIGH: /* fixed at 64 */ ++ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); ++ break; ++ case USB_SPEED_FULL: /* 8, 16, 32, or 64 */ ++ /* to determine the ep0 maxpacket size, try to read ++ * the device descriptor to get bMaxPacketSize0 and ++ * then correct our initial guess. + */ +- switch (udev->speed) { +- case USB_SPEED_SUPER_PLUS: +- case USB_SPEED_SUPER: +- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(512); +- break; +- case USB_SPEED_HIGH: /* fixed at 64 */ +- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); +- break; +- case USB_SPEED_FULL: /* 8, 16, 32, or 64 */ +- /* to determine the ep0 maxpacket size, try to read +- * the device descriptor to get bMaxPacketSize0 and +- * then correct our initial guess. +- */ +- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); +- break; +- case USB_SPEED_LOW: /* fixed at 8 */ +- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(8); +- break; +- default: +- goto fail; +- } ++ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); ++ break; ++ case USB_SPEED_LOW: /* fixed at 8 */ ++ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(8); ++ break; ++ default: ++ goto fail; + } + + speed = usb_speed_string(udev->speed); +@@ -4917,24 +4842,22 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + if (udev->speed < USB_SPEED_SUPER) + dev_info(&udev->dev, + "%s %s USB device number %d using %s\n", +- (initial ? "new" : "reset"), speed, ++ (udev->config) ? "reset" : "new", speed, + devnum, driver_name); + +- if (initial) { +- /* Set up TT records, if needed */ +- if (hdev->tt) { +- udev->tt = hdev->tt; +- udev->ttport = hdev->ttport; +- } else if (udev->speed != USB_SPEED_HIGH +- && hdev->speed == USB_SPEED_HIGH) { +- if (!hub->tt.hub) { +- dev_err(&udev->dev, "parent hub has no TT\n"); +- retval = -EINVAL; +- goto fail; +- } +- udev->tt = &hub->tt; +- udev->ttport = port1; ++ /* Set up TT records, if needed */ ++ if (hdev->tt) { ++ udev->tt = hdev->tt; ++ udev->ttport = hdev->ttport; ++ } else if (udev->speed != USB_SPEED_HIGH ++ && hdev->speed == USB_SPEED_HIGH) { ++ if (!hub->tt.hub) { ++ dev_err(&udev->dev, "parent hub has no TT\n"); ++ retval = -EINVAL; ++ goto fail; + } ++ udev->tt = &hub->tt; ++ udev->ttport = port1; + } + + /* Why interleave GET_DESCRIPTOR and SET_ADDRESS this way? +@@ -4958,6 +4881,9 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + } + + if (do_new_scheme) { ++ struct usb_device_descriptor *buf; ++ int r = 0; ++ + retval = hub_enable_device(udev); + if (retval < 0) { + dev_err(&udev->dev, +@@ -4966,14 +4892,52 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + goto fail; + } + +- maxp0 = get_bMaxPacketSize0(udev, buf, +- GET_DESCRIPTOR_BUFSIZE, retries == 0); +- if (maxp0 > 0 && !initial && +- maxp0 != udev->descriptor.bMaxPacketSize0) { +- dev_err(&udev->dev, "device reset changed ep0 maxpacket size!\n"); +- retval = -ENODEV; +- goto fail; ++#define GET_DESCRIPTOR_BUFSIZE 64 ++ buf = kmalloc(GET_DESCRIPTOR_BUFSIZE, GFP_NOIO); ++ if (!buf) { ++ retval = -ENOMEM; ++ continue; ++ } ++ ++ /* Retry on all errors; some devices are flakey. ++ * 255 is for WUSB devices, we actually need to use ++ * 512 (WUSB1.0[4.8.1]). ++ */ ++ for (operations = 0; operations < GET_MAXPACKET0_TRIES; ++ ++operations) { ++ buf->bMaxPacketSize0 = 0; ++ r = usb_control_msg(udev, usb_rcvaddr0pipe(), ++ USB_REQ_GET_DESCRIPTOR, USB_DIR_IN, ++ USB_DT_DEVICE << 8, 0, ++ buf, GET_DESCRIPTOR_BUFSIZE, ++ initial_descriptor_timeout); ++ switch (buf->bMaxPacketSize0) { ++ case 8: case 16: case 32: case 64: case 255: ++ if (buf->bDescriptorType == ++ USB_DT_DEVICE) { ++ r = 0; ++ break; ++ } ++ fallthrough; ++ default: ++ if (r == 0) ++ r = -EPROTO; ++ break; ++ } ++ /* ++ * Some devices time out if they are powered on ++ * when already connected. They need a second ++ * reset. But only on the first attempt, ++ * lest we get into a time out/reset loop ++ */ ++ if (r == 0 || (r == -ETIMEDOUT && ++ retries == 0 && ++ udev->speed > USB_SPEED_FULL)) ++ break; + } ++ udev->descriptor.bMaxPacketSize0 = ++ buf->bMaxPacketSize0; ++ kfree(buf); + + retval = hub_port_reset(hub, port1, udev, delay, false); + if (retval < 0) /* error or disconnect */ +@@ -4984,13 +4948,14 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + retval = -ENODEV; + goto fail; + } +- if (maxp0 < 0) { +- if (maxp0 != -ENODEV) ++ if (r) { ++ if (r != -ENODEV) + dev_err(&udev->dev, "device descriptor read/64, error %d\n", +- maxp0); +- retval = maxp0; ++ r); ++ retval = -EMSGSIZE; + continue; + } ++#undef GET_DESCRIPTOR_BUFSIZE + } + + for (operations = 0; operations < SET_ADDRESS_TRIES; ++operations) { +@@ -5031,21 +4996,18 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + if (do_new_scheme) + break; + +- maxp0 = get_bMaxPacketSize0(udev, buf, 8, retries == 0); +- if (maxp0 < 0) { +- retval = maxp0; ++ retval = usb_get_device_descriptor(udev, 8); ++ if (retval < 8) { + if (retval != -ENODEV) + dev_err(&udev->dev, + "device descriptor read/8, error %d\n", + retval); ++ if (retval >= 0) ++ retval = -EMSGSIZE; + } else { + u32 delay; + +- if (!initial && maxp0 != udev->descriptor.bMaxPacketSize0) { +- dev_err(&udev->dev, "device reset changed ep0 maxpacket size!\n"); +- retval = -ENODEV; +- goto fail; +- } ++ retval = 0; + + delay = udev->parent->hub_delay; + udev->hub_delay = min_t(u32, delay, +@@ -5064,62 +5026,48 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + goto fail; + + /* +- * Check the ep0 maxpacket guess and correct it if necessary. +- * maxp0 is the value stored in the device descriptor; +- * i is the value it encodes (logarithmic for SuperSpeed or greater). ++ * Some superspeed devices have finished the link training process ++ * and attached to a superspeed hub port, but the device descriptor ++ * got from those devices show they aren't superspeed devices. Warm ++ * reset the port attached by the devices can fix them. + */ +- i = maxp0; +- if (udev->speed >= USB_SPEED_SUPER) { +- if (maxp0 <= 16) +- i = 1 << maxp0; +- else +- i = 0; /* Invalid */ +- } +- if (usb_endpoint_maxp(&udev->ep0.desc) == i) { +- ; /* Initial ep0 maxpacket guess is right */ +- } else if (((udev->speed == USB_SPEED_FULL || +- udev->speed == USB_SPEED_HIGH) && +- (i == 8 || i == 16 || i == 32 || i == 64)) || +- (udev->speed >= USB_SPEED_SUPER && i > 0)) { +- /* Initial guess is wrong; use the descriptor's value */ ++ if ((udev->speed >= USB_SPEED_SUPER) && ++ (le16_to_cpu(udev->descriptor.bcdUSB) < 0x0300)) { ++ dev_err(&udev->dev, "got a wrong device descriptor, " ++ "warm reset device\n"); ++ hub_port_reset(hub, port1, udev, ++ HUB_BH_RESET_TIME, true); ++ retval = -EINVAL; ++ goto fail; ++ } ++ ++ if (udev->descriptor.bMaxPacketSize0 == 0xff || ++ udev->speed >= USB_SPEED_SUPER) ++ i = 512; ++ else ++ i = udev->descriptor.bMaxPacketSize0; ++ if (usb_endpoint_maxp(&udev->ep0.desc) != i) { ++ if (udev->speed == USB_SPEED_LOW || ++ !(i == 8 || i == 16 || i == 32 || i == 64)) { ++ dev_err(&udev->dev, "Invalid ep0 maxpacket: %d\n", i); ++ retval = -EMSGSIZE; ++ goto fail; ++ } + if (udev->speed == USB_SPEED_FULL) + dev_dbg(&udev->dev, "ep0 maxpacket = %d\n", i); + else + dev_warn(&udev->dev, "Using ep0 maxpacket: %d\n", i); + udev->ep0.desc.wMaxPacketSize = cpu_to_le16(i); + usb_ep0_reinit(udev); +- } else { +- /* Initial guess is wrong and descriptor's value is invalid */ +- dev_err(&udev->dev, "Invalid ep0 maxpacket: %d\n", maxp0); +- retval = -EMSGSIZE; +- goto fail; + } + +- descr = usb_get_device_descriptor(udev); +- if (IS_ERR(descr)) { +- retval = PTR_ERR(descr); ++ retval = usb_get_device_descriptor(udev, USB_DT_DEVICE_SIZE); ++ if (retval < (signed)sizeof(udev->descriptor)) { + if (retval != -ENODEV) + dev_err(&udev->dev, "device descriptor read/all, error %d\n", + retval); +- goto fail; +- } +- if (initial) +- udev->descriptor = *descr; +- else +- *dev_descr = *descr; +- kfree(descr); +- +- /* +- * Some superspeed devices have finished the link training process +- * and attached to a superspeed hub port, but the device descriptor +- * got from those devices show they aren't superspeed devices. Warm +- * reset the port attached by the devices can fix them. +- */ +- if ((udev->speed >= USB_SPEED_SUPER) && +- (le16_to_cpu(udev->descriptor.bcdUSB) < 0x0300)) { +- dev_err(&udev->dev, "got a wrong device descriptor, warm reset device\n"); +- hub_port_reset(hub, port1, udev, HUB_BH_RESET_TIME, true); +- retval = -EINVAL; ++ if (retval >= 0) ++ retval = -ENOMSG; + goto fail; + } + +@@ -5145,7 +5093,6 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, + hub_port_disable(hub, port1, 0); + update_devnum(udev, devnum); /* for disconnect processing */ + } +- kfree(buf); + return retval; + } + +@@ -5226,7 +5173,7 @@ hub_power_remaining(struct usb_hub *hub) + + + static int descriptors_changed(struct usb_device *udev, +- struct usb_device_descriptor *new_device_descriptor, ++ struct usb_device_descriptor *old_device_descriptor, + struct usb_host_bos *old_bos) + { + int changed = 0; +@@ -5237,8 +5184,8 @@ static int descriptors_changed(struct usb_device *udev, + int length; + char *buf; + +- if (memcmp(&udev->descriptor, new_device_descriptor, +- sizeof(*new_device_descriptor)) != 0) ++ if (memcmp(&udev->descriptor, old_device_descriptor, ++ sizeof(*old_device_descriptor)) != 0) + return 1; + + if ((old_bos && !udev->bos) || (!old_bos && udev->bos)) +@@ -5415,7 +5362,7 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, + } + + /* reset (non-USB 3.0 devices) and get descriptor */ +- status = hub_port_init(hub, udev, port1, i, NULL); ++ status = hub_port_init(hub, udev, port1, i); + if (status < 0) + goto loop; + +@@ -5562,8 +5509,9 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1, + { + struct usb_port *port_dev = hub->ports[port1 - 1]; + struct usb_device *udev = port_dev->child; +- struct usb_device_descriptor *descr; ++ struct usb_device_descriptor descriptor; + int status = -ENODEV; ++ int retval; + + dev_dbg(&port_dev->dev, "status %04x, change %04x, %s\n", portstatus, + portchange, portspeed(hub, portstatus)); +@@ -5590,20 +5538,23 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1, + * changed device descriptors before resuscitating the + * device. + */ +- descr = usb_get_device_descriptor(udev); +- if (IS_ERR(descr)) { ++ descriptor = udev->descriptor; ++ retval = usb_get_device_descriptor(udev, ++ sizeof(udev->descriptor)); ++ if (retval < 0) { + dev_dbg(&udev->dev, +- "can't read device descriptor %ld\n", +- PTR_ERR(descr)); ++ "can't read device descriptor %d\n", ++ retval); + } else { +- if (descriptors_changed(udev, descr, ++ if (descriptors_changed(udev, &descriptor, + udev->bos)) { + dev_dbg(&udev->dev, + "device descriptor has changed\n"); ++ /* for disconnect() calls */ ++ udev->descriptor = descriptor; + } else { + status = 0; /* Nothing to do */ + } +- kfree(descr); + } + #ifdef CONFIG_PM + } else if (udev->state == USB_STATE_SUSPENDED && +@@ -6060,7 +6011,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) + struct usb_device *parent_hdev = udev->parent; + struct usb_hub *parent_hub; + struct usb_hcd *hcd = bus_to_hcd(udev->bus); +- struct usb_device_descriptor descriptor; ++ struct usb_device_descriptor descriptor = udev->descriptor; + struct usb_host_bos *bos; + int i, j, ret = 0; + int port1 = udev->portnum; +@@ -6096,7 +6047,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) + /* ep0 maxpacket size may change; let the HCD know about it. + * Other endpoints will be handled by re-enumeration. */ + usb_ep0_reinit(udev); +- ret = hub_port_init(parent_hub, udev, port1, i, &descriptor); ++ ret = hub_port_init(parent_hub, udev, port1, i); + if (ret >= 0 || ret == -ENOTCONN || ret == -ENODEV) + break; + } +@@ -6108,6 +6059,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) + /* Device might have changed firmware (DFU or similar) */ + if (descriptors_changed(udev, &descriptor, bos)) { + dev_info(&udev->dev, "device firmware changed\n"); ++ udev->descriptor = descriptor; /* for disconnect() calls */ + goto re_enumerate; + } + +diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c +index 077dfe48d01c1..0d2bfc909019b 100644 +--- a/drivers/usb/core/message.c ++++ b/drivers/usb/core/message.c +@@ -1041,35 +1041,40 @@ char *usb_cache_string(struct usb_device *udev, int index) + EXPORT_SYMBOL_GPL(usb_cache_string); + + /* +- * usb_get_device_descriptor - read the device descriptor +- * @udev: the device whose device descriptor should be read ++ * usb_get_device_descriptor - (re)reads the device descriptor (usbcore) ++ * @dev: the device whose device descriptor is being updated ++ * @size: how much of the descriptor to read + * + * Context: task context, might sleep. + * ++ * Updates the copy of the device descriptor stored in the device structure, ++ * which dedicates space for this purpose. ++ * + * Not exported, only for use by the core. If drivers really want to read + * the device descriptor directly, they can call usb_get_descriptor() with + * type = USB_DT_DEVICE and index = 0. + * +- * Returns: a pointer to a dynamically allocated usb_device_descriptor +- * structure (which the caller must deallocate), or an ERR_PTR value. ++ * This call is synchronous, and may not be used in an interrupt context. ++ * ++ * Return: The number of bytes received on success, or else the status code ++ * returned by the underlying usb_control_msg() call. + */ +-struct usb_device_descriptor *usb_get_device_descriptor(struct usb_device *udev) ++int usb_get_device_descriptor(struct usb_device *dev, unsigned int size) + { + struct usb_device_descriptor *desc; + int ret; + ++ if (size > sizeof(*desc)) ++ return -EINVAL; + desc = kmalloc(sizeof(*desc), GFP_NOIO); + if (!desc) +- return ERR_PTR(-ENOMEM); +- +- ret = usb_get_descriptor(udev, USB_DT_DEVICE, 0, desc, sizeof(*desc)); +- if (ret == sizeof(*desc)) +- return desc; ++ return -ENOMEM; + ++ ret = usb_get_descriptor(dev, USB_DT_DEVICE, 0, desc, size); + if (ret >= 0) +- ret = -EMSGSIZE; ++ memcpy(&dev->descriptor, desc, size); + kfree(desc); +- return ERR_PTR(ret); ++ return ret; + } + + /* +diff --git a/drivers/usb/core/usb.h b/drivers/usb/core/usb.h +index 60363153fc3f3..69ca59841083b 100644 +--- a/drivers/usb/core/usb.h ++++ b/drivers/usb/core/usb.h +@@ -43,8 +43,8 @@ extern bool usb_endpoint_is_ignored(struct usb_device *udev, + struct usb_endpoint_descriptor *epd); + extern int usb_remove_device(struct usb_device *udev); + +-extern struct usb_device_descriptor *usb_get_device_descriptor( +- struct usb_device *udev); ++extern int usb_get_device_descriptor(struct usb_device *dev, ++ unsigned int size); + extern int usb_set_isoch_delay(struct usb_device *dev); + extern int usb_get_bos_descriptor(struct usb_device *dev); + extern void usb_release_bos_descriptor(struct usb_device *dev); From f9776abb6aa337d5d95aaad577a33d0bd2175136 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Thu, 30 Jan 2025 11:35:41 +0100 Subject: [PATCH 18/55] Update OVA to Linux 6.12 (#3845) * Update OVA to Linux 6.12 * Remove obsolete I2C_COMPAT option Same as on x86, this symbol was removed upstream. * Disable linux-tools hypervfcopyd option It was removed from Linux beginning in 6.9, see: https://lore.kernel.org/all/1711788723-8593-7-git-send-email-ssengar@linux.microsoft.com/ --- Documentation/kernel.md | 2 +- buildroot-external/board/pc/ova/kernel.config | 1 - buildroot-external/configs/ova_defconfig | 7 +++---- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Documentation/kernel.md b/Documentation/kernel.md index fddb754ee34..e06d9466322 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -3,7 +3,7 @@ | Board | Version | |-------|---------| -| Open Virtual Appliance | 6.6.73 | +| Open Virtual Appliance | 6.12.6 | | Raspberry Pi | 6.6.62 | | Raspberry Pi 0-W | 6.6.62 | | Raspberry Pi 2 | 6.6.62 | diff --git a/buildroot-external/board/pc/ova/kernel.config b/buildroot-external/board/pc/ova/kernel.config index a1cf9c69620..570c7287693 100644 --- a/buildroot-external/board/pc/ova/kernel.config +++ b/buildroot-external/board/pc/ova/kernel.config @@ -127,7 +127,6 @@ CONFIG_I6300ESB_WDT=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y -CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=m CONFIG_I2C_MUX=y CONFIG_I2C_TINY_USB=m diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index 1e9188a0122..8433e027342 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -4,7 +4,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" @@ -16,15 +16,14 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.6" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/kernel.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/kernel.config" BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_LINUX_TOOLS_HV=y BR2_PACKAGE_LINUX_TOOLS_HV_KVP_DAEMON=y -BR2_PACKAGE_LINUX_TOOLS_HV_FCOPY_DAEMON=y BR2_PACKAGE_LINUX_TOOLS_HV_VSS_DAEMON=y BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y From ffca0b30a931ffe626ba932db7157ba026dfb477 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Thu, 30 Jan 2025 11:35:51 +0100 Subject: [PATCH 19/55] Fix RPi 5 getting stuck in bootloader after some reboots (#3842) Probably since home-assistant/supervisor#5276 introduced in Supervisor 2024.9.0, RAUC bootloader handler for tryboot can set the tryboot flag also when the tryboot file is not present, causing the Pi to become stuck in bootloader, trying to load the tryboot file. This happens when the device is already in the tryboot state, in that case the tryboot files and flag are created by set-primary and in turn the files are removed in set-state, while the flag is persisted, causing the bootloader to attempt loading non-existing file. To avoid unnecessary juggling with tryboot/config files, only create them and set the flag if the boot slot is different than the current one. Also, make sure that the flag is reboot parameter is cleared when the tryboot files are removed by the handler. Fixes #3740 --- .../rootfs-overlay/usr/lib/rauc/rpi-tryboot.sh | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/buildroot-external/board/raspberrypi/rpi5-64/rootfs-overlay/usr/lib/rauc/rpi-tryboot.sh b/buildroot-external/board/raspberrypi/rpi5-64/rootfs-overlay/usr/lib/rauc/rpi-tryboot.sh index af0d866c4f0..d78129da8bf 100755 --- a/buildroot-external/board/raspberrypi/rpi5-64/rootfs-overlay/usr/lib/rauc/rpi-tryboot.sh +++ b/buildroot-external/board/raspberrypi/rpi5-64/rootfs-overlay/usr/lib/rauc/rpi-tryboot.sh @@ -10,19 +10,30 @@ boot_dir="/mnt/boot" root_slot_a="PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd" root_slot_b="PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20" +get_primary() { + echo "tryboot get-primary" >&2 + cmdline=$(head -n1 "${boot_dir}/cmdline.txt") + get_value rauc.slot "${cmdline}" +} + case "$1" in get-primary) # Actions to be performed when getting the primary bootloader # Example: Output the path to the current primary bootloader - echo "tryboot get-primary" >&2 - cmdline=$(head -n1 "${boot_dir}/cmdline.txt") - get_value rauc.slot "${cmdline}" + get_primary ;; set-primary) # Actions to be performed when setting the primary bootloader # Example: Set the specified bootloader as the primary one slot_bootname="$2" + + # Do nothing if we're already booted in the requested slot + if [ "$(get_primary)" = "${slot_bootname}" ]; then + echo "tryboot set-primary $slot_bootname: already set" >&2 + exit 0 + fi + echo "tryboot set-primary $slot_bootname" >&2 cmdline=$(head -n1 "${boot_dir}/cmdline.txt") if [ "${slot_bootname}" = "A" ]; then @@ -85,6 +96,7 @@ case "$1" in "${boot_dir}/tryboot.txt" > "${boot_dir}/config.txt" mv "${boot_dir}/cmdline-tryboot.txt" "${boot_dir}/cmdline.txt" rm "${boot_dir}/tryboot.txt" + rm /run/systemd/reboot-param fi ;; From f56130af1915ceba732ba940e820be370ca8655d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Thu, 30 Jan 2025 11:36:01 +0100 Subject: [PATCH 20/55] Revert kernel patch causing USB 3 and PCIe breakage on ODROID-M1/M1S (#3843) Revert the patch changing phy reset behavior, requiring also changes in the device tree that are missing in the stable backport. The issue was reported to the regressions mailing list and hopefully future patch release should contain a proper fix. The patch is added to the patches-rockchip directory, potentially affecting Green as well, although the broken peripherals are not used there. Fixes #3837, fixes #3841 --- ...ockchip-naneng-combphy-fix-phy-reset.patch | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 buildroot-external/patches-rockchip/linux/0004-Revert-phy-rockchip-naneng-combphy-fix-phy-reset.patch diff --git a/buildroot-external/patches-rockchip/linux/0004-Revert-phy-rockchip-naneng-combphy-fix-phy-reset.patch b/buildroot-external/patches-rockchip/linux/0004-Revert-phy-rockchip-naneng-combphy-fix-phy-reset.patch new file mode 100644 index 00000000000..61c90286bb9 --- /dev/null +++ b/buildroot-external/patches-rockchip/linux/0004-Revert-phy-rockchip-naneng-combphy-fix-phy-reset.patch @@ -0,0 +1,32 @@ +From 411b308e89929c2b13ef902fd97c1735d8280023 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= +Date: Wed, 29 Jan 2025 16:28:26 +0100 +Subject: [PATCH] Revert "phy: rockchip: naneng-combphy: fix phy reset" +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This reverts commit 908806a2e789998f8897ebab83be10b4b058b6e2. + +This commit causes USB3 and PCIe regression on ODROID-M1 and ODROID-M1S. Revert +it before a fix is merged upstream. + +Link: https://lore.kernel.org/regressions/91993fed-6398-4362-8c62-87beb9ade32b@sairon.cz/ +Signed-off-by: Jan Čermák +--- + drivers/phy/rockchip/phy-rockchip-naneng-combphy.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c +index 9c231094ba359..26b157f53f3da 100644 +--- a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c ++++ b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c +@@ -309,7 +309,7 @@ static int rockchip_combphy_parse_dt(struct device *dev, struct rockchip_combphy + + priv->ext_refclk = device_property_present(dev, "rockchip,ext-refclk"); + +- priv->phy_rst = devm_reset_control_get(dev, "phy"); ++ priv->phy_rst = devm_reset_control_array_get_exclusive(dev); + if (IS_ERR(priv->phy_rst)) + return dev_err_probe(dev, PTR_ERR(priv->phy_rst), "failed to get phy reset\n"); + From 9a760a2e286719871d8b420800bb21330565e1c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Mon, 3 Feb 2025 14:35:22 +0100 Subject: [PATCH 21/55] Update all platforms to latest stable Linux 6.12 (#3850) * Upgrade Rockchip platforms to Linux 6.12 Upgrade all Rockchip boards to latest 6.12. Patches for M1S can be dropped, its DTS has been merged. Same goes for the Rockchip TRNG, it only had to be enabled in the Green DTS. Patch for broken combphy has been updated for 6.12.y. * Remove deprecated and nonsense symbols from Rockchip defconfig Many symbols have been removed between 6.6 and 6.12. Most of them have no use in Rockchip defconfig, or should be set by other kernel fragments anyway. Remove all of them, with the exception of USB_ONBOARD_HUB (which was renamed to USB_ONBOARD_DEV) and FSCACHE (which was changed from tristate to bool). * Update generic-aarch64 to Linux 6.12 * Update Amlogic-based ODROID boards to Linux 6.12 Removed couple of deprecated/unrelated kernel options. * Update VIM3 to Linux 6.12 Cleaned up symbols unrelated/deprecated in 6.12 from defconfig. * Update ODROID-XU4 to Linux 6.12 The usual defconfigs suspects had to been removed and the regulator patch for ethernet needed a minor update after refactoring in upstream. * Update Tinker to Linux 6.12 Needed defconfig cleanup for 6.12, otherwise no changes. * Update x86 and OVA to latest 6.12 release This way the extra patches directory can be removed too. * Remove 6.6.73 patches * Refresh all linux patch series against 6.12.11 sources * Reenable HW RNG on M1S to speed up boot The TRNG on RK3566 supposedly [1] has low quality, that's why it's disabled in upstream for this SoC. We had it enabled in the past and without it, the boot is delayed by quite a lot. Enable it again for now and investigate the RNG issues later. [1] https://patchew.org/linux/cover.1722355365.git.daniel@makrotopia.org/ * Also remove CACHEFILES module from Rockchip config It was only enabled for Rockchip and Tinker, and to my knowledge there is no cachefiles daemon or anything other in the userspace that's using it. * Remove unused 6.6.y fragments Since we only have 6.6.y for Raspberry Pi now, it doesn't need the Rockchip and wireless PCI fragments. --- Documentation/kernel.md | 24 +- .../arm-uefi/generic-aarch64/kernel.config | 4 +- .../board/asus/tinker/kernel.config | 13 - ...ockchip-use-DMA-channels-for-UARTs-f.patch | 12 +- ...88-tinker-Defining-the-SPI-interface.patch | 4 +- ...kchip-enable-I2C1-4-on-rk3288-tinker.patch | 4 +- ...rk3288.dtsi-Add-missing-SPI2-pinctrl.patch | 6 +- ...tinker-Improving-the-CPU-max-voltage.patch | 4 +- ...ci-rockchip-Handle-ASUS-Tinkerboard-.patch | 8 +- ...kchip-Add-Bluetooth-to-rk3288-tinker.patch | 4 +- ...audio-add-ASUS-TinkerBoard-s-ALC4040.patch | 6 +- .../board/hardkernel/kernel-amlogic.config | 5 - ...ip-Enable-Rockchip-TRNG-on-ODROID-M1.patch | 32 + ...ip-Import-Hardkernel-ODROID-M1S-boar.patch | 896 ---- ...an-up-as-required-for-mainline-linux.patch | 335 -- ...s-fix-vdd_cpu-regulator-for-mainline.patch | 43 - ...ove-deprecated-snps-reset-properties.patch | 51 - ...ator-s2mps11-add-ethernet-power-rese.patch | 22 +- ...-meson-g12b-add-power-button-support.patch | 4 +- ...-dts-meson-g12b-add-GPIO-fan-support.patch | 4 +- ...g12b-odroid-n2-add-fan-as-cooling-de.patch | 4 +- ...0004-arm64-dts-meson-add-uart_A-node.patch | 4 +- ...-meson-add-i2c2-node-to-ODROID-N2-N2.patch | 8 +- ...-ODROID-C4-arm64-dts-add-uart_A-node.patch | 6 +- ...ROID-C4-arm64-dts-add-i2c2-i2c3-node.patch | 6 +- ...amlogic-add-uartA-uartC-to-ODROID-C2.patch | 6 +- ...c-meson-gx-add-missing-pins-for-I2C-.patch | 8 +- .../board/khadas/kernel-vim.config | 4 - ...ts-rockchip-Add-NabuCasa-Green-board.patch | 26 +- ...-mfd-rk808-set-PWRON_LP_OFF_TIME-12s.patch | 10 +- ...dts-green-Remove-spiflash-partitions.patch | 6 +- ...05-pwrkey-reverse-polarity-of-pwrkey.patch | 4 +- .../0005-green-emmc-use-HS200-mode.patch | 6 +- ...dts-green-Improve-LED-representation.patch | 4 +- ...e-missed-beacon-timeout-configurable.patch | 94 - .../configs/generic_aarch64_defconfig | 6 +- .../configs/generic_x86_64_defconfig | 2 +- buildroot-external/configs/green_defconfig | 6 +- .../configs/khadas_vim3_defconfig | 4 +- .../configs/odroid_c2_defconfig | 4 +- .../configs/odroid_c4_defconfig | 4 +- .../configs/odroid_m1_defconfig | 6 +- .../configs/odroid_m1s_defconfig | 6 +- .../configs/odroid_n2_defconfig | 4 +- .../configs/odroid_xu4_defconfig | 4 +- buildroot-external/configs/ova_defconfig | 2 +- buildroot-external/configs/tinker_defconfig | 4 +- .../v6.12.y/kernel-arm64-rockchip.config | 52 +- .../v6.6.y/device-support-wireless-pci.config | 55 - .../v6.6.y/kernel-arm64-rockchip.config | 4211 ----------------- ...ckchip-naneng-combphy-fix-phy-reset.patch} | 8 +- ...-hwrng-add-Rockchip-SoC-hwrng-driver.patch | 317 -- ...kchip-add-DT-entry-for-RNG-to-RK356x.patch | 32 - ...ndings-RNG-Add-Rockchip-RNG-bindings.patch | 79 - ...to-explicitly-enable-reachability-te.patch | 8 +- ...changes-causing-issues-with-Z-Wave.m.patch | 52 +- ...to-explicitly-enable-reachability-te.patch | 52 - ...changes-causing-issues-with-Z-Wave.m.patch | 650 --- 58 files changed, 202 insertions(+), 7043 deletions(-) create mode 100644 buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0001-arm64-dts-rockchip-Enable-Rockchip-TRNG-on-ODROID-M1.patch delete mode 100644 buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0001-arm64-dts-rockchip-Import-Hardkernel-ODROID-M1S-boar.patch delete mode 100644 buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0002-arm64-dts-clean-up-as-required-for-mainline-linux.patch delete mode 100644 buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0003-arm64-dts-fix-vdd_cpu-regulator-for-mainline.patch delete mode 100644 buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0005-Remove-deprecated-snps-reset-properties.patch delete mode 100644 buildroot-external/board/pc/patches/linux/0001-iwlwifi-Make-missed-beacon-timeout-configurable.patch delete mode 100644 buildroot-external/kernel/v6.6.y/device-support-wireless-pci.config delete mode 100644 buildroot-external/kernel/v6.6.y/kernel-arm64-rockchip.config rename buildroot-external/patches-rockchip/linux/{0004-Revert-phy-rockchip-naneng-combphy-fix-phy-reset.patch => 0001-Revert-phy-rockchip-naneng-combphy-fix-phy-reset.patch} (85%) delete mode 100644 buildroot-external/patches-rockchip/linux/0001-hwrng-add-Rockchip-SoC-hwrng-driver.patch delete mode 100644 buildroot-external/patches-rockchip/linux/0002-arm64-dts-rockchip-add-DT-entry-for-RNG-to-RK356x.patch delete mode 100644 buildroot-external/patches-rockchip/linux/0003-dt-bindings-RNG-Add-Rockchip-RNG-bindings.patch rename buildroot-external/patches/linux/{6.12.6 => 6.12.11}/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch (88%) rename buildroot-external/patches/linux/{6.12.6 => 6.12.11}/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch (92%) delete mode 100644 buildroot-external/patches/linux/6.6.73/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch delete mode 100644 buildroot-external/patches/linux/6.6.73/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch diff --git a/Documentation/kernel.md b/Documentation/kernel.md index e06d9466322..be1456c76a8 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -3,7 +3,7 @@ | Board | Version | |-------|---------| -| Open Virtual Appliance | 6.12.6 | +| Open Virtual Appliance | 6.12.11 | | Raspberry Pi | 6.6.62 | | Raspberry Pi 0-W | 6.6.62 | | Raspberry Pi 2 | 6.6.62 | @@ -11,14 +11,14 @@ | Raspberry Pi 4 | 6.6.62 | | Raspberry Pi 5 | 6.6.62 | | Home Assistant Yellow | 6.6.62 | -| Home Assistant Green | 6.6.73 | -| Tinker Board | 6.6.73 | -| ODROID-C2 | 6.6.73 | -| ODROID-C4 | 6.6.73 | -| ODROID-M1 | 6.6.73 | -| ODROID-M1S | 6.6.73 | -| ODROID-N2 | 6.6.73 | -| ODROID-XU4 | 6.6.73 | -| Generic aarch64 | 6.6.73 | -| Generic x86-64 | 6.12.6 | -| Khadas VIM3 | 6.6.73 | +| Home Assistant Green | 6.12.11 | +| Tinker Board | 6.12.11 | +| ODROID-C2 | 6.12.11 | +| ODROID-C4 | 6.12.11 | +| ODROID-M1 | 6.12.11 | +| ODROID-M1S | 6.12.11 | +| ODROID-N2 | 6.12.11 | +| ODROID-XU4 | 6.12.11 | +| Generic aarch64 | 6.12.11 | +| Generic x86-64 | 6.12.11 | +| Khadas VIM3 | 6.12.11 | diff --git a/buildroot-external/board/arm-uefi/generic-aarch64/kernel.config b/buildroot-external/board/arm-uefi/generic-aarch64/kernel.config index 3733fd34365..d886cc4baad 100644 --- a/buildroot-external/board/arm-uefi/generic-aarch64/kernel.config +++ b/buildroot-external/board/arm-uefi/generic-aarch64/kernel.config @@ -66,8 +66,8 @@ CONFIG_GPIO_PCA9570=y CONFIG_PHY_XILINX_ZYNQMP=y # USB support -# TODO: enable `CONFIG_USB_ONBOARD_DEV` in 6.12 -# TODO: enable `CONFIG_USB_ONBOARD_DEV_USB5744` in 6.12 +CONFIG_USB_ONBOARD_DEV=y +CONFIG_USB_ONBOARD_DEV_USB5744=y # i2c support CONFIG_I2C_CADENCE=y diff --git a/buildroot-external/board/asus/tinker/kernel.config b/buildroot-external/board/asus/tinker/kernel.config index 6dd3e67ac78..ab34a993f7b 100644 --- a/buildroot-external/board/asus/tinker/kernel.config +++ b/buildroot-external/board/asus/tinker/kernel.config @@ -392,9 +392,6 @@ CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q_MVRP=y CONFIG_ATALK=m -CONFIG_DEV_APPLETALK=m -CONFIG_IPDDP=m -CONFIG_IPDDP_ENCAP=y CONFIG_6LOWPAN=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_HTB=m @@ -450,7 +447,6 @@ CONFIG_NET_ACT_GACT=m CONFIG_GACT_PROB=y CONFIG_NET_ACT_MIRRED=m CONFIG_NET_ACT_SAMPLE=m -CONFIG_NET_ACT_IPT=m CONFIG_NET_ACT_NAT=m CONFIG_NET_ACT_PEDIT=m CONFIG_NET_ACT_SIMP=m @@ -647,9 +643,6 @@ CONFIG_ATH10K_USB=m CONFIG_WCN36XX=m CONFIG_AT76C50X_USB=m CONFIG_BRCMFMAC=m -CONFIG_HOSTAP=y -CONFIG_HOSTAP_FIRMWARE=y -CONFIG_HOSTAP_FIRMWARE_NVRAM=y # CONFIG_WLAN_VENDOR_MARVELL is not set CONFIG_MT7601U=m # CONFIG_WLAN_VENDOR_MICROCHIP is not set @@ -667,9 +660,7 @@ CONFIG_RTL8192CU=m CONFIG_RTL8XXXU=m # CONFIG_WLAN_VENDOR_ST is not set # CONFIG_WLAN_VENDOR_TI is not set -CONFIG_USB_ZD1201=m CONFIG_ZD1211RW=m -CONFIG_USB_NET_RNDIS_WLAN=m CONFIG_NET_FAILOVER=m CONFIG_INPUT_MATRIXKMAP=y CONFIG_INPUT_JOYDEV=y @@ -1495,7 +1486,6 @@ CONFIG_CUSE=m CONFIG_OVERLAY_FS=y CONFIG_FSCACHE=y CONFIG_FSCACHE_STATS=y -CONFIG_CACHEFILES=y CONFIG_ISO9660_FS=m CONFIG_JOLIET=y CONFIG_ZISOFS=y @@ -1503,7 +1493,6 @@ CONFIG_UDF_FS=m CONFIG_MSDOS_FS=y CONFIG_VFAT_FS=y CONFIG_NTFS_FS=m -CONFIG_NTFS_RW=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_ECRYPT_FS=m @@ -1527,7 +1516,6 @@ CONFIG_NFS_SWAP=y CONFIG_NFS_V4_1=y CONFIG_NFS_V4_2=y CONFIG_ROOT_NFS=y -CONFIG_NFS_FSCACHE=y CONFIG_NFSD=m CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y @@ -1571,7 +1559,6 @@ CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_CHACHA20=m -CONFIG_CRYPTO_CFB=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_KEYWRAP=m CONFIG_CRYPTO_LRW=m diff --git a/buildroot-external/board/asus/tinker/patches/linux/0001-Revert-ARM-dts-rockchip-use-DMA-channels-for-UARTs-f.patch b/buildroot-external/board/asus/tinker/patches/linux/0001-Revert-ARM-dts-rockchip-use-DMA-channels-for-UARTs-f.patch index 0abc425f1c7..ac283b70699 100644 --- a/buildroot-external/board/asus/tinker/patches/linux/0001-Revert-ARM-dts-rockchip-use-DMA-channels-for-UARTs-f.patch +++ b/buildroot-external/board/asus/tinker/patches/linux/0001-Revert-ARM-dts-rockchip-use-DMA-channels-for-UARTs-f.patch @@ -1,4 +1,4 @@ -From b4d676729c5bee4b9adb85362f6f2e32f833b6c2 Mon Sep 17 00:00:00 2001 +From 675fbbc309e4f7c805cf4fbd7c463cfc8308b54e Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Wed, 17 Feb 2021 19:55:41 +0100 Subject: [PATCH] Revert "ARM: dts: rockchip: use DMA channels for UARTs for @@ -10,10 +10,10 @@ This reverts commit 3425fe335c29310f6628faf9a7947d07f32d8962. 1 file changed, 8 deletions(-) diff --git a/arch/arm/boot/dts/rockchip/rk3288.dtsi b/arch/arm/boot/dts/rockchip/rk3288.dtsi -index cb9cdaddffd4..51f1273d6beb 100644 +index 3f1d640afafae..becf3abd8367f 100644 --- a/arch/arm/boot/dts/rockchip/rk3288.dtsi +++ b/arch/arm/boot/dts/rockchip/rk3288.dtsi -@@ -378,8 +378,6 @@ uart0: serial@ff180000 { +@@ -387,8 +387,6 @@ uart0: serial@ff180000 { reg-io-width = <4>; clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; clock-names = "baudclk", "apb_pclk"; @@ -22,7 +22,7 @@ index cb9cdaddffd4..51f1273d6beb 100644 pinctrl-names = "default"; pinctrl-0 = <&uart0_xfer>; status = "disabled"; -@@ -393,8 +391,6 @@ uart1: serial@ff190000 { +@@ -402,8 +400,6 @@ uart1: serial@ff190000 { reg-io-width = <4>; clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; clock-names = "baudclk", "apb_pclk"; @@ -31,7 +31,7 @@ index cb9cdaddffd4..51f1273d6beb 100644 pinctrl-names = "default"; pinctrl-0 = <&uart1_xfer>; status = "disabled"; -@@ -421,8 +417,6 @@ uart3: serial@ff1b0000 { +@@ -430,8 +426,6 @@ uart3: serial@ff1b0000 { reg-io-width = <4>; clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; clock-names = "baudclk", "apb_pclk"; @@ -40,7 +40,7 @@ index cb9cdaddffd4..51f1273d6beb 100644 pinctrl-names = "default"; pinctrl-0 = <&uart3_xfer>; status = "disabled"; -@@ -436,8 +430,6 @@ uart4: serial@ff1c0000 { +@@ -445,8 +439,6 @@ uart4: serial@ff1c0000 { reg-io-width = <4>; clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; clock-names = "baudclk", "apb_pclk"; diff --git a/buildroot-external/board/asus/tinker/patches/linux/0002-ARM-DTS-rk3288-tinker-Defining-the-SPI-interface.patch b/buildroot-external/board/asus/tinker/patches/linux/0002-ARM-DTS-rk3288-tinker-Defining-the-SPI-interface.patch index 46a9c6277c0..2dd30043d58 100644 --- a/buildroot-external/board/asus/tinker/patches/linux/0002-ARM-DTS-rk3288-tinker-Defining-the-SPI-interface.patch +++ b/buildroot-external/board/asus/tinker/patches/linux/0002-ARM-DTS-rk3288-tinker-Defining-the-SPI-interface.patch @@ -1,4 +1,4 @@ -From 02c7d9bb23f497993d52f5a41341ed955e6a2745 Mon Sep 17 00:00:00 2001 +From 37b4467356113f17f55066aef54db55b64daa030 Mon Sep 17 00:00:00 2001 From: "Miouyouyou (Myy)" Date: Mon, 5 Nov 2018 22:15:14 +0100 Subject: [PATCH] ARM: DTS: rk3288-tinker: Defining the SPI interface @@ -18,7 +18,7 @@ Signed-off-by: Stefan Agner 1 file changed, 19 insertions(+) diff --git a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi -index 09618bb7d872..30430d2e64b9 100644 +index 09618bb7d872c..30430d2e64b93 100644 --- a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi +++ b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi @@ -483,6 +483,25 @@ &sdio0 { diff --git a/buildroot-external/board/asus/tinker/patches/linux/0003-ARM-dts-rockchip-enable-I2C1-4-on-rk3288-tinker.patch b/buildroot-external/board/asus/tinker/patches/linux/0003-ARM-dts-rockchip-enable-I2C1-4-on-rk3288-tinker.patch index 1a2a1baa4fd..829d93d04bf 100644 --- a/buildroot-external/board/asus/tinker/patches/linux/0003-ARM-dts-rockchip-enable-I2C1-4-on-rk3288-tinker.patch +++ b/buildroot-external/board/asus/tinker/patches/linux/0003-ARM-dts-rockchip-enable-I2C1-4-on-rk3288-tinker.patch @@ -1,4 +1,4 @@ -From bf7869033cf3caa50912cbdfa548428a6571c104 Mon Sep 17 00:00:00 2001 +From 1a15fc7f6a241895a31b00c1f324d358d408a610 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Fri, 4 Sep 2020 21:57:55 +0200 Subject: [PATCH] ARM: dts: rockchip: enable I2C1/4 on rk3288-tinker @@ -11,7 +11,7 @@ Signed-off-by: Stefan Agner 1 file changed, 8 insertions(+) diff --git a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi -index 30430d2e64b9..395afc2b2283 100644 +index 30430d2e64b93..395afc2b2283c 100644 --- a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi +++ b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi @@ -342,10 +342,18 @@ regulator-state-mem { diff --git a/buildroot-external/board/asus/tinker/patches/linux/0004-RK3288-DTSI-rk3288.dtsi-Add-missing-SPI2-pinctrl.patch b/buildroot-external/board/asus/tinker/patches/linux/0004-RK3288-DTSI-rk3288.dtsi-Add-missing-SPI2-pinctrl.patch index 6a8ce20f45e..727f92acf92 100644 --- a/buildroot-external/board/asus/tinker/patches/linux/0004-RK3288-DTSI-rk3288.dtsi-Add-missing-SPI2-pinctrl.patch +++ b/buildroot-external/board/asus/tinker/patches/linux/0004-RK3288-DTSI-rk3288.dtsi-Add-missing-SPI2-pinctrl.patch @@ -1,4 +1,4 @@ -From a0ef6a86e96920a9cf703d8c65d0126494037d37 Mon Sep 17 00:00:00 2001 +From d6c44c231fc4518ad69bb7870a193bb10c563f2a Mon Sep 17 00:00:00 2001 From: Myy Miouyouyou Date: Thu, 19 Oct 2017 21:24:47 +0200 Subject: [PATCH] RK3288: DTSI: rk3288.dtsi: Add missing SPI2 pinctrl @@ -14,10 +14,10 @@ Signed-off-by: Myy Miouyouyou 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/rockchip/rk3288.dtsi b/arch/arm/boot/dts/rockchip/rk3288.dtsi -index 51f1273d6beb..d8663928bfe2 100644 +index becf3abd8367f..e78fa883b9841 100644 --- a/arch/arm/boot/dts/rockchip/rk3288.dtsi +++ b/arch/arm/boot/dts/rockchip/rk3288.dtsi -@@ -311,7 +311,7 @@ spi2: spi@ff130000 { +@@ -320,7 +320,7 @@ spi2: spi@ff130000 { dma-names = "tx", "rx"; interrupts = ; pinctrl-names = "default"; diff --git a/buildroot-external/board/asus/tinker/patches/linux/0005-ARM-DTSI-rk3288-tinker-Improving-the-CPU-max-voltage.patch b/buildroot-external/board/asus/tinker/patches/linux/0005-ARM-DTSI-rk3288-tinker-Improving-the-CPU-max-voltage.patch index 44ee8a05bbb..06d6484c064 100644 --- a/buildroot-external/board/asus/tinker/patches/linux/0005-ARM-DTSI-rk3288-tinker-Improving-the-CPU-max-voltage.patch +++ b/buildroot-external/board/asus/tinker/patches/linux/0005-ARM-DTSI-rk3288-tinker-Improving-the-CPU-max-voltage.patch @@ -1,4 +1,4 @@ -From e828e0fc2be98e5ad20c93981681505fc97b063b Mon Sep 17 00:00:00 2001 +From dfb0232e9fae1267d04247aaf171739038c1659e Mon Sep 17 00:00:00 2001 From: "Miouyouyou (Myy)" Date: Mon, 5 Nov 2018 20:16:05 +0100 Subject: [PATCH] ARM: DTSI: rk3288-tinker: Improving the CPU max voltage @@ -11,7 +11,7 @@ Signed-off-by: Miouyouyou (Myy) 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi -index 395afc2b2283..c7e79e594720 100644 +index 395afc2b2283c..c7e79e5947206 100644 --- a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi +++ b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi @@ -184,7 +184,7 @@ vdd_cpu: DCDC_REG1 { diff --git a/buildroot-external/board/asus/tinker/patches/linux/0006-drivers-mmc-dw-mci-rockchip-Handle-ASUS-Tinkerboard-.patch b/buildroot-external/board/asus/tinker/patches/linux/0006-drivers-mmc-dw-mci-rockchip-Handle-ASUS-Tinkerboard-.patch index 65116b08edc..74192fa25df 100644 --- a/buildroot-external/board/asus/tinker/patches/linux/0006-drivers-mmc-dw-mci-rockchip-Handle-ASUS-Tinkerboard-.patch +++ b/buildroot-external/board/asus/tinker/patches/linux/0006-drivers-mmc-dw-mci-rockchip-Handle-ASUS-Tinkerboard-.patch @@ -1,4 +1,4 @@ -From ad1ffd6be5f54a0871e3c303602548687dfe0ffc Mon Sep 17 00:00:00 2001 +From 4955695e410289df07258b00290d4028c3ac8fb1 Mon Sep 17 00:00:00 2001 From: Myy Miouyouyou Date: Sun, 7 Jan 2018 01:52:44 +0100 Subject: [PATCH] drivers: mmc: dw-mci-rockchip: Handle ASUS Tinkerboard reboot @@ -21,7 +21,7 @@ Signed-off-by: Myy Miouyouyou 1 file changed, 66 insertions(+) diff --git a/drivers/mmc/host/dw_mmc-rockchip.c b/drivers/mmc/host/dw_mmc-rockchip.c -index b07190ba4b7a..0badaa1b404e 100644 +index f96260fd143b4..fa779ce8fb661 100644 --- a/drivers/mmc/host/dw_mmc-rockchip.c +++ b/drivers/mmc/host/dw_mmc-rockchip.c @@ -12,6 +12,11 @@ @@ -36,7 +36,7 @@ index b07190ba4b7a..0badaa1b404e 100644 #include "dw_mmc.h" #include "dw_mmc-pltfm.h" -@@ -340,6 +345,66 @@ static const struct of_device_id dw_mci_rockchip_match[] = { +@@ -527,6 +532,66 @@ static const struct of_device_id dw_mci_rockchip_match[] = { }; MODULE_DEVICE_TABLE(of, dw_mci_rockchip_match); @@ -103,7 +103,7 @@ index b07190ba4b7a..0badaa1b404e 100644 static int dw_mci_rockchip_probe(struct platform_device *pdev) { const struct dw_mci_drv_data *drv_data; -@@ -367,6 +432,7 @@ static int dw_mci_rockchip_probe(struct platform_device *pdev) +@@ -554,6 +619,7 @@ static int dw_mci_rockchip_probe(struct platform_device *pdev) } pm_runtime_put_autosuspend(&pdev->dev); diff --git a/buildroot-external/board/asus/tinker/patches/linux/0007-ARM-dts-rockchip-Add-Bluetooth-to-rk3288-tinker.patch b/buildroot-external/board/asus/tinker/patches/linux/0007-ARM-dts-rockchip-Add-Bluetooth-to-rk3288-tinker.patch index b943705def6..8a7e6e1b696 100644 --- a/buildroot-external/board/asus/tinker/patches/linux/0007-ARM-dts-rockchip-Add-Bluetooth-to-rk3288-tinker.patch +++ b/buildroot-external/board/asus/tinker/patches/linux/0007-ARM-dts-rockchip-Add-Bluetooth-to-rk3288-tinker.patch @@ -1,4 +1,4 @@ -From 4e6c3d013c847f199664a3075934f5ca52d8cba4 Mon Sep 17 00:00:00 2001 +From 74227462bbe9236dca234dd24cce4191fa71bdf9 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Tue, 10 May 2022 22:57:26 +0200 Subject: [PATCH] ARM: dts: rockchip: Add Bluetooth to rk3288-tinker @@ -12,7 +12,7 @@ Signed-off-by: Stefan Agner 1 file changed, 26 insertions(+) diff --git a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi -index c7e79e594720..5d261fae6e72 100644 +index c7e79e5947206..5d261fae6e72a 100644 --- a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi +++ b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi @@ -386,6 +386,20 @@ bl_en: bl-en { diff --git a/buildroot-external/board/asus/tinker/patches/linux/0008-usb-audio-add-ASUS-TinkerBoard-s-ALC4040.patch b/buildroot-external/board/asus/tinker/patches/linux/0008-usb-audio-add-ASUS-TinkerBoard-s-ALC4040.patch index aefcdf118d0..1de0cecc744 100644 --- a/buildroot-external/board/asus/tinker/patches/linux/0008-usb-audio-add-ASUS-TinkerBoard-s-ALC4040.patch +++ b/buildroot-external/board/asus/tinker/patches/linux/0008-usb-audio-add-ASUS-TinkerBoard-s-ALC4040.patch @@ -1,4 +1,4 @@ -From f597ec583c262ed4c3264ddf661e22b503fb8a11 Mon Sep 17 00:00:00 2001 +From eb29ab60a69353f355b3af58b06fff1a89d17992 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Wed, 10 Jan 2024 16:29:59 +0100 Subject: [PATCH] usb-audio: add ASUS TinkerBoard's ALC4040 @@ -12,10 +12,10 @@ Co-authored-by: Pascal Vizeli 1 file changed, 8 insertions(+) diff --git a/sound/usb/card.c b/sound/usb/card.c -index 1b2edc0fd2e9..3069ac5b6759 100644 +index 9c411b82a218d..672136e25c81d 100644 --- a/sound/usb/card.c +++ b/sound/usb/card.c -@@ -521,6 +521,14 @@ static void usb_audio_make_shortname(struct usb_device *dev, +@@ -533,6 +533,14 @@ static void usb_audio_make_shortname(struct usb_device *dev, } strim(card->shortname); diff --git a/buildroot-external/board/hardkernel/kernel-amlogic.config b/buildroot-external/board/hardkernel/kernel-amlogic.config index 7733c8a029d..ccedb184204 100644 --- a/buildroot-external/board/hardkernel/kernel-amlogic.config +++ b/buildroot-external/board/hardkernel/kernel-amlogic.config @@ -228,7 +228,6 @@ CONFIG_PCIE_KIRIN=y # CONFIG_PCI_MESON is not set CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y -CONFIG_BRCMSTB_GISB_ARB=y CONFIG_VEXPRESS_CONFIG=y CONFIG_ARM_SCPI_PROTOCOL=y CONFIG_EFI_CAPSULE_LOADER=y @@ -381,7 +380,6 @@ CONFIG_TCG_TIS_I2C_INFINEON=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_MUX=y CONFIG_I2C_MUX_PCA954x=y -CONFIG_I2C_DESIGNWARE_PLATFORM=y CONFIG_I2C_GPIO=m CONFIG_I2C_MESON=y CONFIG_I2C_RK3X=y @@ -409,7 +407,6 @@ CONFIG_W1=y CONFIG_W1_MASTER_DS2490=m CONFIG_W1_MASTER_DS2482=m CONFIG_W1_MASTER_GPIO=m -CONFIG_POWER_RESET_BRCMSTB=y CONFIG_POWER_RESET_VEXPRESS=y CONFIG_POWER_RESET_XGENE=y CONFIG_POWER_RESET_SYSCON=y @@ -541,7 +538,6 @@ CONFIG_DRM_MESON=m CONFIG_DRM_PL111=m CONFIG_DRM_LIMA=m CONFIG_DRM_PANFROST=m -CONFIG_DRM_LEGACY=y CONFIG_FB=y CONFIG_FB_MODE_HELPERS=y CONFIG_FB_EFI=y @@ -684,7 +680,6 @@ CONFIG_ARM_SMMU_V3=y CONFIG_REMOTEPROC=y CONFIG_RPMSG_QCOM_GLINK_RPM=y CONFIG_MESON_CANVAS=y -CONFIG_SOC_BRCMSTB=y CONFIG_SOC_TI=y CONFIG_EXTCON_USB_GPIO=y CONFIG_EXTCON_USBC_CROS_EC=y diff --git a/buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0001-arm64-dts-rockchip-Enable-Rockchip-TRNG-on-ODROID-M1.patch b/buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0001-arm64-dts-rockchip-Enable-Rockchip-TRNG-on-ODROID-M1.patch new file mode 100644 index 00000000000..f34b2ec380e --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0001-arm64-dts-rockchip-Enable-Rockchip-TRNG-on-ODROID-M1.patch @@ -0,0 +1,32 @@ +From 60b24f8c30181ef60964ce186c2a6d05b85f3be1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= +Date: Fri, 31 Jan 2025 16:13:48 +0100 +Subject: [PATCH] arm64: dts: rockchip: Enable Rockchip TRNG on ODROID-M1S +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +HAOS with 6.6 kernel had the RNG disbled because of a downstream patch. Now the +rk356x.dtsi has it's enabled only in rk3568.dtsi. We want it enabled also for +RK3566 on ODROID-M1S. + +Signed-off-by: Jan Čermák +--- + arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts +index 33bc5249d729b..a0d912b5ce4aa 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts +@@ -551,6 +551,10 @@ &pmu_io_domains { + status = "okay"; + }; + ++&rng { ++ status = "okay"; ++}; ++ + &saradc { + vref-supply = <&vcca_1v8>; + status = "okay"; diff --git a/buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0001-arm64-dts-rockchip-Import-Hardkernel-ODROID-M1S-boar.patch b/buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0001-arm64-dts-rockchip-Import-Hardkernel-ODROID-M1S-boar.patch deleted file mode 100644 index 3b6d9963e46..00000000000 --- a/buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0001-arm64-dts-rockchip-Import-Hardkernel-ODROID-M1S-boar.patch +++ /dev/null @@ -1,896 +0,0 @@ -From 83dadbe0a615f6fc7550dec98dee938647050990 Mon Sep 17 00:00:00 2001 -From: Tim Lunn -Date: Sun, 28 Jan 2024 18:52:26 +1100 -Subject: [PATCH] arm64: dts: rockchip: Import Hardkernel ODROID-M1S board - -Odroid-m1s is in the process of being upstreamed. -For now sync dts for Odroid-m1s: -https://github.com/tobetter/linux/blob/ae33b445578884c70d7bfc5d6d519de4db815ccd/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts ---- - arch/arm64/boot/dts/rockchip/Makefile | 1 + - .../boot/dts/rockchip/rk3566-odroid-m1s.dts | 861 ++++++++++++++++++ - 2 files changed, 862 insertions(+) - create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts - -diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile -index 8c15593c0ca4..362359684ed0 100644 ---- a/arch/arm64/boot/dts/rockchip/Makefile -+++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -63,6 +63,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399pro-rock-pi-n10.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg353p.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg503.dtb -+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-odroid-m1s.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.1.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.2.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-a.dtb -diff --git a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts -new file mode 100644 -index 000000000000..1cad9217c374 ---- /dev/null -+++ b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts -@@ -0,0 +1,861 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2023 Hardkernel Co., Ltd. -+ * -+ */ -+ -+/dts-v1/; -+#include -+#include -+#include -+#include -+ -+#include "rk3566.dtsi" -+ -+/ { -+ model = "Hardkernel ODROID-M1S"; -+ compatible = "rockchip,rk3566-odroid-m1", "rockchip,rk3566"; -+ -+ aliases { -+ ethernet1 = &gmac1; -+ i2c0 = &i2c3; -+ i2c3 = &i2c0; -+ mmc0 = &sdhci; -+ mmc1 = &sdmmc0; -+ serial0 = &uart1; -+ serial1 = &uart0; -+ }; -+ -+ chosen: chosen { -+ stdout-path = "serial2:1500000n8"; -+ }; -+ -+ hdmi-con { -+ compatible = "hdmi-connector"; -+ type = "a"; -+ -+ port { -+ hdmi_con_in: endpoint { -+ remote-endpoint = <&hdmi_out_con>; -+ }; -+ }; -+ }; -+ -+ gmac1_clkin: external-gmac1-clock { -+ compatible = "fixed-clock"; -+ clock-frequency = <125000000>; -+ clock-output-names = "gmac1_clkin"; -+ #clock-cells = <0>; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ status = "okay"; -+ -+ red_led: red { -+ gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-on"; -+ function = LED_FUNCTION_POWER; -+ color = ; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&led_power_en>; -+ }; -+ blue_led: blue { -+ gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "heartbeat"; -+ function = LED_FUNCTION_HEARTBEAT; -+ color = ; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&led_work_en>; -+ }; -+ }; -+ -+ pcie20_3v3: pcie20-3v3-regulator { -+ compatible = "regulator-fixed"; -+ enable-active-high; -+ gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pcie20_3v3_en>; -+ regulator-name = "pcie20_3v3"; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ rk809-sound { -+ compatible = "simple-audio-card"; -+ simple-audio-card,format = "i2s"; -+ simple-audio-card,name = "ODROID-M1-FRONT"; -+ simple-audio-card,mclk-fs = <256>; -+ status = "okay"; -+ -+ simple-audio-card,cpu { -+ sound-dai = <&i2s1_8ch>; -+ }; -+ -+ simple-audio-card,codec { -+ sound-dai = <&rk809>; -+ }; -+ }; -+ -+ vcc3v3_sys: vcc3v3-sys { -+ compatible = "regulator-fixed"; -+ regulator-name = "vcc3v3_sys"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ vin-supply = <&vcc5v0_sys>; -+ }; -+ -+ vcc5v_dcin: vcc5v-dcin { -+ compatible = "regulator-fixed"; -+ regulator-name = "vcc-5v"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ }; -+ -+ vcc5v0_sys: vcc5v0-sys { -+ compatible = "regulator-fixed"; -+ regulator-name = "vcc5v0_sys"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ vin-supply = <&vcc5v_dcin>; -+ }; -+ -+ vcc5v0_host: vcc5v0-host-regulator { -+ compatible = "regulator-fixed"; -+ enable-active-high; -+ gpio = <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&vcc5v0_host_en>; -+ regulator-name = "vcc5v0_host"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ vin-supply = <&vcc5v0_sys>; -+ }; -+ -+ vcc5v0_usb_otg: vcc5v0-otg-regulator { -+ compatible = "regulator-fixed"; -+ enable-active-high; -+ gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&vcc5v0_usb_otg_en>; -+ regulator-name = "vcc5v0_usb_otg"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ vin-supply = <&vcc5v0_sys>; -+ }; -+ -+ vcc5v0_usb_host: vcc5v0-usb3-regulator { -+ compatible = "regulator-fixed"; -+ enable-active-high; -+ gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&vcc5v0_usb_host_en>; -+ regulator-name = "vcc5v0_usb_host"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ vin-supply = <&vcc5v0_sys>; -+ }; -+}; -+ -+&combphy1 { -+ phy-supply = <&vcc5v0_usb_host>; -+ status = "okay"; -+}; -+ -+&combphy2 { -+ status = "okay"; -+}; -+ -+&cpu0 { -+ cpu-supply = <&vdd_cpu>; -+}; -+ -+&cpu1 { -+ cpu-supply = <&vdd_cpu>; -+}; -+ -+&cpu2 { -+ cpu-supply = <&vdd_cpu>; -+}; -+ -+&cpu3 { -+ cpu-supply = <&vdd_cpu>; -+}; -+ -+&display_subsystem { -+ status = "okay"; -+}; -+ -+&gmac1 { -+ assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>; -+ assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>; -+ clock_in_out = "input"; -+ phy-supply = <&vcc_3v3>; -+ phy-mode = "rgmii"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&gmac1m1_miim -+ &gmac1m1_tx_bus2 -+ &gmac1m1_rx_bus2 -+ &gmac1m1_rgmii_clk -+ &gmac1m1_rgmii_bus -+ &gmac1m1_clkinout>; -+ snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; -+ snps,reset-active-low; -+ /* Reset time is 20ms, 100ms for rtl8211f */ -+ snps,reset-delays-us = <0 20000 100000>; -+ tx_delay = <0x4f>; -+ rx_delay = <0x2d>; -+ phy-handle = <&rgmii_phy1>; -+ status = "okay"; -+}; -+ -+&gpio0 { -+ gpio-line-names = -+ /* GPIO0_A0-A3 */ -+ "", "", "", "", -+ /* GPIO0_A4-A7 */ -+ "", "", "", "", -+ -+ /* GPIO0_B0-B3 */ -+ "", "", "", "PIN_28", -+ /* GPIO0_B4-B7 */ -+ "PIN_27", "PIN_33", "PIN_7", "", -+ -+ /* GPIO0_C0-C3 */ -+ "PIN_11", "PIN_13", "PIN_15", "", -+ /* GPIO0_C4-C7 */ -+ "", "", "", "", -+ -+ /* GPIO0_D0-D3 */ -+ "", "", "", "", -+ /* GPIO0_D4-D7 */ -+ "", "", "", ""; -+}; -+ -+&gpio1 { -+ gpio-line-names = -+ /* GPIO1_A0-A3 */ -+ "", "", "", "", -+ /* GPIO1_A4-A7 */ -+ "", "", "", "", -+ -+ /* GPIO1_B0-B3 */ -+ "", "", "", "", -+ /* GPIO1_B4-B7 */ -+ "", "", "", "", -+ -+ /* GPIO1_C0-C3 */ -+ "", "", "", "", -+ /* GPIO1_C4-C7 */ -+ "", "", "", "", -+ -+ /* GPIO1_D0-D3 */ -+ "", "", "", "", -+ /* GPIO1_D4-D7 */ -+ "", "", "", ""; -+}; -+ -+&gpio2 { -+ gpio-line-names = -+ /* GPIO2_A0-A3 */ -+ "", "", "", "PIN_10", -+ /* GPIO2_A4-A7 */ -+ "PIN_8", "PINN_35", "PIN_36", "PIN_12", -+ -+ /* GPIO2_B0-B3 */ -+ "PIN_22", "PIN_26", "PIN_32", "", -+ /* GPIO2_B4-B7 */ -+ "", "PIN_16", "PIN_18", "PIN_31", -+ -+ /* GPIO2_C0-C3 */ -+ "PIN_29", "", "", "", -+ /* GPIO2_C4-C7 */ -+ "", "", "", "", -+ -+ /* GPIO2_D0-D3 */ -+ "", "", "", "", -+ /* GPIO2_D4-D7 */ -+ "", "", "", ""; -+}; -+ -+&gpio3 { -+ gpio-line-names = -+ /* GPIO3_A0-A3 */ -+ "", "PIN_24", "", "", -+ /* GPIO3_A4-A7 */ -+ "", "", "", "", -+ -+ /* GPIO3_B0-B3 */ -+ "", "", "", "EXTPIN_13", -+ /* GPIO3_B4-B7 */ -+ "EXTPIN_14", "PIN_5", "PIN_3", "", -+ -+ /* GPIO3_C0-C3 */ -+ "", "PIN_19", "PIN_21", "PIN_23", -+ /* GPIO3_C4-C7 */ -+ "EXTPIN_11", "EXTPIN_12", "", "", -+ -+ /* GPIO3_D0-D3 */ -+ "", "", "", "", -+ /* GPIO3_D4-D7 */ -+ "", "", "", ""; -+}; -+ -+&gpio4 { -+ gpio-line-names = -+ /* GPIO4_A0-A3 */ -+ "", "", "", "", -+ /* GPIO4_A4-A7 */ -+ "", "", "", "", -+ -+ /* GPIO4_B0-B3 */ -+ "", "", "", "", -+ /* GPIO4_B4-B7 */ -+ "", "", "", "", -+ -+ /* GPIO4_C0-C3 */ -+ "", "", "", "", -+ /* GPIO4_C4-C7 */ -+ "", "", "", "", -+ -+ /* GPIO4_D0-D3 */ -+ "", "", "", "", -+ /* GPIO4_D4-D7 */ -+ "", "", "", ""; -+}; -+ -+&gpu { -+ mali-supply = <&vdd_gpu>; -+ status = "okay"; -+}; -+ -+&hdmi { -+ avdd-0v9-supply = <&vdda0v9_image>; -+ avdd-1v8-supply = <&vcca1v8_image>; -+ status = "okay"; -+}; -+ -+&hdmi_in { -+ hdmi_in_vp0: endpoint { -+ remote-endpoint = <&vp0_out_hdmi>; -+ }; -+}; -+ -+&hdmi_out { -+ hdmi_out_con: endpoint { -+ remote-endpoint = <&hdmi_con_in>; -+ }; -+}; -+ -+&hdmi_sound { -+ simple-audio-card,name = "ODROID-M1-HDMI"; -+ status = "okay"; -+}; -+ -+&i2c0 { -+ status = "okay"; -+ vdd_cpu: tcs4525@1c { -+ compatible = "tcs,tcs452x"; -+ reg = <0x1c>; -+ vin-supply = <&vcc5v0_sys>; -+ regulator-compatible = "fan53555-reg"; -+ regulator-name = "vdd_cpu"; -+ regulator-min-microvolt = <712500>; -+ regulator-max-microvolt = <1390000>; -+ regulator-init-microvolt = <900000>; -+ regulator-ramp-delay = <2300>; -+ fcs,suspend-voltage-selector = <1>; -+ regulator-boot-on; -+ regulator-always-on; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ rk809: pmic@20 { -+ compatible = "rockchip,rk809"; -+ reg = <0x20>; -+ interrupt-parent = <&gpio0>; -+ interrupts = ; -+ assigned-clocks = <&cru I2S1_MCLKOUT_TX>; -+ assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; -+ #clock-cells = <1>; -+ clock-names = "mclk"; -+ clocks = <&cru I2S1_MCLKOUT_TX>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>; -+ rockchip,system-power-controller; -+ #sound-dai-cells = <0>; -+ vcc1-supply = <&vcc3v3_sys>; -+ vcc2-supply = <&vcc3v3_sys>; -+ vcc3-supply = <&vcc3v3_sys>; -+ vcc4-supply = <&vcc3v3_sys>; -+ vcc5-supply = <&vcc3v3_sys>; -+ vcc6-supply = <&vcc3v3_sys>; -+ vcc7-supply = <&vcc3v3_sys>; -+ vcc8-supply = <&vcc3v3_sys>; -+ vcc9-supply = <&vcc3v3_sys>; -+ wakeup-source; -+ -+ regulators { -+ vdd_logic: DCDC_REG1 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <500000>; -+ regulator-max-microvolt = <1350000>; -+ regulator-init-microvolt = <900000>; -+ regulator-ramp-delay = <6001>; -+ regulator-initial-mode = <0x2>; -+ regulator-name = "vdd_logic"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vdd_gpu: DCDC_REG2 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <500000>; -+ regulator-max-microvolt = <1350000>; -+ regulator-init-microvolt = <900000>; -+ regulator-ramp-delay = <6001>; -+ regulator-initial-mode = <0x2>; -+ regulator-name = "vdd_gpu"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vcc_ddr: DCDC_REG3 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-initial-mode = <0x2>; -+ regulator-name = "vcc_ddr"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ }; -+ }; -+ -+ vdd_npu: DCDC_REG4 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <500000>; -+ regulator-max-microvolt = <1350000>; -+ regulator-init-microvolt = <900000>; -+ regulator-ramp-delay = <6001>; -+ regulator-initial-mode = <0x2>; -+ regulator-name = "vdd_npu"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vdda0v9_image: LDO_REG1 { -+ regulator-boot-on; -+ regulator-always-on; -+ regulator-min-microvolt = <900000>; -+ regulator-max-microvolt = <900000>; -+ regulator-name = "vdda0v9_image"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vdda_0v9: LDO_REG2 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <900000>; -+ regulator-max-microvolt = <900000>; -+ regulator-name = "vdda_0v9"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vdda0v9_pmu: LDO_REG3 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <900000>; -+ regulator-max-microvolt = <900000>; -+ regulator-name = "vdda0v9_pmu"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <900000>; -+ }; -+ }; -+ -+ vccio_acodec: LDO_REG4 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <3000000>; -+ regulator-max-microvolt = <3000000>; -+ regulator-name = "vccio_acodec"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vccio_sd: LDO_REG5 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vccio_sd"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vcc3v3_pmu: LDO_REG6 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc3v3_pmu"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <3300000>; -+ }; -+ }; -+ -+ vcca_1v8: LDO_REG7 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcca_1v8"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vcca1v8_ddr: LDO_REG8 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcca1v8_pmu"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1800000>; -+ }; -+ }; -+ -+ vcca1v8_image: LDO_REG9 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcca1v8_image"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vcc_1v8: DCDC_REG5 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc_1v8"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vcc_3v3: SWITCH_REG1 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-name = "vcc_3v3"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vcc3v3_sd: SWITCH_REG2 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-name = "vcc3v3_sd"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ }; -+ }; -+}; -+ -+&i2c2 { -+ status = "disabled"; -+ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&i2c2m1_xfer>; -+ -+ clock-frequency = <400000>; -+}; -+ -+&i2c3 { -+ status = "disabled"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&i2c3m1_xfer>; -+}; -+ -+&i2s0_8ch { -+ status = "okay"; -+}; -+ -+&i2s1_8ch { -+ status = "okay"; -+ rockchip,clk-trcm = <1>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&i2s1m0_sclktx -+ &i2s1m0_lrcktx -+ &i2s1m0_sdi0 -+ &i2s1m0_sdo0>; -+}; -+ -+&mdio1 { -+ rgmii_phy1: phy@0 { -+ compatible = "ethernet-phy-ieee802.3-c22"; -+ reg = <0x0>; -+ }; -+}; -+ -+&pcie2x1 { -+ reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>; -+ vpcie3v3-supply = <&pcie20_3v3>; -+ pinctrl-0 = <&pcie20m2_pins>; -+ status = "okay"; -+}; -+ -+&pinctrl { -+ gmac1 { -+ gmac1m1_miim: gmac1m1-miim { -+ rockchip,pins = -+ /* gmac1_mdcm1 */ -+ <4 RK_PB6 3 &pcfg_pull_none_drv_level_15>, -+ /* gmac1_mdiom1 */ -+ <4 RK_PB7 3 &pcfg_pull_none_drv_level_15>; -+ }; -+ -+ gmac1m1_clkinout: gmac1m1-clkinout { -+ rockchip,pins = -+ /* gmac1_mclkinoutm1 */ -+ <4 RK_PC1 3 &pcfg_pull_none_drv_level_15>; -+ }; -+ -+ gmac1m1_rx_bus2: gmac1m1-rx-bus2 { -+ rockchip,pins = -+ /* gmac1_rxd0m1 */ -+ <4 RK_PA7 3 &pcfg_pull_none_drv_level_15>, -+ /* gmac1_rxd1m1 */ -+ <4 RK_PB0 3 &pcfg_pull_none_drv_level_15>, -+ /* gmac1_rxdvcrsm1 */ -+ <4 RK_PB1 3 &pcfg_pull_none_drv_level_15>; -+ }; -+ -+ gmac1m1_tx_bus2: gmac1m1-tx-bus2 { -+ rockchip,pins = -+ /* gmac1_txd0m1 */ -+ <4 RK_PA4 3 &pcfg_pull_none_drv_level_15>, -+ /* gmac1_txd1m1 */ -+ <4 RK_PA5 3 &pcfg_pull_none_drv_level_15>, -+ /* gmac1_txenm1 */ -+ <4 RK_PA6 3 &pcfg_pull_none_drv_level_15>; -+ }; -+ -+ gmac1m1_rgmii_clk: gmac1m1-rgmii-clk { -+ rockchip,pins = -+ /* gmac1_rxclkm1 */ -+ <4 RK_PA3 3 &pcfg_pull_none_drv_level_15>, -+ /* gmac1_txclkm1 */ -+ <4 RK_PA0 3 &pcfg_pull_none_drv_level_15>; -+ }; -+ -+ gmac1m1_rgmii_bus: gmac1m1-rgmii-bus { -+ rockchip,pins = -+ /* gmac1_rxd2m1 */ -+ <4 RK_PA1 3 &pcfg_pull_none_drv_level_15>, -+ /* gmac1_rxd3m1 */ -+ <4 RK_PA2 3 &pcfg_pull_none_drv_level_15>, -+ /* gmac1_txd2m1 */ -+ <3 RK_PD6 3 &pcfg_pull_none_drv_level_15>, -+ /* gmac1_txd3m1 */ -+ <3 RK_PD7 3 &pcfg_pull_none_drv_level_15>; -+ }; -+ }; -+ -+ leds { -+ led_power_en: led_power_en { -+ rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ led_work_en: led_work_en { -+ rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+ -+ pcie { -+ pcie20_3v3_en: pcie20-3v3-en { -+ rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+ -+ pmic { -+ pmic_int: pmic_int { -+ rockchip,pins = -+ <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; -+ }; -+ }; -+ -+ usb { -+ vcc5v0_host_en: vcc5v0-host-en { -+ rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ -+ vcc5v0_usb_otg_en: vcc5v0-otg-en { -+ rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ -+ vcc5v0_usb_host_en: vcc5v0-usb3-en { -+ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+}; -+ -+&pmu_io_domains { -+ pmuio1-supply = <&vcc3v3_pmu>; -+ pmuio2-supply = <&vcc3v3_pmu>; -+ vccio1-supply = <&vccio_acodec>; -+ vccio2-supply = <&vcc_1v8>; -+ vccio3-supply = <&vccio_sd>; -+ vccio4-supply = <&vcc_3v3>; -+ vccio5-supply = <&vcc_3v3>; -+ vccio6-supply = <&vcc_3v3>; -+ vccio7-supply = <&vcc_3v3>; -+ status = "okay"; -+}; -+ -+&pwm1 { -+ status = "disabled"; -+ pinctrl-0 = <&pwm1m1_pins>; -+}; -+ -+&saradc { -+ vref-supply = <&vcca_1v8>; -+ status = "okay"; -+}; -+ -+&sdhci { -+ bus-width = <8>; -+ max-frequency = <200000000>; -+ non-removable; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe &emmc_rstnout>; -+ vmmc-supply = <&vcc_3v3>; -+ vqmmc-supply = <&vcc_1v8>; -+ status = "okay"; -+}; -+ -+&sdmmc0 { -+ bus-width = <4>; -+ cap-sd-highspeed; -+ cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; -+ disable-wp; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; -+ sd-uhs-sdr104; -+ vmmc-supply = <&vcc3v3_sys>; -+ vqmmc-supply = <&vccio_sd>; -+ status = "okay"; -+}; -+ -+&tsadc { -+ status = "okay"; -+}; -+ -+&uart1 { -+ dma-names = "tx", "rx"; -+ /* uart1 uart1-with-ctsrts */ -+ pinctrl-0 = <&uart1m1_xfer>; -+ pinctrl-1 = <&uart1m1_xfer &uart1m1_ctsn &uart1m1_rtsn>; -+ status = "disabled"; -+}; -+ -+&uart2 { -+ status = "okay"; -+}; -+ -+&usb_host0_ehci { -+ status = "okay"; -+}; -+ -+&usb_host0_ohci { -+ status = "okay"; -+}; -+ -+&usb_host0_xhci { -+ dr_mode = "otg"; -+ status = "okay"; -+}; -+ -+&usb_host1_ehci { -+ status = "okay"; -+}; -+ -+&usb_host1_ohci { -+ status = "okay"; -+}; -+ -+&usb_host1_xhci { -+ status = "okay"; -+}; -+ -+&usb2phy0 { -+ status = "okay"; -+}; -+ -+&usb2phy0_host { -+ phy-supply = <&vcc5v0_usb_host>; -+ status = "okay"; -+}; -+ -+&usb2phy0_otg { -+ vbus-supply = <&vcc5v0_usb_otg>; -+ status = "okay"; -+}; -+ -+&usb2phy1 { -+ status = "okay"; -+}; -+ -+&usb2phy1_host { -+ phy-supply = <&vcc5v0_host>; -+ status = "okay"; -+}; -+ -+&usb2phy1_otg { -+ phy-supply = <&vcc5v0_host>; -+ status = "okay"; -+}; -+ -+&vop { -+ assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; -+ assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; -+ status = "okay"; -+}; -+ -+&vop_mmu { -+ status = "okay"; -+}; -+ -+&vp0 { -+ vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { -+ reg = ; -+ remote-endpoint = <&hdmi_in_vp0>; -+ }; -+}; --- -2.40.1 - diff --git a/buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0002-arm64-dts-clean-up-as-required-for-mainline-linux.patch b/buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0002-arm64-dts-clean-up-as-required-for-mainline-linux.patch deleted file mode 100644 index ead22352b60..00000000000 --- a/buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0002-arm64-dts-clean-up-as-required-for-mainline-linux.patch +++ /dev/null @@ -1,335 +0,0 @@ -From eb02261dd6c88a7fcf3c28e59a7976905815fa6b Mon Sep 17 00:00:00 2001 -From: Tim Lunn -Date: Sun, 28 Jan 2024 18:55:57 +1100 -Subject: [PATCH] arm64: dts: clean up as required for mainline linux - ---- - .../boot/dts/rockchip/rk3566-odroid-m1s.dts | 212 +++--------------- - 1 file changed, 27 insertions(+), 185 deletions(-) - -diff --git a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts -index 1cad9217c374..cbf2495901d7 100644 ---- a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts -+++ b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts -@@ -18,12 +18,8 @@ / { - - aliases { - ethernet1 = &gmac1; -- i2c0 = &i2c3; -- i2c3 = &i2c0; - mmc0 = &sdhci; - mmc1 = &sdmmc0; -- serial0 = &uart1; -- serial1 = &uart0; - }; - - chosen: chosen { -@@ -52,7 +48,7 @@ leds { - compatible = "gpio-leds"; - status = "okay"; - -- red_led: red { -+ red_led: led-0 { - gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_LOW>; - linux,default-trigger = "default-on"; - function = LED_FUNCTION_POWER; -@@ -60,7 +56,7 @@ red_led: red { - pinctrl-names = "default"; - pinctrl-0 = <&led_power_en>; - }; -- blue_led: blue { -+ blue_led: led-1 { - gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "heartbeat"; - function = LED_FUNCTION_HEARTBEAT; -@@ -97,6 +93,25 @@ simple-audio-card,codec { - }; - }; - -+ spdif_dit: spdif-dit { -+ compatible = "linux,spdif-dit"; -+ #sound-dai-cells = <0>; -+ status = "disabled"; -+ }; -+ -+ spdif_sound: spdif-sound { -+ compatible = "simple-audio-card"; -+ status = "disabled"; -+ -+ simple-audio-card,cpu { -+ sound-dai = <&spdif>; -+ }; -+ -+ simple-audio-card,codec { -+ sound-dai = <&spdif_dit>; -+ }; -+ }; -+ - vcc3v3_sys: vcc3v3-sys { - compatible = "regulator-fixed"; - regulator-name = "vcc3v3_sys"; -@@ -164,7 +179,6 @@ vcc5v0_usb_host: vcc5v0-usb3-regulator { - }; - - &combphy1 { -- phy-supply = <&vcc5v0_usb_host>; - status = "okay"; - }; - -@@ -215,121 +229,6 @@ &gmac1m1_rgmii_bus - status = "okay"; - }; - --&gpio0 { -- gpio-line-names = -- /* GPIO0_A0-A3 */ -- "", "", "", "", -- /* GPIO0_A4-A7 */ -- "", "", "", "", -- -- /* GPIO0_B0-B3 */ -- "", "", "", "PIN_28", -- /* GPIO0_B4-B7 */ -- "PIN_27", "PIN_33", "PIN_7", "", -- -- /* GPIO0_C0-C3 */ -- "PIN_11", "PIN_13", "PIN_15", "", -- /* GPIO0_C4-C7 */ -- "", "", "", "", -- -- /* GPIO0_D0-D3 */ -- "", "", "", "", -- /* GPIO0_D4-D7 */ -- "", "", "", ""; --}; -- --&gpio1 { -- gpio-line-names = -- /* GPIO1_A0-A3 */ -- "", "", "", "", -- /* GPIO1_A4-A7 */ -- "", "", "", "", -- -- /* GPIO1_B0-B3 */ -- "", "", "", "", -- /* GPIO1_B4-B7 */ -- "", "", "", "", -- -- /* GPIO1_C0-C3 */ -- "", "", "", "", -- /* GPIO1_C4-C7 */ -- "", "", "", "", -- -- /* GPIO1_D0-D3 */ -- "", "", "", "", -- /* GPIO1_D4-D7 */ -- "", "", "", ""; --}; -- --&gpio2 { -- gpio-line-names = -- /* GPIO2_A0-A3 */ -- "", "", "", "PIN_10", -- /* GPIO2_A4-A7 */ -- "PIN_8", "PINN_35", "PIN_36", "PIN_12", -- -- /* GPIO2_B0-B3 */ -- "PIN_22", "PIN_26", "PIN_32", "", -- /* GPIO2_B4-B7 */ -- "", "PIN_16", "PIN_18", "PIN_31", -- -- /* GPIO2_C0-C3 */ -- "PIN_29", "", "", "", -- /* GPIO2_C4-C7 */ -- "", "", "", "", -- -- /* GPIO2_D0-D3 */ -- "", "", "", "", -- /* GPIO2_D4-D7 */ -- "", "", "", ""; --}; -- --&gpio3 { -- gpio-line-names = -- /* GPIO3_A0-A3 */ -- "", "PIN_24", "", "", -- /* GPIO3_A4-A7 */ -- "", "", "", "", -- -- /* GPIO3_B0-B3 */ -- "", "", "", "EXTPIN_13", -- /* GPIO3_B4-B7 */ -- "EXTPIN_14", "PIN_5", "PIN_3", "", -- -- /* GPIO3_C0-C3 */ -- "", "PIN_19", "PIN_21", "PIN_23", -- /* GPIO3_C4-C7 */ -- "EXTPIN_11", "EXTPIN_12", "", "", -- -- /* GPIO3_D0-D3 */ -- "", "", "", "", -- /* GPIO3_D4-D7 */ -- "", "", "", ""; --}; -- --&gpio4 { -- gpio-line-names = -- /* GPIO4_A0-A3 */ -- "", "", "", "", -- /* GPIO4_A4-A7 */ -- "", "", "", "", -- -- /* GPIO4_B0-B3 */ -- "", "", "", "", -- /* GPIO4_B4-B7 */ -- "", "", "", "", -- -- /* GPIO4_C0-C3 */ -- "", "", "", "", -- /* GPIO4_C4-C7 */ -- "", "", "", "", -- -- /* GPIO4_D0-D3 */ -- "", "", "", "", -- /* GPIO4_D4-D7 */ -- "", "", "", ""; --}; -- - &gpu { - mali-supply = <&vdd_gpu>; - status = "okay"; -@@ -368,7 +267,6 @@ vdd_cpu: tcs4525@1c { - regulator-name = "vdd_cpu"; - regulator-min-microvolt = <712500>; - regulator-max-microvolt = <1390000>; -- regulator-init-microvolt = <900000>; - regulator-ramp-delay = <2300>; - fcs,suspend-voltage-selector = <1>; - regulator-boot-on; -@@ -409,7 +307,6 @@ vdd_logic: DCDC_REG1 { - regulator-boot-on; - regulator-min-microvolt = <500000>; - regulator-max-microvolt = <1350000>; -- regulator-init-microvolt = <900000>; - regulator-ramp-delay = <6001>; - regulator-initial-mode = <0x2>; - regulator-name = "vdd_logic"; -@@ -423,7 +320,6 @@ vdd_gpu: DCDC_REG2 { - regulator-boot-on; - regulator-min-microvolt = <500000>; - regulator-max-microvolt = <1350000>; -- regulator-init-microvolt = <900000>; - regulator-ramp-delay = <6001>; - regulator-initial-mode = <0x2>; - regulator-name = "vdd_gpu"; -@@ -447,7 +343,6 @@ vdd_npu: DCDC_REG4 { - regulator-boot-on; - regulator-min-microvolt = <500000>; - regulator-max-microvolt = <1350000>; -- regulator-init-microvolt = <900000>; - regulator-ramp-delay = <6001>; - regulator-initial-mode = <0x2>; - regulator-name = "vdd_npu"; -@@ -587,6 +482,9 @@ regulator-state-mem { - }; - }; - }; -+ codec { -+ rockchip,mic-in-differential; -+ }; - }; - }; - -@@ -611,7 +509,7 @@ &i2s0_8ch { - - &i2s1_8ch { - status = "okay"; -- rockchip,clk-trcm = <1>; -+ rockchip,trcm-sync-tx-only; - pinctrl-names = "default"; - pinctrl-0 = <&i2s1m0_sclktx - &i2s1m0_lrcktx -@@ -620,7 +518,7 @@ &i2s1m0_sdi0 - }; - - &mdio1 { -- rgmii_phy1: phy@0 { -+ rgmii_phy1: ethernet-phy@0 { - compatible = "ethernet-phy-ieee802.3-c22"; - reg = <0x0>; - }; -@@ -634,62 +532,6 @@ &pcie2x1 { - }; - - &pinctrl { -- gmac1 { -- gmac1m1_miim: gmac1m1-miim { -- rockchip,pins = -- /* gmac1_mdcm1 */ -- <4 RK_PB6 3 &pcfg_pull_none_drv_level_15>, -- /* gmac1_mdiom1 */ -- <4 RK_PB7 3 &pcfg_pull_none_drv_level_15>; -- }; -- -- gmac1m1_clkinout: gmac1m1-clkinout { -- rockchip,pins = -- /* gmac1_mclkinoutm1 */ -- <4 RK_PC1 3 &pcfg_pull_none_drv_level_15>; -- }; -- -- gmac1m1_rx_bus2: gmac1m1-rx-bus2 { -- rockchip,pins = -- /* gmac1_rxd0m1 */ -- <4 RK_PA7 3 &pcfg_pull_none_drv_level_15>, -- /* gmac1_rxd1m1 */ -- <4 RK_PB0 3 &pcfg_pull_none_drv_level_15>, -- /* gmac1_rxdvcrsm1 */ -- <4 RK_PB1 3 &pcfg_pull_none_drv_level_15>; -- }; -- -- gmac1m1_tx_bus2: gmac1m1-tx-bus2 { -- rockchip,pins = -- /* gmac1_txd0m1 */ -- <4 RK_PA4 3 &pcfg_pull_none_drv_level_15>, -- /* gmac1_txd1m1 */ -- <4 RK_PA5 3 &pcfg_pull_none_drv_level_15>, -- /* gmac1_txenm1 */ -- <4 RK_PA6 3 &pcfg_pull_none_drv_level_15>; -- }; -- -- gmac1m1_rgmii_clk: gmac1m1-rgmii-clk { -- rockchip,pins = -- /* gmac1_rxclkm1 */ -- <4 RK_PA3 3 &pcfg_pull_none_drv_level_15>, -- /* gmac1_txclkm1 */ -- <4 RK_PA0 3 &pcfg_pull_none_drv_level_15>; -- }; -- -- gmac1m1_rgmii_bus: gmac1m1-rgmii-bus { -- rockchip,pins = -- /* gmac1_rxd2m1 */ -- <4 RK_PA1 3 &pcfg_pull_none_drv_level_15>, -- /* gmac1_rxd3m1 */ -- <4 RK_PA2 3 &pcfg_pull_none_drv_level_15>, -- /* gmac1_txd2m1 */ -- <3 RK_PD6 3 &pcfg_pull_none_drv_level_15>, -- /* gmac1_txd3m1 */ -- <3 RK_PD7 3 &pcfg_pull_none_drv_level_15>; -- }; -- }; -- - leds { - led_power_en: led_power_en { - rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; -@@ -825,7 +667,7 @@ &usb2phy0_host { - }; - - &usb2phy0_otg { -- vbus-supply = <&vcc5v0_usb_otg>; -+ phy-supply = <&vcc5v0_usb_otg>; - status = "okay"; - }; - --- -2.40.1 - diff --git a/buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0003-arm64-dts-fix-vdd_cpu-regulator-for-mainline.patch b/buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0003-arm64-dts-fix-vdd_cpu-regulator-for-mainline.patch deleted file mode 100644 index 654311e458d..00000000000 --- a/buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0003-arm64-dts-fix-vdd_cpu-regulator-for-mainline.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 641ec8e05726d42c8ec7fa3bda1d8a64f126b475 Mon Sep 17 00:00:00 2001 -From: Tim Lunn -Date: Fri, 12 Jan 2024 22:32:56 +1100 -Subject: [PATCH] arm64: dts: fix vdd_cpu regulator for mainline - ---- - .../arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts | 15 ++++++++------- - 1 file changed, 8 insertions(+), 7 deletions(-) - -diff --git a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts -index cbf2495901d7..a5d9216b544b 100644 ---- a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts -+++ b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts -@@ -259,18 +259,19 @@ &hdmi_sound { - - &i2c0 { - status = "okay"; -- vdd_cpu: tcs4525@1c { -- compatible = "tcs,tcs452x"; -+ -+ vdd_cpu: regulator@1c { -+ compatible = "tcs,tcs4525"; - reg = <0x1c>; -- vin-supply = <&vcc5v0_sys>; -- regulator-compatible = "fan53555-reg"; -+ fcs,suspend-voltage-selector = <1>; - regulator-name = "vdd_cpu"; -+ regulator-always-on; -+ regulator-boot-on; - regulator-min-microvolt = <712500>; - regulator-max-microvolt = <1390000>; - regulator-ramp-delay = <2300>; -- fcs,suspend-voltage-selector = <1>; -- regulator-boot-on; -- regulator-always-on; -+ vin-supply = <&vcc3v3_sys>; -+ - regulator-state-mem { - regulator-off-in-suspend; - }; --- -2.40.1 - diff --git a/buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0005-Remove-deprecated-snps-reset-properties.patch b/buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0005-Remove-deprecated-snps-reset-properties.patch deleted file mode 100644 index 7e0584d9deb..00000000000 --- a/buildroot-external/board/hardkernel/odroid-m1s/patches/linux/0005-Remove-deprecated-snps-reset-properties.patch +++ /dev/null @@ -1,51 +0,0 @@ -From b4d16cd88ec2701dcb15b9519a79288ea5d2bfec Mon Sep 17 00:00:00 2001 -From: Tim Lunn -Date: Sat, 3 Feb 2024 23:40:16 +1100 -Subject: [PATCH] Remove deprecated snps,reset properties - ---- - arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts | 11 +++++------ - 1 file changed, 5 insertions(+), 6 deletions(-) - -diff --git a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts -index b8adfd7024f9..e755d00b1d4f 100644 ---- a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts -+++ b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts -@@ -192,8 +192,9 @@ &gmac1 { - assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>; - assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>; - clock_in_out = "input"; -- phy-supply = <&vcc_3v3>; -+ phy-handle = <&rgmii_phy1>; - phy-mode = "rgmii"; -+ phy-supply = <&vcc_3v3>; - pinctrl-names = "default"; - pinctrl-0 = <&gmac1m1_miim - &gmac1m1_tx_bus2 -@@ -201,13 +202,8 @@ &gmac1m1_rx_bus2 - &gmac1m1_rgmii_clk - &gmac1m1_rgmii_bus - &gmac1m1_clkinout>; -- snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; -- snps,reset-active-low; -- /* Reset time is 20ms, 100ms for rtl8211f */ -- snps,reset-delays-us = <0 20000 100000>; - tx_delay = <0x4f>; - rx_delay = <0x2d>; -- phy-handle = <&rgmii_phy1>; - status = "okay"; - }; - -@@ -504,6 +500,9 @@ &mdio1 { - rgmii_phy1: ethernet-phy@0 { - compatible = "ethernet-phy-ieee802.3-c22"; - reg = <0x0>; -+ reset-assert-us = <20000>; -+ reset-deassert-us = <100000>; -+ reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; - }; - }; - --- -2.40.1 - diff --git a/buildroot-external/board/hardkernel/odroid-xu4/patches/linux/0001-ODROID-XU4-regulator-s2mps11-add-ethernet-power-rese.patch b/buildroot-external/board/hardkernel/odroid-xu4/patches/linux/0001-ODROID-XU4-regulator-s2mps11-add-ethernet-power-rese.patch index 24a3c2036f0..949c9db25c1 100644 --- a/buildroot-external/board/hardkernel/odroid-xu4/patches/linux/0001-ODROID-XU4-regulator-s2mps11-add-ethernet-power-rese.patch +++ b/buildroot-external/board/hardkernel/odroid-xu4/patches/linux/0001-ODROID-XU4-regulator-s2mps11-add-ethernet-power-rese.patch @@ -1,8 +1,11 @@ -From c51639443d3c90127a77f1534e39dd01fac1577f Mon Sep 17 00:00:00 2001 +From d4ec3799c0773b3a6d3d90f4b16eec1f50e4b032 Mon Sep 17 00:00:00 2001 From: memeka Date: Fri, 18 Jan 2019 14:36:21 +1030 Subject: [PATCH] ODROID-XU4: regulator: s2mps11: add ethernet power reset in shutdown function +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit Ethernet device cannot be detected on warm boot sometimes. This patch is to add the power reset routines for ethernet device using PMIC. Then @@ -11,15 +14,17 @@ ethernet device can be reset hardware-wise. Change-Id: Iffbe2966da7e4679f63b91ab79241167391792df Signed-off-by: Brian Kim Signed-off-by: Marian Mihailescu +[Updated patch for Linux 6.11+ after scoped memory allocation refactor] +Signed-off-by: Jan Čermák --- - drivers/regulator/s2mps11.c | 55 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 55 insertions(+) + drivers/regulator/s2mps11.c | 56 +++++++++++++++++++++++++++++++++++++ + 1 file changed, 56 insertions(+) diff --git a/drivers/regulator/s2mps11.c b/drivers/regulator/s2mps11.c -index 570b61420f3a..286b606660a4 100644 +index 7dcf92af8f15e..f08f6f494fe0b 100644 --- a/drivers/regulator/s2mps11.c +++ b/drivers/regulator/s2mps11.c -@@ -1117,6 +1117,57 @@ static const struct regulator_desc s2mpu02_regulators[] = { +@@ -1118,6 +1118,57 @@ static const struct regulator_desc s2mpu02_regulators[] = { regulator_desc_s2mpu02_buck7(7), }; @@ -77,7 +82,7 @@ index 570b61420f3a..286b606660a4 100644 static int s2mps11_pmic_probe(struct platform_device *pdev) { struct sec_pmic_dev *iodev = dev_get_drvdata(pdev->dev.parent); -@@ -1219,6 +1270,10 @@ static int s2mps11_pmic_probe(struct platform_device *pdev) +@@ -1219,6 +1270,11 @@ static int s2mps11_pmic_probe(struct platform_device *pdev) } } @@ -85,6 +90,7 @@ index 570b61420f3a..286b606660a4 100644 + s2mps11_pmic_ethonoff(pdev, false); + mdelay(10); + s2mps11_pmic_ethonoff(pdev, true); - out: - kfree(rdata); ++ + return 0; + } diff --git a/buildroot-external/board/hardkernel/patches/linux/0001-arm64-dts-meson-g12b-add-power-button-support.patch b/buildroot-external/board/hardkernel/patches/linux/0001-arm64-dts-meson-g12b-add-power-button-support.patch index 3c090bb5a6d..35ada469190 100644 --- a/buildroot-external/board/hardkernel/patches/linux/0001-arm64-dts-meson-g12b-add-power-button-support.patch +++ b/buildroot-external/board/hardkernel/patches/linux/0001-arm64-dts-meson-g12b-add-power-button-support.patch @@ -1,4 +1,4 @@ -From e780a5f405a02e3102c471415f7b0ad73a5cc036 Mon Sep 17 00:00:00 2001 +From 8286ad3b1e761138e3c574160a5e1a2d6ed06084 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Mon, 11 Jan 2021 11:20:48 +0100 Subject: [PATCH] arm64: dts: meson: g12b: add power button support @@ -13,7 +13,7 @@ Signed-off-by: Stefan Agner 1 file changed, 11 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi -index 9e12a34b2840..c27eae6488ce 100644 +index 09d959aefb184..6be653ac77fac 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi @@ -38,6 +38,17 @@ fan: gpio-fan { diff --git a/buildroot-external/board/hardkernel/patches/linux/0002-arm64-dts-meson-g12b-add-GPIO-fan-support.patch b/buildroot-external/board/hardkernel/patches/linux/0002-arm64-dts-meson-g12b-add-GPIO-fan-support.patch index 97bac2a2d90..05a13d22d4f 100644 --- a/buildroot-external/board/hardkernel/patches/linux/0002-arm64-dts-meson-g12b-add-GPIO-fan-support.patch +++ b/buildroot-external/board/hardkernel/patches/linux/0002-arm64-dts-meson-g12b-add-GPIO-fan-support.patch @@ -1,4 +1,4 @@ -From cff7ba94733d9103487d87a6474e2ab026bd718c Mon Sep 17 00:00:00 2001 +From 6835f658a2c21d38730c1280587cf3768a82ad60 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Mon, 11 Jan 2021 11:38:54 +0100 Subject: [PATCH] arm64: dts: meson: g12b: add GPIO fan support @@ -13,7 +13,7 @@ Signed-off-by: Stefan Agner 1 file changed, 11 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi -index c27eae6488ce..db8a2dfaf0b3 100644 +index 6be653ac77fac..10dd23a3b44bc 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi @@ -49,6 +49,17 @@ power-button { diff --git a/buildroot-external/board/hardkernel/patches/linux/0003-arm64-dts-meson-g12b-odroid-n2-add-fan-as-cooling-de.patch b/buildroot-external/board/hardkernel/patches/linux/0003-arm64-dts-meson-g12b-odroid-n2-add-fan-as-cooling-de.patch index 7fbabbba591..bff74d49c84 100644 --- a/buildroot-external/board/hardkernel/patches/linux/0003-arm64-dts-meson-g12b-odroid-n2-add-fan-as-cooling-de.patch +++ b/buildroot-external/board/hardkernel/patches/linux/0003-arm64-dts-meson-g12b-odroid-n2-add-fan-as-cooling-de.patch @@ -1,4 +1,4 @@ -From 8d781fc504780a3aa8ef751724e3749c2bfda7a9 Mon Sep 17 00:00:00 2001 +From 297031995dabde203581d555e9ddd91a50d155dc Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Mon, 11 Jan 2021 15:53:55 +0100 Subject: [PATCH] arm64: dts: meson: g12b: odroid-n2: add fan as cooling device @@ -17,7 +17,7 @@ Signed-off-by: Stefan Agner 1 file changed, 38 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi -index db8a2dfaf0b3..843e66332369 100644 +index 10dd23a3b44bc..13624c6522abc 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi @@ -245,6 +245,44 @@ &clkc_audio { diff --git a/buildroot-external/board/hardkernel/patches/linux/0004-arm64-dts-meson-add-uart_A-node.patch b/buildroot-external/board/hardkernel/patches/linux/0004-arm64-dts-meson-add-uart_A-node.patch index 7fc410dbc14..41daf6ed9fc 100644 --- a/buildroot-external/board/hardkernel/patches/linux/0004-arm64-dts-meson-add-uart_A-node.patch +++ b/buildroot-external/board/hardkernel/patches/linux/0004-arm64-dts-meson-add-uart_A-node.patch @@ -1,4 +1,4 @@ -From 01ac730fa92a030690a7701c9b8781bc4ef7bcae Mon Sep 17 00:00:00 2001 +From 742764eb039d8d96aa43afeb62a89b122073bb98 Mon Sep 17 00:00:00 2001 From: Hyeonki Hong Date: Fri, 27 Mar 2020 17:05:22 +0900 Subject: [PATCH] arm64: dts: meson: add uart_A node @@ -12,7 +12,7 @@ Signed-off-by: Stefan Agner 1 file changed, 7 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi -index 843e66332369..61caadd679e2 100644 +index 13624c6522abc..6a1330b40cf4d 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi @@ -12,6 +12,7 @@ diff --git a/buildroot-external/board/hardkernel/patches/linux/0005-arm64-dts-meson-add-i2c2-node-to-ODROID-N2-N2.patch b/buildroot-external/board/hardkernel/patches/linux/0005-arm64-dts-meson-add-i2c2-node-to-ODROID-N2-N2.patch index ac0d1ea1df7..0ca99ea1ecd 100644 --- a/buildroot-external/board/hardkernel/patches/linux/0005-arm64-dts-meson-add-i2c2-node-to-ODROID-N2-N2.patch +++ b/buildroot-external/board/hardkernel/patches/linux/0005-arm64-dts-meson-add-i2c2-node-to-ODROID-N2-N2.patch @@ -1,4 +1,4 @@ -From f5676219e12b48a0f591e911797304fae05ca78c Mon Sep 17 00:00:00 2001 +From bb0da00e7b89510fb66c7a8a1acf16d9f58a45fe Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Thu, 29 Apr 2021 21:32:43 +0200 Subject: [PATCH] arm64: dts: meson: add i2c2 node to ODROID N2/N2+ @@ -13,11 +13,11 @@ Signed-off-by: Stefan Agner 1 file changed, 6 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi -index 91c9769fda20..ececc6b17639 100644 +index 3bca8023638d4..45f6dada0edee 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi -@@ -248,6 +248,12 @@ usb-hub-hog { - }; +@@ -264,6 +264,12 @@ &gpio { + "PIN_36"; /* GPIOX_19 */ }; +&i2c2 { diff --git a/buildroot-external/board/hardkernel/patches/linux/0006-ODROID-C4-arm64-dts-add-uart_A-node.patch b/buildroot-external/board/hardkernel/patches/linux/0006-ODROID-C4-arm64-dts-add-uart_A-node.patch index 95282e3f07f..ed2859fe077 100644 --- a/buildroot-external/board/hardkernel/patches/linux/0006-ODROID-C4-arm64-dts-add-uart_A-node.patch +++ b/buildroot-external/board/hardkernel/patches/linux/0006-ODROID-C4-arm64-dts-add-uart_A-node.patch @@ -1,4 +1,4 @@ -From 1c9c3ca476adf09884295e9f8298288ea497e5ac Mon Sep 17 00:00:00 2001 +From 37b8576e97c3a130160bd5908220c67b2258a443 Mon Sep 17 00:00:00 2001 From: Hyeonki Hong Date: Tue, 1 Mar 2022 21:51:50 +0100 Subject: [PATCH] ODROID-C4: arm64/dts: add uart_A node @@ -8,7 +8,7 @@ Subject: [PATCH] ODROID-C4: arm64/dts: add uart_A node 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi -index 1db2327bbd13..e67869fbb460 100644 +index 7b0e9817a615d..a41fc1cfdeead 100644 --- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi @@ -10,8 +10,9 @@ @@ -22,7 +22,7 @@ index 1db2327bbd13..e67869fbb460 100644 }; chosen { -@@ -449,6 +450,12 @@ &tohdmitx { +@@ -453,6 +454,12 @@ &tohdmitx { status = "okay"; }; diff --git a/buildroot-external/board/hardkernel/patches/linux/0007-ODROID-C4-arm64-dts-add-i2c2-i2c3-node.patch b/buildroot-external/board/hardkernel/patches/linux/0007-ODROID-C4-arm64-dts-add-i2c2-i2c3-node.patch index e1df0a5bf9b..36b8c7bc43f 100644 --- a/buildroot-external/board/hardkernel/patches/linux/0007-ODROID-C4-arm64-dts-add-i2c2-i2c3-node.patch +++ b/buildroot-external/board/hardkernel/patches/linux/0007-ODROID-C4-arm64-dts-add-i2c2-i2c3-node.patch @@ -1,4 +1,4 @@ -From 9cd343da01d9b69ad33444105208949775c909b4 Mon Sep 17 00:00:00 2001 +From 837c71af687b26385467b5c1e58208de325f6d26 Mon Sep 17 00:00:00 2001 From: Hyeonki Hong Date: Tue, 1 Mar 2022 21:53:32 +0100 Subject: [PATCH] ODROID-C4: arm64/dts: add i2c2, i2c3 node @@ -8,7 +8,7 @@ Subject: [PATCH] ODROID-C4: arm64/dts: add i2c2, i2c3 node 1 file changed, 53 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi -index e67869fbb460..90d2eea7fe24 100644 +index a41fc1cfdeead..ceb8a182820fd 100644 --- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi @@ -11,6 +11,8 @@ @@ -20,7 +20,7 @@ index e67869fbb460..90d2eea7fe24 100644 serial0 = &uart_AO; serial1 = &uart_A; }; -@@ -386,6 +388,57 @@ &ir { +@@ -390,6 +392,57 @@ &ir { pinctrl-names = "default"; }; diff --git a/buildroot-external/board/hardkernel/patches/linux/0008-arm64-dts-amlogic-add-uartA-uartC-to-ODROID-C2.patch b/buildroot-external/board/hardkernel/patches/linux/0008-arm64-dts-amlogic-add-uartA-uartC-to-ODROID-C2.patch index f60ac362961..40749ff705e 100644 --- a/buildroot-external/board/hardkernel/patches/linux/0008-arm64-dts-amlogic-add-uartA-uartC-to-ODROID-C2.patch +++ b/buildroot-external/board/hardkernel/patches/linux/0008-arm64-dts-amlogic-add-uartA-uartC-to-ODROID-C2.patch @@ -1,4 +1,4 @@ -From 299d45dd82df026c0164e170d476b56eada4aa77 Mon Sep 17 00:00:00 2001 +From 94625c724799c8082ab0f195e1799f88b352203d Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Wed, 15 Feb 2023 20:15:07 +0100 Subject: [PATCH] arm64: dts: amlogic: add uartA/uartC to ODROID-C2 @@ -9,7 +9,7 @@ Signed-off-by: Stefan Agner 1 file changed, 14 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -index e6d2de7c45a9..c6a38d890db5 100644 +index 959bd8d77a82e..557ad0cf8f975 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts @@ -17,6 +17,8 @@ / { @@ -21,7 +21,7 @@ index e6d2de7c45a9..c6a38d890db5 100644 ethernet0 = ðmac; }; -@@ -383,6 +385,18 @@ &uart_AO { +@@ -387,6 +389,18 @@ &uart_AO { pinctrl-names = "default"; }; diff --git a/buildroot-external/board/hardkernel/patches/linux/0009-arm64-dts-amlogic-meson-gx-add-missing-pins-for-I2C-.patch b/buildroot-external/board/hardkernel/patches/linux/0009-arm64-dts-amlogic-meson-gx-add-missing-pins-for-I2C-.patch index 042fb9ca2d4..43ad2cac72d 100644 --- a/buildroot-external/board/hardkernel/patches/linux/0009-arm64-dts-amlogic-meson-gx-add-missing-pins-for-I2C-.patch +++ b/buildroot-external/board/hardkernel/patches/linux/0009-arm64-dts-amlogic-meson-gx-add-missing-pins-for-I2C-.patch @@ -1,4 +1,4 @@ -From 61a378b42a2f61589cc62ff85334dd607014cb6d Mon Sep 17 00:00:00 2001 +From 2ee967384a0062b0de6a4259a9d9c839e11b1120 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Wed, 15 Feb 2023 20:16:29 +0100 Subject: [PATCH] arm64: dts: amlogic: meson-gx: add missing pins for I2C A/B @@ -9,10 +9,10 @@ Signed-off-by: Stefan Agner 1 file changed, 4 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi -index 12ef6e81c8bd..90ae81493de2 100644 +index ed00e67e6923a..460a21a4f551a 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi -@@ -333,6 +333,8 @@ &hwrng { +@@ -339,6 +339,8 @@ &hwrng { &i2c_A { clocks = <&clkc CLKID_I2C>; @@ -21,7 +21,7 @@ index 12ef6e81c8bd..90ae81493de2 100644 }; &i2c_AO { -@@ -341,6 +343,8 @@ &i2c_AO { +@@ -347,6 +349,8 @@ &i2c_AO { &i2c_B { clocks = <&clkc CLKID_I2C>; diff --git a/buildroot-external/board/khadas/kernel-vim.config b/buildroot-external/board/khadas/kernel-vim.config index fea7aafeb7c..b37919a0950 100644 --- a/buildroot-external/board/khadas/kernel-vim.config +++ b/buildroot-external/board/khadas/kernel-vim.config @@ -296,7 +296,6 @@ CONFIG_TCG_TIS_I2C_INFINEON=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_MUX=y CONFIG_I2C_MUX_PCA954x=y -CONFIG_I2C_DESIGNWARE_PLATFORM=y CONFIG_I2C_GPIO=m CONFIG_I2C_MESON=y CONFIG_I2C_RK3X=y @@ -332,7 +331,6 @@ CONFIG_GPIO_MAX732X=y CONFIG_GPIO_PCA953X=y CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GPIO_MAX77620=y -CONFIG_POWER_RESET_BRCMSTB=y CONFIG_POWER_RESET_XGENE=y CONFIG_POWER_RESET_SYSCON=y CONFIG_SYSCON_REBOOT_MODE=y @@ -546,7 +544,6 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y CONFIG_LEDS_TRIGGER_CPU=y CONFIG_LEDS_TRIGGER_DEFAULT_ON=y CONFIG_LEDS_TRIGGER_PANIC=y -CONFIG_LEDS_TRIGGER_AUDIO=m CONFIG_EDAC=y CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_DS1307=m @@ -587,7 +584,6 @@ CONFIG_HWSPINLOCK=y CONFIG_ARM_SMMU=y CONFIG_ARM_SMMU_V3=y CONFIG_REMOTEPROC=y -CONFIG_SOC_BRCMSTB=y CONFIG_SOC_TI=y CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y CONFIG_EXTCON_USB_GPIO=y diff --git a/buildroot-external/board/nabucasa/green/patches/linux/0001-arm64-dts-rockchip-Add-NabuCasa-Green-board.patch b/buildroot-external/board/nabucasa/green/patches/linux/0001-arm64-dts-rockchip-Add-NabuCasa-Green-board.patch index b78ed9da6ee..baf2f99d65c 100644 --- a/buildroot-external/board/nabucasa/green/patches/linux/0001-arm64-dts-rockchip-Add-NabuCasa-Green-board.patch +++ b/buildroot-external/board/nabucasa/green/patches/linux/0001-arm64-dts-rockchip-Add-NabuCasa-Green-board.patch @@ -1,4 +1,4 @@ -From 9b1367f47f2e790f155d4aab39878233eedf7b22 Mon Sep 17 00:00:00 2001 +From 015fa4136338919a43c1c6e47e8c07679cefbaa2 Mon Sep 17 00:00:00 2001 From: Zhangqun Ming Date: Thu, 6 Jul 2023 10:05:04 +0000 Subject: [PATCH] arm64: dts: rockchip: Add NabuCasa Green board @@ -8,30 +8,32 @@ Content-Transfer-Encoding: 8bit [Replaced custom rk860x driver with upstream fan53555] Signed-off-by: Jan Čermák +[Enabled Rockchip RNG from rk356x.dtsi] +Signed-off-by: Jan Čermák --- arch/arm64/boot/dts/rockchip/Makefile | 1 + - .../boot/dts/rockchip/rk3566-ha-green.dts | 684 ++++++++++++++++++ - 2 files changed, 685 insertions(+) + .../boot/dts/rockchip/rk3566-ha-green.dts | 688 ++++++++++++++++++ + 2 files changed, 689 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile -index e7728007fd1b..475becd793ac 100644 +index 09423070c9928..1f5a9d690648f 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -75,6 +75,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg353ps.dtb +@@ -83,6 +83,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg353ps.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg353v.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg353vs.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg503.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-ha-green.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.1.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.2.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-a.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-odroid-m1s.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-orangepi-3b-v1.1.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-orangepi-3b-v2.1.dtb diff --git a/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts b/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts new file mode 100644 -index 000000000000..b5e4a67b3fc7 +index 0000000000000..d6a86cc57b65e --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts -@@ -0,0 +1,684 @@ +@@ -0,0 +1,688 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2023 Seeed Co., Ltd. @@ -559,6 +561,10 @@ index 000000000000..b5e4a67b3fc7 + status = "okay"; +}; + ++&rng { ++ status = "okay"; ++}; ++ +&saradc { + vref-supply = <&vcca_1v8>; + status = "okay"; diff --git a/buildroot-external/board/nabucasa/green/patches/linux/0002-drivers-mfd-rk808-set-PWRON_LP_OFF_TIME-12s.patch b/buildroot-external/board/nabucasa/green/patches/linux/0002-drivers-mfd-rk808-set-PWRON_LP_OFF_TIME-12s.patch index b296e673611..c4b5d3cba4c 100644 --- a/buildroot-external/board/nabucasa/green/patches/linux/0002-drivers-mfd-rk808-set-PWRON_LP_OFF_TIME-12s.patch +++ b/buildroot-external/board/nabucasa/green/patches/linux/0002-drivers-mfd-rk808-set-PWRON_LP_OFF_TIME-12s.patch @@ -1,4 +1,4 @@ -From be773999495258994d1df04448a4de43d58db9c4 Mon Sep 17 00:00:00 2001 +From 8bd12039ef70b3b78a588da61f6680cee40b65cf Mon Sep 17 00:00:00 2001 From: Zhangqun Ming Date: Wed, 12 Jul 2023 02:33:03 +0000 Subject: [PATCH] drivers: mfd: rk808: set PWRON_LP_OFF_TIME 12s @@ -9,10 +9,10 @@ Subject: [PATCH] drivers: mfd: rk808: set PWRON_LP_OFF_TIME 12s 2 files changed, 6 insertions(+) diff --git a/drivers/mfd/rk8xx-core.c b/drivers/mfd/rk8xx-core.c -index a577f950c632..418a4506c99e 100644 +index 39ab114ea669d..c7a639b25231f 100644 --- a/drivers/mfd/rk8xx-core.c +++ b/drivers/mfd/rk8xx-core.c -@@ -232,6 +232,7 @@ static const struct rk808_reg_data rk817_pre_init_reg[] = { +@@ -263,6 +263,7 @@ static const struct rk808_reg_data rk817_pre_init_reg[] = { {RK817_GPIO_INT_CFG, RK817_INT_POL_MSK, RK817_INT_POL_L}, {RK817_SYS_CFG(1), RK817_HOTDIE_TEMP_MSK | RK817_TSD_TEMP_MSK, RK817_HOTDIE_105 | RK817_TSD_140}, @@ -21,10 +21,10 @@ index a577f950c632..418a4506c99e 100644 static const struct rk808_reg_data rk818_pre_init_reg[] = { diff --git a/include/linux/mfd/rk808.h b/include/linux/mfd/rk808.h -index 78e167a92483..0bd7031966d6 100644 +index 69cbea78b430b..2a9563caa3e24 100644 --- a/include/linux/mfd/rk808.h +++ b/include/linux/mfd/rk808.h -@@ -1052,6 +1052,11 @@ enum rk809_reg_id { +@@ -1195,6 +1195,11 @@ enum rk809_reg_id { #define RK817_ON_SOURCE_REG 0xf5 #define RK817_OFF_SOURCE_REG 0xf6 diff --git a/buildroot-external/board/nabucasa/green/patches/linux/0003-arch-arm64-dts-green-Remove-spiflash-partitions.patch b/buildroot-external/board/nabucasa/green/patches/linux/0003-arch-arm64-dts-green-Remove-spiflash-partitions.patch index e6237b44132..8f848818920 100644 --- a/buildroot-external/board/nabucasa/green/patches/linux/0003-arch-arm64-dts-green-Remove-spiflash-partitions.patch +++ b/buildroot-external/board/nabucasa/green/patches/linux/0003-arch-arm64-dts-green-Remove-spiflash-partitions.patch @@ -1,4 +1,4 @@ -From 41026603d639007895de1f48437813f78edb62ea Mon Sep 17 00:00:00 2001 +From c0430945cd4a6a5b4072662b44cb6a44d3f7ecc2 Mon Sep 17 00:00:00 2001 From: Zhangqun Ming Date: Sat, 15 Jul 2023 08:28:16 +0000 Subject: [PATCH] arch: arm64: dts: green: Remove spiflash partitions @@ -8,10 +8,10 @@ Subject: [PATCH] arch: arm64: dts: green: Remove spiflash partitions 1 file changed, 2 insertions(+), 29 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts b/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts -index b5e4a67b3fc7..debb9459a5aa 100644 +index d6a86cc57b65e..6336fe758819f 100644 --- a/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts +++ b/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts -@@ -565,36 +565,9 @@ &sfc { +@@ -569,36 +569,9 @@ &sfc { flash@0 { compatible = "jedec,spi-nor"; reg = <0>; diff --git a/buildroot-external/board/nabucasa/green/patches/linux/0004-Input-rk805-pwrkey-reverse-polarity-of-pwrkey.patch b/buildroot-external/board/nabucasa/green/patches/linux/0004-Input-rk805-pwrkey-reverse-polarity-of-pwrkey.patch index f896f4341d7..24a9688af0e 100644 --- a/buildroot-external/board/nabucasa/green/patches/linux/0004-Input-rk805-pwrkey-reverse-polarity-of-pwrkey.patch +++ b/buildroot-external/board/nabucasa/green/patches/linux/0004-Input-rk805-pwrkey-reverse-polarity-of-pwrkey.patch @@ -1,4 +1,4 @@ -From 0c8b1453993f15715836123bfc7c164e568913f2 Mon Sep 17 00:00:00 2001 +From c3f803f835db301e586127b061bd473fb61ec13a Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Wed, 19 Jul 2023 10:08:06 +0200 Subject: [PATCH] Input: rk805-pwrkey: reverse polarity of pwrkey @@ -12,7 +12,7 @@ Signed-off-by: Stefan Agner 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/input/misc/rk805-pwrkey.c b/drivers/input/misc/rk805-pwrkey.c -index 76873aa005b4..139419033c84 100644 +index 76873aa005b41..139419033c84a 100644 --- a/drivers/input/misc/rk805-pwrkey.c +++ b/drivers/input/misc/rk805-pwrkey.c @@ -19,7 +19,7 @@ static irqreturn_t pwrkey_fall_irq(int irq, void *_pwr) diff --git a/buildroot-external/board/nabucasa/green/patches/linux/0005-green-emmc-use-HS200-mode.patch b/buildroot-external/board/nabucasa/green/patches/linux/0005-green-emmc-use-HS200-mode.patch index a2de3c1fa72..b7b7f249e7a 100644 --- a/buildroot-external/board/nabucasa/green/patches/linux/0005-green-emmc-use-HS200-mode.patch +++ b/buildroot-external/board/nabucasa/green/patches/linux/0005-green-emmc-use-HS200-mode.patch @@ -1,4 +1,4 @@ -From 858d26179ee3a06fc7ebadf2c49dc337a7a98485 Mon Sep 17 00:00:00 2001 +From 3d75827d0318c792d4d7a68d7d7076deee3e7ad3 Mon Sep 17 00:00:00 2001 From: zhangcy Date: Mon, 14 Aug 2023 01:27:34 +0000 Subject: [PATCH] green: emmc use HS200 mode @@ -8,10 +8,10 @@ Subject: [PATCH] green: emmc use HS200 mode 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts b/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts -index debb9459a5aa..e4b1e80641b9 100644 +index 6336fe758819f..61083a9885a78 100644 --- a/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts +++ b/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts -@@ -532,6 +532,7 @@ &saradc { +@@ -536,6 +536,7 @@ &saradc { &sdhci { bus-width = <8>; diff --git a/buildroot-external/board/nabucasa/green/patches/linux/0006-arch-arm64-dts-green-Improve-LED-representation.patch b/buildroot-external/board/nabucasa/green/patches/linux/0006-arch-arm64-dts-green-Improve-LED-representation.patch index 6a9dcdc0b00..c9c29ca62ea 100644 --- a/buildroot-external/board/nabucasa/green/patches/linux/0006-arch-arm64-dts-green-Improve-LED-representation.patch +++ b/buildroot-external/board/nabucasa/green/patches/linux/0006-arch-arm64-dts-green-Improve-LED-representation.patch @@ -1,4 +1,4 @@ -From 6b926b041e939655d3a88202bde32f4901459a65 Mon Sep 17 00:00:00 2001 +From 6219da5138cdcdd0186187e8591010bbda5dc8a9 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Mon, 4 Sep 2023 22:36:10 +0200 Subject: [PATCH] arch: arm64: dts: green: Improve LED representation @@ -9,7 +9,7 @@ Fix color and use labels/node names according to the LEDs functionality. 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts b/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts -index e4b1e80641b9..1d0db11db3e0 100644 +index 61083a9885a78..df260be4211d9 100644 --- a/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts +++ b/arch/arm64/boot/dts/rockchip/rk3566-ha-green.dts @@ -48,16 +48,18 @@ hdmi_con_in: endpoint { diff --git a/buildroot-external/board/pc/patches/linux/0001-iwlwifi-Make-missed-beacon-timeout-configurable.patch b/buildroot-external/board/pc/patches/linux/0001-iwlwifi-Make-missed-beacon-timeout-configurable.patch deleted file mode 100644 index 66f5c3f577b..00000000000 --- a/buildroot-external/board/pc/patches/linux/0001-iwlwifi-Make-missed-beacon-timeout-configurable.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 5712a20822709d1cd744a435eba5d9c8ef91a834 Mon Sep 17 00:00:00 2001 -From: Zachary Michaels -Date: Thu, 7 Jan 2021 08:13:11 -0800 -Subject: [PATCH] iwlwifi: Make missed beacon timeout configurable - -Makes the beacon timeout a module parameter, allowing the original default (16 -missed beacons) to be kept while also enabling users that experience problems to -increase the timeout. - -See https://bugzilla.kernel.org/show_bug.cgi?id=203709 - -Signed-off-by: Stefan Agner ---- - drivers/net/wireless/intel/iwlwifi/iwl-drv.c | 4 ++++ - drivers/net/wireless/intel/iwlwifi/iwl-modparams.h | 2 ++ - drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c | 3 ++- - drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 1 - - 4 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -index fb5e254757e7..2db7032ea269 100644 ---- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -+++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -@@ -1866,6 +1866,7 @@ struct iwl_mod_params iwlwifi_mod_params = { - .power_level = IWL_POWER_INDEX_1, - .uapsd_disable = IWL_DISABLE_UAPSD_BSS | IWL_DISABLE_UAPSD_P2P_CLIENT, - .enable_ini = ENABLE_INI, -+ .beacon_timeout = 16, - /* the rest are 0 by default */ - }; - IWL_EXPORT_SYMBOL(iwlwifi_mod_params); -@@ -1982,6 +1983,9 @@ module_param_named(enable_ini, iwlwifi_mod_params.enable_ini, uint, 0444); - MODULE_PARM_DESC(enable_ini, - "0:disable, 1-15:FW_DBG_PRESET Values, 16:enabled without preset value defined," - "Debug INI TLV FW debug infrastructure (default: 16)"); -+module_param_named(beacon_timeout, iwlwifi_mod_params.beacon_timeout, uint, 0644); -+MODULE_PARM_DESC(beacon_timeout, -+ "Number of missed beacons before disconnecting (default: 16)"); - - /* - * set bt_coex_active to true, uCode will do kill/defer -diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h b/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h -index 1cf26ab4f488..ba50b7d21744 100644 ---- a/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h -+++ b/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h -@@ -63,6 +63,7 @@ enum iwl_uapsd_disable { - * @remove_when_gone: remove an inaccessible device from the PCIe bus. - * @enable_ini: enable new FW debug infratructure (INI TLVs) - * @disable_11be: disable EHT capabilities, default = false. -+ * @beacon_timeout: number of missed beacons before disconnect, default = 16 - */ - struct iwl_mod_params { - int swcrypto; -@@ -86,6 +87,7 @@ struct iwl_mod_params { - bool remove_when_gone; - u32 enable_ini; - bool disable_11be; -+ u32 beacon_timeout; - }; - - static inline bool iwl_enable_rx_ampdu(void) -diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c -index 9c97691e6038..56c0f98d12b5 100644 ---- a/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c -+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c -@@ -8,6 +8,7 @@ - #include - #include - #include "iwl-io.h" -+#include "iwl-modparams.h" - #include "iwl-prph.h" - #include "fw-api.h" - #include "mvm.h" -@@ -1614,7 +1615,7 @@ void iwl_mvm_rx_missed_beacons_notif(struct iwl_mvm *mvm, - * TODO: the threshold should be adjusted based on latency conditions, - * and/or in case of a CS flow on one of the other AP vifs. - */ -- if (rx_missed_bcon > IWL_MVM_MISSED_BEACONS_THRESHOLD_LONG) -+ if (rx_missed_bcon > iwlwifi_mod_params.beacon_timeout) - iwl_mvm_connection_loss(mvm, vif, "missed beacons"); - else if (rx_missed_bcon_since_rx > IWL_MVM_MISSED_BEACONS_THRESHOLD) - ieee80211_beacon_loss(vif); -diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h -index 218f3bc31104..4f112ecdf704 100644 ---- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h -+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h -@@ -41,7 +41,6 @@ - /* RSSI offset for WkP */ - #define IWL_RSSI_OFFSET 50 - #define IWL_MVM_MISSED_BEACONS_THRESHOLD 8 --#define IWL_MVM_MISSED_BEACONS_THRESHOLD_LONG 16 - - /* A TimeUnit is 1024 microsecond */ - #define MSEC_TO_TU(_msec) (_msec*1000/1024) diff --git a/buildroot-external/configs/generic_aarch64_defconfig b/buildroot-external/configs/generic_aarch64_defconfig index 4cc58a3e992..9f3f05b024c 100644 --- a/buildroot-external/configs/generic_aarch64_defconfig +++ b/buildroot-external/configs/generic_aarch64_defconfig @@ -4,7 +4,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" @@ -16,9 +16,9 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64 $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/kernel.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/kernel.config" BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y diff --git a/buildroot-external/configs/generic_x86_64_defconfig b/buildroot-external/configs/generic_x86_64_defconfig index 0da77234262..7f7e3e2fcfb 100644 --- a/buildroot-external/configs/generic_x86_64_defconfig +++ b/buildroot-external/configs/generic_x86_64_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.6" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/green_defconfig b/buildroot-external/configs/green_defconfig index 6e3543029ad..e8c3b0a0850 100755 --- a/buildroot-external/configs/green_defconfig +++ b/buildroot-external/configs/green_defconfig @@ -16,10 +16,10 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/kernel-arm64-rockchip.config" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/kernel.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/kernel.config" BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3566-ha-green" diff --git a/buildroot-external/configs/khadas_vim3_defconfig b/buildroot-external/configs/khadas_vim3_defconfig index 82e0e73d729..5dc77e38223 100644 --- a/buildroot-external/configs/khadas_vim3_defconfig +++ b/buildroot-external/configs/khadas_vim3_defconfig @@ -16,10 +16,10 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3 $(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/kernel-vim.config" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="amlogic/meson-g12b-s922x-khadas-vim3" diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 8b333c4c400..76333d298fa 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -16,10 +16,10 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="amlogic/meson-gxbb-odroidc2" diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index b6cc2c9e28b..71c1c30d2b9 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -16,10 +16,10 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="amlogic/meson-sm1-odroid-c4" diff --git a/buildroot-external/configs/odroid_m1_defconfig b/buildroot-external/configs/odroid_m1_defconfig index a824f7111b7..5418562fc81 100644 --- a/buildroot-external/configs/odroid_m1_defconfig +++ b/buildroot-external/configs/odroid_m1_defconfig @@ -16,10 +16,10 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/kernel-arm64-rockchip.config" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/kernel.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/kernel.config" BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3568-odroid-m1" diff --git a/buildroot-external/configs/odroid_m1s_defconfig b/buildroot-external/configs/odroid_m1s_defconfig index 2909e146f08..cd731ba4fb2 100644 --- a/buildroot-external/configs/odroid_m1s_defconfig +++ b/buildroot-external/configs/odroid_m1s_defconfig @@ -16,10 +16,10 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/kernel-arm64-rockchip.config" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/kernel.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/kernel.config" BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3566-odroid-m1s" diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index d31e5344680..d77f5866509 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -16,10 +16,10 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/kernel.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/kernel.config" BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="amlogic/meson-g12b-odroid-n2 amlogic/meson-g12b-odroid-n2-plus" diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index ffa71bf25e9..b02535242fd 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -17,9 +17,9 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" BR2_LINUX_KERNEL_DEFCONFIG="exynos" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/kernel.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/kernel.config" BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="samsung/exynos5422-odroidxu4" diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index 8433e027342..b9922d42726 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.6" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 882879264b6..73fc8831468 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -18,10 +18,10 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker $(BR2_EXTERNAL_HASSOS_PATH)/board/asus/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.73" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/kernel.config" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3288-tinker rockchip/rk3288-tinker-s" diff --git a/buildroot-external/kernel/v6.12.y/kernel-arm64-rockchip.config b/buildroot-external/kernel/v6.12.y/kernel-arm64-rockchip.config index 47c8934a373..c173fda602f 100644 --- a/buildroot-external/kernel/v6.12.y/kernel-arm64-rockchip.config +++ b/buildroot-external/kernel/v6.12.y/kernel-arm64-rockchip.config @@ -85,7 +85,6 @@ CONFIG_ACPI_DOCK=y CONFIG_ACPI_IPMI=m CONFIG_ACPI_PCI_SLOT=y CONFIG_ACPI_HED=y -CONFIG_ACPI_CUSTOM_METHOD=y CONFIG_ACPI_CONFIGFS=m CONFIG_PMIC_OPREGION=y CONFIG_VIRTUALIZATION=y @@ -95,10 +94,8 @@ CONFIG_JUMP_LABEL=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y -CONFIG_MODULE_COMPRESS_NONE=y CONFIG_BLK_DEV_ZONED=y CONFIG_BLK_DEV_THROTTLING=y -CONFIG_BLK_DEV_THROTTLING_LOW=y CONFIG_BLK_WBT=y CONFIG_BLK_CGROUP_IOLATENCY=y CONFIG_BLK_SED_OPAL=y @@ -429,7 +426,6 @@ CONFIG_BRIDGE_EBT_REDIRECT=m CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m CONFIG_BRIDGE_EBT_NFLOG=m -CONFIG_BPFILTER=y CONFIG_IP_DCCP=m CONFIG_SCTP_DBG_OBJCNT=y CONFIG_SCTP_COOKIE_HMAC_SHA1=y @@ -461,9 +457,6 @@ CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q_MVRP=y CONFIG_LLC2=m CONFIG_ATALK=m -CONFIG_DEV_APPLETALK=m -CONFIG_IPDDP=m -CONFIG_IPDDP_ENCAP=y CONFIG_X25=m CONFIG_LAPB=m CONFIG_PHONET=m @@ -535,7 +528,6 @@ CONFIG_NET_ACT_GACT=m CONFIG_GACT_PROB=y CONFIG_NET_ACT_MIRRED=m CONFIG_NET_ACT_SAMPLE=m -CONFIG_NET_ACT_IPT=m CONFIG_NET_ACT_NAT=m CONFIG_NET_ACT_PEDIT=m CONFIG_NET_ACT_SIMP=m @@ -697,7 +689,6 @@ CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_FW_LOADER_USER_HELPER=y CONFIG_FW_LOADER_COMPRESS=y -CONFIG_BRCMSTB_GISB_ARB=y CONFIG_SUNXI_RSB=m CONFIG_TEGRA_ACONNECT=m CONFIG_TEGRA_GMI=m @@ -783,7 +774,6 @@ CONFIG_XILINX_SDFEC=m CONFIG_VCPU_STALL_DETECTOR=m CONFIG_EEPROM_AT24=m CONFIG_EEPROM_AT25=m -CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_MAX6875=m CONFIG_EEPROM_EE1004=m CONFIG_CB710_CORE=m @@ -916,9 +906,6 @@ CONFIG_PATA_OF_PLATFORM=y CONFIG_ATA_GENERIC=m CONFIG_MD=y CONFIG_BLK_DEV_MD=y -CONFIG_MD_LINEAR=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m CONFIG_MD_CLUSTER=m CONFIG_BCACHE=m CONFIG_BLK_DEV_DM=y @@ -1075,7 +1062,6 @@ CONFIG_IXGBEVF=m CONFIG_I40E=m CONFIG_I40EVF=m CONFIG_FM10K=m -CONFIG_TXGBE=m CONFIG_JME=m CONFIG_ADIN1110=m CONFIG_LITEX_LITEETH=m @@ -1115,9 +1101,7 @@ CONFIG_DWMAC_SUNXI=m CONFIG_DWMAC_SUN8I=m CONFIG_TEHUTI=m CONFIG_XILINX_EMACLITE=m -CONFIG_XILINX_AXI_EMAC=m CONFIG_XILINX_LL_TEMAC=m -CONFIG_NET_SB1000=y CONFIG_LED_TRIGGER_PHY=y CONFIG_SFP=m CONFIG_AMD_PHY=m @@ -1274,14 +1258,11 @@ CONFIG_ATH10K_DFS_CERTIFIED=y CONFIG_WCN36XX=m CONFIG_ATH11K=m CONFIG_ATH11K_AHB=m -CONFIG_ATMEL=m -CONFIG_PCI_ATMEL=m CONFIG_AT76C50X_USB=m CONFIG_B43=m CONFIG_B43_SDIO=y CONFIG_B43LEGACY=m CONFIG_BRCMSMAC=m -CONFIG_BRCMFMAC=m CONFIG_BRCMFMAC_USB=y CONFIG_BRCMFMAC_PCIE=y CONFIG_BRCMDBG=y @@ -1296,12 +1277,6 @@ CONFIG_IWL3945=m CONFIG_IWLWIFI=m CONFIG_IWLDVM=m CONFIG_IWLMVM=m -CONFIG_HOSTAP=m -CONFIG_HOSTAP_FIRMWARE=y -CONFIG_HOSTAP_FIRMWARE_NVRAM=y -CONFIG_HERMES=m -CONFIG_HERMES_PRISM=y -CONFIG_ORINOCO_USB=m CONFIG_P54_COMMON=m CONFIG_P54_USB=m CONFIG_P54_SPI=m @@ -1380,11 +1355,9 @@ CONFIG_WL12XX=m CONFIG_WL18XX=m CONFIG_WLCORE_SPI=m CONFIG_WLCORE_SDIO=m -CONFIG_USB_ZD1201=m CONFIG_ZD1211RW=m CONFIG_QTNFMAC_PCIE=m CONFIG_MAC80211_HWSIM=m -CONFIG_USB_NET_RNDIS_WLAN=m CONFIG_VIRT_WIFI=m CONFIG_WAN=y CONFIG_HDLC=m @@ -1482,9 +1455,6 @@ CONFIG_TOUCHSCREEN_CY8CTMG110=m CONFIG_TOUCHSCREEN_CYTTSP_CORE=m CONFIG_TOUCHSCREEN_CYTTSP_I2C=m CONFIG_TOUCHSCREEN_CYTTSP_SPI=m -CONFIG_TOUCHSCREEN_CYTTSP4_CORE=m -CONFIG_TOUCHSCREEN_CYTTSP4_I2C=m -CONFIG_TOUCHSCREEN_CYTTSP4_SPI=m CONFIG_TOUCHSCREEN_DYNAPRO=m CONFIG_TOUCHSCREEN_HAMPSHIRE=m CONFIG_TOUCHSCREEN_EETI=m @@ -1505,7 +1475,6 @@ CONFIG_TOUCHSCREEN_ELO=m CONFIG_TOUCHSCREEN_WACOM_W8001=m CONFIG_TOUCHSCREEN_WACOM_I2C=m CONFIG_TOUCHSCREEN_MAX11801=m -CONFIG_TOUCHSCREEN_MCS5000=m CONFIG_TOUCHSCREEN_MMS114=m CONFIG_TOUCHSCREEN_MELFAS_MIP4=m CONFIG_TOUCHSCREEN_MSG2638=m @@ -1594,7 +1563,6 @@ CONFIG_SERIAL_SIFIVE=m CONFIG_SERIAL_SCCNXP=y CONFIG_SERIAL_SCCNXP_CONSOLE=y CONFIG_SERIAL_SC16IS7XX=m -CONFIG_SERIAL_SC16IS7XX_SPI=y CONFIG_SERIAL_ALTERA_JTAGUART=m CONFIG_SERIAL_ALTERA_UART=m CONFIG_SERIAL_XILINX_PS_UART=y @@ -1642,8 +1610,6 @@ CONFIG_I2C_DEMUX_PINCTRL=m CONFIG_I2C_MUX_MLXCPLD=m CONFIG_I2C_CADENCE=m CONFIG_I2C_CBUS_GPIO=m -CONFIG_I2C_DESIGNWARE_PLATFORM=y -CONFIG_I2C_DESIGNWARE_PCI=m CONFIG_I2C_EMEV2=m CONFIG_I2C_GPIO=m CONFIG_I2C_GPIO_FAULT_INJECTOR=y @@ -1797,7 +1763,6 @@ CONFIG_W1_SLAVE_DS250X=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_DS28E17=m CONFIG_POWER_RESET_ATC260X=m -CONFIG_POWER_RESET_BRCMSTB=y CONFIG_POWER_RESET_GPIO=y CONFIG_POWER_RESET_GPIO_RESTART=y CONFIG_POWER_RESET_REGULATOR=y @@ -2028,7 +1993,6 @@ CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_XGENE=m CONFIG_SENSORS_ACPI_POWER=m CONFIG_THERMAL_STATISTICS=y -CONFIG_THERMAL_WRITABLE_TRIPS=y CONFIG_THERMAL_GOV_FAIR_SHARE=y CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_USER_SPACE=y @@ -2409,7 +2373,6 @@ CONFIG_DVB_LGS8GL5=m CONFIG_DVB_LNBH29=m CONFIG_DRM=m CONFIG_DRM_LOAD_EDID_FIRMWARE=y -CONFIG_DRM_DP_CEC=y CONFIG_DRM_I2C_CH7006=m CONFIG_DRM_I2C_SIL164=m CONFIG_DRM_I2C_NXP_TDA998X=m @@ -2537,11 +2500,9 @@ CONFIG_DRM_LIMA=m CONFIG_DRM_PANFROST=m CONFIG_DRM_TIDSS=m CONFIG_DRM_GUD=m -CONFIG_DRM_LEGACY=y CONFIG_FB=y CONFIG_FIRMWARE_EDID=y CONFIG_FB_TILEBLITTING=y -CONFIG_FB_ARMCLCD=y CONFIG_FB_UVESA=m CONFIG_FB_EFI=y CONFIG_FB_UDL=m @@ -2558,7 +2519,6 @@ CONFIG_BACKLIGHT_QCOM_WLED=m CONFIG_BACKLIGHT_RT4831=m CONFIG_BACKLIGHT_ADP5520=m CONFIG_BACKLIGHT_AAT2870=m -CONFIG_BACKLIGHT_LP855X=y CONFIG_BACKLIGHT_AS3711=m CONFIG_BACKLIGHT_GPIO=m CONFIG_BACKLIGHT_RAVE_SP=m @@ -3184,7 +3144,7 @@ CONFIG_USB_HSIC_USB3503=y CONFIG_USB_HSIC_USB4604=m CONFIG_USB_LINK_LAYER_TEST=m CONFIG_USB_CHAOSKEY=m -CONFIG_USB_ONBOARD_HUB=m +CONFIG_USB_ONBOARD_DEV=m CONFIG_USB_ATM=m CONFIG_USB_SPEEDTOUCH=m CONFIG_USB_CXACRU=m @@ -3444,14 +3404,12 @@ CONFIG_VIRTIO_BALLOON=y CONFIG_VIRTIO_INPUT=m CONFIG_VIRTIO_MMIO=y CONFIG_VDPA=m -CONFIG_VDPA_USER=m CONFIG_IFCVF=m CONFIG_VP_VDPA=m CONFIG_VHOST_NET=m CONFIG_VHOST_SCSI=m CONFIG_VHOST_VDPA=m CONFIG_STAGING=y -CONFIG_RTL8192U=m CONFIG_RTLLIB=m CONFIG_RTL8192E=m CONFIG_RTL8723BS=m @@ -3539,7 +3497,6 @@ CONFIG_VIRTIO_IOMMU=m CONFIG_REMOTEPROC=y CONFIG_RPMSG_CHAR=y CONFIG_RPMSG_QCOM_GLINK_RPM=y -CONFIG_SOC_BRCMSTB=y CONFIG_LITEX_SOC_CONTROLLER=m CONFIG_ROCKCHIP_IODOMAIN=y CONFIG_ROCKCHIP_PM_DOMAINS=y @@ -3908,9 +3865,8 @@ CONFIG_CUSE=m CONFIG_VIRTIO_FS=m CONFIG_OVERLAY_FS=y CONFIG_OVERLAY_FS_XINO_AUTO=y -CONFIG_FSCACHE=m +CONFIG_FSCACHE=y CONFIG_FSCACHE_STATS=y -CONFIG_CACHEFILES=m CONFIG_ISO9660_FS=m CONFIG_JOLIET=y CONFIG_ZISOFS=y @@ -3920,7 +3876,6 @@ CONFIG_VFAT_FS=y CONFIG_FAT_DEFAULT_UTF8=y CONFIG_EXFAT_FS=m CONFIG_NTFS_FS=m -CONFIG_NTFS_RW=y CONFIG_NTFS3_FS=m CONFIG_NTFS3_64BIT_CLUSTER=y CONFIG_NTFS3_LZX_XPRESS=y @@ -4104,11 +4059,9 @@ CONFIG_CRYPTO_TEA=y CONFIG_CRYPTO_TWOFISH=y CONFIG_CRYPTO_ADIANTUM=m CONFIG_CRYPTO_ARC4=m -CONFIG_CRYPTO_CFB=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_KEYWRAP=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_OFB=m CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_AEGIS128=m CONFIG_CRYPTO_CHACHA20POLY1305=y @@ -4130,7 +4083,6 @@ CONFIG_CRYPTO_LZ4=m CONFIG_CRYPTO_ANSI_CPRNG=m CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_CTR=y -CONFIG_CRYPTO_STATS=y CONFIG_CRYPTO_NHPOLY1305_NEON=y CONFIG_CRYPTO_CHACHA20_NEON=y CONFIG_CRYPTO_GHASH_ARM64_CE=y diff --git a/buildroot-external/kernel/v6.6.y/device-support-wireless-pci.config b/buildroot-external/kernel/v6.6.y/device-support-wireless-pci.config deleted file mode 100644 index d661c3c4cdc..00000000000 --- a/buildroot-external/kernel/v6.6.y/device-support-wireless-pci.config +++ /dev/null @@ -1,55 +0,0 @@ -# This fragment contains configuration options for WiFi drivers that are -# using PCI or PCIe bus. The device-support-wireless.config fragment must -# be included for this one to work as well as it contains common options. - -# Atheros drivers -CONFIG_ATH5K=m -CONFIG_ATH5K_PCI=y -CONFIG_ATH10K_PCI=m -CONFIG_ATH11K=m -CONFIG_ATH11K_PCI=m -CONFIG_ATH12K=m - -# Broadcom drivers -CONFIG_BRCMFMAC_PCIE=y - -# Intel drivers -CONFIG_IWLEGACY=m -CONFIG_IWL3945=m -CONFIG_IWL4965=m -CONFIG_IWLWIFI=m -CONFIG_IWLDVM=m -CONFIG_IWLMVM=m - -# Marvell drivers -CONFIG_MWIFIEX_PCIE=m -CONFIG_MWL8K=m - -# Mediatek drivers -CONFIG_MT7603E=m -CONFIG_MT7615E=m -CONFIG_MT7915E=m -CONFIG_MT7921E=m -CONFIG_MT7996E=m - -# Ralink drivers -CONFIG_RT2800PCI=m - -# Realtek drivers -CONFIG_RTL8192CE=m -CONFIG_RTL8192SE=m -CONFIG_RTL8192DE=m -CONFIG_RTL8723AE=m -CONFIG_RTL8723BE=m -CONFIG_RTL8188EE=m -CONFIG_RTL8192EE=m -CONFIG_RTL8821AE=m -CONFIG_RTW88_8822BE=m -CONFIG_RTW88_8822CE=m -CONFIG_RTW88_8723DE=m -CONFIG_RTW88_8821CE=m - -CONFIG_RTW89_8851BE=m -CONFIG_RTW89_8852AE=m -CONFIG_RTW89_8852BE=m -CONFIG_RTW89_8852CE=m diff --git a/buildroot-external/kernel/v6.6.y/kernel-arm64-rockchip.config b/buildroot-external/kernel/v6.6.y/kernel-arm64-rockchip.config deleted file mode 100644 index 47c8934a373..00000000000 --- a/buildroot-external/kernel/v6.6.y/kernel-arm64-rockchip.config +++ /dev/null @@ -1,4211 +0,0 @@ -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_USELIB=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_BPF_SYSCALL=y -CONFIG_BPF_JIT=y -# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set -CONFIG_PREEMPT=y -CONFIG_SCHED_CORE=y -CONFIG_IRQ_TIME_ACCOUNTING=y -CONFIG_BSD_PROCESS_ACCT=y -CONFIG_BSD_PROCESS_ACCT_V3=y -CONFIG_TASKSTATS=y -CONFIG_TASK_DELAY_ACCT=y -CONFIG_TASK_XACCT=y -CONFIG_TASK_IO_ACCOUNTING=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_IKHEADERS=m -CONFIG_LOG_BUF_SHIFT=18 -CONFIG_MEMCG=y -CONFIG_BLK_CGROUP=y -CONFIG_CFS_BANDWIDTH=y -CONFIG_RT_GROUP_SCHED=y -CONFIG_CGROUP_PIDS=y -CONFIG_CGROUP_RDMA=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_NAMESPACES=y -CONFIG_USER_NS=y -CONFIG_CHECKPOINT_RESTORE=y -CONFIG_SCHED_AUTOGROUP=y -CONFIG_BOOT_CONFIG=y -CONFIG_EXPERT=y -CONFIG_KALLSYMS_ALL=y -CONFIG_PROFILING=y -CONFIG_ARCH_SUNXI=y -CONFIG_ARCH_ROCKCHIP=y -CONFIG_ARCH_TEGRA=y -# CONFIG_ARM64_ERRATUM_2077057 is not set -CONFIG_ARM64_VA_BITS_48=y -CONFIG_SCHED_MC=y -CONFIG_SCHED_CLUSTER=y -CONFIG_SCHED_SMT=y -CONFIG_NR_CPUS=8 -CONFIG_HZ_100=y -CONFIG_PARAVIRT_TIME_ACCOUNTING=y -CONFIG_KEXEC=y -CONFIG_KEXEC_FILE=y -CONFIG_COMPAT=y -# CONFIG_ARM64_MTE is not set -CONFIG_RANDOMIZE_BASE=y -CONFIG_HIBERNATION=y -CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y -CONFIG_ENERGY_MODEL=y -CONFIG_CPU_IDLE_GOV_LADDER=y -CONFIG_CPU_IDLE_GOV_MENU=y -CONFIG_CPU_IDLE_GOV_TEO=y -CONFIG_ARM_PSCI_CPUIDLE=y -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_CPU_FREQ_GOV_SCHEDUTIL=y -CONFIG_CPUFREQ_DT=y -CONFIG_ACPI_CPPC_CPUFREQ=y -CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m -CONFIG_ARM_SCPI_CPUFREQ=y -CONFIG_ARM_SCMI_CPUFREQ=m -CONFIG_ARM_TEGRA20_CPUFREQ=m -CONFIG_ARM_TEGRA186_CPUFREQ=m -CONFIG_ARM_TEGRA194_CPUFREQ=m -CONFIG_ACPI=y -CONFIG_ACPI_VIDEO=m -CONFIG_ACPI_DOCK=y -CONFIG_ACPI_IPMI=m -CONFIG_ACPI_PCI_SLOT=y -CONFIG_ACPI_HED=y -CONFIG_ACPI_CUSTOM_METHOD=y -CONFIG_ACPI_CONFIGFS=m -CONFIG_PMIC_OPREGION=y -CONFIG_VIRTUALIZATION=y -CONFIG_KVM=y -CONFIG_KPROBES=y -CONFIG_JUMP_LABEL=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_MODULE_FORCE_UNLOAD=y -CONFIG_MODULE_COMPRESS_NONE=y -CONFIG_BLK_DEV_ZONED=y -CONFIG_BLK_DEV_THROTTLING=y -CONFIG_BLK_DEV_THROTTLING_LOW=y -CONFIG_BLK_WBT=y -CONFIG_BLK_CGROUP_IOLATENCY=y -CONFIG_BLK_SED_OPAL=y -CONFIG_PARTITION_ADVANCED=y -CONFIG_OSF_PARTITION=y -CONFIG_MAC_PARTITION=y -CONFIG_BSD_DISKLABEL=y -CONFIG_LDM_PARTITION=y -CONFIG_CMDLINE_PARTITION=y -CONFIG_IOSCHED_BFQ=y -CONFIG_BFQ_GROUP_IOSCHED=y -# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set -CONFIG_BINFMT_MISC=m -CONFIG_ZSWAP=y -CONFIG_ZSWAP_DEFAULT_ON=y -CONFIG_ZBUD=y -CONFIG_ZSMALLOC=y -CONFIG_SLAB_FREELIST_RANDOM=y -# CONFIG_COMPAT_BRK is not set -CONFIG_KSM=y -CONFIG_MEMORY_FAILURE=y -CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y -CONFIG_CMA_DEBUGFS=y -CONFIG_DAMON=y -CONFIG_DAMON_VADDR=y -CONFIG_DAMON_PADDR=y -CONFIG_DAMON_RECLAIM=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_PACKET_DIAG=m -CONFIG_UNIX=y -CONFIG_UNIX_DIAG=m -CONFIG_TLS=m -CONFIG_TLS_DEVICE=y -CONFIG_XFRM_USER=m -CONFIG_XFRM_INTERFACE=m -CONFIG_XFRM_SUB_POLICY=y -CONFIG_XFRM_STATISTICS=y -CONFIG_NET_KEY=m -CONFIG_NET_KEY_MIGRATE=y -CONFIG_XDP_SOCKETS=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_ADVANCED_ROUTER=y -CONFIG_IP_FIB_TRIE_STATS=y -CONFIG_IP_MULTIPLE_TABLES=y -CONFIG_IP_ROUTE_MULTIPATH=y -CONFIG_IP_ROUTE_VERBOSE=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_BOOTP=y -CONFIG_IP_PNP_RARP=y -CONFIG_NET_IPIP=m -CONFIG_NET_IPGRE_DEMUX=m -CONFIG_NET_IPGRE=m -CONFIG_NET_IPGRE_BROADCAST=y -CONFIG_IP_MROUTE=y -CONFIG_IP_MROUTE_MULTIPLE_TABLES=y -CONFIG_IP_PIMSM_V1=y -CONFIG_IP_PIMSM_V2=y -CONFIG_NET_IPVTI=m -CONFIG_NET_FOU_IP_TUNNELS=y -CONFIG_INET_AH=m -CONFIG_INET_ESP=m -CONFIG_INET_ESP_OFFLOAD=m -CONFIG_INET_IPCOMP=m -CONFIG_INET_DIAG=m -CONFIG_INET_UDP_DIAG=m -CONFIG_INET_RAW_DIAG=m -CONFIG_INET_DIAG_DESTROY=y -CONFIG_TCP_CONG_ADVANCED=y -CONFIG_TCP_CONG_HSTCP=m -CONFIG_TCP_CONG_HYBLA=m -CONFIG_TCP_CONG_NV=m -CONFIG_TCP_CONG_SCALABLE=m -CONFIG_TCP_CONG_LP=m -CONFIG_TCP_CONG_VENO=m -CONFIG_TCP_CONG_YEAH=m -CONFIG_TCP_CONG_ILLINOIS=m -CONFIG_TCP_CONG_DCTCP=m -CONFIG_TCP_CONG_CDG=m -CONFIG_TCP_CONG_BBR=m -CONFIG_DEFAULT_RENO=y -CONFIG_TCP_MD5SIG=y -CONFIG_IPV6_ROUTER_PREF=y -CONFIG_IPV6_ROUTE_INFO=y -CONFIG_IPV6_OPTIMISTIC_DAD=y -CONFIG_INET6_AH=m -CONFIG_INET6_ESP=m -CONFIG_INET6_ESP_OFFLOAD=m -CONFIG_INET6_IPCOMP=m -CONFIG_IPV6_MIP6=m -CONFIG_IPV6_ILA=m -CONFIG_IPV6_VTI=m -CONFIG_IPV6_SIT=m -CONFIG_IPV6_SIT_6RD=y -CONFIG_IPV6_GRE=m -CONFIG_IPV6_SUBTREES=y -CONFIG_IPV6_MROUTE=y -CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y -CONFIG_IPV6_PIMSM_V2=y -CONFIG_IPV6_SEG6_LWTUNNEL=y -CONFIG_IPV6_SEG6_HMAC=y -CONFIG_NETWORK_PHY_TIMESTAMPING=y -CONFIG_NETFILTER=y -CONFIG_BRIDGE_NETFILTER=m -CONFIG_NETFILTER_NETLINK_HOOK=m -CONFIG_NF_CONNTRACK=m -CONFIG_NF_CONNTRACK_ZONES=y -CONFIG_NF_CONNTRACK_PROCFS=y -CONFIG_NF_CONNTRACK_EVENTS=y -CONFIG_NF_CONNTRACK_TIMEOUT=y -CONFIG_NF_CONNTRACK_TIMESTAMP=y -CONFIG_NF_CONNTRACK_AMANDA=m -CONFIG_NF_CONNTRACK_FTP=m -CONFIG_NF_CONNTRACK_H323=m -CONFIG_NF_CONNTRACK_IRC=m -CONFIG_NF_CONNTRACK_NETBIOS_NS=m -CONFIG_NF_CONNTRACK_SNMP=m -CONFIG_NF_CONNTRACK_PPTP=m -CONFIG_NF_CONNTRACK_SANE=m -CONFIG_NF_CONNTRACK_SIP=m -CONFIG_NF_CONNTRACK_TFTP=m -CONFIG_NF_CT_NETLINK=m -CONFIG_NF_CT_NETLINK_TIMEOUT=m -CONFIG_NF_CT_NETLINK_HELPER=m -CONFIG_NETFILTER_NETLINK_GLUE_CT=y -CONFIG_NF_TABLES=m -CONFIG_NF_TABLES_INET=y -CONFIG_NF_TABLES_NETDEV=y -CONFIG_NFT_NUMGEN=m -CONFIG_NFT_CT=m -CONFIG_NFT_FLOW_OFFLOAD=m -CONFIG_NFT_CONNLIMIT=m -CONFIG_NFT_LOG=m -CONFIG_NFT_LIMIT=m -CONFIG_NFT_MASQ=m -CONFIG_NFT_REDIR=m -CONFIG_NFT_NAT=m -CONFIG_NFT_TUNNEL=m -CONFIG_NFT_QUEUE=m -CONFIG_NFT_QUOTA=m -CONFIG_NFT_REJECT=m -CONFIG_NFT_COMPAT=m -CONFIG_NFT_HASH=m -CONFIG_NFT_FIB_INET=m -CONFIG_NFT_XFRM=m -CONFIG_NFT_SOCKET=m -CONFIG_NFT_OSF=m -CONFIG_NFT_TPROXY=m -CONFIG_NFT_SYNPROXY=m -CONFIG_NFT_DUP_NETDEV=m -CONFIG_NFT_FWD_NETDEV=m -CONFIG_NFT_FIB_NETDEV=m -CONFIG_NFT_REJECT_NETDEV=m -CONFIG_NF_FLOW_TABLE_INET=m -CONFIG_NF_FLOW_TABLE=m -CONFIG_NETFILTER_XT_SET=m -CONFIG_NETFILTER_XT_TARGET_AUDIT=m -CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m -CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m -CONFIG_NETFILTER_XT_TARGET_CONNMARK=m -CONFIG_NETFILTER_XT_TARGET_DSCP=m -CONFIG_NETFILTER_XT_TARGET_HMARK=m -CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m -CONFIG_NETFILTER_XT_TARGET_LED=m -CONFIG_NETFILTER_XT_TARGET_LOG=m -CONFIG_NETFILTER_XT_TARGET_MARK=m -CONFIG_NETFILTER_XT_TARGET_NFLOG=m -CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m -CONFIG_NETFILTER_XT_TARGET_NOTRACK=m -CONFIG_NETFILTER_XT_TARGET_TEE=m -CONFIG_NETFILTER_XT_TARGET_TPROXY=m -CONFIG_NETFILTER_XT_TARGET_TRACE=m -CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m -CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m -CONFIG_NETFILTER_XT_MATCH_BPF=m -CONFIG_NETFILTER_XT_MATCH_CGROUP=m -CONFIG_NETFILTER_XT_MATCH_CLUSTER=m -CONFIG_NETFILTER_XT_MATCH_COMMENT=m -CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m -CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m -CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m -CONFIG_NETFILTER_XT_MATCH_CONNMARK=m -CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -CONFIG_NETFILTER_XT_MATCH_CPU=m -CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m -CONFIG_NETFILTER_XT_MATCH_DSCP=m -CONFIG_NETFILTER_XT_MATCH_ESP=m -CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m -CONFIG_NETFILTER_XT_MATCH_HELPER=m -CONFIG_NETFILTER_XT_MATCH_IPCOMP=m -CONFIG_NETFILTER_XT_MATCH_IPRANGE=m -CONFIG_NETFILTER_XT_MATCH_IPVS=m -CONFIG_NETFILTER_XT_MATCH_LENGTH=m -CONFIG_NETFILTER_XT_MATCH_LIMIT=m -CONFIG_NETFILTER_XT_MATCH_MAC=m -CONFIG_NETFILTER_XT_MATCH_MARK=m -CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -CONFIG_NETFILTER_XT_MATCH_NFACCT=m -CONFIG_NETFILTER_XT_MATCH_OSF=m -CONFIG_NETFILTER_XT_MATCH_OWNER=m -CONFIG_NETFILTER_XT_MATCH_POLICY=m -CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m -CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m -CONFIG_NETFILTER_XT_MATCH_QUOTA=m -CONFIG_NETFILTER_XT_MATCH_RATEEST=m -CONFIG_NETFILTER_XT_MATCH_REALM=m -CONFIG_NETFILTER_XT_MATCH_RECENT=m -CONFIG_NETFILTER_XT_MATCH_SOCKET=m -CONFIG_NETFILTER_XT_MATCH_STATE=m -CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -CONFIG_NETFILTER_XT_MATCH_STRING=m -CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -CONFIG_NETFILTER_XT_MATCH_TIME=m -CONFIG_NETFILTER_XT_MATCH_U32=m -CONFIG_IP_SET=m -CONFIG_IP_SET_BITMAP_IP=m -CONFIG_IP_SET_BITMAP_IPMAC=m -CONFIG_IP_SET_BITMAP_PORT=m -CONFIG_IP_SET_HASH_IP=m -CONFIG_IP_SET_HASH_IPMARK=m -CONFIG_IP_SET_HASH_IPPORT=m -CONFIG_IP_SET_HASH_IPPORTIP=m -CONFIG_IP_SET_HASH_IPPORTNET=m -CONFIG_IP_SET_HASH_IPMAC=m -CONFIG_IP_SET_HASH_MAC=m -CONFIG_IP_SET_HASH_NETPORTNET=m -CONFIG_IP_SET_HASH_NET=m -CONFIG_IP_SET_HASH_NETNET=m -CONFIG_IP_SET_HASH_NETPORT=m -CONFIG_IP_SET_HASH_NETIFACE=m -CONFIG_IP_SET_LIST_SET=m -CONFIG_IP_VS=m -CONFIG_IP_VS_IPV6=y -CONFIG_IP_VS_PROTO_TCP=y -CONFIG_IP_VS_PROTO_UDP=y -CONFIG_IP_VS_PROTO_ESP=y -CONFIG_IP_VS_PROTO_AH=y -CONFIG_IP_VS_PROTO_SCTP=y -CONFIG_IP_VS_RR=m -CONFIG_IP_VS_WRR=m -CONFIG_IP_VS_LC=m -CONFIG_IP_VS_WLC=m -CONFIG_IP_VS_FO=m -CONFIG_IP_VS_OVF=m -CONFIG_IP_VS_LBLC=m -CONFIG_IP_VS_LBLCR=m -CONFIG_IP_VS_DH=m -CONFIG_IP_VS_SH=m -CONFIG_IP_VS_MH=m -CONFIG_IP_VS_SED=m -CONFIG_IP_VS_NQ=m -CONFIG_IP_VS_TWOS=m -CONFIG_IP_VS_FTP=m -CONFIG_IP_VS_PE_SIP=m -CONFIG_NFT_DUP_IPV4=m -CONFIG_NFT_FIB_IPV4=m -CONFIG_NF_TABLES_ARP=y -CONFIG_NF_LOG_ARP=m -CONFIG_NF_LOG_IPV4=m -CONFIG_IP_NF_IPTABLES=m -CONFIG_IP_NF_MATCH_AH=m -CONFIG_IP_NF_MATCH_ECN=m -CONFIG_IP_NF_MATCH_RPFILTER=m -CONFIG_IP_NF_MATCH_TTL=m -CONFIG_IP_NF_FILTER=m -CONFIG_IP_NF_TARGET_REJECT=m -CONFIG_IP_NF_TARGET_SYNPROXY=m -CONFIG_IP_NF_NAT=m -CONFIG_IP_NF_TARGET_MASQUERADE=m -CONFIG_IP_NF_TARGET_NETMAP=m -CONFIG_IP_NF_TARGET_REDIRECT=m -CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_TARGET_ECN=m -CONFIG_IP_NF_TARGET_TTL=m -CONFIG_IP_NF_RAW=m -CONFIG_IP_NF_SECURITY=m -CONFIG_IP_NF_ARPTABLES=m -CONFIG_IP_NF_ARPFILTER=m -CONFIG_IP_NF_ARP_MANGLE=m -CONFIG_NFT_DUP_IPV6=m -CONFIG_NFT_FIB_IPV6=m -CONFIG_IP6_NF_IPTABLES=m -CONFIG_IP6_NF_MATCH_AH=m -CONFIG_IP6_NF_MATCH_EUI64=m -CONFIG_IP6_NF_MATCH_FRAG=m -CONFIG_IP6_NF_MATCH_OPTS=m -CONFIG_IP6_NF_MATCH_HL=m -CONFIG_IP6_NF_MATCH_IPV6HEADER=m -CONFIG_IP6_NF_MATCH_MH=m -CONFIG_IP6_NF_MATCH_RPFILTER=m -CONFIG_IP6_NF_MATCH_RT=m -CONFIG_IP6_NF_MATCH_SRH=m -CONFIG_IP6_NF_TARGET_HL=m -CONFIG_IP6_NF_FILTER=m -CONFIG_IP6_NF_TARGET_REJECT=m -CONFIG_IP6_NF_TARGET_SYNPROXY=m -CONFIG_IP6_NF_MANGLE=m -CONFIG_IP6_NF_RAW=m -CONFIG_IP6_NF_SECURITY=m -CONFIG_IP6_NF_NAT=m -CONFIG_IP6_NF_TARGET_MASQUERADE=m -CONFIG_IP6_NF_TARGET_NPT=m -CONFIG_NF_TABLES_BRIDGE=m -CONFIG_NFT_BRIDGE_META=m -CONFIG_NFT_BRIDGE_REJECT=m -CONFIG_NF_CONNTRACK_BRIDGE=m -CONFIG_BRIDGE_NF_EBTABLES=m -CONFIG_BRIDGE_EBT_BROUTE=m -CONFIG_BRIDGE_EBT_T_FILTER=m -CONFIG_BRIDGE_EBT_T_NAT=m -CONFIG_BRIDGE_EBT_802_3=m -CONFIG_BRIDGE_EBT_AMONG=m -CONFIG_BRIDGE_EBT_ARP=m -CONFIG_BRIDGE_EBT_IP=m -CONFIG_BRIDGE_EBT_IP6=m -CONFIG_BRIDGE_EBT_LIMIT=m -CONFIG_BRIDGE_EBT_MARK=m -CONFIG_BRIDGE_EBT_PKTTYPE=m -CONFIG_BRIDGE_EBT_STP=m -CONFIG_BRIDGE_EBT_VLAN=m -CONFIG_BRIDGE_EBT_ARPREPLY=m -CONFIG_BRIDGE_EBT_DNAT=m -CONFIG_BRIDGE_EBT_MARK_T=m -CONFIG_BRIDGE_EBT_REDIRECT=m -CONFIG_BRIDGE_EBT_SNAT=m -CONFIG_BRIDGE_EBT_LOG=m -CONFIG_BRIDGE_EBT_NFLOG=m -CONFIG_BPFILTER=y -CONFIG_IP_DCCP=m -CONFIG_SCTP_DBG_OBJCNT=y -CONFIG_SCTP_COOKIE_HMAC_SHA1=y -CONFIG_RDS=m -CONFIG_RDS_TCP=m -CONFIG_TIPC=m -CONFIG_ATM=m -CONFIG_ATM_CLIP=m -CONFIG_ATM_CLIP_NO_ICMP=y -CONFIG_ATM_LANE=m -CONFIG_ATM_MPOA=m -CONFIG_ATM_BR2684=m -CONFIG_ATM_BR2684_IPFILTER=y -CONFIG_L2TP=m -CONFIG_L2TP_DEBUGFS=m -CONFIG_L2TP_V3=y -CONFIG_L2TP_IP=m -CONFIG_L2TP_ETH=m -CONFIG_BRIDGE=m -CONFIG_BRIDGE_VLAN_FILTERING=y -CONFIG_NET_DSA=m -CONFIG_NET_DSA_TAG_OCELOT=m -CONFIG_NET_DSA_TAG_OCELOT_8021Q=m -CONFIG_NET_DSA_TAG_RTL4_A=m -CONFIG_NET_DSA_TAG_RTL8_4=m -CONFIG_NET_DSA_TAG_RZN1_A5PSW=m -CONFIG_VLAN_8021Q=y -CONFIG_VLAN_8021Q_GVRP=y -CONFIG_VLAN_8021Q_MVRP=y -CONFIG_LLC2=m -CONFIG_ATALK=m -CONFIG_DEV_APPLETALK=m -CONFIG_IPDDP=m -CONFIG_IPDDP_ENCAP=y -CONFIG_X25=m -CONFIG_LAPB=m -CONFIG_PHONET=m -CONFIG_6LOWPAN=m -CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=m -CONFIG_6LOWPAN_GHC_UDP=m -CONFIG_6LOWPAN_GHC_ICMPV6=m -CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m -CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m -CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=m -CONFIG_IEEE802154=m -CONFIG_IEEE802154_NL802154_EXPERIMENTAL=y -CONFIG_IEEE802154_6LOWPAN=m -CONFIG_MAC802154=m -CONFIG_NET_SCHED=y -CONFIG_NET_SCH_HTB=m -CONFIG_NET_SCH_HFSC=m -CONFIG_NET_SCH_PRIO=m -CONFIG_NET_SCH_MULTIQ=m -CONFIG_NET_SCH_RED=m -CONFIG_NET_SCH_SFB=m -CONFIG_NET_SCH_SFQ=m -CONFIG_NET_SCH_TEQL=m -CONFIG_NET_SCH_TBF=m -CONFIG_NET_SCH_CBS=m -CONFIG_NET_SCH_ETF=m -CONFIG_NET_SCH_TAPRIO=m -CONFIG_NET_SCH_GRED=m -CONFIG_NET_SCH_NETEM=m -CONFIG_NET_SCH_DRR=m -CONFIG_NET_SCH_MQPRIO=m -CONFIG_NET_SCH_SKBPRIO=m -CONFIG_NET_SCH_CHOKE=m -CONFIG_NET_SCH_QFQ=m -CONFIG_NET_SCH_CODEL=m -CONFIG_NET_SCH_FQ_CODEL=m -CONFIG_NET_SCH_CAKE=m -CONFIG_NET_SCH_FQ=m -CONFIG_NET_SCH_HHF=m -CONFIG_NET_SCH_PIE=m -CONFIG_NET_SCH_FQ_PIE=m -CONFIG_NET_SCH_INGRESS=m -CONFIG_NET_SCH_PLUG=m -CONFIG_NET_SCH_ETS=m -CONFIG_NET_SCH_DEFAULT=y -CONFIG_NET_CLS_BASIC=m -CONFIG_NET_CLS_ROUTE4=m -CONFIG_NET_CLS_FW=m -CONFIG_NET_CLS_U32=m -CONFIG_CLS_U32_PERF=y -CONFIG_CLS_U32_MARK=y -CONFIG_NET_CLS_FLOW=m -CONFIG_NET_CLS_CGROUP=m -CONFIG_NET_CLS_BPF=m -CONFIG_NET_CLS_FLOWER=m -CONFIG_NET_CLS_MATCHALL=m -CONFIG_NET_EMATCH=y -CONFIG_NET_EMATCH_CMP=m -CONFIG_NET_EMATCH_NBYTE=m -CONFIG_NET_EMATCH_U32=m -CONFIG_NET_EMATCH_META=m -CONFIG_NET_EMATCH_TEXT=m -CONFIG_NET_EMATCH_CANID=m -CONFIG_NET_EMATCH_IPSET=m -CONFIG_NET_EMATCH_IPT=m -CONFIG_NET_CLS_ACT=y -CONFIG_NET_ACT_POLICE=m -CONFIG_NET_ACT_GACT=m -CONFIG_GACT_PROB=y -CONFIG_NET_ACT_MIRRED=m -CONFIG_NET_ACT_SAMPLE=m -CONFIG_NET_ACT_IPT=m -CONFIG_NET_ACT_NAT=m -CONFIG_NET_ACT_PEDIT=m -CONFIG_NET_ACT_SIMP=m -CONFIG_NET_ACT_SKBEDIT=m -CONFIG_NET_ACT_CSUM=m -CONFIG_NET_ACT_MPLS=m -CONFIG_NET_ACT_VLAN=m -CONFIG_NET_ACT_BPF=m -CONFIG_NET_ACT_CONNMARK=m -CONFIG_NET_ACT_CTINFO=m -CONFIG_NET_ACT_SKBMOD=m -CONFIG_NET_ACT_IFE=m -CONFIG_NET_ACT_TUNNEL_KEY=m -CONFIG_NET_ACT_CT=m -CONFIG_NET_IFE_SKBMARK=m -CONFIG_NET_IFE_SKBPRIO=m -CONFIG_NET_IFE_SKBTCINDEX=m -CONFIG_DCB=y -CONFIG_DNS_RESOLVER=y -CONFIG_BATMAN_ADV=m -CONFIG_BATMAN_ADV_NC=y -CONFIG_BATMAN_ADV_DEBUG=y -CONFIG_OPENVSWITCH=m -CONFIG_VSOCKETS=m -CONFIG_VMWARE_VMCI_VSOCKETS=m -CONFIG_VIRTIO_VSOCKETS=m -CONFIG_NETLINK_DIAG=m -CONFIG_MPLS_ROUTING=m -CONFIG_MPLS_IPTUNNEL=m -CONFIG_HSR=m -CONFIG_CGROUP_NET_PRIO=y -CONFIG_BPF_STREAM_PARSER=y -CONFIG_NET_PKTGEN=m -CONFIG_HAMRADIO=y -CONFIG_AX25=m -CONFIG_NETROM=m -CONFIG_ROSE=m -CONFIG_MKISS=m -CONFIG_6PACK=m -CONFIG_BPQETHER=m -CONFIG_BAYCOM_SER_FDX=m -CONFIG_BAYCOM_SER_HDX=m -CONFIG_BAYCOM_PAR=m -CONFIG_YAM=m -CONFIG_CAN=m -CONFIG_CAN_J1939=m -CONFIG_BT=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=m -CONFIG_BT_6LOWPAN=m -CONFIG_BT_LEDS=y -CONFIG_BT_AOSPEXT=y -# CONFIG_BT_DEBUGFS is not set -CONFIG_BT_SELFTEST=y -CONFIG_BT_SELFTEST_ECDH=y -CONFIG_BT_SELFTEST_SMP=y -CONFIG_BT_HCIBTUSB=m -CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y -CONFIG_BT_HCIBTUSB_MTK=y -CONFIG_BT_HCIBTSDIO=m -CONFIG_BT_HCIUART=m -CONFIG_BT_HCIUART_NOKIA=m -CONFIG_BT_HCIUART_BCSP=y -CONFIG_BT_HCIUART_ATH3K=y -CONFIG_BT_HCIUART_LL=y -CONFIG_BT_HCIUART_INTEL=y -CONFIG_BT_HCIUART_BCM=y -CONFIG_BT_HCIUART_RTL=y -CONFIG_BT_HCIUART_QCA=y -CONFIG_BT_HCIUART_AG6XX=y -CONFIG_BT_HCIUART_MRVL=y -CONFIG_BT_HCIBCM203X=m -CONFIG_BT_HCIBPA10X=m -CONFIG_BT_HCIBFUSB=m -CONFIG_BT_HCIVHCI=m -CONFIG_BT_MRVL=m -CONFIG_BT_MRVL_SDIO=m -CONFIG_BT_ATH3K=m -CONFIG_BT_MTKSDIO=m -CONFIG_BT_MTKUART=m -CONFIG_BT_VIRTIO=m -CONFIG_CFG80211=m -CONFIG_CFG80211_CERTIFICATION_ONUS=y -CONFIG_CFG80211_REG_CELLULAR_HINTS=y -CONFIG_CFG80211_REG_RELAX_NO_IR=y -CONFIG_MAC80211=m -CONFIG_MAC80211_MESH=y -CONFIG_RFKILL=m -CONFIG_RFKILL_INPUT=y -CONFIG_RFKILL_GPIO=m -CONFIG_NET_9P=m -CONFIG_NET_9P_VIRTIO=m -CONFIG_CAIF=m -CONFIG_CAIF_USB=m -CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y -CONFIG_NFC=m -CONFIG_NFC_DIGITAL=m -CONFIG_NFC_NCI=m -CONFIG_NFC_NCI_SPI=m -CONFIG_NFC_NCI_UART=m -CONFIG_NFC_HCI=m -CONFIG_NFC_SHDLC=y -CONFIG_NFC_TRF7970A=m -CONFIG_NFC_SIM=m -CONFIG_NFC_PORT100=m -CONFIG_NFC_VIRTUAL_NCI=m -CONFIG_NFC_FDP=m -CONFIG_NFC_FDP_I2C=m -CONFIG_NFC_PN544_I2C=m -CONFIG_NFC_PN533_USB=m -CONFIG_NFC_PN533_I2C=m -CONFIG_NFC_PN532_UART=m -CONFIG_NFC_MICROREAD_I2C=m -CONFIG_NFC_MRVL_USB=m -CONFIG_NFC_MRVL_UART=m -CONFIG_NFC_MRVL_I2C=m -CONFIG_NFC_MRVL_SPI=m -CONFIG_NFC_ST21NFCA_I2C=m -CONFIG_NFC_ST_NCI_I2C=m -CONFIG_NFC_ST_NCI_SPI=m -CONFIG_NFC_NXP_NCI=m -CONFIG_NFC_NXP_NCI_I2C=m -CONFIG_NFC_S3FWRN5_I2C=m -CONFIG_NFC_S3FWRN82_UART=m -CONFIG_NFC_ST95HF=m -CONFIG_PCI=y -CONFIG_PCIEPORTBUS=y -CONFIG_HOTPLUG_PCI_PCIE=y -CONFIG_PCIEAER=y -CONFIG_PCIEAER_INJECT=m -CONFIG_PCIE_ECRC=y -CONFIG_PCIEASPM_PERFORMANCE=y -CONFIG_PCI_STUB=y -CONFIG_PCI_PRI=y -CONFIG_PCI_PASID=y -CONFIG_HOTPLUG_PCI=y -CONFIG_HOTPLUG_PCI_ACPI=y -CONFIG_PCI_TEGRA=y -CONFIG_PCI_HOST_GENERIC=y -CONFIG_PCI_XGENE=y -CONFIG_PCIE_ROCKCHIP_HOST=y -CONFIG_PCIE_ROCKCHIP_EP=y -CONFIG_PCIE_DW_PLAT_HOST=y -CONFIG_PCIE_DW_PLAT_EP=y -CONFIG_PCI_HISI=y -CONFIG_PCIE_ROCKCHIP_DW_HOST=y -CONFIG_PCIE_TEGRA194_HOST=m -CONFIG_PCIE_TEGRA194_EP=m -CONFIG_PCI_ENDPOINT=y -CONFIG_PCI_ENDPOINT_CONFIGFS=y -CONFIG_PCI_EPF_NTB=m -CONFIG_CXL_BUS=m -CONFIG_UEVENT_HELPER=y -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_FW_LOADER_USER_HELPER=y -CONFIG_FW_LOADER_COMPRESS=y -CONFIG_BRCMSTB_GISB_ARB=y -CONFIG_SUNXI_RSB=m -CONFIG_TEGRA_ACONNECT=m -CONFIG_TEGRA_GMI=m -CONFIG_VEXPRESS_CONFIG=y -CONFIG_MHI_BUS=m -CONFIG_MHI_BUS_PCI_GENERIC=m -CONFIG_MHI_BUS_EP=m -CONFIG_ARM_SCMI_PROTOCOL=y -CONFIG_ARM_SCMI_TRANSPORT_VIRTIO=y -CONFIG_ARM_SCMI_POWER_CONTROL=m -CONFIG_ARM_SCPI_PROTOCOL=y -CONFIG_DMI_SYSFS=y -CONFIG_ISCSI_IBFT=y -CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y -CONFIG_EFI_BOOTLOADER_CONTROL=m -CONFIG_EFI_CAPSULE_LOADER=m -CONFIG_GNSS=m -CONFIG_GNSS_MTK_SERIAL=m -CONFIG_GNSS_SIRF_SERIAL=m -CONFIG_GNSS_UBX_SERIAL=m -CONFIG_MTD=y -CONFIG_MTD_CMDLINE_PARTS=m -CONFIG_MTD_AFS_PARTS=m -CONFIG_MTD_BLOCK=y -CONFIG_FTL=m -CONFIG_NFTL=m -CONFIG_NFTL_RW=y -CONFIG_INFTL=m -CONFIG_RFD_FTL=m -CONFIG_SSFDC=m -CONFIG_SM_FTL=m -CONFIG_MTD_SWAP=m -CONFIG_MTD_CFI=y -CONFIG_MTD_JEDECPROBE=y -CONFIG_MTD_CFI_ADV_OPTIONS=y -CONFIG_MTD_CFI_INTELEXT=m -CONFIG_MTD_CFI_AMDSTD=m -CONFIG_MTD_CFI_STAA=m -CONFIG_MTD_PHYSMAP=m -CONFIG_MTD_PHYSMAP_OF=y -CONFIG_MTD_DATAFLASH=y -CONFIG_MTD_SST25L=y -CONFIG_MTD_ONENAND=m -CONFIG_MTD_RAW_NAND=y -CONFIG_MTD_NAND_DENALI_DT=y -CONFIG_MTD_NAND_ROCKCHIP=m -CONFIG_MTD_SPI_NAND=m -CONFIG_MTD_SPI_NOR=y -CONFIG_MTD_UBI=m -CONFIG_OF_OVERLAY=y -CONFIG_PARPORT=m -CONFIG_BLK_DEV_NULL_BLK=m -CONFIG_ZRAM=m -CONFIG_ZRAM_WRITEBACK=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_DRBD=m -CONFIG_BLK_DEV_NBD=m -CONFIG_BLK_DEV_RAM=m -CONFIG_ATA_OVER_ETH=m -CONFIG_VIRTIO_BLK=m -CONFIG_BLK_DEV_RBD=m -CONFIG_BLK_DEV_UBLK=m -CONFIG_BLK_DEV_NVME=y -CONFIG_NVME_MULTIPATH=y -CONFIG_NVME_HWMON=y -CONFIG_NVME_FC=m -CONFIG_NVME_TCP=m -CONFIG_NVME_TARGET=m -CONFIG_NVME_TARGET_PASSTHRU=y -CONFIG_NVME_TARGET_LOOP=m -CONFIG_NVME_TARGET_FC=m -CONFIG_NVME_TARGET_FCLOOP=m -CONFIG_NVME_TARGET_TCP=m -CONFIG_AD525X_DPOT=m -CONFIG_AD525X_DPOT_I2C=m -CONFIG_AD525X_DPOT_SPI=m -CONFIG_PHANTOM=m -CONFIG_ENCLOSURE_SERVICES=m -CONFIG_HI6421V600_IRQ=m -CONFIG_SRAM=y -CONFIG_DW_XDATA_PCIE=m -CONFIG_XILINX_SDFEC=m -CONFIG_VCPU_STALL_DETECTOR=m -CONFIG_EEPROM_AT24=m -CONFIG_EEPROM_AT25=m -CONFIG_EEPROM_LEGACY=m -CONFIG_EEPROM_MAX6875=m -CONFIG_EEPROM_EE1004=m -CONFIG_CB710_CORE=m -CONFIG_VMWARE_VMCI=m -CONFIG_GENWQE=m -CONFIG_ECHO=m -CONFIG_BCM_VK=m -CONFIG_MISC_ALCOR_PCI=m -CONFIG_MISC_RTSX_PCI=m -CONFIG_MISC_RTSX_USB=m -CONFIG_UACCE=m -CONFIG_GP_PCI1XXXX=m -CONFIG_RAID_ATTRS=y -CONFIG_BLK_DEV_SD=y -CONFIG_CHR_DEV_ST=m -CONFIG_BLK_DEV_SR=y -CONFIG_CHR_DEV_SG=y -CONFIG_CHR_DEV_SCH=m -CONFIG_SCSI_ENCLOSURE=m -CONFIG_SCSI_CONSTANTS=y -CONFIG_SCSI_LOGGING=y -CONFIG_SCSI_SCAN_ASYNC=y -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_SAS_ATTRS=y -CONFIG_SCSI_SAS_ATA=y -CONFIG_SCSI_SRP_ATTRS=m -CONFIG_ISCSI_TCP=m -CONFIG_SCSI_BNX2_ISCSI=m -CONFIG_SCSI_BNX2X_FCOE=m -CONFIG_BE2ISCSI=m -CONFIG_SCSI_HPSA=m -CONFIG_SCSI_MVSAS=m -# CONFIG_SCSI_MVSAS_DEBUG is not set -CONFIG_SCSI_MVSAS_TASKLET=y -CONFIG_SCSI_MVUMI=m -CONFIG_SCSI_ARCMSR=m -CONFIG_SCSI_ESAS2R=m -CONFIG_MEGARAID_NEWGEN=y -CONFIG_MEGARAID_MM=m -CONFIG_MEGARAID_MAILBOX=m -CONFIG_MEGARAID_LEGACY=m -CONFIG_MEGARAID_SAS=m -CONFIG_SCSI_MPT3SAS=m -CONFIG_SCSI_HPTIOP=m -CONFIG_SCSI_BUSLOGIC=m -CONFIG_LIBFC=m -CONFIG_LIBFCOE=m -CONFIG_FCOE=m -CONFIG_SCSI_SNIC=m -CONFIG_SCSI_DMX3191D=m -CONFIG_SCSI_INITIO=m -CONFIG_SCSI_INIA100=m -CONFIG_SCSI_STEX=m -CONFIG_SCSI_SYM53C8XX_2=m -CONFIG_SCSI_IPR=m -CONFIG_SCSI_QLOGIC_1280=m -CONFIG_SCSI_QLA_FC=m -CONFIG_TCM_QLA2XXX=m -CONFIG_SCSI_QLA_ISCSI=m -CONFIG_SCSI_DC395x=m -CONFIG_SCSI_AM53C974=m -CONFIG_SCSI_WD719X=m -CONFIG_SCSI_DEBUG=m -CONFIG_SCSI_PMCRAID=m -CONFIG_SCSI_VIRTIO=y -CONFIG_SCSI_CHELSIO_FCOE=m -CONFIG_SCSI_DH=y -CONFIG_SCSI_DH_RDAC=m -CONFIG_SCSI_DH_HP_SW=m -CONFIG_SCSI_DH_EMC=m -CONFIG_SCSI_DH_ALUA=m -CONFIG_ATA=y -CONFIG_SATA_AHCI=y -CONFIG_SATA_AHCI_PLATFORM=y -CONFIG_AHCI_DWC=m -CONFIG_AHCI_SUNXI=y -CONFIG_AHCI_TEGRA=y -CONFIG_SATA_INIC162X=m -CONFIG_SATA_ACARD_AHCI=m -CONFIG_SATA_SIL24=y -CONFIG_PDC_ADMA=m -CONFIG_SATA_QSTOR=m -CONFIG_SATA_SX4=m -CONFIG_ATA_PIIX=y -CONFIG_SATA_MV=m -CONFIG_SATA_NV=m -CONFIG_SATA_PROMISE=m -CONFIG_SATA_SIL=m -CONFIG_SATA_SIS=m -CONFIG_SATA_SVW=m -CONFIG_SATA_ULI=m -CONFIG_SATA_VIA=m -CONFIG_SATA_VITESSE=m -CONFIG_PATA_ALI=m -CONFIG_PATA_AMD=m -CONFIG_PATA_ARTOP=m -CONFIG_PATA_ATIIXP=m -CONFIG_PATA_ATP867X=m -CONFIG_PATA_CMD64X=m -CONFIG_PATA_CYPRESS=m -CONFIG_PATA_EFAR=m -CONFIG_PATA_HPT366=m -CONFIG_PATA_HPT37X=m -CONFIG_PATA_HPT3X2N=m -CONFIG_PATA_HPT3X3=m -CONFIG_PATA_IT8213=m -CONFIG_PATA_IT821X=m -CONFIG_PATA_JMICRON=m -CONFIG_PATA_MARVELL=m -CONFIG_PATA_NETCELL=m -CONFIG_PATA_NINJA32=m -CONFIG_PATA_NS87415=m -CONFIG_PATA_OLDPIIX=m -CONFIG_PATA_OPTIDMA=m -CONFIG_PATA_PDC2027X=m -CONFIG_PATA_PDC_OLD=m -CONFIG_PATA_RDC=m -CONFIG_PATA_SCH=m -CONFIG_PATA_SERVERWORKS=m -CONFIG_PATA_SIL680=m -CONFIG_PATA_TOSHIBA=m -CONFIG_PATA_TRIFLEX=m -CONFIG_PATA_VIA=m -CONFIG_PATA_WINBOND=m -CONFIG_PATA_CMD640_PCI=m -CONFIG_PATA_MPIIX=m -CONFIG_PATA_NS87410=m -CONFIG_PATA_OPTI=m -CONFIG_PATA_OF_PLATFORM=y -CONFIG_ATA_GENERIC=m -CONFIG_MD=y -CONFIG_BLK_DEV_MD=y -CONFIG_MD_LINEAR=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m -CONFIG_MD_CLUSTER=m -CONFIG_BCACHE=m -CONFIG_BLK_DEV_DM=y -CONFIG_DM_DEBUG=y -CONFIG_DM_CRYPT=m -CONFIG_DM_SNAPSHOT=y -CONFIG_DM_THIN_PROVISIONING=m -CONFIG_DM_CACHE=m -CONFIG_DM_WRITECACHE=m -CONFIG_DM_ERA=m -CONFIG_DM_CLONE=m -CONFIG_DM_MIRROR=m -CONFIG_DM_LOG_USERSPACE=m -CONFIG_DM_RAID=m -CONFIG_DM_ZERO=m -CONFIG_DM_MULTIPATH=m -CONFIG_DM_MULTIPATH_QL=m -CONFIG_DM_MULTIPATH_ST=m -CONFIG_DM_MULTIPATH_IOA=m -CONFIG_DM_DELAY=m -CONFIG_DM_DUST=m -CONFIG_DM_INIT=y -CONFIG_DM_UEVENT=y -CONFIG_DM_FLAKEY=m -CONFIG_DM_VERITY=m -CONFIG_DM_VERITY_FEC=y -CONFIG_DM_SWITCH=m -CONFIG_DM_LOG_WRITES=m -CONFIG_DM_INTEGRITY=m -CONFIG_DM_ZONED=m -CONFIG_TARGET_CORE=m -CONFIG_TCM_IBLOCK=m -CONFIG_TCM_FILEIO=m -CONFIG_TCM_PSCSI=m -CONFIG_TCM_USER2=m -CONFIG_LOOPBACK_TARGET=m -CONFIG_TCM_FC=m -CONFIG_ISCSI_TARGET=m -CONFIG_FUSION=y -CONFIG_FUSION_SPI=m -CONFIG_FUSION_FC=m -CONFIG_FUSION_SAS=m -CONFIG_FUSION_CTL=m -CONFIG_FUSION_LAN=m -CONFIG_FIREWIRE_NOSY=m -CONFIG_BONDING=m -CONFIG_DUMMY=m -CONFIG_WIREGUARD=m -CONFIG_EQUALIZER=m -CONFIG_NET_FC=y -CONFIG_IFB=m -CONFIG_NET_TEAM=m -CONFIG_NET_TEAM_MODE_BROADCAST=m -CONFIG_NET_TEAM_MODE_ROUNDROBIN=m -CONFIG_NET_TEAM_MODE_RANDOM=m -CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m -CONFIG_NET_TEAM_MODE_LOADBALANCE=m -CONFIG_MACVLAN=m -CONFIG_MACVTAP=m -CONFIG_IPVLAN=m -CONFIG_IPVTAP=m -CONFIG_VXLAN=m -CONFIG_GENEVE=m -CONFIG_BAREUDP=m -CONFIG_GTP=m -CONFIG_AMT=m -CONFIG_MACSEC=m -CONFIG_NETCONSOLE=y -CONFIG_NETCONSOLE_DYNAMIC=y -CONFIG_TUN=m -CONFIG_TUN_VNET_CROSS_LE=y -CONFIG_VETH=m -CONFIG_VIRTIO_NET=m -CONFIG_NLMON=m -CONFIG_NET_VRF=m -CONFIG_MHI_NET=m -CONFIG_ATM_DUMMY=m -CONFIG_ATM_TCP=m -CONFIG_ATM_LANAI=m -CONFIG_ATM_ENI=m -CONFIG_ATM_NICSTAR=m -CONFIG_ATM_IDT77252=m -CONFIG_ATM_IA=m -CONFIG_ATM_FORE200E=m -CONFIG_ATM_HE=m -CONFIG_ATM_SOLOS=m -CONFIG_CAIF_DRIVERS=y -CONFIG_CAIF_TTY=m -CONFIG_CAIF_VIRTIO=m -CONFIG_B53_SPI_DRIVER=m -CONFIG_B53_MDIO_DRIVER=m -CONFIG_B53_MMAP_DRIVER=m -CONFIG_B53_SRAB_DRIVER=m -CONFIG_B53_SERDES=m -CONFIG_NET_DSA_BCM_SF2=m -CONFIG_NET_DSA_LOOP=m -CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK=m -CONFIG_NET_DSA_LANTIQ_GSWIP=m -CONFIG_NET_DSA_MT7530=m -CONFIG_NET_DSA_MV88E6060=m -CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON=m -CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C=m -CONFIG_NET_DSA_MICROCHIP_KSZ_SPI=m -CONFIG_NET_DSA_MICROCHIP_KSZ8863_SMI=m -CONFIG_NET_DSA_MV88E6XXX=m -CONFIG_NET_DSA_AR9331=m -CONFIG_NET_DSA_QCA8K=m -CONFIG_NET_DSA_SJA1105=m -CONFIG_NET_DSA_XRS700X_I2C=m -CONFIG_NET_DSA_XRS700X_MDIO=m -CONFIG_NET_DSA_SMSC_LAN9303_I2C=m -CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m -CONFIG_NET_DSA_VITESSE_VSC73XX_SPI=m -CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM=m -CONFIG_ET131X=m -CONFIG_SUN4I_EMAC=m -CONFIG_ACENIC=m -CONFIG_ALTERA_TSE=m -CONFIG_AMD8111_ETH=m -CONFIG_PCNET32=m -CONFIG_AMD_XGBE=m -CONFIG_AQTION=m -CONFIG_ATL2=m -CONFIG_ATL1=m -CONFIG_ATL1E=m -CONFIG_ATL1C=m -CONFIG_ALX=m -CONFIG_B44=m -CONFIG_BCMGENET=m -CONFIG_TIGON3=m -CONFIG_BNX2X=m -CONFIG_SYSTEMPORT=m -CONFIG_BNXT=m -CONFIG_MACB=y -CONFIG_THUNDER_NIC_PF=y -CONFIG_CAVIUM_PTP=y -CONFIG_DNET=m -CONFIG_DL2K=m -CONFIG_SUNDANCE=m -CONFIG_HIX5HD2_GMAC=y -CONFIG_HNS_DSAF=y -CONFIG_HNS_ENET=y -CONFIG_HNS3=y -CONFIG_HNS3_HCLGE=y -CONFIG_HNS3_ENET=y -CONFIG_E100=m -CONFIG_E1000=m -CONFIG_E1000E=m -CONFIG_IGB=m -CONFIG_IGBVF=m -CONFIG_IXGBE=m -CONFIG_IXGBE_DCB=y -CONFIG_IXGBEVF=m -CONFIG_I40E=m -CONFIG_I40EVF=m -CONFIG_FM10K=m -CONFIG_TXGBE=m -CONFIG_JME=m -CONFIG_ADIN1110=m -CONFIG_LITEX_LITEETH=m -CONFIG_MVMDIO=m -CONFIG_SKGE=m -CONFIG_SKGE_GENESIS=y -CONFIG_SKY2=m -CONFIG_OCTEON_EP=m -CONFIG_MLX4_EN=m -CONFIG_KSZ884X_PCI=m -CONFIG_MYRI10GE=m -CONFIG_FEALNX=m -CONFIG_NATSEMI=m -CONFIG_NS83820=m -CONFIG_NE2K_PCI=m -CONFIG_FORCEDETH=m -CONFIG_ETHOC=m -CONFIG_HAMACHI=m -CONFIG_YELLOWFIN=m -CONFIG_IONIC=m -CONFIG_BNA=m -CONFIG_QCA7000_UART=m -CONFIG_QCOM_EMAC=m -CONFIG_RMNET=m -CONFIG_8139CP=m -CONFIG_8139TOO=m -CONFIG_8139TOO_TUNE_TWISTER=y -CONFIG_8139TOO_8129=y -CONFIG_8139_OLD_RX_RESET=y -CONFIG_R8169=m -CONFIG_ROCKER=m -CONFIG_SFC_SIENA=m -CONFIG_SMC91X=y -CONFIG_SMSC911X=y -CONFIG_STMMAC_ETH=y -CONFIG_DWMAC_SUNXI=m -CONFIG_DWMAC_SUN8I=m -CONFIG_TEHUTI=m -CONFIG_XILINX_EMACLITE=m -CONFIG_XILINX_AXI_EMAC=m -CONFIG_XILINX_LL_TEMAC=m -CONFIG_NET_SB1000=y -CONFIG_LED_TRIGGER_PHY=y -CONFIG_SFP=m -CONFIG_AMD_PHY=m -CONFIG_ADIN_PHY=m -CONFIG_AQUANTIA_PHY=m -CONFIG_BROADCOM_PHY=m -CONFIG_BCM84881_PHY=m -CONFIG_BCM87XX_PHY=m -CONFIG_CICADA_PHY=m -CONFIG_DAVICOM_PHY=m -CONFIG_ICPLUS_PHY=m -CONFIG_LXT_PHY=m -CONFIG_LSI_ET1011C_PHY=m -CONFIG_MARVELL_PHY=m -CONFIG_MARVELL_10G_PHY=m -CONFIG_MARVELL_88X2222_PHY=m -CONFIG_MAXLINEAR_GPHY=m -CONFIG_MICREL_PHY=y -CONFIG_MICROCHIP_T1_PHY=m -CONFIG_MOTORCOMM_PHY=y -CONFIG_NATIONAL_PHY=m -CONFIG_NXP_C45_TJA11XX_PHY=m -CONFIG_AT803X_PHY=m -CONFIG_QSEMI_PHY=m -CONFIG_REALTEK_PHY=y -CONFIG_ROCKCHIP_PHY=y -CONFIG_DP83TC811_PHY=m -CONFIG_DP83848_PHY=m -CONFIG_DP83869_PHY=m -CONFIG_DP83TD510_PHY=m -CONFIG_CAN_VCAN=m -CONFIG_CAN_VXCAN=m -CONFIG_CAN_GRCAN=m -CONFIG_CAN_KVASER_PCIEFD=m -CONFIG_CAN_SLCAN=m -CONFIG_CAN_XILINXCAN=m -CONFIG_CAN_C_CAN=m -CONFIG_CAN_C_CAN_PLATFORM=m -CONFIG_CAN_C_CAN_PCI=m -CONFIG_CAN_CC770=m -CONFIG_CAN_CC770_ISA=m -CONFIG_CAN_CC770_PLATFORM=m -CONFIG_CAN_CTUCANFD_PCI=m -CONFIG_CAN_M_CAN=m -CONFIG_CAN_M_CAN_PCI=m -CONFIG_CAN_M_CAN_PLATFORM=m -CONFIG_CAN_M_CAN_TCAN4X5X=m -CONFIG_CAN_PEAK_PCIEFD=m -CONFIG_CAN_SJA1000=m -CONFIG_CAN_EMS_PCI=m -CONFIG_CAN_F81601=m -CONFIG_CAN_KVASER_PCI=m -CONFIG_CAN_PEAK_PCI=m -CONFIG_CAN_PLX_PCI=m -CONFIG_CAN_SJA1000_ISA=m -CONFIG_CAN_SJA1000_PLATFORM=m -CONFIG_CAN_SOFTING=m -CONFIG_CAN_HI311X=m -CONFIG_CAN_MCP251X=m -CONFIG_CAN_8DEV_USB=m -CONFIG_CAN_EMS_USB=m -CONFIG_CAN_ESD_USB=m -CONFIG_CAN_ETAS_ES58X=m -CONFIG_CAN_GS_USB=m -CONFIG_CAN_KVASER_USB=m -CONFIG_CAN_MCBA_USB=m -CONFIG_CAN_PEAK_USB=m -CONFIG_CAN_UCAN=m -CONFIG_MDIO_BITBANG=y -CONFIG_MDIO_GPIO=m -CONFIG_MDIO_MVUSB=m -CONFIG_MDIO_MSCC_MIIM=m -CONFIG_MDIO_IPQ8064=m -CONFIG_MDIO_BUS_MUX_GPIO=m -CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y -CONFIG_MDIO_BUS_MUX_MMIOREG=y -CONFIG_PPP=m -CONFIG_PPP_BSDCOMP=m -CONFIG_PPP_DEFLATE=m -CONFIG_PPP_FILTER=y -CONFIG_PPP_MPPE=m -CONFIG_PPP_MULTILINK=y -CONFIG_PPPOATM=m -CONFIG_PPPOE=m -CONFIG_PPTP=m -CONFIG_PPPOL2TP=m -CONFIG_PPP_ASYNC=m -CONFIG_PPP_SYNC_TTY=m -CONFIG_SLIP=m -CONFIG_SLIP_COMPRESSED=y -CONFIG_SLIP_SMART=y -CONFIG_SLIP_MODE_SLIP6=y -CONFIG_USB_CATC=m -CONFIG_USB_KAWETH=m -CONFIG_USB_PEGASUS=m -CONFIG_USB_RTL8150=m -CONFIG_USB_RTL8152=m -CONFIG_USB_LAN78XX=m -CONFIG_USB_NET_CDC_EEM=m -CONFIG_USB_NET_HUAWEI_CDC_NCM=m -CONFIG_USB_NET_CDC_MBIM=m -CONFIG_USB_NET_DM9601=m -CONFIG_USB_NET_SR9700=m -CONFIG_USB_NET_SR9800=m -CONFIG_USB_NET_SMSC75XX=m -CONFIG_USB_NET_SMSC95XX=m -CONFIG_USB_NET_GL620A=m -CONFIG_USB_NET_PLUSB=m -CONFIG_USB_NET_MCS7830=m -CONFIG_USB_ALI_M5632=y -CONFIG_USB_AN2720=y -CONFIG_USB_EPSON2888=y -CONFIG_USB_KC2190=y -CONFIG_USB_NET_CX82310_ETH=m -CONFIG_USB_NET_KALMIA=m -CONFIG_USB_NET_QMI_WWAN=m -CONFIG_USB_HSO=m -CONFIG_USB_NET_INT51X1=m -CONFIG_USB_CDC_PHONET=m -CONFIG_USB_IPHETH=m -CONFIG_USB_SIERRA_NET=m -CONFIG_USB_VL600=m -CONFIG_USB_NET_CH9200=m -CONFIG_USB_NET_AQC111=m -CONFIG_ADM8211=m -CONFIG_ATH_REG_DYNAMIC_USER_REG_HINTS=y -CONFIG_ATH_REG_DYNAMIC_USER_CERT_TESTING=y -CONFIG_ATH5K=m -CONFIG_ATH5K_DEBUG=y -CONFIG_ATH5K_TEST_CHANNELS=y -CONFIG_ATH9K=m -CONFIG_ATH9K_AHB=y -CONFIG_ATH9K_DFS_CERTIFIED=y -CONFIG_ATH9K_DYNACK=y -CONFIG_ATH9K_WOW=y -CONFIG_ATH9K_CHANNEL_CONTEXT=y -CONFIG_ATH9K_PCI_NO_EEPROM=m -CONFIG_ATH9K_HTC=m -CONFIG_ATH9K_HWRNG=y -CONFIG_CARL9170=m -CONFIG_CARL9170_HWRNG=y -CONFIG_ATH6KL=m -CONFIG_ATH6KL_SDIO=m -CONFIG_ATH6KL_USB=m -CONFIG_ATH6KL_REGDOMAIN=y -CONFIG_AR5523=m -CONFIG_WIL6210=m -CONFIG_ATH10K=m -CONFIG_ATH10K_PCI=m -CONFIG_ATH10K_AHB=y -CONFIG_ATH10K_SDIO=m -CONFIG_ATH10K_USB=m -CONFIG_ATH10K_DFS_CERTIFIED=y -CONFIG_WCN36XX=m -CONFIG_ATH11K=m -CONFIG_ATH11K_AHB=m -CONFIG_ATMEL=m -CONFIG_PCI_ATMEL=m -CONFIG_AT76C50X_USB=m -CONFIG_B43=m -CONFIG_B43_SDIO=y -CONFIG_B43LEGACY=m -CONFIG_BRCMSMAC=m -CONFIG_BRCMFMAC=m -CONFIG_BRCMFMAC_USB=y -CONFIG_BRCMFMAC_PCIE=y -CONFIG_BRCMDBG=y -CONFIG_IPW2100=m -CONFIG_IPW2100_MONITOR=y -CONFIG_IPW2200=m -CONFIG_IPW2200_MONITOR=y -CONFIG_IPW2200_PROMISCUOUS=y -CONFIG_IPW2200_QOS=y -CONFIG_IWL4965=m -CONFIG_IWL3945=m -CONFIG_IWLWIFI=m -CONFIG_IWLDVM=m -CONFIG_IWLMVM=m -CONFIG_HOSTAP=m -CONFIG_HOSTAP_FIRMWARE=y -CONFIG_HOSTAP_FIRMWARE_NVRAM=y -CONFIG_HERMES=m -CONFIG_HERMES_PRISM=y -CONFIG_ORINOCO_USB=m -CONFIG_P54_COMMON=m -CONFIG_P54_USB=m -CONFIG_P54_SPI=m -CONFIG_P54_SPI_DEFAULT_EEPROM=y -CONFIG_LIBERTAS=m -CONFIG_LIBERTAS_USB=m -CONFIG_LIBERTAS_SDIO=m -CONFIG_LIBERTAS_SPI=m -CONFIG_LIBERTAS_MESH=y -CONFIG_LIBERTAS_THINFIRM=m -CONFIG_LIBERTAS_THINFIRM_USB=m -CONFIG_MWIFIEX=m -CONFIG_MWIFIEX_SDIO=m -CONFIG_MWIFIEX_PCIE=m -CONFIG_MWIFIEX_USB=m -CONFIG_MWL8K=m -CONFIG_MT7601U=m -CONFIG_MT76x0U=m -CONFIG_MT76x0E=m -CONFIG_MT76x2E=m -CONFIG_MT76x2U=m -CONFIG_MT7603E=m -CONFIG_MT7615E=m -CONFIG_MT7663U=m -CONFIG_MT7663S=m -CONFIG_MT7915E=m -CONFIG_MT7921E=m -CONFIG_MT7921S=m -CONFIG_WILC1000_SDIO=m -CONFIG_WILC1000_SPI=m -CONFIG_PLFXLC=m -CONFIG_RT2X00=m -CONFIG_RT2400PCI=m -CONFIG_RT2500PCI=m -CONFIG_RT61PCI=m -CONFIG_RT2800PCI=m -CONFIG_RT2500USB=m -CONFIG_RT73USB=m -CONFIG_RT2800USB=m -CONFIG_RT2800USB_RT3573=y -CONFIG_RT2800USB_RT53XX=y -CONFIG_RT2800USB_RT55XX=y -CONFIG_RT2800USB_UNKNOWN=y -CONFIG_RTL8180=m -CONFIG_RTL8187=m -CONFIG_RTL8192CE=m -CONFIG_RTL8192SE=m -CONFIG_RTL8192DE=m -CONFIG_RTL8723AE=m -CONFIG_RTL8723BE=m -CONFIG_RTL8188EE=m -CONFIG_RTL8192EE=m -CONFIG_RTL8821AE=m -CONFIG_RTL8192CU=m -# CONFIG_RTLWIFI_DEBUG is not set -CONFIG_RTL8XXXU=m -CONFIG_RTL8XXXU_UNTESTED=y -CONFIG_RTW88=m -CONFIG_RTW88_8822BE=m -CONFIG_RTW88_8822CE=m -CONFIG_RTW88_8723DE=m -CONFIG_RTW88_8821CE=m -CONFIG_RTW89=m -CONFIG_RTW89_8852AE=m -CONFIG_RTW89_8852CE=m -CONFIG_RSI_91X=m -# CONFIG_RSI_DEBUGFS is not set -CONFIG_WFX=m -CONFIG_CW1200=m -CONFIG_CW1200_WLAN_SDIO=m -CONFIG_CW1200_WLAN_SPI=m -CONFIG_WL1251=m -CONFIG_WL1251_SPI=m -CONFIG_WL1251_SDIO=m -CONFIG_WL12XX=m -CONFIG_WL18XX=m -CONFIG_WLCORE_SPI=m -CONFIG_WLCORE_SDIO=m -CONFIG_USB_ZD1201=m -CONFIG_ZD1211RW=m -CONFIG_QTNFMAC_PCIE=m -CONFIG_MAC80211_HWSIM=m -CONFIG_USB_NET_RNDIS_WLAN=m -CONFIG_VIRT_WIFI=m -CONFIG_WAN=y -CONFIG_HDLC=m -CONFIG_HDLC_RAW=m -CONFIG_HDLC_RAW_ETH=m -CONFIG_IEEE802154_FAKELB=m -CONFIG_IEEE802154_AT86RF230=m -CONFIG_IEEE802154_MRF24J40=m -CONFIG_IEEE802154_CC2520=m -CONFIG_IEEE802154_ATUSB=m -CONFIG_IEEE802154_ADF7242=m -CONFIG_IEEE802154_CA8210=m -CONFIG_IEEE802154_MCR20A=m -CONFIG_IEEE802154_HWSIM=m -CONFIG_WWAN=m -CONFIG_WWAN_HWSIM=m -CONFIG_MHI_WWAN_CTRL=m -CONFIG_MHI_WWAN_MBIM=m -CONFIG_MTK_T7XX=m -CONFIG_VMXNET3=m -CONFIG_FUJITSU_ES=m -CONFIG_NETDEVSIM=m -CONFIG_NET_FAILOVER=y -CONFIG_INPUT_SPARSEKMAP=m -CONFIG_INPUT_MOUSEDEV=y -CONFIG_INPUT_MOUSEDEV_PSAUX=y -CONFIG_INPUT_JOYDEV=m -CONFIG_INPUT_EVDEV=y -CONFIG_KEYBOARD_ADC=m -CONFIG_KEYBOARD_ADP5520=m -CONFIG_KEYBOARD_QT1050=m -CONFIG_KEYBOARD_GPIO=y -CONFIG_KEYBOARD_GPIO_POLLED=m -CONFIG_KEYBOARD_TEGRA=m -CONFIG_KEYBOARD_PINEPHONE=m -CONFIG_KEYBOARD_SUN4I_LRADC=m -CONFIG_KEYBOARD_IQS62X=m -CONFIG_KEYBOARD_CROS_EC=y -CONFIG_MOUSE_SYNAPTICS_I2C=m -CONFIG_MOUSE_SYNAPTICS_USB=m -CONFIG_INPUT_JOYSTICK=y -CONFIG_JOYSTICK_ANALOG=m -CONFIG_JOYSTICK_A3D=m -CONFIG_JOYSTICK_ADC=m -CONFIG_JOYSTICK_ADI=m -CONFIG_JOYSTICK_COBRA=m -CONFIG_JOYSTICK_GF2K=m -CONFIG_JOYSTICK_GRIP=m -CONFIG_JOYSTICK_GRIP_MP=m -CONFIG_JOYSTICK_GUILLEMOT=m -CONFIG_JOYSTICK_INTERACT=m -CONFIG_JOYSTICK_SIDEWINDER=m -CONFIG_JOYSTICK_TMDC=m -CONFIG_JOYSTICK_IFORCE=m -CONFIG_JOYSTICK_IFORCE_USB=m -CONFIG_JOYSTICK_IFORCE_232=m -CONFIG_JOYSTICK_WARRIOR=m -CONFIG_JOYSTICK_MAGELLAN=m -CONFIG_JOYSTICK_SPACEORB=m -CONFIG_JOYSTICK_SPACEBALL=m -CONFIG_JOYSTICK_STINGER=m -CONFIG_JOYSTICK_TWIDJOY=m -CONFIG_JOYSTICK_ZHENHUA=m -CONFIG_JOYSTICK_DB9=m -CONFIG_JOYSTICK_GAMECON=m -CONFIG_JOYSTICK_TURBOGRAFX=m -CONFIG_JOYSTICK_AS5011=m -CONFIG_JOYSTICK_JOYDUMP=m -CONFIG_JOYSTICK_XPAD=m -CONFIG_JOYSTICK_XPAD_FF=y -CONFIG_JOYSTICK_XPAD_LEDS=y -CONFIG_JOYSTICK_WALKERA0701=m -CONFIG_JOYSTICK_PSXPAD_SPI=m -CONFIG_JOYSTICK_PSXPAD_SPI_FF=y -CONFIG_JOYSTICK_PXRC=m -CONFIG_JOYSTICK_QWIIC=m -CONFIG_JOYSTICK_FSIA6B=m -CONFIG_JOYSTICK_SENSEHAT=m -CONFIG_INPUT_TABLET=y -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_ADS7846=m -CONFIG_TOUCHSCREEN_AD7877=m -CONFIG_TOUCHSCREEN_AD7879=m -CONFIG_TOUCHSCREEN_AD7879_I2C=m -CONFIG_TOUCHSCREEN_AD7879_SPI=m -CONFIG_TOUCHSCREEN_ADC=m -CONFIG_TOUCHSCREEN_AR1021_I2C=m -CONFIG_TOUCHSCREEN_ATMEL_MXT=m -CONFIG_TOUCHSCREEN_AUO_PIXCIR=m -CONFIG_TOUCHSCREEN_BU21013=m -CONFIG_TOUCHSCREEN_BU21029=m -CONFIG_TOUCHSCREEN_CHIPONE_ICN8318=m -CONFIG_TOUCHSCREEN_CHIPONE_ICN8505=m -CONFIG_TOUCHSCREEN_CY8CTMG110=m -CONFIG_TOUCHSCREEN_CYTTSP_CORE=m -CONFIG_TOUCHSCREEN_CYTTSP_I2C=m -CONFIG_TOUCHSCREEN_CYTTSP_SPI=m -CONFIG_TOUCHSCREEN_CYTTSP4_CORE=m -CONFIG_TOUCHSCREEN_CYTTSP4_I2C=m -CONFIG_TOUCHSCREEN_CYTTSP4_SPI=m -CONFIG_TOUCHSCREEN_DYNAPRO=m -CONFIG_TOUCHSCREEN_HAMPSHIRE=m -CONFIG_TOUCHSCREEN_EETI=m -CONFIG_TOUCHSCREEN_EGALAX=m -CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m -CONFIG_TOUCHSCREEN_EXC3000=m -CONFIG_TOUCHSCREEN_FUJITSU=m -CONFIG_TOUCHSCREEN_GOODIX=m -CONFIG_TOUCHSCREEN_HIDEEP=m -CONFIG_TOUCHSCREEN_HYCON_HY46XX=m -CONFIG_TOUCHSCREEN_ILI210X=m -CONFIG_TOUCHSCREEN_ILITEK=m -CONFIG_TOUCHSCREEN_S6SY761=m -CONFIG_TOUCHSCREEN_GUNZE=m -CONFIG_TOUCHSCREEN_EKTF2127=m -CONFIG_TOUCHSCREEN_ELAN=m -CONFIG_TOUCHSCREEN_ELO=m -CONFIG_TOUCHSCREEN_WACOM_W8001=m -CONFIG_TOUCHSCREEN_WACOM_I2C=m -CONFIG_TOUCHSCREEN_MAX11801=m -CONFIG_TOUCHSCREEN_MCS5000=m -CONFIG_TOUCHSCREEN_MMS114=m -CONFIG_TOUCHSCREEN_MELFAS_MIP4=m -CONFIG_TOUCHSCREEN_MSG2638=m -CONFIG_TOUCHSCREEN_MTOUCH=m -CONFIG_TOUCHSCREEN_IMX6UL_TSC=m -CONFIG_TOUCHSCREEN_INEXIO=m -CONFIG_TOUCHSCREEN_PENMOUNT=m -CONFIG_TOUCHSCREEN_EDT_FT5X06=m -CONFIG_TOUCHSCREEN_TOUCHRIGHT=m -CONFIG_TOUCHSCREEN_TOUCHWIN=m -CONFIG_TOUCHSCREEN_PIXCIR=m -CONFIG_TOUCHSCREEN_WDT87XX_I2C=m -CONFIG_TOUCHSCREEN_WM97XX=m -CONFIG_TOUCHSCREEN_USB_COMPOSITE=m -CONFIG_TOUCHSCREEN_TOUCHIT213=m -CONFIG_TOUCHSCREEN_TSC_SERIO=m -CONFIG_TOUCHSCREEN_TSC2004=m -CONFIG_TOUCHSCREEN_TSC2005=m -CONFIG_TOUCHSCREEN_TSC2007=m -CONFIG_TOUCHSCREEN_TSC2007_IIO=y -CONFIG_TOUCHSCREEN_RM_TS=m -CONFIG_TOUCHSCREEN_SILEAD=m -CONFIG_TOUCHSCREEN_SIS_I2C=m -CONFIG_TOUCHSCREEN_ST1232=m -CONFIG_TOUCHSCREEN_STMFTS=m -CONFIG_TOUCHSCREEN_SUN4I=m -CONFIG_TOUCHSCREEN_SURFACE3_SPI=m -CONFIG_TOUCHSCREEN_SX8654=m -CONFIG_TOUCHSCREEN_TPS6507X=m -CONFIG_TOUCHSCREEN_ZET6223=m -CONFIG_TOUCHSCREEN_ZFORCE=m -CONFIG_TOUCHSCREEN_COLIBRI_VF50=m -CONFIG_TOUCHSCREEN_ROHM_BU21023=m -CONFIG_TOUCHSCREEN_IQS5XX=m -CONFIG_TOUCHSCREEN_ZINITIX=m -CONFIG_INPUT_MISC=y -CONFIG_INPUT_ATC260X_ONKEY=m -CONFIG_INPUT_MAX77650_ONKEY=m -CONFIG_INPUT_GPIO_BEEPER=m -CONFIG_INPUT_GPIO_DECODER=m -CONFIG_INPUT_GPIO_VIBRA=m -CONFIG_INPUT_ATI_REMOTE2=m -CONFIG_INPUT_AXP20X_PEK=m -CONFIG_INPUT_UINPUT=m -CONFIG_INPUT_RK805_PWRKEY=y -CONFIG_INPUT_DA7280_HAPTICS=m -CONFIG_INPUT_IBM_PANEL=m -CONFIG_INPUT_IQS626A=m -CONFIG_INPUT_IQS7222=m -CONFIG_INPUT_SOC_BUTTON_ARRAY=m -CONFIG_INPUT_RAVE_SP_PWRBUTTON=m -CONFIG_INPUT_RT5120_PWRKEY=m -CONFIG_RMI4_I2C=m -CONFIG_RMI4_SPI=m -CONFIG_RMI4_SMB=m -CONFIG_RMI4_F34=y -CONFIG_RMI4_F3A=y -CONFIG_RMI4_F55=y -CONFIG_SERIO_PARKBD=m -CONFIG_SERIO_AMBAKMI=y -CONFIG_SERIO_RAW=m -CONFIG_SERIO_ALTERA_PS2=m -CONFIG_SERIO_ARC_PS2=m -CONFIG_SERIO_SUN4I_PS2=m -CONFIG_LEGACY_PTY_COUNT=16 -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_FINTEK=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_PCI=m -CONFIG_SERIAL_8250_NR_UARTS=8 -CONFIG_SERIAL_8250_RUNTIME_UARTS=8 -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_MANY_PORTS=y -CONFIG_SERIAL_8250_SHARE_IRQ=y -CONFIG_SERIAL_8250_RSA=y -CONFIG_SERIAL_8250_DW=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_SERIAL_AMBA_PL010=y -CONFIG_SERIAL_AMBA_PL010_CONSOLE=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_SERIAL_TEGRA=y -CONFIG_SERIAL_TEGRA_TCU=y -CONFIG_SERIAL_JSM=m -CONFIG_SERIAL_SIFIVE=m -CONFIG_SERIAL_SCCNXP=y -CONFIG_SERIAL_SCCNXP_CONSOLE=y -CONFIG_SERIAL_SC16IS7XX=m -CONFIG_SERIAL_SC16IS7XX_SPI=y -CONFIG_SERIAL_ALTERA_JTAGUART=m -CONFIG_SERIAL_ALTERA_UART=m -CONFIG_SERIAL_XILINX_PS_UART=y -CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y -CONFIG_SERIAL_ARC=m -CONFIG_SERIAL_RP2=m -CONFIG_SERIAL_FSL_LPUART=m -CONFIG_SERIAL_FSL_LINFLEXUART=m -CONFIG_SERIAL_CONEXANT_DIGICOLOR=m -CONFIG_SERIAL_SPRD=m -CONFIG_SERIAL_LITEUART=m -CONFIG_SERIAL_NONSTANDARD=y -CONFIG_MOXA_INTELLIO=m -CONFIG_MOXA_SMARTIO=m -CONFIG_N_HDLC=m -CONFIG_N_GSM=m -CONFIG_NOZOMI=m -CONFIG_NULL_TTY=m -CONFIG_RPMSG_TTY=m -CONFIG_SERIAL_DEV_BUS=y -CONFIG_TTY_PRINTK=m -CONFIG_VIRTIO_CONSOLE=y -CONFIG_IPMI_HANDLER=m -CONFIG_IPMI_DEVICE_INTERFACE=m -CONFIG_IPMI_SI=m -CONFIG_IPMI_IPMB=m -CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_VIRTIO=m -CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=m -CONFIG_TCG_TPM=y -CONFIG_TCG_TIS_I2C=m -CONFIG_TCG_TIS_I2C_INFINEON=y -CONFIG_XILLYUSB=m -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_ARB_GPIO_CHALLENGE=m -CONFIG_I2C_MUX_GPIO=m -CONFIG_I2C_MUX_GPMUX=m -CONFIG_I2C_MUX_LTC4306=m -CONFIG_I2C_MUX_PCA9541=m -CONFIG_I2C_MUX_PCA954x=m -CONFIG_I2C_MUX_PINCTRL=m -CONFIG_I2C_MUX_REG=m -CONFIG_I2C_DEMUX_PINCTRL=m -CONFIG_I2C_MUX_MLXCPLD=m -CONFIG_I2C_CADENCE=m -CONFIG_I2C_CBUS_GPIO=m -CONFIG_I2C_DESIGNWARE_PLATFORM=y -CONFIG_I2C_DESIGNWARE_PCI=m -CONFIG_I2C_EMEV2=m -CONFIG_I2C_GPIO=m -CONFIG_I2C_GPIO_FAULT_INJECTOR=y -CONFIG_I2C_HISI=m -CONFIG_I2C_MV64XXX=m -CONFIG_I2C_PCA_PLATFORM=m -CONFIG_I2C_RK3X=y -CONFIG_I2C_TEGRA=y -CONFIG_I2C_XILINX=m -CONFIG_I2C_DIOLAN_U2C=m -CONFIG_I2C_CP2615=m -CONFIG_I2C_PARPORT=m -CONFIG_I2C_PCI1XXXX=m -CONFIG_I2C_ROBOTFUZZ_OSIF=m -CONFIG_I2C_TAOS_EVM=m -CONFIG_I2C_TINY_USB=m -CONFIG_I2C_CROS_EC_TUNNEL=y -CONFIG_I2C_VIRTIO=m -CONFIG_I2C_STUB=m -CONFIG_I2C_SLAVE_EEPROM=m -CONFIG_I2C_SLAVE_TESTUNIT=m -CONFIG_I3C=m -CONFIG_CDNS_I3C_MASTER=m -CONFIG_DW_I3C_MASTER=m -CONFIG_SVC_I3C_MASTER=m -CONFIG_MIPI_I3C_HCI=m -CONFIG_SPI=y -CONFIG_SPI_ALTERA=m -CONFIG_SPI_AXI_SPI_ENGINE=m -CONFIG_SPI_CADENCE=m -CONFIG_SPI_CADENCE_QUADSPI=y -CONFIG_SPI_CADENCE_XSPI=m -CONFIG_SPI_DESIGNWARE=m -CONFIG_SPI_DW_PCI=m -CONFIG_SPI_DW_MMIO=m -CONFIG_SPI_HISI_KUNPENG=m -CONFIG_SPI_HISI_SFC_V3XX=m -CONFIG_SPI_GPIO=m -CONFIG_SPI_LM70_LLP=m -CONFIG_SPI_FSL_SPI=m -CONFIG_SPI_MICROCHIP_CORE=m -CONFIG_SPI_MICROCHIP_CORE_QSPI=m -CONFIG_SPI_OC_TINY=m -CONFIG_SPI_PL022=y -CONFIG_SPI_ROCKCHIP=y -CONFIG_SPI_ROCKCHIP_SFC=m -CONFIG_SPI_SUN4I=m -CONFIG_SPI_SUN6I=m -CONFIG_SPI_MXIC=m -CONFIG_SPI_TEGRA210_QUAD=m -CONFIG_SPI_TEGRA20_SFLASH=y -CONFIG_SPI_TEGRA20_SLINK=m -CONFIG_SPI_MUX=m -CONFIG_SPI_SPIDEV=m -CONFIG_SPI_LOOPBACK_TEST=m -CONFIG_SPI_TLE62X0=m -CONFIG_SPI_SLAVE=y -CONFIG_SPI_SLAVE_TIME=m -CONFIG_SPI_SLAVE_SYSTEM_CONTROL=m -CONFIG_SPMI=y -CONFIG_PPS_CLIENT_LDISC=m -CONFIG_PPS_CLIENT_GPIO=m -CONFIG_DP83640_PHY=m -CONFIG_PTP_1588_CLOCK_INES=m -CONFIG_PTP_1588_CLOCK_KVM=m -CONFIG_PTP_1588_CLOCK_IDT82P33=m -CONFIG_PTP_1588_CLOCK_IDTCM=m -CONFIG_PTP_1588_CLOCK_OCP=m -CONFIG_PINCTRL_AS3722=m -CONFIG_PINCTRL_AXP209=m -CONFIG_PINCTRL_CY8C95X0=m -CONFIG_PINCTRL_MAX77620=y -CONFIG_PINCTRL_RK805=y -CONFIG_PINCTRL_SINGLE=y -CONFIG_PINCTRL_STMFX=m -CONFIG_PINCTRL_SX150X=y -CONFIG_PINCTRL_SUN5I=y -CONFIG_PINCTRL_SUN6I_A31=y -CONFIG_PINCTRL_SUN6I_A31_R=y -CONFIG_PINCTRL_SUN8I_A23=y -CONFIG_PINCTRL_SUN8I_A33=y -CONFIG_PINCTRL_SUN8I_A83T=y -CONFIG_PINCTRL_SUN8I_A83T_R=y -CONFIG_PINCTRL_SUN8I_A23_R=y -CONFIG_PINCTRL_SUN8I_H3=y -CONFIG_PINCTRL_SUN8I_V3S=y -CONFIG_PINCTRL_SUN9I_A80=y -CONFIG_PINCTRL_SUN9I_A80_R=y -CONFIG_GPIO_SYSFS=y -CONFIG_GPIO_74XX_MMIO=m -CONFIG_GPIO_ALTERA=m -CONFIG_GPIO_CADENCE=m -CONFIG_GPIO_DWAPB=m -CONFIG_GPIO_EXAR=m -CONFIG_GPIO_GRGPIO=m -CONFIG_GPIO_HISI=m -CONFIG_GPIO_HLWD=m -CONFIG_GPIO_LOGICVC=m -CONFIG_GPIO_MB86S7X=m -CONFIG_GPIO_PL061=y -CONFIG_GPIO_SYSCON=y -CONFIG_GPIO_XGENE=y -CONFIG_GPIO_XILINX=y -CONFIG_GPIO_AMD_FCH=m -CONFIG_GPIO_ADNP=m -CONFIG_GPIO_GW_PLD=m -CONFIG_GPIO_MAX7300=m -CONFIG_GPIO_MAX732X=m -CONFIG_GPIO_PCA953X=y -CONFIG_GPIO_PCA953X_IRQ=y -CONFIG_GPIO_PCA9570=m -CONFIG_GPIO_PCF857X=m -CONFIG_GPIO_TPIC2810=m -CONFIG_GPIO_ADP5520=m -CONFIG_GPIO_ARIZONA=m -CONFIG_GPIO_BD71815=m -CONFIG_GPIO_BD71828=m -CONFIG_GPIO_BD9571MWV=m -CONFIG_GPIO_MAX77620=y -CONFIG_GPIO_MAX77650=m -CONFIG_GPIO_TQMX86=m -CONFIG_GPIO_PCI_IDIO_16=m -CONFIG_GPIO_PCIE_IDIO_24=m -CONFIG_GPIO_RDC321X=m -CONFIG_GPIO_74X164=m -CONFIG_GPIO_MAX3191X=m -CONFIG_GPIO_MAX7301=m -CONFIG_GPIO_MC33880=m -CONFIG_GPIO_PISOSR=m -CONFIG_GPIO_XRA1403=m -CONFIG_GPIO_MOCKUP=m -CONFIG_GPIO_VIRTIO=m -CONFIG_W1_MASTER_MATROX=m -CONFIG_W1_MASTER_DS2490=m -CONFIG_W1_MASTER_DS2482=m -CONFIG_W1_MASTER_GPIO=m -CONFIG_W1_MASTER_SGI=m -CONFIG_W1_SLAVE_THERM=m -CONFIG_W1_SLAVE_SMEM=m -CONFIG_W1_SLAVE_DS2405=m -CONFIG_W1_SLAVE_DS2408=m -CONFIG_W1_SLAVE_DS2413=m -CONFIG_W1_SLAVE_DS2406=m -CONFIG_W1_SLAVE_DS2423=m -CONFIG_W1_SLAVE_DS2805=m -CONFIG_W1_SLAVE_DS2430=m -CONFIG_W1_SLAVE_DS2431=m -CONFIG_W1_SLAVE_DS2433=m -CONFIG_W1_SLAVE_DS2438=m -CONFIG_W1_SLAVE_DS250X=m -CONFIG_W1_SLAVE_DS28E04=m -CONFIG_W1_SLAVE_DS28E17=m -CONFIG_POWER_RESET_ATC260X=m -CONFIG_POWER_RESET_BRCMSTB=y -CONFIG_POWER_RESET_GPIO=y -CONFIG_POWER_RESET_GPIO_RESTART=y -CONFIG_POWER_RESET_REGULATOR=y -CONFIG_POWER_RESET_RESTART=y -CONFIG_POWER_RESET_VEXPRESS=y -CONFIG_POWER_RESET_XGENE=y -CONFIG_POWER_RESET_SYSCON=y -CONFIG_POWER_RESET_SYSCON_POWEROFF=y -CONFIG_SYSCON_REBOOT_MODE=y -CONFIG_GENERIC_ADC_BATTERY=m -CONFIG_CHARGER_ADP5061=m -CONFIG_BATTERY_CW2015=m -CONFIG_BATTERY_DS2760=m -CONFIG_BATTERY_DS2780=m -CONFIG_BATTERY_DS2781=m -CONFIG_BATTERY_DS2782=m -CONFIG_BATTERY_SBS=m -CONFIG_CHARGER_SBS=m -CONFIG_MANAGER_SBS=m -CONFIG_BATTERY_BQ27XXX=m -CONFIG_CHARGER_AXP20X=m -CONFIG_BATTERY_AXP20X=m -CONFIG_AXP20X_POWER=m -CONFIG_BATTERY_MAX17040=m -CONFIG_BATTERY_MAX17042=m -CONFIG_BATTERY_MAX1721X=m -CONFIG_CHARGER_ISP1704=m -CONFIG_CHARGER_GPIO=m -CONFIG_CHARGER_LT3651=m -CONFIG_CHARGER_LTC4162L=m -CONFIG_CHARGER_DETECTOR_MAX14656=m -CONFIG_CHARGER_MAX77650=m -CONFIG_CHARGER_MT6370=m -CONFIG_CHARGER_RK817=m -CONFIG_CHARGER_SMB347=m -CONFIG_BATTERY_GOLDFISH=m -CONFIG_BATTERY_RT5033=m -CONFIG_CHARGER_CROS_PCHG=m -CONFIG_CHARGER_UCS1002=m -CONFIG_SENSORS_AD7314=m -CONFIG_SENSORS_AD7414=m -CONFIG_SENSORS_AD7418=m -CONFIG_SENSORS_ADM1025=m -CONFIG_SENSORS_ADM1026=m -CONFIG_SENSORS_ADM1029=m -CONFIG_SENSORS_ADM1031=m -CONFIG_SENSORS_ADM1177=m -CONFIG_SENSORS_ADM9240=m -CONFIG_SENSORS_ADT7310=m -CONFIG_SENSORS_ADT7410=m -CONFIG_SENSORS_ADT7411=m -CONFIG_SENSORS_ADT7462=m -CONFIG_SENSORS_ADT7470=m -CONFIG_SENSORS_ADT7475=m -CONFIG_SENSORS_AHT10=m -CONFIG_SENSORS_AQUACOMPUTER_D5NEXT=m -CONFIG_SENSORS_AS370=m -CONFIG_SENSORS_ASC7621=m -CONFIG_SENSORS_AXI_FAN_CONTROL=m -CONFIG_SENSORS_ARM_SCMI=m -CONFIG_SENSORS_ARM_SCPI=m -CONFIG_SENSORS_ATXP1=m -CONFIG_SENSORS_CORSAIR_PSU=m -CONFIG_SENSORS_DRIVETEMP=m -CONFIG_SENSORS_DS620=m -CONFIG_SENSORS_DS1621=m -CONFIG_SENSORS_I5K_AMB=m -CONFIG_SENSORS_F71805F=m -CONFIG_SENSORS_F71882FG=m -CONFIG_SENSORS_F75375S=m -CONFIG_SENSORS_FTSTEUTATES=m -CONFIG_SENSORS_GL518SM=m -CONFIG_SENSORS_GL520SM=m -CONFIG_SENSORS_G760A=m -CONFIG_SENSORS_G762=m -CONFIG_SENSORS_GPIO_FAN=m -CONFIG_SENSORS_HIH6130=m -CONFIG_SENSORS_IIO_HWMON=m -CONFIG_SENSORS_IT87=m -CONFIG_SENSORS_JC42=m -CONFIG_SENSORS_POWR1220=m -CONFIG_SENSORS_LINEAGE=m -CONFIG_SENSORS_LTC2945=m -CONFIG_SENSORS_LTC2947_I2C=m -CONFIG_SENSORS_LTC2947_SPI=m -CONFIG_SENSORS_LTC2990=m -CONFIG_SENSORS_LTC2992=m -CONFIG_SENSORS_LTC4151=m -CONFIG_SENSORS_LTC4215=m -CONFIG_SENSORS_LTC4222=m -CONFIG_SENSORS_LTC4245=m -CONFIG_SENSORS_LTC4260=m -CONFIG_SENSORS_LTC4261=m -CONFIG_SENSORS_MAX1111=m -CONFIG_SENSORS_MAX127=m -CONFIG_SENSORS_MAX16065=m -CONFIG_SENSORS_MAX1619=m -CONFIG_SENSORS_MAX1668=m -CONFIG_SENSORS_MAX197=m -CONFIG_SENSORS_MAX31722=m -CONFIG_SENSORS_MAX31730=m -CONFIG_SENSORS_MAX31760=m -CONFIG_SENSORS_MAX6620=m -CONFIG_SENSORS_MAX6621=m -CONFIG_SENSORS_MAX6639=m -CONFIG_SENSORS_MAX6650=m -CONFIG_SENSORS_MAX6697=m -CONFIG_SENSORS_MAX31790=m -CONFIG_SENSORS_MCP3021=m -CONFIG_SENSORS_TC654=m -CONFIG_SENSORS_TPS23861=m -CONFIG_SENSORS_ADCXX=m -CONFIG_SENSORS_LM63=m -CONFIG_SENSORS_LM70=m -CONFIG_SENSORS_LM73=m -CONFIG_SENSORS_LM75=m -CONFIG_SENSORS_LM77=m -CONFIG_SENSORS_LM78=m -CONFIG_SENSORS_LM80=m -CONFIG_SENSORS_LM83=m -CONFIG_SENSORS_LM85=m -CONFIG_SENSORS_LM87=m -CONFIG_SENSORS_LM90=m -CONFIG_SENSORS_LM92=m -CONFIG_SENSORS_LM93=m -CONFIG_SENSORS_LM95234=m -CONFIG_SENSORS_LM95241=m -CONFIG_SENSORS_LM95245=m -CONFIG_SENSORS_PC87360=m -CONFIG_SENSORS_PC87427=m -CONFIG_SENSORS_NTC_THERMISTOR=m -CONFIG_SENSORS_NCT6683=m -CONFIG_SENSORS_NCT6775=m -CONFIG_SENSORS_NCT6775_I2C=m -CONFIG_SENSORS_NCT7802=m -CONFIG_SENSORS_NCT7904=m -CONFIG_SENSORS_NPCM7XX=m -CONFIG_SENSORS_NZXT_KRAKEN2=m -CONFIG_SENSORS_OCC_P8_I2C=m -CONFIG_SENSORS_PCF8591=m -CONFIG_PMBUS=m -CONFIG_SENSORS_ADM1275=m -CONFIG_SENSORS_BEL_PFE=m -CONFIG_SENSORS_BPA_RS600=m -CONFIG_SENSORS_FSP_3Y=m -CONFIG_SENSORS_IBM_CFFPS=m -CONFIG_SENSORS_DPS920AB=m -CONFIG_SENSORS_INSPUR_IPSPS=m -CONFIG_SENSORS_IR35221=m -CONFIG_SENSORS_IR36021=m -CONFIG_SENSORS_IR38064=m -CONFIG_SENSORS_IRPS5401=m -CONFIG_SENSORS_ISL68137=m -CONFIG_SENSORS_LM25066=m -CONFIG_SENSORS_LT7182S=m -CONFIG_SENSORS_LTC2978=m -CONFIG_SENSORS_LTC2978_REGULATOR=y -CONFIG_SENSORS_LTC3815=m -CONFIG_SENSORS_MAX15301=m -CONFIG_SENSORS_MAX16064=m -CONFIG_SENSORS_MAX20730=m -CONFIG_SENSORS_MAX20751=m -CONFIG_SENSORS_MAX31785=m -CONFIG_SENSORS_MAX34440=m -CONFIG_SENSORS_MAX8688=m -CONFIG_SENSORS_MP2888=m -CONFIG_SENSORS_PIM4328=m -CONFIG_SENSORS_PM6764TR=m -CONFIG_SENSORS_PXE1610=m -CONFIG_SENSORS_Q54SJ108A2=m -CONFIG_SENSORS_STPDDC60=m -CONFIG_SENSORS_TPS40422=m -CONFIG_SENSORS_TPS53679=m -CONFIG_SENSORS_UCD9000=m -CONFIG_SENSORS_UCD9200=m -CONFIG_SENSORS_XDPE152=m -CONFIG_SENSORS_XDPE122=m -CONFIG_SENSORS_ZL6100=m -CONFIG_SENSORS_PWM_FAN=m -CONFIG_SENSORS_SBTSI=m -CONFIG_SENSORS_SBRMI=m -CONFIG_SENSORS_SHT15=m -CONFIG_SENSORS_SHT21=m -CONFIG_SENSORS_SHT3x=m -CONFIG_SENSORS_SHT4x=m -CONFIG_SENSORS_SHTC1=m -CONFIG_SENSORS_SIS5595=m -CONFIG_SENSORS_DME1737=m -CONFIG_SENSORS_EMC1403=m -CONFIG_SENSORS_EMC2103=m -CONFIG_SENSORS_EMC2305=m -CONFIG_SENSORS_EMC6W201=m -CONFIG_SENSORS_SMSC47M1=m -CONFIG_SENSORS_SMSC47M192=m -CONFIG_SENSORS_SMSC47B397=m -CONFIG_SENSORS_SCH5627=m -CONFIG_SENSORS_SCH5636=m -CONFIG_SENSORS_STTS751=m -CONFIG_SENSORS_ADC128D818=m -CONFIG_SENSORS_ADS7828=m -CONFIG_SENSORS_ADS7871=m -CONFIG_SENSORS_AMC6821=m -CONFIG_SENSORS_INA209=m -CONFIG_SENSORS_INA2XX=m -CONFIG_SENSORS_INA3221=m -CONFIG_SENSORS_TC74=m -CONFIG_SENSORS_THMC50=m -CONFIG_SENSORS_TMP102=m -CONFIG_SENSORS_TMP103=m -CONFIG_SENSORS_TMP108=m -CONFIG_SENSORS_TMP401=m -CONFIG_SENSORS_TMP421=m -CONFIG_SENSORS_TMP513=m -CONFIG_SENSORS_VEXPRESS=m -CONFIG_SENSORS_VIA686A=m -CONFIG_SENSORS_VT1211=m -CONFIG_SENSORS_VT8231=m -CONFIG_SENSORS_W83773G=m -CONFIG_SENSORS_W83781D=m -CONFIG_SENSORS_W83791D=m -CONFIG_SENSORS_W83792D=m -CONFIG_SENSORS_W83793=m -CONFIG_SENSORS_W83795=m -CONFIG_SENSORS_W83L785TS=m -CONFIG_SENSORS_W83L786NG=m -CONFIG_SENSORS_W83627HF=m -CONFIG_SENSORS_W83627EHF=m -CONFIG_SENSORS_XGENE=m -CONFIG_SENSORS_ACPI_POWER=m -CONFIG_THERMAL_STATISTICS=y -CONFIG_THERMAL_WRITABLE_TRIPS=y -CONFIG_THERMAL_GOV_FAIR_SHARE=y -CONFIG_THERMAL_GOV_BANG_BANG=y -CONFIG_THERMAL_GOV_USER_SPACE=y -CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y -CONFIG_CPU_THERMAL=y -CONFIG_DEVFREQ_THERMAL=y -CONFIG_THERMAL_EMULATION=y -CONFIG_THERMAL_MMIO=m -CONFIG_MAX77620_THERMAL=m -CONFIG_SUN8I_THERMAL=m -CONFIG_ROCKCHIP_THERMAL=y -CONFIG_TEGRA_BPMP_THERMAL=m -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_SYSFS=y -CONFIG_SOFT_WATCHDOG=m -CONFIG_BD957XMUF_WATCHDOG=m -CONFIG_RAVE_SP_WATCHDOG=m -CONFIG_DW_WATCHDOG=y -CONFIG_RN5T618_WATCHDOG=m -CONFIG_SUNXI_WATCHDOG=m -CONFIG_TEGRA_WATCHDOG=m -CONFIG_HP_WATCHDOG=m -CONFIG_PCIPCWATCHDOG=m -CONFIG_WDTPCI=m -CONFIG_USBPCWATCHDOG=m -CONFIG_SSB_DRIVER_GPIO=y -CONFIG_BCMA_HOST_SOC=y -CONFIG_BCMA_DRIVER_GMAC_CMN=y -CONFIG_BCMA_DRIVER_GPIO=y -CONFIG_BCMA_DEBUG=y -CONFIG_MFD_SUN4I_GPADC=m -CONFIG_MFD_AS3711=y -CONFIG_MFD_AS3722=m -CONFIG_PMIC_ADP5520=y -CONFIG_MFD_AAT2870_CORE=y -CONFIG_MFD_BD9571MWV=y -CONFIG_MFD_AC100=m -CONFIG_MFD_AXP20X_I2C=y -CONFIG_MFD_AXP20X_RSB=m -CONFIG_MFD_HI6421_PMIC=y -CONFIG_MFD_IQS62X=m -CONFIG_MFD_MAX77620=y -CONFIG_MFD_MAX77650=m -CONFIG_MFD_MT6370=m -CONFIG_MFD_OCELOT=m -CONFIG_MFD_NTXEC=m -CONFIG_MFD_SY7636A=m -CONFIG_MFD_RT4831=m -CONFIG_MFD_RT5033=m -CONFIG_MFD_RT5120=m -CONFIG_MFD_RC5T583=y -CONFIG_MFD_RK8XX_I2C=y -CONFIG_MFD_RN5T618=m -CONFIG_MFD_SEC_CORE=y -CONFIG_MFD_SM501=m -CONFIG_MFD_SM501_GPIO=y -CONFIG_MFD_SUN6I_PRCM=y -CONFIG_MFD_LM3533=m -CONFIG_MFD_TQMX86=m -CONFIG_MFD_VX855=m -CONFIG_MFD_ARIZONA_I2C=m -CONFIG_MFD_ARIZONA_SPI=m -CONFIG_MFD_WM5102=y -CONFIG_MFD_ROHM_BD718XX=y -CONFIG_MFD_ROHM_BD71828=m -CONFIG_MFD_ROHM_BD957XMUF=m -CONFIG_MFD_ATC260X_I2C=m -CONFIG_MFD_QCOM_PM8008=m -CONFIG_RAVE_SP_CORE=m -CONFIG_MFD_RSMU_I2C=m -CONFIG_MFD_RSMU_SPI=m -CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_REGULATOR_88PG86X=m -CONFIG_REGULATOR_AAT2870=m -CONFIG_REGULATOR_ARIZONA_LDO1=m -CONFIG_REGULATOR_ARIZONA_MICSUPP=m -CONFIG_REGULATOR_ARM_SCMI=m -CONFIG_REGULATOR_AS3711=m -CONFIG_REGULATOR_AS3722=m -CONFIG_REGULATOR_ATC260X=m -CONFIG_REGULATOR_AXP20X=m -CONFIG_REGULATOR_BD71815=m -CONFIG_REGULATOR_BD71828=m -CONFIG_REGULATOR_BD718XX=m -CONFIG_REGULATOR_BD9571MWV=m -CONFIG_REGULATOR_BD957XMUF=m -CONFIG_REGULATOR_DA9121=m -CONFIG_REGULATOR_FAN53555=y -CONFIG_REGULATOR_FAN53880=m -CONFIG_REGULATOR_GPIO=y -CONFIG_REGULATOR_HI6421V530=y -CONFIG_REGULATOR_MAX77620=y -CONFIG_REGULATOR_MAX77650=m -CONFIG_REGULATOR_MAX8893=m -CONFIG_REGULATOR_MAX8973=y -CONFIG_REGULATOR_MCP16502=m -CONFIG_REGULATOR_MP5416=m -CONFIG_REGULATOR_MP8859=m -CONFIG_REGULATOR_MP886X=m -CONFIG_REGULATOR_MPQ7920=m -CONFIG_REGULATOR_MT6315=m -CONFIG_REGULATOR_MT6370=m -CONFIG_REGULATOR_PF8X00=m -CONFIG_REGULATOR_PFUZE100=m -CONFIG_REGULATOR_PWM=y -CONFIG_REGULATOR_QCOM_SPMI=y -CONFIG_REGULATOR_RC5T583=m -CONFIG_REGULATOR_RK808=y -CONFIG_REGULATOR_RN5T618=m -CONFIG_REGULATOR_RT4831=m -CONFIG_REGULATOR_RT5033=m -CONFIG_REGULATOR_RT5120=m -CONFIG_REGULATOR_RT5759=m -CONFIG_REGULATOR_RT6160=m -CONFIG_REGULATOR_RT6245=m -CONFIG_REGULATOR_RTQ2134=m -CONFIG_REGULATOR_RTQ6752=m -CONFIG_REGULATOR_S2MPS11=y -CONFIG_REGULATOR_SLG51000=m -CONFIG_REGULATOR_SY8824X=m -CONFIG_REGULATOR_VCTRL=m -CONFIG_REGULATOR_VEXPRESS=m -CONFIG_RC_CORE=m -CONFIG_LIRC=y -CONFIG_RC_DECODERS=y -CONFIG_IR_IMON_DECODER=m -CONFIG_IR_JVC_DECODER=m -CONFIG_IR_MCE_KBD_DECODER=m -CONFIG_IR_NEC_DECODER=m -CONFIG_IR_RC5_DECODER=m -CONFIG_IR_RC6_DECODER=m -CONFIG_IR_RCMM_DECODER=m -CONFIG_IR_SANYO_DECODER=m -CONFIG_IR_SHARP_DECODER=m -CONFIG_IR_SONY_DECODER=m -CONFIG_IR_XMP_DECODER=m -CONFIG_RC_DEVICES=y -CONFIG_IR_ENE=m -CONFIG_IR_FINTEK=m -CONFIG_IR_GPIO_CIR=m -CONFIG_IR_GPIO_TX=m -CONFIG_IR_HIX5HD2=m -CONFIG_IR_IGORPLUGUSB=m -CONFIG_IR_IGUANA=m -CONFIG_IR_IMON=m -CONFIG_IR_IMON_RAW=m -CONFIG_IR_ITE_CIR=m -CONFIG_IR_MCEUSB=m -CONFIG_IR_NUVOTON=m -CONFIG_IR_PWM_TX=m -CONFIG_IR_REDRAT3=m -CONFIG_IR_SERIAL=m -CONFIG_IR_SERIAL_TRANSMITTER=y -CONFIG_IR_SPI=m -CONFIG_IR_STREAMZAP=m -CONFIG_IR_SUNXI=m -CONFIG_IR_TOY=m -CONFIG_IR_TTUSBIR=m -CONFIG_RC_ATI_REMOTE=m -CONFIG_RC_LOOPBACK=m -CONFIG_RC_XBOX_DVD=m -CONFIG_CEC_PIN_ERROR_INJ=y -CONFIG_CEC_CH7322=m -CONFIG_CEC_CROS_EC=m -CONFIG_CEC_GPIO=m -CONFIG_CEC_TEGRA=m -CONFIG_USB_PULSE8_CEC=m -CONFIG_USB_RAINSHADOW_CEC=m -CONFIG_MEDIA_SUPPORT=y -CONFIG_MEDIA_SUBDRV_AUTOSELECT=y -CONFIG_VIDEO_FIXED_MINOR_RANGES=y -CONFIG_DVB_MAX_ADAPTERS=8 -CONFIG_MEDIA_USB_SUPPORT=y -CONFIG_USB_GSPCA=m -CONFIG_USB_GSPCA_BENQ=m -CONFIG_USB_GSPCA_CONEX=m -CONFIG_USB_GSPCA_CPIA1=m -CONFIG_USB_GSPCA_DTCS033=m -CONFIG_USB_GSPCA_ETOMS=m -CONFIG_USB_GSPCA_FINEPIX=m -CONFIG_USB_GSPCA_JEILINJ=m -CONFIG_USB_GSPCA_JL2005BCD=m -CONFIG_USB_GSPCA_KINECT=m -CONFIG_USB_GSPCA_KONICA=m -CONFIG_USB_GSPCA_MARS=m -CONFIG_USB_GSPCA_MR97310A=m -CONFIG_USB_GSPCA_NW80X=m -CONFIG_USB_GSPCA_OV519=m -CONFIG_USB_GSPCA_OV534=m -CONFIG_USB_GSPCA_OV534_9=m -CONFIG_USB_GSPCA_PAC207=m -CONFIG_USB_GSPCA_PAC7302=m -CONFIG_USB_GSPCA_PAC7311=m -CONFIG_USB_GSPCA_SE401=m -CONFIG_USB_GSPCA_SN9C2028=m -CONFIG_USB_GSPCA_SN9C20X=m -CONFIG_USB_GSPCA_SONIXB=m -CONFIG_USB_GSPCA_SONIXJ=m -CONFIG_USB_GSPCA_SPCA1528=m -CONFIG_USB_GSPCA_SPCA500=m -CONFIG_USB_GSPCA_SPCA501=m -CONFIG_USB_GSPCA_SPCA505=m -CONFIG_USB_GSPCA_SPCA506=m -CONFIG_USB_GSPCA_SPCA508=m -CONFIG_USB_GSPCA_SPCA561=m -CONFIG_USB_GSPCA_SQ905=m -CONFIG_USB_GSPCA_SQ905C=m -CONFIG_USB_GSPCA_SQ930X=m -CONFIG_USB_GSPCA_STK014=m -CONFIG_USB_GSPCA_STK1135=m -CONFIG_USB_GSPCA_STV0680=m -CONFIG_USB_GSPCA_SUNPLUS=m -CONFIG_USB_GSPCA_T613=m -CONFIG_USB_GSPCA_TOPRO=m -CONFIG_USB_GSPCA_TOUPTEK=m -CONFIG_USB_GSPCA_TV8532=m -CONFIG_USB_GSPCA_VC032X=m -CONFIG_USB_GSPCA_VICAM=m -CONFIG_USB_GSPCA_XIRLINK_CIT=m -CONFIG_USB_GSPCA_ZC3XX=m -CONFIG_USB_GL860=m -CONFIG_USB_M5602=m -CONFIG_USB_STV06XX=m -CONFIG_USB_PWC=m -CONFIG_USB_S2255=m -CONFIG_VIDEO_USBTV=m -CONFIG_USB_VIDEO_CLASS=m -CONFIG_VIDEO_GO7007=m -CONFIG_VIDEO_GO7007_USB=m -CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m -CONFIG_VIDEO_HDPVR=m -CONFIG_VIDEO_PVRUSB2=m -CONFIG_VIDEO_AU0828=m -CONFIG_VIDEO_AU0828_RC=y -CONFIG_VIDEO_CX231XX=m -CONFIG_VIDEO_CX231XX_ALSA=m -CONFIG_VIDEO_CX231XX_DVB=m -CONFIG_DVB_AS102=m -CONFIG_DVB_B2C2_FLEXCOP_USB=m -CONFIG_DVB_USB_V2=m -CONFIG_DVB_USB_AF9015=m -CONFIG_DVB_USB_AF9035=m -CONFIG_DVB_USB_ANYSEE=m -CONFIG_DVB_USB_AU6610=m -CONFIG_DVB_USB_AZ6007=m -CONFIG_DVB_USB_CE6230=m -CONFIG_DVB_USB_DVBSKY=m -CONFIG_DVB_USB_EC168=m -CONFIG_DVB_USB_GL861=m -CONFIG_DVB_USB_LME2510=m -CONFIG_DVB_USB_MXL111SF=m -CONFIG_DVB_USB_RTL28XXU=m -CONFIG_DVB_USB_ZD1301=m -CONFIG_DVB_USB=m -CONFIG_DVB_USB_A800=m -CONFIG_DVB_USB_AF9005=m -CONFIG_DVB_USB_AF9005_REMOTE=m -CONFIG_DVB_USB_AZ6027=m -CONFIG_DVB_USB_CINERGY_T2=m -CONFIG_DVB_USB_CXUSB=m -CONFIG_DVB_USB_DIB0700=m -CONFIG_DVB_USB_DIBUSB_MB=m -CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y -CONFIG_DVB_USB_DIBUSB_MC=m -CONFIG_DVB_USB_DIGITV=m -CONFIG_DVB_USB_DTT200U=m -CONFIG_DVB_USB_DTV5100=m -CONFIG_DVB_USB_DW2102=m -CONFIG_DVB_USB_GP8PSK=m -CONFIG_DVB_USB_M920X=m -CONFIG_DVB_USB_NOVA_T_USB2=m -CONFIG_DVB_USB_OPERA1=m -CONFIG_DVB_USB_PCTV452E=m -CONFIG_DVB_USB_TECHNISAT_USB2=m -CONFIG_DVB_USB_TTUSB2=m -CONFIG_DVB_USB_UMT_010=m -CONFIG_DVB_USB_VP702X=m -CONFIG_DVB_USB_VP7045=m -CONFIG_SMS_USB_DRV=m -CONFIG_DVB_TTUSB_BUDGET=m -CONFIG_DVB_TTUSB_DEC=m -CONFIG_VIDEO_EM28XX=m -CONFIG_VIDEO_EM28XX_V4L2=m -CONFIG_VIDEO_EM28XX_ALSA=m -CONFIG_VIDEO_EM28XX_DVB=m -CONFIG_MEDIA_PCI_SUPPORT=y -CONFIG_VIDEO_SOLO6X10=m -CONFIG_VIDEO_TW68=m -CONFIG_VIDEO_DT3155=m -CONFIG_VIDEO_IVTV=m -CONFIG_VIDEO_IVTV_ALSA=m -CONFIG_VIDEO_FB_IVTV=m -CONFIG_VIDEO_CX18=m -CONFIG_VIDEO_CX18_ALSA=m -CONFIG_VIDEO_CX23885=m -CONFIG_MEDIA_ALTERA_CI=m -CONFIG_VIDEO_CX25821=m -CONFIG_VIDEO_CX25821_ALSA=m -CONFIG_VIDEO_CX88=m -CONFIG_VIDEO_CX88_ALSA=m -CONFIG_VIDEO_CX88_BLACKBIRD=m -CONFIG_VIDEO_CX88_DVB=m -CONFIG_VIDEO_SAA7134=m -CONFIG_VIDEO_SAA7134_ALSA=m -CONFIG_VIDEO_SAA7134_DVB=m -CONFIG_VIDEO_SAA7134_GO7007=m -CONFIG_VIDEO_SAA7164=m -CONFIG_DVB_B2C2_FLEXCOP_PCI=m -CONFIG_DVB_DDBRIDGE=m -CONFIG_DVB_DM1105=m -CONFIG_MANTIS_CORE=m -CONFIG_DVB_MANTIS=m -CONFIG_DVB_HOPPER=m -CONFIG_DVB_NGENE=m -CONFIG_DVB_PLUTO2=m -CONFIG_DVB_PT1=m -CONFIG_DVB_PT3=m -CONFIG_DVB_SMIPCIE=m -CONFIG_V4L_PLATFORM_DRIVERS=y -CONFIG_V4L_MEM2MEM_DRIVERS=y -CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m -CONFIG_VIDEO_ROCKCHIP_RGA=m -CONFIG_VIDEO_ROCKCHIP_ISP1=m -CONFIG_VIDEO_SUN6I_CSI=m -CONFIG_VIDEO_SUN6I_MIPI_CSI2=m -CONFIG_VIDEO_SUN8I_A83T_MIPI_CSI2=m -CONFIG_VIDEO_HANTRO=m -CONFIG_SMS_SDIO_DRV=m -CONFIG_VIDEO_AR0521=m -CONFIG_VIDEO_OV5640=m -CONFIG_VIDEO_OV9734=m -CONFIG_VIDEO_TDA1997X=m -CONFIG_VIDEO_TDA9840=m -CONFIG_VIDEO_TEA6415C=m -CONFIG_VIDEO_TEA6420=m -CONFIG_VIDEO_TLV320AIC23B=m -CONFIG_VIDEO_ADV7180=m -CONFIG_VIDEO_ADV7183=m -CONFIG_VIDEO_ADV748X=m -CONFIG_VIDEO_ADV7604=m -CONFIG_VIDEO_ADV7604_CEC=y -CONFIG_VIDEO_ADV7842=m -CONFIG_VIDEO_ADV7842_CEC=y -CONFIG_VIDEO_BT819=m -CONFIG_VIDEO_BT856=m -CONFIG_VIDEO_BT866=m -CONFIG_VIDEO_KS0127=m -CONFIG_VIDEO_ML86V7667=m -CONFIG_VIDEO_SAA7110=m -CONFIG_VIDEO_TC358743=m -CONFIG_VIDEO_TC358743_CEC=y -CONFIG_VIDEO_TVP514X=m -CONFIG_VIDEO_TVP7002=m -CONFIG_VIDEO_TW9910=m -CONFIG_VIDEO_VPX3220=m -CONFIG_VIDEO_ADV7170=m -CONFIG_VIDEO_ADV7175=m -CONFIG_VIDEO_ADV7343=m -CONFIG_VIDEO_ADV7393=m -CONFIG_VIDEO_AK881X=m -CONFIG_VIDEO_SAA7185=m -CONFIG_VIDEO_THS8200=m -CONFIG_VIDEO_I2C=m -CONFIG_VIDEO_ST_MIPID02=m -CONFIG_VIDEO_THS7303=m -CONFIG_DVB_TDA8261=m -CONFIG_DVB_TUA6100=m -CONFIG_DVB_VES1X93=m -CONFIG_DVB_DIB9000=m -CONFIG_DVB_L64781=m -CONFIG_DVB_S5H1432=m -CONFIG_DVB_CXD2880=m -CONFIG_DVB_MN88443X=m -CONFIG_DVB_ASCOT2E=m -CONFIG_DVB_HELENE=m -CONFIG_DVB_HORUS3A=m -CONFIG_DVB_LGS8GL5=m -CONFIG_DVB_LNBH29=m -CONFIG_DRM=m -CONFIG_DRM_LOAD_EDID_FIRMWARE=y -CONFIG_DRM_DP_CEC=y -CONFIG_DRM_I2C_CH7006=m -CONFIG_DRM_I2C_SIL164=m -CONFIG_DRM_I2C_NXP_TDA998X=m -CONFIG_DRM_I2C_NXP_TDA9950=m -CONFIG_DRM_HDLCD=m -CONFIG_DRM_HDLCD_SHOW_UNDERRUN=y -CONFIG_DRM_KOMEDA=m -CONFIG_DRM_VGEM=m -CONFIG_DRM_ROCKCHIP=m -CONFIG_ROCKCHIP_VOP2=y -CONFIG_ROCKCHIP_ANALOGIX_DP=y -CONFIG_ROCKCHIP_CDN_DP=y -CONFIG_ROCKCHIP_DW_HDMI=y -CONFIG_ROCKCHIP_DW_MIPI_DSI=y -CONFIG_ROCKCHIP_INNO_HDMI=y -CONFIG_ROCKCHIP_LVDS=y -CONFIG_ROCKCHIP_RGB=y -CONFIG_ROCKCHIP_RK3066_HDMI=y -CONFIG_DRM_VMWGFX=m -CONFIG_DRM_UDL=m -CONFIG_DRM_AST=m -CONFIG_DRM_MGAG200=m -CONFIG_DRM_SUN4I=m -CONFIG_DRM_QXL=m -CONFIG_DRM_VIRTIO_GPU=m -CONFIG_DRM_TEGRA=m -CONFIG_DRM_TEGRA_STAGING=y -CONFIG_DRM_PANEL_ABT_Y030XX067A=m -CONFIG_DRM_PANEL_ARM_VERSATILE=m -CONFIG_DRM_PANEL_BOE_HIMAX8279D=m -CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m -CONFIG_DRM_PANEL_DSI_CM=m -CONFIG_DRM_PANEL_LVDS=m -CONFIG_DRM_PANEL_SIMPLE=m -CONFIG_DRM_PANEL_EDP=m -CONFIG_DRM_PANEL_EBBG_FT8719=m -CONFIG_DRM_PANEL_ELIDA_KD35T133=m -CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m -CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m -CONFIG_DRM_PANEL_ILITEK_IL9322=m -CONFIG_DRM_PANEL_ILITEK_ILI9341=m -CONFIG_DRM_PANEL_ILITEK_ILI9881C=m -CONFIG_DRM_PANEL_INNOLUX_EJ030NA=m -CONFIG_DRM_PANEL_INNOLUX_P079ZCA=m -CONFIG_DRM_PANEL_JDI_LT070ME05000=m -CONFIG_DRM_PANEL_KHADAS_TS050=m -CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m -CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829=m -CONFIG_DRM_PANEL_LG_LB035Q02=m -CONFIG_DRM_PANEL_NEC_NL8048HL11=m -CONFIG_DRM_PANEL_NEWVISION_NV3052C=m -CONFIG_DRM_PANEL_NOVATEK_NT35510=m -CONFIG_DRM_PANEL_NOVATEK_NT36672A=m -CONFIG_DRM_PANEL_NOVATEK_NT39016=m -CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m -CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m -CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m -CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m -CONFIG_DRM_PANEL_RAYDIUM_RM67191=m -CONFIG_DRM_PANEL_RAYDIUM_RM68200=m -CONFIG_DRM_PANEL_RONBO_RB070D30=m -CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20=m -CONFIG_DRM_PANEL_SAMSUNG_DB7430=m -CONFIG_DRM_PANEL_SAMSUNG_S6D16D0=m -CONFIG_DRM_PANEL_SAMSUNG_S6D27A1=m -CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m -CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m -CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m -CONFIG_DRM_PANEL_SAMSUNG_SOFEF00=m -CONFIG_DRM_PANEL_SEIKO_43WVF1G=m -CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m -CONFIG_DRM_PANEL_SHARP_LS037V7DW01=m -CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m -CONFIG_DRM_PANEL_SHARP_LS060T1SX01=m -CONFIG_DRM_PANEL_SITRONIX_ST7701=m -CONFIG_DRM_PANEL_SONY_ACX565AKM=m -CONFIG_DRM_PANEL_TDO_TL070WSH30=m -CONFIG_DRM_PANEL_TPO_TD028TTEC1=m -CONFIG_DRM_PANEL_TPO_TD043MTEA1=m -CONFIG_DRM_PANEL_TPO_TPG110=m -CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m -CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m -CONFIG_DRM_PANEL_XINPENG_XPP055C272=m -CONFIG_DRM_CDNS_DSI=m -CONFIG_DRM_CHIPONE_ICN6211=m -CONFIG_DRM_CROS_EC_ANX7688=m -CONFIG_DRM_DISPLAY_CONNECTOR=m -CONFIG_DRM_LONTIUM_LT8912B=m -CONFIG_DRM_LONTIUM_LT9211=m -CONFIG_DRM_LONTIUM_LT9611UXC=m -CONFIG_DRM_ITE_IT66121=m -CONFIG_DRM_LVDS_CODEC=m -CONFIG_DRM_PARADE_PS8640=m -CONFIG_DRM_SII9234=m -CONFIG_DRM_SIMPLE_BRIDGE=m -CONFIG_DRM_THINE_THC63LVD1024=m -CONFIG_DRM_TOSHIBA_TC358764=m -CONFIG_DRM_TOSHIBA_TC358768=m -CONFIG_DRM_TI_DLPC3433=m -CONFIG_DRM_TI_SN65DSI83=m -CONFIG_DRM_TI_TPD12S015=m -CONFIG_DRM_ANALOGIX_ANX6345=m -CONFIG_DRM_ANALOGIX_ANX78XX=m -CONFIG_DRM_I2C_ADV7511=m -CONFIG_DRM_I2C_ADV7511_AUDIO=y -CONFIG_DRM_DW_HDMI_AHB_AUDIO=m -CONFIG_DRM_DW_HDMI_GP_AUDIO=m -CONFIG_DRM_DW_HDMI_CEC=m -CONFIG_DRM_ETNAVIV=m -CONFIG_DRM_HISI_HIBMC=m -CONFIG_DRM_HISI_KIRIN=m -CONFIG_DRM_LOGICVC=m -CONFIG_DRM_BOCHS=m -CONFIG_DRM_GM12U320=m -CONFIG_DRM_SIMPLEDRM=m -CONFIG_TINYDRM_HX8357D=m -CONFIG_TINYDRM_ILI9225=m -CONFIG_TINYDRM_ILI9341=m -CONFIG_TINYDRM_ILI9486=m -CONFIG_TINYDRM_MI0283QT=m -CONFIG_TINYDRM_REPAPER=m -CONFIG_TINYDRM_ST7586=m -CONFIG_TINYDRM_ST7735R=m -CONFIG_DRM_LIMA=m -CONFIG_DRM_PANFROST=m -CONFIG_DRM_TIDSS=m -CONFIG_DRM_GUD=m -CONFIG_DRM_LEGACY=y -CONFIG_FB=y -CONFIG_FIRMWARE_EDID=y -CONFIG_FB_TILEBLITTING=y -CONFIG_FB_ARMCLCD=y -CONFIG_FB_UVESA=m -CONFIG_FB_EFI=y -CONFIG_FB_UDL=m -CONFIG_FB_VIRTUAL=m -CONFIG_FB_SIMPLE=m -CONFIG_FB_SSD1307=m -CONFIG_LCD_CLASS_DEVICE=m -CONFIG_LCD_PLATFORM=m -CONFIG_LCD_OTM3225A=m -CONFIG_BACKLIGHT_LM3533=m -CONFIG_BACKLIGHT_PWM=m -CONFIG_BACKLIGHT_MT6370=m -CONFIG_BACKLIGHT_QCOM_WLED=m -CONFIG_BACKLIGHT_RT4831=m -CONFIG_BACKLIGHT_ADP5520=m -CONFIG_BACKLIGHT_AAT2870=m -CONFIG_BACKLIGHT_LP855X=y -CONFIG_BACKLIGHT_AS3711=m -CONFIG_BACKLIGHT_GPIO=m -CONFIG_BACKLIGHT_RAVE_SP=m -CONFIG_BACKLIGHT_LED=m -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -CONFIG_LOGO=y -CONFIG_SOUND=m -CONFIG_SND=m -CONFIG_SND_SEQUENCER=m -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_DUMMY=m -CONFIG_SND_ALOOP=m -CONFIG_SND_VIRMIDI=m -CONFIG_SND_MTPAV=m -CONFIG_SND_MTS64=m -CONFIG_SND_SERIAL_U16550=m -CONFIG_SND_SERIAL_GENERIC=m -CONFIG_SND_MPU401=m -CONFIG_SND_PORTMAN2X4=m -CONFIG_SND_AC97_POWER_SAVE=y -CONFIG_SND_AD1889=m -CONFIG_SND_ALS300=m -CONFIG_SND_ALI5451=m -CONFIG_SND_ATIIXP=m -CONFIG_SND_ATIIXP_MODEM=m -CONFIG_SND_AU8810=m -CONFIG_SND_AU8820=m -CONFIG_SND_AU8830=m -CONFIG_SND_AW2=m -CONFIG_SND_AZT3328=m -CONFIG_SND_BT87X=m -CONFIG_SND_BT87X_OVERCLOCK=y -CONFIG_SND_CA0106=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_OXYGEN=m -CONFIG_SND_CS4281=m -CONFIG_SND_CS46XX=m -CONFIG_SND_CTXFI=m -CONFIG_SND_DARLA20=m -CONFIG_SND_GINA20=m -CONFIG_SND_LAYLA20=m -CONFIG_SND_DARLA24=m -CONFIG_SND_GINA24=m -CONFIG_SND_LAYLA24=m -CONFIG_SND_MONA=m -CONFIG_SND_MIA=m -CONFIG_SND_ECHO3G=m -CONFIG_SND_INDIGO=m -CONFIG_SND_INDIGOIO=m -CONFIG_SND_INDIGODJ=m -CONFIG_SND_INDIGOIOX=m -CONFIG_SND_INDIGODJX=m -CONFIG_SND_EMU10K1=m -CONFIG_SND_EMU10K1X=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_ES1938=m -CONFIG_SND_FM801=m -CONFIG_SND_HDSP=m -CONFIG_SND_HDSPM=m -CONFIG_SND_ICE1712=m -CONFIG_SND_ICE1724=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m -CONFIG_SND_KORG1212=m -CONFIG_SND_LOLA=m -CONFIG_SND_LX6464ES=m -CONFIG_SND_MAESTRO3=m -CONFIG_SND_MAESTRO3_INPUT=y -CONFIG_SND_MIXART=m -CONFIG_SND_NM256=m -CONFIG_SND_PCXHR=m -CONFIG_SND_RIPTIDE=m -CONFIG_SND_RME32=m -CONFIG_SND_RME96=m -CONFIG_SND_RME9652=m -CONFIG_SND_SONICVIBES=m -CONFIG_SND_TRIDENT=m -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m -CONFIG_SND_VIRTUOSO=m -CONFIG_SND_VX222=m -CONFIG_SND_YMFPCI=m -CONFIG_SND_HDA_INTEL=m -CONFIG_SND_HDA_TEGRA=m -CONFIG_SND_HDA_HWDEP=y -CONFIG_SND_HDA_INPUT_BEEP=y -CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m -CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m -CONFIG_SND_HDA_CODEC_REALTEK=m -CONFIG_SND_HDA_CODEC_ANALOG=m -CONFIG_SND_HDA_CODEC_SIGMATEL=m -CONFIG_SND_HDA_CODEC_VIA=m -CONFIG_SND_HDA_CODEC_HDMI=m -CONFIG_SND_HDA_CODEC_CIRRUS=m -CONFIG_SND_HDA_CODEC_CS8409=m -CONFIG_SND_HDA_CODEC_CONEXANT=m -CONFIG_SND_HDA_CODEC_CA0110=m -CONFIG_SND_HDA_CODEC_CA0132=m -CONFIG_SND_HDA_CODEC_CMEDIA=m -CONFIG_SND_HDA_CODEC_SI3054=m -CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM=y -CONFIG_SND_USB_AUDIO=m -CONFIG_SND_USB_UA101=m -CONFIG_SND_USB_CAIAQ=m -CONFIG_SND_USB_CAIAQ_INPUT=y -CONFIG_SND_USB_6FIRE=m -CONFIG_SND_USB_HIFACE=m -CONFIG_SND_BCD2000=m -CONFIG_SND_USB_POD=m -CONFIG_SND_USB_PODHD=m -CONFIG_SND_USB_TONEPORT=m -CONFIG_SND_USB_VARIAX=m -CONFIG_SND_SOC=m -CONFIG_SND_SOC_ADI=m -CONFIG_SND_SOC_ADI_AXI_I2S=m -CONFIG_SND_SOC_ADI_AXI_SPDIF=m -CONFIG_SND_SOC_AMD_ACP=m -CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m -CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m -CONFIG_SND_SOC_AMD_ST_ES8336_MACH=m -CONFIG_SND_ATMEL_SOC=m -CONFIG_SND_SOC_MIKROE_PROTO=m -CONFIG_SND_BCM63XX_I2S_WHISTLER=m -CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=y -CONFIG_SND_SOC_FSL_ASRC=m -CONFIG_SND_SOC_FSL_SAI=m -CONFIG_SND_SOC_FSL_MQS=m -CONFIG_SND_SOC_FSL_AUDMIX=m -CONFIG_SND_SOC_FSL_SSI=m -CONFIG_SND_SOC_FSL_SPDIF=m -CONFIG_SND_SOC_FSL_ESAI=m -CONFIG_SND_SOC_FSL_MICFIL=m -CONFIG_SND_SOC_FSL_XCVR=m -CONFIG_SND_SOC_FSL_RPMSG=m -CONFIG_SND_SOC_IMX_AUDMUX=m -CONFIG_SND_I2S_HI6210_I2S=m -CONFIG_SND_SOC_IMG=y -CONFIG_SND_SOC_IMG_I2S_IN=m -CONFIG_SND_SOC_IMG_I2S_OUT=m -CONFIG_SND_SOC_IMG_PARALLEL_OUT=m -CONFIG_SND_SOC_IMG_SPDIF_IN=m -CONFIG_SND_SOC_IMG_SPDIF_OUT=m -CONFIG_SND_SOC_IMG_PISTACHIO_INTERNAL_DAC=m -CONFIG_SND_SOC_MTK_BTCVSD=m -CONFIG_SND_SOC_ROCKCHIP=m -CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=m -CONFIG_SND_SOC_ROCKCHIP_PDM=m -CONFIG_SND_SOC_ROCKCHIP_SPDIF=m -CONFIG_SND_SOC_ROCKCHIP_MAX98090=m -CONFIG_SND_SOC_ROCKCHIP_RT5645=m -CONFIG_SND_SOC_RK3288_HDMI_ANALOG=m -CONFIG_SND_SOC_RK3399_GRU_SOUND=m -CONFIG_SND_SOC_SOF_TOPLEVEL=y -CONFIG_SND_SOC_SOF_PCI=m -CONFIG_SND_SOC_SOF_ACPI=m -CONFIG_SND_SOC_SOF_OF=m -CONFIG_SND_SOC_SOF_IMX_TOPLEVEL=y -CONFIG_SND_SUN4I_CODEC=m -CONFIG_SND_SUN8I_CODEC=m -CONFIG_SND_SUN8I_CODEC_ANALOG=m -CONFIG_SND_SUN50I_CODEC_ANALOG=m -CONFIG_SND_SUN4I_I2S=m -CONFIG_SND_SUN4I_SPDIF=m -CONFIG_SND_SUN50I_DMIC=m -CONFIG_SND_SOC_TEGRA=m -CONFIG_SND_SOC_TEGRA210_AHUB=m -CONFIG_SND_SOC_TEGRA210_DMIC=m -CONFIG_SND_SOC_TEGRA210_I2S=m -CONFIG_SND_SOC_TEGRA210_OPE=m -CONFIG_SND_SOC_TEGRA186_ASRC=m -CONFIG_SND_SOC_TEGRA210_ADMAIF=m -CONFIG_SND_SOC_TEGRA210_MVC=m -CONFIG_SND_SOC_TEGRA210_SFC=m -CONFIG_SND_SOC_TEGRA210_AMX=m -CONFIG_SND_SOC_TEGRA210_ADX=m -CONFIG_SND_SOC_TEGRA210_MIXER=m -CONFIG_SND_SOC_TEGRA_AUDIO_GRAPH_CARD=m -CONFIG_SND_SOC_TEGRA_RT5640=m -CONFIG_SND_SOC_TEGRA_WM8753=m -CONFIG_SND_SOC_TEGRA_WM8903=m -CONFIG_SND_SOC_TEGRA_WM9712=m -CONFIG_SND_SOC_TEGRA_TRIMSLICE=m -CONFIG_SND_SOC_TEGRA_ALC5632=m -CONFIG_SND_SOC_TEGRA_MAX98090=m -CONFIG_SND_SOC_TEGRA_RT5677=m -CONFIG_SND_SOC_TEGRA_SGTL5000=m -CONFIG_SND_SOC_XILINX_I2S=m -CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER=m -CONFIG_SND_SOC_XILINX_SPDIF=m -CONFIG_SND_SOC_XTFPGA_I2S=m -CONFIG_SND_SOC_AC97_CODEC=m -CONFIG_SND_SOC_ADAU1372_I2C=m -CONFIG_SND_SOC_ADAU1372_SPI=m -CONFIG_SND_SOC_ADAU1701=m -CONFIG_SND_SOC_ADAU1761_I2C=m -CONFIG_SND_SOC_ADAU1761_SPI=m -CONFIG_SND_SOC_ADAU7118_HW=m -CONFIG_SND_SOC_ADAU7118_I2C=m -CONFIG_SND_SOC_AK4104=m -CONFIG_SND_SOC_AK4118=m -CONFIG_SND_SOC_AK4375=m -CONFIG_SND_SOC_AK4458=m -CONFIG_SND_SOC_AK4554=m -CONFIG_SND_SOC_AK4613=m -CONFIG_SND_SOC_AK4642=m -CONFIG_SND_SOC_AK5386=m -CONFIG_SND_SOC_AK5558=m -CONFIG_SND_SOC_ALC5623=m -CONFIG_SND_SOC_BD28623=m -CONFIG_SND_SOC_BT_SCO=m -CONFIG_SND_SOC_CROS_EC_CODEC=m -CONFIG_SND_SOC_CS35L32=m -CONFIG_SND_SOC_CS35L33=m -CONFIG_SND_SOC_CS35L34=m -CONFIG_SND_SOC_CS35L35=m -CONFIG_SND_SOC_CS35L36=m -CONFIG_SND_SOC_CS35L41_SPI=m -CONFIG_SND_SOC_CS35L41_I2C=m -CONFIG_SND_SOC_CS35L45_SPI=m -CONFIG_SND_SOC_CS35L45_I2C=m -CONFIG_SND_SOC_CS42L42=m -CONFIG_SND_SOC_CS42L51_I2C=m -CONFIG_SND_SOC_CS42L52=m -CONFIG_SND_SOC_CS42L56=m -CONFIG_SND_SOC_CS42L73=m -CONFIG_SND_SOC_CS42L83=m -CONFIG_SND_SOC_CS4234=m -CONFIG_SND_SOC_CS4265=m -CONFIG_SND_SOC_CS4270=m -CONFIG_SND_SOC_CS4271_I2C=m -CONFIG_SND_SOC_CS4271_SPI=m -CONFIG_SND_SOC_CS42XX8_I2C=m -CONFIG_SND_SOC_CS43130=m -CONFIG_SND_SOC_CS4341=m -CONFIG_SND_SOC_CS4349=m -CONFIG_SND_SOC_CS53L30=m -CONFIG_SND_SOC_CX2072X=m -CONFIG_SND_SOC_DA7213=m -CONFIG_SND_SOC_ES7134=m -CONFIG_SND_SOC_ES7241=m -CONFIG_SND_SOC_ES8326=m -CONFIG_SND_SOC_GTM601=m -CONFIG_SND_SOC_HDA=m -CONFIG_SND_SOC_ICS43432=m -CONFIG_SND_SOC_INNO_RK3036=m -CONFIG_SND_SOC_MAX98088=m -CONFIG_SND_SOC_MAX98504=m -CONFIG_SND_SOC_MAX9867=m -CONFIG_SND_SOC_MAX98927=m -CONFIG_SND_SOC_MAX98520=m -CONFIG_SND_SOC_MAX98373_I2C=m -CONFIG_SND_SOC_MAX98390=m -CONFIG_SND_SOC_MAX98396=m -CONFIG_SND_SOC_MAX9860=m -CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m -CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m -CONFIG_SND_SOC_PCM1681=m -CONFIG_SND_SOC_PCM1789_I2C=m -CONFIG_SND_SOC_PCM179X_I2C=m -CONFIG_SND_SOC_PCM179X_SPI=m -CONFIG_SND_SOC_PCM186X_I2C=m -CONFIG_SND_SOC_PCM186X_SPI=m -CONFIG_SND_SOC_PCM3060_I2C=m -CONFIG_SND_SOC_PCM3060_SPI=m -CONFIG_SND_SOC_PCM3168A_I2C=m -CONFIG_SND_SOC_PCM3168A_SPI=m -CONFIG_SND_SOC_PCM5102A=m -CONFIG_SND_SOC_PCM512x_I2C=m -CONFIG_SND_SOC_PCM512x_SPI=m -CONFIG_SND_SOC_RK3328=m -CONFIG_SND_SOC_RK817=m -CONFIG_SND_SOC_RT5616=m -CONFIG_SND_SOC_RT5631=m -CONFIG_SND_SOC_RT5659=m -CONFIG_SND_SOC_RT9120=m -CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m -CONFIG_SND_SOC_SIMPLE_MUX=m -CONFIG_SND_SOC_SPDIF=m -CONFIG_SND_SOC_SRC4XXX_I2C=m -CONFIG_SND_SOC_SSM2305=m -CONFIG_SND_SOC_SSM2518=m -CONFIG_SND_SOC_SSM2602_SPI=m -CONFIG_SND_SOC_SSM2602_I2C=m -CONFIG_SND_SOC_SSM4567=m -CONFIG_SND_SOC_STA32X=m -CONFIG_SND_SOC_STA350=m -CONFIG_SND_SOC_STI_SAS=m -CONFIG_SND_SOC_TAS2552=m -CONFIG_SND_SOC_TAS2562=m -CONFIG_SND_SOC_TAS2764=m -CONFIG_SND_SOC_TAS2770=m -CONFIG_SND_SOC_TAS2780=m -CONFIG_SND_SOC_TAS5086=m -CONFIG_SND_SOC_TAS571X=m -CONFIG_SND_SOC_TAS5720=m -CONFIG_SND_SOC_TAS6424=m -CONFIG_SND_SOC_TDA7419=m -CONFIG_SND_SOC_TFA9879=m -CONFIG_SND_SOC_TFA989X=m -CONFIG_SND_SOC_TLV320ADC3XXX=m -CONFIG_SND_SOC_TLV320AIC23_SPI=m -CONFIG_SND_SOC_TLV320AIC31XX=m -CONFIG_SND_SOC_TLV320AIC32X4_I2C=m -CONFIG_SND_SOC_TLV320AIC32X4_SPI=m -CONFIG_SND_SOC_TLV320AIC3X_I2C=m -CONFIG_SND_SOC_TLV320AIC3X_SPI=m -CONFIG_SND_SOC_TLV320ADCX140=m -CONFIG_SND_SOC_TSCS42XX=m -CONFIG_SND_SOC_TSCS454=m -CONFIG_SND_SOC_UDA1334=m -CONFIG_SND_SOC_WM8510=m -CONFIG_SND_SOC_WM8523=m -CONFIG_SND_SOC_WM8524=m -CONFIG_SND_SOC_WM8580=m -CONFIG_SND_SOC_WM8711=m -CONFIG_SND_SOC_WM8728=m -CONFIG_SND_SOC_WM8731_I2C=m -CONFIG_SND_SOC_WM8731_SPI=m -CONFIG_SND_SOC_WM8737=m -CONFIG_SND_SOC_WM8741=m -CONFIG_SND_SOC_WM8750=m -CONFIG_SND_SOC_WM8770=m -CONFIG_SND_SOC_WM8776=m -CONFIG_SND_SOC_WM8782=m -CONFIG_SND_SOC_WM8804_I2C=m -CONFIG_SND_SOC_WM8804_SPI=m -CONFIG_SND_SOC_WM8904=m -CONFIG_SND_SOC_WM8940=m -CONFIG_SND_SOC_WM8960=m -CONFIG_SND_SOC_WM8962=m -CONFIG_SND_SOC_WM8974=m -CONFIG_SND_SOC_WM8978=m -CONFIG_SND_SOC_WM8985=m -CONFIG_SND_SOC_ZL38060=m -CONFIG_SND_SOC_MAX9759=m -CONFIG_SND_SOC_MT6351=m -CONFIG_SND_SOC_MT6358=m -CONFIG_SND_SOC_MT6660=m -CONFIG_SND_SOC_NAU8315=m -CONFIG_SND_SOC_NAU8540=m -CONFIG_SND_SOC_NAU8810=m -CONFIG_SND_SOC_NAU8821=m -CONFIG_SND_SOC_NAU8822=m -CONFIG_SND_SOC_NAU8824=m -CONFIG_SND_SOC_TPA6130A2=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_SND_AUDIO_GRAPH_CARD2_CUSTOM_SAMPLE=m -CONFIG_SND_TEST_COMPONENT=m -CONFIG_SND_VIRTIO=m -CONFIG_HID_BATTERY_STRENGTH=y -CONFIG_HIDRAW=y -CONFIG_UHID=m -CONFIG_HID_A4TECH=m -CONFIG_HID_ACCUTOUCH=m -CONFIG_HID_ACRUX=m -CONFIG_HID_ACRUX_FF=y -CONFIG_HID_APPLE=m -CONFIG_HID_APPLEIR=m -CONFIG_HID_ASUS=m -CONFIG_HID_AUREAL=m -CONFIG_HID_BELKIN=m -CONFIG_HID_BETOP_FF=m -CONFIG_HID_BIGBEN_FF=m -CONFIG_HID_CHERRY=m -CONFIG_HID_CHICONY=m -CONFIG_HID_CORSAIR=m -CONFIG_HID_COUGAR=m -CONFIG_HID_MACALLY=m -CONFIG_HID_PRODIKEYS=m -CONFIG_HID_CMEDIA=m -CONFIG_HID_CP2112=m -CONFIG_HID_CREATIVE_SB0540=m -CONFIG_HID_CYPRESS=m -CONFIG_HID_DRAGONRISE=m -CONFIG_DRAGONRISE_FF=y -CONFIG_HID_EMS_FF=m -CONFIG_HID_ELAN=m -CONFIG_HID_ELECOM=m -CONFIG_HID_ELO=m -CONFIG_HID_EZKEY=m -CONFIG_HID_FT260=m -CONFIG_HID_GEMBIRD=m -CONFIG_HID_GFRM=m -CONFIG_HID_GLORIOUS=m -CONFIG_HID_HOLTEK=m -CONFIG_HOLTEK_FF=y -CONFIG_HID_GOOGLE_HAMMER=m -CONFIG_HID_VIVALDI=m -CONFIG_HID_GT683R=m -CONFIG_HID_KEYTOUCH=m -CONFIG_HID_KYE=m -CONFIG_HID_UCLOGIC=m -CONFIG_HID_WALTOP=m -CONFIG_HID_VIEWSONIC=m -CONFIG_HID_VRC2=m -CONFIG_HID_XIAOMI=m -CONFIG_HID_GYRATION=m -CONFIG_HID_ICADE=m -CONFIG_HID_ITE=m -CONFIG_HID_JABRA=m -CONFIG_HID_TWINHAN=m -CONFIG_HID_KENSINGTON=m -CONFIG_HID_LCPOWER=m -CONFIG_HID_LENOVO=m -CONFIG_HID_LOGITECH=m -CONFIG_HID_LOGITECH_DJ=m -CONFIG_LOGITECH_FF=y -CONFIG_LOGIRUMBLEPAD2_FF=y -CONFIG_LOGIG940_FF=y -CONFIG_HID_MAGICMOUSE=m -CONFIG_HID_MALTRON=m -CONFIG_HID_MAYFLASH=m -CONFIG_HID_MEGAWORLD_FF=m -CONFIG_HID_REDRAGON=m -CONFIG_HID_MICROSOFT=m -CONFIG_HID_MONTEREY=m -CONFIG_HID_MULTITOUCH=m -CONFIG_HID_NINTENDO=m -CONFIG_HID_NTI=m -CONFIG_HID_NTRIG=m -CONFIG_HID_ORTEK=m -CONFIG_HID_PANTHERLORD=m -CONFIG_PANTHERLORD_FF=y -CONFIG_HID_PENMOUNT=m -CONFIG_HID_PETALYNX=m -CONFIG_HID_PICOLCD=m -CONFIG_HID_PICOLCD_FB=y -CONFIG_HID_PICOLCD_BACKLIGHT=y -CONFIG_HID_PICOLCD_LCD=y -CONFIG_HID_PICOLCD_LEDS=y -CONFIG_HID_PICOLCD_CIR=y -CONFIG_HID_PLANTRONICS=m -CONFIG_HID_PXRC=m -CONFIG_HID_PRIMAX=m -CONFIG_HID_RETRODE=m -CONFIG_HID_ROCCAT=m -CONFIG_HID_SAITEK=m -CONFIG_HID_SAMSUNG=m -CONFIG_HID_SEMITEK=m -CONFIG_HID_SONY=m -CONFIG_SONY_FF=y -CONFIG_HID_SPEEDLINK=m -CONFIG_HID_STEAM=m -CONFIG_HID_STEELSERIES=m -CONFIG_HID_SUNPLUS=m -CONFIG_HID_RMI=m -CONFIG_HID_GREENASIA=m -CONFIG_GREENASIA_FF=y -CONFIG_HID_SMARTJOYPLUS=m -CONFIG_SMARTJOYPLUS_FF=y -CONFIG_HID_TIVO=m -CONFIG_HID_TOPSEED=m -CONFIG_HID_TOPRE=m -CONFIG_HID_THINGM=m -CONFIG_HID_THRUSTMASTER=m -CONFIG_THRUSTMASTER_FF=y -CONFIG_HID_UDRAW_PS3=m -CONFIG_HID_U2FZERO=m -CONFIG_HID_WACOM=m -CONFIG_HID_WIIMOTE=m -CONFIG_HID_XINMO=m -CONFIG_HID_ZEROPLUS=m -CONFIG_ZEROPLUS_FF=y -CONFIG_HID_ZYDACRON=m -CONFIG_HID_SENSOR_HUB=m -CONFIG_HID_SENSOR_CUSTOM_SENSOR=m -CONFIG_HID_ALPS=m -CONFIG_HID_MCP2221=m -CONFIG_HID_PID=y -CONFIG_USB_HIDDEV=y -CONFIG_I2C_HID_ACPI=m -CONFIG_I2C_HID_OF=m -CONFIG_I2C_HID_OF_ELAN=m -CONFIG_I2C_HID_OF_GOODIX=m -CONFIG_USB_LED_TRIG=y -CONFIG_USB=y -CONFIG_USB_ANNOUNCE_NEW_DEVICES=y -CONFIG_USB_DYNAMIC_MINORS=y -CONFIG_USB_OTG=y -CONFIG_USB_OTG_FSM=m -CONFIG_USB_LEDS_TRIGGER_USBPORT=y -CONFIG_USB_MON=m -CONFIG_USB_C67X00_HCD=m -CONFIG_USB_XHCI_HCD=y -CONFIG_USB_XHCI_TEGRA=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_FSL=m -CONFIG_USB_EHCI_TEGRA=y -CONFIG_USB_EHCI_HCD_PLATFORM=y -CONFIG_USB_OXU210HP_HCD=m -CONFIG_USB_ISP116X_HCD=m -CONFIG_USB_MAX3421_HCD=m -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_OHCI_HCD_PLATFORM=y -CONFIG_USB_UHCI_HCD=m -CONFIG_USB_SL811_HCD=m -CONFIG_USB_SL811_HCD_ISO=y -CONFIG_USB_R8A66597_HCD=m -CONFIG_USB_HCD_BCMA=m -CONFIG_USB_HCD_SSB=m -CONFIG_USB_HCD_TEST_MODE=y -CONFIG_USB_PRINTER=m -CONFIG_USB_TMC=m -CONFIG_USB_STORAGE=y -CONFIG_USB_STORAGE_REALTEK=m -CONFIG_USB_STORAGE_DATAFAB=m -CONFIG_USB_STORAGE_FREECOM=m -CONFIG_USB_STORAGE_ISD200=m -CONFIG_USB_STORAGE_USBAT=m -CONFIG_USB_STORAGE_SDDR09=m -CONFIG_USB_STORAGE_SDDR55=m -CONFIG_USB_STORAGE_JUMPSHOT=m -CONFIG_USB_STORAGE_ALAUDA=m -CONFIG_USB_STORAGE_ONETOUCH=m -CONFIG_USB_STORAGE_KARMA=m -CONFIG_USB_STORAGE_CYPRESS_ATACB=m -CONFIG_USB_STORAGE_ENE_UB6250=m -CONFIG_USB_UAS=m -CONFIG_USB_MDC800=m -CONFIG_USB_MICROTEK=m -CONFIG_USBIP_CORE=m -CONFIG_USBIP_VHCI_HCD=m -CONFIG_USBIP_HOST=m -CONFIG_USBIP_VUDC=m -CONFIG_USB_CDNS_SUPPORT=m -CONFIG_USB_CDNS3=m -CONFIG_USB_CDNSP_PCI=m -CONFIG_USB_CDNSP_GADGET=y -CONFIG_USB_CDNSP_HOST=y -CONFIG_USB_MUSB_HDRC=y -CONFIG_USB_MUSB_SUNXI=m -CONFIG_USB_DWC3=y -CONFIG_USB_DWC3_ULPI=y -CONFIG_USB_DWC2=y -CONFIG_USB_DWC2_PCI=m -CONFIG_USB_CHIPIDEA_UDC=y -CONFIG_USB_ISP1760=y -CONFIG_USB_USS720=m -CONFIG_USB_SERIAL=m -CONFIG_USB_SERIAL_GENERIC=y -CONFIG_USB_SERIAL_SIMPLE=m -CONFIG_USB_SERIAL_AIRCABLE=m -CONFIG_USB_SERIAL_ARK3116=m -CONFIG_USB_SERIAL_BELKIN=m -CONFIG_USB_SERIAL_CH341=m -CONFIG_USB_SERIAL_WHITEHEAT=m -CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -CONFIG_USB_SERIAL_CP210X=m -CONFIG_USB_SERIAL_EMPEG=m -CONFIG_USB_SERIAL_FTDI_SIO=m -CONFIG_USB_SERIAL_VISOR=m -CONFIG_USB_SERIAL_IPAQ=m -CONFIG_USB_SERIAL_IR=m -CONFIG_USB_SERIAL_EDGEPORT=m -CONFIG_USB_SERIAL_EDGEPORT_TI=m -CONFIG_USB_SERIAL_F81232=m -CONFIG_USB_SERIAL_F8153X=m -CONFIG_USB_SERIAL_GARMIN=m -CONFIG_USB_SERIAL_IPW=m -CONFIG_USB_SERIAL_IUU=m -CONFIG_USB_SERIAL_KEYSPAN_PDA=m -CONFIG_USB_SERIAL_KEYSPAN=m -CONFIG_USB_SERIAL_KLSI=m -CONFIG_USB_SERIAL_KOBIL_SCT=m -CONFIG_USB_SERIAL_MCT_U232=m -CONFIG_USB_SERIAL_METRO=m -CONFIG_USB_SERIAL_MOS7720=m -CONFIG_USB_SERIAL_MOS7840=m -CONFIG_USB_SERIAL_MXUPORT=m -CONFIG_USB_SERIAL_NAVMAN=m -CONFIG_USB_SERIAL_PL2303=m -CONFIG_USB_SERIAL_OTI6858=m -CONFIG_USB_SERIAL_QCAUX=m -CONFIG_USB_SERIAL_QUALCOMM=m -CONFIG_USB_SERIAL_SPCP8X5=m -CONFIG_USB_SERIAL_SAFE=m -CONFIG_USB_SERIAL_SAFE_PADDED=y -CONFIG_USB_SERIAL_SIERRAWIRELESS=m -CONFIG_USB_SERIAL_SYMBOL=m -CONFIG_USB_SERIAL_TI=m -CONFIG_USB_SERIAL_CYBERJACK=m -CONFIG_USB_SERIAL_OPTION=m -CONFIG_USB_SERIAL_OMNINET=m -CONFIG_USB_SERIAL_OPTICON=m -CONFIG_USB_SERIAL_XSENS_MT=m -CONFIG_USB_SERIAL_WISHBONE=m -CONFIG_USB_SERIAL_SSU100=m -CONFIG_USB_SERIAL_QT2=m -CONFIG_USB_SERIAL_UPD78F0730=m -CONFIG_USB_SERIAL_XR=m -CONFIG_USB_SERIAL_DEBUG=m -CONFIG_USB_EMI62=m -CONFIG_USB_EMI26=m -CONFIG_USB_ADUTUX=m -CONFIG_USB_SEVSEG=m -CONFIG_USB_LEGOTOWER=m -CONFIG_USB_LCD=m -CONFIG_USB_CYPRESS_CY7C63=m -CONFIG_USB_CYTHERM=m -CONFIG_USB_IDMOUSE=m -CONFIG_USB_APPLEDISPLAY=m -CONFIG_APPLE_MFI_FASTCHARGE=m -CONFIG_USB_SISUSBVGA=m -CONFIG_USB_LD=m -CONFIG_USB_TRANCEVIBRATOR=m -CONFIG_USB_IOWARRIOR=m -CONFIG_USB_TEST=m -CONFIG_USB_EHSET_TEST_FIXTURE=m -CONFIG_USB_ISIGHTFW=m -CONFIG_USB_YUREX=m -CONFIG_USB_HUB_USB251XB=m -CONFIG_USB_HSIC_USB3503=y -CONFIG_USB_HSIC_USB4604=m -CONFIG_USB_LINK_LAYER_TEST=m -CONFIG_USB_CHAOSKEY=m -CONFIG_USB_ONBOARD_HUB=m -CONFIG_USB_ATM=m -CONFIG_USB_SPEEDTOUCH=m -CONFIG_USB_CXACRU=m -CONFIG_USB_UEAGLEATM=m -CONFIG_USB_XUSBATM=m -CONFIG_NOP_USB_XCEIV=y -CONFIG_USB_ISP1301=m -CONFIG_U_SERIAL_CONSOLE=y -CONFIG_USB_GR_UDC=m -CONFIG_USB_R8A66597=m -CONFIG_USB_PXA27X=m -CONFIG_USB_MV_UDC=m -CONFIG_USB_MV_U3D=m -CONFIG_USB_SNP_UDC_PLAT=m -CONFIG_USB_M66592=m -CONFIG_USB_BDC_UDC=m -CONFIG_USB_AMD5536UDC=m -CONFIG_USB_NET2272=m -CONFIG_USB_NET2280=m -CONFIG_USB_GOKU=m -CONFIG_USB_EG20T=m -CONFIG_USB_GADGET_XILINX=m -CONFIG_USB_MAX3420_UDC=m -CONFIG_USB_TEGRA_XUDC=m -CONFIG_USB_DUMMY_HCD=m -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_LB_SS=y -CONFIG_USB_CONFIGFS_F_FS=y -CONFIG_USB_CONFIGFS_F_UAC1=y -CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=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_CONFIGFS_F_TCM=y -CONFIG_USB_ZERO=m -CONFIG_USB_AUDIO=m -CONFIG_GADGET_UAC1=y -CONFIG_USB_ETH=m -CONFIG_USB_ETH_EEM=y -CONFIG_USB_G_NCM=m -CONFIG_USB_GADGETFS=m -CONFIG_USB_FUNCTIONFS=m -CONFIG_USB_FUNCTIONFS_ETH=y -CONFIG_USB_FUNCTIONFS_RNDIS=y -CONFIG_USB_FUNCTIONFS_GENERIC=y -CONFIG_USB_MASS_STORAGE=m -CONFIG_USB_GADGET_TARGET=m -CONFIG_USB_G_SERIAL=m -CONFIG_USB_MIDI_GADGET=m -CONFIG_USB_G_PRINTER=m -CONFIG_USB_CDC_COMPOSITE=m -CONFIG_USB_G_NOKIA=m -CONFIG_USB_G_ACM_MS=m -CONFIG_USB_G_MULTI=m -CONFIG_USB_G_MULTI_CDC=y -CONFIG_USB_G_HID=m -CONFIG_USB_RAW_GADGET=m -CONFIG_TYPEC=m -CONFIG_TYPEC_TCPM=m -CONFIG_TYPEC_TCPCI=m -CONFIG_TYPEC_RT1711H=m -CONFIG_TYPEC_TCPCI_MT6370=m -CONFIG_TYPEC_TCPCI_MAXIM=m -CONFIG_TYPEC_FUSB302=m -CONFIG_TYPEC_UCSI=m -CONFIG_UCSI_CCG=m -CONFIG_UCSI_ACPI=m -CONFIG_UCSI_STM32G0=m -CONFIG_TYPEC_TPS6598X=m -CONFIG_TYPEC_ANX7411=m -CONFIG_TYPEC_HD3SS3220=m -CONFIG_TYPEC_STUSB160X=m -CONFIG_TYPEC_MUX_FSA4480=m -CONFIG_TYPEC_MUX_PI3USB30532=m -CONFIG_TYPEC_DP_ALTMODE=m -CONFIG_TYPEC_NVIDIA_ALTMODE=m -CONFIG_MMC=y -CONFIG_PWRSEQ_SD8787=m -CONFIG_MMC_BLOCK_MINORS=32 -CONFIG_SDIO_UART=m -CONFIG_MMC_TEST=y -CONFIG_MMC_ARMMMCI=y -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_ACPI=m -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_MMC_SDHCI_OF_ARASAN=y -CONFIG_MMC_SDHCI_OF_AT91=m -CONFIG_MMC_SDHCI_OF_DWCMSHC=m -CONFIG_MMC_SDHCI_CADENCE=y -CONFIG_MMC_SDHCI_TEGRA=y -CONFIG_MMC_SDHCI_F_SDH30=y -CONFIG_MMC_SDHCI_MILBEAUT=m -CONFIG_MMC_ALCOR=m -CONFIG_MMC_TIFM_SD=m -CONFIG_MMC_SPI=y -CONFIG_MMC_VIA_SDMMC=m -CONFIG_MMC_DW=y -CONFIG_MMC_DW_BLUEFIELD=m -CONFIG_MMC_DW_EXYNOS=y -CONFIG_MMC_DW_HI3798CV200=m -CONFIG_MMC_DW_K3=y -CONFIG_MMC_DW_ROCKCHIP=y -CONFIG_MMC_VUB300=m -CONFIG_MMC_USHC=m -CONFIG_MMC_USDHI6ROL0=m -CONFIG_MMC_REALTEK_PCI=m -CONFIG_MMC_REALTEK_USB=m -CONFIG_MMC_SUNXI=m -CONFIG_MMC_HSQ=m -CONFIG_MMC_MTK=m -CONFIG_MMC_SDHCI_XENON=y -CONFIG_SCSI_UFSHCD=y -CONFIG_SCSI_UFSHCD_PCI=m -CONFIG_SCSI_UFSHCD_PLATFORM=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_CLASS_FLASH=m -CONFIG_LEDS_AN30259A=m -CONFIG_LEDS_CR0014114=m -CONFIG_LEDS_EL15203000=m -CONFIG_LEDS_LM3532=m -CONFIG_LEDS_LM3533=m -CONFIG_LEDS_LM3692X=m -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_PWM=m -CONFIG_LEDS_REGULATOR=m -CONFIG_LEDS_ADP5520=m -CONFIG_LEDS_MAX77650=m -CONFIG_LEDS_SYSCON=y -CONFIG_LEDS_MLXREG=m -CONFIG_LEDS_USER=y -CONFIG_LEDS_SPI_BYTE=m -CONFIG_LEDS_TI_LMU_COMMON=m -CONFIG_LEDS_LM3697=m -CONFIG_LEDS_TRIGGER_TIMER=m -CONFIG_LEDS_TRIGGER_ONESHOT=m -CONFIG_LEDS_TRIGGER_DISK=y -CONFIG_LEDS_TRIGGER_MTD=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_LEDS_TRIGGER_BACKLIGHT=m -CONFIG_LEDS_TRIGGER_CPU=y -CONFIG_LEDS_TRIGGER_ACTIVITY=y -CONFIG_LEDS_TRIGGER_DEFAULT_ON=y -CONFIG_LEDS_TRIGGER_TRANSIENT=m -CONFIG_LEDS_TRIGGER_CAMERA=m -CONFIG_LEDS_TRIGGER_PANIC=y -CONFIG_LEDS_TRIGGER_NETDEV=m -CONFIG_LEDS_TRIGGER_PATTERN=m -CONFIG_LEDS_TRIGGER_TTY=m -CONFIG_EDAC=y -CONFIG_EDAC_DMC520=m -CONFIG_RTC_CLASS=y -CONFIG_RTC_INTF_DEV_UIE_EMUL=y -CONFIG_RTC_DRV_AC100=m -CONFIG_RTC_DRV_AS3722=m -CONFIG_RTC_DRV_DS1307=y -CONFIG_RTC_DRV_HYM8563=y -CONFIG_RTC_DRV_MAX77686=y -CONFIG_RTC_DRV_NCT3018Y=m -CONFIG_RTC_DRV_RK808=y -CONFIG_RTC_DRV_ISL12026=m -CONFIG_RTC_DRV_X1205=m -CONFIG_RTC_DRV_PCF8523=m -CONFIG_RTC_DRV_PCF85063=m -CONFIG_RTC_DRV_PCF85363=m -CONFIG_RTC_DRV_PCF8563=m -CONFIG_RTC_DRV_PCF8583=m -CONFIG_RTC_DRV_M41T80=m -CONFIG_RTC_DRV_M41T80_WDT=y -CONFIG_RTC_DRV_BD70528=m -CONFIG_RTC_DRV_BQ32K=m -CONFIG_RTC_DRV_RC5T583=m -CONFIG_RTC_DRV_RC5T619=m -CONFIG_RTC_DRV_S35390A=m -CONFIG_RTC_DRV_FM3130=m -CONFIG_RTC_DRV_RX8010=m -CONFIG_RTC_DRV_RX8581=m -CONFIG_RTC_DRV_RX8025=m -CONFIG_RTC_DRV_EM3027=m -CONFIG_RTC_DRV_RV3028=m -CONFIG_RTC_DRV_RV8803=m -CONFIG_RTC_DRV_S5M=m -CONFIG_RTC_DRV_SD3078=m -CONFIG_RTC_DRV_M41T93=m -CONFIG_RTC_DRV_M41T94=m -CONFIG_RTC_DRV_DS1302=m -CONFIG_RTC_DRV_DS1305=m -CONFIG_RTC_DRV_DS1343=m -CONFIG_RTC_DRV_DS1347=m -CONFIG_RTC_DRV_DS1390=m -CONFIG_RTC_DRV_MAX6916=m -CONFIG_RTC_DRV_R9701=m -CONFIG_RTC_DRV_RX4581=m -CONFIG_RTC_DRV_RS5C348=m -CONFIG_RTC_DRV_MAX6902=m -CONFIG_RTC_DRV_PCF2123=m -CONFIG_RTC_DRV_MCP795=m -CONFIG_RTC_DRV_DS3232=m -CONFIG_RTC_DRV_PCF2127=m -CONFIG_RTC_DRV_RV3029C2=m -CONFIG_RTC_DRV_RX6110=m -CONFIG_RTC_DRV_EFI=y -CONFIG_RTC_DRV_NTXEC=m -CONFIG_RTC_DRV_PL030=m -CONFIG_RTC_DRV_PL031=y -CONFIG_RTC_DRV_SUN6I=y -CONFIG_RTC_DRV_CADENCE=m -CONFIG_RTC_DRV_TEGRA=y -CONFIG_RTC_DRV_HID_SENSOR_TIME=m -CONFIG_RTC_DRV_GOLDFISH=m -CONFIG_DMADEVICES=y -CONFIG_ALTERA_MSGDMA=m -CONFIG_BCM_SBA_RAID=m -CONFIG_DMA_SUN6I=m -CONFIG_DW_AXI_DMAC=m -CONFIG_FSL_EDMA=y -CONFIG_FSL_QDMA=m -CONFIG_MV_XOR_V2=y -CONFIG_PL330_DMA=y -CONFIG_PLX_DMA=m -CONFIG_TEGRA186_GPC_DMA=m -CONFIG_TEGRA20_APB_DMA=y -CONFIG_TEGRA210_ADMA=m -CONFIG_QCOM_HIDMA_MGMT=y -CONFIG_QCOM_HIDMA=y -CONFIG_DW_DMAC=m -CONFIG_DW_DMAC_PCI=m -CONFIG_SF_PDMA=m -CONFIG_ASYNC_TX_DMA=y -CONFIG_UDMABUF=y -CONFIG_DMABUF_SELFTESTS=m -CONFIG_DMABUF_HEAPS=y -CONFIG_DMABUF_SYSFS_STATS=y -CONFIG_DMABUF_HEAPS_SYSTEM=y -CONFIG_DMABUF_HEAPS_CMA=y -CONFIG_UIO_CIF=m -CONFIG_UIO_AEC=m -CONFIG_UIO_SERCOS3=m -CONFIG_UIO_PCI_GENERIC=m -CONFIG_VFIO=y -CONFIG_VFIO_PCI=y -CONFIG_VIRT_DRIVERS=y -CONFIG_NITRO_ENCLAVES=m -CONFIG_VIRTIO_PCI=y -CONFIG_VIRTIO_VDPA=m -CONFIG_VIRTIO_BALLOON=y -CONFIG_VIRTIO_INPUT=m -CONFIG_VIRTIO_MMIO=y -CONFIG_VDPA=m -CONFIG_VDPA_USER=m -CONFIG_IFCVF=m -CONFIG_VP_VDPA=m -CONFIG_VHOST_NET=m -CONFIG_VHOST_SCSI=m -CONFIG_VHOST_VDPA=m -CONFIG_STAGING=y -CONFIG_RTL8192U=m -CONFIG_RTLLIB=m -CONFIG_RTL8192E=m -CONFIG_RTL8723BS=m -CONFIG_R8712U=m -CONFIG_RTS5208=m -CONFIG_VT6655=m -CONFIG_VT6656=m -CONFIG_AD9832=m -CONFIG_AD9834=m -CONFIG_FB_SM750=m -CONFIG_STAGING_MEDIA=y -CONFIG_VIDEO_ROCKCHIP_VDEC=m -CONFIG_VIDEO_SUNXI=y -CONFIG_VIDEO_SUNXI_CEDRUS=m -CONFIG_VIDEO_TEGRA=m -CONFIG_VIDEO_TEGRA_TPG=y -CONFIG_FB_TFT=m -CONFIG_FB_TFT_AGM1264K_FL=m -CONFIG_FB_TFT_BD663474=m -CONFIG_FB_TFT_HX8340BN=m -CONFIG_FB_TFT_HX8347D=m -CONFIG_FB_TFT_HX8353D=m -CONFIG_FB_TFT_HX8357D=m -CONFIG_FB_TFT_ILI9163=m -CONFIG_FB_TFT_ILI9320=m -CONFIG_FB_TFT_ILI9325=m -CONFIG_FB_TFT_ILI9340=m -CONFIG_FB_TFT_ILI9341=m -CONFIG_FB_TFT_ILI9481=m -CONFIG_FB_TFT_ILI9486=m -CONFIG_FB_TFT_PCD8544=m -CONFIG_FB_TFT_RA8875=m -CONFIG_FB_TFT_S6D02A1=m -CONFIG_FB_TFT_S6D1121=m -CONFIG_FB_TFT_SEPS525=m -CONFIG_FB_TFT_SH1106=m -CONFIG_FB_TFT_SSD1289=m -CONFIG_FB_TFT_SSD1305=m -CONFIG_FB_TFT_SSD1306=m -CONFIG_FB_TFT_SSD1331=m -CONFIG_FB_TFT_SSD1351=m -CONFIG_FB_TFT_ST7735R=m -CONFIG_FB_TFT_ST7789V=m -CONFIG_FB_TFT_TINYLCD=m -CONFIG_FB_TFT_TLS8204=m -CONFIG_FB_TFT_UC1611=m -CONFIG_FB_TFT_UC1701=m -CONFIG_FB_TFT_UPD161704=m -CONFIG_FIELDBUS_DEV=m -CONFIG_HMS_ANYBUSS_BUS=m -CONFIG_CHROME_PLATFORMS=y -CONFIG_CHROMEOS_ACPI=m -CONFIG_CROS_EC=y -CONFIG_CROS_EC_I2C=y -CONFIG_CROS_EC_SPI=y -CONFIG_CLK_ICST=y -CONFIG_CLK_VEXPRESS_OSC=m -CONFIG_LMK04832=m -CONFIG_COMMON_CLK_RK808=y -CONFIG_COMMON_CLK_SCMI=y -CONFIG_COMMON_CLK_SCPI=y -CONFIG_COMMON_CLK_SI5341=m -CONFIG_COMMON_CLK_SI544=m -CONFIG_COMMON_CLK_CS2000_CP=y -CONFIG_COMMON_CLK_S2MPS11=y -CONFIG_COMMON_CLK_AXI_CLKGEN=m -CONFIG_COMMON_CLK_XGENE=y -CONFIG_COMMON_CLK_PWM=y -CONFIG_COMMON_CLK_VC7=m -CONFIG_COMMON_CLK_BD718XX=m -CONFIG_XILINX_VCU=m -CONFIG_COMMON_CLK_XLNX_CLKWZRD=m -CONFIG_HWSPINLOCK=y -CONFIG_HWSPINLOCK_SUN6I=y -CONFIG_ARM_MHU=y -CONFIG_ARM_MHU_V2=m -CONFIG_PLATFORM_MHU=y -CONFIG_ROCKCHIP_MBOX=y -CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y -CONFIG_ROCKCHIP_IOMMU=y -CONFIG_ARM_SMMU=y -CONFIG_ARM_SMMU_V3=y -CONFIG_ARM_SMMU_V3_SVA=y -CONFIG_VIRTIO_IOMMU=m -CONFIG_REMOTEPROC=y -CONFIG_RPMSG_CHAR=y -CONFIG_RPMSG_QCOM_GLINK_RPM=y -CONFIG_SOC_BRCMSTB=y -CONFIG_LITEX_SOC_CONTROLLER=m -CONFIG_ROCKCHIP_IODOMAIN=y -CONFIG_ROCKCHIP_PM_DOMAINS=y -CONFIG_ARCH_TEGRA_132_SOC=y -CONFIG_ARCH_TEGRA_210_SOC=y -CONFIG_ARCH_TEGRA_186_SOC=y -CONFIG_ARCH_TEGRA_194_SOC=y -CONFIG_SOC_TEGRA_CBB=m -CONFIG_SOC_TI=y -CONFIG_DEVFREQ_GOV_PERFORMANCE=m -CONFIG_DEVFREQ_GOV_POWERSAVE=m -CONFIG_DEVFREQ_GOV_USERSPACE=m -CONFIG_DEVFREQ_GOV_PASSIVE=m -CONFIG_ARM_TEGRA_DEVFREQ=y -CONFIG_ARM_RK3399_DMC_DEVFREQ=y -CONFIG_EXTCON_ADC_JACK=m -CONFIG_EXTCON_GPIO=y -CONFIG_EXTCON_PTN5150=m -CONFIG_EXTCON_USB_GPIO=y -CONFIG_EXTCON_USBC_TUSB320=m -CONFIG_MEMORY=y -CONFIG_IIO=y -CONFIG_IIO_BUFFER_HW_CONSUMER=m -CONFIG_IIO_SW_DEVICE=m -CONFIG_IIO_SW_TRIGGER=m -CONFIG_IIO_TRIGGERED_EVENT=m -CONFIG_ADIS16201=m -CONFIG_ADIS16209=m -CONFIG_ADXL313_I2C=m -CONFIG_ADXL313_SPI=m -CONFIG_ADXL345_I2C=m -CONFIG_ADXL345_SPI=m -CONFIG_ADXL355_I2C=m -CONFIG_ADXL355_SPI=m -CONFIG_ADXL372_SPI=m -CONFIG_ADXL372_I2C=m -CONFIG_BMA180=m -CONFIG_BMA220=m -CONFIG_BMA400=m -CONFIG_BMC150_ACCEL=m -CONFIG_BMI088_ACCEL=m -CONFIG_DA280=m -CONFIG_DA311=m -CONFIG_DMARD06=m -CONFIG_DMARD09=m -CONFIG_DMARD10=m -CONFIG_FXLS8962AF_I2C=m -CONFIG_FXLS8962AF_SPI=m -CONFIG_HID_SENSOR_ACCEL_3D=m -CONFIG_KXSD9=m -CONFIG_KXCJK1013=m -CONFIG_MC3230=m -CONFIG_MMA7455_I2C=m -CONFIG_MMA7455_SPI=m -CONFIG_MMA7660=m -CONFIG_MMA8452=m -CONFIG_MMA9551=m -CONFIG_MMA9553=m -CONFIG_MSA311=m -CONFIG_MXC4005=m -CONFIG_MXC6255=m -CONFIG_SCA3000=m -CONFIG_SCA3300=m -CONFIG_STK8312=m -CONFIG_STK8BA50=m -CONFIG_AD7091R5=m -CONFIG_AD7124=m -CONFIG_AD7266=m -CONFIG_AD7291=m -CONFIG_AD7292=m -CONFIG_AD7298=m -CONFIG_AD7476=m -CONFIG_AD7606_IFACE_PARALLEL=m -CONFIG_AD7606_IFACE_SPI=m -CONFIG_AD7766=m -CONFIG_AD7768_1=m -CONFIG_AD7791=m -CONFIG_AD7793=m -CONFIG_AD7887=m -CONFIG_AD7923=m -CONFIG_AD7949=m -CONFIG_AD799X=m -CONFIG_AXP20X_ADC=m -CONFIG_AXP288_ADC=m -CONFIG_LTC2496=m -CONFIG_MAX11205=m -CONFIG_RN5T618_ADC=m -CONFIG_ROCKCHIP_SARADC=y -CONFIG_RICHTEK_RTQ6056=m -CONFIG_SUN4I_GPADC=m -CONFIG_TI_ADC081C=m -CONFIG_TI_ADC0832=m -CONFIG_TI_ADC084S021=m -CONFIG_TI_ADC12138=m -CONFIG_TI_ADC108S102=m -CONFIG_TI_ADC128S052=m -CONFIG_TI_ADC161S626=m -CONFIG_TI_ADS1015=m -CONFIG_TI_ADS7950=m -CONFIG_TI_ADS8344=m -CONFIG_TI_ADS8688=m -CONFIG_TI_ADS124S08=m -CONFIG_TI_ADS131E08=m -CONFIG_TI_TSC2046=m -CONFIG_XILINX_XADC=m -CONFIG_HMC425=m -CONFIG_BME680=m -CONFIG_PMS7003=m -CONFIG_SCD4X=m -CONFIG_SENSIRION_SGP30=m -CONFIG_SENSIRION_SGP40=m -CONFIG_SPS30_I2C=m -CONFIG_SPS30_SERIAL=m -CONFIG_SENSEAIR_SUNRISE_CO2=m -CONFIG_AD5686_SPI=m -CONFIG_AD5696_I2C=m -CONFIG_AD5758=m -CONFIG_AD5766=m -CONFIG_AD5770R=m -CONFIG_LTC1660=m -CONFIG_TI_DAC5571=m -CONFIG_TI_DAC7311=m -CONFIG_TI_DAC7612=m -CONFIG_AD9523=m -CONFIG_ADF4371=m -CONFIG_ADRF6780=m -CONFIG_ADIS16080=m -CONFIG_ADIS16130=m -CONFIG_ADIS16136=m -CONFIG_ADIS16260=m -CONFIG_ADXRS450=m -CONFIG_BMG160=m -CONFIG_FXAS21002C=m -CONFIG_HID_SENSOR_GYRO_3D=m -CONFIG_MPU3050_I2C=m -CONFIG_IIO_ST_GYRO_3AXIS=m -CONFIG_ITG3200=m -CONFIG_AFE4403=m -CONFIG_AFE4404=m -CONFIG_MAX30100=m -CONFIG_MAX30102=m -CONFIG_AM2315=m -CONFIG_DHT11=m -CONFIG_HDC100X=m -CONFIG_HID_SENSOR_HUMIDITY=m -CONFIG_HTS221=m -CONFIG_HTU21=m -CONFIG_SI7005=m -CONFIG_SI7020=m -CONFIG_ADIS16460=m -CONFIG_BOSCH_BNO055_SERIAL=m -CONFIG_BOSCH_BNO055_I2C=m -CONFIG_FXOS8700_I2C=m -CONFIG_FXOS8700_SPI=m -CONFIG_IIO_ST_LSM9DS0=m -CONFIG_ACPI_ALS=m -CONFIG_ADJD_S311=m -CONFIG_ADUX1020=m -CONFIG_AL3010=m -CONFIG_AL3320A=m -CONFIG_APDS9300=m -CONFIG_APDS9960=m -CONFIG_BH1750=m -CONFIG_BH1780=m -CONFIG_CM32181=m -CONFIG_CM3232=m -CONFIG_CM3323=m -CONFIG_CM3605=m -CONFIG_CM36651=m -CONFIG_GP2AP002=m -CONFIG_GP2AP020A00F=m -CONFIG_IQS621_ALS=m -CONFIG_SENSORS_ISL29018=m -CONFIG_SENSORS_ISL29028=m -CONFIG_ISL29125=m -CONFIG_HID_SENSOR_ALS=m -CONFIG_HID_SENSOR_PROX=m -CONFIG_JSA1212=m -CONFIG_RPR0521=m -CONFIG_SENSORS_LM3533=m -CONFIG_LTR501=m -CONFIG_LTRF216A=m -CONFIG_LV0104CS=m -CONFIG_MAX44000=m -CONFIG_MAX44009=m -CONFIG_NOA1305=m -CONFIG_OPT3001=m -CONFIG_PA12203001=m -CONFIG_SI1133=m -CONFIG_SI1145=m -CONFIG_STK3310=m -CONFIG_ST_UVIS25=m -CONFIG_TCS3414=m -CONFIG_TCS3472=m -CONFIG_SENSORS_TSL2563=m -CONFIG_TSL2583=m -CONFIG_TSL2591=m -CONFIG_TSL2772=m -CONFIG_TSL4531=m -CONFIG_US5182D=m -CONFIG_VCNL4000=m -CONFIG_VCNL4035=m -CONFIG_VEML6030=m -CONFIG_VEML6070=m -CONFIG_VL6180=m -CONFIG_ZOPT2201=m -CONFIG_AK8974=m -CONFIG_AK09911=m -CONFIG_BMC150_MAGN_I2C=m -CONFIG_BMC150_MAGN_SPI=m -CONFIG_MAG3110=m -CONFIG_HID_SENSOR_MAGNETOMETER_3D=m -CONFIG_MMC35240=m -CONFIG_SENSORS_HMC5843_I2C=m -CONFIG_SENSORS_HMC5843_SPI=m -CONFIG_SENSORS_RM3100_I2C=m -CONFIG_SENSORS_RM3100_SPI=m -CONFIG_YAMAHA_YAS530=m -CONFIG_HID_SENSOR_INCLINOMETER_3D=m -CONFIG_HID_SENSOR_DEVICE_ROTATION=m -CONFIG_IIO_HRTIMER_TRIGGER=m -CONFIG_IIO_INTERRUPT_TRIGGER=m -CONFIG_IIO_TIGHTLOOP_TRIGGER=m -CONFIG_IIO_SYSFS_TRIGGER=m -CONFIG_IQS624_POS=m -CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE=m -CONFIG_AD5110=m -CONFIG_AD5272=m -CONFIG_MAX5432=m -CONFIG_MCP4018=m -CONFIG_MCP41010=m -CONFIG_BMP280=m -CONFIG_DLHL60D=m -CONFIG_DPS310=m -CONFIG_HID_SENSOR_PRESS=m -CONFIG_ICP10100=m -CONFIG_CROS_EC_MKBP_PROXIMITY=m -CONFIG_ISL29501=m -CONFIG_MB1232=m -CONFIG_PING=m -CONFIG_VL53L0X_I2C=m -CONFIG_IQS620AT_TEMP=m -CONFIG_LTC2983=m -CONFIG_MAXIM_THERMOCOUPLE=m -CONFIG_HID_SENSOR_TEMP=m -CONFIG_MLX90614=m -CONFIG_MLX90632=m -CONFIG_TMP006=m -CONFIG_TMP007=m -CONFIG_TMP117=m -CONFIG_TSYS01=m -CONFIG_TSYS02D=m -CONFIG_MAX31856=m -CONFIG_MAX31865=m -CONFIG_PWM=y -CONFIG_PWM_ATMEL_TCB=m -CONFIG_PWM_CLK=m -CONFIG_PWM_CROS_EC=m -CONFIG_PWM_DWC=m -CONFIG_PWM_NTXEC=m -CONFIG_PWM_ROCKCHIP=y -CONFIG_PWM_SUN4I=m -CONFIG_PWM_TEGRA=y -CONFIG_PWM_XILINX=m -CONFIG_RESET_TI_TPS380X=m -CONFIG_PHY_CAN_TRANSCEIVER=m -CONFIG_PHY_SUN4I_USB=m -CONFIG_PHY_SUN9I_USB=m -CONFIG_PHY_SUN50I_USB3=m -CONFIG_BCM_KONA_USB2_PHY=m -CONFIG_PHY_CADENCE_TORRENT=m -CONFIG_PHY_CADENCE_DPHY=m -CONFIG_PHY_CADENCE_SIERRA=m -CONFIG_PHY_MAPPHONE_MDM6600=m -CONFIG_PHY_QCOM_USB_HS=y -CONFIG_PHY_QCOM_USB_HSIC=y -CONFIG_PHY_ROCKCHIP_DP=y -CONFIG_PHY_ROCKCHIP_DPHY_RX0=m -CONFIG_PHY_ROCKCHIP_EMMC=y -CONFIG_PHY_ROCKCHIP_INNO_HDMI=y -CONFIG_PHY_ROCKCHIP_INNO_USB2=y -CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY=m -CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=y -CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y -CONFIG_PHY_ROCKCHIP_PCIE=y -CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=y -CONFIG_PHY_ROCKCHIP_TYPEC=y -CONFIG_PHY_ROCKCHIP_USB=y -CONFIG_PHY_SAMSUNG_USB2=y -CONFIG_PHY_TEGRA_XUSB=y -CONFIG_ARM_CCI_PMU=y -CONFIG_ARM_CCN=y -CONFIG_ARM_DMC620_PMU=y -CONFIG_ALIBABA_UNCORE_DRW_PMU=m -CONFIG_HISI_PMU=y -CONFIG_HNS3_PMU=m -CONFIG_DAX=y -CONFIG_DEV_DAX=m -CONFIG_NVMEM_RAVE_SP_EEPROM=m -CONFIG_NVMEM_RMEM=m -CONFIG_NVMEM_ROCKCHIP_EFUSE=m -CONFIG_NVMEM_ROCKCHIP_OTP=m -CONFIG_NVMEM_SPMI_SDAM=m -CONFIG_NVMEM_SUNXI_SID=m -CONFIG_NVMEM_U_BOOT_ENV=m -CONFIG_HISI_PTT=m -CONFIG_FPGA=y -CONFIG_FPGA_BRIDGE=m -CONFIG_ALTERA_FREEZE_BRIDGE=m -CONFIG_FPGA_REGION=m -CONFIG_OF_FPGA_REGION=m -CONFIG_FPGA_MGR_MICROCHIP_SPI=m -CONFIG_TEE=y -CONFIG_OPTEE=m -CONFIG_MUX_ADG792A=m -CONFIG_MUX_ADGS1408=m -CONFIG_MUX_GPIO=m -CONFIG_MUX_MMIO=m -CONFIG_COUNTER=m -CONFIG_INTERRUPT_CNT=m -CONFIG_MOST=m -CONFIG_MOST_SND=m -CONFIG_VALIDATE_FS_PARSER=y -CONFIG_EXT2_FS=y -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y -CONFIG_EXT2_FS_SECURITY=y -CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y -CONFIG_REISERFS_FS=m -CONFIG_REISERFS_PROC_INFO=y -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_REISERFS_FS_SECURITY=y -CONFIG_JFS_FS=m -CONFIG_JFS_POSIX_ACL=y -CONFIG_JFS_SECURITY=y -CONFIG_JFS_STATISTICS=y -CONFIG_XFS_FS=m -CONFIG_XFS_QUOTA=y -CONFIG_XFS_POSIX_ACL=y -CONFIG_XFS_RT=y -CONFIG_GFS2_FS=m -CONFIG_GFS2_FS_LOCKING_DLM=y -CONFIG_OCFS2_FS=m -CONFIG_BTRFS_FS=y -CONFIG_BTRFS_FS_POSIX_ACL=y -CONFIG_NILFS2_FS=m -CONFIG_F2FS_FS=y -CONFIG_F2FS_FS_SECURITY=y -CONFIG_F2FS_CHECK_FS=y -CONFIG_F2FS_FS_COMPRESSION=y -CONFIG_ZONEFS_FS=m -CONFIG_FS_ENCRYPTION=y -CONFIG_FS_VERITY=y -CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y -CONFIG_FANOTIFY=y -CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y -CONFIG_QUOTA_NETLINK_INTERFACE=y -CONFIG_QFMT_V1=m -CONFIG_QFMT_V2=m -CONFIG_AUTOFS_FS=m -CONFIG_FUSE_FS=y -CONFIG_CUSE=m -CONFIG_VIRTIO_FS=m -CONFIG_OVERLAY_FS=y -CONFIG_OVERLAY_FS_XINO_AUTO=y -CONFIG_FSCACHE=m -CONFIG_FSCACHE_STATS=y -CONFIG_CACHEFILES=m -CONFIG_ISO9660_FS=m -CONFIG_JOLIET=y -CONFIG_ZISOFS=y -CONFIG_UDF_FS=m -CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_UTF8=y -CONFIG_EXFAT_FS=m -CONFIG_NTFS_FS=m -CONFIG_NTFS_RW=y -CONFIG_NTFS3_FS=m -CONFIG_NTFS3_64BIT_CLUSTER=y -CONFIG_NTFS3_LZX_XPRESS=y -CONFIG_NTFS3_FS_POSIX_ACL=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_HUGETLBFS=y -CONFIG_ORANGEFS_FS=m -CONFIG_ADFS_FS=m -CONFIG_AFFS_FS=m -CONFIG_ECRYPT_FS=y -CONFIG_ECRYPT_FS_MESSAGING=y -CONFIG_HFS_FS=m -CONFIG_HFSPLUS_FS=m -CONFIG_BEFS_FS=m -CONFIG_BFS_FS=m -CONFIG_EFS_FS=m -CONFIG_JFFS2_FS=m -CONFIG_JFFS2_FS_XATTR=y -CONFIG_JFFS2_COMPRESSION_OPTIONS=y -CONFIG_JFFS2_LZO=y -CONFIG_JFFS2_CMODE_FAVOURLZO=y -CONFIG_UBIFS_FS=m -CONFIG_CRAMFS=m -CONFIG_CRAMFS_MTD=y -CONFIG_SQUASHFS=y -CONFIG_SQUASHFS_FILE_DIRECT=y -CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU=y -CONFIG_SQUASHFS_XATTR=y -CONFIG_SQUASHFS_LZ4=y -CONFIG_SQUASHFS_LZO=y -CONFIG_SQUASHFS_XZ=y -CONFIG_SQUASHFS_ZSTD=y -CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y -CONFIG_SQUASHFS_EMBEDDED=y -CONFIG_VXFS_FS=m -CONFIG_MINIX_FS=m -CONFIG_OMFS_FS=m -CONFIG_HPFS_FS=m -CONFIG_QNX4FS_FS=m -CONFIG_QNX6FS_FS=m -CONFIG_ROMFS_FS=m -CONFIG_PSTORE=y -CONFIG_PSTORE_RAM=m -CONFIG_PSTORE_BLK=m -CONFIG_SYSV_FS=m -CONFIG_UFS_FS=m -CONFIG_UFS_FS_WRITE=y -CONFIG_NFS_FS=m -CONFIG_NFS_V3_ACL=y -CONFIG_NFS_V4=m -CONFIG_NFS_SWAP=y -CONFIG_NFS_V4_1=y -CONFIG_NFS_V4_2=y -CONFIG_NFS_V4_1_MIGRATION=y -CONFIG_NFS_FSCACHE=y -CONFIG_NFS_V4_2_READ_PLUS=y -CONFIG_NFSD=m -CONFIG_NFSD_V3_ACL=y -CONFIG_NFSD_V4=y -CONFIG_NFSD_BLOCKLAYOUT=y -CONFIG_NFSD_SCSILAYOUT=y -CONFIG_NFSD_FLEXFILELAYOUT=y -CONFIG_NFSD_V4_SECURITY_LABEL=y -CONFIG_SUNRPC_DEBUG=y -CONFIG_CEPH_FS=m -CONFIG_CEPH_FSCACHE=y -CONFIG_CEPH_FS_POSIX_ACL=y -CONFIG_CEPH_FS_SECURITY_LABEL=y -CONFIG_CIFS=m -CONFIG_CIFS_UPCALL=y -CONFIG_CIFS_XATTR=y -CONFIG_CIFS_POSIX=y -CONFIG_CIFS_DFS_UPCALL=y -CONFIG_CIFS_FSCACHE=y -CONFIG_SMB_SERVER=m -CONFIG_SMB_SERVER_KERBEROS5=y -CONFIG_CODA_FS=m -CONFIG_AFS_FS=m -CONFIG_AFS_FSCACHE=y -CONFIG_9P_FS=m -CONFIG_9P_FSCACHE=y -CONFIG_9P_FS_POSIX_ACL=y -CONFIG_9P_FS_SECURITY=y -CONFIG_NLS_DEFAULT="utf8" -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_737=m -CONFIG_NLS_CODEPAGE_775=m -CONFIG_NLS_CODEPAGE_850=m -CONFIG_NLS_CODEPAGE_852=m -CONFIG_NLS_CODEPAGE_855=m -CONFIG_NLS_CODEPAGE_857=m -CONFIG_NLS_CODEPAGE_860=m -CONFIG_NLS_CODEPAGE_861=m -CONFIG_NLS_CODEPAGE_862=m -CONFIG_NLS_CODEPAGE_863=m -CONFIG_NLS_CODEPAGE_864=m -CONFIG_NLS_CODEPAGE_865=m -CONFIG_NLS_CODEPAGE_866=m -CONFIG_NLS_CODEPAGE_869=m -CONFIG_NLS_CODEPAGE_936=m -CONFIG_NLS_CODEPAGE_950=m -CONFIG_NLS_CODEPAGE_932=m -CONFIG_NLS_CODEPAGE_949=m -CONFIG_NLS_CODEPAGE_874=m -CONFIG_NLS_ISO8859_8=m -CONFIG_NLS_CODEPAGE_1250=m -CONFIG_NLS_CODEPAGE_1251=m -CONFIG_NLS_ASCII=y -CONFIG_NLS_ISO8859_1=m -CONFIG_NLS_ISO8859_2=m -CONFIG_NLS_ISO8859_3=m -CONFIG_NLS_ISO8859_4=m -CONFIG_NLS_ISO8859_5=m -CONFIG_NLS_ISO8859_6=m -CONFIG_NLS_ISO8859_7=m -CONFIG_NLS_ISO8859_9=m -CONFIG_NLS_ISO8859_13=m -CONFIG_NLS_ISO8859_14=m -CONFIG_NLS_ISO8859_15=m -CONFIG_NLS_KOI8_R=m -CONFIG_NLS_KOI8_U=m -CONFIG_NLS_MAC_ROMAN=m -CONFIG_NLS_MAC_CELTIC=m -CONFIG_NLS_MAC_CENTEURO=m -CONFIG_NLS_MAC_CROATIAN=m -CONFIG_NLS_MAC_CYRILLIC=m -CONFIG_NLS_MAC_GAELIC=m -CONFIG_NLS_MAC_GREEK=m -CONFIG_NLS_MAC_ICELAND=m -CONFIG_NLS_MAC_INUIT=m -CONFIG_NLS_MAC_ROMANIAN=m -CONFIG_NLS_MAC_TURKISH=m -CONFIG_DLM=m -CONFIG_UNICODE=y -CONFIG_KEYS_REQUEST_CACHE=y -CONFIG_PERSISTENT_KEYRINGS=y -CONFIG_TRUSTED_KEYS=m -CONFIG_ENCRYPTED_KEYS=y -CONFIG_KEY_DH_OPERATIONS=y -CONFIG_SECURITY=y -CONFIG_SECURITY_NETWORK_XFRM=y -CONFIG_LSM_MMAP_MIN_ADDR=0 -CONFIG_HARDENED_USERCOPY=y -CONFIG_FORTIFY_SOURCE=y -CONFIG_SECURITY_SELINUX=y -CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 -CONFIG_SECURITY_SMACK=y -CONFIG_SECURITY_SMACK_APPEND_SIGNALS=y -CONFIG_SECURITY_TOMOYO=y -CONFIG_SECURITY_APPARMOR=y -CONFIG_SECURITY_YAMA=y -CONFIG_SECURITY_SAFESETID=y -CONFIG_SECURITY_LOCKDOWN_LSM=y -CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y -CONFIG_INTEGRITY_SIGNATURE=y -CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y -CONFIG_INTEGRITY_PLATFORM_KEYRING=y -CONFIG_DEFAULT_SECURITY_APPARMOR=y -CONFIG_LSM="lockdown,yama,integrity,apparmor" -CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y -CONFIG_CRYPTO_PCRYPT=m -CONFIG_CRYPTO_CRYPTD=y -CONFIG_CRYPTO_AUTHENC=y -CONFIG_CRYPTO_TEST=m -CONFIG_CRYPTO_ECDH=y -CONFIG_CRYPTO_ECDSA=m -CONFIG_CRYPTO_ECRDSA=m -CONFIG_CRYPTO_AES_TI=y -CONFIG_CRYPTO_ANUBIS=y -CONFIG_CRYPTO_ARIA=m -CONFIG_CRYPTO_BLOWFISH=y -CONFIG_CRYPTO_CAMELLIA=y -CONFIG_CRYPTO_CAST5=y -CONFIG_CRYPTO_CAST6=y -CONFIG_CRYPTO_DES=y -CONFIG_CRYPTO_FCRYPT=y -CONFIG_CRYPTO_KHAZAD=y -CONFIG_CRYPTO_SEED=y -CONFIG_CRYPTO_SERPENT=y -CONFIG_CRYPTO_TEA=y -CONFIG_CRYPTO_TWOFISH=y -CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m -CONFIG_CRYPTO_CFB=m -CONFIG_CRYPTO_HCTR2=m -CONFIG_CRYPTO_KEYWRAP=m -CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_OFB=m -CONFIG_CRYPTO_PCBC=m -CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_CHACHA20POLY1305=y -CONFIG_CRYPTO_CCM=y -CONFIG_CRYPTO_GCM=y -CONFIG_CRYPTO_SEQIV=y -CONFIG_CRYPTO_ECHAINIV=y -CONFIG_CRYPTO_CMAC=y -CONFIG_CRYPTO_MD4=y -CONFIG_CRYPTO_MICHAEL_MIC=y -CONFIG_CRYPTO_RMD160=y -CONFIG_CRYPTO_SHA3=y -CONFIG_CRYPTO_VMAC=y -CONFIG_CRYPTO_WP512=y -CONFIG_CRYPTO_XCBC=y -CONFIG_CRYPTO_LZO=y -CONFIG_CRYPTO_842=m -CONFIG_CRYPTO_LZ4=m -CONFIG_CRYPTO_ANSI_CPRNG=m -CONFIG_CRYPTO_DRBG_HASH=y -CONFIG_CRYPTO_DRBG_CTR=y -CONFIG_CRYPTO_STATS=y -CONFIG_CRYPTO_NHPOLY1305_NEON=y -CONFIG_CRYPTO_CHACHA20_NEON=y -CONFIG_CRYPTO_GHASH_ARM64_CE=y -CONFIG_CRYPTO_POLY1305_NEON=y -CONFIG_CRYPTO_SHA1_ARM64_CE=y -CONFIG_CRYPTO_SHA2_ARM64_CE=y -CONFIG_CRYPTO_SHA512_ARM64=y -CONFIG_CRYPTO_SHA512_ARM64_CE=m -CONFIG_CRYPTO_SHA3_ARM64=m -CONFIG_CRYPTO_SM3_NEON=m -CONFIG_CRYPTO_SM3_ARM64_CE=m -CONFIG_CRYPTO_POLYVAL_ARM64_CE=m -CONFIG_CRYPTO_AES_ARM64=y -CONFIG_CRYPTO_AES_ARM64_CE_BLK=y -CONFIG_CRYPTO_AES_ARM64_BS=y -CONFIG_CRYPTO_SM4_ARM64_CE=m -CONFIG_CRYPTO_SM4_ARM64_CE_BLK=m -CONFIG_CRYPTO_SM4_ARM64_NEON_BLK=m -CONFIG_CRYPTO_AES_ARM64_CE_CCM=y -CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m -CONFIG_CRYPTO_DEV_SUN4I_SS=m -CONFIG_CRYPTO_DEV_SUN8I_CE=m -CONFIG_CRYPTO_DEV_SUN8I_SS=m -CONFIG_CRYPTO_DEV_ATMEL_ECC=m -CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m -CONFIG_CRYPTO_DEV_QAT_DH895xCC=m -CONFIG_CRYPTO_DEV_QAT_C3XXX=m -CONFIG_CRYPTO_DEV_QAT_C62X=m -CONFIG_CRYPTO_DEV_QAT_4XXX=m -CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m -CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m -CONFIG_CRYPTO_DEV_QAT_C62XVF=m -CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m -CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m -CONFIG_CRYPTO_DEV_ROCKCHIP=m -CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DEV_SAFEXCEL=m -CONFIG_CRYPTO_DEV_CCREE=m -CONFIG_CRYPTO_DEV_HISI_SEC=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=y -CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG=y -CONFIG_PKCS8_PRIVATE_KEY_PARSER=m -CONFIG_PKCS7_TEST_KEY=m -CONFIG_SIGNED_PE_FILE_VERIFICATION=y -CONFIG_SYSTEM_EXTRA_CERTIFICATE=y -CONFIG_SECONDARY_TRUSTED_KEYRING=y -CONFIG_SYSTEM_BLACKLIST_KEYRING=y -CONFIG_CRC4=m -CONFIG_XZ_DEC_MICROLZMA=y -CONFIG_XZ_DEC_TEST=m -CONFIG_DMA_RESTRICTED_POOL=y -CONFIG_CMA_SIZE_MBYTES=384 -CONFIG_GLOB_SELFTEST=m -CONFIG_FONTS=y -CONFIG_FONT_8x8=y -CONFIG_FONT_ACORN_8x8=y -CONFIG_FONT_6x10=y -CONFIG_FONT_TER16x32=y -CONFIG_PRINTK_TIME=y -CONFIG_DYNAMIC_DEBUG=y -CONFIG_MAGIC_SYSRQ=y -CONFIG_DEBUG_MEMORY_INIT=y -CONFIG_TEST_LOCKUP=m -CONFIG_RCU_TORTURE_TEST=m -CONFIG_RCU_CPU_STALL_TIMEOUT=60 -# CONFIG_RCU_TRACE is not set -# CONFIG_FTRACE is not set -CONFIG_FUNCTION_ERROR_INJECTION=y -# CONFIG_RUNTIME_TESTING_MENU is not set -CONFIG_MEMTEST=y -CONFIG_ARMV8_DEPRECATED=y -CONFIG_SWP_EMULATION=y -CONFIG_CP15_BARRIER_EMULATION=y -CONFIG_SETEND_EMULATION=y diff --git a/buildroot-external/patches-rockchip/linux/0004-Revert-phy-rockchip-naneng-combphy-fix-phy-reset.patch b/buildroot-external/patches-rockchip/linux/0001-Revert-phy-rockchip-naneng-combphy-fix-phy-reset.patch similarity index 85% rename from buildroot-external/patches-rockchip/linux/0004-Revert-phy-rockchip-naneng-combphy-fix-phy-reset.patch rename to buildroot-external/patches-rockchip/linux/0001-Revert-phy-rockchip-naneng-combphy-fix-phy-reset.patch index 61c90286bb9..696803a2e86 100644 --- a/buildroot-external/patches-rockchip/linux/0004-Revert-phy-rockchip-naneng-combphy-fix-phy-reset.patch +++ b/buildroot-external/patches-rockchip/linux/0001-Revert-phy-rockchip-naneng-combphy-fix-phy-reset.patch @@ -1,12 +1,12 @@ -From 411b308e89929c2b13ef902fd97c1735d8280023 Mon Sep 17 00:00:00 2001 +From aadb32828c0ac829ee9664f91f9302000a79f02d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= -Date: Wed, 29 Jan 2025 16:28:26 +0100 +Date: Fri, 31 Jan 2025 10:26:36 +0100 Subject: [PATCH] Revert "phy: rockchip: naneng-combphy: fix phy reset" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -This reverts commit 908806a2e789998f8897ebab83be10b4b058b6e2. +This reverts commit 5cdf336412a928ae0f05a3117b3132366a1f7d21. This commit causes USB3 and PCIe regression on ODROID-M1 and ODROID-M1S. Revert it before a fix is merged upstream. @@ -18,7 +18,7 @@ Signed-off-by: Jan Čermák 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c -index 9c231094ba359..26b157f53f3da 100644 +index 2eb3329ca23f6..0a9989e41237f 100644 --- a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c +++ b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c @@ -309,7 +309,7 @@ static int rockchip_combphy_parse_dt(struct device *dev, struct rockchip_combphy diff --git a/buildroot-external/patches-rockchip/linux/0001-hwrng-add-Rockchip-SoC-hwrng-driver.patch b/buildroot-external/patches-rockchip/linux/0001-hwrng-add-Rockchip-SoC-hwrng-driver.patch deleted file mode 100644 index 6dd33ce7732..00000000000 --- a/buildroot-external/patches-rockchip/linux/0001-hwrng-add-Rockchip-SoC-hwrng-driver.patch +++ /dev/null @@ -1,317 +0,0 @@ -From ef365072cb06f537f46a70d9e29dc4503aafb23d Mon Sep 17 00:00:00 2001 -From: Aurelien Jarno -Date: Mon, 28 Nov 2022 19:47:17 +0100 -Subject: [PATCH] hwrng: add Rockchip SoC hwrng driver - -Rockchip SoCs used to have a random number generator as part of their -crypto device, and support for it has to be added to the corresponding -driver. However newer Rockchip SoCs like the RK356x have an independent -True Random Number Generator device. This patch adds a driver for it, -greatly inspired from the downstream driver. - -The TRNG device does not seem to have a signal conditionner and the FIPS -140-2 test returns a lot of failures. They can be reduced by increasing -RK_RNG_SAMPLE_CNT, in a tradeoff between quality and speed. This value -has been adjusted to get ~90% of successes and the quality value has -been set accordingly. - -Signed-off-by: Aurelien Jarno -[conservatively estimate quality as per review feedback] -Signed-off-by: Stefan Agner ---- - drivers/char/hw_random/Kconfig | 14 ++ - drivers/char/hw_random/Makefile | 1 + - drivers/char/hw_random/rockchip-rng.c | 250 ++++++++++++++++++++++++++ - 3 files changed, 265 insertions(+) - create mode 100644 drivers/char/hw_random/rockchip-rng.c - -diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig -index 8de74dcfa18c..f7036ea8e65f 100644 ---- a/drivers/char/hw_random/Kconfig -+++ b/drivers/char/hw_random/Kconfig -@@ -573,6 +573,20 @@ config HW_RANDOM_JH7110 - To compile this driver as a module, choose M here. - The module will be called jh7110-trng. - -+config HW_RANDOM_ROCKCHIP -+ tristate "Rockchip True Random Number Generator" -+ depends on HW_RANDOM && (ARCH_ROCKCHIP || COMPILE_TEST) -+ depends on HAS_IOMEM -+ default HW_RANDOM -+ help -+ This driver provides kernel-side support for the True Random Number -+ Generator hardware found on some Rockchip SoC like RK3566 or RK3568. -+ -+ To compile this driver as a module, choose M here: the -+ module will be called rockchip-rng. -+ -+ If unsure, say Y. -+ - endif # HW_RANDOM - - config UML_RANDOM -diff --git a/drivers/char/hw_random/Makefile b/drivers/char/hw_random/Makefile -index 32549a1186dc..5bf0e4692aca 100644 ---- a/drivers/char/hw_random/Makefile -+++ b/drivers/char/hw_random/Makefile -@@ -49,3 +49,4 @@ obj-$(CONFIG_HW_RANDOM_ARM_SMCCC_TRNG) += arm_smccc_trng.o - obj-$(CONFIG_HW_RANDOM_CN10K) += cn10k-rng.o - obj-$(CONFIG_HW_RANDOM_POLARFIRE_SOC) += mpfs-rng.o - obj-$(CONFIG_HW_RANDOM_JH7110) += jh7110-trng.o -+obj-$(CONFIG_HW_RANDOM_ROCKCHIP) += rockchip-rng.o -diff --git a/drivers/char/hw_random/rockchip-rng.c b/drivers/char/hw_random/rockchip-rng.c -new file mode 100644 -index 000000000000..9b7b334d6410 ---- /dev/null -+++ b/drivers/char/hw_random/rockchip-rng.c -@@ -0,0 +1,250 @@ -+// SPDX-License-Identifier: GPL-2.0 -+/* -+ * rockchip-rng.c True Random Number Generator driver for Rockchip SoCs -+ * -+ * Copyright (c) 2018, Fuzhou Rockchip Electronics Co., Ltd. -+ * Copyright (c) 2022, Aurelien Jarno -+ * Authors: -+ * Lin Jinhan -+ * Aurelien Jarno -+ */ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#define RK_RNG_AUTOSUSPEND_DELAY 100 -+#define RK_RNG_MAX_BYTE 32 -+#define RK_RNG_POLL_PERIOD_US 100 -+#define RK_RNG_POLL_TIMEOUT_US 10000 -+ -+/* -+ * TRNG collects osc ring output bit every RK_RNG_SAMPLE_CNT time. The value is -+ * a tradeoff between speed and quality and has been adjusted to get a quality -+ * of ~900 (~90% of FIPS 140-2 successes). -+ */ -+#define RK_RNG_SAMPLE_CNT 1000 -+ -+/* TRNG registers from RK3568 TRM-Part2, section 5.4.1 */ -+#define TRNG_RST_CTL 0x0004 -+#define TRNG_RNG_CTL 0x0400 -+#define TRNG_RNG_CTL_LEN_64_BIT (0x00 << 4) -+#define TRNG_RNG_CTL_LEN_128_BIT (0x01 << 4) -+#define TRNG_RNG_CTL_LEN_192_BIT (0x02 << 4) -+#define TRNG_RNG_CTL_LEN_256_BIT (0x03 << 4) -+#define TRNG_RNG_CTL_OSC_RING_SPEED_0 (0x00 << 2) -+#define TRNG_RNG_CTL_OSC_RING_SPEED_1 (0x01 << 2) -+#define TRNG_RNG_CTL_OSC_RING_SPEED_2 (0x02 << 2) -+#define TRNG_RNG_CTL_OSC_RING_SPEED_3 (0x03 << 2) -+#define TRNG_RNG_CTL_ENABLE BIT(1) -+#define TRNG_RNG_CTL_START BIT(0) -+#define TRNG_RNG_SAMPLE_CNT 0x0404 -+#define TRNG_RNG_DOUT_0 0x0410 -+#define TRNG_RNG_DOUT_1 0x0414 -+#define TRNG_RNG_DOUT_2 0x0418 -+#define TRNG_RNG_DOUT_3 0x041c -+#define TRNG_RNG_DOUT_4 0x0420 -+#define TRNG_RNG_DOUT_5 0x0424 -+#define TRNG_RNG_DOUT_6 0x0428 -+#define TRNG_RNG_DOUT_7 0x042c -+ -+struct rk_rng { -+ struct hwrng rng; -+ void __iomem *base; -+ struct reset_control *rst; -+ int clk_num; -+ struct clk_bulk_data *clk_bulks; -+}; -+ -+/* The mask determine the bits that are updated */ -+static void rk_rng_write_ctl(struct rk_rng *rng, u32 val, u32 mask) -+{ -+ writel_relaxed((mask << 16) | val, rng->base + TRNG_RNG_CTL); -+} -+ -+static int rk_rng_init(struct hwrng *rng) -+{ -+ struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng); -+ u32 reg; -+ int ret; -+ -+ /* start clocks */ -+ ret = clk_bulk_prepare_enable(rk_rng->clk_num, rk_rng->clk_bulks); -+ if (ret < 0) { -+ dev_err((struct device *) rk_rng->rng.priv, -+ "Failed to enable clks %d\n", ret); -+ return ret; -+ } -+ -+ /* set the sample period */ -+ writel(RK_RNG_SAMPLE_CNT, rk_rng->base + TRNG_RNG_SAMPLE_CNT); -+ -+ /* set osc ring speed and enable it */ -+ reg = TRNG_RNG_CTL_LEN_256_BIT | -+ TRNG_RNG_CTL_OSC_RING_SPEED_0 | -+ TRNG_RNG_CTL_ENABLE; -+ rk_rng_write_ctl(rk_rng, reg, 0xffff); -+ -+ return 0; -+} -+ -+static void rk_rng_cleanup(struct hwrng *rng) -+{ -+ struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng); -+ u32 reg; -+ -+ /* stop TRNG */ -+ reg = 0; -+ rk_rng_write_ctl(rk_rng, reg, 0xffff); -+ -+ /* stop clocks */ -+ clk_bulk_disable_unprepare(rk_rng->clk_num, rk_rng->clk_bulks); -+} -+ -+static int rk_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) -+{ -+ struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng); -+ u32 reg; -+ int ret = 0; -+ int i; -+ -+ pm_runtime_get_sync((struct device *) rk_rng->rng.priv); -+ -+ /* Start collecting random data */ -+ reg = TRNG_RNG_CTL_START; -+ rk_rng_write_ctl(rk_rng, reg, reg); -+ -+ ret = readl_poll_timeout(rk_rng->base + TRNG_RNG_CTL, reg, -+ !(reg & TRNG_RNG_CTL_START), -+ RK_RNG_POLL_PERIOD_US, -+ RK_RNG_POLL_TIMEOUT_US); -+ if (ret < 0) -+ goto out; -+ -+ /* Read random data stored in the registers */ -+ ret = min_t(size_t, max, RK_RNG_MAX_BYTE); -+ for (i = 0; i < ret; i += 4) { -+ *(u32 *)(buf + i) = readl_relaxed(rk_rng->base + TRNG_RNG_DOUT_0 + i); -+ } -+ -+out: -+ pm_runtime_mark_last_busy((struct device *) rk_rng->rng.priv); -+ pm_runtime_put_sync_autosuspend((struct device *) rk_rng->rng.priv); -+ -+ return ret; -+} -+ -+static int rk_rng_probe(struct platform_device *pdev) -+{ -+ struct device *dev = &pdev->dev; -+ struct rk_rng *rk_rng; -+ int ret; -+ -+ rk_rng = devm_kzalloc(dev, sizeof(struct rk_rng), GFP_KERNEL); -+ if (!rk_rng) -+ return -ENOMEM; -+ -+ rk_rng->base = devm_platform_ioremap_resource(pdev, 0); -+ if (IS_ERR(rk_rng->base)) -+ return PTR_ERR(rk_rng->base); -+ -+ rk_rng->clk_num = devm_clk_bulk_get_all(dev, &rk_rng->clk_bulks); -+ if (rk_rng->clk_num < 0) -+ return dev_err_probe(dev, rk_rng->clk_num, -+ "Failed to get clks property\n"); -+ -+ rk_rng->rst = devm_reset_control_array_get(&pdev->dev, false, false); -+ if (IS_ERR(rk_rng->rst)) -+ return dev_err_probe(dev, PTR_ERR(rk_rng->rst), -+ "Failed to get reset property\n"); -+ -+ reset_control_assert(rk_rng->rst); -+ udelay(2); -+ reset_control_deassert(rk_rng->rst); -+ -+ platform_set_drvdata(pdev, rk_rng); -+ -+ rk_rng->rng.name = dev_driver_string(dev); -+#ifndef CONFIG_PM -+ rk_rng->rng.init = rk_rng_init; -+ rk_rng->rng.cleanup = rk_rng_cleanup; -+#endif -+ rk_rng->rng.read = rk_rng_read; -+ rk_rng->rng.priv = (unsigned long) dev; -+ rk_rng->rng.quality = 512; -+ -+ pm_runtime_set_autosuspend_delay(dev, RK_RNG_AUTOSUSPEND_DELAY); -+ pm_runtime_use_autosuspend(dev); -+ pm_runtime_enable(dev); -+ -+ ret = devm_hwrng_register(dev, &rk_rng->rng); -+ if (ret) -+ return dev_err_probe(&pdev->dev, ret, "Failed to register Rockchip hwrng\n"); -+ -+ dev_info(&pdev->dev, "Registered Rockchip hwrng\n"); -+ -+ return 0; -+} -+ -+static int rk_rng_remove(struct platform_device *pdev) -+{ -+ pm_runtime_disable(&pdev->dev); -+ -+ return 0; -+} -+ -+#ifdef CONFIG_PM -+static int rk_rng_runtime_suspend(struct device *dev) -+{ -+ struct rk_rng *rk_rng = dev_get_drvdata(dev); -+ -+ rk_rng_cleanup(&rk_rng->rng); -+ -+ return 0; -+} -+ -+static int rk_rng_runtime_resume(struct device *dev) -+{ -+ struct rk_rng *rk_rng = dev_get_drvdata(dev); -+ -+ return rk_rng_init(&rk_rng->rng); -+} -+#endif -+ -+static const struct dev_pm_ops rk_rng_pm_ops = { -+ SET_RUNTIME_PM_OPS(rk_rng_runtime_suspend, -+ rk_rng_runtime_resume, NULL) -+ SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, -+ pm_runtime_force_resume) -+}; -+ -+static const struct of_device_id rk_rng_dt_match[] = { -+ { -+ .compatible = "rockchip,rk3568-rng", -+ }, -+ {}, -+}; -+ -+MODULE_DEVICE_TABLE(of, rk_rng_dt_match); -+ -+static struct platform_driver rk_rng_driver = { -+ .driver = { -+ .name = "rockchip-rng", -+ .pm = &rk_rng_pm_ops, -+ .of_match_table = rk_rng_dt_match, -+ }, -+ .probe = rk_rng_probe, -+ .remove = rk_rng_remove, -+}; -+ -+module_platform_driver(rk_rng_driver); -+ -+MODULE_DESCRIPTION("Rockchip True Random Number Generator driver"); -+MODULE_AUTHOR("Lin Jinhan , Aurelien Jarno "); -+MODULE_LICENSE("GPL v2"); diff --git a/buildroot-external/patches-rockchip/linux/0002-arm64-dts-rockchip-add-DT-entry-for-RNG-to-RK356x.patch b/buildroot-external/patches-rockchip/linux/0002-arm64-dts-rockchip-add-DT-entry-for-RNG-to-RK356x.patch deleted file mode 100644 index 9fc7ac601f9..00000000000 --- a/buildroot-external/patches-rockchip/linux/0002-arm64-dts-rockchip-add-DT-entry-for-RNG-to-RK356x.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 37125610d7b79d2618671611641be7078653d24f Mon Sep 17 00:00:00 2001 -From: Aurelien Jarno -Date: Mon, 28 Nov 2022 19:47:18 +0100 -Subject: [PATCH] arm64: dts: rockchip: add DT entry for RNG to RK356x - -Enable the just added Rockchip RNG driver for RK356x SoCs. - -Signed-off-by: Aurelien Jarno ---- - arch/arm64/boot/dts/rockchip/rk356x.dtsi | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi -index abee88911982..70f92adf86ac 100644 ---- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi -+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi -@@ -1806,6 +1806,15 @@ usb2phy1_otg: otg-port { - }; - }; - -+ rng: rng@fe388000 { -+ compatible = "rockchip,rk3568-rng"; -+ reg = <0x0 0xfe388000 0x0 0x4000>; -+ clocks = <&cru CLK_TRNG_NS>, <&cru HCLK_TRNG_NS>; -+ clock-names = "trng_clk", "trng_hclk"; -+ resets = <&cru SRST_TRNG_NS>; -+ reset-names = "reset"; -+ }; -+ - pinctrl: pinctrl { - compatible = "rockchip,rk3568-pinctrl"; - rockchip,grf = <&grf>; diff --git a/buildroot-external/patches-rockchip/linux/0003-dt-bindings-RNG-Add-Rockchip-RNG-bindings.patch b/buildroot-external/patches-rockchip/linux/0003-dt-bindings-RNG-Add-Rockchip-RNG-bindings.patch deleted file mode 100644 index f60ccd42262..00000000000 --- a/buildroot-external/patches-rockchip/linux/0003-dt-bindings-RNG-Add-Rockchip-RNG-bindings.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 544232e6ab8a71abdd770fe18d6280de7cd74281 Mon Sep 17 00:00:00 2001 -From: Aurelien Jarno -Date: Mon, 28 Nov 2022 19:47:16 +0100 -Subject: [PATCH] dt-bindings: RNG: Add Rockchip RNG bindings - -Add the RNG bindings for the RK3568 SoC from Rockchip - -Signed-off-by: Aurelien Jarno ---- - .../bindings/rng/rockchip,rk3568-rng.yaml | 60 +++++++++++++++++++ - 1 file changed, 60 insertions(+) - create mode 100644 Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml - -diff --git a/Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml b/Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml -new file mode 100644 -index 000000000000..c2f5ef69cf07 ---- /dev/null -+++ b/Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml -@@ -0,0 +1,60 @@ -+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -+%YAML 1.2 -+--- -+$id: http://devicetree.org/schemas/rng/rockchip,rk3568-rng.yaml# -+$schema: http://devicetree.org/meta-schemas/core.yaml# -+ -+title: Rockchip TRNG -+ -+description: True Random Number Generator for some Rockchip SoCs -+ -+maintainers: -+ - Aurelien Jarno -+ -+properties: -+ compatible: -+ enum: -+ - rockchip,rk3568-rng -+ -+ reg: -+ maxItems: 1 -+ -+ clocks: -+ items: -+ - description: TRNG clock -+ - description: TRNG AHB clock -+ -+ clock-names: -+ items: -+ - const: trng_clk -+ - const: trng_hclk -+ -+ resets: -+ maxItems: 1 -+ -+required: -+ - compatible -+ - reg -+ - clocks -+ - clock-names -+ - resets -+ -+additionalProperties: false -+ -+examples: -+ - | -+ #include -+ bus { -+ #address-cells = <2>; -+ #size-cells = <2>; -+ -+ rng@fe388000 { -+ compatible = "rockchip,rk3568-rng"; -+ reg = <0x0 0xfe388000 0x0 0x4000>; -+ clocks = <&cru CLK_TRNG_NS>, <&cru HCLK_TRNG_NS>; -+ clock-names = "trng_clk", "trng_hclk"; -+ resets = <&cru SRST_TRNG_NS>; -+ }; -+ }; -+ -+... diff --git a/buildroot-external/patches/linux/6.12.6/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch b/buildroot-external/patches/linux/6.12.11/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch similarity index 88% rename from buildroot-external/patches/linux/6.12.6/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch rename to buildroot-external/patches/linux/6.12.11/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch index 3d7cb7e7dca..651027f9d6b 100644 --- a/buildroot-external/patches/linux/6.12.6/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch +++ b/buildroot-external/patches/linux/6.12.11/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch @@ -1,4 +1,4 @@ -From 76591e4075194cf717dc085b8285912f706bcd46 Mon Sep 17 00:00:00 2001 +From 3a369be3f99ff577e09f8fc02703c7c9e4e74f3d Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Tue, 28 Mar 2023 12:02:10 +0200 Subject: [PATCH] ipv6: add option to explicitly enable reachability test @@ -17,7 +17,7 @@ Signed-off-by: Stefan Agner 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/net/ipv6/Kconfig b/net/ipv6/Kconfig -index 08d4b7132d4c..242bf2eeb7ae 100644 +index 1c9c686d9522f..ee4d9ca9d2e24 100644 --- a/net/ipv6/Kconfig +++ b/net/ipv6/Kconfig @@ -48,6 +48,15 @@ config IPV6_OPTIMISTIC_DAD @@ -37,10 +37,10 @@ index 08d4b7132d4c..242bf2eeb7ae 100644 tristate "IPv6: AH transformation" select XFRM_AH diff --git a/net/ipv6/route.c b/net/ipv6/route.c -index 56525b5b95a2..916769b9a772 100644 +index 8ebfed5d63232..f1a61af0f5199 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c -@@ -2211,7 +2211,8 @@ struct rt6_info *ip6_pol_route(struct net *net, struct fib6_table *table, +@@ -2223,7 +2223,8 @@ struct rt6_info *ip6_pol_route(struct net *net, struct fib6_table *table, strict |= flags & RT6_LOOKUP_F_IFACE; strict |= flags & RT6_LOOKUP_F_IGNORE_LINKSTATE; diff --git a/buildroot-external/patches/linux/6.12.6/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch b/buildroot-external/patches/linux/6.12.11/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch similarity index 92% rename from buildroot-external/patches/linux/6.12.6/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch rename to buildroot-external/patches/linux/6.12.11/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch index 0a9221b3a40..4f41422226c 100644 --- a/buildroot-external/patches/linux/6.12.6/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch +++ b/buildroot-external/patches/linux/6.12.11/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch @@ -1,4 +1,4 @@ -From f9037c133775498d0ff2f035a957ce4f294e4e81 Mon Sep 17 00:00:00 2001 +From 557c96b3f40753fa22ebfe1cb57de360273a92c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Wed, 6 Mar 2024 13:25:41 +0100 Subject: [PATCH] Revert USB core changes causing issues with Z-Wave.me UZB @@ -33,10 +33,10 @@ Signed-off-by: Jan Čermák 4 files changed, 166 insertions(+), 213 deletions(-) diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c -index 12b6dfeaf658c..d895f6ebbc400 100644 +index 0b2490347b9fe..ab0826d90cc13 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c -@@ -958,7 +958,6 @@ static int register_root_hub(struct usb_hcd *hcd) +@@ -956,7 +956,6 @@ static int register_root_hub(struct usb_hcd *hcd) { struct device *parent_dev = hcd->self.controller; struct usb_device *usb_dev = hcd->self.root_hub; @@ -44,7 +44,7 @@ index 12b6dfeaf658c..d895f6ebbc400 100644 const int devnum = 1; int retval; -@@ -970,16 +969,13 @@ static int register_root_hub(struct usb_hcd *hcd) +@@ -968,16 +967,13 @@ static int register_root_hub(struct usb_hcd *hcd) mutex_lock(&usb_bus_idr_lock); usb_dev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); @@ -65,10 +65,10 @@ index 12b6dfeaf658c..d895f6ebbc400 100644 if (le16_to_cpu(usb_dev->descriptor.bcdUSB) >= 0x0201) { retval = usb_get_bos_descriptor(usb_dev); diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 1ba3feb5e1900..ef1d63537a9b7 100644 +index 21ac9b464696f..0962411898b00 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -4742,67 +4742,6 @@ static int hub_enable_device(struct usb_device *udev) +@@ -4776,67 +4776,6 @@ static int hub_enable_device(struct usb_device *udev) return hcd->driver->enable_device(hcd, udev); } @@ -136,7 +136,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 /* Reset device, (re)assign address, get device descriptor. * Device connection must be stable, no more debouncing needed. * Returns device in USB_STATE_ADDRESS, except on error. -@@ -4812,17 +4751,10 @@ static int get_bMaxPacketSize0(struct usb_device *udev, +@@ -4846,17 +4785,10 @@ static int get_bMaxPacketSize0(struct usb_device *udev, * the port lock. For a newly detected device that is not accessible * through any global pointers, it's not necessary to lock the device, * but it is still necessary to lock the port. @@ -155,7 +155,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 { struct usb_device *hdev = hub->hdev; struct usb_hcd *hcd = bus_to_hcd(hdev->bus); -@@ -4834,13 +4766,6 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, +@@ -4868,13 +4800,6 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, int devnum = udev->devnum; const char *driver_name; bool do_new_scheme; @@ -169,7 +169,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 /* root hub ports have a slightly longer reset period * (from USB 2.0 spec, section 7.1.7.5) -@@ -4873,31 +4798,31 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, +@@ -4907,31 +4832,31 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, } oldspeed = udev->speed; @@ -225,7 +225,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 } speed = usb_speed_string(udev->speed); -@@ -4917,24 +4842,22 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, +@@ -4951,24 +4876,22 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, if (udev->speed < USB_SPEED_SUPER) dev_info(&udev->dev, "%s %s USB device number %d using %s\n", @@ -263,7 +263,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 } /* Why interleave GET_DESCRIPTOR and SET_ADDRESS this way? -@@ -4958,6 +4881,9 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, +@@ -4992,6 +4915,9 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, } if (do_new_scheme) { @@ -273,7 +273,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 retval = hub_enable_device(udev); if (retval < 0) { dev_err(&udev->dev, -@@ -4966,14 +4892,52 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, +@@ -5000,14 +4926,52 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, goto fail; } @@ -333,7 +333,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 retval = hub_port_reset(hub, port1, udev, delay, false); if (retval < 0) /* error or disconnect */ -@@ -4984,13 +4948,14 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, +@@ -5018,13 +4982,14 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, retval = -ENODEV; goto fail; } @@ -352,7 +352,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 } for (operations = 0; operations < SET_ADDRESS_TRIES; ++operations) { -@@ -5031,21 +4996,18 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, +@@ -5065,21 +5030,18 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, if (do_new_scheme) break; @@ -379,7 +379,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 delay = udev->parent->hub_delay; udev->hub_delay = min_t(u32, delay, -@@ -5064,62 +5026,48 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, +@@ -5098,62 +5060,48 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, goto fail; /* @@ -472,7 +472,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 goto fail; } -@@ -5145,7 +5093,6 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, +@@ -5179,7 +5127,6 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, hub_port_disable(hub, port1, 0); update_devnum(udev, devnum); /* for disconnect processing */ } @@ -480,7 +480,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 return retval; } -@@ -5226,7 +5173,7 @@ hub_power_remaining(struct usb_hub *hub) +@@ -5260,7 +5207,7 @@ hub_power_remaining(struct usb_hub *hub) static int descriptors_changed(struct usb_device *udev, @@ -489,7 +489,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 struct usb_host_bos *old_bos) { int changed = 0; -@@ -5237,8 +5184,8 @@ static int descriptors_changed(struct usb_device *udev, +@@ -5271,8 +5218,8 @@ static int descriptors_changed(struct usb_device *udev, int length; char *buf; @@ -500,7 +500,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 return 1; if ((old_bos && !udev->bos) || (!old_bos && udev->bos)) -@@ -5415,7 +5362,7 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, +@@ -5449,7 +5396,7 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, } /* reset (non-USB 3.0 devices) and get descriptor */ @@ -509,7 +509,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 if (status < 0) goto loop; -@@ -5562,8 +5509,9 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1, +@@ -5596,8 +5543,9 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1, { struct usb_port *port_dev = hub->ports[port1 - 1]; struct usb_device *udev = port_dev->child; @@ -520,7 +520,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 dev_dbg(&port_dev->dev, "status %04x, change %04x, %s\n", portstatus, portchange, portspeed(hub, portstatus)); -@@ -5590,20 +5538,23 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1, +@@ -5624,20 +5572,23 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1, * changed device descriptors before resuscitating the * device. */ @@ -550,7 +550,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 } #ifdef CONFIG_PM } else if (udev->state == USB_STATE_SUSPENDED && -@@ -6060,7 +6011,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) +@@ -6094,7 +6045,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) struct usb_device *parent_hdev = udev->parent; struct usb_hub *parent_hub; struct usb_hcd *hcd = bus_to_hcd(udev->bus); @@ -559,7 +559,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 struct usb_host_bos *bos; int i, j, ret = 0; int port1 = udev->portnum; -@@ -6096,7 +6047,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) +@@ -6130,7 +6081,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) /* ep0 maxpacket size may change; let the HCD know about it. * Other endpoints will be handled by re-enumeration. */ usb_ep0_reinit(udev); @@ -568,7 +568,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 if (ret >= 0 || ret == -ENOTCONN || ret == -ENODEV) break; } -@@ -6108,6 +6059,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) +@@ -6142,6 +6093,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) /* Device might have changed firmware (DFU or similar) */ if (descriptors_changed(udev, &descriptor, bos)) { dev_info(&udev->dev, "device firmware changed\n"); @@ -577,7 +577,7 @@ index 1ba3feb5e1900..ef1d63537a9b7 100644 } diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c -index 077dfe48d01c1..0d2bfc909019b 100644 +index d2b2787be4092..8bc0168e3af56 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -1041,35 +1041,40 @@ char *usb_cache_string(struct usb_device *udev, int index) @@ -634,7 +634,7 @@ index 077dfe48d01c1..0d2bfc909019b 100644 /* diff --git a/drivers/usb/core/usb.h b/drivers/usb/core/usb.h -index 60363153fc3f3..69ca59841083b 100644 +index b8324ea05b20f..82fcef57ce3a9 100644 --- a/drivers/usb/core/usb.h +++ b/drivers/usb/core/usb.h @@ -43,8 +43,8 @@ extern bool usb_endpoint_is_ignored(struct usb_device *udev, diff --git a/buildroot-external/patches/linux/6.6.73/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch b/buildroot-external/patches/linux/6.6.73/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch deleted file mode 100644 index 2e82302b3b8..00000000000 --- a/buildroot-external/patches/linux/6.6.73/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 76591e4075194cf717dc085b8285912f706bcd46 Mon Sep 17 00:00:00 2001 -From: Stefan Agner -Date: Tue, 28 Mar 2023 12:02:10 +0200 -Subject: [PATCH] ipv6: add option to explicitly enable reachability test - -Systems which act as host as well as router might prefer the host -behavior. Currently the kernel does not allow to use IPv6 forwarding -globally and at the same time use route reachability probing. - -Add a compile time flag to enable route reachability probe in any -case. - -Signed-off-by: Stefan Agner ---- - net/ipv6/Kconfig | 9 +++++++++ - net/ipv6/route.c | 3 ++- - 2 files changed, 11 insertions(+), 1 deletion(-) - -diff --git a/net/ipv6/Kconfig b/net/ipv6/Kconfig -index 08d4b7132d4c..242bf2eeb7ae 100644 ---- a/net/ipv6/Kconfig -+++ b/net/ipv6/Kconfig -@@ -48,6 +48,15 @@ config IPV6_OPTIMISTIC_DAD - - If unsure, say N. - -+config IPV6_REACHABILITY_PROBE -+ bool "IPv6: Always use reachability probing (RFC 4191)" -+ help -+ By default reachability probing is disabled on router devices (when -+ IPv6 forwarding is enabled). This option explicitly enables -+ reachability probing always. -+ -+ If unsure, say N. -+ - config INET6_AH - tristate "IPv6: AH transformation" - select XFRM_AH -diff --git a/net/ipv6/route.c b/net/ipv6/route.c -index 56525b5b95a2..916769b9a772 100644 ---- a/net/ipv6/route.c -+++ b/net/ipv6/route.c -@@ -2211,7 +2211,8 @@ struct rt6_info *ip6_pol_route(struct net *net, struct fib6_table *table, - - strict |= flags & RT6_LOOKUP_F_IFACE; - strict |= flags & RT6_LOOKUP_F_IGNORE_LINKSTATE; -- if (net->ipv6.devconf_all->forwarding == 0) -+ if (net->ipv6.devconf_all->forwarding == 0 || -+ IS_ENABLED(CONFIG_IPV6_REACHABILITY_PROBE)) - strict |= RT6_LOOKUP_F_REACHABLE; - - rcu_read_lock(); diff --git a/buildroot-external/patches/linux/6.6.73/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch b/buildroot-external/patches/linux/6.6.73/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch deleted file mode 100644 index 0a9221b3a40..00000000000 --- a/buildroot-external/patches/linux/6.6.73/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch +++ /dev/null @@ -1,650 +0,0 @@ -From f9037c133775498d0ff2f035a957ce4f294e4e81 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= -Date: Wed, 6 Mar 2024 13:25:41 +0100 -Subject: [PATCH] Revert USB core changes causing issues with Z-Wave.me UZB - stick -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Workaround for issues described on GH [1] and reported in [2]. - -* Revert "USB: core: Fix oversight in SuperSpeed initialization" - This reverts commit 59cf445754566984fd55af19ba7146c76e6627bc. - -* Revert "USB: core: Fix race by not overwriting udev->descriptor in hub_port_init()" - This reverts commit ff33299ec8bb80cdcc073ad9c506bd79bb2ed20b. - -* Revert "USB: core: Change usb_get_device_descriptor() API" - This reverts commit de28e469da75359a2bb8cd8778b78aa64b1be1f4. - -* Revert "USB: core: Unite old scheme and new scheme descriptor reads" - This reverts commit 85d07c55621676d47d873d2749b88f783cd4d5a1. - -[1] https://github.com/home-assistant/operating-system/issues/2995 -[2] https://lore.kernel.org/linux-usb/1e954652-dfb3-4248-beea-b8a449128ff0@sairon.cz/ - -Signed-off-by: Jan Čermák ---- - drivers/usb/core/hcd.c | 10 +- - drivers/usb/core/hub.c | 336 ++++++++++++++++--------------------- - drivers/usb/core/message.c | 29 ++-- - drivers/usb/core/usb.h | 4 +- - 4 files changed, 166 insertions(+), 213 deletions(-) - -diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c -index 12b6dfeaf658c..d895f6ebbc400 100644 ---- a/drivers/usb/core/hcd.c -+++ b/drivers/usb/core/hcd.c -@@ -958,7 +958,6 @@ static int register_root_hub(struct usb_hcd *hcd) - { - struct device *parent_dev = hcd->self.controller; - struct usb_device *usb_dev = hcd->self.root_hub; -- struct usb_device_descriptor *descr; - const int devnum = 1; - int retval; - -@@ -970,16 +969,13 @@ static int register_root_hub(struct usb_hcd *hcd) - mutex_lock(&usb_bus_idr_lock); - - usb_dev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); -- descr = usb_get_device_descriptor(usb_dev); -- if (IS_ERR(descr)) { -- retval = PTR_ERR(descr); -+ retval = usb_get_device_descriptor(usb_dev, USB_DT_DEVICE_SIZE); -+ if (retval != sizeof usb_dev->descriptor) { - mutex_unlock(&usb_bus_idr_lock); - dev_dbg (parent_dev, "can't read %s device descriptor %d\n", - dev_name(&usb_dev->dev), retval); -- return retval; -+ return (retval < 0) ? retval : -EMSGSIZE; - } -- usb_dev->descriptor = *descr; -- kfree(descr); - - if (le16_to_cpu(usb_dev->descriptor.bcdUSB) >= 0x0201) { - retval = usb_get_bos_descriptor(usb_dev); -diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 1ba3feb5e1900..ef1d63537a9b7 100644 ---- a/drivers/usb/core/hub.c -+++ b/drivers/usb/core/hub.c -@@ -4742,67 +4742,6 @@ static int hub_enable_device(struct usb_device *udev) - return hcd->driver->enable_device(hcd, udev); - } - --/* -- * Get the bMaxPacketSize0 value during initialization by reading the -- * device's device descriptor. Since we don't already know this value, -- * the transfer is unsafe and it ignores I/O errors, only testing for -- * reasonable received values. -- * -- * For "old scheme" initialization, size will be 8 so we read just the -- * start of the device descriptor, which should work okay regardless of -- * the actual bMaxPacketSize0 value. For "new scheme" initialization, -- * size will be 64 (and buf will point to a sufficiently large buffer), -- * which might not be kosher according to the USB spec but it's what -- * Windows does and what many devices expect. -- * -- * Returns: bMaxPacketSize0 or a negative error code. -- */ --static int get_bMaxPacketSize0(struct usb_device *udev, -- struct usb_device_descriptor *buf, int size, bool first_time) --{ -- int i, rc; -- -- /* -- * Retry on all errors; some devices are flakey. -- * 255 is for WUSB devices, we actually need to use -- * 512 (WUSB1.0[4.8.1]). -- */ -- for (i = 0; i < GET_MAXPACKET0_TRIES; ++i) { -- /* Start with invalid values in case the transfer fails */ -- buf->bDescriptorType = buf->bMaxPacketSize0 = 0; -- rc = usb_control_msg(udev, usb_rcvaddr0pipe(), -- USB_REQ_GET_DESCRIPTOR, USB_DIR_IN, -- USB_DT_DEVICE << 8, 0, -- buf, size, -- initial_descriptor_timeout); -- switch (buf->bMaxPacketSize0) { -- case 8: case 16: case 32: case 64: case 9: -- if (buf->bDescriptorType == USB_DT_DEVICE) { -- rc = buf->bMaxPacketSize0; -- break; -- } -- fallthrough; -- default: -- if (rc >= 0) -- rc = -EPROTO; -- break; -- } -- -- /* -- * Some devices time out if they are powered on -- * when already connected. They need a second -- * reset, so return early. But only on the first -- * attempt, lest we get into a time-out/reset loop. -- */ -- if (rc > 0 || (rc == -ETIMEDOUT && first_time && -- udev->speed > USB_SPEED_FULL)) -- break; -- } -- return rc; --} -- --#define GET_DESCRIPTOR_BUFSIZE 64 -- - /* Reset device, (re)assign address, get device descriptor. - * Device connection must be stable, no more debouncing needed. - * Returns device in USB_STATE_ADDRESS, except on error. -@@ -4812,17 +4751,10 @@ static int get_bMaxPacketSize0(struct usb_device *udev, - * the port lock. For a newly detected device that is not accessible - * through any global pointers, it's not necessary to lock the device, - * but it is still necessary to lock the port. -- * -- * For a newly detected device, @dev_descr must be NULL. The device -- * descriptor retrieved from the device will then be stored in -- * @udev->descriptor. For an already existing device, @dev_descr -- * must be non-NULL. The device descriptor will be stored there, -- * not in @udev->descriptor, because descriptors for registered -- * devices are meant to be immutable. - */ - static int - hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, -- int retry_counter, struct usb_device_descriptor *dev_descr) -+ int retry_counter) - { - struct usb_device *hdev = hub->hdev; - struct usb_hcd *hcd = bus_to_hcd(hdev->bus); -@@ -4834,13 +4766,6 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - int devnum = udev->devnum; - const char *driver_name; - bool do_new_scheme; -- const bool initial = !dev_descr; -- int maxp0; -- struct usb_device_descriptor *buf, *descr; -- -- buf = kmalloc(GET_DESCRIPTOR_BUFSIZE, GFP_NOIO); -- if (!buf) -- return -ENOMEM; - - /* root hub ports have a slightly longer reset period - * (from USB 2.0 spec, section 7.1.7.5) -@@ -4873,31 +4798,31 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - } - oldspeed = udev->speed; - -- if (initial) { -- /* USB 2.0 section 5.5.3 talks about ep0 maxpacket ... -- * it's fixed size except for full speed devices. -+ /* USB 2.0 section 5.5.3 talks about ep0 maxpacket ... -+ * it's fixed size except for full speed devices. -+ * For Wireless USB devices, ep0 max packet is always 512 (tho -+ * reported as 0xff in the device descriptor). WUSB1.0[4.8.1]. -+ */ -+ switch (udev->speed) { -+ case USB_SPEED_SUPER_PLUS: -+ case USB_SPEED_SUPER: -+ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(512); -+ break; -+ case USB_SPEED_HIGH: /* fixed at 64 */ -+ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); -+ break; -+ case USB_SPEED_FULL: /* 8, 16, 32, or 64 */ -+ /* to determine the ep0 maxpacket size, try to read -+ * the device descriptor to get bMaxPacketSize0 and -+ * then correct our initial guess. - */ -- switch (udev->speed) { -- case USB_SPEED_SUPER_PLUS: -- case USB_SPEED_SUPER: -- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(512); -- break; -- case USB_SPEED_HIGH: /* fixed at 64 */ -- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); -- break; -- case USB_SPEED_FULL: /* 8, 16, 32, or 64 */ -- /* to determine the ep0 maxpacket size, try to read -- * the device descriptor to get bMaxPacketSize0 and -- * then correct our initial guess. -- */ -- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); -- break; -- case USB_SPEED_LOW: /* fixed at 8 */ -- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(8); -- break; -- default: -- goto fail; -- } -+ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); -+ break; -+ case USB_SPEED_LOW: /* fixed at 8 */ -+ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(8); -+ break; -+ default: -+ goto fail; - } - - speed = usb_speed_string(udev->speed); -@@ -4917,24 +4842,22 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - if (udev->speed < USB_SPEED_SUPER) - dev_info(&udev->dev, - "%s %s USB device number %d using %s\n", -- (initial ? "new" : "reset"), speed, -+ (udev->config) ? "reset" : "new", speed, - devnum, driver_name); - -- if (initial) { -- /* Set up TT records, if needed */ -- if (hdev->tt) { -- udev->tt = hdev->tt; -- udev->ttport = hdev->ttport; -- } else if (udev->speed != USB_SPEED_HIGH -- && hdev->speed == USB_SPEED_HIGH) { -- if (!hub->tt.hub) { -- dev_err(&udev->dev, "parent hub has no TT\n"); -- retval = -EINVAL; -- goto fail; -- } -- udev->tt = &hub->tt; -- udev->ttport = port1; -+ /* Set up TT records, if needed */ -+ if (hdev->tt) { -+ udev->tt = hdev->tt; -+ udev->ttport = hdev->ttport; -+ } else if (udev->speed != USB_SPEED_HIGH -+ && hdev->speed == USB_SPEED_HIGH) { -+ if (!hub->tt.hub) { -+ dev_err(&udev->dev, "parent hub has no TT\n"); -+ retval = -EINVAL; -+ goto fail; - } -+ udev->tt = &hub->tt; -+ udev->ttport = port1; - } - - /* Why interleave GET_DESCRIPTOR and SET_ADDRESS this way? -@@ -4958,6 +4881,9 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - } - - if (do_new_scheme) { -+ struct usb_device_descriptor *buf; -+ int r = 0; -+ - retval = hub_enable_device(udev); - if (retval < 0) { - dev_err(&udev->dev, -@@ -4966,14 +4892,52 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - goto fail; - } - -- maxp0 = get_bMaxPacketSize0(udev, buf, -- GET_DESCRIPTOR_BUFSIZE, retries == 0); -- if (maxp0 > 0 && !initial && -- maxp0 != udev->descriptor.bMaxPacketSize0) { -- dev_err(&udev->dev, "device reset changed ep0 maxpacket size!\n"); -- retval = -ENODEV; -- goto fail; -+#define GET_DESCRIPTOR_BUFSIZE 64 -+ buf = kmalloc(GET_DESCRIPTOR_BUFSIZE, GFP_NOIO); -+ if (!buf) { -+ retval = -ENOMEM; -+ continue; -+ } -+ -+ /* Retry on all errors; some devices are flakey. -+ * 255 is for WUSB devices, we actually need to use -+ * 512 (WUSB1.0[4.8.1]). -+ */ -+ for (operations = 0; operations < GET_MAXPACKET0_TRIES; -+ ++operations) { -+ buf->bMaxPacketSize0 = 0; -+ r = usb_control_msg(udev, usb_rcvaddr0pipe(), -+ USB_REQ_GET_DESCRIPTOR, USB_DIR_IN, -+ USB_DT_DEVICE << 8, 0, -+ buf, GET_DESCRIPTOR_BUFSIZE, -+ initial_descriptor_timeout); -+ switch (buf->bMaxPacketSize0) { -+ case 8: case 16: case 32: case 64: case 255: -+ if (buf->bDescriptorType == -+ USB_DT_DEVICE) { -+ r = 0; -+ break; -+ } -+ fallthrough; -+ default: -+ if (r == 0) -+ r = -EPROTO; -+ break; -+ } -+ /* -+ * Some devices time out if they are powered on -+ * when already connected. They need a second -+ * reset. But only on the first attempt, -+ * lest we get into a time out/reset loop -+ */ -+ if (r == 0 || (r == -ETIMEDOUT && -+ retries == 0 && -+ udev->speed > USB_SPEED_FULL)) -+ break; - } -+ udev->descriptor.bMaxPacketSize0 = -+ buf->bMaxPacketSize0; -+ kfree(buf); - - retval = hub_port_reset(hub, port1, udev, delay, false); - if (retval < 0) /* error or disconnect */ -@@ -4984,13 +4948,14 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - retval = -ENODEV; - goto fail; - } -- if (maxp0 < 0) { -- if (maxp0 != -ENODEV) -+ if (r) { -+ if (r != -ENODEV) - dev_err(&udev->dev, "device descriptor read/64, error %d\n", -- maxp0); -- retval = maxp0; -+ r); -+ retval = -EMSGSIZE; - continue; - } -+#undef GET_DESCRIPTOR_BUFSIZE - } - - for (operations = 0; operations < SET_ADDRESS_TRIES; ++operations) { -@@ -5031,21 +4996,18 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - if (do_new_scheme) - break; - -- maxp0 = get_bMaxPacketSize0(udev, buf, 8, retries == 0); -- if (maxp0 < 0) { -- retval = maxp0; -+ retval = usb_get_device_descriptor(udev, 8); -+ if (retval < 8) { - if (retval != -ENODEV) - dev_err(&udev->dev, - "device descriptor read/8, error %d\n", - retval); -+ if (retval >= 0) -+ retval = -EMSGSIZE; - } else { - u32 delay; - -- if (!initial && maxp0 != udev->descriptor.bMaxPacketSize0) { -- dev_err(&udev->dev, "device reset changed ep0 maxpacket size!\n"); -- retval = -ENODEV; -- goto fail; -- } -+ retval = 0; - - delay = udev->parent->hub_delay; - udev->hub_delay = min_t(u32, delay, -@@ -5064,62 +5026,48 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - goto fail; - - /* -- * Check the ep0 maxpacket guess and correct it if necessary. -- * maxp0 is the value stored in the device descriptor; -- * i is the value it encodes (logarithmic for SuperSpeed or greater). -+ * Some superspeed devices have finished the link training process -+ * and attached to a superspeed hub port, but the device descriptor -+ * got from those devices show they aren't superspeed devices. Warm -+ * reset the port attached by the devices can fix them. - */ -- i = maxp0; -- if (udev->speed >= USB_SPEED_SUPER) { -- if (maxp0 <= 16) -- i = 1 << maxp0; -- else -- i = 0; /* Invalid */ -- } -- if (usb_endpoint_maxp(&udev->ep0.desc) == i) { -- ; /* Initial ep0 maxpacket guess is right */ -- } else if (((udev->speed == USB_SPEED_FULL || -- udev->speed == USB_SPEED_HIGH) && -- (i == 8 || i == 16 || i == 32 || i == 64)) || -- (udev->speed >= USB_SPEED_SUPER && i > 0)) { -- /* Initial guess is wrong; use the descriptor's value */ -+ if ((udev->speed >= USB_SPEED_SUPER) && -+ (le16_to_cpu(udev->descriptor.bcdUSB) < 0x0300)) { -+ dev_err(&udev->dev, "got a wrong device descriptor, " -+ "warm reset device\n"); -+ hub_port_reset(hub, port1, udev, -+ HUB_BH_RESET_TIME, true); -+ retval = -EINVAL; -+ goto fail; -+ } -+ -+ if (udev->descriptor.bMaxPacketSize0 == 0xff || -+ udev->speed >= USB_SPEED_SUPER) -+ i = 512; -+ else -+ i = udev->descriptor.bMaxPacketSize0; -+ if (usb_endpoint_maxp(&udev->ep0.desc) != i) { -+ if (udev->speed == USB_SPEED_LOW || -+ !(i == 8 || i == 16 || i == 32 || i == 64)) { -+ dev_err(&udev->dev, "Invalid ep0 maxpacket: %d\n", i); -+ retval = -EMSGSIZE; -+ goto fail; -+ } - if (udev->speed == USB_SPEED_FULL) - dev_dbg(&udev->dev, "ep0 maxpacket = %d\n", i); - else - dev_warn(&udev->dev, "Using ep0 maxpacket: %d\n", i); - udev->ep0.desc.wMaxPacketSize = cpu_to_le16(i); - usb_ep0_reinit(udev); -- } else { -- /* Initial guess is wrong and descriptor's value is invalid */ -- dev_err(&udev->dev, "Invalid ep0 maxpacket: %d\n", maxp0); -- retval = -EMSGSIZE; -- goto fail; - } - -- descr = usb_get_device_descriptor(udev); -- if (IS_ERR(descr)) { -- retval = PTR_ERR(descr); -+ retval = usb_get_device_descriptor(udev, USB_DT_DEVICE_SIZE); -+ if (retval < (signed)sizeof(udev->descriptor)) { - if (retval != -ENODEV) - dev_err(&udev->dev, "device descriptor read/all, error %d\n", - retval); -- goto fail; -- } -- if (initial) -- udev->descriptor = *descr; -- else -- *dev_descr = *descr; -- kfree(descr); -- -- /* -- * Some superspeed devices have finished the link training process -- * and attached to a superspeed hub port, but the device descriptor -- * got from those devices show they aren't superspeed devices. Warm -- * reset the port attached by the devices can fix them. -- */ -- if ((udev->speed >= USB_SPEED_SUPER) && -- (le16_to_cpu(udev->descriptor.bcdUSB) < 0x0300)) { -- dev_err(&udev->dev, "got a wrong device descriptor, warm reset device\n"); -- hub_port_reset(hub, port1, udev, HUB_BH_RESET_TIME, true); -- retval = -EINVAL; -+ if (retval >= 0) -+ retval = -ENOMSG; - goto fail; - } - -@@ -5145,7 +5093,6 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - hub_port_disable(hub, port1, 0); - update_devnum(udev, devnum); /* for disconnect processing */ - } -- kfree(buf); - return retval; - } - -@@ -5226,7 +5173,7 @@ hub_power_remaining(struct usb_hub *hub) - - - static int descriptors_changed(struct usb_device *udev, -- struct usb_device_descriptor *new_device_descriptor, -+ struct usb_device_descriptor *old_device_descriptor, - struct usb_host_bos *old_bos) - { - int changed = 0; -@@ -5237,8 +5184,8 @@ static int descriptors_changed(struct usb_device *udev, - int length; - char *buf; - -- if (memcmp(&udev->descriptor, new_device_descriptor, -- sizeof(*new_device_descriptor)) != 0) -+ if (memcmp(&udev->descriptor, old_device_descriptor, -+ sizeof(*old_device_descriptor)) != 0) - return 1; - - if ((old_bos && !udev->bos) || (!old_bos && udev->bos)) -@@ -5415,7 +5362,7 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, - } - - /* reset (non-USB 3.0 devices) and get descriptor */ -- status = hub_port_init(hub, udev, port1, i, NULL); -+ status = hub_port_init(hub, udev, port1, i); - if (status < 0) - goto loop; - -@@ -5562,8 +5509,9 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1, - { - struct usb_port *port_dev = hub->ports[port1 - 1]; - struct usb_device *udev = port_dev->child; -- struct usb_device_descriptor *descr; -+ struct usb_device_descriptor descriptor; - int status = -ENODEV; -+ int retval; - - dev_dbg(&port_dev->dev, "status %04x, change %04x, %s\n", portstatus, - portchange, portspeed(hub, portstatus)); -@@ -5590,20 +5538,23 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1, - * changed device descriptors before resuscitating the - * device. - */ -- descr = usb_get_device_descriptor(udev); -- if (IS_ERR(descr)) { -+ descriptor = udev->descriptor; -+ retval = usb_get_device_descriptor(udev, -+ sizeof(udev->descriptor)); -+ if (retval < 0) { - dev_dbg(&udev->dev, -- "can't read device descriptor %ld\n", -- PTR_ERR(descr)); -+ "can't read device descriptor %d\n", -+ retval); - } else { -- if (descriptors_changed(udev, descr, -+ if (descriptors_changed(udev, &descriptor, - udev->bos)) { - dev_dbg(&udev->dev, - "device descriptor has changed\n"); -+ /* for disconnect() calls */ -+ udev->descriptor = descriptor; - } else { - status = 0; /* Nothing to do */ - } -- kfree(descr); - } - #ifdef CONFIG_PM - } else if (udev->state == USB_STATE_SUSPENDED && -@@ -6060,7 +6011,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) - struct usb_device *parent_hdev = udev->parent; - struct usb_hub *parent_hub; - struct usb_hcd *hcd = bus_to_hcd(udev->bus); -- struct usb_device_descriptor descriptor; -+ struct usb_device_descriptor descriptor = udev->descriptor; - struct usb_host_bos *bos; - int i, j, ret = 0; - int port1 = udev->portnum; -@@ -6096,7 +6047,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) - /* ep0 maxpacket size may change; let the HCD know about it. - * Other endpoints will be handled by re-enumeration. */ - usb_ep0_reinit(udev); -- ret = hub_port_init(parent_hub, udev, port1, i, &descriptor); -+ ret = hub_port_init(parent_hub, udev, port1, i); - if (ret >= 0 || ret == -ENOTCONN || ret == -ENODEV) - break; - } -@@ -6108,6 +6059,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) - /* Device might have changed firmware (DFU or similar) */ - if (descriptors_changed(udev, &descriptor, bos)) { - dev_info(&udev->dev, "device firmware changed\n"); -+ udev->descriptor = descriptor; /* for disconnect() calls */ - goto re_enumerate; - } - -diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c -index 077dfe48d01c1..0d2bfc909019b 100644 ---- a/drivers/usb/core/message.c -+++ b/drivers/usb/core/message.c -@@ -1041,35 +1041,40 @@ char *usb_cache_string(struct usb_device *udev, int index) - EXPORT_SYMBOL_GPL(usb_cache_string); - - /* -- * usb_get_device_descriptor - read the device descriptor -- * @udev: the device whose device descriptor should be read -+ * usb_get_device_descriptor - (re)reads the device descriptor (usbcore) -+ * @dev: the device whose device descriptor is being updated -+ * @size: how much of the descriptor to read - * - * Context: task context, might sleep. - * -+ * Updates the copy of the device descriptor stored in the device structure, -+ * which dedicates space for this purpose. -+ * - * Not exported, only for use by the core. If drivers really want to read - * the device descriptor directly, they can call usb_get_descriptor() with - * type = USB_DT_DEVICE and index = 0. - * -- * Returns: a pointer to a dynamically allocated usb_device_descriptor -- * structure (which the caller must deallocate), or an ERR_PTR value. -+ * This call is synchronous, and may not be used in an interrupt context. -+ * -+ * Return: The number of bytes received on success, or else the status code -+ * returned by the underlying usb_control_msg() call. - */ --struct usb_device_descriptor *usb_get_device_descriptor(struct usb_device *udev) -+int usb_get_device_descriptor(struct usb_device *dev, unsigned int size) - { - struct usb_device_descriptor *desc; - int ret; - -+ if (size > sizeof(*desc)) -+ return -EINVAL; - desc = kmalloc(sizeof(*desc), GFP_NOIO); - if (!desc) -- return ERR_PTR(-ENOMEM); -- -- ret = usb_get_descriptor(udev, USB_DT_DEVICE, 0, desc, sizeof(*desc)); -- if (ret == sizeof(*desc)) -- return desc; -+ return -ENOMEM; - -+ ret = usb_get_descriptor(dev, USB_DT_DEVICE, 0, desc, size); - if (ret >= 0) -- ret = -EMSGSIZE; -+ memcpy(&dev->descriptor, desc, size); - kfree(desc); -- return ERR_PTR(ret); -+ return ret; - } - - /* -diff --git a/drivers/usb/core/usb.h b/drivers/usb/core/usb.h -index 60363153fc3f3..69ca59841083b 100644 ---- a/drivers/usb/core/usb.h -+++ b/drivers/usb/core/usb.h -@@ -43,8 +43,8 @@ extern bool usb_endpoint_is_ignored(struct usb_device *udev, - struct usb_endpoint_descriptor *epd); - extern int usb_remove_device(struct usb_device *udev); - --extern struct usb_device_descriptor *usb_get_device_descriptor( -- struct usb_device *udev); -+extern int usb_get_device_descriptor(struct usb_device *dev, -+ unsigned int size); - extern int usb_set_isoch_delay(struct usb_device *dev); - extern int usb_get_bos_descriptor(struct usb_device *dev); - extern void usb_release_bos_descriptor(struct usb_device *dev); From c63f9ec84aa27cc8ce2dc745cb86e69afa308668 Mon Sep 17 00:00:00 2001 From: Ricardo Pardini Date: Mon, 3 Feb 2025 14:46:01 +0100 Subject: [PATCH 22/55] Allow boot from USB and NVMe on ODROID-M1 (#3852) Use devtype instead of hardcoding device type to mmc in U-Boot script Signed-off-by: Ricardo Pardini --- .../board/hardkernel/odroid-m1/uboot-boot.ush | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/buildroot-external/board/hardkernel/odroid-m1/uboot-boot.ush b/buildroot-external/board/hardkernel/odroid-m1/uboot-boot.ush index 4578b024a26..f6fcf850a24 100644 --- a/buildroot-external/board/hardkernel/odroid-m1/uboot-boot.ush +++ b/buildroot-external/board/hardkernel/odroid-m1/uboot-boot.ush @@ -1,15 +1,15 @@ -part start mmc ${devnum} hassos-bootstate mmc_env -mmc dev ${devnum} +part start ${devtype} ${devnum} hassos-bootstate mmc_env +${devtype} dev ${devnum} setenv loadbootstate " \ echo 'loading env...'; \ - mmc read ${ramdisk_addr_r} ${mmc_env} 0x40; \ + ${devtype} read ${ramdisk_addr_r} ${mmc_env} 0x40; \ env import -c ${ramdisk_addr_r} 0x8000;" setenv storebootstate " \ echo 'storing env...'; \ env export -c -s 0x8000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT MACHINE_ID; \ - mmc write ${ramdisk_addr_r} ${mmc_env} 0x40;" + ${devtype} write ${ramdisk_addr_r} ${mmc_env} 0x40;" run loadbootstate test -n "${BOOT_ORDER}" || setenv BOOT_ORDER "A B" @@ -26,34 +26,34 @@ setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 systemd.machine_id=${M setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd ro rootwait" setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 ro rootwait" -part number mmc ${devnum} hassos-boot boot_partnum +part number ${devtype} ${devnum} hassos-boot boot_partnum # Load environment from haos-config.txt -if test -e mmc ${devnum}:${boot_partnum} haos-config.txt; then - fatload mmc ${devnum}:${boot_partnum} ${ramdisk_addr_r} haos-config.txt +if test -e ${devtype} ${devnum}:${boot_partnum} haos-config.txt; then + fatload ${devtype} ${devnum}:${boot_partnum} ${ramdisk_addr_r} haos-config.txt env import -t ${ramdisk_addr_r} ${filesize} fi # Load extraargs -fileenv mmc ${devnum}:${boot_partnum} ${ramdisk_addr_r} cmdline.txt cmdline +fileenv ${devtype} ${devnum}:${boot_partnum} ${ramdisk_addr_r} cmdline.txt cmdline # Load device tree setenv fdtfile rk3568-odroid-m1.dtb echo "Loading standard device tree ${fdtfile}" -fatload mmc ${devnum}:${boot_partnum} ${fdt_addr_r} ${fdtfile} +fatload ${devtype} ${devnum}:${boot_partnum} ${fdt_addr_r} ${fdtfile} fdt addr ${fdt_addr_r} # load dt overlays fdt resize 65536 for overlay_file in ${overlays}; do - if fatload mmc ${devnum}:${boot_partnum} ${ramdisk_addr_r} overlays/${overlay_file}.dtbo; then + if fatload ${devtype} ${devnum}:${boot_partnum} ${ramdisk_addr_r} overlays/${overlay_file}.dtbo; then echo "Applying kernel provided DT overlay ${overlay_file}.dtbo" fdt apply ${ramdisk_addr_r} || setenv overlay_error "true" fi done if test "${overlay_error}" = "true"; then echo "Error applying DT overlays, restoring original DT" - fatload mmc ${devnum}:${boot_partnum} ${fdt_addr_r} ${fdtfile} + fatload ${devtype} ${devnum}:${boot_partnum} ${fdt_addr_r} ${fdtfile} fi setenv bootargs @@ -64,8 +64,8 @@ for BOOT_SLOT in "${BOOT_ORDER}"; do if test ${BOOT_A_LEFT} -gt 0; then setexpr BOOT_A_LEFT ${BOOT_A_LEFT} - 1 echo "Trying to boot slot A, ${BOOT_A_LEFT} attempts remaining. Loading kernel ..." - part number mmc ${devnum} hassos-kernel0 kernel_partnum - if load mmc ${devnum}:${kernel_partnum} ${kernel_addr_r} Image; then + part number ${devtype} ${devnum} hassos-kernel0 kernel_partnum + if load ${devtype} ${devnum}:${kernel_partnum} ${kernel_addr_r} Image; then setenv bootargs "${bootargs_hassos} ${bootargs_a} rauc.slot=A ${cmdline}" fi fi @@ -73,8 +73,8 @@ for BOOT_SLOT in "${BOOT_ORDER}"; do if test ${BOOT_B_LEFT} -gt 0; then setexpr BOOT_B_LEFT ${BOOT_B_LEFT} - 1 echo "Trying to boot slot B, ${BOOT_B_LEFT} attempts remaining. Loading kernel ..." - part number mmc ${devnum} hassos-kernel1 kernel_partnum - if load mmc ${devnum}:${kernel_partnum} ${kernel_addr_r} Image; then + part number ${devtype} ${devnum} hassos-kernel1 kernel_partnum + if load ${devtype} ${devnum}:${kernel_partnum} ${kernel_addr_r} Image; then setenv bootargs "${bootargs_hassos} ${bootargs_b} rauc.slot=B ${cmdline}" fi fi From b5b2f5da076dc713c997141792b2fbcef2552294 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 4 Feb 2025 11:42:59 +0100 Subject: [PATCH 23/55] Remove USB stack patches working around obsoleted Z-Wave devices issues (#3854) * Remove USB stack patches working around obsoleted Z-Wave devices issues In #3224 we've introduced a patch reverting some changes in the USB stack that was supposed to work around issues with some USB devices. Later discussions revealed these devices are obsoleted by the manufacturer and there is no official way of fixing those in newer Linux kernels. However, carrying the patches makes us diverge from upstream and can eventually trigger other problems not present upstream we'll have to handle. Drop these patches now to be part of the upcoming OS 15 release, rather than needing to drop them later in any of the patch revisions later. * Also remove the patch from board/raspberrypi patches --- ...changes-causing-issues-with-Z-Wave.m.patch | 650 ------------------ ...changes-causing-issues-with-Z-Wave.m.patch | 650 ------------------ 2 files changed, 1300 deletions(-) delete mode 100644 buildroot-external/board/raspberrypi/patches/linux/0005-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch delete mode 100644 buildroot-external/patches/linux/6.12.11/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch diff --git a/buildroot-external/board/raspberrypi/patches/linux/0005-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch b/buildroot-external/board/raspberrypi/patches/linux/0005-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch deleted file mode 100644 index 0a9221b3a40..00000000000 --- a/buildroot-external/board/raspberrypi/patches/linux/0005-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch +++ /dev/null @@ -1,650 +0,0 @@ -From f9037c133775498d0ff2f035a957ce4f294e4e81 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= -Date: Wed, 6 Mar 2024 13:25:41 +0100 -Subject: [PATCH] Revert USB core changes causing issues with Z-Wave.me UZB - stick -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Workaround for issues described on GH [1] and reported in [2]. - -* Revert "USB: core: Fix oversight in SuperSpeed initialization" - This reverts commit 59cf445754566984fd55af19ba7146c76e6627bc. - -* Revert "USB: core: Fix race by not overwriting udev->descriptor in hub_port_init()" - This reverts commit ff33299ec8bb80cdcc073ad9c506bd79bb2ed20b. - -* Revert "USB: core: Change usb_get_device_descriptor() API" - This reverts commit de28e469da75359a2bb8cd8778b78aa64b1be1f4. - -* Revert "USB: core: Unite old scheme and new scheme descriptor reads" - This reverts commit 85d07c55621676d47d873d2749b88f783cd4d5a1. - -[1] https://github.com/home-assistant/operating-system/issues/2995 -[2] https://lore.kernel.org/linux-usb/1e954652-dfb3-4248-beea-b8a449128ff0@sairon.cz/ - -Signed-off-by: Jan Čermák ---- - drivers/usb/core/hcd.c | 10 +- - drivers/usb/core/hub.c | 336 ++++++++++++++++--------------------- - drivers/usb/core/message.c | 29 ++-- - drivers/usb/core/usb.h | 4 +- - 4 files changed, 166 insertions(+), 213 deletions(-) - -diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c -index 12b6dfeaf658c..d895f6ebbc400 100644 ---- a/drivers/usb/core/hcd.c -+++ b/drivers/usb/core/hcd.c -@@ -958,7 +958,6 @@ static int register_root_hub(struct usb_hcd *hcd) - { - struct device *parent_dev = hcd->self.controller; - struct usb_device *usb_dev = hcd->self.root_hub; -- struct usb_device_descriptor *descr; - const int devnum = 1; - int retval; - -@@ -970,16 +969,13 @@ static int register_root_hub(struct usb_hcd *hcd) - mutex_lock(&usb_bus_idr_lock); - - usb_dev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); -- descr = usb_get_device_descriptor(usb_dev); -- if (IS_ERR(descr)) { -- retval = PTR_ERR(descr); -+ retval = usb_get_device_descriptor(usb_dev, USB_DT_DEVICE_SIZE); -+ if (retval != sizeof usb_dev->descriptor) { - mutex_unlock(&usb_bus_idr_lock); - dev_dbg (parent_dev, "can't read %s device descriptor %d\n", - dev_name(&usb_dev->dev), retval); -- return retval; -+ return (retval < 0) ? retval : -EMSGSIZE; - } -- usb_dev->descriptor = *descr; -- kfree(descr); - - if (le16_to_cpu(usb_dev->descriptor.bcdUSB) >= 0x0201) { - retval = usb_get_bos_descriptor(usb_dev); -diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 1ba3feb5e1900..ef1d63537a9b7 100644 ---- a/drivers/usb/core/hub.c -+++ b/drivers/usb/core/hub.c -@@ -4742,67 +4742,6 @@ static int hub_enable_device(struct usb_device *udev) - return hcd->driver->enable_device(hcd, udev); - } - --/* -- * Get the bMaxPacketSize0 value during initialization by reading the -- * device's device descriptor. Since we don't already know this value, -- * the transfer is unsafe and it ignores I/O errors, only testing for -- * reasonable received values. -- * -- * For "old scheme" initialization, size will be 8 so we read just the -- * start of the device descriptor, which should work okay regardless of -- * the actual bMaxPacketSize0 value. For "new scheme" initialization, -- * size will be 64 (and buf will point to a sufficiently large buffer), -- * which might not be kosher according to the USB spec but it's what -- * Windows does and what many devices expect. -- * -- * Returns: bMaxPacketSize0 or a negative error code. -- */ --static int get_bMaxPacketSize0(struct usb_device *udev, -- struct usb_device_descriptor *buf, int size, bool first_time) --{ -- int i, rc; -- -- /* -- * Retry on all errors; some devices are flakey. -- * 255 is for WUSB devices, we actually need to use -- * 512 (WUSB1.0[4.8.1]). -- */ -- for (i = 0; i < GET_MAXPACKET0_TRIES; ++i) { -- /* Start with invalid values in case the transfer fails */ -- buf->bDescriptorType = buf->bMaxPacketSize0 = 0; -- rc = usb_control_msg(udev, usb_rcvaddr0pipe(), -- USB_REQ_GET_DESCRIPTOR, USB_DIR_IN, -- USB_DT_DEVICE << 8, 0, -- buf, size, -- initial_descriptor_timeout); -- switch (buf->bMaxPacketSize0) { -- case 8: case 16: case 32: case 64: case 9: -- if (buf->bDescriptorType == USB_DT_DEVICE) { -- rc = buf->bMaxPacketSize0; -- break; -- } -- fallthrough; -- default: -- if (rc >= 0) -- rc = -EPROTO; -- break; -- } -- -- /* -- * Some devices time out if they are powered on -- * when already connected. They need a second -- * reset, so return early. But only on the first -- * attempt, lest we get into a time-out/reset loop. -- */ -- if (rc > 0 || (rc == -ETIMEDOUT && first_time && -- udev->speed > USB_SPEED_FULL)) -- break; -- } -- return rc; --} -- --#define GET_DESCRIPTOR_BUFSIZE 64 -- - /* Reset device, (re)assign address, get device descriptor. - * Device connection must be stable, no more debouncing needed. - * Returns device in USB_STATE_ADDRESS, except on error. -@@ -4812,17 +4751,10 @@ static int get_bMaxPacketSize0(struct usb_device *udev, - * the port lock. For a newly detected device that is not accessible - * through any global pointers, it's not necessary to lock the device, - * but it is still necessary to lock the port. -- * -- * For a newly detected device, @dev_descr must be NULL. The device -- * descriptor retrieved from the device will then be stored in -- * @udev->descriptor. For an already existing device, @dev_descr -- * must be non-NULL. The device descriptor will be stored there, -- * not in @udev->descriptor, because descriptors for registered -- * devices are meant to be immutable. - */ - static int - hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, -- int retry_counter, struct usb_device_descriptor *dev_descr) -+ int retry_counter) - { - struct usb_device *hdev = hub->hdev; - struct usb_hcd *hcd = bus_to_hcd(hdev->bus); -@@ -4834,13 +4766,6 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - int devnum = udev->devnum; - const char *driver_name; - bool do_new_scheme; -- const bool initial = !dev_descr; -- int maxp0; -- struct usb_device_descriptor *buf, *descr; -- -- buf = kmalloc(GET_DESCRIPTOR_BUFSIZE, GFP_NOIO); -- if (!buf) -- return -ENOMEM; - - /* root hub ports have a slightly longer reset period - * (from USB 2.0 spec, section 7.1.7.5) -@@ -4873,31 +4798,31 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - } - oldspeed = udev->speed; - -- if (initial) { -- /* USB 2.0 section 5.5.3 talks about ep0 maxpacket ... -- * it's fixed size except for full speed devices. -+ /* USB 2.0 section 5.5.3 talks about ep0 maxpacket ... -+ * it's fixed size except for full speed devices. -+ * For Wireless USB devices, ep0 max packet is always 512 (tho -+ * reported as 0xff in the device descriptor). WUSB1.0[4.8.1]. -+ */ -+ switch (udev->speed) { -+ case USB_SPEED_SUPER_PLUS: -+ case USB_SPEED_SUPER: -+ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(512); -+ break; -+ case USB_SPEED_HIGH: /* fixed at 64 */ -+ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); -+ break; -+ case USB_SPEED_FULL: /* 8, 16, 32, or 64 */ -+ /* to determine the ep0 maxpacket size, try to read -+ * the device descriptor to get bMaxPacketSize0 and -+ * then correct our initial guess. - */ -- switch (udev->speed) { -- case USB_SPEED_SUPER_PLUS: -- case USB_SPEED_SUPER: -- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(512); -- break; -- case USB_SPEED_HIGH: /* fixed at 64 */ -- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); -- break; -- case USB_SPEED_FULL: /* 8, 16, 32, or 64 */ -- /* to determine the ep0 maxpacket size, try to read -- * the device descriptor to get bMaxPacketSize0 and -- * then correct our initial guess. -- */ -- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); -- break; -- case USB_SPEED_LOW: /* fixed at 8 */ -- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(8); -- break; -- default: -- goto fail; -- } -+ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); -+ break; -+ case USB_SPEED_LOW: /* fixed at 8 */ -+ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(8); -+ break; -+ default: -+ goto fail; - } - - speed = usb_speed_string(udev->speed); -@@ -4917,24 +4842,22 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - if (udev->speed < USB_SPEED_SUPER) - dev_info(&udev->dev, - "%s %s USB device number %d using %s\n", -- (initial ? "new" : "reset"), speed, -+ (udev->config) ? "reset" : "new", speed, - devnum, driver_name); - -- if (initial) { -- /* Set up TT records, if needed */ -- if (hdev->tt) { -- udev->tt = hdev->tt; -- udev->ttport = hdev->ttport; -- } else if (udev->speed != USB_SPEED_HIGH -- && hdev->speed == USB_SPEED_HIGH) { -- if (!hub->tt.hub) { -- dev_err(&udev->dev, "parent hub has no TT\n"); -- retval = -EINVAL; -- goto fail; -- } -- udev->tt = &hub->tt; -- udev->ttport = port1; -+ /* Set up TT records, if needed */ -+ if (hdev->tt) { -+ udev->tt = hdev->tt; -+ udev->ttport = hdev->ttport; -+ } else if (udev->speed != USB_SPEED_HIGH -+ && hdev->speed == USB_SPEED_HIGH) { -+ if (!hub->tt.hub) { -+ dev_err(&udev->dev, "parent hub has no TT\n"); -+ retval = -EINVAL; -+ goto fail; - } -+ udev->tt = &hub->tt; -+ udev->ttport = port1; - } - - /* Why interleave GET_DESCRIPTOR and SET_ADDRESS this way? -@@ -4958,6 +4881,9 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - } - - if (do_new_scheme) { -+ struct usb_device_descriptor *buf; -+ int r = 0; -+ - retval = hub_enable_device(udev); - if (retval < 0) { - dev_err(&udev->dev, -@@ -4966,14 +4892,52 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - goto fail; - } - -- maxp0 = get_bMaxPacketSize0(udev, buf, -- GET_DESCRIPTOR_BUFSIZE, retries == 0); -- if (maxp0 > 0 && !initial && -- maxp0 != udev->descriptor.bMaxPacketSize0) { -- dev_err(&udev->dev, "device reset changed ep0 maxpacket size!\n"); -- retval = -ENODEV; -- goto fail; -+#define GET_DESCRIPTOR_BUFSIZE 64 -+ buf = kmalloc(GET_DESCRIPTOR_BUFSIZE, GFP_NOIO); -+ if (!buf) { -+ retval = -ENOMEM; -+ continue; -+ } -+ -+ /* Retry on all errors; some devices are flakey. -+ * 255 is for WUSB devices, we actually need to use -+ * 512 (WUSB1.0[4.8.1]). -+ */ -+ for (operations = 0; operations < GET_MAXPACKET0_TRIES; -+ ++operations) { -+ buf->bMaxPacketSize0 = 0; -+ r = usb_control_msg(udev, usb_rcvaddr0pipe(), -+ USB_REQ_GET_DESCRIPTOR, USB_DIR_IN, -+ USB_DT_DEVICE << 8, 0, -+ buf, GET_DESCRIPTOR_BUFSIZE, -+ initial_descriptor_timeout); -+ switch (buf->bMaxPacketSize0) { -+ case 8: case 16: case 32: case 64: case 255: -+ if (buf->bDescriptorType == -+ USB_DT_DEVICE) { -+ r = 0; -+ break; -+ } -+ fallthrough; -+ default: -+ if (r == 0) -+ r = -EPROTO; -+ break; -+ } -+ /* -+ * Some devices time out if they are powered on -+ * when already connected. They need a second -+ * reset. But only on the first attempt, -+ * lest we get into a time out/reset loop -+ */ -+ if (r == 0 || (r == -ETIMEDOUT && -+ retries == 0 && -+ udev->speed > USB_SPEED_FULL)) -+ break; - } -+ udev->descriptor.bMaxPacketSize0 = -+ buf->bMaxPacketSize0; -+ kfree(buf); - - retval = hub_port_reset(hub, port1, udev, delay, false); - if (retval < 0) /* error or disconnect */ -@@ -4984,13 +4948,14 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - retval = -ENODEV; - goto fail; - } -- if (maxp0 < 0) { -- if (maxp0 != -ENODEV) -+ if (r) { -+ if (r != -ENODEV) - dev_err(&udev->dev, "device descriptor read/64, error %d\n", -- maxp0); -- retval = maxp0; -+ r); -+ retval = -EMSGSIZE; - continue; - } -+#undef GET_DESCRIPTOR_BUFSIZE - } - - for (operations = 0; operations < SET_ADDRESS_TRIES; ++operations) { -@@ -5031,21 +4996,18 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - if (do_new_scheme) - break; - -- maxp0 = get_bMaxPacketSize0(udev, buf, 8, retries == 0); -- if (maxp0 < 0) { -- retval = maxp0; -+ retval = usb_get_device_descriptor(udev, 8); -+ if (retval < 8) { - if (retval != -ENODEV) - dev_err(&udev->dev, - "device descriptor read/8, error %d\n", - retval); -+ if (retval >= 0) -+ retval = -EMSGSIZE; - } else { - u32 delay; - -- if (!initial && maxp0 != udev->descriptor.bMaxPacketSize0) { -- dev_err(&udev->dev, "device reset changed ep0 maxpacket size!\n"); -- retval = -ENODEV; -- goto fail; -- } -+ retval = 0; - - delay = udev->parent->hub_delay; - udev->hub_delay = min_t(u32, delay, -@@ -5064,62 +5026,48 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - goto fail; - - /* -- * Check the ep0 maxpacket guess and correct it if necessary. -- * maxp0 is the value stored in the device descriptor; -- * i is the value it encodes (logarithmic for SuperSpeed or greater). -+ * Some superspeed devices have finished the link training process -+ * and attached to a superspeed hub port, but the device descriptor -+ * got from those devices show they aren't superspeed devices. Warm -+ * reset the port attached by the devices can fix them. - */ -- i = maxp0; -- if (udev->speed >= USB_SPEED_SUPER) { -- if (maxp0 <= 16) -- i = 1 << maxp0; -- else -- i = 0; /* Invalid */ -- } -- if (usb_endpoint_maxp(&udev->ep0.desc) == i) { -- ; /* Initial ep0 maxpacket guess is right */ -- } else if (((udev->speed == USB_SPEED_FULL || -- udev->speed == USB_SPEED_HIGH) && -- (i == 8 || i == 16 || i == 32 || i == 64)) || -- (udev->speed >= USB_SPEED_SUPER && i > 0)) { -- /* Initial guess is wrong; use the descriptor's value */ -+ if ((udev->speed >= USB_SPEED_SUPER) && -+ (le16_to_cpu(udev->descriptor.bcdUSB) < 0x0300)) { -+ dev_err(&udev->dev, "got a wrong device descriptor, " -+ "warm reset device\n"); -+ hub_port_reset(hub, port1, udev, -+ HUB_BH_RESET_TIME, true); -+ retval = -EINVAL; -+ goto fail; -+ } -+ -+ if (udev->descriptor.bMaxPacketSize0 == 0xff || -+ udev->speed >= USB_SPEED_SUPER) -+ i = 512; -+ else -+ i = udev->descriptor.bMaxPacketSize0; -+ if (usb_endpoint_maxp(&udev->ep0.desc) != i) { -+ if (udev->speed == USB_SPEED_LOW || -+ !(i == 8 || i == 16 || i == 32 || i == 64)) { -+ dev_err(&udev->dev, "Invalid ep0 maxpacket: %d\n", i); -+ retval = -EMSGSIZE; -+ goto fail; -+ } - if (udev->speed == USB_SPEED_FULL) - dev_dbg(&udev->dev, "ep0 maxpacket = %d\n", i); - else - dev_warn(&udev->dev, "Using ep0 maxpacket: %d\n", i); - udev->ep0.desc.wMaxPacketSize = cpu_to_le16(i); - usb_ep0_reinit(udev); -- } else { -- /* Initial guess is wrong and descriptor's value is invalid */ -- dev_err(&udev->dev, "Invalid ep0 maxpacket: %d\n", maxp0); -- retval = -EMSGSIZE; -- goto fail; - } - -- descr = usb_get_device_descriptor(udev); -- if (IS_ERR(descr)) { -- retval = PTR_ERR(descr); -+ retval = usb_get_device_descriptor(udev, USB_DT_DEVICE_SIZE); -+ if (retval < (signed)sizeof(udev->descriptor)) { - if (retval != -ENODEV) - dev_err(&udev->dev, "device descriptor read/all, error %d\n", - retval); -- goto fail; -- } -- if (initial) -- udev->descriptor = *descr; -- else -- *dev_descr = *descr; -- kfree(descr); -- -- /* -- * Some superspeed devices have finished the link training process -- * and attached to a superspeed hub port, but the device descriptor -- * got from those devices show they aren't superspeed devices. Warm -- * reset the port attached by the devices can fix them. -- */ -- if ((udev->speed >= USB_SPEED_SUPER) && -- (le16_to_cpu(udev->descriptor.bcdUSB) < 0x0300)) { -- dev_err(&udev->dev, "got a wrong device descriptor, warm reset device\n"); -- hub_port_reset(hub, port1, udev, HUB_BH_RESET_TIME, true); -- retval = -EINVAL; -+ if (retval >= 0) -+ retval = -ENOMSG; - goto fail; - } - -@@ -5145,7 +5093,6 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - hub_port_disable(hub, port1, 0); - update_devnum(udev, devnum); /* for disconnect processing */ - } -- kfree(buf); - return retval; - } - -@@ -5226,7 +5173,7 @@ hub_power_remaining(struct usb_hub *hub) - - - static int descriptors_changed(struct usb_device *udev, -- struct usb_device_descriptor *new_device_descriptor, -+ struct usb_device_descriptor *old_device_descriptor, - struct usb_host_bos *old_bos) - { - int changed = 0; -@@ -5237,8 +5184,8 @@ static int descriptors_changed(struct usb_device *udev, - int length; - char *buf; - -- if (memcmp(&udev->descriptor, new_device_descriptor, -- sizeof(*new_device_descriptor)) != 0) -+ if (memcmp(&udev->descriptor, old_device_descriptor, -+ sizeof(*old_device_descriptor)) != 0) - return 1; - - if ((old_bos && !udev->bos) || (!old_bos && udev->bos)) -@@ -5415,7 +5362,7 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, - } - - /* reset (non-USB 3.0 devices) and get descriptor */ -- status = hub_port_init(hub, udev, port1, i, NULL); -+ status = hub_port_init(hub, udev, port1, i); - if (status < 0) - goto loop; - -@@ -5562,8 +5509,9 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1, - { - struct usb_port *port_dev = hub->ports[port1 - 1]; - struct usb_device *udev = port_dev->child; -- struct usb_device_descriptor *descr; -+ struct usb_device_descriptor descriptor; - int status = -ENODEV; -+ int retval; - - dev_dbg(&port_dev->dev, "status %04x, change %04x, %s\n", portstatus, - portchange, portspeed(hub, portstatus)); -@@ -5590,20 +5538,23 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1, - * changed device descriptors before resuscitating the - * device. - */ -- descr = usb_get_device_descriptor(udev); -- if (IS_ERR(descr)) { -+ descriptor = udev->descriptor; -+ retval = usb_get_device_descriptor(udev, -+ sizeof(udev->descriptor)); -+ if (retval < 0) { - dev_dbg(&udev->dev, -- "can't read device descriptor %ld\n", -- PTR_ERR(descr)); -+ "can't read device descriptor %d\n", -+ retval); - } else { -- if (descriptors_changed(udev, descr, -+ if (descriptors_changed(udev, &descriptor, - udev->bos)) { - dev_dbg(&udev->dev, - "device descriptor has changed\n"); -+ /* for disconnect() calls */ -+ udev->descriptor = descriptor; - } else { - status = 0; /* Nothing to do */ - } -- kfree(descr); - } - #ifdef CONFIG_PM - } else if (udev->state == USB_STATE_SUSPENDED && -@@ -6060,7 +6011,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) - struct usb_device *parent_hdev = udev->parent; - struct usb_hub *parent_hub; - struct usb_hcd *hcd = bus_to_hcd(udev->bus); -- struct usb_device_descriptor descriptor; -+ struct usb_device_descriptor descriptor = udev->descriptor; - struct usb_host_bos *bos; - int i, j, ret = 0; - int port1 = udev->portnum; -@@ -6096,7 +6047,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) - /* ep0 maxpacket size may change; let the HCD know about it. - * Other endpoints will be handled by re-enumeration. */ - usb_ep0_reinit(udev); -- ret = hub_port_init(parent_hub, udev, port1, i, &descriptor); -+ ret = hub_port_init(parent_hub, udev, port1, i); - if (ret >= 0 || ret == -ENOTCONN || ret == -ENODEV) - break; - } -@@ -6108,6 +6059,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) - /* Device might have changed firmware (DFU or similar) */ - if (descriptors_changed(udev, &descriptor, bos)) { - dev_info(&udev->dev, "device firmware changed\n"); -+ udev->descriptor = descriptor; /* for disconnect() calls */ - goto re_enumerate; - } - -diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c -index 077dfe48d01c1..0d2bfc909019b 100644 ---- a/drivers/usb/core/message.c -+++ b/drivers/usb/core/message.c -@@ -1041,35 +1041,40 @@ char *usb_cache_string(struct usb_device *udev, int index) - EXPORT_SYMBOL_GPL(usb_cache_string); - - /* -- * usb_get_device_descriptor - read the device descriptor -- * @udev: the device whose device descriptor should be read -+ * usb_get_device_descriptor - (re)reads the device descriptor (usbcore) -+ * @dev: the device whose device descriptor is being updated -+ * @size: how much of the descriptor to read - * - * Context: task context, might sleep. - * -+ * Updates the copy of the device descriptor stored in the device structure, -+ * which dedicates space for this purpose. -+ * - * Not exported, only for use by the core. If drivers really want to read - * the device descriptor directly, they can call usb_get_descriptor() with - * type = USB_DT_DEVICE and index = 0. - * -- * Returns: a pointer to a dynamically allocated usb_device_descriptor -- * structure (which the caller must deallocate), or an ERR_PTR value. -+ * This call is synchronous, and may not be used in an interrupt context. -+ * -+ * Return: The number of bytes received on success, or else the status code -+ * returned by the underlying usb_control_msg() call. - */ --struct usb_device_descriptor *usb_get_device_descriptor(struct usb_device *udev) -+int usb_get_device_descriptor(struct usb_device *dev, unsigned int size) - { - struct usb_device_descriptor *desc; - int ret; - -+ if (size > sizeof(*desc)) -+ return -EINVAL; - desc = kmalloc(sizeof(*desc), GFP_NOIO); - if (!desc) -- return ERR_PTR(-ENOMEM); -- -- ret = usb_get_descriptor(udev, USB_DT_DEVICE, 0, desc, sizeof(*desc)); -- if (ret == sizeof(*desc)) -- return desc; -+ return -ENOMEM; - -+ ret = usb_get_descriptor(dev, USB_DT_DEVICE, 0, desc, size); - if (ret >= 0) -- ret = -EMSGSIZE; -+ memcpy(&dev->descriptor, desc, size); - kfree(desc); -- return ERR_PTR(ret); -+ return ret; - } - - /* -diff --git a/drivers/usb/core/usb.h b/drivers/usb/core/usb.h -index 60363153fc3f3..69ca59841083b 100644 ---- a/drivers/usb/core/usb.h -+++ b/drivers/usb/core/usb.h -@@ -43,8 +43,8 @@ extern bool usb_endpoint_is_ignored(struct usb_device *udev, - struct usb_endpoint_descriptor *epd); - extern int usb_remove_device(struct usb_device *udev); - --extern struct usb_device_descriptor *usb_get_device_descriptor( -- struct usb_device *udev); -+extern int usb_get_device_descriptor(struct usb_device *dev, -+ unsigned int size); - extern int usb_set_isoch_delay(struct usb_device *dev); - extern int usb_get_bos_descriptor(struct usb_device *dev); - extern void usb_release_bos_descriptor(struct usb_device *dev); diff --git a/buildroot-external/patches/linux/6.12.11/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch b/buildroot-external/patches/linux/6.12.11/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch deleted file mode 100644 index 4f41422226c..00000000000 --- a/buildroot-external/patches/linux/6.12.11/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch +++ /dev/null @@ -1,650 +0,0 @@ -From 557c96b3f40753fa22ebfe1cb57de360273a92c3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= -Date: Wed, 6 Mar 2024 13:25:41 +0100 -Subject: [PATCH] Revert USB core changes causing issues with Z-Wave.me UZB - stick -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Workaround for issues described on GH [1] and reported in [2]. - -* Revert "USB: core: Fix oversight in SuperSpeed initialization" - This reverts commit 59cf445754566984fd55af19ba7146c76e6627bc. - -* Revert "USB: core: Fix race by not overwriting udev->descriptor in hub_port_init()" - This reverts commit ff33299ec8bb80cdcc073ad9c506bd79bb2ed20b. - -* Revert "USB: core: Change usb_get_device_descriptor() API" - This reverts commit de28e469da75359a2bb8cd8778b78aa64b1be1f4. - -* Revert "USB: core: Unite old scheme and new scheme descriptor reads" - This reverts commit 85d07c55621676d47d873d2749b88f783cd4d5a1. - -[1] https://github.com/home-assistant/operating-system/issues/2995 -[2] https://lore.kernel.org/linux-usb/1e954652-dfb3-4248-beea-b8a449128ff0@sairon.cz/ - -Signed-off-by: Jan Čermák ---- - drivers/usb/core/hcd.c | 10 +- - drivers/usb/core/hub.c | 336 ++++++++++++++++--------------------- - drivers/usb/core/message.c | 29 ++-- - drivers/usb/core/usb.h | 4 +- - 4 files changed, 166 insertions(+), 213 deletions(-) - -diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c -index 0b2490347b9fe..ab0826d90cc13 100644 ---- a/drivers/usb/core/hcd.c -+++ b/drivers/usb/core/hcd.c -@@ -956,7 +956,6 @@ static int register_root_hub(struct usb_hcd *hcd) - { - struct device *parent_dev = hcd->self.controller; - struct usb_device *usb_dev = hcd->self.root_hub; -- struct usb_device_descriptor *descr; - const int devnum = 1; - int retval; - -@@ -968,16 +967,13 @@ static int register_root_hub(struct usb_hcd *hcd) - mutex_lock(&usb_bus_idr_lock); - - usb_dev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); -- descr = usb_get_device_descriptor(usb_dev); -- if (IS_ERR(descr)) { -- retval = PTR_ERR(descr); -+ retval = usb_get_device_descriptor(usb_dev, USB_DT_DEVICE_SIZE); -+ if (retval != sizeof usb_dev->descriptor) { - mutex_unlock(&usb_bus_idr_lock); - dev_dbg (parent_dev, "can't read %s device descriptor %d\n", - dev_name(&usb_dev->dev), retval); -- return retval; -+ return (retval < 0) ? retval : -EMSGSIZE; - } -- usb_dev->descriptor = *descr; -- kfree(descr); - - if (le16_to_cpu(usb_dev->descriptor.bcdUSB) >= 0x0201) { - retval = usb_get_bos_descriptor(usb_dev); -diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 21ac9b464696f..0962411898b00 100644 ---- a/drivers/usb/core/hub.c -+++ b/drivers/usb/core/hub.c -@@ -4776,67 +4776,6 @@ static int hub_enable_device(struct usb_device *udev) - return hcd->driver->enable_device(hcd, udev); - } - --/* -- * Get the bMaxPacketSize0 value during initialization by reading the -- * device's device descriptor. Since we don't already know this value, -- * the transfer is unsafe and it ignores I/O errors, only testing for -- * reasonable received values. -- * -- * For "old scheme" initialization, size will be 8 so we read just the -- * start of the device descriptor, which should work okay regardless of -- * the actual bMaxPacketSize0 value. For "new scheme" initialization, -- * size will be 64 (and buf will point to a sufficiently large buffer), -- * which might not be kosher according to the USB spec but it's what -- * Windows does and what many devices expect. -- * -- * Returns: bMaxPacketSize0 or a negative error code. -- */ --static int get_bMaxPacketSize0(struct usb_device *udev, -- struct usb_device_descriptor *buf, int size, bool first_time) --{ -- int i, rc; -- -- /* -- * Retry on all errors; some devices are flakey. -- * 255 is for WUSB devices, we actually need to use -- * 512 (WUSB1.0[4.8.1]). -- */ -- for (i = 0; i < GET_MAXPACKET0_TRIES; ++i) { -- /* Start with invalid values in case the transfer fails */ -- buf->bDescriptorType = buf->bMaxPacketSize0 = 0; -- rc = usb_control_msg(udev, usb_rcvaddr0pipe(), -- USB_REQ_GET_DESCRIPTOR, USB_DIR_IN, -- USB_DT_DEVICE << 8, 0, -- buf, size, -- initial_descriptor_timeout); -- switch (buf->bMaxPacketSize0) { -- case 8: case 16: case 32: case 64: case 9: -- if (buf->bDescriptorType == USB_DT_DEVICE) { -- rc = buf->bMaxPacketSize0; -- break; -- } -- fallthrough; -- default: -- if (rc >= 0) -- rc = -EPROTO; -- break; -- } -- -- /* -- * Some devices time out if they are powered on -- * when already connected. They need a second -- * reset, so return early. But only on the first -- * attempt, lest we get into a time-out/reset loop. -- */ -- if (rc > 0 || (rc == -ETIMEDOUT && first_time && -- udev->speed > USB_SPEED_FULL)) -- break; -- } -- return rc; --} -- --#define GET_DESCRIPTOR_BUFSIZE 64 -- - /* Reset device, (re)assign address, get device descriptor. - * Device connection must be stable, no more debouncing needed. - * Returns device in USB_STATE_ADDRESS, except on error. -@@ -4846,17 +4785,10 @@ static int get_bMaxPacketSize0(struct usb_device *udev, - * the port lock. For a newly detected device that is not accessible - * through any global pointers, it's not necessary to lock the device, - * but it is still necessary to lock the port. -- * -- * For a newly detected device, @dev_descr must be NULL. The device -- * descriptor retrieved from the device will then be stored in -- * @udev->descriptor. For an already existing device, @dev_descr -- * must be non-NULL. The device descriptor will be stored there, -- * not in @udev->descriptor, because descriptors for registered -- * devices are meant to be immutable. - */ - static int - hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, -- int retry_counter, struct usb_device_descriptor *dev_descr) -+ int retry_counter) - { - struct usb_device *hdev = hub->hdev; - struct usb_hcd *hcd = bus_to_hcd(hdev->bus); -@@ -4868,13 +4800,6 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - int devnum = udev->devnum; - const char *driver_name; - bool do_new_scheme; -- const bool initial = !dev_descr; -- int maxp0; -- struct usb_device_descriptor *buf, *descr; -- -- buf = kmalloc(GET_DESCRIPTOR_BUFSIZE, GFP_NOIO); -- if (!buf) -- return -ENOMEM; - - /* root hub ports have a slightly longer reset period - * (from USB 2.0 spec, section 7.1.7.5) -@@ -4907,31 +4832,31 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - } - oldspeed = udev->speed; - -- if (initial) { -- /* USB 2.0 section 5.5.3 talks about ep0 maxpacket ... -- * it's fixed size except for full speed devices. -+ /* USB 2.0 section 5.5.3 talks about ep0 maxpacket ... -+ * it's fixed size except for full speed devices. -+ * For Wireless USB devices, ep0 max packet is always 512 (tho -+ * reported as 0xff in the device descriptor). WUSB1.0[4.8.1]. -+ */ -+ switch (udev->speed) { -+ case USB_SPEED_SUPER_PLUS: -+ case USB_SPEED_SUPER: -+ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(512); -+ break; -+ case USB_SPEED_HIGH: /* fixed at 64 */ -+ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); -+ break; -+ case USB_SPEED_FULL: /* 8, 16, 32, or 64 */ -+ /* to determine the ep0 maxpacket size, try to read -+ * the device descriptor to get bMaxPacketSize0 and -+ * then correct our initial guess. - */ -- switch (udev->speed) { -- case USB_SPEED_SUPER_PLUS: -- case USB_SPEED_SUPER: -- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(512); -- break; -- case USB_SPEED_HIGH: /* fixed at 64 */ -- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); -- break; -- case USB_SPEED_FULL: /* 8, 16, 32, or 64 */ -- /* to determine the ep0 maxpacket size, try to read -- * the device descriptor to get bMaxPacketSize0 and -- * then correct our initial guess. -- */ -- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); -- break; -- case USB_SPEED_LOW: /* fixed at 8 */ -- udev->ep0.desc.wMaxPacketSize = cpu_to_le16(8); -- break; -- default: -- goto fail; -- } -+ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(64); -+ break; -+ case USB_SPEED_LOW: /* fixed at 8 */ -+ udev->ep0.desc.wMaxPacketSize = cpu_to_le16(8); -+ break; -+ default: -+ goto fail; - } - - speed = usb_speed_string(udev->speed); -@@ -4951,24 +4876,22 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - if (udev->speed < USB_SPEED_SUPER) - dev_info(&udev->dev, - "%s %s USB device number %d using %s\n", -- (initial ? "new" : "reset"), speed, -+ (udev->config) ? "reset" : "new", speed, - devnum, driver_name); - -- if (initial) { -- /* Set up TT records, if needed */ -- if (hdev->tt) { -- udev->tt = hdev->tt; -- udev->ttport = hdev->ttport; -- } else if (udev->speed != USB_SPEED_HIGH -- && hdev->speed == USB_SPEED_HIGH) { -- if (!hub->tt.hub) { -- dev_err(&udev->dev, "parent hub has no TT\n"); -- retval = -EINVAL; -- goto fail; -- } -- udev->tt = &hub->tt; -- udev->ttport = port1; -+ /* Set up TT records, if needed */ -+ if (hdev->tt) { -+ udev->tt = hdev->tt; -+ udev->ttport = hdev->ttport; -+ } else if (udev->speed != USB_SPEED_HIGH -+ && hdev->speed == USB_SPEED_HIGH) { -+ if (!hub->tt.hub) { -+ dev_err(&udev->dev, "parent hub has no TT\n"); -+ retval = -EINVAL; -+ goto fail; - } -+ udev->tt = &hub->tt; -+ udev->ttport = port1; - } - - /* Why interleave GET_DESCRIPTOR and SET_ADDRESS this way? -@@ -4992,6 +4915,9 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - } - - if (do_new_scheme) { -+ struct usb_device_descriptor *buf; -+ int r = 0; -+ - retval = hub_enable_device(udev); - if (retval < 0) { - dev_err(&udev->dev, -@@ -5000,14 +4926,52 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - goto fail; - } - -- maxp0 = get_bMaxPacketSize0(udev, buf, -- GET_DESCRIPTOR_BUFSIZE, retries == 0); -- if (maxp0 > 0 && !initial && -- maxp0 != udev->descriptor.bMaxPacketSize0) { -- dev_err(&udev->dev, "device reset changed ep0 maxpacket size!\n"); -- retval = -ENODEV; -- goto fail; -+#define GET_DESCRIPTOR_BUFSIZE 64 -+ buf = kmalloc(GET_DESCRIPTOR_BUFSIZE, GFP_NOIO); -+ if (!buf) { -+ retval = -ENOMEM; -+ continue; -+ } -+ -+ /* Retry on all errors; some devices are flakey. -+ * 255 is for WUSB devices, we actually need to use -+ * 512 (WUSB1.0[4.8.1]). -+ */ -+ for (operations = 0; operations < GET_MAXPACKET0_TRIES; -+ ++operations) { -+ buf->bMaxPacketSize0 = 0; -+ r = usb_control_msg(udev, usb_rcvaddr0pipe(), -+ USB_REQ_GET_DESCRIPTOR, USB_DIR_IN, -+ USB_DT_DEVICE << 8, 0, -+ buf, GET_DESCRIPTOR_BUFSIZE, -+ initial_descriptor_timeout); -+ switch (buf->bMaxPacketSize0) { -+ case 8: case 16: case 32: case 64: case 255: -+ if (buf->bDescriptorType == -+ USB_DT_DEVICE) { -+ r = 0; -+ break; -+ } -+ fallthrough; -+ default: -+ if (r == 0) -+ r = -EPROTO; -+ break; -+ } -+ /* -+ * Some devices time out if they are powered on -+ * when already connected. They need a second -+ * reset. But only on the first attempt, -+ * lest we get into a time out/reset loop -+ */ -+ if (r == 0 || (r == -ETIMEDOUT && -+ retries == 0 && -+ udev->speed > USB_SPEED_FULL)) -+ break; - } -+ udev->descriptor.bMaxPacketSize0 = -+ buf->bMaxPacketSize0; -+ kfree(buf); - - retval = hub_port_reset(hub, port1, udev, delay, false); - if (retval < 0) /* error or disconnect */ -@@ -5018,13 +4982,14 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - retval = -ENODEV; - goto fail; - } -- if (maxp0 < 0) { -- if (maxp0 != -ENODEV) -+ if (r) { -+ if (r != -ENODEV) - dev_err(&udev->dev, "device descriptor read/64, error %d\n", -- maxp0); -- retval = maxp0; -+ r); -+ retval = -EMSGSIZE; - continue; - } -+#undef GET_DESCRIPTOR_BUFSIZE - } - - for (operations = 0; operations < SET_ADDRESS_TRIES; ++operations) { -@@ -5065,21 +5030,18 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - if (do_new_scheme) - break; - -- maxp0 = get_bMaxPacketSize0(udev, buf, 8, retries == 0); -- if (maxp0 < 0) { -- retval = maxp0; -+ retval = usb_get_device_descriptor(udev, 8); -+ if (retval < 8) { - if (retval != -ENODEV) - dev_err(&udev->dev, - "device descriptor read/8, error %d\n", - retval); -+ if (retval >= 0) -+ retval = -EMSGSIZE; - } else { - u32 delay; - -- if (!initial && maxp0 != udev->descriptor.bMaxPacketSize0) { -- dev_err(&udev->dev, "device reset changed ep0 maxpacket size!\n"); -- retval = -ENODEV; -- goto fail; -- } -+ retval = 0; - - delay = udev->parent->hub_delay; - udev->hub_delay = min_t(u32, delay, -@@ -5098,62 +5060,48 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - goto fail; - - /* -- * Check the ep0 maxpacket guess and correct it if necessary. -- * maxp0 is the value stored in the device descriptor; -- * i is the value it encodes (logarithmic for SuperSpeed or greater). -+ * Some superspeed devices have finished the link training process -+ * and attached to a superspeed hub port, but the device descriptor -+ * got from those devices show they aren't superspeed devices. Warm -+ * reset the port attached by the devices can fix them. - */ -- i = maxp0; -- if (udev->speed >= USB_SPEED_SUPER) { -- if (maxp0 <= 16) -- i = 1 << maxp0; -- else -- i = 0; /* Invalid */ -- } -- if (usb_endpoint_maxp(&udev->ep0.desc) == i) { -- ; /* Initial ep0 maxpacket guess is right */ -- } else if (((udev->speed == USB_SPEED_FULL || -- udev->speed == USB_SPEED_HIGH) && -- (i == 8 || i == 16 || i == 32 || i == 64)) || -- (udev->speed >= USB_SPEED_SUPER && i > 0)) { -- /* Initial guess is wrong; use the descriptor's value */ -+ if ((udev->speed >= USB_SPEED_SUPER) && -+ (le16_to_cpu(udev->descriptor.bcdUSB) < 0x0300)) { -+ dev_err(&udev->dev, "got a wrong device descriptor, " -+ "warm reset device\n"); -+ hub_port_reset(hub, port1, udev, -+ HUB_BH_RESET_TIME, true); -+ retval = -EINVAL; -+ goto fail; -+ } -+ -+ if (udev->descriptor.bMaxPacketSize0 == 0xff || -+ udev->speed >= USB_SPEED_SUPER) -+ i = 512; -+ else -+ i = udev->descriptor.bMaxPacketSize0; -+ if (usb_endpoint_maxp(&udev->ep0.desc) != i) { -+ if (udev->speed == USB_SPEED_LOW || -+ !(i == 8 || i == 16 || i == 32 || i == 64)) { -+ dev_err(&udev->dev, "Invalid ep0 maxpacket: %d\n", i); -+ retval = -EMSGSIZE; -+ goto fail; -+ } - if (udev->speed == USB_SPEED_FULL) - dev_dbg(&udev->dev, "ep0 maxpacket = %d\n", i); - else - dev_warn(&udev->dev, "Using ep0 maxpacket: %d\n", i); - udev->ep0.desc.wMaxPacketSize = cpu_to_le16(i); - usb_ep0_reinit(udev); -- } else { -- /* Initial guess is wrong and descriptor's value is invalid */ -- dev_err(&udev->dev, "Invalid ep0 maxpacket: %d\n", maxp0); -- retval = -EMSGSIZE; -- goto fail; - } - -- descr = usb_get_device_descriptor(udev); -- if (IS_ERR(descr)) { -- retval = PTR_ERR(descr); -+ retval = usb_get_device_descriptor(udev, USB_DT_DEVICE_SIZE); -+ if (retval < (signed)sizeof(udev->descriptor)) { - if (retval != -ENODEV) - dev_err(&udev->dev, "device descriptor read/all, error %d\n", - retval); -- goto fail; -- } -- if (initial) -- udev->descriptor = *descr; -- else -- *dev_descr = *descr; -- kfree(descr); -- -- /* -- * Some superspeed devices have finished the link training process -- * and attached to a superspeed hub port, but the device descriptor -- * got from those devices show they aren't superspeed devices. Warm -- * reset the port attached by the devices can fix them. -- */ -- if ((udev->speed >= USB_SPEED_SUPER) && -- (le16_to_cpu(udev->descriptor.bcdUSB) < 0x0300)) { -- dev_err(&udev->dev, "got a wrong device descriptor, warm reset device\n"); -- hub_port_reset(hub, port1, udev, HUB_BH_RESET_TIME, true); -- retval = -EINVAL; -+ if (retval >= 0) -+ retval = -ENOMSG; - goto fail; - } - -@@ -5179,7 +5127,6 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, - hub_port_disable(hub, port1, 0); - update_devnum(udev, devnum); /* for disconnect processing */ - } -- kfree(buf); - return retval; - } - -@@ -5260,7 +5207,7 @@ hub_power_remaining(struct usb_hub *hub) - - - static int descriptors_changed(struct usb_device *udev, -- struct usb_device_descriptor *new_device_descriptor, -+ struct usb_device_descriptor *old_device_descriptor, - struct usb_host_bos *old_bos) - { - int changed = 0; -@@ -5271,8 +5218,8 @@ static int descriptors_changed(struct usb_device *udev, - int length; - char *buf; - -- if (memcmp(&udev->descriptor, new_device_descriptor, -- sizeof(*new_device_descriptor)) != 0) -+ if (memcmp(&udev->descriptor, old_device_descriptor, -+ sizeof(*old_device_descriptor)) != 0) - return 1; - - if ((old_bos && !udev->bos) || (!old_bos && udev->bos)) -@@ -5449,7 +5396,7 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, - } - - /* reset (non-USB 3.0 devices) and get descriptor */ -- status = hub_port_init(hub, udev, port1, i, NULL); -+ status = hub_port_init(hub, udev, port1, i); - if (status < 0) - goto loop; - -@@ -5596,8 +5543,9 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1, - { - struct usb_port *port_dev = hub->ports[port1 - 1]; - struct usb_device *udev = port_dev->child; -- struct usb_device_descriptor *descr; -+ struct usb_device_descriptor descriptor; - int status = -ENODEV; -+ int retval; - - dev_dbg(&port_dev->dev, "status %04x, change %04x, %s\n", portstatus, - portchange, portspeed(hub, portstatus)); -@@ -5624,20 +5572,23 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1, - * changed device descriptors before resuscitating the - * device. - */ -- descr = usb_get_device_descriptor(udev); -- if (IS_ERR(descr)) { -+ descriptor = udev->descriptor; -+ retval = usb_get_device_descriptor(udev, -+ sizeof(udev->descriptor)); -+ if (retval < 0) { - dev_dbg(&udev->dev, -- "can't read device descriptor %ld\n", -- PTR_ERR(descr)); -+ "can't read device descriptor %d\n", -+ retval); - } else { -- if (descriptors_changed(udev, descr, -+ if (descriptors_changed(udev, &descriptor, - udev->bos)) { - dev_dbg(&udev->dev, - "device descriptor has changed\n"); -+ /* for disconnect() calls */ -+ udev->descriptor = descriptor; - } else { - status = 0; /* Nothing to do */ - } -- kfree(descr); - } - #ifdef CONFIG_PM - } else if (udev->state == USB_STATE_SUSPENDED && -@@ -6094,7 +6045,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) - struct usb_device *parent_hdev = udev->parent; - struct usb_hub *parent_hub; - struct usb_hcd *hcd = bus_to_hcd(udev->bus); -- struct usb_device_descriptor descriptor; -+ struct usb_device_descriptor descriptor = udev->descriptor; - struct usb_host_bos *bos; - int i, j, ret = 0; - int port1 = udev->portnum; -@@ -6130,7 +6081,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) - /* ep0 maxpacket size may change; let the HCD know about it. - * Other endpoints will be handled by re-enumeration. */ - usb_ep0_reinit(udev); -- ret = hub_port_init(parent_hub, udev, port1, i, &descriptor); -+ ret = hub_port_init(parent_hub, udev, port1, i); - if (ret >= 0 || ret == -ENOTCONN || ret == -ENODEV) - break; - } -@@ -6142,6 +6093,7 @@ static int usb_reset_and_verify_device(struct usb_device *udev) - /* Device might have changed firmware (DFU or similar) */ - if (descriptors_changed(udev, &descriptor, bos)) { - dev_info(&udev->dev, "device firmware changed\n"); -+ udev->descriptor = descriptor; /* for disconnect() calls */ - goto re_enumerate; - } - -diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c -index d2b2787be4092..8bc0168e3af56 100644 ---- a/drivers/usb/core/message.c -+++ b/drivers/usb/core/message.c -@@ -1041,35 +1041,40 @@ char *usb_cache_string(struct usb_device *udev, int index) - EXPORT_SYMBOL_GPL(usb_cache_string); - - /* -- * usb_get_device_descriptor - read the device descriptor -- * @udev: the device whose device descriptor should be read -+ * usb_get_device_descriptor - (re)reads the device descriptor (usbcore) -+ * @dev: the device whose device descriptor is being updated -+ * @size: how much of the descriptor to read - * - * Context: task context, might sleep. - * -+ * Updates the copy of the device descriptor stored in the device structure, -+ * which dedicates space for this purpose. -+ * - * Not exported, only for use by the core. If drivers really want to read - * the device descriptor directly, they can call usb_get_descriptor() with - * type = USB_DT_DEVICE and index = 0. - * -- * Returns: a pointer to a dynamically allocated usb_device_descriptor -- * structure (which the caller must deallocate), or an ERR_PTR value. -+ * This call is synchronous, and may not be used in an interrupt context. -+ * -+ * Return: The number of bytes received on success, or else the status code -+ * returned by the underlying usb_control_msg() call. - */ --struct usb_device_descriptor *usb_get_device_descriptor(struct usb_device *udev) -+int usb_get_device_descriptor(struct usb_device *dev, unsigned int size) - { - struct usb_device_descriptor *desc; - int ret; - -+ if (size > sizeof(*desc)) -+ return -EINVAL; - desc = kmalloc(sizeof(*desc), GFP_NOIO); - if (!desc) -- return ERR_PTR(-ENOMEM); -- -- ret = usb_get_descriptor(udev, USB_DT_DEVICE, 0, desc, sizeof(*desc)); -- if (ret == sizeof(*desc)) -- return desc; -+ return -ENOMEM; - -+ ret = usb_get_descriptor(dev, USB_DT_DEVICE, 0, desc, size); - if (ret >= 0) -- ret = -EMSGSIZE; -+ memcpy(&dev->descriptor, desc, size); - kfree(desc); -- return ERR_PTR(ret); -+ return ret; - } - - /* -diff --git a/drivers/usb/core/usb.h b/drivers/usb/core/usb.h -index b8324ea05b20f..82fcef57ce3a9 100644 ---- a/drivers/usb/core/usb.h -+++ b/drivers/usb/core/usb.h -@@ -43,8 +43,8 @@ extern bool usb_endpoint_is_ignored(struct usb_device *udev, - struct usb_endpoint_descriptor *epd); - extern int usb_remove_device(struct usb_device *udev); - --extern struct usb_device_descriptor *usb_get_device_descriptor( -- struct usb_device *udev); -+extern int usb_get_device_descriptor(struct usb_device *dev, -+ unsigned int size); - extern int usb_set_isoch_delay(struct usb_device *dev); - extern int usb_get_bos_descriptor(struct usb_device *dev); - extern void usb_release_bos_descriptor(struct usb_device *dev); From 47309b4a1044f612620dc1d25ffd668ed8ca9c25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 4 Feb 2025 13:13:40 +0100 Subject: [PATCH 24/55] Backport upstream patch to fix downstream patch collision in RPi 6.6 kernel (#3856) Because of refactoring/code quality improvements in upstream, IPv6 reachability patch no longer applied on 6.12 kernel. We added two versions of the patch to address this initially, however, this requires updating of the patch directory name on every kernel bump. Backport the patch causing collision instead to RPi kernel, so we can carry only one version of the patch. This also requires swapping of the patching order - now we first apply board-specific patches, then the global ones. Unless there are collisions, these operations should be idempontent, so at this point it shouldn't have any side-effects. --- ...to-explicitly-enable-reachability-te.patch | 52 ----- ...ate-data-races-around-cnf.forwarding.patch | 198 ++++++++++++++++++ buildroot-external/configs/rpi2_defconfig | 2 +- buildroot-external/configs/rpi3_64_defconfig | 2 +- buildroot-external/configs/rpi3_defconfig | 2 +- buildroot-external/configs/rpi4_64_defconfig | 2 +- buildroot-external/configs/rpi4_defconfig | 2 +- buildroot-external/configs/rpi5_64_defconfig | 2 +- ...to-explicitly-enable-reachability-te.patch | 0 9 files changed, 204 insertions(+), 58 deletions(-) delete mode 100644 buildroot-external/board/raspberrypi/patches/linux/0004-ipv6-add-option-to-explicitly-enable-reachability-te.patch create mode 100644 buildroot-external/board/raspberrypi/patches/linux/0004-ipv6-annotate-data-races-around-cnf.forwarding.patch rename buildroot-external/patches/linux/{6.12.11 => }/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch (100%) diff --git a/buildroot-external/board/raspberrypi/patches/linux/0004-ipv6-add-option-to-explicitly-enable-reachability-te.patch b/buildroot-external/board/raspberrypi/patches/linux/0004-ipv6-add-option-to-explicitly-enable-reachability-te.patch deleted file mode 100644 index 2e82302b3b8..00000000000 --- a/buildroot-external/board/raspberrypi/patches/linux/0004-ipv6-add-option-to-explicitly-enable-reachability-te.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 76591e4075194cf717dc085b8285912f706bcd46 Mon Sep 17 00:00:00 2001 -From: Stefan Agner -Date: Tue, 28 Mar 2023 12:02:10 +0200 -Subject: [PATCH] ipv6: add option to explicitly enable reachability test - -Systems which act as host as well as router might prefer the host -behavior. Currently the kernel does not allow to use IPv6 forwarding -globally and at the same time use route reachability probing. - -Add a compile time flag to enable route reachability probe in any -case. - -Signed-off-by: Stefan Agner ---- - net/ipv6/Kconfig | 9 +++++++++ - net/ipv6/route.c | 3 ++- - 2 files changed, 11 insertions(+), 1 deletion(-) - -diff --git a/net/ipv6/Kconfig b/net/ipv6/Kconfig -index 08d4b7132d4c..242bf2eeb7ae 100644 ---- a/net/ipv6/Kconfig -+++ b/net/ipv6/Kconfig -@@ -48,6 +48,15 @@ config IPV6_OPTIMISTIC_DAD - - If unsure, say N. - -+config IPV6_REACHABILITY_PROBE -+ bool "IPv6: Always use reachability probing (RFC 4191)" -+ help -+ By default reachability probing is disabled on router devices (when -+ IPv6 forwarding is enabled). This option explicitly enables -+ reachability probing always. -+ -+ If unsure, say N. -+ - config INET6_AH - tristate "IPv6: AH transformation" - select XFRM_AH -diff --git a/net/ipv6/route.c b/net/ipv6/route.c -index 56525b5b95a2..916769b9a772 100644 ---- a/net/ipv6/route.c -+++ b/net/ipv6/route.c -@@ -2211,7 +2211,8 @@ struct rt6_info *ip6_pol_route(struct net *net, struct fib6_table *table, - - strict |= flags & RT6_LOOKUP_F_IFACE; - strict |= flags & RT6_LOOKUP_F_IGNORE_LINKSTATE; -- if (net->ipv6.devconf_all->forwarding == 0) -+ if (net->ipv6.devconf_all->forwarding == 0 || -+ IS_ENABLED(CONFIG_IPV6_REACHABILITY_PROBE)) - strict |= RT6_LOOKUP_F_REACHABLE; - - rcu_read_lock(); diff --git a/buildroot-external/board/raspberrypi/patches/linux/0004-ipv6-annotate-data-races-around-cnf.forwarding.patch b/buildroot-external/board/raspberrypi/patches/linux/0004-ipv6-annotate-data-races-around-cnf.forwarding.patch new file mode 100644 index 00000000000..b5e68794a9b --- /dev/null +++ b/buildroot-external/board/raspberrypi/patches/linux/0004-ipv6-annotate-data-races-around-cnf.forwarding.patch @@ -0,0 +1,198 @@ +From 93ddda43441baefd98267c671ce2ec7e5527906b Mon Sep 17 00:00:00 2001 +From: Eric Dumazet +Date: Wed, 28 Feb 2024 13:54:30 +0000 +Subject: [PATCH] ipv6: annotate data-races around cnf.forwarding + +idev->cnf.forwarding and net->ipv6.devconf_all->forwarding +might be read locklessly, add appropriate READ_ONCE() +and WRITE_ONCE() annotations. + +Signed-off-by: Eric Dumazet +Reviewed-by: Jiri Pirko +Signed-off-by: David S. Miller +--- + drivers/net/usb/cdc_mbim.c | 2 +- + include/net/ipv6.h | 8 +++++--- + net/core/filter.c | 2 +- + net/ipv6/addrconf.c | 10 ++++++---- + net/ipv6/ip6_output.c | 2 +- + net/ipv6/ndisc.c | 11 ++++++----- + net/ipv6/route.c | 4 ++-- + 7 files changed, 22 insertions(+), 17 deletions(-) + +diff --git a/drivers/net/usb/cdc_mbim.c b/drivers/net/usb/cdc_mbim.c +index cd4083e0b3b9e..e13e4920ee9b2 100644 +--- a/drivers/net/usb/cdc_mbim.c ++++ b/drivers/net/usb/cdc_mbim.c +@@ -339,7 +339,7 @@ static void do_neigh_solicit(struct usbnet *dev, u8 *buf, u16 tci) + in6_dev = in6_dev_get(netdev); + if (!in6_dev) + goto out; +- is_router = !!in6_dev->cnf.forwarding; ++ is_router = !!READ_ONCE(in6_dev->cnf.forwarding); + in6_dev_put(in6_dev); + + /* ipv6_stub != NULL if in6_dev_get returned an inet6_dev */ +diff --git a/include/net/ipv6.h b/include/net/ipv6.h +index c6932d1a3fa80..0185ca1617c1a 100644 +--- a/include/net/ipv6.h ++++ b/include/net/ipv6.h +@@ -534,13 +534,15 @@ static inline int ipv6_hopopt_jumbo_remove(struct sk_buff *skb) + return 0; + } + +-static inline bool ipv6_accept_ra(struct inet6_dev *idev) ++static inline bool ipv6_accept_ra(const struct inet6_dev *idev) + { ++ s32 accept_ra = READ_ONCE(idev->cnf.accept_ra); ++ + /* If forwarding is enabled, RA are not accepted unless the special + * hybrid mode (accept_ra=2) is enabled. + */ +- return idev->cnf.forwarding ? idev->cnf.accept_ra == 2 : +- idev->cnf.accept_ra; ++ return READ_ONCE(idev->cnf.forwarding) ? accept_ra == 2 : ++ accept_ra; + } + + #define IPV6_FRAG_HIGH_THRESH (4 * 1024*1024) /* 4194304 */ +diff --git a/net/core/filter.c b/net/core/filter.c +index 5881944f1681c..4288f45ff54ce 100644 +--- a/net/core/filter.c ++++ b/net/core/filter.c +@@ -6021,7 +6021,7 @@ static int bpf_ipv6_fib_lookup(struct net *net, struct bpf_fib_lookup *params, + return -ENODEV; + + idev = __in6_dev_get_safely(dev); +- if (unlikely(!idev || !idev->cnf.forwarding)) ++ if (unlikely(!idev || !READ_ONCE(idev->cnf.forwarding))) + return BPF_FIB_LKUP_RET_FWD_DISABLED; + + if (flags & BPF_FIB_LOOKUP_OUTPUT) { +diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c +index 8360939acf85a..12c0b1e85cea1 100644 +--- a/net/ipv6/addrconf.c ++++ b/net/ipv6/addrconf.c +@@ -547,7 +547,8 @@ static int inet6_netconf_fill_devconf(struct sk_buff *skb, int ifindex, + goto out; + + if ((all || type == NETCONFA_FORWARDING) && +- nla_put_s32(skb, NETCONFA_FORWARDING, devconf->forwarding) < 0) ++ nla_put_s32(skb, NETCONFA_FORWARDING, ++ READ_ONCE(devconf->forwarding)) < 0) + goto nla_put_failure; + #ifdef CONFIG_IPV6_MROUTE + if ((all || type == NETCONFA_MC_FORWARDING) && +@@ -865,7 +866,8 @@ static void addrconf_forward_change(struct net *net, __s32 newf) + idev = __in6_dev_get(dev); + if (idev) { + int changed = (!idev->cnf.forwarding) ^ (!newf); +- idev->cnf.forwarding = newf; ++ ++ WRITE_ONCE(idev->cnf.forwarding, newf); + if (changed) + dev_forward_change(idev); + } +@@ -882,7 +884,7 @@ static int addrconf_fixup_forwarding(struct ctl_table *table, int *p, int newf) + + net = (struct net *)table->extra2; + old = *p; +- *p = newf; ++ WRITE_ONCE(*p, newf); + + if (p == &net->ipv6.devconf_dflt->forwarding) { + if ((!newf) ^ (!old)) +@@ -897,7 +899,7 @@ static int addrconf_fixup_forwarding(struct ctl_table *table, int *p, int newf) + if (p == &net->ipv6.devconf_all->forwarding) { + int old_dflt = net->ipv6.devconf_dflt->forwarding; + +- net->ipv6.devconf_dflt->forwarding = newf; ++ WRITE_ONCE(net->ipv6.devconf_dflt->forwarding, newf); + if ((!newf) ^ (!old_dflt)) + inet6_netconf_notify_devconf(net, RTM_NEWNETCONF, + NETCONFA_FORWARDING, +diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c +index 2341a4373bb94..46c0dfa8c6f88 100644 +--- a/net/ipv6/ip6_output.c ++++ b/net/ipv6/ip6_output.c +@@ -508,7 +508,7 @@ int ip6_forward(struct sk_buff *skb) + u32 mtu; + + idev = __in6_dev_get_safely(dev_get_by_index_rcu(net, IP6CB(skb)->iif)); +- if (net->ipv6.devconf_all->forwarding == 0) ++ if (READ_ONCE(net->ipv6.devconf_all->forwarding) == 0) + goto error; + + if (skb->pkt_type != PACKET_HOST) +diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c +index 23b46b5705c53..bd73484de3818 100644 +--- a/net/ipv6/ndisc.c ++++ b/net/ipv6/ndisc.c +@@ -905,7 +905,7 @@ static enum skb_drop_reason ndisc_recv_ns(struct sk_buff *skb) + } + + if (ipv6_chk_acast_addr(net, dev, &msg->target) || +- (idev->cnf.forwarding && ++ (READ_ONCE(idev->cnf.forwarding) && + (net->ipv6.devconf_all->proxy_ndp || idev->cnf.proxy_ndp) && + (is_router = pndisc_is_router(&msg->target, dev)) >= 0)) { + if (!(NEIGH_CB(skb)->flags & LOCALLY_ENQUEUED) && +@@ -931,7 +931,7 @@ static enum skb_drop_reason ndisc_recv_ns(struct sk_buff *skb) + } + + if (is_router < 0) +- is_router = idev->cnf.forwarding; ++ is_router = READ_ONCE(idev->cnf.forwarding); + + if (dad) { + ndisc_send_na(dev, &in6addr_linklocal_allnodes, &msg->target, +@@ -1082,7 +1082,7 @@ static enum skb_drop_reason ndisc_recv_na(struct sk_buff *skb) + * Note that we don't do a (daddr == all-routers-mcast) check. + */ + new_state = msg->icmph.icmp6_solicited ? NUD_REACHABLE : NUD_STALE; +- if (!neigh && lladdr && idev && idev->cnf.forwarding) { ++ if (!neigh && lladdr && idev && READ_ONCE(idev->cnf.forwarding)) { + if (accept_untracked_na(dev, saddr)) { + neigh = neigh_create(&nd_tbl, &msg->target, dev); + new_state = NUD_STALE; +@@ -1102,7 +1102,8 @@ static enum skb_drop_reason ndisc_recv_na(struct sk_buff *skb) + * has already sent a NA to us. + */ + if (lladdr && !memcmp(lladdr, dev->dev_addr, dev->addr_len) && +- net->ipv6.devconf_all->forwarding && net->ipv6.devconf_all->proxy_ndp && ++ READ_ONCE(net->ipv6.devconf_all->forwarding) && ++ net->ipv6.devconf_all->proxy_ndp && + pneigh_lookup(&nd_tbl, net, &msg->target, dev, 0)) { + /* XXX: idev->cnf.proxy_ndp */ + goto out; +@@ -1150,7 +1151,7 @@ static enum skb_drop_reason ndisc_recv_rs(struct sk_buff *skb) + } + + /* Don't accept RS if we're not in router mode */ +- if (!idev->cnf.forwarding) ++ if (!READ_ONCE(idev->cnf.forwarding)) + goto out; + + /* +diff --git a/net/ipv6/route.c b/net/ipv6/route.c +index fc5c534620253..4a0b12651777b 100644 +--- a/net/ipv6/route.c ++++ b/net/ipv6/route.c +@@ -2215,7 +2215,7 @@ struct rt6_info *ip6_pol_route(struct net *net, struct fib6_table *table, + + strict |= flags & RT6_LOOKUP_F_IFACE; + strict |= flags & RT6_LOOKUP_F_IGNORE_LINKSTATE; +- if (net->ipv6.devconf_all->forwarding == 0) ++ if (READ_ONCE(net->ipv6.devconf_all->forwarding) == 0) + strict |= RT6_LOOKUP_F_REACHABLE; + + rcu_read_lock(); +@@ -4146,7 +4146,7 @@ static void rt6_do_redirect(struct dst_entry *dst, struct sock *sk, struct sk_bu + in6_dev = __in6_dev_get(skb->dev); + if (!in6_dev) + return; +- if (in6_dev->cnf.forwarding || !in6_dev->cnf.accept_redirects) ++ if (READ_ONCE(in6_dev->cnf.forwarding) || !in6_dev->cnf.accept_redirects) + return; + + /* RFC2461 8.1: diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index 85cfdb77e13..3308eb91143 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -6,7 +6,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/patches $(BR2_EXTERNAL_HASSOS_PATH)/patches" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index e807f8b2176..d642d7a83b2 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -5,7 +5,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/patches $(BR2_EXTERNAL_HASSOS_PATH)/patches" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index 3c9728684c5..dae66b02d33 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -6,7 +6,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/patches $(BR2_EXTERNAL_HASSOS_PATH)/patches" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig index 14ebc40f91d..789ec93b953 100644 --- a/buildroot-external/configs/rpi4_64_defconfig +++ b/buildroot-external/configs/rpi4_64_defconfig @@ -5,7 +5,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/patches $(BR2_EXTERNAL_HASSOS_PATH)/patches" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" diff --git a/buildroot-external/configs/rpi4_defconfig b/buildroot-external/configs/rpi4_defconfig index 4d8e17c8c79..bfb587183fc 100644 --- a/buildroot-external/configs/rpi4_defconfig +++ b/buildroot-external/configs/rpi4_defconfig @@ -6,7 +6,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/patches $(BR2_EXTERNAL_HASSOS_PATH)/patches" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" diff --git a/buildroot-external/configs/rpi5_64_defconfig b/buildroot-external/configs/rpi5_64_defconfig index b8fe0b28ffa..77283beb2f9 100644 --- a/buildroot-external/configs/rpi5_64_defconfig +++ b/buildroot-external/configs/rpi5_64_defconfig @@ -5,7 +5,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/patches $(BR2_EXTERNAL_HASSOS_PATH)/patches" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" diff --git a/buildroot-external/patches/linux/6.12.11/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch b/buildroot-external/patches/linux/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch similarity index 100% rename from buildroot-external/patches/linux/6.12.11/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch rename to buildroot-external/patches/linux/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch From 1d5e86ad77a2d7df07a5fb79b2de98ffc1956484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 4 Feb 2025 13:13:50 +0100 Subject: [PATCH 25/55] Disable UAS via usb-storage.quirks on RPi for JMicron JMS578 (#3857) Reported in/fixes #3827 --- buildroot-external/board/raspberrypi/cmdline.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot-external/board/raspberrypi/cmdline.txt b/buildroot-external/board/raspberrypi/cmdline.txt index 55e3300d091..211e1eec449 100644 --- a/buildroot-external/board/raspberrypi/cmdline.txt +++ b/buildroot-external/board/raspberrypi/cmdline.txt @@ -1 +1 @@ -dwc_otg.lpm_enable=0 console=tty0 usb-storage.quirks=174c:55aa:u,2109:0715:u,152d:0578:u,152d:0579:u,152d:1561:u,174c:0829:u,14b0:0206:u,174c:225c:u,7825:a2a4:u,152d:0562:u,125f:a88a:u,152d:a583:u +dwc_otg.lpm_enable=0 console=tty0 usb-storage.quirks=174c:55aa:u,2109:0715:u,152d:0578:u,152d:0579:u,152d:1561:u,174c:0829:u,14b0:0206:u,174c:225c:u,7825:a2a4:u,152d:0562:u,125f:a88a:u,152d:a583:u,152d:a578:u From aafe82f8018cb2dd1626b12fd904206589ed06f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 4 Feb 2025 18:29:42 +0100 Subject: [PATCH 26/55] RaspberryPi: Update kernel to 6.6.74 - stable_20250127 (#3860) * RaspberryPi: Update kernel to 6.6.74 - stable_20250127 * Bump buildroot to update rpi-firmware * buildroot 71cba6c610...014c3fad50 (1): > package/rpi-firmware: bump to version 1.20250127 for kernel 6.6.74 * Update patch for disabling CQE on CM5 The bool has been changed to a cell, adding the possibility to change the value via sd_cqe dt_param both on CM5 and Pi5. Set it to disabled by default on CM5. --- Documentation/kernel.md | 14 +++++++------- buildroot | 2 +- ...-rpi-Disable-CQE-for-CM5-eMMC-to-work-aro.patch | 4 ++-- buildroot-external/configs/rpi2_defconfig | 2 +- buildroot-external/configs/rpi3_64_defconfig | 2 +- buildroot-external/configs/rpi3_defconfig | 2 +- buildroot-external/configs/rpi4_64_defconfig | 2 +- buildroot-external/configs/rpi4_defconfig | 2 +- buildroot-external/configs/rpi5_64_defconfig | 2 +- buildroot-external/configs/yellow_defconfig | 2 +- 10 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Documentation/kernel.md b/Documentation/kernel.md index be1456c76a8..f0728f15fd5 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -4,13 +4,13 @@ | Board | Version | |-------|---------| | Open Virtual Appliance | 6.12.11 | -| Raspberry Pi | 6.6.62 | -| Raspberry Pi 0-W | 6.6.62 | -| Raspberry Pi 2 | 6.6.62 | -| Raspberry Pi 3 | 6.6.62 | -| Raspberry Pi 4 | 6.6.62 | -| Raspberry Pi 5 | 6.6.62 | -| Home Assistant Yellow | 6.6.62 | +| Raspberry Pi | 6.6.74 | +| Raspberry Pi 0-W | 6.6.74 | +| Raspberry Pi 2 | 6.6.74 | +| Raspberry Pi 3 | 6.6.74 | +| Raspberry Pi 4 | 6.6.74 | +| Raspberry Pi 5 | 6.6.74 | +| Home Assistant Yellow | 6.6.74 | | Home Assistant Green | 6.12.11 | | Tinker Board | 6.12.11 | | ODROID-C2 | 6.12.11 | diff --git a/buildroot b/buildroot index 71cba6c610f..014c3fad50f 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit 71cba6c610ff6a6e7b07934a8e5587977f473d36 +Subproject commit 014c3fad50f35963b63c2cd1a64dd766acee7666 diff --git a/buildroot-external/board/raspberrypi/patches/linux/0003-dts-bcm2712-rpi-Disable-CQE-for-CM5-eMMC-to-work-aro.patch b/buildroot-external/board/raspberrypi/patches/linux/0003-dts-bcm2712-rpi-Disable-CQE-for-CM5-eMMC-to-work-aro.patch index e12955f57cc..53a5181f174 100644 --- a/buildroot-external/board/raspberrypi/patches/linux/0003-dts-bcm2712-rpi-Disable-CQE-for-CM5-eMMC-to-work-aro.patch +++ b/buildroot-external/board/raspberrypi/patches/linux/0003-dts-bcm2712-rpi-Disable-CQE-for-CM5-eMMC-to-work-aro.patch @@ -25,8 +25,8 @@ index 099d14ecf19a4..d49fc876cccc1 100644 mmc-hs400-1_8v; mmc-hs400-enhanced-strobe; broken-cd; -- supports-cqe; -+ //supports-cqe; +- supports-cqe = <1>; ++ supports-cqe = <0>; status = "okay"; }; diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index 3308eb91143..d08d4c193b8 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi2 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/dd2394360860d15146c96635796a75b05bb32b61.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/stable_20250127.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel-armv7.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index d642d7a83b2..d9bc608bad4 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi3-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/dd2394360860d15146c96635796a75b05bb32b61.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/stable_20250127.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi3" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index dae66b02d33..c1a8249c72b 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi3 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/dd2394360860d15146c96635796a75b05bb32b61.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/stable_20250127.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel-armv7.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig index 789ec93b953..15322f71285 100644 --- a/buildroot-external/configs/rpi4_64_defconfig +++ b/buildroot-external/configs/rpi4_64_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi4-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/dd2394360860d15146c96635796a75b05bb32b61.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/stable_20250127.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/rpi4_defconfig b/buildroot-external/configs/rpi4_defconfig index bfb587183fc..8217cfe8676 100644 --- a/buildroot-external/configs/rpi4_defconfig +++ b/buildroot-external/configs/rpi4_defconfig @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi4 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/dd2394360860d15146c96635796a75b05bb32b61.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/stable_20250127.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel-armv7.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/rpi5_64_defconfig b/buildroot-external/configs/rpi5_64_defconfig index 77283beb2f9..0359f82b46c 100644 --- a/buildroot-external/configs/rpi5_64_defconfig +++ b/buildroot-external/configs/rpi5_64_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi5-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi5-64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/dd2394360860d15146c96635796a75b05bb32b61.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/stable_20250127.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2712" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/yellow_defconfig b/buildroot-external/configs/yellow_defconfig index a8d75bbf176..1fa0a81335f 100644 --- a/buildroot-external/configs/yellow_defconfig +++ b/buildroot-external/configs/yellow_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/yellow $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/dd2394360860d15146c96635796a75b05bb32b61.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/stable_20250127.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y From 0ac5f029e675357d51067064c55e49fdc1ca5b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 4 Feb 2025 18:32:36 +0100 Subject: [PATCH 27/55] Linux: Update kernel to 6.12.12 (#3859) * https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.12 --- Documentation/kernel.md | 24 +++++++++---------- .../configs/generic_aarch64_defconfig | 2 +- .../configs/generic_x86_64_defconfig | 2 +- buildroot-external/configs/green_defconfig | 2 +- .../configs/khadas_vim3_defconfig | 2 +- .../configs/odroid_c2_defconfig | 2 +- .../configs/odroid_c4_defconfig | 2 +- .../configs/odroid_m1_defconfig | 2 +- .../configs/odroid_m1s_defconfig | 2 +- .../configs/odroid_n2_defconfig | 2 +- .../configs/odroid_xu4_defconfig | 2 +- buildroot-external/configs/ova_defconfig | 2 +- buildroot-external/configs/tinker_defconfig | 2 +- 13 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Documentation/kernel.md b/Documentation/kernel.md index f0728f15fd5..f18ff955526 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -3,7 +3,7 @@ | Board | Version | |-------|---------| -| Open Virtual Appliance | 6.12.11 | +| Open Virtual Appliance | 6.12.12 | | Raspberry Pi | 6.6.74 | | Raspberry Pi 0-W | 6.6.74 | | Raspberry Pi 2 | 6.6.74 | @@ -11,14 +11,14 @@ | Raspberry Pi 4 | 6.6.74 | | Raspberry Pi 5 | 6.6.74 | | Home Assistant Yellow | 6.6.74 | -| Home Assistant Green | 6.12.11 | -| Tinker Board | 6.12.11 | -| ODROID-C2 | 6.12.11 | -| ODROID-C4 | 6.12.11 | -| ODROID-M1 | 6.12.11 | -| ODROID-M1S | 6.12.11 | -| ODROID-N2 | 6.12.11 | -| ODROID-XU4 | 6.12.11 | -| Generic aarch64 | 6.12.11 | -| Generic x86-64 | 6.12.11 | -| Khadas VIM3 | 6.12.11 | +| Home Assistant Green | 6.12.12 | +| Tinker Board | 6.12.12 | +| ODROID-C2 | 6.12.12 | +| ODROID-C4 | 6.12.12 | +| ODROID-M1 | 6.12.12 | +| ODROID-M1S | 6.12.12 | +| ODROID-N2 | 6.12.12 | +| ODROID-XU4 | 6.12.12 | +| Generic aarch64 | 6.12.12 | +| Generic x86-64 | 6.12.12 | +| Khadas VIM3 | 6.12.12 | diff --git a/buildroot-external/configs/generic_aarch64_defconfig b/buildroot-external/configs/generic_aarch64_defconfig index 9f3f05b024c..b9d577d2ebc 100644 --- a/buildroot-external/configs/generic_aarch64_defconfig +++ b/buildroot-external/configs/generic_aarch64_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64 $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/generic_x86_64_defconfig b/buildroot-external/configs/generic_x86_64_defconfig index 7f7e3e2fcfb..ea4514017bd 100644 --- a/buildroot-external/configs/generic_x86_64_defconfig +++ b/buildroot-external/configs/generic_x86_64_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/green_defconfig b/buildroot-external/configs/green_defconfig index e8c3b0a0850..e89fb23f497 100755 --- a/buildroot-external/configs/green_defconfig +++ b/buildroot-external/configs/green_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/kernel.config" diff --git a/buildroot-external/configs/khadas_vim3_defconfig b/buildroot-external/configs/khadas_vim3_defconfig index 5dc77e38223..3fd5779d185 100644 --- a/buildroot-external/configs/khadas_vim3_defconfig +++ b/buildroot-external/configs/khadas_vim3_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3 $(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/kernel-vim.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 76333d298fa..d5c0cbd9687 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index 71c1c30d2b9..9a99a33ce2b 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_m1_defconfig b/buildroot-external/configs/odroid_m1_defconfig index 5418562fc81..d53a15749a6 100644 --- a/buildroot-external/configs/odroid_m1_defconfig +++ b/buildroot-external/configs/odroid_m1_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/kernel.config" diff --git a/buildroot-external/configs/odroid_m1s_defconfig b/buildroot-external/configs/odroid_m1s_defconfig index cd731ba4fb2..051736cd401 100644 --- a/buildroot-external/configs/odroid_m1s_defconfig +++ b/buildroot-external/configs/odroid_m1s_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/kernel.config" diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index d77f5866509..4061b82e48e 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/kernel.config" diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index b02535242fd..71bff8cd1fe 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" BR2_LINUX_KERNEL_DEFCONFIG="exynos" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index b9922d42726..dd4cee6a1dd 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 73fc8831468..d4682fa30d1 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker $(BR2_EXTERNAL_HASSOS_PATH)/board/asus/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/kernel.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" From 2dda7a0e75236e106b5053dfabd027c8281ed53f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 4 Feb 2025 18:33:52 +0100 Subject: [PATCH 28/55] Enable Intel 40 Gigabit ethernet driver module for x86-64 and OVA (#3858) Enable Intel 40 Gigabit (aka 700 series) driver, used e.g. on MinisForum MS-01 for the SFP+ ports. Fixes #3751 --- buildroot-external/kernel/v6.12.y/device-support-pci.config | 1 + 1 file changed, 1 insertion(+) diff --git a/buildroot-external/kernel/v6.12.y/device-support-pci.config b/buildroot-external/kernel/v6.12.y/device-support-pci.config index f35f80ff201..3b9f0da0241 100644 --- a/buildroot-external/kernel/v6.12.y/device-support-pci.config +++ b/buildroot-external/kernel/v6.12.y/device-support-pci.config @@ -1,4 +1,5 @@ CONFIG_IGB=y +CONFIG_I40E=m CONFIG_IGC=m CONFIG_NET_VENDOR_AQUANTIA=y From 970cd4dfeb94ca797e5c0f48c453818fa63f3f55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Wed, 5 Feb 2025 18:18:45 +0100 Subject: [PATCH 29/55] Fix order of patches for Yellow (#3862) After #3856, we need to change the patch order also for Yellow. --- buildroot-external/configs/yellow_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot-external/configs/yellow_defconfig b/buildroot-external/configs/yellow_defconfig index 1fa0a81335f..1d0a44f0c63 100644 --- a/buildroot-external/configs/yellow_defconfig +++ b/buildroot-external/configs/yellow_defconfig @@ -5,7 +5,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/yellow/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/patches $(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/yellow/patches" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" From 072ba9badefbec3957d8d83b7ab3e9f778fcf6f8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Feb 2025 14:57:53 +0100 Subject: [PATCH 30/55] Bump docker/setup-buildx-action from 3.8.0 to 3.9.0 (#3869) Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.8.0 to 3.9.0. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/v3.8.0...v3.9.0) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index df9b7bac5f6..06ec65163a9 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -136,7 +136,7 @@ jobs: } - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3.8.0 + uses: docker/setup-buildx-action@v3.9.0 - name: Log in to the GitHub container registry uses: docker/login-action@v3.3.0 with: From 43d26c8c5435cdc8b9241fb8909280ebee37075a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Mon, 10 Feb 2025 15:35:54 +0100 Subject: [PATCH 31/55] Linux: Update kernel to 6.12.13 (#3868) * https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.13 --- Documentation/kernel.md | 24 +++++++++---------- .../configs/generic_aarch64_defconfig | 2 +- .../configs/generic_x86_64_defconfig | 2 +- buildroot-external/configs/green_defconfig | 2 +- .../configs/khadas_vim3_defconfig | 2 +- .../configs/odroid_c2_defconfig | 2 +- .../configs/odroid_c4_defconfig | 2 +- .../configs/odroid_m1_defconfig | 2 +- .../configs/odroid_m1s_defconfig | 2 +- .../configs/odroid_n2_defconfig | 2 +- .../configs/odroid_xu4_defconfig | 2 +- buildroot-external/configs/ova_defconfig | 2 +- buildroot-external/configs/tinker_defconfig | 2 +- 13 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Documentation/kernel.md b/Documentation/kernel.md index f18ff955526..268d651bdac 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -3,7 +3,7 @@ | Board | Version | |-------|---------| -| Open Virtual Appliance | 6.12.12 | +| Open Virtual Appliance | 6.12.13 | | Raspberry Pi | 6.6.74 | | Raspberry Pi 0-W | 6.6.74 | | Raspberry Pi 2 | 6.6.74 | @@ -11,14 +11,14 @@ | Raspberry Pi 4 | 6.6.74 | | Raspberry Pi 5 | 6.6.74 | | Home Assistant Yellow | 6.6.74 | -| Home Assistant Green | 6.12.12 | -| Tinker Board | 6.12.12 | -| ODROID-C2 | 6.12.12 | -| ODROID-C4 | 6.12.12 | -| ODROID-M1 | 6.12.12 | -| ODROID-M1S | 6.12.12 | -| ODROID-N2 | 6.12.12 | -| ODROID-XU4 | 6.12.12 | -| Generic aarch64 | 6.12.12 | -| Generic x86-64 | 6.12.12 | -| Khadas VIM3 | 6.12.12 | +| Home Assistant Green | 6.12.13 | +| Tinker Board | 6.12.13 | +| ODROID-C2 | 6.12.13 | +| ODROID-C4 | 6.12.13 | +| ODROID-M1 | 6.12.13 | +| ODROID-M1S | 6.12.13 | +| ODROID-N2 | 6.12.13 | +| ODROID-XU4 | 6.12.13 | +| Generic aarch64 | 6.12.13 | +| Generic x86-64 | 6.12.13 | +| Khadas VIM3 | 6.12.13 | diff --git a/buildroot-external/configs/generic_aarch64_defconfig b/buildroot-external/configs/generic_aarch64_defconfig index b9d577d2ebc..fc13ccedffa 100644 --- a/buildroot-external/configs/generic_aarch64_defconfig +++ b/buildroot-external/configs/generic_aarch64_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64 $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/generic_x86_64_defconfig b/buildroot-external/configs/generic_x86_64_defconfig index ea4514017bd..f67c710dae4 100644 --- a/buildroot-external/configs/generic_x86_64_defconfig +++ b/buildroot-external/configs/generic_x86_64_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/green_defconfig b/buildroot-external/configs/green_defconfig index e89fb23f497..11084b768b0 100755 --- a/buildroot-external/configs/green_defconfig +++ b/buildroot-external/configs/green_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/kernel.config" diff --git a/buildroot-external/configs/khadas_vim3_defconfig b/buildroot-external/configs/khadas_vim3_defconfig index 3fd5779d185..9c521b66657 100644 --- a/buildroot-external/configs/khadas_vim3_defconfig +++ b/buildroot-external/configs/khadas_vim3_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3 $(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/kernel-vim.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index d5c0cbd9687..43448e9392d 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index 9a99a33ce2b..378e881e4ca 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_m1_defconfig b/buildroot-external/configs/odroid_m1_defconfig index d53a15749a6..75c5cabacec 100644 --- a/buildroot-external/configs/odroid_m1_defconfig +++ b/buildroot-external/configs/odroid_m1_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/kernel.config" diff --git a/buildroot-external/configs/odroid_m1s_defconfig b/buildroot-external/configs/odroid_m1s_defconfig index 051736cd401..41e42a4d675 100644 --- a/buildroot-external/configs/odroid_m1s_defconfig +++ b/buildroot-external/configs/odroid_m1s_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/kernel.config" diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index 4061b82e48e..4dc609a42f8 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/kernel.config" diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index 71bff8cd1fe..d101874dfa2 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" BR2_LINUX_KERNEL_DEFCONFIG="exynos" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index dd4cee6a1dd..ec78d3f3b25 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index d4682fa30d1..b707ef4a3eb 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker $(BR2_EXTERNAL_HASSOS_PATH)/board/asus/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/kernel.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" From 5fcf2932a61b84257742e8ebaa060ca04358cd46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Wed, 12 Feb 2025 22:10:42 +0100 Subject: [PATCH 32/55] Update firmware for Intel Wi-Fi 6/6E/7 cards, bump linux-firmware to 20240513 (#3876) * buildroot 014c3fad50...74994c4f32 (2): > package/linux-firmware: update Intel iwlwifi firmware versions for Linux 6.12 > package/linux-firmware: bump version to 20240513 --- buildroot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot b/buildroot index 014c3fad50f..74994c4f32f 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit 014c3fad50f35963b63c2cd1a64dd766acee7666 +Subproject commit 74994c4f32fd6f7abe5400aff454ef5e20651d6c From 3a666bbeea85ea776b0db341231d6a9aacd0e0dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Fri, 14 Feb 2025 12:27:39 +0100 Subject: [PATCH 33/55] Use EROFS LZMA compression of firmware on x86 instead of per-file ZSTD (#3877) Instead of using per-file ZSTD compression, compress firmware (and newly also kernel modules) using LZMA within EROFS image. LZMA was picked because ZSTD support in EROFS is still experimental and due to some limitations in the implementation, the compression takes significantly more time. This change gives us more control over compression of the files and with the proposed settings, saves a bit of the space (~10 MiB) in the resulting image. In theory, even higher savings could be achieved through compressing other runtime binaries, but this would need to be thoroughly tested whether it doesn't have any detrimental effects. For firmware and modules, the overhead should be minimal, as they are usually touched only once per boot and are rather small before decompression. * buildroot 74994c4f32...92fab35fed (6): > fs/erofs: add custom compression option with optional compress-hints file > package/erofs-utils: bump to version 1.8.5 > package/erofs-utils: bump to version 1.8.3 > package/erofs-utils: bump to version 1.8.2 > package/erofs-utils: bump to version 1.8.1 > package/erofs-utils: add libdeflate and zlib optional dependencies --- buildroot | 2 +- .../board/pc/generic-x86-64/erofs-compress-hints.txt | 3 +++ buildroot-external/configs/generic_x86_64_defconfig | 6 +++--- buildroot-external/kernel/v6.12.y/hassos.config | 1 + 4 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 buildroot-external/board/pc/generic-x86-64/erofs-compress-hints.txt diff --git a/buildroot b/buildroot index 74994c4f32f..92fab35fede 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit 74994c4f32fd6f7abe5400aff454ef5e20651d6c +Subproject commit 92fab35fede435d7df72b118a02f83334241f074 diff --git a/buildroot-external/board/pc/generic-x86-64/erofs-compress-hints.txt b/buildroot-external/board/pc/generic-x86-64/erofs-compress-hints.txt new file mode 100644 index 00000000000..eaf95343e00 --- /dev/null +++ b/buildroot-external/board/pc/generic-x86-64/erofs-compress-hints.txt @@ -0,0 +1,3 @@ +# assumed -zlz4hc,12:lzma,9 for optimal compression +16384 1 usr/lib/firmware/ +16384 1 usr/lib/modules/ diff --git a/buildroot-external/configs/generic_x86_64_defconfig b/buildroot-external/configs/generic_x86_64_defconfig index f67c710dae4..53508a476d0 100644 --- a/buildroot-external/configs/generic_x86_64_defconfig +++ b/buildroot-external/configs/generic_x86_64_defconfig @@ -33,8 +33,6 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_AMDGPU=y BR2_PACKAGE_LINUX_FIRMWARE_I915=y BR2_PACKAGE_LINUX_FIRMWARE_IBT=y @@ -156,7 +154,9 @@ BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_TARGET_ROOTFS_EROFS=y -BR2_TARGET_ROOTFS_EROFS_LZ4HC_LEVEL=12 +BR2_TARGET_ROOTFS_EROFS_CUSTOM_COMPRESSION=y +BR2_TARGET_ROOTFS_EROFS_COMPRESSION_ALGORITHMS="lz4hc,12:lzma,9" +BR2_TARGET_ROOTFS_EROFS_COMPRESSION_HINTS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/erofs-compress-hints.txt" BR2_TARGET_ROOTFS_EROFS_DEDUPE=y BR2_TARGET_ROOTFS_EROFS_FRAGMENTS=y BR2_TARGET_ROOTFS_EROFS_ZTAILPACKING=y diff --git a/buildroot-external/kernel/v6.12.y/hassos.config b/buildroot-external/kernel/v6.12.y/hassos.config index 0742acda736..da9337ef7da 100644 --- a/buildroot-external/kernel/v6.12.y/hassos.config +++ b/buildroot-external/kernel/v6.12.y/hassos.config @@ -36,6 +36,7 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y CONFIG_MISC_FILESYSTEMS=y CONFIG_BLOCK=y CONFIG_EROFS_FS=y +CONFIG_EROFS_FS_ZIP_LZMA=y CONFIG_EXT4_FS=y CONFIG_MSDOS_FS=y CONFIG_VFAT_FS=y From 22ed3864ddde027b5e717e1a690ff7a95827032b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 18 Feb 2025 11:41:09 +0100 Subject: [PATCH 34/55] Linux: Update kernel to 6.12.14 (#3881) * https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.14 --- Documentation/kernel.md | 24 +++++++++---------- .../configs/generic_aarch64_defconfig | 2 +- .../configs/generic_x86_64_defconfig | 2 +- buildroot-external/configs/green_defconfig | 2 +- .../configs/khadas_vim3_defconfig | 2 +- .../configs/odroid_c2_defconfig | 2 +- .../configs/odroid_c4_defconfig | 2 +- .../configs/odroid_m1_defconfig | 2 +- .../configs/odroid_m1s_defconfig | 2 +- .../configs/odroid_n2_defconfig | 2 +- .../configs/odroid_xu4_defconfig | 2 +- buildroot-external/configs/ova_defconfig | 2 +- buildroot-external/configs/tinker_defconfig | 2 +- 13 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Documentation/kernel.md b/Documentation/kernel.md index 268d651bdac..80feb6cd999 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -3,7 +3,7 @@ | Board | Version | |-------|---------| -| Open Virtual Appliance | 6.12.13 | +| Open Virtual Appliance | 6.12.14 | | Raspberry Pi | 6.6.74 | | Raspberry Pi 0-W | 6.6.74 | | Raspberry Pi 2 | 6.6.74 | @@ -11,14 +11,14 @@ | Raspberry Pi 4 | 6.6.74 | | Raspberry Pi 5 | 6.6.74 | | Home Assistant Yellow | 6.6.74 | -| Home Assistant Green | 6.12.13 | -| Tinker Board | 6.12.13 | -| ODROID-C2 | 6.12.13 | -| ODROID-C4 | 6.12.13 | -| ODROID-M1 | 6.12.13 | -| ODROID-M1S | 6.12.13 | -| ODROID-N2 | 6.12.13 | -| ODROID-XU4 | 6.12.13 | -| Generic aarch64 | 6.12.13 | -| Generic x86-64 | 6.12.13 | -| Khadas VIM3 | 6.12.13 | +| Home Assistant Green | 6.12.14 | +| Tinker Board | 6.12.14 | +| ODROID-C2 | 6.12.14 | +| ODROID-C4 | 6.12.14 | +| ODROID-M1 | 6.12.14 | +| ODROID-M1S | 6.12.14 | +| ODROID-N2 | 6.12.14 | +| ODROID-XU4 | 6.12.14 | +| Generic aarch64 | 6.12.14 | +| Generic x86-64 | 6.12.14 | +| Khadas VIM3 | 6.12.14 | diff --git a/buildroot-external/configs/generic_aarch64_defconfig b/buildroot-external/configs/generic_aarch64_defconfig index fc13ccedffa..b0da2d7020e 100644 --- a/buildroot-external/configs/generic_aarch64_defconfig +++ b/buildroot-external/configs/generic_aarch64_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64 $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/generic_x86_64_defconfig b/buildroot-external/configs/generic_x86_64_defconfig index 53508a476d0..3858ae4171e 100644 --- a/buildroot-external/configs/generic_x86_64_defconfig +++ b/buildroot-external/configs/generic_x86_64_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/green_defconfig b/buildroot-external/configs/green_defconfig index 11084b768b0..4f5591282af 100755 --- a/buildroot-external/configs/green_defconfig +++ b/buildroot-external/configs/green_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/kernel.config" diff --git a/buildroot-external/configs/khadas_vim3_defconfig b/buildroot-external/configs/khadas_vim3_defconfig index 9c521b66657..47b0135fcad 100644 --- a/buildroot-external/configs/khadas_vim3_defconfig +++ b/buildroot-external/configs/khadas_vim3_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3 $(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/kernel-vim.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 43448e9392d..4f4fc585141 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index 378e881e4ca..fd41cba2cd4 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_m1_defconfig b/buildroot-external/configs/odroid_m1_defconfig index 75c5cabacec..1d8e203831d 100644 --- a/buildroot-external/configs/odroid_m1_defconfig +++ b/buildroot-external/configs/odroid_m1_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/kernel.config" diff --git a/buildroot-external/configs/odroid_m1s_defconfig b/buildroot-external/configs/odroid_m1s_defconfig index 41e42a4d675..c16a7882b8f 100644 --- a/buildroot-external/configs/odroid_m1s_defconfig +++ b/buildroot-external/configs/odroid_m1s_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/kernel.config" diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index 4dc609a42f8..34be74af293 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/kernel.config" diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index d101874dfa2..5ba78859d8e 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" BR2_LINUX_KERNEL_DEFCONFIG="exynos" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index ec78d3f3b25..9fd566a5e21 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index b707ef4a3eb..2818fb83dc3 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker $(BR2_EXTERNAL_HASSOS_PATH)/board/asus/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/kernel.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" From dc7b6936917cdfbb8f663cbdcec2cd1e4339e98e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 18 Feb 2025 13:48:24 +0100 Subject: [PATCH 35/55] Update U-Boot to 2025.01 (#3878) * Refresh fileenv patch for U-Boot 2025.01 * Update Tinker to U-Boot 2025.01 Needs minor patch adjustment, also fixed patch numbering. * Update ODROID-N2 to U-Boot 2025.01, move eMMC patch Move the patch for eMMC so it's applied only for N2 specifically and update it for 2025.01. * Update ODROID-C/XU to U-Boot 2025.01 No changes in patches necessary after moving the N2 patch. * Update RPi boards to U-Boot 2025.01 Changes needed in bcmstb PCIe driver due to upstream refactoring, rest only refreshed. All patches now target the same version, so we can drop one of the series. * Update VIM3 to U-Boot 2025.01 No patches here, just version bump. * Update Green to U-Boot 2025.01 Updated and refreshed patches, added a patch to disable OF_UPSTREAM which is now needed. * Update ODROID-M1 to U-Boot 2025.01 Drop patch that has been mostly merged upstream. The change is that HS400 would stay enabled but let's get back to what upstream does. * Update ODROID-M1 to U-Boot 2025.01 Drop all patches as M1S support should be now merged to U-Boot and DTS taken from upstream. * Disable DFU and mkeficapsule to fix build mkeficapsule requires gnutls to be built first but it's not among dependencies. Since we don't need the tool, we can disable it. DFU is also not used on HAOS and it implies EFI_LOADER that we already disable. Moreover, that also sets SET_DFU_ALT_INFO and leads to linker failure on some platforms where it's not implemented. * fixup! Update Green to U-Boot 2025.01 There were more changes needed in the Green config to use correct memory layout due to upstream changes, otherwise we'll have malloc failures in U-Boot proper. * Move N2 eMMC patch to more generic patches-meson To stay on the safe side, move the eMMC hack to more generic folder that's used for all targets using the meson_gx eMMC driver (i.e. C2, C4 and N2). This is still better than keeping it in hardkernel/patches which is applied only to some hardkernel boards (like it was before bump to U-Boot 20205.01). --- ...ic-enable-LDO2-vcc33_mipi-at-bootup.patch} | 22 +- ...Disable-eMMC-DDR52-mode-enable-HS200.patch | 46 - ...d-rockchip-Add-Hardkernel-ODROID-M1S.patch | 1049 ----------------- ...0002-Apply-fixes-for-mainline-u-boot.patch | 48 - .../0003-Improve-reliability-of-eMMC.patch | 44 - .../uboot/0004-Fix-ethernet-properties.patch | 52 - ...x-limit-f_max-to-24-MHz-on-the-first.patch | 20 +- ...rch-arm-dts-Add-NabuCasa-Green-board.patch | 33 +- .../0002-configs-green-Support-USB-boot.patch | 7 +- ...arch-arm-dts-rk3566-green-boot-order.patch | 9 +- ...004-arch-arm-dts-green-spi-nor-uboot.patch | 11 +- ...Green-board-to-read-board-specific-E.patch | 34 +- ...l-loader-uboot-order-sd-emmc-spi_nor.patch | 7 +- .../0007-green-Fix-SPI-Flash-alias.patch | 7 +- ...-green-drop-SPI-NOR-flash-partitions.patch | 7 +- ...not-use-eMMC-DDR52-mode-enable-HS200.patch | 6 +- ...dts-green-Improve-LED-representation.patch | 4 +- ...x-bss-and-stack-address-and-disable-.patch | 93 ++ .../0001-rpi-add-NVMe-to-boot-order.patch | 4 +- ...ect-the-prps-per-page-calculation-me.patch | 4 +- ...ke-driver-compatible-with-downstream.patch | 4 +- ...prove-readability-of-nvme_setup_prps.patch | 4 +- ...se-pointer-for-CPU-addressed-buffers.patch | 8 +- ...irtual-addresses-into-the-bus-s-addr.patch | 6 +- ...-Check-region-ranges-are-addressable.patch | 4 +- ...stb-Add-Broadcom-STB-reset-controlle.patch | 8 +- ...stb-rescal-Add-Broadcom-RESCAL-reset.patch | 8 +- ...b-Add-basic-support-for-BCM2712-PCIe.patch | 127 +- ...RM-bcm2835-add-BCM2712-config-option.patch | 16 +- ...-HACK-add-DT-property-for-skipping-d.patch | 10 +- ...FIG_OF_BOARD-instead-of-CONFIG_EMBED.patch | 82 -- .../0002-rpi-add-NVMe-to-boot-order.patch | 26 - ...ect-the-prps-per-page-calculation-me.patch | 40 - ...ke-driver-compatible-with-downstream.patch | 30 - ...prove-readability-of-nvme_setup_prps.patch | 46 - ...se-pointer-for-CPU-addressed-buffers.patch | 261 ---- ...irtual-addresses-into-the-bus-s-addr.patch | 173 --- ...-Check-region-ranges-are-addressable.patch | 47 - ...cm283x-don-t-explicitly-disable-init.patch | 12 +- ...cm283x-allow-to-spawn-any-PL011-UART.patch | 12 +- buildroot-external/bootloader/uboot.config | 3 + buildroot-external/configs/green_defconfig | 2 +- .../configs/khadas_vim3_defconfig | 2 +- .../configs/odroid_c2_defconfig | 4 +- .../configs/odroid_c4_defconfig | 4 +- .../configs/odroid_m1_defconfig | 4 +- .../configs/odroid_m1s_defconfig | 2 +- .../configs/odroid_n2_defconfig | 4 +- .../configs/odroid_xu4_defconfig | 4 +- buildroot-external/configs/rpi2_defconfig | 2 +- buildroot-external/configs/rpi3_64_defconfig | 2 +- buildroot-external/configs/rpi3_defconfig | 2 +- buildroot-external/configs/rpi4_64_defconfig | 2 +- buildroot-external/configs/rpi4_defconfig | 2 +- buildroot-external/configs/tinker_defconfig | 2 +- buildroot-external/configs/yellow_defconfig | 2 +- ...01-CMD-read-string-from-fileinto-env.patch | 16 +- 57 files changed, 303 insertions(+), 2187 deletions(-) rename buildroot-external/board/asus/tinker/patches/uboot/{0002-pmic-enable-LDO2-vcc33_mipi-at-bootup.patch => 0001-pmic-enable-LDO2-vcc33_mipi-at-bootup.patch} (77%) delete mode 100644 buildroot-external/board/hardkernel/odroid-m1/patches/uboot/0001-odroid-m1-Disable-eMMC-DDR52-mode-enable-HS200.patch delete mode 100644 buildroot-external/board/hardkernel/odroid-m1s/patches/uboot/0001-board-rockchip-Add-Hardkernel-ODROID-M1S.patch delete mode 100644 buildroot-external/board/hardkernel/odroid-m1s/patches/uboot/0002-Apply-fixes-for-mainline-u-boot.patch delete mode 100644 buildroot-external/board/hardkernel/odroid-m1s/patches/uboot/0003-Improve-reliability-of-eMMC.patch delete mode 100644 buildroot-external/board/hardkernel/odroid-m1s/patches/uboot/0004-Fix-ethernet-properties.patch rename buildroot-external/board/hardkernel/{patches/uboot => patches-meson}/0001-HACK-mmc-meson-gx-limit-f_max-to-24-MHz-on-the-first.patch (83%) create mode 100644 buildroot-external/board/nabucasa/green/patches/uboot/0011-configs-green-fix-bss-and-stack-address-and-disable-.patch rename buildroot-external/board/raspberrypi/patches/uboot/{2024.10 => }/0001-rpi-add-NVMe-to-boot-order.patch (86%) rename buildroot-external/board/raspberrypi/patches/uboot/{2024.10 => }/0002-Revert-nvme-Correct-the-prps-per-page-calculation-me.patch (92%) rename buildroot-external/board/raspberrypi/patches/uboot/{2024.10 => }/0003-usb-xhci-brcm-Make-driver-compatible-with-downstream.patch (88%) rename buildroot-external/board/raspberrypi/patches/uboot/{2024.10 => }/0004-nvme-improve-readability-of-nvme_setup_prps.patch (93%) rename buildroot-external/board/raspberrypi/patches/uboot/{2024.10 => }/0005-nvme-Use-pointer-for-CPU-addressed-buffers.patch (97%) rename buildroot-external/board/raspberrypi/patches/uboot/{2024.10 => }/0006-nvme-translate-virtual-addresses-into-the-bus-s-addr.patch (97%) rename buildroot-external/board/raspberrypi/patches/uboot/{2024.10 => }/0007-Revert-pci-Check-region-ranges-are-addressable.patch (93%) rename buildroot-external/board/raspberrypi/patches/uboot/{2024.10 => }/0008-reset-reset-brcmstb-Add-Broadcom-STB-reset-controlle.patch (96%) rename buildroot-external/board/raspberrypi/patches/uboot/{2024.10 => }/0009-reset-reset-brcmstb-rescal-Add-Broadcom-RESCAL-reset.patch (96%) rename buildroot-external/board/raspberrypi/patches/uboot/{2024.10 => }/0010-pci-pcie-brcmstb-Add-basic-support-for-BCM2712-PCIe.patch (74%) rename buildroot-external/board/raspberrypi/patches/uboot/{2024.10 => }/0011-ARM-bcm2835-add-BCM2712-config-option.patch (80%) rename buildroot-external/board/raspberrypi/patches/uboot/{2024.10 => }/0012-pci-pcie-brcmstb-HACK-add-DT-property-for-skipping-d.patch (85%) delete mode 100644 buildroot-external/board/raspberrypi/patches/uboot/2024.01/0001-rpi-Use-CONFIG_OF_BOARD-instead-of-CONFIG_EMBED.patch delete mode 100644 buildroot-external/board/raspberrypi/patches/uboot/2024.01/0002-rpi-add-NVMe-to-boot-order.patch delete mode 100644 buildroot-external/board/raspberrypi/patches/uboot/2024.01/0003-Revert-nvme-Correct-the-prps-per-page-calculation-me.patch delete mode 100644 buildroot-external/board/raspberrypi/patches/uboot/2024.01/0004-usb-xhci-brcm-Make-driver-compatible-with-downstream.patch delete mode 100644 buildroot-external/board/raspberrypi/patches/uboot/2024.01/0005-nvme-improve-readability-of-nvme_setup_prps.patch delete mode 100644 buildroot-external/board/raspberrypi/patches/uboot/2024.01/0006-nvme-Use-pointer-for-CPU-addressed-buffers.patch delete mode 100644 buildroot-external/board/raspberrypi/patches/uboot/2024.01/0007-nvme-translate-virtual-addresses-into-the-bus-s-addr.patch delete mode 100644 buildroot-external/board/raspberrypi/patches/uboot/2024.01/0008-Revert-pci-Check-region-ranges-are-addressable.patch diff --git a/buildroot-external/board/asus/tinker/patches/uboot/0002-pmic-enable-LDO2-vcc33_mipi-at-bootup.patch b/buildroot-external/board/asus/tinker/patches/uboot/0001-pmic-enable-LDO2-vcc33_mipi-at-bootup.patch similarity index 77% rename from buildroot-external/board/asus/tinker/patches/uboot/0002-pmic-enable-LDO2-vcc33_mipi-at-bootup.patch rename to buildroot-external/board/asus/tinker/patches/uboot/0001-pmic-enable-LDO2-vcc33_mipi-at-bootup.patch index 63abf7eef8d..8809162bb6b 100644 --- a/buildroot-external/board/asus/tinker/patches/uboot/0002-pmic-enable-LDO2-vcc33_mipi-at-bootup.patch +++ b/buildroot-external/board/asus/tinker/patches/uboot/0001-pmic-enable-LDO2-vcc33_mipi-at-bootup.patch @@ -1,31 +1,30 @@ -From defc964eaa9f4ccc9cd1568ade4e4d81f35b9e07 Mon Sep 17 00:00:00 2001 +From 78bd1a46cfc585773719963ce8e0a380e9676a93 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 24 Apr 2020 11:37:55 +0000 Subject: [PATCH] pmic: enable LDO2 vcc33_mipi at bootup Signed-off-by: Pascal Vizeli --- - board/rockchip/tinker_rk3288/tinker-rk3288.c | 37 ++++++++++++++++++++ - 1 file changed, 37 insertions(+) + board/rockchip/tinker_rk3288/tinker-rk3288.c | 36 ++++++++++++++++++++ + 1 file changed, 36 insertions(+) diff --git a/board/rockchip/tinker_rk3288/tinker-rk3288.c b/board/rockchip/tinker_rk3288/tinker-rk3288.c -index f85209c649..6fa1bb0c66 100644 +index e966e9f201a..2944d8c084f 100644 --- a/board/rockchip/tinker_rk3288/tinker-rk3288.c +++ b/board/rockchip/tinker_rk3288/tinker-rk3288.c -@@ -13,6 +13,7 @@ +@@ -9,6 +9,7 @@ + #include + #include #include - #include - #include +#include static int get_ethaddr_from_eeprom(u8 *addr) { -@@ -48,3 +49,39 @@ int mmc_get_env_dev(void) +@@ -34,3 +35,38 @@ int rk3288_board_late_init(void) - return 1; + return 0; } + -+ +#ifdef CONFIG_DM_PMIC +static int rockchip_set_regulator_on(const char *name, uint uv) +{ @@ -60,6 +59,3 @@ index f85209c649..6fa1bb0c66 100644 + return 0; +} +#endif --- -2.43.0 - diff --git a/buildroot-external/board/hardkernel/odroid-m1/patches/uboot/0001-odroid-m1-Disable-eMMC-DDR52-mode-enable-HS200.patch b/buildroot-external/board/hardkernel/odroid-m1/patches/uboot/0001-odroid-m1-Disable-eMMC-DDR52-mode-enable-HS200.patch deleted file mode 100644 index 40dd8754fd9..00000000000 --- a/buildroot-external/board/hardkernel/odroid-m1/patches/uboot/0001-odroid-m1-Disable-eMMC-DDR52-mode-enable-HS200.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 023bc5bd23d3239494bca81d807d3c093f78c131 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= -Date: Thu, 8 Aug 2024 17:52:47 +0200 -Subject: [PATCH] odroid-m1: Disable eMMC DDR52 mode, enable HS200 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Disable DDR52 mode on odroid-m1 to fix eMMC writes. Also enable HS200, -as it's supposed to work more reliably than slower modes. - -Signed-off-by: Jan Čermák -Upstream: https://patchwork.ozlabs.org/project/uboot/cover/20240204205312.2342868-1-jonas@kwiboo.se/ ---- - arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi | 3 --- - configs/odroid-m1-rk3568_defconfig | 2 ++ - 2 files changed, 2 insertions(+), 3 deletions(-) - -diff --git a/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi b/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi -index 0fc360b06d..f9d34d3b77 100644 ---- a/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi -+++ b/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi -@@ -14,10 +14,7 @@ - - &sdhci { - cap-mmc-highspeed; -- mmc-ddr-1_8v; - mmc-hs200-1_8v; -- mmc-hs400-1_8v; -- mmc-hs400-enhanced-strobe; - pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; - }; - -diff --git a/configs/odroid-m1-rk3568_defconfig b/configs/odroid-m1-rk3568_defconfig -index 96b4e9ecda..517ac0575d 100644 ---- a/configs/odroid-m1-rk3568_defconfig -+++ b/configs/odroid-m1-rk3568_defconfig -@@ -72,6 +72,8 @@ CONFIG_ROCKCHIP_GPIO=y - CONFIG_SYS_I2C_ROCKCHIP=y - CONFIG_MISC=y - CONFIG_SUPPORT_EMMC_RPMB=y -+CONFIG_MMC_HS200_SUPPORT=y -+CONFIG_SPL_MMC_HS200_SUPPORT=y - CONFIG_MMC_DW=y - CONFIG_MMC_DW_ROCKCHIP=y - CONFIG_MMC_SDHCI=y diff --git a/buildroot-external/board/hardkernel/odroid-m1s/patches/uboot/0001-board-rockchip-Add-Hardkernel-ODROID-M1S.patch b/buildroot-external/board/hardkernel/odroid-m1s/patches/uboot/0001-board-rockchip-Add-Hardkernel-ODROID-M1S.patch deleted file mode 100644 index f586c96aaee..00000000000 --- a/buildroot-external/board/hardkernel/odroid-m1s/patches/uboot/0001-board-rockchip-Add-Hardkernel-ODROID-M1S.patch +++ /dev/null @@ -1,1049 +0,0 @@ -From f7bc9a62a5ff7e8b95d902103b12c6ace208d11a Mon Sep 17 00:00:00 2001 -From: Dongjin Kim -Date: Thu, 25 Jan 2024 16:02:51 +0900 -Subject: [PATCH] board: rockchip: Add Hardkernel ODROID-M1S - -Hardkernel ODROID-M1S is a single board computer with a RK3566 SoC, -a slightly modified version of the RK3566 SoC. - -Features tested on a ODROID-M1S 8GB v1.0 2023-08-10: - - SD-card boot - - eMMC boot - - PCIe/NVMe - -Signed-off-by: Dongjin Kim -Message ID: 20240125070252.2057679-1-tobetter@gmail.com ---- - arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi | 28 + - arch/arm/dts/rk3566-odroid-m1s.dts | 665 +++++++++++++++++++++ - arch/arm/mach-rockchip/rk3568/Kconfig | 6 + - board/hardkernel/odroid_m1s/Kconfig | 15 + - board/hardkernel/odroid_m1s/MAINTAINERS | 9 + - board/hardkernel/odroid_m1s/Makefile | 7 + - board/hardkernel/odroid_m1s/board.c | 81 +++ - configs/odroid-m1s-rk3566_defconfig | 109 ++++ - doc/board/rockchip/rockchip.rst | 1 + - include/configs/odroid_m1s.h | 12 + - 10 files changed, 933 insertions(+) - create mode 100644 arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi - create mode 100644 arch/arm/dts/rk3566-odroid-m1s.dts - create mode 100644 board/hardkernel/odroid_m1s/Kconfig - create mode 100644 board/hardkernel/odroid_m1s/MAINTAINERS - create mode 100644 board/hardkernel/odroid_m1s/Makefile - create mode 100644 board/hardkernel/odroid_m1s/board.c - create mode 100644 configs/odroid-m1s-rk3566_defconfig - create mode 100644 include/configs/odroid_m1s.h - -diff --git a/arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi b/arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi -new file mode 100644 -index 0000000000..33a1d142b8 ---- /dev/null -+++ b/arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi -@@ -0,0 +1,28 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+ -+#include "rk356x-u-boot.dtsi" -+ -+#include -+#include -+ -+/ { -+ chosen { -+ stdout-path = &uart2; -+ u-boot,spl-boot-order = &sdmmc0, &sdhci; -+ }; -+}; -+ -+&sdhci { -+ cap-mmc-highspeed; -+ mmc-ddr-1_8v; -+ mmc-hs200-1_8v; -+ mmc-hs400-1_8v; -+ mmc-hs400-enhanced-strobe; -+ pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; -+}; -+ -+&uart2 { -+ bootph-all; -+ clock-frequency = <24000000>; -+ status = "okay"; -+}; -diff --git a/arch/arm/dts/rk3566-odroid-m1s.dts b/arch/arm/dts/rk3566-odroid-m1s.dts -new file mode 100644 -index 0000000000..73e29d80c7 ---- /dev/null -+++ b/arch/arm/dts/rk3566-odroid-m1s.dts -@@ -0,0 +1,665 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2024 Hardkernel Co., Ltd. -+ * -+ */ -+ -+/dts-v1/; -+#include -+#include -+#include -+#include -+#include "rk3566.dtsi" -+ -+/ { -+ model = "Hardkernel ODROID-M1S"; -+ compatible = "hardkernel,rk3568-odroid-m1s", "rockchip,rk3568"; -+ -+ aliases { -+ ethernet0 = &gmac1; -+ i2c0 = &i2c3; -+ i2c3 = &i2c0; -+ mmc0 = &sdhci; -+ mmc1 = &sdmmc0; -+ serial0 = &uart1; -+ serial1 = &uart0; -+ }; -+ -+ chosen { -+ stdout-path = "serial2:1500000n8"; -+ }; -+ -+ gmac1_clkin: external-gmac1-clock { -+ compatible = "fixed-clock"; -+ clock-frequency = <125000000>; -+ clock-output-names = "gmac1_clkin"; -+ #clock-cells = <0>; -+ }; -+ -+ hdmi-con { -+ compatible = "hdmi-connector"; -+ type = "a"; -+ -+ port { -+ hdmi_con_in: endpoint { -+ remote-endpoint = <&hdmi_out_con>; -+ }; -+ }; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led_power: led-0 { -+ gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>; -+ function = LED_FUNCTION_POWER; -+ color = ; -+ default-state = "keep"; -+ linux,default-trigger = "default-on"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&led_power_pin>; -+ }; -+ led_work: led-1 { -+ gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; -+ function = LED_FUNCTION_HEARTBEAT; -+ color = ; -+ linux,default-trigger = "heartbeat"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&led_work_pin>; -+ }; -+ }; -+ -+ pcie20_3v3: pcie20-3v3-regulator { -+ compatible = "regulator-fixed"; -+ enable-active-high; -+ gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&vcc3v3_pcie20_en_pin>; -+ regulator-name = "pcie20_3v3"; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ rk809-sound { -+ compatible = "simple-audio-card"; -+ simple-audio-card,name = "Analog RK817"; -+ simple-audio-card,format = "i2s"; -+ simple-audio-card,mclk-fs = <256>; -+ simple-audio-card,widgets = -+ "Headphone", "Headphones", -+ "Speaker", "Speaker"; -+ simple-audio-card,routing = -+ "Headphones", "HPOL", -+ "Headphones", "HPOR", -+ "Speaker", "SPKO"; -+ -+ simple-audio-card,cpu { -+ sound-dai = <&i2s1_8ch>; -+ }; -+ -+ simple-audio-card,codec { -+ sound-dai = <&rk809>; -+ }; -+ }; -+ -+ spdif_dit: spdif-dit { -+ compatible = "linux,spdif-dit"; -+ #sound-dai-cells = <0>; -+ status = "disabled"; -+ }; -+ -+ spdif_sound: spdif-sound { -+ compatible = "simple-audio-card"; -+ status = "disabled"; -+ -+ simple-audio-card,cpu { -+ sound-dai = <&spdif>; -+ }; -+ -+ simple-audio-card,codec { -+ sound-dai = <&spdif_dit>; -+ }; -+ }; -+ -+ vcc3v3_sys: vcc3v3-sys-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vcc3v3_sys"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ vin-supply = <&vcc5v0_sys>; -+ }; -+ -+ vcc5v0_sys: vcc5v0-sys-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vcc5v0_sys"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ vin-supply = <&vcc5v_dcin>; -+ }; -+ -+ vcc5v_dcin: vcc5v0-dcin { -+ compatible = "regulator-fixed"; -+ regulator-name = "vcc-5v0"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ }; -+ -+ vcc5v0_usb_host: vcc5v0-usb-host-regulator { -+ compatible = "regulator-fixed"; -+ enable-active-high; -+ gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; -+ pinctrl-0 = <&vcc5v0_usb_host_en_pin>; -+ pinctrl-names = "default"; -+ regulator-max-microvolt = <5000000>; -+ regulator-min-microvolt = <5000000>; -+ regulator-name = "vcc5v0_usb_host"; -+ vin-supply = <&vcc5v0_sys>; -+ }; -+ -+ vcc5v0_usb_otg: vcc5v0-usb-otg-regulator { -+ compatible = "regulator-fixed"; -+ enable-active-high; -+ gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; -+ pinctrl-0 = <&vcc5v0_usb_otg_en_pin>; -+ pinctrl-names = "default"; -+ regulator-max-microvolt = <5000000>; -+ regulator-min-microvolt = <5000000>; -+ regulator-name = "vcc5v0_usb_otg"; -+ vin-supply = <&vcc5v0_sys>; -+ }; -+}; -+ -+&combphy1 { -+ phy-supply = <&vcc5v0_usb_host>; -+ status = "okay"; -+}; -+ -+&combphy2 { -+ status = "okay"; -+}; -+ -+&cpu0 { -+ cpu-supply = <&vdd_cpu>; -+}; -+ -+&cpu1 { -+ cpu-supply = <&vdd_cpu>; -+}; -+ -+&cpu2 { -+ cpu-supply = <&vdd_cpu>; -+}; -+ -+&cpu3 { -+ cpu-supply = <&vdd_cpu>; -+}; -+ -+&gmac1 { -+ assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>; -+ assigned-clock-rates = <0>, <125000000>; -+ assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; -+ clock_in_out = "output"; -+ phy-handle = <&rgmii_phy1>; -+ phy-mode = "rgmii"; -+ phy-supply = <&vcc3v3_sys>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&gmac1m1_miim -+ &gmac1m1_tx_bus2 -+ &gmac1m1_rx_bus2 -+ &gmac1m1_rgmii_clk -+ &gmac1m1_rgmii_bus -+ &gmac1m1_clkinout>; -+ status = "okay"; -+ -+ tx_delay = <0x4f>; -+ rx_delay = <0x2d>; -+}; -+ -+&gpu { -+ mali-supply = <&vdd_gpu>; -+ status = "okay"; -+}; -+ -+&hdmi { -+ avdd-0v9-supply = <&vdda0v9_image>; -+ avdd-1v8-supply = <&vcca1v8_image>; -+ status = "okay"; -+}; -+ -+&hdmi_in { -+ hdmi_in_vp0: endpoint { -+ remote-endpoint = <&vp0_out_hdmi>; -+ }; -+}; -+ -+&hdmi_out { -+ hdmi_out_con: endpoint { -+ remote-endpoint = <&hdmi_con_in>; -+ }; -+}; -+ -+&hdmi_sound { -+ status = "okay"; -+}; -+ -+&i2c0 { -+ status = "okay"; -+ -+ vdd_cpu: regulator@1c { -+ compatible = "tcs,tcs4525"; -+ reg = <0x1c>; -+ fcs,suspend-voltage-selector = <1>; -+ regulator-name = "vdd_cpu"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <1150000>; -+ regulator-ramp-delay = <2300>; -+ vin-supply = <&vcc3v3_sys>; -+ -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ rk809: pmic@20 { -+ compatible = "rockchip,rk809"; -+ reg = <0x20>; -+ interrupt-parent = <&gpio0>; -+ interrupts = ; -+ assigned-clocks = <&cru I2S1_MCLKOUT_TX>; -+ assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; -+ #clock-cells = <1>; -+ clock-names = "mclk"; -+ clocks = <&cru I2S1_MCLKOUT_TX>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>; -+ rockchip,system-power-controller; -+ #sound-dai-cells = <0>; -+ vcc1-supply = <&vcc3v3_sys>; -+ vcc2-supply = <&vcc3v3_sys>; -+ vcc3-supply = <&vcc3v3_sys>; -+ vcc4-supply = <&vcc3v3_sys>; -+ vcc5-supply = <&vcc3v3_sys>; -+ vcc6-supply = <&vcc3v3_sys>; -+ vcc7-supply = <&vcc3v3_sys>; -+ vcc8-supply = <&vcc3v3_sys>; -+ vcc9-supply = <&vcc3v3_sys>; -+ wakeup-source; -+ -+ regulators { -+ vdd_logic: DCDC_REG1 { -+ regulator-name = "vdd_logic"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-init-microvolt = <900000>; -+ regulator-initial-mode = <0x2>; -+ regulator-min-microvolt = <500000>; -+ regulator-max-microvolt = <1350000>; -+ regulator-ramp-delay = <6001>; -+ -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vdd_gpu: DCDC_REG2 { -+ regulator-name = "vdd_gpu"; -+ regulator-always-on; -+ regulator-init-microvolt = <900000>; -+ regulator-initial-mode = <0x2>; -+ regulator-min-microvolt = <500000>; -+ regulator-max-microvolt = <1350000>; -+ regulator-ramp-delay = <6001>; -+ -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vcc_ddr: DCDC_REG3 { -+ regulator-name = "vcc_ddr"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-initial-mode = <0x2>; -+ -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ }; -+ }; -+ -+ vdd_npu: DCDC_REG4 { -+ regulator-name = "vdd_npu"; -+ regulator-init-microvolt = <900000>; -+ regulator-initial-mode = <0x2>; -+ regulator-min-microvolt = <500000>; -+ regulator-max-microvolt = <1350000>; -+ regulator-ramp-delay = <6001>; -+ -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vcc_1v8: DCDC_REG5 { -+ regulator-name = "vcc_1v8"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vdda0v9_image: LDO_REG1 { -+ regulator-name = "vdda0v9_image"; -+ regulator-always-on; -+ regulator-min-microvolt = <900000>; -+ regulator-max-microvolt = <900000>; -+ -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vdda_0v9: LDO_REG2 { -+ regulator-name = "vdda_0v9"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <900000>; -+ regulator-max-microvolt = <900000>; -+ -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vdda0v9_pmu: LDO_REG3 { -+ regulator-name = "vdda0v9_pmu"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <900000>; -+ regulator-max-microvolt = <900000>; -+ -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <900000>; -+ }; -+ }; -+ -+ vccio_acodec: LDO_REG4 { -+ regulator-name = "vccio_acodec"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vccio_sd: LDO_REG5 { -+ regulator-name = "vccio_sd"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vcc3v3_pmu: LDO_REG6 { -+ regulator-name = "vcc3v3_pmu"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <3300000>; -+ }; -+ }; -+ -+ vcca_1v8: LDO_REG7 { -+ regulator-name = "vcca_1v8"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vcca1v8_pmu: LDO_REG8 { -+ regulator-name = "vcca1v8_pmu"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1800000>; -+ }; -+ }; -+ -+ vcca1v8_image: LDO_REG9 { -+ regulator-name = "vcca1v8_image"; -+ regulator-always-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vcc_3v3: SWITCH_REG1 { -+ regulator-name = "vcc_3v3"; -+ regulator-always-on; -+ regulator-boot-on; -+ -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vcc3v3_sd: SWITCH_REG2 { -+ regulator-name = "vcc3v3_sd"; -+ -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ }; -+ }; -+}; -+ -+&i2s0_8ch { -+ status = "okay"; -+}; -+ -+&i2s1_8ch { -+ rockchip,trcm-sync-tx-only; -+ status = "okay"; -+}; -+ -+&mdio1 { -+ rgmii_phy1: ethernet-phy@0 { -+ compatible = "ethernet-phy-ieee802.3-c22"; -+ reg = <0x0>; -+ }; -+}; -+ -+&pcie2x1 { -+ pinctrl-0 = <&pcie20m2_pins>; -+ reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>; -+ status = "okay"; -+ vpcie3v3-supply = <&pcie20_3v3>; -+}; -+ -+&pinctrl { -+ leds { -+ led_power_pin: led-power-pin { -+ rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ led_work_pin: led-work-pin { -+ rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+ -+ pcie { -+ vcc3v3_pcie20_en_pin: vcc3v3-pcie20-en-pin { -+ rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+ -+ pmic { -+ pmic_int_l: pmic-int-l { -+ rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; -+ }; -+ }; -+ -+ usb { -+ vcc5v0_usb_host_en_pin: vcc5v0-usb-host-en-pin { -+ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ vcc5v0_usb_otg_en_pin: vcc5v0-usb-dr-en-pin { -+ rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+}; -+ -+&pmu_io_domains { -+ pmuio1-supply = <&vcc3v3_pmu>; -+ pmuio2-supply = <&vcc3v3_pmu>; -+ vccio1-supply = <&vccio_acodec>; -+ vccio2-supply = <&vcc_1v8>; -+ vccio3-supply = <&vccio_sd>; -+ vccio4-supply = <&vcc_3v3>; -+ vccio5-supply = <&vcc_3v3>; -+ vccio6-supply = <&vcc_3v3>; -+ vccio7-supply = <&vcc_3v3>; -+ status = "okay"; -+}; -+ -+&saradc { -+ vref-supply = <&vcca_1v8>; -+ status = "okay"; -+}; -+ -+&sdhci { -+ bus-width = <8>; -+ max-frequency = <200000000>; -+ non-removable; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe &emmc_rstnout>; -+ vmmc-supply = <&vcc_3v3>; -+ vqmmc-supply = <&vcc_1v8>; -+ status = "okay"; -+}; -+ -+&sdmmc0 { -+ bus-width = <4>; -+ cap-sd-highspeed; -+ cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; -+ disable-wp; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; -+ sd-uhs-sdr50; -+ vmmc-supply = <&vcc3v3_sd>; -+ vqmmc-supply = <&vccio_sd>; -+ status = "okay"; -+}; -+ -+&tsadc { -+ rockchip,hw-tshut-mode = <1>; -+ rockchip,hw-tshut-polarity = <0>; -+ status = "okay"; -+}; -+ -+&uart2 { -+ status = "okay"; -+}; -+ -+&usb_host0_ehci { -+ status = "okay"; -+}; -+ -+&usb_host0_ohci { -+ status = "okay"; -+}; -+ -+&usb_host0_xhci { -+ dr_mode = "otg"; -+ status = "okay"; -+}; -+ -+&usb_host1_ehci { -+ status = "okay"; -+}; -+ -+&usb_host1_ohci { -+ status = "okay"; -+}; -+ -+&usb_host1_xhci { -+ status = "okay"; -+}; -+ -+&usb2phy0 { -+ status = "okay"; -+}; -+ -+&usb2phy0_host { -+ phy-supply = <&vcc5v0_usb_host>; -+ status = "okay"; -+}; -+ -+&usb2phy0_otg { -+ phy-supply = <&vcc5v0_usb_otg>; -+ status = "okay"; -+}; -+ -+&usb2phy1 { -+ status = "okay"; -+}; -+ -+&usb2phy1_host { -+ phy-supply = <&vcc5v0_usb_host>; -+ status = "okay"; -+}; -+ -+&usb2phy1_otg { -+ phy-supply = <&vcc5v0_usb_host>; -+ status = "okay"; -+}; -+ -+&vop { -+ assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; -+ assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; -+ status = "okay"; -+}; -+ -+&vop_mmu { -+ status = "okay"; -+}; -+ -+&vp0 { -+ vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { -+ reg = ; -+ remote-endpoint = <&hdmi_in_vp0>; -+ }; -+}; -diff --git a/arch/arm/mach-rockchip/rk3568/Kconfig b/arch/arm/mach-rockchip/rk3568/Kconfig -index baa51349f4..2f03b983ee 100644 ---- a/arch/arm/mach-rockchip/rk3568/Kconfig -+++ b/arch/arm/mach-rockchip/rk3568/Kconfig -@@ -22,6 +22,11 @@ config TARGET_ODROID_M1_RK3568 - help - Hardkernel ODROID-M1 single board computer with a RK3568B2 SoC. - -+config TARGET_ODROID_M1S_RK3566 -+ bool "ODROID-M1S" -+ help -+ Hardkernel ODROID-M1S single board computer with a RK3566 SoC. -+ - config TARGET_QUARTZ64_RK3566 - bool "Pine64 Quartz64" - help -@@ -44,6 +49,7 @@ config SYS_MALLOC_F_LEN - source "board/rockchip/evb_rk3568/Kconfig" - source "board/anbernic/rgxx3_rk3566/Kconfig" - source "board/hardkernel/odroid_m1/Kconfig" -+source "board/hardkernel/odroid_m1s/Kconfig" - source "board/pine64/quartz64_rk3566/Kconfig" - - endif -diff --git a/board/hardkernel/odroid_m1s/Kconfig b/board/hardkernel/odroid_m1s/Kconfig -new file mode 100644 -index 0000000000..0acea61dac ---- /dev/null -+++ b/board/hardkernel/odroid_m1s/Kconfig -@@ -0,0 +1,15 @@ -+if TARGET_ODROID_M1S_RK3566 -+ -+config SYS_BOARD -+ default "odroid_m1s" -+ -+config SYS_VENDOR -+ default "hardkernel" -+ -+config SYS_CONFIG_NAME -+ default "odroid_m1s" -+ -+config BOARD_SPECIFIC_OPTIONS # dummy -+ def_bool y -+ -+endif -diff --git a/board/hardkernel/odroid_m1s/MAINTAINERS b/board/hardkernel/odroid_m1s/MAINTAINERS -new file mode 100644 -index 0000000000..20fc277ccc ---- /dev/null -+++ b/board/hardkernel/odroid_m1s/MAINTAINERS -@@ -0,0 +1,9 @@ -+ODROID-M1S -+M: Dongjin Kim -+S: Maintained -+F: arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi -+F: arch/arm/dts/rk3566-odroid-m1s.dts -+F: board/hardkernel/odroid_m1s/ -+F: board/hardkernel/odroid_m1s/board.c -+F: configs/odroid-m1s-rk3566_defconfig -+F: include/configs/odroid_m1s.h -diff --git a/board/hardkernel/odroid_m1s/Makefile b/board/hardkernel/odroid_m1s/Makefile -new file mode 100644 -index 0000000000..6ca49c49b7 ---- /dev/null -+++ b/board/hardkernel/odroid_m1s/Makefile -@@ -0,0 +1,7 @@ -+# -+# Copyright (c) 2024 Hardkernel Co,. Ltd -+# -+# SPDX-License-Identifier: GPL-2.0+ -+# -+ -+obj-y += board.o -diff --git a/board/hardkernel/odroid_m1s/board.c b/board/hardkernel/odroid_m1s/board.c -new file mode 100644 -index 0000000000..e87cfc4797 ---- /dev/null -+++ b/board/hardkernel/odroid_m1s/board.c -@@ -0,0 +1,81 @@ -+// SPDX-License-Identifier: GPL-2.0+ -+/* -+ * (C) Copyright 2024 Hardkernel Co., Ltd -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+ -+#ifdef CONFIG_MISC_INIT_R -+ -+/* Read first block 512 bytes from the first BOOT partition of eMMC -+ * that stores device identifcation sting in UUID type 1, this string -+ * is written in factory to give device seranl number and MAC address. -+ */ -+static int odroid_setup_macaddr(void) -+{ -+ struct mmc *mmc; -+ struct blk_desc *desc; -+ unsigned long mac_addr; -+ unsigned long count; -+ int ret; -+ u8 buf[512]; -+ -+ mmc = find_mmc_device(0); -+ if (!mmc) -+ return -ENODEV; -+ -+ desc = mmc_get_blk_desc(mmc); -+ -+ // Switch to the first BOOT partition -+ ret = blk_select_hwpart_devnum(UCLASS_MMC, 0, 1); -+ if (ret) -+ return -EIO; -+ -+ count = blk_dread(desc, 0, 1, (void *)buf); -+ -+ // Switch back to USER partition -+ ret = blk_dselect_hwpart(desc, 0); -+ if (ret || count != 1) -+ return -EIO; -+ -+ *(char *)(buf + 36) = 0; -+ -+ // Serial number -+ env_set("serial#", (char *)buf); -+ -+ // MAC address -+ mac_addr = cpu_to_be64(simple_strtoul((char *)buf + 24, NULL, 16)) >> 16; -+ -+ eth_env_set_enetaddr("ethaddr", (unsigned char *)&mac_addr); -+ eth_env_set_enetaddr("eth1addr", (unsigned char *)&mac_addr); -+ -+ return 0; -+} -+ -+int misc_init_r(void) -+{ -+ const u32 cpuid_offset = CFG_CPUID_OFFSET; -+ const u32 cpuid_length = 0x10; -+ u8 cpuid[cpuid_length]; -+ int ret; -+ -+ ret = odroid_setup_macaddr(); -+ if (ret) { -+ ret = rockchip_setup_macaddr(); -+ if (ret) -+ return ret; -+ } -+ -+ ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid); -+ if (ret) -+ return ret; -+ -+ ret = rockchip_cpuid_set(cpuid, cpuid_length); -+ -+ return ret; -+} -+#endif -diff --git a/configs/odroid-m1s-rk3566_defconfig b/configs/odroid-m1s-rk3566_defconfig -new file mode 100644 -index 0000000000..d70a10dc08 ---- /dev/null -+++ b/configs/odroid-m1s-rk3566_defconfig -@@ -0,0 +1,109 @@ -+CONFIG_ARM=y -+CONFIG_SKIP_LOWLEVEL_INIT=y -+CONFIG_COUNTER_FREQUENCY=24000000 -+CONFIG_ARCH_ROCKCHIP=y -+CONFIG_TEXT_BASE=0x00a00000 -+CONFIG_SPL_LIBCOMMON_SUPPORT=y -+CONFIG_SPL_LIBGENERIC_SUPPORT=y -+CONFIG_NR_DRAM_BANKS=2 -+CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y -+CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc00000 -+CONFIG_SF_DEFAULT_SPEED=24000000 -+CONFIG_SF_DEFAULT_MODE=0x1000 -+CONFIG_DEFAULT_DEVICE_TREE="rk3566-odroid-m1s" -+CONFIG_ROCKCHIP_RK3568=y -+CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y -+CONFIG_ROCKCHIP_SPI_IMAGE=y -+CONFIG_SPL_SERIAL=y -+CONFIG_SPL_STACK_R_ADDR=0x600000 -+CONFIG_TARGET_ODROID_M1S_RK3566=y -+CONFIG_SPL_STACK=0x400000 -+CONFIG_DEBUG_UART_BASE=0xFE660000 -+CONFIG_DEBUG_UART_CLOCK=24000000 -+CONFIG_SPL_SPI_FLASH_SUPPORT=y -+CONFIG_SPL_SPI=y -+CONFIG_SYS_LOAD_ADDR=0xc00800 -+CONFIG_PCI=y -+CONFIG_DEBUG_UART=y -+CONFIG_AHCI=y -+CONFIG_FIT=y -+CONFIG_FIT_VERBOSE=y -+CONFIG_SPL_FIT_SIGNATURE=y -+CONFIG_SPL_LOAD_FIT=y -+CONFIG_LEGACY_IMAGE_FORMAT=y -+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-odroid-m1s.dtb" -+# CONFIG_DISPLAY_CPUINFO is not set -+CONFIG_DISPLAY_BOARDINFO_LATE=y -+CONFIG_SPL_MAX_SIZE=0x40000 -+CONFIG_SPL_PAD_TO=0x7f8000 -+CONFIG_SPL_HAS_BSS_LINKER_SECTION=y -+CONFIG_SPL_BSS_START_ADDR=0x4000000 -+CONFIG_SPL_BSS_MAX_SIZE=0x4000 -+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set -+# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set -+CONFIG_SPL_STACK_R=y -+CONFIG_SPL_SPI_LOAD=y -+CONFIG_SYS_SPI_U_BOOT_OFFS=0x100000 -+CONFIG_SPL_ATF=y -+CONFIG_CMD_GPIO=y -+CONFIG_CMD_GPT=y -+CONFIG_CMD_I2C=y -+CONFIG_CMD_MMC=y -+CONFIG_CMD_PCI=y -+CONFIG_CMD_USB=y -+# CONFIG_CMD_SETEXPR is not set -+CONFIG_CMD_INI=y -+CONFIG_CMD_PMIC=y -+CONFIG_CMD_REGULATOR=y -+CONFIG_CMD_CRAMFS=y -+# CONFIG_SPL_DOS_PARTITION is not set -+CONFIG_SPL_OF_CONTROL=y -+CONFIG_OF_LIVE=y -+CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" -+CONFIG_SPL_DM_SEQ_ALIAS=y -+CONFIG_SPL_REGMAP=y -+CONFIG_SPL_SYSCON=y -+CONFIG_AHCI_PCI=y -+CONFIG_DWC_AHCI=y -+CONFIG_SPL_CLK=y -+CONFIG_ROCKCHIP_GPIO=y -+CONFIG_SYS_I2C_ROCKCHIP=y -+CONFIG_MISC=y -+CONFIG_SUPPORT_EMMC_RPMB=y -+CONFIG_MMC_DW=y -+CONFIG_MMC_DW_ROCKCHIP=y -+CONFIG_MMC_SDHCI=y -+CONFIG_MMC_SDHCI_SDMA=y -+CONFIG_MMC_SDHCI_ROCKCHIP=y -+CONFIG_SF_DEFAULT_BUS=4 -+CONFIG_PHY_REALTEK=y -+CONFIG_DWC_ETH_QOS=y -+CONFIG_DWC_ETH_QOS_ROCKCHIP=y -+CONFIG_NVME_PCI=y -+CONFIG_PCIE_DW_ROCKCHIP=y -+CONFIG_PHY_ROCKCHIP_INNO_USB2=y -+CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y -+CONFIG_PHY_ROCKCHIP_PCIE=y -+CONFIG_SPL_PINCTRL=y -+CONFIG_DM_PMIC=y -+CONFIG_PMIC_RK8XX=y -+CONFIG_REGULATOR_RK8XX=y -+CONFIG_PWM_ROCKCHIP=y -+CONFIG_SPL_RAM=y -+CONFIG_SCSI=y -+CONFIG_DM_SCSI=y -+CONFIG_BAUDRATE=1500000 -+CONFIG_DEBUG_UART_SHIFT=2 -+CONFIG_SYS_NS16550_MEM32=y -+CONFIG_SYSRESET=y -+CONFIG_USB=y -+CONFIG_USB_XHCI_HCD=y -+CONFIG_USB_EHCI_HCD=y -+CONFIG_USB_EHCI_GENERIC=y -+CONFIG_USB_OHCI_HCD=y -+CONFIG_USB_OHCI_GENERIC=y -+CONFIG_USB_DWC3=y -+CONFIG_USB_DWC3_GENERIC=y -+CONFIG_FS_CRAMFS=y -+CONFIG_ERRNO_STR=y -+CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x0800 -diff --git a/doc/board/rockchip/rockchip.rst b/doc/board/rockchip/rockchip.rst -index 18d0b6f089..3ce9966fc1 100644 ---- a/doc/board/rockchip/rockchip.rst -+++ b/doc/board/rockchip/rockchip.rst -@@ -93,6 +93,7 @@ List of mainline supported Rockchip boards: - - * rk3566 - - Anbernic RGxx3 (anbernic-rgxx3-rk3566) -+ - Hardkernel ODROID-M1S (odroid-m1s-rk3566) - - Pine64 Quartz64-A Board (quartz64-a-rk3566) - - Pine64 Quartz64-B Board (quartz64-b-rk3566) - - Pine64 SOQuartz on Blade (soquartz-blade-rk3566) -diff --git a/include/configs/odroid_m1s.h b/include/configs/odroid_m1s.h -new file mode 100644 -index 0000000000..b271861388 ---- /dev/null -+++ b/include/configs/odroid_m1s.h -@@ -0,0 +1,12 @@ -+/* SPDX-License-Identifier: GPL-2.0+ */ -+ -+#ifndef __ODROID_M1S_H -+#define __ODROID_M1S_H -+ -+#include -+ -+#define ROCKCHIP_DEVICE_SETTINGS \ -+ "stdout=serial\0" \ -+ "stderr=serial\0" -+ -+#endif --- -2.40.1 - diff --git a/buildroot-external/board/hardkernel/odroid-m1s/patches/uboot/0002-Apply-fixes-for-mainline-u-boot.patch b/buildroot-external/board/hardkernel/odroid-m1s/patches/uboot/0002-Apply-fixes-for-mainline-u-boot.patch deleted file mode 100644 index ef4cbbb8125..00000000000 --- a/buildroot-external/board/hardkernel/odroid-m1s/patches/uboot/0002-Apply-fixes-for-mainline-u-boot.patch +++ /dev/null @@ -1,48 +0,0 @@ -From ed61d0b5f18bf333ff7f35fc8546dd58d227b12f Mon Sep 17 00:00:00 2001 -From: Tim Lunn -Date: Sat, 3 Feb 2024 18:38:49 +1100 -Subject: [PATCH] Apply fixes for mainline u-boot - ---- - arch/arm/dts/rk3566-odroid-m1s.dts | 6 +----- - configs/odroid-m1s-rk3566_defconfig | 1 - - 2 files changed, 1 insertion(+), 6 deletions(-) - -diff --git a/arch/arm/dts/rk3566-odroid-m1s.dts b/arch/arm/dts/rk3566-odroid-m1s.dts -index 73e29d80c7..2dba07ba19 100644 ---- a/arch/arm/dts/rk3566-odroid-m1s.dts -+++ b/arch/arm/dts/rk3566-odroid-m1s.dts -@@ -17,12 +17,8 @@ - - aliases { - ethernet0 = &gmac1; -- i2c0 = &i2c3; -- i2c3 = &i2c0; - mmc0 = &sdhci; - mmc1 = &sdmmc0; -- serial0 = &uart1; -- serial1 = &uart0; - }; - - chosen { -@@ -578,7 +574,7 @@ - disable-wp; - pinctrl-names = "default"; - pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; -- sd-uhs-sdr50; -+ sd-uhs-sdr104; - vmmc-supply = <&vcc3v3_sd>; - vqmmc-supply = <&vccio_sd>; - status = "okay"; -diff --git a/configs/odroid-m1s-rk3566_defconfig b/configs/odroid-m1s-rk3566_defconfig -index d70a10dc08..61b6962063 100644 ---- a/configs/odroid-m1s-rk3566_defconfig -+++ b/configs/odroid-m1s-rk3566_defconfig -@@ -106,4 +106,3 @@ CONFIG_USB_DWC3=y - CONFIG_USB_DWC3_GENERIC=y - CONFIG_FS_CRAMFS=y - CONFIG_ERRNO_STR=y --CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x0800 --- -2.40.1 - diff --git a/buildroot-external/board/hardkernel/odroid-m1s/patches/uboot/0003-Improve-reliability-of-eMMC.patch b/buildroot-external/board/hardkernel/odroid-m1s/patches/uboot/0003-Improve-reliability-of-eMMC.patch deleted file mode 100644 index 5309c6b70d3..00000000000 --- a/buildroot-external/board/hardkernel/odroid-m1s/patches/uboot/0003-Improve-reliability-of-eMMC.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 2a1d8f586799e4166e802babcce18c9980aa1f44 Mon Sep 17 00:00:00 2001 -From: Tim Lunn -Date: Thu, 1 Feb 2024 17:50:46 +1100 -Subject: [PATCH] Improve reliability of eMMC - -Cherry-picked from: -20240126232615.6826-2-jonas@kwiboo.se ---- - arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi | 4 ---- - configs/odroid-m1s-rk3566_defconfig | 2 ++ - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi b/arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi -index 33a1d142b8..04d0cd17ef 100644 ---- a/arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi -+++ b/arch/arm/dts/rk3566-odroid-m1s-u-boot.dtsi -@@ -14,11 +14,7 @@ - - &sdhci { - cap-mmc-highspeed; -- mmc-ddr-1_8v; - mmc-hs200-1_8v; -- mmc-hs400-1_8v; -- mmc-hs400-enhanced-strobe; -- pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; - }; - - &uart2 { -diff --git a/configs/odroid-m1s-rk3566_defconfig b/configs/odroid-m1s-rk3566_defconfig -index 61b6962063..7920ef224d 100644 ---- a/configs/odroid-m1s-rk3566_defconfig -+++ b/configs/odroid-m1s-rk3566_defconfig -@@ -70,6 +70,8 @@ CONFIG_ROCKCHIP_GPIO=y - CONFIG_SYS_I2C_ROCKCHIP=y - CONFIG_MISC=y - CONFIG_SUPPORT_EMMC_RPMB=y -+CONFIG_MMC_HS200_SUPPORT=y -+CONFIG_SPL_MMC_HS200_SUPPORT=y - CONFIG_MMC_DW=y - CONFIG_MMC_DW_ROCKCHIP=y - CONFIG_MMC_SDHCI=y --- -2.40.1 - diff --git a/buildroot-external/board/hardkernel/odroid-m1s/patches/uboot/0004-Fix-ethernet-properties.patch b/buildroot-external/board/hardkernel/odroid-m1s/patches/uboot/0004-Fix-ethernet-properties.patch deleted file mode 100644 index 3f453c6d6cf..00000000000 --- a/buildroot-external/board/hardkernel/odroid-m1s/patches/uboot/0004-Fix-ethernet-properties.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 65a304151817626157e7be4e7e1581cdddca2a02 Mon Sep 17 00:00:00 2001 -From: Tim Lunn -Date: Sat, 3 Feb 2024 23:42:47 +1100 -Subject: [PATCH] Fix ethernet properties - ---- - arch/arm/dts/rk3566-odroid-m1s.dts | 13 +++++++------ - 1 file changed, 7 insertions(+), 6 deletions(-) - -diff --git a/arch/arm/dts/rk3566-odroid-m1s.dts b/arch/arm/dts/rk3566-odroid-m1s.dts -index 2dba07ba19..73b545109d 100644 ---- a/arch/arm/dts/rk3566-odroid-m1s.dts -+++ b/arch/arm/dts/rk3566-odroid-m1s.dts -@@ -197,10 +197,9 @@ - }; - - &gmac1 { -- assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>; -- assigned-clock-rates = <0>, <125000000>; -- assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; -- clock_in_out = "output"; -+ assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>; -+ assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>; -+ clock_in_out = "input"; - phy-handle = <&rgmii_phy1>; - phy-mode = "rgmii"; - phy-supply = <&vcc3v3_sys>; -@@ -211,10 +210,9 @@ - &gmac1m1_rgmii_clk - &gmac1m1_rgmii_bus - &gmac1m1_clkinout>; -- status = "okay"; -- - tx_delay = <0x4f>; - rx_delay = <0x2d>; -+ status = "okay"; - }; - - &gpu { -@@ -496,6 +494,9 @@ - rgmii_phy1: ethernet-phy@0 { - compatible = "ethernet-phy-ieee802.3-c22"; - reg = <0x0>; -+ reset-assert-us = <20000>; -+ reset-deassert-us = <100000>; -+ reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; - }; - }; - --- -2.40.1 - diff --git a/buildroot-external/board/hardkernel/patches/uboot/0001-HACK-mmc-meson-gx-limit-f_max-to-24-MHz-on-the-first.patch b/buildroot-external/board/hardkernel/patches-meson/0001-HACK-mmc-meson-gx-limit-f_max-to-24-MHz-on-the-first.patch similarity index 83% rename from buildroot-external/board/hardkernel/patches/uboot/0001-HACK-mmc-meson-gx-limit-f_max-to-24-MHz-on-the-first.patch rename to buildroot-external/board/hardkernel/patches-meson/0001-HACK-mmc-meson-gx-limit-f_max-to-24-MHz-on-the-first.patch index 6ea9730ff97..9965ab3aeca 100644 --- a/buildroot-external/board/hardkernel/patches/uboot/0001-HACK-mmc-meson-gx-limit-f_max-to-24-MHz-on-the-first.patch +++ b/buildroot-external/board/hardkernel/patches-meson/0001-HACK-mmc-meson-gx-limit-f_max-to-24-MHz-on-the-first.patch @@ -1,4 +1,4 @@ -From 024796cbf752d2e210341ae8609792803641eb92 Mon Sep 17 00:00:00 2001 +From f63ef87b9a9bf9997aa4017f8380567b20a1810c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Thu, 7 Nov 2024 12:39:02 +0100 Subject: [PATCH] HACK: mmc: meson-gx: limit f_max to 24 MHz on the first try @@ -25,10 +25,10 @@ Signed-off-by: Jan Čermák 3 files changed, 15 insertions(+) diff --git a/drivers/mmc/meson_gx_mmc.c b/drivers/mmc/meson_gx_mmc.c -index fcf4f03d1e..715dce3522 100644 +index 5852b24c6d2..0e0265de359 100644 --- a/drivers/mmc/meson_gx_mmc.c +++ b/drivers/mmc/meson_gx_mmc.c -@@ -283,6 +283,8 @@ static int meson_mmc_probe(struct udevice *dev) +@@ -282,6 +282,8 @@ static int meson_mmc_probe(struct udevice *dev) cfg->b_max = 511; /* max 512 - 1 blocks */ cfg->name = dev->name; @@ -38,10 +38,10 @@ index fcf4f03d1e..715dce3522 100644 upriv->mmc = mmc; diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c -index d96db7a0f8..c8dc676612 100644 +index 799586891af..85b6210f220 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c -@@ -1652,6 +1652,10 @@ int mmc_set_clock(struct mmc *mmc, uint clock, bool disable) +@@ -1694,6 +1694,10 @@ int mmc_set_clock(struct mmc *mmc, uint clock, bool disable) clock = mmc->cfg->f_min; } @@ -52,7 +52,7 @@ index d96db7a0f8..c8dc676612 100644 mmc->clock = clock; mmc->clk_disable = disable; -@@ -2647,6 +2651,13 @@ static int mmc_startup(struct mmc *mmc) +@@ -2701,6 +2705,13 @@ static int mmc_startup(struct mmc *mmc) if (err) return err; err = mmc_select_mode_and_width(mmc, mmc->card_caps); @@ -67,13 +67,13 @@ index d96db7a0f8..c8dc676612 100644 #endif if (err) diff --git a/include/mmc.h b/include/mmc.h -index 1022db3ffa..0ea48c6fd9 100644 +index e4b960b7294..5ad40cf2ed1 100644 --- a/include/mmc.h +++ b/include/mmc.h -@@ -739,6 +739,8 @@ struct mmc { - u8 hs400_tuning; - +@@ -760,6 +760,8 @@ struct mmc { enum bus_mode user_speed_mode; /* input speed mode from user */ + + CONFIG_IS_ENABLED(CYCLIC, (struct cyclic_info cyclic)); + + bool meson_gx_f_max_hack; }; diff --git a/buildroot-external/board/nabucasa/green/patches/uboot/0001-arch-arm-dts-Add-NabuCasa-Green-board.patch b/buildroot-external/board/nabucasa/green/patches/uboot/0001-arch-arm-dts-Add-NabuCasa-Green-board.patch index 539bf2705d6..1dd28485f6e 100644 --- a/buildroot-external/board/nabucasa/green/patches/uboot/0001-arch-arm-dts-Add-NabuCasa-Green-board.patch +++ b/buildroot-external/board/nabucasa/green/patches/uboot/0001-arch-arm-dts-Add-NabuCasa-Green-board.patch @@ -1,33 +1,35 @@ -From 501ac314ef709d6ecac3047310d5e48a473df638 Mon Sep 17 00:00:00 2001 +From 99fdcac59b4c993dcac1869e8372dc895ffa0ae5 Mon Sep 17 00:00:00 2001 From: Zhangqun Ming Date: Thu, 6 Jul 2023 10:06:35 +0000 Subject: [PATCH] arch: arm: dts: Add NabuCasa Green board --- - arch/arm/dts/Makefile | 1 + + arch/arm/dts/Makefile | 3 + arch/arm/dts/rk3566-ha-green-u-boot.dtsi | 28 + arch/arm/dts/rk3566-ha-green.dts | 685 +++++++++++++++++++++++ configs/green_defconfig | 74 +++ - 4 files changed, 788 insertions(+) + 4 files changed, 790 insertions(+) create mode 100644 arch/arm/dts/rk3566-ha-green-u-boot.dtsi create mode 100644 arch/arm/dts/rk3566-ha-green.dts create mode 100644 configs/green_defconfig diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 9d28a485be..f78839f9cc 100644 +index 6ad59aeed5f..92c6fa54caa 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile -@@ -172,6 +172,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \ +@@ -87,6 +87,9 @@ dtb-$(CONFIG_ROCKCHIP_RK3368) += \ + rk3368-geekbox.dtb \ + rk3368-px5-evb.dtb \ + ++dtb-$(CONFIG_ROCKCHIP_RK3568) += \ ++ rk3566-ha-green.dtb ++ + dtb-$(CONFIG_ARCH_S5P4418) += \ + s5p4418-nanopi2.dtb - dtb-$(CONFIG_ROCKCHIP_RK3568) += \ - rk3566-anbernic-rgxx3.dtb \ -+ rk3566-ha-green.dtb \ - rk3566-quartz64-a.dtb \ - rk3566-quartz64-b.dtb \ - rk3566-radxa-cm3-io.dtb \ diff --git a/arch/arm/dts/rk3566-ha-green-u-boot.dtsi b/arch/arm/dts/rk3566-ha-green-u-boot.dtsi new file mode 100644 -index 0000000000..83fa66d591 +index 00000000000..83fa66d591e --- /dev/null +++ b/arch/arm/dts/rk3566-ha-green-u-boot.dtsi @@ -0,0 +1,28 @@ @@ -61,7 +63,7 @@ index 0000000000..83fa66d591 +}; diff --git a/arch/arm/dts/rk3566-ha-green.dts b/arch/arm/dts/rk3566-ha-green.dts new file mode 100644 -index 0000000000..15d2b73433 +index 00000000000..15d2b734338 --- /dev/null +++ b/arch/arm/dts/rk3566-ha-green.dts @@ -0,0 +1,685 @@ @@ -752,7 +754,7 @@ index 0000000000..15d2b73433 +}; diff --git a/configs/green_defconfig b/configs/green_defconfig new file mode 100644 -index 0000000000..0617d308aa +index 00000000000..0617d308aa2 --- /dev/null +++ b/configs/green_defconfig @@ -0,0 +1,74 @@ @@ -830,6 +832,3 @@ index 0000000000..0617d308aa +CONFIG_SYSRESET=y +# CONFIG_BINMAN_FDT is not set +CONFIG_ERRNO_STR=y --- -2.43.0 - diff --git a/buildroot-external/board/nabucasa/green/patches/uboot/0002-configs-green-Support-USB-boot.patch b/buildroot-external/board/nabucasa/green/patches/uboot/0002-configs-green-Support-USB-boot.patch index 68d5c61c54d..2da29c1c9da 100644 --- a/buildroot-external/board/nabucasa/green/patches/uboot/0002-configs-green-Support-USB-boot.patch +++ b/buildroot-external/board/nabucasa/green/patches/uboot/0002-configs-green-Support-USB-boot.patch @@ -1,4 +1,4 @@ -From 6441bdb22a25649ff8fd69aa8f8a7285d9c37266 Mon Sep 17 00:00:00 2001 +From 634b3b17d96b6def645b15b379fbe617620e6665 Mon Sep 17 00:00:00 2001 From: Zhangqun Ming Date: Fri, 14 Jul 2023 14:13:39 +0000 Subject: [PATCH] configs: green: Support USB boot @@ -8,7 +8,7 @@ Subject: [PATCH] configs: green: Support USB boot 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/configs/green_defconfig b/configs/green_defconfig -index 0617d308aa..14960b67d2 100644 +index 0617d308aa2..14960b67d26 100644 --- a/configs/green_defconfig +++ b/configs/green_defconfig @@ -6,48 +6,54 @@ CONFIG_TEXT_BASE=0x00a00000 @@ -112,6 +112,3 @@ index 0617d308aa..14960b67d2 100644 +CONFIG_USB_OHCI_GENERIC=y +CONFIG_USB_DWC3=y CONFIG_ERRNO_STR=y --- -2.43.0 - diff --git a/buildroot-external/board/nabucasa/green/patches/uboot/0003-arch-arm-dts-rk3566-green-boot-order.patch b/buildroot-external/board/nabucasa/green/patches/uboot/0003-arch-arm-dts-rk3566-green-boot-order.patch index de2570b7e67..cdc96aae053 100644 --- a/buildroot-external/board/nabucasa/green/patches/uboot/0003-arch-arm-dts-rk3566-green-boot-order.patch +++ b/buildroot-external/board/nabucasa/green/patches/uboot/0003-arch-arm-dts-rk3566-green-boot-order.patch @@ -1,4 +1,4 @@ -From d8b8b614d19dbb3fa004677a2c2e50b685a80192 Mon Sep 17 00:00:00 2001 +From 80fc442a51ecab7b822145561421e3adff899bc9 Mon Sep 17 00:00:00 2001 From: Zhangqun Ming Date: Fri, 14 Jul 2023 14:14:10 +0000 Subject: [PATCH] arch: arm: dts: rk3566: green: boot order @@ -9,7 +9,7 @@ Subject: [PATCH] arch: arm: dts: rk3566: green: boot order 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/arch/arm/dts/rk3566-ha-green-u-boot.dtsi b/arch/arm/dts/rk3566-ha-green-u-boot.dtsi -index 83fa66d591..7f2ed298ce 100644 +index 83fa66d591e..7f2ed298ce3 100644 --- a/arch/arm/dts/rk3566-ha-green-u-boot.dtsi +++ b/arch/arm/dts/rk3566-ha-green-u-boot.dtsi @@ -9,7 +9,7 @@ @@ -33,7 +33,7 @@ index 83fa66d591..7f2ed298ce 100644 clock-frequency = <24000000>; bootph-all; diff --git a/arch/arm/dts/rk3566-ha-green.dts b/arch/arm/dts/rk3566-ha-green.dts -index 15d2b73433..bf0f81c3a1 100644 +index 15d2b734338..bf0f81c3a15 100644 --- a/arch/arm/dts/rk3566-ha-green.dts +++ b/arch/arm/dts/rk3566-ha-green.dts @@ -563,7 +563,7 @@ @@ -45,6 +45,3 @@ index 15d2b73433..bf0f81c3a1 100644 compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <100000000>; --- -2.43.0 - diff --git a/buildroot-external/board/nabucasa/green/patches/uboot/0004-arch-arm-dts-green-spi-nor-uboot.patch b/buildroot-external/board/nabucasa/green/patches/uboot/0004-arch-arm-dts-green-spi-nor-uboot.patch index ca1463c4dcc..06858bb2a47 100644 --- a/buildroot-external/board/nabucasa/green/patches/uboot/0004-arch-arm-dts-green-spi-nor-uboot.patch +++ b/buildroot-external/board/nabucasa/green/patches/uboot/0004-arch-arm-dts-green-spi-nor-uboot.patch @@ -1,4 +1,4 @@ -From e14d7d56b293ba01c5b73a4b3483795d78c75172 Mon Sep 17 00:00:00 2001 +From 107a4b9bf7d335de4a6dc7e6097a1f38fdab38c7 Mon Sep 17 00:00:00 2001 From: Zhangqun Ming Date: Sat, 15 Jul 2023 08:46:09 +0000 Subject: [PATCH] arch: arm: dts: green: spi nor uboot @@ -10,7 +10,7 @@ Subject: [PATCH] arch: arm: dts: green: spi nor uboot 3 files changed, 91 insertions(+), 3 deletions(-) diff --git a/arch/arm/dts/rk3566-ha-green-u-boot.dtsi b/arch/arm/dts/rk3566-ha-green-u-boot.dtsi -index 7f2ed298ce..fa98078fce 100644 +index 7f2ed298ce3..fa98078fce2 100644 --- a/arch/arm/dts/rk3566-ha-green-u-boot.dtsi +++ b/arch/arm/dts/rk3566-ha-green-u-boot.dtsi @@ -13,15 +13,96 @@ @@ -123,7 +123,7 @@ index 7f2ed298ce..fa98078fce 100644 +}; \ No newline at end of file diff --git a/arch/arm/dts/rk3566-ha-green.dts b/arch/arm/dts/rk3566-ha-green.dts -index bf0f81c3a1..ea9d358099 100644 +index bf0f81c3a15..ea9d358099b 100644 --- a/arch/arm/dts/rk3566-ha-green.dts +++ b/arch/arm/dts/rk3566-ha-green.dts @@ -566,8 +566,8 @@ @@ -138,7 +138,7 @@ index bf0f81c3a1..ea9d358099 100644 partitions { diff --git a/configs/green_defconfig b/configs/green_defconfig -index 14960b67d2..5f94c06279 100644 +index 14960b67d26..5f94c062798 100644 --- a/configs/green_defconfig +++ b/configs/green_defconfig @@ -68,6 +68,8 @@ CONFIG_MMC_SDHCI_SDMA=y @@ -150,6 +150,3 @@ index 14960b67d2..5f94c06279 100644 CONFIG_ETH_DESIGNWARE=y CONFIG_GMAC_ROCKCHIP=y CONFIG_PHY_ROCKCHIP_INNO_USB2=y --- -2.43.0 - diff --git a/buildroot-external/board/nabucasa/green/patches/uboot/0005-board-green-add-Green-board-to-read-board-specific-E.patch b/buildroot-external/board/nabucasa/green/patches/uboot/0005-board-green-add-Green-board-to-read-board-specific-E.patch index 380163bcf96..e5962c71703 100644 --- a/buildroot-external/board/nabucasa/green/patches/uboot/0005-board-green-add-Green-board-to-read-board-specific-E.patch +++ b/buildroot-external/board/nabucasa/green/patches/uboot/0005-board-green-add-Green-board-to-read-board-specific-E.patch @@ -1,4 +1,4 @@ -From acec57c77e10230fc32820046301cb2a59c431d4 Mon Sep 17 00:00:00 2001 +From c1b3736623b9a6e5d027ca202dbc53b7eb7e4662 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Thu, 17 Aug 2023 17:38:13 +0200 Subject: [PATCH] board: green: add Green board to read board specific EEPROM @@ -12,17 +12,17 @@ Signed-off-by: Stefan Agner arch/arm/mach-rockchip/rk3568/Kconfig | 7 +++ board/nabucasa/ha-green/Kconfig | 15 +++++++ board/nabucasa/ha-green/Makefile | 3 ++ - board/nabucasa/ha-green/ha-green.c | 65 +++++++++++++++++++++++++++ + board/nabucasa/ha-green/ha-green.c | 64 +++++++++++++++++++++++++++ configs/green_defconfig | 3 ++ include/configs/ha-green.h | 11 +++++ - 7 files changed, 111 insertions(+) + 7 files changed, 110 insertions(+) create mode 100644 board/nabucasa/ha-green/Kconfig create mode 100644 board/nabucasa/ha-green/Makefile create mode 100644 board/nabucasa/ha-green/ha-green.c create mode 100644 include/configs/ha-green.h diff --git a/arch/arm/dts/rk3566-ha-green.dts b/arch/arm/dts/rk3566-ha-green.dts -index ea9d358099..91afadf0e6 100644 +index ea9d358099b..91afadf0e65 100644 --- a/arch/arm/dts/rk3566-ha-green.dts +++ b/arch/arm/dts/rk3566-ha-green.dts @@ -449,6 +449,13 @@ @@ -40,7 +40,7 @@ index ea9d358099..91afadf0e6 100644 &i2s0_8ch { diff --git a/arch/arm/mach-rockchip/rk3568/Kconfig b/arch/arm/mach-rockchip/rk3568/Kconfig -index baa51349f4..42652dec03 100644 +index ce327ed6f9e..5f675b11491 100644 --- a/arch/arm/mach-rockchip/rk3568/Kconfig +++ b/arch/arm/mach-rockchip/rk3568/Kconfig @@ -17,6 +17,12 @@ config TARGET_ANBERNIC_RGXX3_RK3566 @@ -56,17 +56,17 @@ index baa51349f4..42652dec03 100644 config TARGET_ODROID_M1_RK3568 bool "ODROID-M1" help -@@ -44,6 +50,7 @@ config SYS_MALLOC_F_LEN - source "board/rockchip/evb_rk3568/Kconfig" +@@ -81,6 +87,7 @@ source "board/rockchip/evb_rk3568/Kconfig" source "board/anbernic/rgxx3_rk3566/Kconfig" source "board/hardkernel/odroid_m1/Kconfig" + source "board/hardkernel/odroid_m1s/Kconfig" +source "board/nabucasa/ha-green/Kconfig" source "board/pine64/quartz64_rk3566/Kconfig" - - endif + source "board/powkiddy/x55/Kconfig" + source "board/qnap/ts433/Kconfig" diff --git a/board/nabucasa/ha-green/Kconfig b/board/nabucasa/ha-green/Kconfig new file mode 100644 -index 0000000000..863afd4363 +index 00000000000..863afd43632 --- /dev/null +++ b/board/nabucasa/ha-green/Kconfig @@ -0,0 +1,15 @@ @@ -87,7 +87,7 @@ index 0000000000..863afd4363 +endif diff --git a/board/nabucasa/ha-green/Makefile b/board/nabucasa/ha-green/Makefile new file mode 100644 -index 0000000000..bf711fe8c4 +index 00000000000..bf711fe8c44 --- /dev/null +++ b/board/nabucasa/ha-green/Makefile @@ -0,0 +1,3 @@ @@ -96,10 +96,10 @@ index 0000000000..bf711fe8c4 +obj-y += ha-green.o diff --git a/board/nabucasa/ha-green/ha-green.c b/board/nabucasa/ha-green/ha-green.c new file mode 100644 -index 0000000000..b9a0c32441 +index 00000000000..3f0ede747bc --- /dev/null +++ b/board/nabucasa/ha-green/ha-green.c -@@ -0,0 +1,65 @@ +@@ -0,0 +1,64 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright 2023 Nabu Casa, Inc. @@ -109,7 +109,6 @@ index 0000000000..b9a0c32441 +#include +#include +#include -+#include +#include +#include +#include @@ -166,7 +165,7 @@ index 0000000000..b9a0c32441 + return 0; +} diff --git a/configs/green_defconfig b/configs/green_defconfig -index 5f94c06279..a97391f295 100644 +index 5f94c062798..a97391f2954 100644 --- a/configs/green_defconfig +++ b/configs/green_defconfig @@ -16,6 +16,7 @@ CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y @@ -188,7 +187,7 @@ index 5f94c06279..a97391f295 100644 CONFIG_MMC_DW_ROCKCHIP=y diff --git a/include/configs/ha-green.h b/include/configs/ha-green.h new file mode 100644 -index 0000000000..e42d9c8e8c +index 00000000000..e42d9c8e8c9 --- /dev/null +++ b/include/configs/ha-green.h @@ -0,0 +1,11 @@ @@ -203,6 +202,3 @@ index 0000000000..e42d9c8e8c +#include + +#endif --- -2.43.0 - diff --git a/buildroot-external/board/nabucasa/green/patches/uboot/0006-green-spl-loader-uboot-order-sd-emmc-spi_nor.patch b/buildroot-external/board/nabucasa/green/patches/uboot/0006-green-spl-loader-uboot-order-sd-emmc-spi_nor.patch index 661e4cbedba..c9ed24780cd 100644 --- a/buildroot-external/board/nabucasa/green/patches/uboot/0006-green-spl-loader-uboot-order-sd-emmc-spi_nor.patch +++ b/buildroot-external/board/nabucasa/green/patches/uboot/0006-green-spl-loader-uboot-order-sd-emmc-spi_nor.patch @@ -1,4 +1,4 @@ -From 51f1bdec59b8f62ac00a37e97a7bb8ebfc9f61d7 Mon Sep 17 00:00:00 2001 +From 6ae9e30259812a3cbc8d4990a5acfe459053a225 Mon Sep 17 00:00:00 2001 From: syan Date: Mon, 31 Jul 2023 09:39:55 +0000 Subject: [PATCH] green: spl loader uboot order: sd-emmc-spi_nor @@ -8,7 +8,7 @@ Subject: [PATCH] green: spl loader uboot order: sd-emmc-spi_nor 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/dts/rk3566-ha-green-u-boot.dtsi b/arch/arm/dts/rk3566-ha-green-u-boot.dtsi -index fa98078fce..48d7b61513 100644 +index fa98078fce2..48d7b615137 100644 --- a/arch/arm/dts/rk3566-ha-green-u-boot.dtsi +++ b/arch/arm/dts/rk3566-ha-green-u-boot.dtsi @@ -9,7 +9,7 @@ @@ -20,6 +20,3 @@ index fa98078fce..48d7b61513 100644 }; }; --- -2.43.0 - diff --git a/buildroot-external/board/nabucasa/green/patches/uboot/0007-green-Fix-SPI-Flash-alias.patch b/buildroot-external/board/nabucasa/green/patches/uboot/0007-green-Fix-SPI-Flash-alias.patch index 34f53becd5b..52c6763d0a8 100644 --- a/buildroot-external/board/nabucasa/green/patches/uboot/0007-green-Fix-SPI-Flash-alias.patch +++ b/buildroot-external/board/nabucasa/green/patches/uboot/0007-green-Fix-SPI-Flash-alias.patch @@ -1,4 +1,4 @@ -From 0142d1a99d2aa4a6dad7181dcd74958b2ee0fe31 Mon Sep 17 00:00:00 2001 +From b6c7fc08198300d8620f9896db468e0e50e8838a Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Thu, 17 Aug 2023 17:51:07 +0200 Subject: [PATCH] green: Fix SPI Flash alias @@ -12,7 +12,7 @@ Signed-off-by: Stefan Agner 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/configs/green_defconfig b/configs/green_defconfig -index a97391f295..71c9257d7d 100644 +index a97391f2954..71c9257d7d4 100644 --- a/configs/green_defconfig +++ b/configs/green_defconfig @@ -55,6 +55,7 @@ CONFIG_CMD_REGULATOR=y @@ -38,6 +38,3 @@ index a97391f295..71c9257d7d 100644 CONFIG_ETH_DESIGNWARE=y CONFIG_GMAC_ROCKCHIP=y CONFIG_PHY_ROCKCHIP_INNO_USB2=y --- -2.43.0 - diff --git a/buildroot-external/board/nabucasa/green/patches/uboot/0008-arch-arm-dts-green-drop-SPI-NOR-flash-partitions.patch b/buildroot-external/board/nabucasa/green/patches/uboot/0008-arch-arm-dts-green-drop-SPI-NOR-flash-partitions.patch index d16a81edbb4..bb52f832aed 100644 --- a/buildroot-external/board/nabucasa/green/patches/uboot/0008-arch-arm-dts-green-drop-SPI-NOR-flash-partitions.patch +++ b/buildroot-external/board/nabucasa/green/patches/uboot/0008-arch-arm-dts-green-drop-SPI-NOR-flash-partitions.patch @@ -1,4 +1,4 @@ -From 846df62342a4904a91aace66e9204ae3ed4ca0af Mon Sep 17 00:00:00 2001 +From 71ad7d9b73ff14283e61fbb1d3d214982f8c9967 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Fri, 18 Aug 2023 10:06:24 +0200 Subject: [PATCH] arch: arm: dts: green: drop SPI NOR flash partitions @@ -8,7 +8,7 @@ Subject: [PATCH] arch: arm: dts: green: drop SPI NOR flash partitions 1 file changed, 27 deletions(-) diff --git a/arch/arm/dts/rk3566-ha-green.dts b/arch/arm/dts/rk3566-ha-green.dts -index 91afadf0e6..68d836911e 100644 +index 91afadf0e65..68d836911ec 100644 --- a/arch/arm/dts/rk3566-ha-green.dts +++ b/arch/arm/dts/rk3566-ha-green.dts @@ -576,33 +576,6 @@ @@ -45,6 +45,3 @@ index 91afadf0e6..68d836911e 100644 }; }; --- -2.43.0 - diff --git a/buildroot-external/board/nabucasa/green/patches/uboot/0009-green-Do-not-use-eMMC-DDR52-mode-enable-HS200.patch b/buildroot-external/board/nabucasa/green/patches/uboot/0009-green-Do-not-use-eMMC-DDR52-mode-enable-HS200.patch index df3b2364c0c..d9467ddd72a 100644 --- a/buildroot-external/board/nabucasa/green/patches/uboot/0009-green-Do-not-use-eMMC-DDR52-mode-enable-HS200.patch +++ b/buildroot-external/board/nabucasa/green/patches/uboot/0009-green-Do-not-use-eMMC-DDR52-mode-enable-HS200.patch @@ -1,4 +1,4 @@ -From 331826e0c52d6bdd65d862e06834f23b3a750276 Mon Sep 17 00:00:00 2001 +From bda29ba9030c8ad9aa245d68033a83106de4f633 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Wed, 12 Jun 2024 15:20:46 +0200 Subject: [PATCH] green: Do not use eMMC DDR52 mode, enable HS200 @@ -22,7 +22,7 @@ Signed-off-by: Jan Čermák 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/arch/arm/dts/rk3566-ha-green-u-boot.dtsi b/arch/arm/dts/rk3566-ha-green-u-boot.dtsi -index 48d7b61513..8dc1585aac 100644 +index 48d7b615137..8dc1585aacd 100644 --- a/arch/arm/dts/rk3566-ha-green-u-boot.dtsi +++ b/arch/arm/dts/rk3566-ha-green-u-boot.dtsi @@ -71,10 +71,7 @@ @@ -44,7 +44,7 @@ index 48d7b61513..8dc1585aac 100644 \ No newline at end of file +}; diff --git a/configs/green_defconfig b/configs/green_defconfig -index 71c9257d7d..7b5a705686 100644 +index 71c9257d7d4..7b5a7056868 100644 --- a/configs/green_defconfig +++ b/configs/green_defconfig @@ -65,6 +65,8 @@ CONFIG_MISC=y diff --git a/buildroot-external/board/nabucasa/green/patches/uboot/0010-arch-arm64-dts-green-Improve-LED-representation.patch b/buildroot-external/board/nabucasa/green/patches/uboot/0010-arch-arm64-dts-green-Improve-LED-representation.patch index 40b2c3f8abb..90199ec6241 100644 --- a/buildroot-external/board/nabucasa/green/patches/uboot/0010-arch-arm64-dts-green-Improve-LED-representation.patch +++ b/buildroot-external/board/nabucasa/green/patches/uboot/0010-arch-arm64-dts-green-Improve-LED-representation.patch @@ -1,4 +1,4 @@ -From d3fb1ec2364b20025d71e2263514a71208cfb61e Mon Sep 17 00:00:00 2001 +From 2bdc5718a00ce5cb9c1fa27c8a1ff6893b016455 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 13 Aug 2024 17:51:29 +0200 Subject: [PATCH] arch: arm64: dts: green: Improve LED representation @@ -15,7 +15,7 @@ Co-authored-by: Stefan Agner 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/arch/arm/dts/rk3566-ha-green.dts b/arch/arm/dts/rk3566-ha-green.dts -index 68d836911e..c3adc59904 100644 +index 68d836911ec..c3adc599049 100644 --- a/arch/arm/dts/rk3566-ha-green.dts +++ b/arch/arm/dts/rk3566-ha-green.dts @@ -48,16 +48,18 @@ diff --git a/buildroot-external/board/nabucasa/green/patches/uboot/0011-configs-green-fix-bss-and-stack-address-and-disable-.patch b/buildroot-external/board/nabucasa/green/patches/uboot/0011-configs-green-fix-bss-and-stack-address-and-disable-.patch new file mode 100644 index 00000000000..1f01dc19be0 --- /dev/null +++ b/buildroot-external/board/nabucasa/green/patches/uboot/0011-configs-green-fix-bss-and-stack-address-and-disable-.patch @@ -0,0 +1,93 @@ +From a05b87fa8cd6716a07514c64d8816272418d74e8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= +Date: Fri, 14 Feb 2025 18:09:29 +0100 +Subject: [PATCH] configs: green: fix bss and stack address and disable + OF_UPSTREAM +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Some addresses defined in Green defconfig are wrong after upstream +changes [1] for Rockchip platform present since U-Boot 2024.04+. Remove +them to apply upstream changes and disable OF_UPSTREAM, as we don't have +upstream device tree for Green. Also refresh the defconfig + +[1] https://lore.kernel.org/u-boot/20240302191629.322562-1-jonas@kwiboo.se/ + +Signed-off-by: Jan Čermák +--- + configs/green_defconfig | 21 +++------------------ + 1 file changed, 3 insertions(+), 18 deletions(-) + +diff --git a/configs/green_defconfig b/configs/green_defconfig +index 7b5a7056868..1f61c172f01 100644 +--- a/configs/green_defconfig ++++ b/configs/green_defconfig +@@ -2,27 +2,20 @@ CONFIG_ARM=y + CONFIG_SKIP_LOWLEVEL_INIT=y + CONFIG_COUNTER_FREQUENCY=24000000 + CONFIG_ARCH_ROCKCHIP=y +-CONFIG_TEXT_BASE=0x00a00000 +-CONFIG_SPL_LIBCOMMON_SUPPORT=y +-CONFIG_SPL_LIBGENERIC_SUPPORT=y + CONFIG_NR_DRAM_BANKS=2 +-CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y +-CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc00000 + CONFIG_SF_DEFAULT_SPEED=24000000 + CONFIG_SF_DEFAULT_MODE=0x2000 + CONFIG_DEFAULT_DEVICE_TREE="rk3566-ha-green" + CONFIG_ROCKCHIP_RK3568=y +-CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y + CONFIG_ROCKCHIP_SPI_IMAGE=y + CONFIG_SPL_SERIAL=y +-CONFIG_SPL_STACK_R_ADDR=0x600000 + CONFIG_TARGET_NABU_CASA_HA_GREEN_RK3566=y +-CONFIG_SPL_STACK=0x400000 ++CONFIG_SYS_LOAD_ADDR=0xc00800 ++CONFIG_SF_DEFAULT_BUS=4 + CONFIG_DEBUG_UART_BASE=0xFE660000 + CONFIG_DEBUG_UART_CLOCK=24000000 + CONFIG_SPL_SPI_FLASH_SUPPORT=y + CONFIG_SPL_SPI=y +-CONFIG_SYS_LOAD_ADDR=0xc00800 + CONFIG_DEBUG_UART=y + CONFIG_FIT=y + CONFIG_FIT_VERBOSE=y +@@ -34,12 +27,7 @@ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-ha-green.dtb" + CONFIG_DISPLAY_BOARDINFO_LATE=y + CONFIG_SPL_MAX_SIZE=0x40000 + CONFIG_SPL_PAD_TO=0x7f8000 +-CONFIG_SPL_HAS_BSS_LINKER_SECTION=y +-CONFIG_SPL_BSS_START_ADDR=0x4000000 +-CONFIG_SPL_BSS_MAX_SIZE=0x4000 + # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set +-# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set +-CONFIG_SPL_STACK_R=y + CONFIG_SPL_SPI_LOAD=y + CONFIG_SYS_SPI_U_BOOT_OFFS=0x60000 + CONFIG_SPL_ATF=y +@@ -54,6 +42,7 @@ CONFIG_CMD_REGULATOR=y + # CONFIG_SPL_DOS_PARTITION is not set + CONFIG_SPL_OF_CONTROL=y + CONFIG_OF_LIVE=y ++# CONFIG_OF_UPSTREAM is not set + CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" + CONFIG_SPL_DM_SEQ_ALIAS=y + CONFIG_SPL_REGMAP=y +@@ -63,16 +52,12 @@ CONFIG_ROCKCHIP_GPIO=y + CONFIG_SYS_I2C_ROCKCHIP=y + CONFIG_MISC=y + CONFIG_I2C_EEPROM=y +-CONFIG_SYS_I2C_EEPROM_ADDR=0x0 + CONFIG_SUPPORT_EMMC_RPMB=y +-CONFIG_MMC_HS200_SUPPORT=y +-CONFIG_SPL_MMC_HS200_SUPPORT=y + CONFIG_MMC_DW=y + CONFIG_MMC_DW_ROCKCHIP=y + CONFIG_MMC_SDHCI=y + CONFIG_MMC_SDHCI_SDMA=y + CONFIG_MMC_SDHCI_ROCKCHIP=y +-CONFIG_SF_DEFAULT_BUS=4 + CONFIG_SPI_FLASH_SFDP_SUPPORT=y + CONFIG_SPI_FLASH_GIGADEVICE=y + CONFIG_SPI_FLASH_MACRONIX=y diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0001-rpi-add-NVMe-to-boot-order.patch b/buildroot-external/board/raspberrypi/patches/uboot/0001-rpi-add-NVMe-to-boot-order.patch similarity index 86% rename from buildroot-external/board/raspberrypi/patches/uboot/2024.10/0001-rpi-add-NVMe-to-boot-order.patch rename to buildroot-external/board/raspberrypi/patches/uboot/0001-rpi-add-NVMe-to-boot-order.patch index 4a93de5a24c..6a0a8d004e9 100644 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0001-rpi-add-NVMe-to-boot-order.patch +++ b/buildroot-external/board/raspberrypi/patches/uboot/0001-rpi-add-NVMe-to-boot-order.patch @@ -1,4 +1,4 @@ -From 3d9bd29941ce291e44aab60be1339d4c116ebda5 Mon Sep 17 00:00:00 2001 +From 1e59538810162eca0e902e024dde599c15f36cde Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Tue, 29 Dec 2020 23:34:52 +0100 Subject: [PATCH] rpi: add NVMe to boot order @@ -12,7 +12,7 @@ Signed-off-by: Stefan Agner 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/board/raspberrypi/rpi/rpi.env b/board/raspberrypi/rpi/rpi.env -index 30228285ed..89f6c5a839 100644 +index 30228285edd..89f6c5a8392 100644 --- a/board/raspberrypi/rpi/rpi.env +++ b/board/raspberrypi/rpi/rpi.env @@ -74,4 +74,4 @@ pxefile_addr_r=0x02500000 diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0002-Revert-nvme-Correct-the-prps-per-page-calculation-me.patch b/buildroot-external/board/raspberrypi/patches/uboot/0002-Revert-nvme-Correct-the-prps-per-page-calculation-me.patch similarity index 92% rename from buildroot-external/board/raspberrypi/patches/uboot/2024.10/0002-Revert-nvme-Correct-the-prps-per-page-calculation-me.patch rename to buildroot-external/board/raspberrypi/patches/uboot/0002-Revert-nvme-Correct-the-prps-per-page-calculation-me.patch index ee08921a954..0f3880c9738 100644 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0002-Revert-nvme-Correct-the-prps-per-page-calculation-me.patch +++ b/buildroot-external/board/raspberrypi/patches/uboot/0002-Revert-nvme-Correct-the-prps-per-page-calculation-me.patch @@ -1,4 +1,4 @@ -From ab13da2df9f86517df45da293ed8002e07a3d5ec Mon Sep 17 00:00:00 2001 +From 16508d6d1a166ac2c7c03550876633cf9828e0e0 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Thu, 23 Sep 2021 23:43:31 +0200 Subject: [PATCH] Revert "nvme: Correct the prps per page calculation method" @@ -23,7 +23,7 @@ Cc: Wesley Sheng 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c -index 7c58ceb78f..0b2496cf26 100644 +index 7c58ceb78f5..0b2496cf26f 100644 --- a/drivers/nvme/nvme.c +++ b/drivers/nvme/nvme.c @@ -52,7 +52,7 @@ static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2, diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0003-usb-xhci-brcm-Make-driver-compatible-with-downstream.patch b/buildroot-external/board/raspberrypi/patches/uboot/0003-usb-xhci-brcm-Make-driver-compatible-with-downstream.patch similarity index 88% rename from buildroot-external/board/raspberrypi/patches/uboot/2024.10/0003-usb-xhci-brcm-Make-driver-compatible-with-downstream.patch rename to buildroot-external/board/raspberrypi/patches/uboot/0003-usb-xhci-brcm-Make-driver-compatible-with-downstream.patch index 96f127e6790..8960a4ccc07 100644 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0003-usb-xhci-brcm-Make-driver-compatible-with-downstream.patch +++ b/buildroot-external/board/raspberrypi/patches/uboot/0003-usb-xhci-brcm-Make-driver-compatible-with-downstream.patch @@ -1,4 +1,4 @@ -From 9de58838106829b8caa47b6fd6b42ba3435c2ce6 Mon Sep 17 00:00:00 2001 +From 725fef2ebd8a23f68c2574ca799593596d1ef6fd Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Thu, 7 Oct 2021 12:02:39 +0200 Subject: [PATCH] usb: xhci-brcm: Make driver compatible with downstream device @@ -13,7 +13,7 @@ Signed-off-by: Stefan Agner 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/host/xhci-brcm.c b/drivers/usb/host/xhci-brcm.c -index 2ffad148de..2a063ccc9e 100644 +index 2ffad148dea..2a063ccc9eb 100644 --- a/drivers/usb/host/xhci-brcm.c +++ b/drivers/usb/host/xhci-brcm.c @@ -81,7 +81,7 @@ static int xhci_brcm_deregister(struct udevice *dev) diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0004-nvme-improve-readability-of-nvme_setup_prps.patch b/buildroot-external/board/raspberrypi/patches/uboot/0004-nvme-improve-readability-of-nvme_setup_prps.patch similarity index 93% rename from buildroot-external/board/raspberrypi/patches/uboot/2024.10/0004-nvme-improve-readability-of-nvme_setup_prps.patch rename to buildroot-external/board/raspberrypi/patches/uboot/0004-nvme-improve-readability-of-nvme_setup_prps.patch index 6c54abcf236..2192cf77274 100644 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0004-nvme-improve-readability-of-nvme_setup_prps.patch +++ b/buildroot-external/board/raspberrypi/patches/uboot/0004-nvme-improve-readability-of-nvme_setup_prps.patch @@ -1,4 +1,4 @@ -From 8c5910539c7e4e97f233789c2489c800f87ddf81 Mon Sep 17 00:00:00 2001 +From cd66ee3e5f0a3c86702cf898c5b6d13227cd29b7 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Thu, 23 Sep 2021 23:52:44 +0200 Subject: [PATCH] nvme: improve readability of nvme_setup_prps() @@ -12,7 +12,7 @@ Signed-off-by: Stefan Agner 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c -index 0b2496cf26..b1d8eecdca 100644 +index 0b2496cf26f..b1d8eecdcaf 100644 --- a/drivers/nvme/nvme.c +++ b/drivers/nvme/nvme.c @@ -47,12 +47,12 @@ static int nvme_wait_csts(struct nvme_dev *dev, u32 mask, u32 val) diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0005-nvme-Use-pointer-for-CPU-addressed-buffers.patch b/buildroot-external/board/raspberrypi/patches/uboot/0005-nvme-Use-pointer-for-CPU-addressed-buffers.patch similarity index 97% rename from buildroot-external/board/raspberrypi/patches/uboot/2024.10/0005-nvme-Use-pointer-for-CPU-addressed-buffers.patch rename to buildroot-external/board/raspberrypi/patches/uboot/0005-nvme-Use-pointer-for-CPU-addressed-buffers.patch index db89d2005d3..d379083abc3 100644 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0005-nvme-Use-pointer-for-CPU-addressed-buffers.patch +++ b/buildroot-external/board/raspberrypi/patches/uboot/0005-nvme-Use-pointer-for-CPU-addressed-buffers.patch @@ -1,4 +1,4 @@ -From e3f73d6ddba46f3b4ec8833c11f9ad831e57d394 Mon Sep 17 00:00:00 2001 +From 76cde18c3c80d4f7c2d53e4731e1c5d9689a6f49 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Thu, 23 Sep 2021 23:58:35 +0200 Subject: [PATCH] nvme: Use pointer for CPU addressed buffers @@ -15,7 +15,7 @@ Signed-off-by: Stefan Agner 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c -index b1d8eecdca..f626a472ff 100644 +index b1d8eecdcaf..f626a472ffa 100644 --- a/drivers/nvme/nvme.c +++ b/drivers/nvme/nvme.c @@ -45,11 +45,11 @@ static int nvme_wait_csts(struct nvme_dev *dev, u32 mask, u32 val) @@ -184,7 +184,7 @@ index b1d8eecdca..f626a472ff 100644 goto free_id; } diff --git a/drivers/nvme/nvme_show.c b/drivers/nvme/nvme_show.c -index b06cb5c6d5..ad1a260f9a 100644 +index b06cb5c6d51..ad1a260f9ab 100644 --- a/drivers/nvme/nvme_show.c +++ b/drivers/nvme/nvme_show.c @@ -113,7 +113,7 @@ int nvme_print_info(struct udevice *udev) @@ -206,7 +206,7 @@ index b06cb5c6d5..ad1a260f9a 100644 goto free_id; } diff --git a/include/nvme.h b/include/nvme.h -index 2cdf8ce320..8ff823cd81 100644 +index 2cdf8ce320c..8ff823cd81c 100644 --- a/include/nvme.h +++ b/include/nvme.h @@ -18,12 +18,12 @@ struct nvme_dev; diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0006-nvme-translate-virtual-addresses-into-the-bus-s-addr.patch b/buildroot-external/board/raspberrypi/patches/uboot/0006-nvme-translate-virtual-addresses-into-the-bus-s-addr.patch similarity index 97% rename from buildroot-external/board/raspberrypi/patches/uboot/2024.10/0006-nvme-translate-virtual-addresses-into-the-bus-s-addr.patch rename to buildroot-external/board/raspberrypi/patches/uboot/0006-nvme-translate-virtual-addresses-into-the-bus-s-addr.patch index 110cc60dd06..05e7a0d90e8 100644 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0006-nvme-translate-virtual-addresses-into-the-bus-s-addr.patch +++ b/buildroot-external/board/raspberrypi/patches/uboot/0006-nvme-translate-virtual-addresses-into-the-bus-s-addr.patch @@ -1,4 +1,4 @@ -From 1c9ebd44d5af878719f041d6a2329cc81674134c Mon Sep 17 00:00:00 2001 +From 9d2676a8fad6d92e5c761c125b069c90a9ef6587 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Fri, 24 Sep 2021 00:27:39 +0200 Subject: [PATCH] nvme: translate virtual addresses into the bus's address @@ -26,7 +26,7 @@ Signed-off-by: Stefan Agner 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c -index f626a472ff..70ce63f205 100644 +index f626a472ffa..70ce63f2053 100644 --- a/drivers/nvme/nvme.c +++ b/drivers/nvme/nvme.c @@ -66,7 +66,7 @@ static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2, @@ -143,7 +143,7 @@ index f626a472ff..70ce63f205 100644 status = nvme_submit_sync_cmd(dev->queues[NVME_IO_Q], &c, NULL, IO_TIMEOUT); diff --git a/drivers/nvme/nvme.h b/drivers/nvme/nvme.h -index bc1d612dde..f52103c009 100644 +index bc1d612dde4..f52103c0095 100644 --- a/drivers/nvme/nvme.h +++ b/drivers/nvme/nvme.h @@ -7,8 +7,11 @@ diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0007-Revert-pci-Check-region-ranges-are-addressable.patch b/buildroot-external/board/raspberrypi/patches/uboot/0007-Revert-pci-Check-region-ranges-are-addressable.patch similarity index 93% rename from buildroot-external/board/raspberrypi/patches/uboot/2024.10/0007-Revert-pci-Check-region-ranges-are-addressable.patch rename to buildroot-external/board/raspberrypi/patches/uboot/0007-Revert-pci-Check-region-ranges-are-addressable.patch index 131d562f92d..c761b18c9f4 100644 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0007-Revert-pci-Check-region-ranges-are-addressable.patch +++ b/buildroot-external/board/raspberrypi/patches/uboot/0007-Revert-pci-Check-region-ranges-are-addressable.patch @@ -1,4 +1,4 @@ -From 418664bb1dfa61b8fc1a0292adb00ec93e1a7619 Mon Sep 17 00:00:00 2001 +From c77c55c6975af3ff5210559b1c5a89e76de0cceb Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Mon, 24 Apr 2023 15:44:15 +0200 Subject: [PATCH] Revert "pci: Check region ranges are addressable" @@ -15,7 +15,7 @@ Signed-off-by: Stefan Agner 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c -index 6571e65304..803d5c25fc 100644 +index 59894d2430b..f1f7e525efe 100644 --- a/drivers/pci/pci-uclass.c +++ b/drivers/pci/pci-uclass.c @@ -1038,22 +1038,7 @@ static int decode_regions(struct pci_controller *hose, ofnode parent_node, diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0008-reset-reset-brcmstb-Add-Broadcom-STB-reset-controlle.patch b/buildroot-external/board/raspberrypi/patches/uboot/0008-reset-reset-brcmstb-Add-Broadcom-STB-reset-controlle.patch similarity index 96% rename from buildroot-external/board/raspberrypi/patches/uboot/2024.10/0008-reset-reset-brcmstb-Add-Broadcom-STB-reset-controlle.patch rename to buildroot-external/board/raspberrypi/patches/uboot/0008-reset-reset-brcmstb-Add-Broadcom-STB-reset-controlle.patch index 85b295cbd06..79128a9f792 100644 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0008-reset-reset-brcmstb-Add-Broadcom-STB-reset-controlle.patch +++ b/buildroot-external/board/raspberrypi/patches/uboot/0008-reset-reset-brcmstb-Add-Broadcom-STB-reset-controlle.patch @@ -1,4 +1,4 @@ -From 81100e760c8ed3d697696de5353d51e8e1af2be4 Mon Sep 17 00:00:00 2001 +From ad9ce9d8ba273fffeff3d98ae1fc978dd217ab1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Mon, 30 Sep 2024 17:56:45 +0200 Subject: [PATCH] reset: reset-brcmstb: Add Broadcom STB reset controller @@ -20,7 +20,7 @@ Signed-off-by: Jan Čermák create mode 100644 drivers/reset/reset-brcmstb.c diff --git a/drivers/reset/Kconfig b/drivers/reset/Kconfig -index fe5c1214f5..10a364b2a8 100644 +index fe5c1214f57..186dd963bc4 100644 --- a/drivers/reset/Kconfig +++ b/drivers/reset/Kconfig @@ -63,6 +63,12 @@ config RESET_BCM6345 @@ -37,7 +37,7 @@ index fe5c1214f5..10a364b2a8 100644 bool "Reset controller driver for UniPhier SoCs" depends on ARCH_UNIPHIER diff --git a/drivers/reset/Makefile b/drivers/reset/Makefile -index 2eb639e4a6..d7e9ac1a88 100644 +index d99a78c9828..8d9181e8af7 100644 --- a/drivers/reset/Makefile +++ b/drivers/reset/Makefile @@ -13,6 +13,7 @@ obj-$(CONFIG_TEGRA186_RESET) += tegra186-reset.o @@ -50,7 +50,7 @@ index 2eb639e4a6..d7e9ac1a88 100644 obj-$(CONFIG_RESET_AST2600) += reset-ast2600.o diff --git a/drivers/reset/reset-brcmstb.c b/drivers/reset/reset-brcmstb.c new file mode 100644 -index 0000000000..c0aef5f124 +index 00000000000..c0aef5f1241 --- /dev/null +++ b/drivers/reset/reset-brcmstb.c @@ -0,0 +1,89 @@ diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0009-reset-reset-brcmstb-rescal-Add-Broadcom-RESCAL-reset.patch b/buildroot-external/board/raspberrypi/patches/uboot/0009-reset-reset-brcmstb-rescal-Add-Broadcom-RESCAL-reset.patch similarity index 96% rename from buildroot-external/board/raspberrypi/patches/uboot/2024.10/0009-reset-reset-brcmstb-rescal-Add-Broadcom-RESCAL-reset.patch rename to buildroot-external/board/raspberrypi/patches/uboot/0009-reset-reset-brcmstb-rescal-Add-Broadcom-RESCAL-reset.patch index 35ce4f3cad7..604374bd556 100644 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0009-reset-reset-brcmstb-rescal-Add-Broadcom-RESCAL-reset.patch +++ b/buildroot-external/board/raspberrypi/patches/uboot/0009-reset-reset-brcmstb-rescal-Add-Broadcom-RESCAL-reset.patch @@ -1,4 +1,4 @@ -From eb7dd5b1afa4831e6eca2edb2650bd9db9a6d6eb Mon Sep 17 00:00:00 2001 +From d7f2d45fa63507cef65e86aeb79e1f47733e981c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Mon, 30 Sep 2024 18:09:29 +0200 Subject: [PATCH] reset: reset-brcmstb-rescal: Add Broadcom RESCAL reset @@ -21,7 +21,7 @@ Signed-off-by: Jan Čermák create mode 100644 drivers/reset/reset-brcmstb-rescal.c diff --git a/drivers/reset/Kconfig b/drivers/reset/Kconfig -index 10a364b2a8..fd1eb05a41 100644 +index 186dd963bc4..85776ba234d 100644 --- a/drivers/reset/Kconfig +++ b/drivers/reset/Kconfig @@ -69,6 +69,12 @@ config RESET_BRCMSTB @@ -38,7 +38,7 @@ index 10a364b2a8..fd1eb05a41 100644 bool "Reset controller driver for UniPhier SoCs" depends on ARCH_UNIPHIER diff --git a/drivers/reset/Makefile b/drivers/reset/Makefile -index d7e9ac1a88..45cf2f1b4d 100644 +index 8d9181e8af7..8f926c52c42 100644 --- a/drivers/reset/Makefile +++ b/drivers/reset/Makefile @@ -14,6 +14,7 @@ obj-$(CONFIG_RESET_TI_SCI) += reset-ti-sci.o @@ -51,7 +51,7 @@ index d7e9ac1a88..45cf2f1b4d 100644 obj-$(CONFIG_RESET_AST2600) += reset-ast2600.o diff --git a/drivers/reset/reset-brcmstb-rescal.c b/drivers/reset/reset-brcmstb-rescal.c new file mode 100644 -index 0000000000..37096bb9ff +index 00000000000..37096bb9fff --- /dev/null +++ b/drivers/reset/reset-brcmstb-rescal.c @@ -0,0 +1,101 @@ diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0010-pci-pcie-brcmstb-Add-basic-support-for-BCM2712-PCIe.patch b/buildroot-external/board/raspberrypi/patches/uboot/0010-pci-pcie-brcmstb-Add-basic-support-for-BCM2712-PCIe.patch similarity index 74% rename from buildroot-external/board/raspberrypi/patches/uboot/2024.10/0010-pci-pcie-brcmstb-Add-basic-support-for-BCM2712-PCIe.patch rename to buildroot-external/board/raspberrypi/patches/uboot/0010-pci-pcie-brcmstb-Add-basic-support-for-BCM2712-PCIe.patch index 499c2044288..1af7318b16c 100644 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0010-pci-pcie-brcmstb-Add-basic-support-for-BCM2712-PCIe.patch +++ b/buildroot-external/board/raspberrypi/patches/uboot/0010-pci-pcie-brcmstb-Add-basic-support-for-BCM2712-PCIe.patch @@ -1,4 +1,4 @@ -From 6e16ad9e01d746f78f8a2391dec9aae3f39a96e5 Mon Sep 17 00:00:00 2001 +From 62d5ad02aa91d4f8e5343869439c0e2302b59301 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Mon, 30 Sep 2024 18:13:09 +0200 Subject: [PATCH] pci: pcie-brcmstb: Add basic support for BCM2712 PCIe @@ -25,12 +25,48 @@ in a similar fashion as in upstream/downstream Linux drivers. Signed-off-by: Jan Čermák --- - arch/arm/mach-bcm283x/init.c | 10 +- - drivers/pci/pcie_brcmstb.c | 191 +++++++++++++++++++++++++++++++++-- - 2 files changed, 189 insertions(+), 12 deletions(-) + .../mach-bcm283x/include/mach/acpi/bcm2711.h | 10 + + arch/arm/mach-bcm283x/init.c | 10 +- + drivers/pci/pcie_brcmstb.c | 179 +++++++++++++++++- + 3 files changed, 188 insertions(+), 11 deletions(-) +diff --git a/arch/arm/mach-bcm283x/include/mach/acpi/bcm2711.h b/arch/arm/mach-bcm283x/include/mach/acpi/bcm2711.h +index a86875b1833..a810b91906e 100644 +--- a/arch/arm/mach-bcm283x/include/mach/acpi/bcm2711.h ++++ b/arch/arm/mach-bcm283x/include/mach/acpi/bcm2711.h +@@ -49,6 +49,10 @@ + #define PCIE_RC_DL_MDIO_WR_DATA 0x1104 + #define PCIE_RC_DL_MDIO_RD_DATA 0x1108 + ++#define PCIE_RC_PL_PHY_CTL_15 0x184c ++#define PCIE_RC_PL_PHY_CTL_15_DIS_PLL_PD_MASK 0x400000 ++#define PCIE_RC_PL_PHY_CTL_15_PM_CLK_PERIOD_MASK 0xff ++ + #define PCIE_MISC_MISC_CTRL 0x4008 + #define MISC_CTRL_SCB_ACCESS_EN_MASK 0x1000 + #define MISC_CTRL_CFG_READ_UR_MODE_MASK 0x2000 +@@ -70,6 +74,9 @@ + #define PCIE_MISC_RC_BAR2_CONFIG_HI 0x4038 + #define PCIE_MISC_RC_BAR3_CONFIG_LO 0x403c + #define RC_BAR3_CONFIG_LO_SIZE_MASK 0x1f ++#define PCIE_MISC_PCIE_CTRL 0x4064 ++#define PCIE_MISC_PCIE_CTRL_PCIE_L23_REQUEST_MASK 1 ++#define PCIE_MISC_PCIE_CTRL_PCIE_PERSTB_MASK 4 + #define PCIE_MISC_PCIE_STATUS 0x4068 + #define STATUS_PCIE_PORT_MASK 0x80 + #define STATUS_PCIE_PORT_SHIFT 7 +@@ -93,6 +100,9 @@ + #define PCIE_MEM_WIN0_LIMIT_HI(win) \ + PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI + ((win) * 8) + ++#define PCIE_MISC_UBUS_BAR2_CONFIG_REMAP 0x40b4 ++#define PCIE_MISC_UBUS_BAR2_CONFIG_REMAP_ACCESS_ENABLE_MASK BIT(0) ++ + #define PCIE_MISC_HARD_PCIE_HARD_DEBUG 0x4204 + #define PCIE_HARD_DEBUG_SERDES_IDDQ_MASK 0x08000000 + diff --git a/arch/arm/mach-bcm283x/init.c b/arch/arm/mach-bcm283x/init.c -index 1b459707bc..2d34d67075 100644 +index 7a1de22e0ae..7c7c4e75032 100644 --- a/arch/arm/mach-bcm283x/init.c +++ b/arch/arm/mach-bcm283x/init.c @@ -18,7 +18,7 @@ @@ -58,10 +94,10 @@ index 1b459707bc..2d34d67075 100644 /* SoC bus */ .virt = 0x107c000000UL, diff --git a/drivers/pci/pcie_brcmstb.c b/drivers/pci/pcie_brcmstb.c -index f978c64365..df3e177629 100644 +index f089c48f028..51b7351b8ce 100644 --- a/drivers/pci/pcie_brcmstb.c +++ b/drivers/pci/pcie_brcmstb.c -@@ -16,6 +16,7 @@ +@@ -17,6 +17,7 @@ #include #include #include @@ -69,46 +105,11 @@ index f978c64365..df3e177629 100644 #include #include #include -@@ -39,6 +40,10 @@ - #define PCIE_RC_DL_MDIO_WR_DATA 0x1104 - #define PCIE_RC_DL_MDIO_RD_DATA 0x1108 - -+#define PCIE_RC_PL_PHY_CTL_15 0x184c -+#define PCIE_RC_PL_PHY_CTL_15_DIS_PLL_PD_MASK 0x400000 -+#define PCIE_RC_PL_PHY_CTL_15_PM_CLK_PERIOD_MASK 0xff -+ - #define PCIE_MISC_MISC_CTRL 0x4008 - #define MISC_CTRL_SCB_ACCESS_EN_MASK 0x1000 - #define MISC_CTRL_CFG_READ_UR_MODE_MASK 0x2000 -@@ -64,6 +69,10 @@ - #define PCIE_MISC_RC_BAR3_CONFIG_LO 0x403c - #define RC_BAR3_CONFIG_LO_SIZE_MASK 0x1f - -+#define PCIE_MISC_PCIE_CTRL 0x4064 -+#define PCIE_MISC_PCIE_CTRL_PCIE_L23_REQUEST_MASK 0x1 -+#define PCIE_MISC_PCIE_CTRL_PCIE_PERSTB_MASK 0x4 -+ - #define PCIE_MISC_PCIE_STATUS 0x4068 - #define STATUS_PCIE_PORT_MASK 0x80 - #define STATUS_PCIE_PORT_SHIFT 7 -@@ -89,9 +98,11 @@ - #define PCIE_MEM_WIN0_LIMIT_HI(win) \ - PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI + ((win) * 8) - --#define PCIE_MISC_HARD_PCIE_HARD_DEBUG 0x4204 - #define PCIE_HARD_DEBUG_SERDES_IDDQ_MASK 0x08000000 - -+#define PCIE_MISC_UBUS_BAR2_CONFIG_REMAP 0x40b4 -+#define PCIE_MISC_UBUS_BAR2_CONFIG_REMAP_ACCESS_ENABLE_MASK BIT(0) -+ - #define PCIE_MSI_INTR2_CLR 0x4508 - #define PCIE_MSI_INTR2_MASK_SET 0x4510 - -@@ -130,6 +141,26 @@ +@@ -49,6 +50,26 @@ #define SSC_STATUS_PLL_LOCK_MASK 0x800 #define SSC_STATUS_PLL_LOCK_SHIFT 11 -+#define HARD_DEBUG(pcie) ((pcie)->reg_offsets[PCIE_HARD_DEBUG]) ++#define HARD_DEBUG(pcie) ((pcie)->reg_offsets[PCIE_HARD_DEBUG]) + +struct brcm_pcie; + @@ -131,7 +132,7 @@ index f978c64365..df3e177629 100644 /** * struct brcm_pcie - the PCIe controller state * @base: Base address of memory mapped IO registers of the controller -@@ -140,8 +171,15 @@ +@@ -59,8 +80,15 @@ struct brcm_pcie { void __iomem *base; @@ -147,7 +148,7 @@ index f978c64365..df3e177629 100644 }; /** -@@ -367,6 +405,27 @@ static int brcm_pcie_set_ssc(void __iomem *base) +@@ -286,6 +314,27 @@ static int brcm_pcie_set_ssc(void __iomem *base) return ssc && pll ? 0 : -EIO; } @@ -175,16 +176,16 @@ index f978c64365..df3e177629 100644 /** * brcm_pcie_set_gen() - Limits operation to a specific generation (1, 2 or 3) * @pcie: pointer to the PCIe controller state -@@ -426,6 +485,52 @@ static void brcm_pcie_set_outbound_win(struct brcm_pcie *pcie, +@@ -345,6 +394,52 @@ static void brcm_pcie_set_outbound_win(struct brcm_pcie *pcie, writel(tmp, base + PCIE_MEM_WIN0_LIMIT_HI(win)); } +static int brcm_pcie_perst_set_generic(struct brcm_pcie *pcie, u32 val) +{ + if (val) -+ setbits_le32(pcie->base + PCIE_RGR1_SW_INIT_1, RGR1_SW_INIT_1_PERST_MASK); ++ setbits_le32(pcie->base + PCIE_RGR1_SW_INIT_1, PCIE_RGR1_SW_INIT_1_PERST_MASK); + else -+ clrbits_le32(pcie->base + PCIE_RGR1_SW_INIT_1, RGR1_SW_INIT_1_PERST_MASK); ++ clrbits_le32(pcie->base + PCIE_RGR1_SW_INIT_1, PCIE_RGR1_SW_INIT_1_PERST_MASK); + + return 0; +} @@ -207,9 +208,9 @@ index f978c64365..df3e177629 100644 + } + + if (val) -+ setbits_le32(pcie->base + PCIE_RGR1_SW_INIT_1, RGR1_SW_INIT_1_INIT_MASK); ++ setbits_le32(pcie->base + PCIE_RGR1_SW_INIT_1, PCIE_RGR1_SW_INIT_1_INIT_MASK); + else -+ clrbits_le32(pcie->base + PCIE_RGR1_SW_INIT_1, RGR1_SW_INIT_1_INIT_MASK); ++ clrbits_le32(pcie->base + PCIE_RGR1_SW_INIT_1, PCIE_RGR1_SW_INIT_1_INIT_MASK); + + return ret; +} @@ -228,7 +229,7 @@ index f978c64365..df3e177629 100644 static int brcm_pcie_probe(struct udevice *dev) { struct udevice *ctlr = pci_get_controller(dev); -@@ -441,13 +546,17 @@ static int brcm_pcie_probe(struct udevice *dev) +@@ -360,13 +455,17 @@ static int brcm_pcie_probe(struct udevice *dev) u16 nlw, cls, lnksta; u32 tmp; @@ -241,18 +242,18 @@ index f978c64365..df3e177629 100644 * This will need to be changed when support for other SoCs is added. */ - setbits_le32(base + PCIE_RGR1_SW_INIT_1, -- RGR1_SW_INIT_1_INIT_MASK | RGR1_SW_INIT_1_PERST_MASK); +- PCIE_RGR1_SW_INIT_1_INIT_MASK | PCIE_RGR1_SW_INIT_1_PERST_MASK); + pcie->perst_set(pcie, 1); + pcie->bridge_sw_init_set(pcie, 1); + /* * The delay is a safety precaution to preclude the reset signal * from looking like a glitch. -@@ -455,14 +564,26 @@ static int brcm_pcie_probe(struct udevice *dev) +@@ -374,14 +473,26 @@ static int brcm_pcie_probe(struct udevice *dev) udelay(100); /* Take the bridge out of reset */ -- clrbits_le32(base + PCIE_RGR1_SW_INIT_1, RGR1_SW_INIT_1_INIT_MASK); +- clrbits_le32(base + PCIE_RGR1_SW_INIT_1, PCIE_RGR1_SW_INIT_1_INIT_MASK); + pcie->bridge_sw_init_set(pcie, 0); - clrbits_le32(base + PCIE_MISC_HARD_PCIE_HARD_DEBUG, @@ -277,7 +278,7 @@ index f978c64365..df3e177629 100644 /* Set SCB_MAX_BURST_SIZE, CFG_READ_UR_MODE, SCB_ACCESS_EN */ clrsetbits_le32(base + PCIE_MISC_MISC_CTRL, MISC_CTRL_MAX_BURST_SIZE_MASK, -@@ -481,6 +602,13 @@ static int brcm_pcie_probe(struct udevice *dev) +@@ -400,6 +511,13 @@ static int brcm_pcie_probe(struct udevice *dev) writel(upper_32_bits(rc_bar2_offset), base + PCIE_MISC_RC_BAR2_CONFIG_HI); @@ -291,21 +292,21 @@ index f978c64365..df3e177629 100644 scb_size_val = rc_bar2_size ? ilog2(rc_bar2_size) - 15 : 0xf; /* 0xf is 1GB */ -@@ -507,8 +635,7 @@ static int brcm_pcie_probe(struct udevice *dev) +@@ -426,8 +544,7 @@ static int brcm_pcie_probe(struct udevice *dev) brcm_pcie_set_gen(pcie, pcie->gen); /* Unassert the fundamental reset */ - clrbits_le32(pcie->base + PCIE_RGR1_SW_INIT_1, -- RGR1_SW_INIT_1_PERST_MASK); +- PCIE_RGR1_SW_INIT_1_PERST_MASK); + pcie->perst_set(pcie, 0); /* * Wait for 100ms after PERST# deassertion; see PCIe CEM specification -@@ -595,20 +722,23 @@ static int brcm_pcie_remove(struct udevice *dev) +@@ -514,20 +631,23 @@ static int brcm_pcie_remove(struct udevice *dev) void __iomem *base = pcie->base; /* Assert fundamental reset */ -- setbits_le32(base + PCIE_RGR1_SW_INIT_1, RGR1_SW_INIT_1_PERST_MASK); +- setbits_le32(base + PCIE_RGR1_SW_INIT_1, PCIE_RGR1_SW_INIT_1_PERST_MASK); + pcie->perst_set(pcie, 1); /* Turn off SerDes */ @@ -314,7 +315,7 @@ index f978c64365..df3e177629 100644 PCIE_HARD_DEBUG_SERDES_IDDQ_MASK); /* Shutdown bridge */ -- setbits_le32(base + PCIE_RGR1_SW_INIT_1, RGR1_SW_INIT_1_INIT_MASK); +- setbits_le32(base + PCIE_RGR1_SW_INIT_1, PCIE_RGR1_SW_INIT_1_INIT_MASK); + /* On BCM2712 it will block access to the RESCAL, so don't do it. */ + if (pcie->soc_base != BCM2712) + pcie->bridge_sw_init_set(pcie, 1); @@ -328,7 +329,7 @@ index f978c64365..df3e177629 100644 struct brcm_pcie *pcie = dev_get_priv(dev); ofnode dn = dev_ofnode(dev); u32 max_link_speed; -@@ -619,6 +749,22 @@ static int brcm_pcie_of_to_plat(struct udevice *dev) +@@ -538,6 +658,22 @@ static int brcm_pcie_of_to_plat(struct udevice *dev) if (!pcie->base) return -EINVAL; @@ -351,7 +352,7 @@ index f978c64365..df3e177629 100644 pcie->ssc = ofnode_read_bool(dn, "brcm,enable-ssc"); ret = ofnode_read_u32(dn, "max-link-speed", &max_link_speed); -@@ -635,8 +781,31 @@ static const struct dm_pci_ops brcm_pcie_ops = { +@@ -554,8 +690,31 @@ static const struct dm_pci_ops brcm_pcie_ops = { .write_config = brcm_pcie_write_config, }; diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0011-ARM-bcm2835-add-BCM2712-config-option.patch b/buildroot-external/board/raspberrypi/patches/uboot/0011-ARM-bcm2835-add-BCM2712-config-option.patch similarity index 80% rename from buildroot-external/board/raspberrypi/patches/uboot/2024.10/0011-ARM-bcm2835-add-BCM2712-config-option.patch rename to buildroot-external/board/raspberrypi/patches/uboot/0011-ARM-bcm2835-add-BCM2712-config-option.patch index 14050152020..770505d52b6 100644 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0011-ARM-bcm2835-add-BCM2712-config-option.patch +++ b/buildroot-external/board/raspberrypi/patches/uboot/0011-ARM-bcm2835-add-BCM2712-config-option.patch @@ -1,4 +1,4 @@ -From 61693f4e8db08d263c6036afeecd6d30e7b23660 Mon Sep 17 00:00:00 2001 +From 4302f18da75c7138ce8abc2c67eb6aaf0205e109 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Thu, 3 Oct 2024 11:09:53 +0200 Subject: [PATCH] ARM: bcm2835: add BCM2712 config option @@ -17,12 +17,12 @@ Signed-off-by: Jan Čermák 2 files changed, 7 insertions(+) diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig -index b3287ce8bc..3b8672cfe0 100644 +index d9303e8c281..0adc881d238 100644 --- a/arch/arm/mach-bcm283x/Kconfig +++ b/arch/arm/mach-bcm283x/Kconfig -@@ -44,6 +44,11 @@ config BCM2711_64B - select BCM2711 - select ARM64 +@@ -56,6 +56,11 @@ config BCM2711_64B + select BLOBLIST_ALLOC if GENERATE_ACPI_TABLE + select BLOBLIST_TABLES if GENERATE_ACPI_TABLE +config BCM2712 + bool "Broadcom BCM2712 SoC support (64-bit only)" @@ -31,12 +31,12 @@ index b3287ce8bc..3b8672cfe0 100644 + menu "Broadcom BCM283X family" depends on ARCH_BCM283X - + choice diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig -index 22a56f4ca3..6badc60d13 100644 +index 41901433e8c..89bc332b626 100644 --- a/drivers/pci/Kconfig +++ b/drivers/pci/Kconfig -@@ -386,6 +386,8 @@ config PCIE_DW_ROCKCHIP +@@ -392,6 +392,8 @@ config PCIE_DW_ROCKCHIP config PCI_BRCMSTB bool "Broadcom STB PCIe controller" depends on ARCH_BCM283X diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0012-pci-pcie-brcmstb-HACK-add-DT-property-for-skipping-d.patch b/buildroot-external/board/raspberrypi/patches/uboot/0012-pci-pcie-brcmstb-HACK-add-DT-property-for-skipping-d.patch similarity index 85% rename from buildroot-external/board/raspberrypi/patches/uboot/2024.10/0012-pci-pcie-brcmstb-HACK-add-DT-property-for-skipping-d.patch rename to buildroot-external/board/raspberrypi/patches/uboot/0012-pci-pcie-brcmstb-HACK-add-DT-property-for-skipping-d.patch index 03e055b2906..b8e25cd2502 100644 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.10/0012-pci-pcie-brcmstb-HACK-add-DT-property-for-skipping-d.patch +++ b/buildroot-external/board/raspberrypi/patches/uboot/0012-pci-pcie-brcmstb-HACK-add-DT-property-for-skipping-d.patch @@ -1,4 +1,4 @@ -From d613be9ca405b2e65ac03b137cf6351b1aae7154 Mon Sep 17 00:00:00 2001 +From 57a416a55ebd7ab43fbebd972f984470f7f71973 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Mon, 7 Oct 2024 15:13:40 +0200 Subject: [PATCH] pci: pcie-brcmstb: HACK - add DT property for skipping device @@ -21,10 +21,10 @@ Signed-off-by: Jan Čermák 1 file changed, 7 insertions(+) diff --git a/drivers/pci/pcie_brcmstb.c b/drivers/pci/pcie_brcmstb.c -index df3e177629..02d9e7a1b3 100644 +index 51b7351b8ce..cd2d395947a 100644 --- a/drivers/pci/pcie_brcmstb.c +++ b/drivers/pci/pcie_brcmstb.c -@@ -175,6 +175,7 @@ struct brcm_pcie { +@@ -84,6 +84,7 @@ struct brcm_pcie { enum pcie_soc_base soc_base; int gen; bool ssc; @@ -32,7 +32,7 @@ index df3e177629..02d9e7a1b3 100644 struct reset_ctl *rescal; struct reset_ctl *bridge_reset; -@@ -546,6 +547,11 @@ static int brcm_pcie_probe(struct udevice *dev) +@@ -455,6 +456,11 @@ static int brcm_pcie_probe(struct udevice *dev) u16 nlw, cls, lnksta; u32 tmp; @@ -44,7 +44,7 @@ index df3e177629..02d9e7a1b3 100644 if (pcie->rescal) reset_deassert(pcie->rescal); -@@ -766,6 +772,7 @@ static int brcm_pcie_of_to_plat(struct udevice *dev) +@@ -675,6 +681,7 @@ static int brcm_pcie_of_to_plat(struct udevice *dev) } pcie->ssc = ofnode_read_bool(dn, "brcm,enable-ssc"); diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0001-rpi-Use-CONFIG_OF_BOARD-instead-of-CONFIG_EMBED.patch b/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0001-rpi-Use-CONFIG_OF_BOARD-instead-of-CONFIG_EMBED.patch deleted file mode 100644 index b0936eb9106..00000000000 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0001-rpi-Use-CONFIG_OF_BOARD-instead-of-CONFIG_EMBED.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 45df955b5aa0460b9c93f63fb4a38f10807c0694 Mon Sep 17 00:00:00 2001 -From: Pascal Vizeli -Date: Tue, 10 Dec 2019 09:48:46 +0000 -Subject: [PATCH] rpi: Use CONFIG_OF_BOARD instead of CONFIG_EMBED - -Signed-off-by: Pascal Vizeli ---- - configs/rpi_0_w_defconfig | 2 +- - configs/rpi_2_defconfig | 2 +- - configs/rpi_3_32b_defconfig | 2 +- - configs/rpi_3_defconfig | 2 +- - configs/rpi_defconfig | 2 +- - 5 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig -index ac3b40c1c1..e6765878d1 100644 ---- a/configs/rpi_0_w_defconfig -+++ b/configs/rpi_0_w_defconfig -@@ -24,7 +24,7 @@ CONFIG_CMD_GPIO=y - CONFIG_CMD_MMC=y - CONFIG_CMD_USB=y - CONFIG_CMD_FS_UUID=y --CONFIG_OF_EMBED=y -+CONFIG_OF_BOARD=y - CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" - CONFIG_SYS_RELOC_GD_ENV_ADDR=y - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y -diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig -index b6e06cfe20..0650344526 100644 ---- a/configs/rpi_2_defconfig -+++ b/configs/rpi_2_defconfig -@@ -25,7 +25,7 @@ CONFIG_CMD_GPIO=y - CONFIG_CMD_MMC=y - CONFIG_CMD_USB=y - CONFIG_CMD_FS_UUID=y --CONFIG_OF_EMBED=y -+CONFIG_OF_BOARD=y - CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" - CONFIG_SYS_RELOC_GD_ENV_ADDR=y - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y -diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig -index eadc418927..7f52b508c4 100644 ---- a/configs/rpi_3_32b_defconfig -+++ b/configs/rpi_3_32b_defconfig -@@ -24,7 +24,7 @@ CONFIG_CMD_GPIO=y - CONFIG_CMD_MMC=y - CONFIG_CMD_USB=y - CONFIG_CMD_FS_UUID=y --CONFIG_OF_EMBED=y -+CONFIG_OF_BOARD=y - CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" - CONFIG_SYS_RELOC_GD_ENV_ADDR=y - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y -diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig -index 6890af4d1d..0767518279 100644 ---- a/configs/rpi_3_defconfig -+++ b/configs/rpi_3_defconfig -@@ -23,7 +23,7 @@ CONFIG_CMD_GPIO=y - CONFIG_CMD_MMC=y - CONFIG_CMD_USB=y - CONFIG_CMD_FS_UUID=y --CONFIG_OF_EMBED=y -+CONFIG_OF_BOARD=y - CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" - CONFIG_SYS_RELOC_GD_ENV_ADDR=y - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y -diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig -index 29c10060cf..79b507405d 100644 ---- a/configs/rpi_defconfig -+++ b/configs/rpi_defconfig -@@ -24,7 +24,7 @@ CONFIG_CMD_GPIO=y - CONFIG_CMD_MMC=y - CONFIG_CMD_USB=y - CONFIG_CMD_FS_UUID=y --CONFIG_OF_EMBED=y -+CONFIG_OF_BOARD=y - CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" - CONFIG_SYS_RELOC_GD_ENV_ADDR=y - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y --- -2.43.0 - diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0002-rpi-add-NVMe-to-boot-order.patch b/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0002-rpi-add-NVMe-to-boot-order.patch deleted file mode 100644 index d169615ddfc..00000000000 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0002-rpi-add-NVMe-to-boot-order.patch +++ /dev/null @@ -1,26 +0,0 @@ -From f53b9a545132686b0286ce166203a57935502dbc Mon Sep 17 00:00:00 2001 -From: Stefan Agner -Date: Tue, 29 Dec 2020 23:34:52 +0100 -Subject: [PATCH] rpi: add NVMe to boot order - -The Compute Module 4 I/O Board can support a NVMe. Add NVMe to the boot -order. - -Signed-off-by: Stefan Agner ---- - board/raspberrypi/rpi/rpi.env | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/board/raspberrypi/rpi/rpi.env b/board/raspberrypi/rpi/rpi.env -index 30228285ed..89f6c5a839 100644 ---- a/board/raspberrypi/rpi/rpi.env -+++ b/board/raspberrypi/rpi/rpi.env -@@ -74,4 +74,4 @@ pxefile_addr_r=0x02500000 - fdt_addr_r=0x02600000 - ramdisk_addr_r=0x02700000 - --boot_targets=mmc usb pxe dhcp -+boot_targets=mmc nvme usb pxe dhcp --- -2.43.0 - diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0003-Revert-nvme-Correct-the-prps-per-page-calculation-me.patch b/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0003-Revert-nvme-Correct-the-prps-per-page-calculation-me.patch deleted file mode 100644 index 57c400ef979..00000000000 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0003-Revert-nvme-Correct-the-prps-per-page-calculation-me.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 8e63cbe8892eb6edc02674d42078a9f116ee8224 Mon Sep 17 00:00:00 2001 -From: Stefan Agner -Date: Thu, 23 Sep 2021 23:43:31 +0200 -Subject: [PATCH] Revert "nvme: Correct the prps per page calculation method" - -This reverts commit 859b33c948945f7904f60a2c12a3792d356d51ad. - -If there is more than one PRP List the last entry is a pointer to -the next list. From the NVM Express specification: - -"The last entry within a memory page, as indicated by the memory page -size in the CC.MPS field, shall be a PRP List pointer if there is more -than a single memory page of data to be transferred." - -For the purpose of calculating the number of pages required for PRP -lists we should always assume that the last entry is required for -the next PRP list. - -Signed-off-by: Stefan Agner -Cc: Wesley Sheng ---- - drivers/nvme/nvme.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c -index c39cd41aa3..03a652863c 100644 ---- a/drivers/nvme/nvme.c -+++ b/drivers/nvme/nvme.c -@@ -53,7 +53,7 @@ static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2, - u64 *prp_pool; - int length = total_len; - int i, nprps; -- u32 prps_per_page = page_size >> 3; -+ u32 prps_per_page = (page_size >> 3) - 1; - u32 num_pages; - - length -= (page_size - offset); --- -2.43.0 - diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0004-usb-xhci-brcm-Make-driver-compatible-with-downstream.patch b/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0004-usb-xhci-brcm-Make-driver-compatible-with-downstream.patch deleted file mode 100644 index 71c9fa17c5c..00000000000 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0004-usb-xhci-brcm-Make-driver-compatible-with-downstream.patch +++ /dev/null @@ -1,30 +0,0 @@ -From c4f0a3c6147e7f8c32cb8806a0c2531b9d3852b7 Mon Sep 17 00:00:00 2001 -From: Stefan Agner -Date: Thu, 7 Oct 2021 12:02:39 +0200 -Subject: [PATCH] usb: xhci-brcm: Make driver compatible with downstream device - tree - -The downstream device tree uses just "generic-xhci" as compatible -string. Use this string to make U-Boot work with the downstream Kernel. - -Signed-off-by: Stefan Agner ---- - drivers/usb/host/xhci-brcm.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/usb/host/xhci-brcm.c b/drivers/usb/host/xhci-brcm.c -index fe17924028..0c6938187b 100644 ---- a/drivers/usb/host/xhci-brcm.c -+++ b/drivers/usb/host/xhci-brcm.c -@@ -82,7 +82,7 @@ static int xhci_brcm_deregister(struct udevice *dev) - } - - static const struct udevice_id xhci_brcm_ids[] = { -- { .compatible = "brcm,generic-xhci" }, -+ { .compatible = "generic-xhci" }, - { } - }; - --- -2.43.0 - diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0005-nvme-improve-readability-of-nvme_setup_prps.patch b/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0005-nvme-improve-readability-of-nvme_setup_prps.patch deleted file mode 100644 index f42ce062581..00000000000 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0005-nvme-improve-readability-of-nvme_setup_prps.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 66e2d5b7ba776587a4ebaca100f27798fa804c54 Mon Sep 17 00:00:00 2001 -From: Stefan Agner -Date: Thu, 23 Sep 2021 23:52:44 +0200 -Subject: [PATCH] nvme: improve readability of nvme_setup_prps() - -Improve readability by introducing consts, reuse consts where -appropriate and adding variables with discriptive name. - -Signed-off-by: Stefan Agner ---- - drivers/nvme/nvme.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c -index 03a652863c..5c4fbd08dc 100644 ---- a/drivers/nvme/nvme.c -+++ b/drivers/nvme/nvme.c -@@ -48,12 +48,12 @@ static int nvme_wait_csts(struct nvme_dev *dev, u32 mask, u32 val) - static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2, - int total_len, u64 dma_addr) - { -- u32 page_size = dev->page_size; -+ const u32 page_size = dev->page_size; -+ const u32 prps_per_page = (page_size >> 3) - 1; - int offset = dma_addr & (page_size - 1); - u64 *prp_pool; - int length = total_len; - int i, nprps; -- u32 prps_per_page = (page_size >> 3) - 1; - u32 num_pages; - - length -= (page_size - offset); -@@ -92,8 +92,8 @@ static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2, - i = 0; - while (nprps) { - if ((i == (prps_per_page - 1)) && nprps > 1) { -- *(prp_pool + i) = cpu_to_le64((ulong)prp_pool + -- page_size); -+ u64 next_prp_list = (u64)prp_pool + page_size; -+ *(prp_pool + i) = cpu_to_le64(next_prp_list); - i = 0; - prp_pool += page_size; - } --- -2.43.0 - diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0006-nvme-Use-pointer-for-CPU-addressed-buffers.patch b/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0006-nvme-Use-pointer-for-CPU-addressed-buffers.patch deleted file mode 100644 index 905e5613e78..00000000000 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0006-nvme-Use-pointer-for-CPU-addressed-buffers.patch +++ /dev/null @@ -1,261 +0,0 @@ -From 4e7236a0e4a75dfca366ffc4ffb23a4bd43a52e7 Mon Sep 17 00:00:00 2001 -From: Stefan Agner -Date: Thu, 23 Sep 2021 23:58:35 +0200 -Subject: [PATCH] nvme: Use pointer for CPU addressed buffers - -Pass buffers which use CPU addressing as void pointers. This aligns with -DMA APIs which use void pointers as argument. It will avoid unnecessary -type casts when adding support bus address translations. - -Signed-off-by: Stefan Agner ---- - drivers/nvme/nvme.c | 50 ++++++++++++++++++++-------------------- - drivers/nvme/nvme_show.c | 4 ++-- - include/nvme.h | 12 +++++----- - 3 files changed, 33 insertions(+), 33 deletions(-) - -diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c -index 5c4fbd08dc..43ef819d11 100644 ---- a/drivers/nvme/nvme.c -+++ b/drivers/nvme/nvme.c -@@ -46,11 +46,11 @@ static int nvme_wait_csts(struct nvme_dev *dev, u32 mask, u32 val) - } - - static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2, -- int total_len, u64 dma_addr) -+ int total_len, void *buffer) - { - const u32 page_size = dev->page_size; - const u32 prps_per_page = (page_size >> 3) - 1; -- int offset = dma_addr & (page_size - 1); -+ int offset = (uintptr_t)buffer & (page_size - 1); - u64 *prp_pool; - int length = total_len; - int i, nprps; -@@ -64,10 +64,10 @@ static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2, - } - - if (length) -- dma_addr += (page_size - offset); -+ buffer += (page_size - offset); - - if (length <= page_size) { -- *prp2 = dma_addr; -+ *prp2 = (u64)buffer; - return 0; - } - -@@ -97,11 +97,11 @@ static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2, - i = 0; - prp_pool += page_size; - } -- *(prp_pool + i++) = cpu_to_le64(dma_addr); -- dma_addr += page_size; -+ *(prp_pool + i++) = cpu_to_le64((u64)buffer); -+ buffer += page_size; - nprps--; - } -- *prp2 = (ulong)dev->prp_pool; -+ *prp2 = (u64)dev->prp_pool; - - flush_dcache_range((ulong)dev->prp_pool, (ulong)dev->prp_pool + - num_pages * page_size); -@@ -448,42 +448,42 @@ static int nvme_alloc_sq(struct nvme_dev *dev, u16 qid, - } - - int nvme_identify(struct nvme_dev *dev, unsigned nsid, -- unsigned cns, dma_addr_t dma_addr) -+ unsigned int cns, void *buffer) - { - struct nvme_command c; - u32 page_size = dev->page_size; -- int offset = dma_addr & (page_size - 1); -+ int offset = (uintptr_t)buffer & (page_size - 1); - int length = sizeof(struct nvme_id_ctrl); - int ret; - - memset(&c, 0, sizeof(c)); - c.identify.opcode = nvme_admin_identify; - c.identify.nsid = cpu_to_le32(nsid); -- c.identify.prp1 = cpu_to_le64(dma_addr); -+ c.identify.prp1 = cpu_to_le64((u64)buffer); - - length -= (page_size - offset); - if (length <= 0) { - c.identify.prp2 = 0; - } else { -- dma_addr += (page_size - offset); -- c.identify.prp2 = cpu_to_le64(dma_addr); -+ buffer += (page_size - offset); -+ c.identify.prp2 = cpu_to_le64((u64)buffer); - } - - c.identify.cns = cpu_to_le32(cns); - -- invalidate_dcache_range(dma_addr, -- dma_addr + sizeof(struct nvme_id_ctrl)); -+ invalidate_dcache_range((uintptr_t)buffer, -+ (uintptr_t)buffer + sizeof(struct nvme_id_ctrl)); - - ret = nvme_submit_admin_cmd(dev, &c, NULL); - if (!ret) -- invalidate_dcache_range(dma_addr, -- dma_addr + sizeof(struct nvme_id_ctrl)); -+ invalidate_dcache_range((uintptr_t)buffer, -+ (uintptr_t)buffer + sizeof(struct nvme_id_ctrl)); - - return ret; - } - - int nvme_get_features(struct nvme_dev *dev, unsigned fid, unsigned nsid, -- dma_addr_t dma_addr, u32 *result) -+ void *buffer, u32 *result) - { - struct nvme_command c; - int ret; -@@ -491,7 +491,7 @@ int nvme_get_features(struct nvme_dev *dev, unsigned fid, unsigned nsid, - memset(&c, 0, sizeof(c)); - c.features.opcode = nvme_admin_get_features; - c.features.nsid = cpu_to_le32(nsid); -- c.features.prp1 = cpu_to_le64(dma_addr); -+ c.features.prp1 = cpu_to_le64((u64)buffer); - c.features.fid = cpu_to_le32(fid); - - ret = nvme_submit_admin_cmd(dev, &c, result); -@@ -511,13 +511,13 @@ int nvme_get_features(struct nvme_dev *dev, unsigned fid, unsigned nsid, - } - - int nvme_set_features(struct nvme_dev *dev, unsigned fid, unsigned dword11, -- dma_addr_t dma_addr, u32 *result) -+ void *buffer, u32 *result) - { - struct nvme_command c; - - memset(&c, 0, sizeof(c)); - c.features.opcode = nvme_admin_set_features; -- c.features.prp1 = cpu_to_le64(dma_addr); -+ c.features.prp1 = cpu_to_le64((u64)buffer); - c.features.fid = cpu_to_le32(fid); - c.features.dword11 = cpu_to_le32(dword11); - -@@ -568,7 +568,7 @@ static int nvme_set_queue_count(struct nvme_dev *dev, int count) - u32 q_count = (count - 1) | ((count - 1) << 16); - - status = nvme_set_features(dev, NVME_FEAT_NUM_QUEUES, -- q_count, 0, &result); -+ q_count, NULL, &result); - - if (status < 0) - return status; -@@ -629,7 +629,7 @@ static int nvme_get_info_from_identify(struct nvme_dev *dev) - if (!ctrl) - return -ENOMEM; - -- ret = nvme_identify(dev, 0, 1, (dma_addr_t)(long)ctrl); -+ ret = nvme_identify(dev, 0, 1, ctrl); - if (ret) { - free(ctrl); - return -EIO; -@@ -717,7 +717,7 @@ static int nvme_blk_probe(struct udevice *udev) - ns->dev = ndev; - /* extract the namespace id from the block device name */ - ns->ns_id = trailing_strtol(udev->name); -- if (nvme_identify(ndev, ns->ns_id, 0, (dma_addr_t)(long)id)) { -+ if (nvme_identify(ndev, ns->ns_id, 0, id)) { - free(id); - return -EIO; - } -@@ -751,7 +751,7 @@ static ulong nvme_blk_rw(struct udevice *udev, lbaint_t blknr, - u64 prp2; - u64 total_len = blkcnt << desc->log2blksz; - u64 temp_len = total_len; -- uintptr_t temp_buffer = (uintptr_t)buffer; -+ void *temp_buffer = buffer; - - u64 slba = blknr; - u16 lbas = 1 << (dev->max_transfer_shift - ns->lba_shift); -@@ -889,7 +889,7 @@ int nvme_init(struct udevice *udev) - char name[20]; - - memset(id, 0, sizeof(*id)); -- if (nvme_identify(ndev, i, 0, (dma_addr_t)(long)id)) { -+ if (nvme_identify(ndev, i, 0, id)) { - ret = -EIO; - goto free_id; - } -diff --git a/drivers/nvme/nvme_show.c b/drivers/nvme/nvme_show.c -index 72cbac82bc..ac9b5cc9bd 100644 ---- a/drivers/nvme/nvme_show.c -+++ b/drivers/nvme/nvme_show.c -@@ -114,7 +114,7 @@ int nvme_print_info(struct udevice *udev) - if (!ctrl) - return -ENOMEM; - -- if (nvme_identify(dev, 0, 1, (dma_addr_t)(long)ctrl)) { -+ if (nvme_identify(dev, 0, 1, ctrl)) { - ret = -EIO; - goto free_ctrl; - } -@@ -129,7 +129,7 @@ int nvme_print_info(struct udevice *udev) - goto free_ctrl; - } - -- if (nvme_identify(dev, ns->ns_id, 0, (dma_addr_t)(long)id)) { -+ if (nvme_identify(dev, ns->ns_id, 0, id)) { - ret = -EIO; - goto free_id; - } -diff --git a/include/nvme.h b/include/nvme.h -index 2cdf8ce320..8ff823cd81 100644 ---- a/include/nvme.h -+++ b/include/nvme.h -@@ -18,12 +18,12 @@ struct nvme_dev; - * @dev: NVMe controller device - * @nsid: 0 for controller, namespace id for namespace to identify - * @cns: 1 for controller, 0 for namespace -- * @dma_addr: dma buffer address to store the identify result -+ * @buffer: dma buffer address to store the identify result - * @return: 0 on success, -ETIMEDOUT on command execution timeout, - * -EIO on command execution fails - */ - int nvme_identify(struct nvme_dev *dev, unsigned nsid, -- unsigned cns, dma_addr_t dma_addr); -+ unsigned int cns, void *buffer); - - /** - * nvme_get_features - retrieve the attributes of the feature specified -@@ -33,13 +33,13 @@ int nvme_identify(struct nvme_dev *dev, unsigned nsid, - * @dev: NVMe controller device - * @fid: feature id to provide data - * @nsid: namespace id the command applies to -- * @dma_addr: data structure used as part of the specified feature -+ * @buffer: data structure used as part of the specified feature - * @result: command-specific result in the completion queue entry - * @return: 0 on success, -ETIMEDOUT on command execution timeout, - * -EIO on command execution fails - */ - int nvme_get_features(struct nvme_dev *dev, unsigned fid, unsigned nsid, -- dma_addr_t dma_addr, u32 *result); -+ void *buffer, u32 *result); - - /** - * nvme_set_features - specify the attributes of the feature indicated -@@ -49,13 +49,13 @@ int nvme_get_features(struct nvme_dev *dev, unsigned fid, unsigned nsid, - * @dev: NVMe controller device - * @fid: feature id to provide data - * @dword11: command-specific input parameter -- * @dma_addr: data structure used as part of the specified feature -+ * @buffer: data structure used as part of the specified feature - * @result: command-specific result in the completion queue entry - * @return: 0 on success, -ETIMEDOUT on command execution timeout, - * -EIO on command execution fails - */ - int nvme_set_features(struct nvme_dev *dev, unsigned fid, unsigned dword11, -- dma_addr_t dma_addr, u32 *result); -+ void *buffer, u32 *result); - - /** - * nvme_scan_namespace - scan all namespaces attached to NVMe controllers --- -2.43.0 - diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0007-nvme-translate-virtual-addresses-into-the-bus-s-addr.patch b/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0007-nvme-translate-virtual-addresses-into-the-bus-s-addr.patch deleted file mode 100644 index 746327eff08..00000000000 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0007-nvme-translate-virtual-addresses-into-the-bus-s-addr.patch +++ /dev/null @@ -1,173 +0,0 @@ -From f992eee16640831a3b2d8c093395a4dcaceff647 Mon Sep 17 00:00:00 2001 -From: Stefan Agner -Date: Fri, 24 Sep 2021 00:27:39 +0200 -Subject: [PATCH] nvme: translate virtual addresses into the bus's address - space - -So far we've been content with passing physical/CPU addresses when -configuring memory addresses into NVMe controllers, but not all -platforms have buses with transparent mappings. Specifically the -Raspberry Pi 4 might introduce an offset to memory accesses incoming -from its PCIe port. - -Introduce nvme_virt_to_bus() and nvme_bus_to_virt() to cater with these -limitations, and make sure we don't break non DM users. -For devices where PCIe's view of host memory doesn't match the memory -as seen by the CPU. - -A similar change has been introduced for XHCI controller with -commit 1a474559d90a ("xhci: translate virtual addresses into the bus's -address space"). - -Signed-off-by: Stefan Agner ---- - drivers/nvme/nvme.c | 31 +++++++++++++++++-------------- - drivers/nvme/nvme.h | 8 ++++++++ - 2 files changed, 25 insertions(+), 14 deletions(-) - -diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c -index 43ef819d11..9cd9037630 100644 ---- a/drivers/nvme/nvme.c -+++ b/drivers/nvme/nvme.c -@@ -67,7 +67,7 @@ static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2, - buffer += (page_size - offset); - - if (length <= page_size) { -- *prp2 = (u64)buffer; -+ *prp2 = nvme_virt_to_bus(dev, buffer); - return 0; - } - -@@ -92,16 +92,16 @@ static int nvme_setup_prps(struct nvme_dev *dev, u64 *prp2, - i = 0; - while (nprps) { - if ((i == (prps_per_page - 1)) && nprps > 1) { -- u64 next_prp_list = (u64)prp_pool + page_size; -- *(prp_pool + i) = cpu_to_le64(next_prp_list); -+ u64 next = nvme_virt_to_bus(dev, prp_pool + page_size); -+ *(prp_pool + i) = cpu_to_le64(next); - i = 0; - prp_pool += page_size; - } -- *(prp_pool + i++) = cpu_to_le64((u64)buffer); -+ *(prp_pool + i++) = cpu_to_le64(nvme_virt_to_bus(dev, buffer)); - buffer += page_size; - nprps--; - } -- *prp2 = (u64)dev->prp_pool; -+ *prp2 = nvme_virt_to_bus(dev, dev->prp_pool); - - flush_dcache_range((ulong)dev->prp_pool, (ulong)dev->prp_pool + - num_pages * page_size); -@@ -354,6 +354,7 @@ static int nvme_configure_admin_queue(struct nvme_dev *dev) - int result; - u32 aqa; - u64 cap = dev->cap; -+ u64 dma_addr; - struct nvme_queue *nvmeq; - /* most architectures use 4KB as the page size */ - unsigned page_shift = 12; -@@ -394,8 +395,10 @@ static int nvme_configure_admin_queue(struct nvme_dev *dev) - dev->ctrl_config |= NVME_CC_IOSQES | NVME_CC_IOCQES; - - writel(aqa, &dev->bar->aqa); -- nvme_writeq((ulong)nvmeq->sq_cmds, &dev->bar->asq); -- nvme_writeq((ulong)nvmeq->cqes, &dev->bar->acq); -+ dma_addr = nvme_virt_to_bus(dev, nvmeq->sq_cmds); -+ nvme_writeq(dma_addr, &dev->bar->asq); -+ dma_addr = nvme_virt_to_bus(dev, nvmeq->cqes); -+ nvme_writeq(dma_addr, &dev->bar->acq); - - result = nvme_enable_ctrl(dev); - if (result) -@@ -421,7 +424,7 @@ static int nvme_alloc_cq(struct nvme_dev *dev, u16 qid, - - memset(&c, 0, sizeof(c)); - c.create_cq.opcode = nvme_admin_create_cq; -- c.create_cq.prp1 = cpu_to_le64((ulong)nvmeq->cqes); -+ c.create_cq.prp1 = cpu_to_le64(nvme_virt_to_bus(dev, nvmeq->cqes)); - c.create_cq.cqid = cpu_to_le16(qid); - c.create_cq.qsize = cpu_to_le16(nvmeq->q_depth - 1); - c.create_cq.cq_flags = cpu_to_le16(flags); -@@ -438,7 +441,7 @@ static int nvme_alloc_sq(struct nvme_dev *dev, u16 qid, - - memset(&c, 0, sizeof(c)); - c.create_sq.opcode = nvme_admin_create_sq; -- c.create_sq.prp1 = cpu_to_le64((ulong)nvmeq->sq_cmds); -+ c.create_sq.prp1 = cpu_to_le64(nvme_virt_to_bus(dev, nvmeq->sq_cmds)); - c.create_sq.sqid = cpu_to_le16(qid); - c.create_sq.qsize = cpu_to_le16(nvmeq->q_depth - 1); - c.create_sq.sq_flags = cpu_to_le16(flags); -@@ -459,14 +462,14 @@ int nvme_identify(struct nvme_dev *dev, unsigned nsid, - memset(&c, 0, sizeof(c)); - c.identify.opcode = nvme_admin_identify; - c.identify.nsid = cpu_to_le32(nsid); -- c.identify.prp1 = cpu_to_le64((u64)buffer); -+ c.identify.prp1 = cpu_to_le64(nvme_virt_to_bus(dev, buffer)); - - length -= (page_size - offset); - if (length <= 0) { - c.identify.prp2 = 0; - } else { - buffer += (page_size - offset); -- c.identify.prp2 = cpu_to_le64((u64)buffer); -+ c.identify.prp2 = cpu_to_le64(nvme_virt_to_bus(dev, buffer)); - } - - c.identify.cns = cpu_to_le32(cns); -@@ -491,7 +494,7 @@ int nvme_get_features(struct nvme_dev *dev, unsigned fid, unsigned nsid, - memset(&c, 0, sizeof(c)); - c.features.opcode = nvme_admin_get_features; - c.features.nsid = cpu_to_le32(nsid); -- c.features.prp1 = cpu_to_le64((u64)buffer); -+ c.features.prp1 = cpu_to_le64(nvme_virt_to_bus(dev, buffer)); - c.features.fid = cpu_to_le32(fid); - - ret = nvme_submit_admin_cmd(dev, &c, result); -@@ -517,7 +520,7 @@ int nvme_set_features(struct nvme_dev *dev, unsigned fid, unsigned dword11, - - memset(&c, 0, sizeof(c)); - c.features.opcode = nvme_admin_set_features; -- c.features.prp1 = cpu_to_le64((u64)buffer); -+ c.features.prp1 = cpu_to_le64(nvme_virt_to_bus(dev, buffer)); - c.features.fid = cpu_to_le32(fid); - c.features.dword11 = cpu_to_le32(dword11); - -@@ -784,7 +787,7 @@ static ulong nvme_blk_rw(struct udevice *udev, lbaint_t blknr, - c.rw.slba = cpu_to_le64(slba); - slba += lbas; - c.rw.length = cpu_to_le16(lbas - 1); -- c.rw.prp1 = cpu_to_le64(temp_buffer); -+ c.rw.prp1 = cpu_to_le64(nvme_virt_to_bus(dev, temp_buffer)); - c.rw.prp2 = cpu_to_le64(prp2); - status = nvme_submit_sync_cmd(dev->queues[NVME_IO_Q], - &c, NULL, IO_TIMEOUT); -diff --git a/drivers/nvme/nvme.h b/drivers/nvme/nvme.h -index bc1d612dde..f52103c009 100644 ---- a/drivers/nvme/nvme.h -+++ b/drivers/nvme/nvme.h -@@ -7,8 +7,11 @@ - #ifndef __DRIVER_NVME_H__ - #define __DRIVER_NVME_H__ - -+#include - #include - -+#define nvme_to_dev(_dev) _dev->udev -+ - struct nvme_id_power_state { - __le16 max_power; /* centiwatts */ - __u8 rsvd2; -@@ -705,4 +708,9 @@ int nvme_init(struct udevice *udev); - */ - int nvme_shutdown(struct udevice *udev); - -+static inline dma_addr_t nvme_virt_to_bus(struct nvme_dev *dev, void *addr) -+{ -+ return dev_phys_to_bus(nvme_to_dev(dev)->parent, virt_to_phys(addr)); -+} -+ - #endif /* __DRIVER_NVME_H__ */ --- -2.43.0 - diff --git a/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0008-Revert-pci-Check-region-ranges-are-addressable.patch b/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0008-Revert-pci-Check-region-ranges-are-addressable.patch deleted file mode 100644 index dd8529340a1..00000000000 --- a/buildroot-external/board/raspberrypi/patches/uboot/2024.01/0008-Revert-pci-Check-region-ranges-are-addressable.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 5743e55d697959bcdcb58744bfc75d2fa99cca61 Mon Sep 17 00:00:00 2001 -From: Stefan Agner -Date: Mon, 24 Apr 2023 15:44:15 +0200 -Subject: [PATCH] Revert "pci: Check region ranges are addressable" - -This reverts commit ec8eba8c2d4e10e77699c56918d2078210aa1339. - -This commit seems to cause boot hangs when USB via XHCI is enabled on -Raspberry Pi 4 32-bit. Reverting the commit fixes USB device detection -and makes the devices boot again. - -Signed-off-by: Stefan Agner ---- - drivers/pci/pci-uclass.c | 17 +---------------- - 1 file changed, 1 insertion(+), 16 deletions(-) - -diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c -index e0d01f6a85..ed3513480a 100644 ---- a/drivers/pci/pci-uclass.c -+++ b/drivers/pci/pci-uclass.c -@@ -1039,22 +1039,7 @@ static int decode_regions(struct pci_controller *hose, ofnode parent_node, - - if (!IS_ENABLED(CONFIG_SYS_PCI_64BIT) && - type == PCI_REGION_MEM && upper_32_bits(pci_addr)) { -- debug(" - pci_addr beyond the 32-bit boundary, ignoring\n"); -- continue; -- } -- -- if (!IS_ENABLED(CONFIG_PHYS_64BIT) && upper_32_bits(addr)) { -- debug(" - addr beyond the 32-bit boundary, ignoring\n"); -- continue; -- } -- -- if (~((pci_addr_t)0) - pci_addr < size) { -- debug(" - PCI range exceeds max address, ignoring\n"); -- continue; -- } -- -- if (~((phys_addr_t)0) - addr < size) { -- debug(" - phys range exceeds max address, ignoring\n"); -+ debug(" - beyond the 32-bit boundary, ignoring\n"); - continue; - } - --- -2.43.0 - diff --git a/buildroot-external/board/raspberrypi/yellow/patches/uboot/0001-drivers-bcm283x-don-t-explicitly-disable-init.patch b/buildroot-external/board/raspberrypi/yellow/patches/uboot/0001-drivers-bcm283x-don-t-explicitly-disable-init.patch index fee8f7ca66b..73868de60df 100644 --- a/buildroot-external/board/raspberrypi/yellow/patches/uboot/0001-drivers-bcm283x-don-t-explicitly-disable-init.patch +++ b/buildroot-external/board/raspberrypi/yellow/patches/uboot/0001-drivers-bcm283x-don-t-explicitly-disable-init.patch @@ -1,5 +1,4 @@ -From d93052cd62449759535c295d5b77dbd73d644478 Mon Sep 17 00:00:00 2001 -Message-ID: +From c3b3682d6314eee9b7d42926f96e1559b8bb91dd Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Thu, 14 Apr 2022 12:15:26 +0200 Subject: [PATCH] drivers: bcm283x: don't explicitly disable init @@ -19,10 +18,10 @@ Signed-off-by: Stefan Agner 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/serial/serial_bcm283x_pl011.c b/drivers/serial/serial_bcm283x_pl011.c -index 09a9868a38..cad24aab08 100644 +index 2abc1c4658f..cfafa5fed91 100644 --- a/drivers/serial/serial_bcm283x_pl011.c +++ b/drivers/serial/serial_bcm283x_pl011.c -@@ -51,12 +51,6 @@ static int bcm283x_pl011_serial_probe(struct udevice *dev) +@@ -50,12 +50,6 @@ static int bcm283x_pl011_serial_probe(struct udevice *dev) if (ret) return ret; @@ -36,7 +35,7 @@ index 09a9868a38..cad24aab08 100644 } diff --git a/include/configs/rpi.h b/include/configs/rpi.h -index 8e56bdc84a..c137bd7e19 100644 +index 8e56bdc84a8..c137bd7e19a 100644 --- a/include/configs/rpi.h +++ b/include/configs/rpi.h @@ -31,4 +31,7 @@ @@ -47,6 +46,3 @@ index 8e56bdc84a..c137bd7e19 100644 +#define CFG_PL011_CLOCK 48000000 + #endif --- -2.43.0 - diff --git a/buildroot-external/board/raspberrypi/yellow/patches/uboot/0002-drivers-bcm283x-allow-to-spawn-any-PL011-UART.patch b/buildroot-external/board/raspberrypi/yellow/patches/uboot/0002-drivers-bcm283x-allow-to-spawn-any-PL011-UART.patch index cfba22d4faf..3951aa6697b 100644 --- a/buildroot-external/board/raspberrypi/yellow/patches/uboot/0002-drivers-bcm283x-allow-to-spawn-any-PL011-UART.patch +++ b/buildroot-external/board/raspberrypi/yellow/patches/uboot/0002-drivers-bcm283x-allow-to-spawn-any-PL011-UART.patch @@ -1,7 +1,4 @@ -From 6ec30bbcaff0f45ce9a25f75e741eb3971d457b9 Mon Sep 17 00:00:00 2001 -Message-ID: <6ec30bbcaff0f45ce9a25f75e741eb3971d457b9.1705959834.git.stefan@agner.ch> -In-Reply-To: -References: +From a13e5a0ea3fcb66663d5aa641aaaa59de5b7c6a5 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Thu, 14 Apr 2022 12:18:41 +0200 Subject: [PATCH] drivers: bcm283x: allow to spawn any PL011 UART @@ -22,10 +19,10 @@ Signed-off-by: Stefan Agner 1 file changed, 27 deletions(-) diff --git a/drivers/serial/serial_bcm283x_pl011.c b/drivers/serial/serial_bcm283x_pl011.c -index cad24aab08..1ca2c5d831 100644 +index cfafa5fed91..31d854189c5 100644 --- a/drivers/serial/serial_bcm283x_pl011.c +++ b/drivers/serial/serial_bcm283x_pl011.c -@@ -11,37 +11,10 @@ +@@ -10,37 +10,10 @@ #include #include "serial_pl01x_internal.h" @@ -63,6 +60,3 @@ index cad24aab08..1ca2c5d831 100644 /* * Read the ofdata here rather than in an of_to_plat() method * since we need the soc simple-bus to be probed so that the 'ranges' --- -2.43.0 - diff --git a/buildroot-external/bootloader/uboot.config b/buildroot-external/bootloader/uboot.config index 2a21c6d811b..fa6458e5db7 100644 --- a/buildroot-external/bootloader/uboot.config +++ b/buildroot-external/bootloader/uboot.config @@ -18,3 +18,6 @@ CONFIG_CMD_SETEXPR=y CONFIG_CMD_FILEENV=y CONFIG_CMD_SQUASHFS=y CONFIG_LZO=y +# CONFIG_DFU is not set +# CONFIG_CMD_DFU is not set +# CONFIG_TOOLS_MKEFICAPSULE is not set diff --git a/buildroot-external/configs/green_defconfig b/buildroot-external/configs/green_defconfig index 4f5591282af..93d3fa42d4b 100755 --- a/buildroot-external/configs/green_defconfig +++ b/buildroot-external/configs/green_defconfig @@ -141,7 +141,7 @@ BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144 BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="green" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/uboot.config" BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y diff --git a/buildroot-external/configs/khadas_vim3_defconfig b/buildroot-external/configs/khadas_vim3_defconfig index 47b0135fcad..fb6cc313d41 100644 --- a/buildroot-external/configs/khadas_vim3_defconfig +++ b/buildroot-external/configs/khadas_vim3_defconfig @@ -136,7 +136,7 @@ BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144 BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="khadas-vim3" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3/uboot.config" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 4f4fc585141..dc813a02475 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -4,7 +4,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches-meson" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" @@ -136,7 +136,7 @@ BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144 BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="odroid-c2" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/uboot.config" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index fd41cba2cd4..fe6529185c4 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -4,7 +4,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches-meson" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" @@ -134,7 +134,7 @@ BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144 BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="odroid-c4" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/uboot.config" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/odroid_m1_defconfig b/buildroot-external/configs/odroid_m1_defconfig index 1d8e203831d..8f371d994c3 100644 --- a/buildroot-external/configs/odroid_m1_defconfig +++ b/buildroot-external/configs/odroid_m1_defconfig @@ -4,7 +4,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/patches-rockchip $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/patches-rockchip" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" @@ -136,7 +136,7 @@ BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144 BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="odroid-m1-rk3568" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/uboot.config" BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y diff --git a/buildroot-external/configs/odroid_m1s_defconfig b/buildroot-external/configs/odroid_m1s_defconfig index c16a7882b8f..db1753d047a 100644 --- a/buildroot-external/configs/odroid_m1s_defconfig +++ b/buildroot-external/configs/odroid_m1s_defconfig @@ -136,7 +136,7 @@ BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144 BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="odroid-m1s-rk3566" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/uboot.config" BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index 34be74af293..7e1e4fa7a36 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -4,7 +4,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches-meson" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" @@ -136,7 +136,7 @@ BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144 BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="odroid-n2" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/uboot.config" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index 5ba78859d8e..0470c56d326 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -5,7 +5,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/patches" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" @@ -136,7 +136,7 @@ BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144 BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="odroid-xu3" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/uboot.config" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index d08d4c193b8..915ebfaca83 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -139,7 +139,7 @@ BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144 BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_2" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index d9bc608bad4..115f7566d80 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -140,7 +140,7 @@ BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144 BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index c1a8249c72b..819059efb7d 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -141,7 +141,7 @@ BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144 BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3_32b" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig index 15322f71285..2d34620b0f9 100644 --- a/buildroot-external/configs/rpi4_64_defconfig +++ b/buildroot-external/configs/rpi4_64_defconfig @@ -141,7 +141,7 @@ BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144 BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_4" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi4-64/uboot.config" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi4_defconfig b/buildroot-external/configs/rpi4_defconfig index 8217cfe8676..02ccb4b0ac0 100644 --- a/buildroot-external/configs/rpi4_defconfig +++ b/buildroot-external/configs/rpi4_defconfig @@ -140,7 +140,7 @@ BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144 BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_4_32b" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi4/uboot.config" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 2818fb83dc3..09b06215cbe 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -136,7 +136,7 @@ BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144 BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="tinker-s-rk3288" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/uboot.config" BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y diff --git a/buildroot-external/configs/yellow_defconfig b/buildroot-external/configs/yellow_defconfig index 1d0a44f0c63..7e5f258fceb 100644 --- a/buildroot-external/configs/yellow_defconfig +++ b/buildroot-external/configs/yellow_defconfig @@ -143,7 +143,7 @@ BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144 BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_arm64" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/yellow/uboot.config" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/patches/uboot/0001-CMD-read-string-from-fileinto-env.patch b/buildroot-external/patches/uboot/0001-CMD-read-string-from-fileinto-env.patch index fcec8f2e666..2b82edd37bf 100644 --- a/buildroot-external/patches/uboot/0001-CMD-read-string-from-fileinto-env.patch +++ b/buildroot-external/patches/uboot/0001-CMD-read-string-from-fileinto-env.patch @@ -1,4 +1,4 @@ -From 01d614198feedef81ce60e61bbdf5f1ddc62be52 Mon Sep 17 00:00:00 2001 +From 4af7bcd52d0b6c8df3129a2f35035c6a1b62848d Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 5 Aug 2018 20:43:03 +0000 Subject: [PATCH] CMD: read string from fileinto env @@ -12,10 +12,10 @@ Signed-off-by: Pascal Vizeli create mode 100644 cmd/fileenv.c diff --git a/cmd/Kconfig b/cmd/Kconfig -index df6d71c103..6cda4909d5 100644 +index 1d7ddb4ed36..0c0ce749000 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig -@@ -1689,6 +1689,11 @@ config CMD_XXD +@@ -1792,6 +1792,11 @@ config CMD_XXD help Print file as hexdump to standard output @@ -26,22 +26,22 @@ index df6d71c103..6cda4909d5 100644 + endmenu - menu "Android support commands" + if NET || NET_LWIP diff --git a/cmd/Makefile b/cmd/Makefile -index 9a6790cc17..a521653ff8 100644 +index d1f369deec0..7ad9d3720c0 100644 --- a/cmd/Makefile +++ b/cmd/Makefile -@@ -164,6 +164,7 @@ obj-$(CONFIG_CMD_SHA1SUM) += sha1sum.o +@@ -170,6 +170,7 @@ obj-$(CONFIG_CMD_SHA1SUM) += sha1sum.o obj-$(CONFIG_CMD_SEAMA) += seama.o obj-$(CONFIG_CMD_SETEXPR) += setexpr.o obj-$(CONFIG_CMD_SETEXPR_FMT) += printf.o +obj-$(CONFIG_CMD_FILEENV) += fileenv.o obj-$(CONFIG_CMD_SPI) += spi.o obj-$(CONFIG_CMD_STRINGS) += strings.o - obj-$(CONFIG_CMD_SMC) += smccc.o + obj-$(CONFIG_CMD_SMBIOS) += smbios.o diff --git a/cmd/fileenv.c b/cmd/fileenv.c new file mode 100644 -index 0000000000..4154c8df0f +index 00000000000..4154c8df0f0 --- /dev/null +++ b/cmd/fileenv.c @@ -0,0 +1,45 @@ From d42e34f646b632a6426a56d460cbccf403f1d378 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Wed, 19 Feb 2025 15:33:04 +0100 Subject: [PATCH 36/55] Make swap size configurable (#3882) Allow configuration of the swap size via /etc/default/haos-swapfile file. By setting the SWAPSIZE variable in this file, swapfile get recreated on the next reboot to the defined size. Size can be either in bytes or with optional units (B/K/M/G, accepting some variations but always interpreted as power of 10). The size is then rounded to 4k block size. If no override is defined or the value can't be parsed, it falls back to previously used 33% of system RAM. Fixes #968 --- .../rootfs-overlay/etc/default/.empty | 0 .../usr/lib/systemd/system/etc-default.mount | 13 ++++ .../lib/systemd/system/haos-swapfile.service | 4 +- .../lib/systemd/system/mnt-data-swapfile.swap | 1 + .../rootfs-overlay/usr/libexec/haos-swapfile | 61 +++++++++++++++---- tests/smoke_test/test_basic.py | 25 ++++++++ 6 files changed, 89 insertions(+), 15 deletions(-) create mode 100644 buildroot-external/rootfs-overlay/etc/default/.empty create mode 100644 buildroot-external/rootfs-overlay/usr/lib/systemd/system/etc-default.mount diff --git a/buildroot-external/rootfs-overlay/etc/default/.empty b/buildroot-external/rootfs-overlay/etc/default/.empty new file mode 100644 index 00000000000..e69de29bb2d diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/etc-default.mount b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/etc-default.mount new file mode 100644 index 00000000000..8130c7f4792 --- /dev/null +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/etc-default.mount @@ -0,0 +1,13 @@ +[Unit] +Description=Persistent /etc/default directory +Requires=mnt-overlay.mount +After=mnt-overlay.mount + +[Mount] +What=/mnt/overlay/etc/default +Where=/etc/default +Type=None +Options=bind + +[Install] +WantedBy=hassos-bind.target diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/haos-swapfile.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/haos-swapfile.service index 872438487ef..263286329aa 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/haos-swapfile.service +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/haos-swapfile.service @@ -1,8 +1,8 @@ [Unit] Description=HAOS swap DefaultDependencies=no -Requires=mnt-data.mount -After=mnt-data.mount systemd-growfs@mnt-data.service +Requires=etc-default.mount mnt-data.mount +After=etc-default.mount mnt-data.mount systemd-growfs@mnt-data.service Before=mnt-data-swapfile.swap [Service] diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-data-swapfile.swap b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-data-swapfile.swap index e7eca95dbb3..c6fb697baff 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-data-swapfile.swap +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-data-swapfile.swap @@ -1,5 +1,6 @@ [Unit] Description=HAOS swap file +ConditionFileNotEmpty=/mnt/data/swapfile [Swap] What=/mnt/data/swapfile diff --git a/buildroot-external/rootfs-overlay/usr/libexec/haos-swapfile b/buildroot-external/rootfs-overlay/usr/libexec/haos-swapfile index 46080ff7674..e450392a84f 100755 --- a/buildroot-external/rootfs-overlay/usr/libexec/haos-swapfile +++ b/buildroot-external/rootfs-overlay/usr/libexec/haos-swapfile @@ -1,24 +1,59 @@ #!/bin/sh set -e -swapfile="/mnt/data/swapfile" +size2kilobytes() { + bytes="$(echo "$1" | awk \ + 'BEGIN{IGNORECASE = 1} + function tobytes(n,b,p) {printf "%u\n", n*b^p/1024} + /[0-9]B?$/{tobytes($1, 1, 0); next}; + /K(i?B)?$/{tobytes($1, 2, 10); next}; + /M(i?B)?$/{tobytes($1, 2, 20); next}; + /G(i?B)?$/{tobytes($1, 2, 30); next}; + {print -1}')" + echo "$bytes" +} + +if [ -f /etc/default/haos-swapfile ]; then + # shellcheck disable=SC1091 + . /etc/default/haos-swapfile +fi +SWAPFILE="/mnt/data/swapfile" + +# Swap size in kilobytes (as it's also what meminfo shows) +SWAPSIZE="$(size2kilobytes "${SWAPSIZE}")" + +if [ -z "${SWAPSIZE}" ] || [ "${SWAPSIZE}" = "-1" ]; then + # Default to 33% of total memory + SWAPSIZE="$(awk '/MemTotal/{ print int($2 * 0.33) }' /proc/meminfo)" + echo "[INFO] Using default swapsize of 33% RAM (${SWAPSIZE} kB)" +fi + # Swap space in 4k blocks -swapsize="$(awk '/MemTotal/{ print int($2 * 0.33 / 4) }' /proc/meminfo)" +SWAPSIZE_BLOCKS=$((SWAPSIZE / 4)) +if [ "${SWAPSIZE_BLOCKS}" -lt 10 ]; then + echo "[INFO] Requested swap size smaller than 40kB, disabling swap" -if [ ! -s "${swapfile}" ] || [ "$(stat "${swapfile}" -c '%s')" -lt $((swapsize * 4096)) ]; then - # Check free space (in 4k blocks) - if [ "$(stat -f /mnt/data -c '%f')" -lt "${swapsize}" ]; then - echo "[WARNING] Not enough space to allocate swapfile" - exit 1 - fi + if [ -f "${SWAPFILE}" ]; then + echo "[INFO] Removing existing swapfile" + rm -f "${SWAPFILE}" + fi - echo "[INFO] Creating swapfile of size $((swapsize *4))k" - umask 0077 - dd if=/dev/zero of="${swapfile}" bs=4k count="${swapsize}" + exit 0 fi -if ! swaplabel "${swapfile}" > /dev/null 2>&1; then - /usr/lib/systemd/systemd-makefs swap "${swapfile}" +if [ ! -s "${SWAPFILE}" ] || [ "$(stat "${SWAPFILE}" -c '%s')" -ne $((SWAPSIZE_BLOCKS * 4096)) ]; then + # Check free space (in 4k blocks) + if [ "$(stat -f /mnt/data -c '%f')" -lt "${SWAPSIZE_BLOCKS}" ]; then + echo "[ERROR] Not enough space to allocate swapfile" + exit 1 + fi + + echo "[INFO] Creating swapfile of size ${SWAPSIZE} kB (rounded to ${SWAPSIZE_BLOCKS} blocks)" + umask 0077 + dd if=/dev/zero of="${SWAPFILE}" bs=4k count="${SWAPSIZE_BLOCKS}" fi +if ! swaplabel "${SWAPFILE}" > /dev/null 2>&1; then + /usr/lib/systemd/systemd-makefs swap "${SWAPFILE}" +fi diff --git a/tests/smoke_test/test_basic.py b/tests/smoke_test/test_basic.py index eb6d42b4566..9ae86b10499 100644 --- a/tests/smoke_test/test_basic.py +++ b/tests/smoke_test/test_basic.py @@ -78,6 +78,31 @@ def test_systemctl_check_no_failed(shell): assert "0 loaded units listed." in output, f"Some units failed:\n{"\n".join(output)}" +@pytest.mark.dependency(depends=["test_init"]) +def test_custom_swap_size(shell, target): + output = shell.run_check("stat -c '%s' /mnt/data/swapfile") + # set new swap size to half of the previous size - round to 4k blocks + new_swap_size = (int(output[0]) // 2 // 4096) * 4096 + shell.run_check(f"echo 'SWAPSIZE={new_swap_size/1024/1024}M' > /etc/default/haos-swapfile; reboot") + # reactivate ShellDriver to handle login again + target.deactivate(shell) + target.activate(shell) + output = shell.run_check("stat -c '%s' /mnt/data/swapfile") + assert int(output[0]) == new_swap_size, f"Incorrect swap size {new_swap_size}B: {output}" + + +@pytest.mark.dependency(depends=["test_custom_swap_size"]) +def test_no_swap(shell, target): + output = shell.run_check("echo 'SWAPSIZE=0' > /etc/default/haos-swapfile; reboot") + # reactivate ShellDriver to handle login again + target.deactivate(shell) + target.activate(shell) + output = shell.run_check("systemctl --no-pager -l list-units --state=failed") + assert "0 loaded units listed." in output, f"Some units failed:\n{"\n".join(output)}" + swapon = shell.run_check("swapon --show") + assert swapon == [], f"Swapfile still exists: {swapon}" + + @pytest.mark.dependency(depends=["test_init"]) def test_kernel_not_tainted(shell): """Check if the kernel is not tainted - do it at the end of the From 1b511990e3c4c4c718c843658f1cc687c0b68021 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Wed, 19 Feb 2025 15:33:16 +0100 Subject: [PATCH 37/55] Allow overriding sysctl parameters via /etc/sysctl.d files (#3883) Relocate current content of /etc/sysctl.d to /usr/lib and make the /etc folder writable via a bind mount. --- .../rootfs-overlay/etc/sysctl.d/.empty | 0 .../{etc => usr/lib}/sysctl.d/10-printk.conf | 0 .../{etc => usr/lib}/sysctl.d/15-vm.conf | 0 .../{etc => usr/lib}/sysctl.d/20-network.conf | 0 .../{etc => usr/lib}/sysctl.d/30-cp15barrier.conf | 0 .../lib}/sysctl.d/60-otbr-ancillary-buffer.conf | 0 .../lib}/sysctl.d/60-otbr-ip-forward.conf | 0 .../usr/lib/systemd/system/etc-sysctl.d.mount | 14 ++++++++++++++ 8 files changed, 14 insertions(+) create mode 100644 buildroot-external/rootfs-overlay/etc/sysctl.d/.empty rename buildroot-external/rootfs-overlay/{etc => usr/lib}/sysctl.d/10-printk.conf (100%) rename buildroot-external/rootfs-overlay/{etc => usr/lib}/sysctl.d/15-vm.conf (100%) rename buildroot-external/rootfs-overlay/{etc => usr/lib}/sysctl.d/20-network.conf (100%) rename buildroot-external/rootfs-overlay/{etc => usr/lib}/sysctl.d/30-cp15barrier.conf (100%) rename buildroot-external/rootfs-overlay/{etc => usr/lib}/sysctl.d/60-otbr-ancillary-buffer.conf (100%) rename buildroot-external/rootfs-overlay/{etc => usr/lib}/sysctl.d/60-otbr-ip-forward.conf (100%) create mode 100644 buildroot-external/rootfs-overlay/usr/lib/systemd/system/etc-sysctl.d.mount diff --git a/buildroot-external/rootfs-overlay/etc/sysctl.d/.empty b/buildroot-external/rootfs-overlay/etc/sysctl.d/.empty new file mode 100644 index 00000000000..e69de29bb2d diff --git a/buildroot-external/rootfs-overlay/etc/sysctl.d/10-printk.conf b/buildroot-external/rootfs-overlay/usr/lib/sysctl.d/10-printk.conf similarity index 100% rename from buildroot-external/rootfs-overlay/etc/sysctl.d/10-printk.conf rename to buildroot-external/rootfs-overlay/usr/lib/sysctl.d/10-printk.conf diff --git a/buildroot-external/rootfs-overlay/etc/sysctl.d/15-vm.conf b/buildroot-external/rootfs-overlay/usr/lib/sysctl.d/15-vm.conf similarity index 100% rename from buildroot-external/rootfs-overlay/etc/sysctl.d/15-vm.conf rename to buildroot-external/rootfs-overlay/usr/lib/sysctl.d/15-vm.conf diff --git a/buildroot-external/rootfs-overlay/etc/sysctl.d/20-network.conf b/buildroot-external/rootfs-overlay/usr/lib/sysctl.d/20-network.conf similarity index 100% rename from buildroot-external/rootfs-overlay/etc/sysctl.d/20-network.conf rename to buildroot-external/rootfs-overlay/usr/lib/sysctl.d/20-network.conf diff --git a/buildroot-external/rootfs-overlay/etc/sysctl.d/30-cp15barrier.conf b/buildroot-external/rootfs-overlay/usr/lib/sysctl.d/30-cp15barrier.conf similarity index 100% rename from buildroot-external/rootfs-overlay/etc/sysctl.d/30-cp15barrier.conf rename to buildroot-external/rootfs-overlay/usr/lib/sysctl.d/30-cp15barrier.conf diff --git a/buildroot-external/rootfs-overlay/etc/sysctl.d/60-otbr-ancillary-buffer.conf b/buildroot-external/rootfs-overlay/usr/lib/sysctl.d/60-otbr-ancillary-buffer.conf similarity index 100% rename from buildroot-external/rootfs-overlay/etc/sysctl.d/60-otbr-ancillary-buffer.conf rename to buildroot-external/rootfs-overlay/usr/lib/sysctl.d/60-otbr-ancillary-buffer.conf diff --git a/buildroot-external/rootfs-overlay/etc/sysctl.d/60-otbr-ip-forward.conf b/buildroot-external/rootfs-overlay/usr/lib/sysctl.d/60-otbr-ip-forward.conf similarity index 100% rename from buildroot-external/rootfs-overlay/etc/sysctl.d/60-otbr-ip-forward.conf rename to buildroot-external/rootfs-overlay/usr/lib/sysctl.d/60-otbr-ip-forward.conf diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/etc-sysctl.d.mount b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/etc-sysctl.d.mount new file mode 100644 index 00000000000..73aad40b45a --- /dev/null +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/etc-sysctl.d.mount @@ -0,0 +1,14 @@ +[Unit] +Description=Kernel persistent sysctl.d +Requires=mnt-overlay.mount +After=mnt-overlay.mount +Before=systemd-sysctl.service + +[Mount] +What=/mnt/overlay/etc/sysctl.d +Where=/etc/sysctl.d +Type=None +Options=bind + +[Install] +WantedBy=hassos-bind.target From e455669d62d7e3d7234b373a1340d2b1df311a15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Wed, 19 Feb 2025 21:51:39 +0100 Subject: [PATCH 38/55] Move swappiness config to 15-swappiness.conf (#3884) --- .../usr/lib/sysctl.d/{15-vm.conf => 15-swappiness.conf} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename buildroot-external/rootfs-overlay/usr/lib/sysctl.d/{15-vm.conf => 15-swappiness.conf} (100%) diff --git a/buildroot-external/rootfs-overlay/usr/lib/sysctl.d/15-vm.conf b/buildroot-external/rootfs-overlay/usr/lib/sysctl.d/15-swappiness.conf similarity index 100% rename from buildroot-external/rootfs-overlay/usr/lib/sysctl.d/15-vm.conf rename to buildroot-external/rootfs-overlay/usr/lib/sysctl.d/15-swappiness.conf From 4ab51e780c7a0dd2e33b1f9e92559cdb6448e32e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Thu, 20 Feb 2025 14:16:56 +0100 Subject: [PATCH 39/55] Remove unnecessary and invalid e2scrub removal from post-build (#3886) Removal of the e2scrub binary is not needed anymore, as it's not installed and only BR2_PACKAGE_E2FSPROGS_E2IMAGE is enabled. Moreover, it's been probably wrong since the very beginning, as the TARGET_DIR prefix was missing, possibly leading to removal of the binary from the host/builder. --- buildroot-external/scripts/rootfs-layer.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/buildroot-external/scripts/rootfs-layer.sh b/buildroot-external/scripts/rootfs-layer.sh index 3f91a7103a5..d88065ab2df 100755 --- a/buildroot-external/scripts/rootfs-layer.sh +++ b/buildroot-external/scripts/rootfs-layer.sh @@ -1,7 +1,6 @@ #!/bin/bash function fix_rootfs() { - # Cleanup etc rm -rf "${TARGET_DIR:?}/etc/init.d" rm -rf "${TARGET_DIR:?}/etc/network" @@ -27,10 +26,6 @@ function fix_rootfs() { # Use systemd-resolved for Host OS resolve sed -i '/^hosts:/ {/resolve/! s/files/resolve [!UNAVAIL=return] files/}' "${TARGET_DIR}/etc/nsswitch.conf" - - # Remove e2scrub (LVM specific tools provided by e2fsprogs) - rm -f "/usr/lib/systemd/system/e2scrub*" - rm -f "/usr/sbin/e2scrub*" "/usr/lib/e2fsprogs/e2scrub*" } From e158fbc834ecf4628cae5e8d2b7cf9d68660fca9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Thu, 20 Feb 2025 17:45:23 +0100 Subject: [PATCH 40/55] Use auditd to process AppArmor/audit logs (#3885) Use auditd so logs from AppArmor and other audit events are processed by that instead of printed to the Systemd journal. This will reduce the log spam from BPF usually present in host logs and still preserve the audit logs for debugging. The default configs seems to be sane for our purpose, rotating up to 5 files of 8MiB each. The difference is that /var/log/audit will be now on tmpfs but given how AppArmor is used on typical HA setup, we don't need to preserve the logs over reboots. --- buildroot-external/configs/generic_aarch64_defconfig | 1 + buildroot-external/configs/generic_x86_64_defconfig | 1 + buildroot-external/configs/green_defconfig | 1 + buildroot-external/configs/khadas_vim3_defconfig | 1 + buildroot-external/configs/odroid_c2_defconfig | 1 + buildroot-external/configs/odroid_c4_defconfig | 1 + buildroot-external/configs/odroid_m1_defconfig | 1 + buildroot-external/configs/odroid_m1s_defconfig | 1 + buildroot-external/configs/odroid_n2_defconfig | 1 + buildroot-external/configs/odroid_xu4_defconfig | 1 + buildroot-external/configs/ova_defconfig | 1 + buildroot-external/configs/rpi2_defconfig | 1 + buildroot-external/configs/rpi3_64_defconfig | 1 + buildroot-external/configs/rpi3_defconfig | 1 + buildroot-external/configs/rpi4_64_defconfig | 1 + buildroot-external/configs/rpi4_defconfig | 1 + buildroot-external/configs/rpi5_64_defconfig | 1 + buildroot-external/configs/tinker_defconfig | 1 + buildroot-external/configs/yellow_defconfig | 1 + 19 files changed, 19 insertions(+) diff --git a/buildroot-external/configs/generic_aarch64_defconfig b/buildroot-external/configs/generic_aarch64_defconfig index b0da2d7020e..500c82d27fe 100644 --- a/buildroot-external/configs/generic_aarch64_defconfig +++ b/buildroot-external/configs/generic_aarch64_defconfig @@ -135,6 +135,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_OPENVMTOOLS=y diff --git a/buildroot-external/configs/generic_x86_64_defconfig b/buildroot-external/configs/generic_x86_64_defconfig index 3858ae4171e..4a39b2af4ab 100644 --- a/buildroot-external/configs/generic_x86_64_defconfig +++ b/buildroot-external/configs/generic_x86_64_defconfig @@ -135,6 +135,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_OPENVMTOOLS=y diff --git a/buildroot-external/configs/green_defconfig b/buildroot-external/configs/green_defconfig index 93d3fa42d4b..387ce5e03fa 100755 --- a/buildroot-external/configs/green_defconfig +++ b/buildroot-external/configs/green_defconfig @@ -114,6 +114,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_PROCPS_NG=y diff --git a/buildroot-external/configs/khadas_vim3_defconfig b/buildroot-external/configs/khadas_vim3_defconfig index fb6cc313d41..2ce2290bdc3 100644 --- a/buildroot-external/configs/khadas_vim3_defconfig +++ b/buildroot-external/configs/khadas_vim3_defconfig @@ -109,6 +109,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_PROCPS_NG=y diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index dc813a02475..5f6965c5d09 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -109,6 +109,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_PROCPS_NG=y diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index fe6529185c4..56f4e6ffd69 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -107,6 +107,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_PROCPS_NG=y diff --git a/buildroot-external/configs/odroid_m1_defconfig b/buildroot-external/configs/odroid_m1_defconfig index 8f371d994c3..80fdbd18ef2 100644 --- a/buildroot-external/configs/odroid_m1_defconfig +++ b/buildroot-external/configs/odroid_m1_defconfig @@ -109,6 +109,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_PROCPS_NG=y diff --git a/buildroot-external/configs/odroid_m1s_defconfig b/buildroot-external/configs/odroid_m1s_defconfig index db1753d047a..784cd1a2ce4 100644 --- a/buildroot-external/configs/odroid_m1s_defconfig +++ b/buildroot-external/configs/odroid_m1s_defconfig @@ -109,6 +109,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_PROCPS_NG=y diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index 7e1e4fa7a36..56948a7396a 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -109,6 +109,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_PROCPS_NG=y diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index 0470c56d326..5e7c86c409d 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -109,6 +109,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_PROCPS_NG=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index 9fd566a5e21..1d9fa505415 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -138,6 +138,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_OPENVMTOOLS=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index 915ebfaca83..12adedc2641 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -112,6 +112,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_PROCPS_NG=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index 115f7566d80..c7cfd201050 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -113,6 +113,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_PROCPS_NG=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index 819059efb7d..3a28f03d661 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -114,6 +114,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_PROCPS_NG=y diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig index 2d34620b0f9..8ea00132397 100644 --- a/buildroot-external/configs/rpi4_64_defconfig +++ b/buildroot-external/configs/rpi4_64_defconfig @@ -114,6 +114,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_PROCPS_NG=y diff --git a/buildroot-external/configs/rpi4_defconfig b/buildroot-external/configs/rpi4_defconfig index 02ccb4b0ac0..6604d9718eb 100644 --- a/buildroot-external/configs/rpi4_defconfig +++ b/buildroot-external/configs/rpi4_defconfig @@ -113,6 +113,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_PROCPS_NG=y diff --git a/buildroot-external/configs/rpi5_64_defconfig b/buildroot-external/configs/rpi5_64_defconfig index 0359f82b46c..6eb9fc6a549 100644 --- a/buildroot-external/configs/rpi5_64_defconfig +++ b/buildroot-external/configs/rpi5_64_defconfig @@ -112,6 +112,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_PROCPS_NG=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 09b06215cbe..09873b6bbff 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -109,6 +109,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_PROCPS_NG=y diff --git a/buildroot-external/configs/yellow_defconfig b/buildroot-external/configs/yellow_defconfig index 7e5f258fceb..770b97e6318 100644 --- a/buildroot-external/configs/yellow_defconfig +++ b/buildroot-external/configs/yellow_defconfig @@ -116,6 +116,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_APPARMOR=y BR2_PACKAGE_APPARMOR_PROFILES=y BR2_PACKAGE_TINI=y +BR2_PACKAGE_AUDIT=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_PROCPS_NG=y From 664ae4ebfc9fc8e358f5577bd80794d0bc0cc934 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Thu, 20 Feb 2025 17:50:21 +0100 Subject: [PATCH 41/55] Remove unnecessary GRUB userspace tools and other files (#3887) Because the OTA hooks interact with GRUB environment using grub-editenv, we have BR2_TARGET_GRUB2_INSTALL_TOOLS enabled. However, that brings massive bloat of files that are never used in HAOS, as it also installs many other binaries, GRUB modules and translations. As it's not possible to configure what gets installed in grub2 package, remove the undesired files in the post-build function. This brings savings of ~8.5MB of space in the root partition. --- buildroot-external/scripts/rootfs-layer.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/buildroot-external/scripts/rootfs-layer.sh b/buildroot-external/scripts/rootfs-layer.sh index d88065ab2df..014dfafc77a 100755 --- a/buildroot-external/scripts/rootfs-layer.sh +++ b/buildroot-external/scripts/rootfs-layer.sh @@ -26,6 +26,15 @@ function fix_rootfs() { # Use systemd-resolved for Host OS resolve sed -i '/^hosts:/ {/resolve/! s/files/resolve [!UNAVAIL=return] files/}' "${TARGET_DIR}/etc/nsswitch.conf" + + # Remove unnecessary grub userspace tools, config, modules and translations + find "${TARGET_DIR}"/usr/{,s}bin -name "grub-*" -not -name "grub-editenv" -delete + rm -rf "${TARGET_DIR}/etc/grub.d" + rm -rf "${TARGET_DIR}/usr/lib/grub" + if [ -d "${TARGET_DIR}/share/locale" ]; then + find "${TARGET_DIR}/share/locale" -name "grub.mo" -delete + find "${TARGET_DIR}/share/locale" -type d -empty -delete + fi } From 8531e7b57de7b9b3d1b938c26960186106c08ca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Thu, 20 Feb 2025 17:50:38 +0100 Subject: [PATCH 42/55] Remove all info pages in post-build script (#3888) As we don't have the info utility in HAOS, it's worthless to preserve info pages. While there are currently some files in /share/info (coming from GRUB2 tools install), /usr/share/info was added pre-emptively. --- buildroot-external/scripts/rootfs-layer.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/buildroot-external/scripts/rootfs-layer.sh b/buildroot-external/scripts/rootfs-layer.sh index 014dfafc77a..27e6254a2bc 100755 --- a/buildroot-external/scripts/rootfs-layer.sh +++ b/buildroot-external/scripts/rootfs-layer.sh @@ -12,6 +12,10 @@ function fix_rootfs() { rm -rf "${TARGET_DIR:?}/srv" rm -rf "${TARGET_DIR:?}/opt" + # Remove info pages + rm -rf "${TARGET_DIR:?}/share/info" + rm -rf "${TARGET_DIR:?}/usr/share/info" + # Cleanup miscs rm -rf "${TARGET_DIR}/usr/lib/modules-load.d" From 56e3a377db68451968b086249e1fe3c295d562e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Mon, 24 Feb 2025 15:17:43 +0100 Subject: [PATCH 43/55] Fix RAUC tryboot handler set-state idempotency, add more checks (#3891) When RPi is booted in the tryboot state and the set-state operation is called for the second time, the tryboot files don't exists anymore and the handler exits with an error code, printing an error in the Supervisor logs. Fix handling of this case and add few more checks to make the handler a bit more robust/traceable. --- .../usr/lib/rauc/rpi-tryboot.sh | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/buildroot-external/board/raspberrypi/rpi5-64/rootfs-overlay/usr/lib/rauc/rpi-tryboot.sh b/buildroot-external/board/raspberrypi/rpi5-64/rootfs-overlay/usr/lib/rauc/rpi-tryboot.sh index d78129da8bf..96af5f91c99 100755 --- a/buildroot-external/board/raspberrypi/rpi5-64/rootfs-overlay/usr/lib/rauc/rpi-tryboot.sh +++ b/buildroot-external/board/raspberrypi/rpi5-64/rootfs-overlay/usr/lib/rauc/rpi-tryboot.sh @@ -73,9 +73,8 @@ case "$1" in slot_bootname="$2" new_state="$3" echo "tryboot set-state $slot_bootname $new_state" >&2 - if [ "${new_state}" = "good" ]; then - touch "${boot_dir}/slot-${slot_bootname}/.good" - else + + if [ "${new_state}" != "good" ]; then rm -f "${boot_dir}/slot-${slot_bootname}/.good" exit 0 fi @@ -85,6 +84,20 @@ case "$1" in # Check if tryboot is active if ! cmp -s -n 4 /proc/device-tree/chosen/bootloader/tryboot /dev/zero; then + if [ ! -f "${boot_dir}/cmdline-tryboot.txt" ]; then + if [ -f "${boot_dir}/slot-${slot_bootname}/.good" ]; then + # Most probably already handled on this boot before, do nothing + exit 0 + else + echo "cmdline-tryboot.txt not found, can't commit current state." >&2 + exit 1 + fi + fi + # tryboot.txt MUST exist at this point + if [ ! -f "${boot_dir}/tryboot.txt" ]; then + echo "tryboot.txt not found, can't commit current state." >&2 + exit 1 + fi cmdline_tryboot=$(head -n1 "${boot_dir}/cmdline-tryboot.txt") tryboot_slot=$(get_value rauc.slot "${cmdline_tryboot}") if [ "${tryboot_slot}" != "${slot_bootname}" ]; then @@ -98,6 +111,10 @@ case "$1" in rm "${boot_dir}/tryboot.txt" rm /run/systemd/reboot-param fi + + if [ "${new_state}" = "good" ]; then + touch "${boot_dir}/slot-${slot_bootname}/.good" + fi ;; get-current) From ea4098460372bf528d38506ed420ab9cb869b437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Mon, 24 Feb 2025 15:17:51 +0100 Subject: [PATCH 44/55] Linux: Update kernel to 6.12.16 (#3892) * https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.15 * https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.16 --- Documentation/kernel.md | 24 +++++++++---------- .../configs/generic_aarch64_defconfig | 2 +- .../configs/generic_x86_64_defconfig | 2 +- buildroot-external/configs/green_defconfig | 2 +- .../configs/khadas_vim3_defconfig | 2 +- .../configs/odroid_c2_defconfig | 2 +- .../configs/odroid_c4_defconfig | 2 +- .../configs/odroid_m1_defconfig | 2 +- .../configs/odroid_m1s_defconfig | 2 +- .../configs/odroid_n2_defconfig | 2 +- .../configs/odroid_xu4_defconfig | 2 +- buildroot-external/configs/ova_defconfig | 2 +- buildroot-external/configs/tinker_defconfig | 2 +- 13 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Documentation/kernel.md b/Documentation/kernel.md index 80feb6cd999..fd5aab1f23f 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -3,7 +3,7 @@ | Board | Version | |-------|---------| -| Open Virtual Appliance | 6.12.14 | +| Open Virtual Appliance | 6.12.16 | | Raspberry Pi | 6.6.74 | | Raspberry Pi 0-W | 6.6.74 | | Raspberry Pi 2 | 6.6.74 | @@ -11,14 +11,14 @@ | Raspberry Pi 4 | 6.6.74 | | Raspberry Pi 5 | 6.6.74 | | Home Assistant Yellow | 6.6.74 | -| Home Assistant Green | 6.12.14 | -| Tinker Board | 6.12.14 | -| ODROID-C2 | 6.12.14 | -| ODROID-C4 | 6.12.14 | -| ODROID-M1 | 6.12.14 | -| ODROID-M1S | 6.12.14 | -| ODROID-N2 | 6.12.14 | -| ODROID-XU4 | 6.12.14 | -| Generic aarch64 | 6.12.14 | -| Generic x86-64 | 6.12.14 | -| Khadas VIM3 | 6.12.14 | +| Home Assistant Green | 6.12.16 | +| Tinker Board | 6.12.16 | +| ODROID-C2 | 6.12.16 | +| ODROID-C4 | 6.12.16 | +| ODROID-M1 | 6.12.16 | +| ODROID-M1S | 6.12.16 | +| ODROID-N2 | 6.12.16 | +| ODROID-XU4 | 6.12.16 | +| Generic aarch64 | 6.12.16 | +| Generic x86-64 | 6.12.16 | +| Khadas VIM3 | 6.12.16 | diff --git a/buildroot-external/configs/generic_aarch64_defconfig b/buildroot-external/configs/generic_aarch64_defconfig index 500c82d27fe..df31b7c626c 100644 --- a/buildroot-external/configs/generic_aarch64_defconfig +++ b/buildroot-external/configs/generic_aarch64_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64 $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/generic_x86_64_defconfig b/buildroot-external/configs/generic_x86_64_defconfig index 4a39b2af4ab..b37703d02e9 100644 --- a/buildroot-external/configs/generic_x86_64_defconfig +++ b/buildroot-external/configs/generic_x86_64_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/green_defconfig b/buildroot-external/configs/green_defconfig index 387ce5e03fa..ecc25ea6cc9 100755 --- a/buildroot-external/configs/green_defconfig +++ b/buildroot-external/configs/green_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/kernel.config" diff --git a/buildroot-external/configs/khadas_vim3_defconfig b/buildroot-external/configs/khadas_vim3_defconfig index 2ce2290bdc3..9f1bc0d4d47 100644 --- a/buildroot-external/configs/khadas_vim3_defconfig +++ b/buildroot-external/configs/khadas_vim3_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3 $(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/kernel-vim.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 5f6965c5d09..415d6b40d18 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index 56f4e6ffd69..74153883472 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_m1_defconfig b/buildroot-external/configs/odroid_m1_defconfig index 80fdbd18ef2..d831c916936 100644 --- a/buildroot-external/configs/odroid_m1_defconfig +++ b/buildroot-external/configs/odroid_m1_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/kernel.config" diff --git a/buildroot-external/configs/odroid_m1s_defconfig b/buildroot-external/configs/odroid_m1s_defconfig index 784cd1a2ce4..e7fef402e55 100644 --- a/buildroot-external/configs/odroid_m1s_defconfig +++ b/buildroot-external/configs/odroid_m1s_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/kernel.config" diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index 56948a7396a..dbff42b8bc7 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/kernel.config" diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index 5e7c86c409d..97266de0686 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" BR2_LINUX_KERNEL_DEFCONFIG="exynos" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index 1d9fa505415..5cff623f3c8 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 09873b6bbff..f6f0b31a286 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker $(BR2_EXTERNAL_HASSOS_PATH)/board/asus/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/kernel.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" From f032cd571a44651c8ef0a354152ac75a8e3df460 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Feb 2025 16:24:34 +0100 Subject: [PATCH 45/55] Bump docker/build-push-action from 6.13.0 to 6.14.0 (#3894) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.13.0 to 6.14.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v6.13.0...v6.14.0) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 06ec65163a9..aa80334c8df 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -144,7 +144,7 @@ jobs: username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and Push - uses: docker/build-push-action@v6.13.0 + uses: docker/build-push-action@v6.14.0 id: build_haos_builder with: context: . From 714ca8a344a811a67bda8620be1af41180961f38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Mon, 24 Feb 2025 17:13:45 +0100 Subject: [PATCH 46/55] Drop kernel patch for fixed ODROID-M1/M1S kernel regression (#3895) Patch added in #3843 is not necessary anymore, as the missing reset names have been added to DTS includes of the 6.12.y branch as patch 6c9cd0a70ccea8a505471062a85de5626ad07cec (released in v6.12.14). --- buildroot-external/configs/green_defconfig | 2 +- .../configs/odroid_m1_defconfig | 2 +- .../configs/odroid_m1s_defconfig | 2 +- ...ockchip-naneng-combphy-fix-phy-reset.patch | 32 ------------------- 4 files changed, 3 insertions(+), 35 deletions(-) delete mode 100644 buildroot-external/patches-rockchip/linux/0001-Revert-phy-rockchip-naneng-combphy-fix-phy-reset.patch diff --git a/buildroot-external/configs/green_defconfig b/buildroot-external/configs/green_defconfig index ecc25ea6cc9..febd439f1b3 100755 --- a/buildroot-external/configs/green_defconfig +++ b/buildroot-external/configs/green_defconfig @@ -4,7 +4,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/patches-rockchip $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/patches" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" diff --git a/buildroot-external/configs/odroid_m1_defconfig b/buildroot-external/configs/odroid_m1_defconfig index d831c916936..b13abbdd336 100644 --- a/buildroot-external/configs/odroid_m1_defconfig +++ b/buildroot-external/configs/odroid_m1_defconfig @@ -4,7 +4,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/patches-rockchip" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" diff --git a/buildroot-external/configs/odroid_m1s_defconfig b/buildroot-external/configs/odroid_m1s_defconfig index e7fef402e55..0b375368613 100644 --- a/buildroot-external/configs/odroid_m1s_defconfig +++ b/buildroot-external/configs/odroid_m1s_defconfig @@ -4,7 +4,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/patches-rockchip $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/patches" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" diff --git a/buildroot-external/patches-rockchip/linux/0001-Revert-phy-rockchip-naneng-combphy-fix-phy-reset.patch b/buildroot-external/patches-rockchip/linux/0001-Revert-phy-rockchip-naneng-combphy-fix-phy-reset.patch deleted file mode 100644 index 696803a2e86..00000000000 --- a/buildroot-external/patches-rockchip/linux/0001-Revert-phy-rockchip-naneng-combphy-fix-phy-reset.patch +++ /dev/null @@ -1,32 +0,0 @@ -From aadb32828c0ac829ee9664f91f9302000a79f02d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= -Date: Fri, 31 Jan 2025 10:26:36 +0100 -Subject: [PATCH] Revert "phy: rockchip: naneng-combphy: fix phy reset" -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This reverts commit 5cdf336412a928ae0f05a3117b3132366a1f7d21. - -This commit causes USB3 and PCIe regression on ODROID-M1 and ODROID-M1S. Revert -it before a fix is merged upstream. - -Link: https://lore.kernel.org/regressions/91993fed-6398-4362-8c62-87beb9ade32b@sairon.cz/ -Signed-off-by: Jan Čermák ---- - drivers/phy/rockchip/phy-rockchip-naneng-combphy.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c -index 2eb3329ca23f6..0a9989e41237f 100644 ---- a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c -+++ b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c -@@ -309,7 +309,7 @@ static int rockchip_combphy_parse_dt(struct device *dev, struct rockchip_combphy - - priv->ext_refclk = device_property_present(dev, "rockchip,ext-refclk"); - -- priv->phy_rst = devm_reset_control_get(dev, "phy"); -+ priv->phy_rst = devm_reset_control_array_get_exclusive(dev); - if (IS_ERR(priv->phy_rst)) - return dev_err_probe(dev, PTR_ERR(priv->phy_rst), "failed to get phy reset\n"); - From bdcc2b90d56d3e3f5d7eaa038fce063ff469bc9d Mon Sep 17 00:00:00 2001 From: pisanvs Date: Tue, 25 Feb 2025 11:00:39 -0300 Subject: [PATCH 47/55] Improve log clarity and fix typos (#3896) --- buildroot-external/rootfs-overlay/usr/sbin/hassos-cli | 2 +- buildroot-external/rootfs-overlay/usr/sbin/hassos-config | 9 +++++---- .../rootfs-overlay/usr/sbin/hassos-supervisor | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassos-cli b/buildroot-external/rootfs-overlay/usr/sbin/hassos-cli index e3b61fad99f..5aaca7f30d8 100755 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassos-cli +++ b/buildroot-external/rootfs-overlay/usr/sbin/hassos-cli @@ -10,7 +10,7 @@ while [ ! "$(docker ps -q -f name=hassio_cli)" ]; do sleep 1 i=$((i+1)) if [ $i = 60 ]; then - echo "[WARN] Home Assistant CLI not starting! Jump into emergency console..." + echo "[WARN] Home Assistant CLI not starting! Jumping into emergency console..." exec /bin/ash -l fi done diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassos-config b/buildroot-external/rootfs-overlay/usr/sbin/hassos-config index 0cf8abd4af4..b4b6c8066ad 100755 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassos-config +++ b/buildroot-external/rootfs-overlay/usr/sbin/hassos-config @@ -7,7 +7,7 @@ USE_USB=0 # Check and mount usb CONFIG to folder if findfs LABEL="CONFIG" > /dev/null 2>&1; then - echo "[Info] Use USB stick for import CONFIG" + echo "[Info] Attempting to import CONFIG from USB stick" systemctl start mnt-config.mount if ! systemctl -q is-active mnt-config.mount; then @@ -21,13 +21,14 @@ fi # Use boot CONFIG folder if [ ${USE_USB} = 0 ] && [ -d ${BOOT_CONFIG} ]; then - echo "[Info] Use boot partition for import CONFIG" + echo "[Info] Attempting to import CONFIG from boot partition" CONFIG_DIR=${BOOT_CONFIG} elif [ ${USE_USB} = 0 ]; then echo "[Warning] No config partition found" exit 0 fi +echo "[Info] Imported CONFIG succesfully" ## # NetworkManager @@ -97,7 +98,7 @@ fi # Firmware update / Only USB UPTIME=$(awk '{printf "%0.f", $1}' /proc/uptime) if ls ${USB_CONFIG}/*.raucb > /dev/null 2>&1 && [ "${UPTIME}" -ge "300" ]; then - echo "[Info] Performe a firmware update" + echo "[Info] Performing a firmware update" # shellcheck disable=SC2012 rauc_filename=$(ls ${USB_CONFIG}/*.raucb | head -n 1) @@ -105,7 +106,7 @@ if ls ${USB_CONFIG}/*.raucb > /dev/null 2>&1 && [ "${UPTIME}" -ge "300" ]; then echo "[Info] Firmware update success" systemctl reboot else - echo "[Error] Firmware update fails" + echo "[Error] Firmware update failed" fi fi diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor b/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor index b49817cb32c..4cbf27c21fa 100755 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor +++ b/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor @@ -60,7 +60,7 @@ if [ -z "${SUPERVISOR_IMAGE_ID}" ]; then # Pull failed, updater info might be corrupted or the release might have # been removed from the container registry, delete the updater info # to start from scratch on next try. - echo "[ERROR] Supervisor downloading failed." + echo "[ERROR] Supervisor download failed." rm -f "${SUPERVISOR_DATA}/updater.json" exit 1 fi From f5905569b0178ea5379dd7469b58510a16c29498 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 25 Feb 2025 15:16:46 +0100 Subject: [PATCH 48/55] Bump buildroot to 2024.02.11 (#3897) * buildroot 92fab35fed...c5a1cbcf73 (1): > Merge tag '2024.02.11' into 2024.02.x-haos --- buildroot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot b/buildroot index 92fab35fede..c5a1cbcf73c 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit 92fab35fede435d7df72b118a02f83334241f074 +Subproject commit c5a1cbcf73c1097f4d2f4ec07d0b09eed49c9195 From b3ce7131af3ea48deb3492f9d2ea9d9a11567b22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 25 Feb 2025 15:16:58 +0100 Subject: [PATCH 49/55] Disable linux-firmware zstd compression (#3898) Disable downstream option for linux-firmware compression. With #3877 it's not needed for x86 anymore and other boards don't need it. Eventually the higher EROFS compression for firmwares and modules can be enabled for other targets as well. --- buildroot-external/configs/generic_aarch64_defconfig | 2 -- buildroot-external/configs/green_defconfig | 2 -- buildroot-external/configs/khadas_vim3_defconfig | 2 -- buildroot-external/configs/odroid_c2_defconfig | 2 -- buildroot-external/configs/odroid_c4_defconfig | 2 -- buildroot-external/configs/odroid_m1_defconfig | 2 -- buildroot-external/configs/odroid_m1s_defconfig | 2 -- buildroot-external/configs/odroid_n2_defconfig | 2 -- buildroot-external/configs/odroid_xu4_defconfig | 2 -- buildroot-external/configs/ova_defconfig | 2 -- buildroot-external/configs/rpi2_defconfig | 2 -- buildroot-external/configs/rpi3_64_defconfig | 2 -- buildroot-external/configs/rpi3_defconfig | 2 -- buildroot-external/configs/rpi4_64_defconfig | 2 -- buildroot-external/configs/rpi4_defconfig | 2 -- buildroot-external/configs/rpi5_64_defconfig | 2 -- buildroot-external/configs/tinker_defconfig | 2 -- buildroot-external/configs/yellow_defconfig | 2 -- 18 files changed, 36 deletions(-) diff --git a/buildroot-external/configs/generic_aarch64_defconfig b/buildroot-external/configs/generic_aarch64_defconfig index df31b7c626c..935b5a95e1d 100644 --- a/buildroot-external/configs/generic_aarch64_defconfig +++ b/buildroot-external/configs/generic_aarch64_defconfig @@ -33,8 +33,6 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_I915=y BR2_PACKAGE_LINUX_FIRMWARE_IBT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y diff --git a/buildroot-external/configs/green_defconfig b/buildroot-external/configs/green_defconfig index febd439f1b3..bbefa1ae058 100755 --- a/buildroot-external/configs/green_defconfig +++ b/buildroot-external/configs/green_defconfig @@ -42,8 +42,6 @@ BR2_PACKAGE_MTD=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y diff --git a/buildroot-external/configs/khadas_vim3_defconfig b/buildroot-external/configs/khadas_vim3_defconfig index 9f1bc0d4d47..52d586c8edc 100644 --- a/buildroot-external/configs/khadas_vim3_defconfig +++ b/buildroot-external/configs/khadas_vim3_defconfig @@ -37,8 +37,6 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 415d6b40d18..b8ee2700435 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -37,8 +37,6 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index 74153883472..7a330b592c6 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -35,8 +35,6 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y diff --git a/buildroot-external/configs/odroid_m1_defconfig b/buildroot-external/configs/odroid_m1_defconfig index b13abbdd336..e06e1177555 100644 --- a/buildroot-external/configs/odroid_m1_defconfig +++ b/buildroot-external/configs/odroid_m1_defconfig @@ -37,8 +37,6 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y diff --git a/buildroot-external/configs/odroid_m1s_defconfig b/buildroot-external/configs/odroid_m1s_defconfig index 0b375368613..08b50f3c8eb 100644 --- a/buildroot-external/configs/odroid_m1s_defconfig +++ b/buildroot-external/configs/odroid_m1s_defconfig @@ -37,8 +37,6 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index dbff42b8bc7..825af6942b1 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -37,8 +37,6 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index 97266de0686..4e437e918e5 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -36,8 +36,6 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MFC_V8=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index 5cff623f3c8..ff9255cdbd5 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -36,8 +36,6 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_I915=y BR2_PACKAGE_LINUX_FIRMWARE_IBT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index 12adedc2641..b75dffd0e72 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -37,8 +37,6 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index c7cfd201050..b857692b64d 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -39,8 +39,6 @@ BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index 3a28f03d661..8560b3fabc1 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -40,8 +40,6 @@ BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig index 8ea00132397..9a503aeeed6 100644 --- a/buildroot-external/configs/rpi4_64_defconfig +++ b/buildroot-external/configs/rpi4_64_defconfig @@ -40,8 +40,6 @@ BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y diff --git a/buildroot-external/configs/rpi4_defconfig b/buildroot-external/configs/rpi4_defconfig index 6604d9718eb..de59da2887a 100644 --- a/buildroot-external/configs/rpi4_defconfig +++ b/buildroot-external/configs/rpi4_defconfig @@ -40,8 +40,6 @@ BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y diff --git a/buildroot-external/configs/rpi5_64_defconfig b/buildroot-external/configs/rpi5_64_defconfig index 6eb9fc6a549..24fe9031afb 100644 --- a/buildroot-external/configs/rpi5_64_defconfig +++ b/buildroot-external/configs/rpi5_64_defconfig @@ -42,8 +42,6 @@ BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index f6f0b31a286..7c9020b56d6 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -39,8 +39,6 @@ BR2_PACKAGE_E2FSPROGS_E2IMAGE=y BR2_PACKAGE_NFS_UTILS=y # BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y diff --git a/buildroot-external/configs/yellow_defconfig b/buildroot-external/configs/yellow_defconfig index 770b97e6318..93ca5ab61e5 100644 --- a/buildroot-external/configs/yellow_defconfig +++ b/buildroot-external/configs/yellow_defconfig @@ -41,8 +41,6 @@ BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS=y -BR2_PACKAGE_LINUX_FIRMWARE_COMPRESS_ZSTD=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT=y BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT=y BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y From 40ef22687282bc7eeb1bff4566559d5182d1b4f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Wed, 26 Feb 2025 13:45:53 +0100 Subject: [PATCH 50/55] Update linux-firmware to 20250211 (#3901) Mainly the amdgpu updates cause an increase of generic-x86-64 image size by ~12MB but there's still enough of space in the rootfs after recent cleanup. * buildroot c5a1cbcf73...257ddc70ce (9): > package/linux-firmware: bump Intel BZ firmware version to 92 > package/linux-firmware: bump version to 20250211 > package/linux-firmware: bump version to 20241210 > package/linux-firmware: fix build failures to due RTL8723 file changes > package/linux-firmware: bump version to 20240909 > package/linux-firmware: bump to version 20240709 > package/linux-firmware: improve help text for Realtek 88xx Bluetooth firmware > package/linux-firmware: install all rtl88 Bluetooth binary blobs > package/linux-firmware: RTL_88XX_BT: install all firmware --- buildroot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot b/buildroot index c5a1cbcf73c..257ddc70ceb 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit c5a1cbcf73c1097f4d2f4ec07d0b09eed49c9195 +Subproject commit 257ddc70ceb7af96f8702fe724a67ec68f7d3e5a From 15be15234532f904099e163256729dcbbebd5215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Wed, 26 Feb 2025 17:22:39 +0100 Subject: [PATCH 51/55] Update Docker to v28.0.1 (#3902) Update Docker to latest version and containerd to latest version from the 1.7 line. Runc updated to v1.2.5 with rebased patchset from the outstanding PR. * buildroot 257ddc70ce...b4df362187 (4): > package/runc: bump version to v1.2.5 > package/docker-cli: bump version to v28.0.1 > package/docker-engine: bump version to v28.0.1 > package/containerd: bump version to v1.7.25 --- buildroot | 2 +- buildroot-external/package/hassio/create-data-partition.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/buildroot b/buildroot index 257ddc70ceb..b4df362187d 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit 257ddc70ceb7af96f8702fe724a67ec68f7d3e5a +Subproject commit b4df362187da7ec900227b74a9e1d9b96d96931c diff --git a/buildroot-external/package/hassio/create-data-partition.sh b/buildroot-external/package/hassio/create-data-partition.sh index 97ac0259372..64179728736 100755 --- a/buildroot-external/package/hassio/create-data-partition.sh +++ b/buildroot-external/package/hassio/create-data-partition.sh @@ -23,7 +23,7 @@ container=$(docker run --privileged -e DOCKER_TLS_CERTDIR="" \ -v "${build_dir}/data/":/data \ -v "${build_dir}/data/docker/":/var/lib/docker \ -v "${build_dir}":/build \ - -d docker:27.2-dind --storage-driver overlay2) + -d docker:28.0-dind --storage-driver overlay2) docker exec "${container}" sh /build/dind-import-containers.sh "${channel}" From e801d403e10e537f0e94fd891b095158351cffbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Wed, 26 Feb 2025 23:07:14 +0100 Subject: [PATCH 52/55] Bump BlueZ to v5.79 (#3903) Cherry-pick bumps up to v5.79 and sync other changes and fixes with latest upstream state. * buildroot b4df362187...7d5c3b5e70 (10): > package/bluez5_utils: tidy up the init script > package/bluez5_utils: install datafiles with correct permissions > package/bluez5_utils: fix dbusconfdir > package/bluez5_utils{, -headers}: bump version to 5.79 > package/bluez5_utils: enable asha/bass when building audio plugins > package/{bluez5_utils, bluez5_utils-headers}: bump to version 5.78 > bluez5_utils: disable asha profile > package/{bluez5_utils, bluez5_utils-headers}: bump to version 5.77 > package/bluez5_utils: disable datafiles > package/bluez5_utils: fix sixaxis build without tools --- buildroot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot b/buildroot index b4df362187d..7d5c3b5e70c 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit b4df362187da7ec900227b74a9e1d9b96d96931c +Subproject commit 7d5c3b5e70cd1d3198de8529c4c6fb74010c5781 From 6b904abfcd66b7876617ecee6542b4c6ca0c4f3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Fri, 28 Feb 2025 14:19:55 +0100 Subject: [PATCH 53/55] Linux: Update kernel to 6.12.17 (#3905) * https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.17 --- Documentation/kernel.md | 24 +++++++++---------- .../configs/generic_aarch64_defconfig | 2 +- .../configs/generic_x86_64_defconfig | 2 +- buildroot-external/configs/green_defconfig | 2 +- .../configs/khadas_vim3_defconfig | 2 +- .../configs/odroid_c2_defconfig | 2 +- .../configs/odroid_c4_defconfig | 2 +- .../configs/odroid_m1_defconfig | 2 +- .../configs/odroid_m1s_defconfig | 2 +- .../configs/odroid_n2_defconfig | 2 +- .../configs/odroid_xu4_defconfig | 2 +- buildroot-external/configs/ova_defconfig | 2 +- buildroot-external/configs/tinker_defconfig | 2 +- 13 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Documentation/kernel.md b/Documentation/kernel.md index fd5aab1f23f..9103c09456c 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -3,7 +3,7 @@ | Board | Version | |-------|---------| -| Open Virtual Appliance | 6.12.16 | +| Open Virtual Appliance | 6.12.17 | | Raspberry Pi | 6.6.74 | | Raspberry Pi 0-W | 6.6.74 | | Raspberry Pi 2 | 6.6.74 | @@ -11,14 +11,14 @@ | Raspberry Pi 4 | 6.6.74 | | Raspberry Pi 5 | 6.6.74 | | Home Assistant Yellow | 6.6.74 | -| Home Assistant Green | 6.12.16 | -| Tinker Board | 6.12.16 | -| ODROID-C2 | 6.12.16 | -| ODROID-C4 | 6.12.16 | -| ODROID-M1 | 6.12.16 | -| ODROID-M1S | 6.12.16 | -| ODROID-N2 | 6.12.16 | -| ODROID-XU4 | 6.12.16 | -| Generic aarch64 | 6.12.16 | -| Generic x86-64 | 6.12.16 | -| Khadas VIM3 | 6.12.16 | +| Home Assistant Green | 6.12.17 | +| Tinker Board | 6.12.17 | +| ODROID-C2 | 6.12.17 | +| ODROID-C4 | 6.12.17 | +| ODROID-M1 | 6.12.17 | +| ODROID-M1S | 6.12.17 | +| ODROID-N2 | 6.12.17 | +| ODROID-XU4 | 6.12.17 | +| Generic aarch64 | 6.12.17 | +| Generic x86-64 | 6.12.17 | +| Khadas VIM3 | 6.12.17 | diff --git a/buildroot-external/configs/generic_aarch64_defconfig b/buildroot-external/configs/generic_aarch64_defconfig index 935b5a95e1d..25f524f06d9 100644 --- a/buildroot-external/configs/generic_aarch64_defconfig +++ b/buildroot-external/configs/generic_aarch64_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64 $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.17" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/generic_x86_64_defconfig b/buildroot-external/configs/generic_x86_64_defconfig index b37703d02e9..9fb64153068 100644 --- a/buildroot-external/configs/generic_x86_64_defconfig +++ b/buildroot-external/configs/generic_x86_64_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.17" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/green_defconfig b/buildroot-external/configs/green_defconfig index bbefa1ae058..cef1a3aa09c 100755 --- a/buildroot-external/configs/green_defconfig +++ b/buildroot-external/configs/green_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.17" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/kernel.config" diff --git a/buildroot-external/configs/khadas_vim3_defconfig b/buildroot-external/configs/khadas_vim3_defconfig index 52d586c8edc..957ba7ffad0 100644 --- a/buildroot-external/configs/khadas_vim3_defconfig +++ b/buildroot-external/configs/khadas_vim3_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3 $(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.17" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/kernel-vim.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index b8ee2700435..83ed3d46e20 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.17" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index 7a330b592c6..9e05661a448 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.17" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_m1_defconfig b/buildroot-external/configs/odroid_m1_defconfig index e06e1177555..54468135d6b 100644 --- a/buildroot-external/configs/odroid_m1_defconfig +++ b/buildroot-external/configs/odroid_m1_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.17" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/kernel.config" diff --git a/buildroot-external/configs/odroid_m1s_defconfig b/buildroot-external/configs/odroid_m1s_defconfig index 08b50f3c8eb..5c96025373b 100644 --- a/buildroot-external/configs/odroid_m1s_defconfig +++ b/buildroot-external/configs/odroid_m1s_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.17" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/kernel.config" diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index 825af6942b1..ddb502de46f 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.17" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/kernel.config" diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index 4e437e918e5..f78e90dd025 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.17" BR2_LINUX_KERNEL_DEFCONFIG="exynos" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index ff9255cdbd5..8f762164b3f 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.17" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 7c9020b56d6..53290fa8c18 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker $(BR2_EXTERNAL_HASSOS_PATH)/board/asus/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.17" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/kernel.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" From a4cbf82a6f21d1e5a7b1348ff583902fcea88fe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Fri, 28 Feb 2025 15:07:31 +0100 Subject: [PATCH 54/55] Bump os-agent to v1.7.1 (#3906) Adds new DBus APIs for NTP servers and swap: - https://github.com/home-assistant/os-agent/pull/207 - https://github.com/home-assistant/os-agent/pull/222 --- buildroot-external/package/os-agent/os-agent.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot-external/package/os-agent/os-agent.mk b/buildroot-external/package/os-agent/os-agent.mk index 311cf199ccd..a0891ffd5d7 100644 --- a/buildroot-external/package/os-agent/os-agent.mk +++ b/buildroot-external/package/os-agent/os-agent.mk @@ -4,7 +4,7 @@ # ################################################################################ -OS_AGENT_VERSION = 1.6.0 +OS_AGENT_VERSION = 1.7.1 OS_AGENT_SITE = $(call github,home-assistant,os-agent,$(OS_AGENT_VERSION)) OS_AGENT_LICENSE = Apache License 2.0 OS_AGENT_LICENSE_FILES = LICENSE From b2aa96c9bda7e3ae6a75acc333944116ae9e23d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Mon, 3 Mar 2025 09:24:34 +0100 Subject: [PATCH 55/55] Bump OS to pre-release version 15.0.rc1 --- buildroot-external/meta | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/buildroot-external/meta b/buildroot-external/meta index 3557c72bf00..4e685ac9670 100644 --- a/buildroot-external/meta +++ b/buildroot-external/meta @@ -1,8 +1,8 @@ VERSION_MAJOR="15" VERSION_MINOR="0" -VERSION_SUFFIX="dev0" +VERSION_SUFFIX="rc1" HASSOS_NAME="Home Assistant OS" HASSOS_ID="haos" -DEPLOYMENT="development" +DEPLOYMENT="staging"