From 66e88bdcaa444d06a644f1350927b3e20a495436 Mon Sep 17 00:00:00 2001 From: florianvazelle Date: Mon, 16 Jun 2025 17:25:23 +0200 Subject: [PATCH 001/117] asus/rog-gl552vw: init --- README.md | 1 + asus/rog-gl552vw/default.nix | 16 ++++++++++++++++ flake.nix | 1 + 3 files changed, 18 insertions(+) create mode 100644 asus/rog-gl552vw/default.nix diff --git a/README.md b/README.md index 7f084e64..f906245a 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,7 @@ See code for all available configurations. | [Asus ROG Ally RC71L (2023)](asus/ally/rc71l) | `` | `asus-ally-rc71l` | | [Asus ROG Flow X13 GV302X\* (2023)](asus/flow/gv302x/amdgpu) | `` | `asus-flow-gv302x-amdgpu` | | [Asus ROG Flow X13 GV302X\* (2023)](asus/flow/gv302x/nvidia) | `` | `asus-flow-gv302x-nvidia` | +| [Asus ROG GL552VW](asus/rog-gl552vw) | `` | `asus-rog-gl552vw` | | [Asus ROG Strix G513IM](asus/rog-strix/g513im) | `` | `asus-rog-strix-g513im` | | [Asus ROG Strix G533ZW](asus/rog-strix/g533zw) | `` | `asus-rog-strix-g533zw` | | [Asus ROG Strix G713IE](asus/rog-strix/g713ie) | `` | `asus-rog-strix-g713ie` | diff --git a/asus/rog-gl552vw/default.nix b/asus/rog-gl552vw/default.nix new file mode 100644 index 00000000..e93b1ab6 --- /dev/null +++ b/asus/rog-gl552vw/default.nix @@ -0,0 +1,16 @@ +{ ... }: + +{ + imports = [ + ../../common/cpu/intel/skylake + ../../common/gpu/nvidia/maxwell + ../../common/gpu/nvidia/prime.nix + ../../common/pc/laptop + ../../common/pc/ssd + ]; + + hardware.nvidia.prime = { + intelBusId = "PCI:0:2:0"; + nvidiaBusId = "PCI:1:0:0"; + }; +} diff --git a/flake.nix b/flake.nix index c5d599bb..0e230308 100644 --- a/flake.nix +++ b/flake.nix @@ -41,6 +41,7 @@ asus-flow-gv302x-amdgpu = import ./asus/flow/gv302x/amdgpu; asus-flow-gv302x-nvidia = import ./asus/flow/gv302x/nvidia; asus-pro-ws-x570-ace = import ./asus/pro-ws-x570-ace; + asus-rog-gl552vw = import ./asus/rog-gl552vw; asus-rog-strix-g513im = import ./asus/rog-strix/g513im; asus-rog-strix-g533zw = import ./asus/rog-strix/g533zw; asus-rog-strix-g713ie = import ./asus/rog-strix/g713ie; From a724614b86a2a67f7dbb3873942dcd0561106102 Mon Sep 17 00:00:00 2001 From: Rishabh <40533251+Rishabh5321@users.noreply.github.com> Date: Wed, 2 Jul 2025 07:52:52 +0530 Subject: [PATCH 002/117] xiaomi/redmibook/15-pro-2021: fix flake.nix --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index c5d599bb..0a0a749d 100644 --- a/flake.nix +++ b/flake.nix @@ -355,6 +355,7 @@ tuxedo-infinitybook-pro14-gen9-intel = import ./tuxedo/infinitybook/pro14/gen9/intel; tuxedo-pulse-14-gen3 = import ./tuxedo/pulse/14/gen3; tuxedo-pulse-15-gen2 = import ./tuxedo/pulse/15/gen2; + xiaomi-redmibook-15-pro-2021 = import ./xiaomi/redmibook/15-pro-2021; xiaomi-redmibook-16-pro-2024 = import ./xiaomi/redmibook/16-pro-2024; common-cpu-amd = import ./common/cpu/amd; From 3b622ae6e613bf0b59bd142394ee86ed62cd2a60 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Wed, 25 Jun 2025 21:22:07 -0700 Subject: [PATCH 003/117] Add System76 Thelio Mega module --- README.md | 1 + flake.nix | 1 + system76/thelio-mega/default.nix | 16 ++++++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 system76/thelio-mega/default.nix diff --git a/README.md b/README.md index 7f084e64..a064978f 100644 --- a/README.md +++ b/README.md @@ -406,6 +406,7 @@ See code for all available configurations. | [System76 Darter Pro 6](system76/darp6) | `` | `system76-darp6`| | [System76 Gazelle 18](system76/gaze18) | `` | `system76-gaze18`| | [System76 Galago Pro 5](system76/galp5-1650) | `` | `system76-galp5-1650`| +| [System76 Thelio Mega](system76/thelio-mega) | `` | `system76-thelio-mega`| | [Toshiba Chromebook 2 `swanky`](toshiba/swanky) | `` | `toshiba-swanky`| | [Tuxedo InfinityBook v4](tuxedo/infinitybook/v4) | `` | `tuxedo-infinitybook-v4`| | [TUXEDO Aura 15 - Gen1](tuxedo/aura/15/gen1) | `` | `tuxedo-aura-15-gen1`| diff --git a/flake.nix b/flake.nix index c5d599bb..18867756 100644 --- a/flake.nix +++ b/flake.nix @@ -348,6 +348,7 @@ system76-gaze18 = import ./system76/gaze18; system76-galp5-1650 = import ./system76/galp5-1650; system76-darp6 = import ./system76/darp6; + system76-thelio-mega = import ./system76/thelio-mega; toshiba-swanky = import ./toshiba/swanky; tuxedo-aura-15-gen1 = import ./tuxedo/aura/15/gen1; tuxedo-infinitybook-v4 = import ./tuxedo/infinitybook/v4; diff --git a/system76/thelio-mega/default.nix b/system76/thelio-mega/default.nix new file mode 100644 index 00000000..b88f1366 --- /dev/null +++ b/system76/thelio-mega/default.nix @@ -0,0 +1,16 @@ +# Hardware profile for the Thelio Mega desktop workstation by System76. +# +# https://system76.com/desktops/thelio-mega-r4-n3/configure +{ + config, + lib, + ... +}: +{ + imports = [ + ../../common/cpu/amd + ../../common/gpu/nvidia + ]; + + hardware.nvidia.open = true; +} From d2c87a8e193ed60de92525060a2b5168930cf825 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 11 May 2025 09:56:29 +0200 Subject: [PATCH 004/117] replace tlp with power-profiles-daemon TLP is often no longer the best choice since firmware provides power profiles instead. That's why we are removing TLP as the default option. We may want to bring back TLP to some old hardware if it makes sense i.e. certain thinkpad modules. --- CONTRIBUTING.md | 5 +++-- asus/fa507nv/default.nix | 4 ---- common/pc/laptop/default.nix | 12 ++---------- dell/inspiron/14-5420/README.md | 3 --- framework/13-inch/common/amd.nix | 4 ---- framework/16-inch/common/amd.nix | 4 ---- gpd/win-2/default.nix | 5 ----- lenovo/ideapad/15arh05/default.nix | 5 ----- lenovo/legion/16aph8/default.nix | 4 ---- microsoft/surface/common/default.nix | 3 --- 10 files changed, 5 insertions(+), 44 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 63a147a7..499f2580 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,8 +14,9 @@ For example: ```nix { lib }: { - # Using mkDefault, because the user might want to disable tlp - services.tlp.enable = lib.mkDefault true; + # Using mkDefault, because the user might want to disable power-profiles-daemon + services.power-profiles-daemon.enable = lib.mkDefault true; + # No need to use mkDefault, because the setting will merge with the user's setting boot.kernelModules = [ "tmp_smapi" ]; } diff --git a/asus/fa507nv/default.nix b/asus/fa507nv/default.nix index 01fafbb2..67e58067 100644 --- a/asus/fa507nv/default.nix +++ b/asus/fa507nv/default.nix @@ -25,10 +25,6 @@ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") [ "rtc_cmos.use_acpi_alarm=1" ]; - # AMD has better battery life with PPD over TLP: - # https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13 - services.power-profiles-daemon.enable = lib.mkDefault true; - # Adds the missing asus functionality to Linux. # https://asus-linux.org/manual/asusctl-manual/ services = { diff --git a/common/pc/laptop/default.nix b/common/pc/laptop/default.nix index abc76fa7..7c7d215b 100644 --- a/common/pc/laptop/default.nix +++ b/common/pc/laptop/default.nix @@ -1,13 +1,5 @@ -{ config, lib, ... }: - -{ +{ lib, config, ... }: { imports = [ ../. ]; - # Gnome 40 introduced a new way of managing power, without tlp. - # However, these 2 services clash when enabled simultaneously. - # https://github.com/NixOS/nixos-hardware/issues/260 - services.tlp.enable = lib.mkDefault ( - (lib.versionOlder (lib.versions.majorMinor lib.version) "21.05") - || !config.services.power-profiles-daemon.enable - ); + config.services.power-profiles-daemon.enable = lib.mkDefault (!config.services.tlp.enable); } diff --git a/dell/inspiron/14-5420/README.md b/dell/inspiron/14-5420/README.md index a7c5c06b..b75106a6 100644 --- a/dell/inspiron/14-5420/README.md +++ b/dell/inspiron/14-5420/README.md @@ -8,6 +8,3 @@ `fwupd` is used to receive firmware updates from vendors. This device is in its [supported devices list](https://fwupd.org/lvfs/devices/) `thermald` is used to achieve better thermal behaviour - -##### TLP -TLP is a battery power optimizer for laptops. It is enabled by default, however, since it conflicts with power-profiles-daemon which is GNOME's power management system, TLP will not be installed with if power-profiles-daemon or a recent version of GNOME is present. diff --git a/framework/13-inch/common/amd.nix b/framework/13-inch/common/amd.nix index ae35fffe..371dfc9a 100644 --- a/framework/13-inch/common/amd.nix +++ b/framework/13-inch/common/amd.nix @@ -19,8 +19,4 @@ ++ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") [ "rtc_cmos.use_acpi_alarm=1" ]; - - # AMD has better battery life with PPD over TLP: - # https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13 - services.power-profiles-daemon.enable = lib.mkDefault true; } diff --git a/framework/16-inch/common/amd.nix b/framework/16-inch/common/amd.nix index ae35fffe..371dfc9a 100644 --- a/framework/16-inch/common/amd.nix +++ b/framework/16-inch/common/amd.nix @@ -19,8 +19,4 @@ ++ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") [ "rtc_cmos.use_acpi_alarm=1" ]; - - # AMD has better battery life with PPD over TLP: - # https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13 - services.power-profiles-daemon.enable = lib.mkDefault true; } diff --git a/gpd/win-2/default.nix b/gpd/win-2/default.nix index e7247534..3a773219 100644 --- a/gpd/win-2/default.nix +++ b/gpd/win-2/default.nix @@ -10,11 +10,6 @@ "video=eDP-1:panel_orientation=right_side_up" ]; - services.tlp.enable = lib.mkDefault ( - (lib.versionOlder (lib.versions.majorMinor lib.version) "21.05") - || !config.services.power-profiles-daemon.enable - ); - # Required for grub to properly display the boot menu. boot.loader.grub.gfxmodeEfi = lib.mkDefault "720x1280x32"; diff --git a/lenovo/ideapad/15arh05/default.nix b/lenovo/ideapad/15arh05/default.nix index a4ff8df1..e13e0608 100644 --- a/lenovo/ideapad/15arh05/default.nix +++ b/lenovo/ideapad/15arh05/default.nix @@ -17,9 +17,4 @@ # Cooling management services.thermald.enable = lib.mkDefault true; - - # tlp defaults to "powersave", which doesn't exist on this laptop - services.tlp.settings = { - CPU_SCALING_GOVERNOR_ON_BAT = "schedutil"; - }; } diff --git a/lenovo/legion/16aph8/default.nix b/lenovo/legion/16aph8/default.nix index 5771d65b..c131658e 100644 --- a/lenovo/legion/16aph8/default.nix +++ b/lenovo/legion/16aph8/default.nix @@ -32,8 +32,4 @@ # Avoid issues with modesetting causing blank screen services.xserver.videoDrivers = [ "nvidia" ]; - - # AMD has better battery life with PPD over TLP: - # https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13 - services.power-profiles-daemon.enable = lib.mkDefault true; } diff --git a/microsoft/surface/common/default.nix b/microsoft/surface/common/default.nix index a4defb61..d4d17cba 100644 --- a/microsoft/surface/common/default.nix +++ b/microsoft/surface/common/default.nix @@ -110,9 +110,6 @@ in kernelParams = mkDefault [ "mem_sleep_default=deep" ]; }; - # NOTE: Check the README before enabling TLP: - services.tlp.enable = mkDefault false; - # Needed for wifi firmware, see https://github.com/NixOS/nixos-hardware/issues/364 hardware = { enableRedistributableFirmware = mkDefault true; From 1828627b087329e5324be0909892ec7337d55f14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90=E1=BB=97=20Quang=20Minh?= <59284549+shinishiho@users.noreply.github.com> Date: Fri, 4 Jul 2025 06:48:03 +0700 Subject: [PATCH 005/117] asus: fix charge-upto script --- asus/battery.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/asus/battery.nix b/asus/battery.nix index 4bdf6b64..4639baa4 100644 --- a/asus/battery.nix +++ b/asus/battery.nix @@ -6,7 +6,8 @@ }: let p = pkgs.writeScriptBin "charge-upto" '' - echo ''${0:-100} > /sys/class/power_supply/BAT?/charge_control_end_threshold + #!${pkgs.bash}/bin/bash + echo ''${1:-100} > /sys/class/power_supply/BAT?/charge_control_end_threshold ''; cfg = config.hardware.asus.battery; in From 41f2cad3f96c1fb163fde49c27f22e1faabced9a Mon Sep 17 00:00:00 2001 From: Bu Kun <65808665+pokon548@users.noreply.github.com> Date: Sun, 6 Jul 2025 19:12:49 +0800 Subject: [PATCH 006/117] Add flip_done timeout workaround for 14IMH9 --- lenovo/ideapad/14imh9/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lenovo/ideapad/14imh9/default.nix b/lenovo/ideapad/14imh9/default.nix index f2bb0f52..c8bb71c9 100644 --- a/lenovo/ideapad/14imh9/default.nix +++ b/lenovo/ideapad/14imh9/default.nix @@ -26,6 +26,10 @@ # See https://wiki.archlinux.org/title/Dell_XPS_16_(9640)#Random_freezes "iommu.strict=1" "iommu.passthrough=1" + + # Workaround: i915 0000:00:02.0: [drm] *ERROR* [CRTC:82:pipe A] flip_done timed out + # See https://github.com/pop-os/pop/issues/3130 + "i915.dmc_firmware_path=\"\"" ]; }; From 6015af43f34b6cf943adc29cbbc7acf85983cb1f Mon Sep 17 00:00:00 2001 From: Jasper Chan Date: Fri, 24 May 2024 00:34:42 -0700 Subject: [PATCH 007/117] raspberry-pi/4: support 4lane csi --- raspberry-pi/4/tc358743.nix | 63 +++++++++++++++++++++++++++++-------- 1 file changed, 50 insertions(+), 13 deletions(-) diff --git a/raspberry-pi/4/tc358743.nix b/raspberry-pi/4/tc358743.nix index 840953aa..117d9aa4 100644 --- a/raspberry-pi/4/tc358743.nix +++ b/raspberry-pi/4/tc358743.nix @@ -13,6 +13,16 @@ in running ustreamer (which starts webservice providing a camera stream): ''${pkgs.ustreamer}/bin/ustreamer --persistent --dv-timings ''; + lanes = lib.mkOption { + type = lib.types.enum [ + 2 + 4 + ]; + default = 2; + description = '' + Number of CSI lanes available + ''; + }; }; }; @@ -74,17 +84,31 @@ in fragment@2 { target = <0x03>; - __overlay__ { - data-lanes = <0x01 0x02>; - }; + ${ + if cfg.lanes == 2 then + '' + __overlay__ { + data-lanes = <0x01 0x02>; + }; + '' + else + "" + } }; fragment@3 { target = <0x03>; - __dormant__ { - data-lanes = <0x01 0x02 0x03 0x04>; - }; + ${ + if cfg.lanes == 4 then + '' + __overlay__ { + data-lanes = <0x01 0x02 0x03 0x04>; + }; + '' + else + "" + } }; fragment@4 { @@ -120,21 +144,34 @@ in fragment@7 { target = <0x02>; - __overlay__ { - data-lanes = <0x01 0x02>; - }; + ${ + if cfg.lanes == 2 then + '' + __overlay__ { + data-lanes = <0x01 0x02>; + }; + '' + else + "" + } }; fragment@8 { target = <0x02>; - __dormant__ { - data-lanes = <0x01 0x02 0x03 0x04>; - }; + ${ + if cfg.lanes == 4 then + '' + __overlay__ { + data-lanes = <0x01 0x02 0x03 0x04>; + }; + '' + else + "" + } }; __overrides__ { - 4lane = "\0\0\0\0-2+3-7+8"; link-frequency = [00 00 00 03 6c 69 6e 6b 2d 66 72 65 71 75 65 6e 63 69 65 73 23 30 00]; }; From 323366c51c42cfee23fe9e04d5998350d4f77cac Mon Sep 17 00:00:00 2001 From: Rituraj <56511165+imxade@users.noreply.github.com> Date: Fri, 6 Jun 2025 08:12:58 +0530 Subject: [PATCH 008/117] added inspiron 3442 to the flake --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index a0ac1fb8..284186b6 100644 --- a/flake.nix +++ b/flake.nix @@ -65,6 +65,7 @@ dell-e7240 = deprecated "1326" "dell-e7240" (import ./dell/e7240); dell-g3-3779 = import ./dell/g3/3779; dell-g3-3579 = import ./dell/g3/3579; + dell-inspiron-3442 = import ./dell/inspiron/3442; dell-inspiron-14-5420 = import ./dell/inspiron/14-5420; dell-inspiron-5509 = import ./dell/inspiron/5509; dell-inspiron-5515 = import ./dell/inspiron/5515; From 94100810798c046d1e9f17e370da8bf8734eb8f4 Mon Sep 17 00:00:00 2001 From: LucasFA <23667494+LucasFA@users.noreply.github.com> Date: Sun, 13 Jul 2025 12:31:37 +0100 Subject: [PATCH 009/117] init: NUC 5i5RYB --- README.md | 1 + flake.nix | 1 + intel/nuc/5i5ryb/default.nix | 11 +++++++++++ 3 files changed, 13 insertions(+) create mode 100644 intel/nuc/5i5ryb/default.nix diff --git a/README.md b/README.md index a064978f..7a774cf0 100644 --- a/README.md +++ b/README.md @@ -223,6 +223,7 @@ See code for all available configurations. | [HP Probook 440G5](hp/probook/440g5) | `` | `hp-probook-440G5` | | [Huawei Matebook X Pro (2020)](huawei/machc-wa) | `` | `huawei-machc-wa` | | [i.MX8QuadMax Multisensory Enablement Kit](nxp/imx8qm-mek/) | `` | `nxp-imx8qm-mek` | +| [Intel NUC 5i5RYB](intel/nuc/5i5ryb/) | `` | `intel-nuc-5i5ryb` | | [Intel NUC 8i7BEH](intel/nuc/8i7beh/) | `` | `intel-nuc-8i7beh` | | [Lenovo IdeaCentre K330](lenovo/ideacentre/k330) | `` | `lenovo-ideacentre-k330` | | [Lenovo IdeaPad 3 15alc6](lenovo/ideapad/15alc6) | `` | `lenovo-ideapad-15alc6` | diff --git a/flake.nix b/flake.nix index 284186b6..14cd6884 100644 --- a/flake.nix +++ b/flake.nix @@ -156,6 +156,7 @@ hp-laptop-14s-dq2024nf = import ./hp/laptop/14s-dq2024nf; huawei-machc-wa = import ./huawei/machc-wa; hp-notebook-14-df0023 = import ./hp/notebook/14-df0023; + intel-nuc-5i5ryb = import ./intel/nuc/5i5ryb; intel-nuc-8i7beh = import ./intel/nuc/8i7beh; lenovo-ideacentre-k330 = import ./lenovo/ideacentre/k330; lenovo-ideapad-14imh9 = import ./lenovo/ideapad/14imh9; diff --git a/intel/nuc/5i5ryb/default.nix b/intel/nuc/5i5ryb/default.nix new file mode 100644 index 00000000..7ff80dd2 --- /dev/null +++ b/intel/nuc/5i5ryb/default.nix @@ -0,0 +1,11 @@ +{ lib, ... }: + +{ + imports = [ + ../../../common/cpu/intel/broadwell + ../../../common/pc + ../../../common/pc/ssd + ]; + + services.thermald.enable = lib.mkDefault true; +} From 8ea54c025e9ef7e4929234bdd12c22a52709dcbb Mon Sep 17 00:00:00 2001 From: matthiasdotsh Date: Mon, 14 Jul 2025 17:06:15 +0200 Subject: [PATCH 010/117] surface: linux 6.15.3 -> 6.15.6 --- microsoft/surface/common/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/microsoft/surface/common/default.nix b/microsoft/surface/common/default.nix index a4defb61..442d7e17 100644 --- a/microsoft/surface/common/default.nix +++ b/microsoft/surface/common/default.nix @@ -19,7 +19,7 @@ let if kernelVersion == "longterm" then "6.12.19" else if kernelVersion == "stable" then - "6.15.3" + "6.15.6" else abort "Invalid kernel version: ${kernelVersion}"; @@ -28,7 +28,7 @@ let if kernelVersion == "longterm" then "sha256-1zvwV77ARDSxadG2FkGTb30Ml865I6KB8y413U3MZTE=" else if kernelVersion == "stable" then - "sha256-ErUMiZJUONnNc4WgyvycQz5lYqxd8AohiJ/On1SNZbA=" + "sha256-K7WGyVQnfQcMj99tcnX6qTtIB9m/M1O0kdgUnMoCtPw=" else abort "Invalid kernel version: ${kernelVersion}"; From 95ee2804d7ac805bf9deaef8bcff414a2dfc152a Mon Sep 17 00:00:00 2001 From: Anna Oake Date: Mon, 7 Jul 2025 13:26:57 +0200 Subject: [PATCH 011/117] framework-intel-core-ultra-series1: preset device name for audio enhancement --- framework/13-inch/intel-core-ultra-series1/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/framework/13-inch/intel-core-ultra-series1/default.nix b/framework/13-inch/intel-core-ultra-series1/default.nix index 4851d54f..b2828ff1 100644 --- a/framework/13-inch/intel-core-ultra-series1/default.nix +++ b/framework/13-inch/intel-core-ultra-series1/default.nix @@ -41,4 +41,6 @@ ''For Intel NPU support, set the option: hardware.enableRedistributableFirmware = true;'' ]; + hardware.framework.laptop13.audioEnhancement.rawDeviceName = + lib.mkDefault "alsa_output.pci-0000_00_1f.3.analog-stereo"; } From b90855f92a87c0e3b849004396baf178dd801ff9 Mon Sep 17 00:00:00 2001 From: fidgetingbits Date: Thu, 24 Jul 2025 10:31:11 +0800 Subject: [PATCH 012/117] Added Dell Precision 5570 --- README.md | 2 ++ dell/precision/5570/README.md | 32 ++++++++++++++++++++++++++++ dell/precision/5570/default.nix | 37 +++++++++++++++++++++++++++++++++ flake.nix | 1 + 4 files changed, 72 insertions(+) create mode 100644 dell/precision/5570/README.md create mode 100644 dell/precision/5570/default.nix diff --git a/README.md b/README.md index a064978f..c516cc4f 100644 --- a/README.md +++ b/README.md @@ -159,6 +159,8 @@ See code for all available configurations. | [Dell Precision 3541](dell/precision/3541) | `` | `dell-precision-3541` | | [Dell Precision 5490](dell/precision/5490) | `` | `dell-precision-5490` | | [Dell Precision 5530](dell/precision/5530) | `` | `dell-precision-5530` | +| [Dell Precision 5560](dell/precision/5560) | `` | `dell-precision-5560` | +| [Dell Precision 5570](dell/precision/5570) | `` | `dell-precision-5570` | | [Dell Precision 7520](dell/precision/7520) | `` | `dell-precision-7520` | | [Dell XPS 13 7390](dell/xps/13-7390) | `` | `dell-xps-13-7390` | | [Dell XPS 13 9300](dell/xps/13-9300) | `` | `dell-xps-13-9300` | diff --git a/dell/precision/5570/README.md b/dell/precision/5570/README.md new file mode 100644 index 00000000..49473934 --- /dev/null +++ b/dell/precision/5570/README.md @@ -0,0 +1,32 @@ +# Dell Precision 5570 + +## Tested Hardware + +```bash +lspci -nn +00:00.0 Host bridge [0600]: Intel Corporation 12th Gen Core Processor Host Bridge/DRAM Registers [8086:4641] (rev 02) +00:01.0 PCI bridge [0604]: Intel Corporation 12th Gen Core Processor PCI Express x16 Controller #1 [8086:460d] (rev 02) +00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] [8086:46a6] (rev 0c) +00:04.0 Signal processing controller [1180]: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant [8086:461d] (rev 02) +00:06.0 PCI bridge [0604]: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 [8086:464d] (rev 02) +00:07.0 PCI bridge [0604]: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #0 [8086:466e] (rev 02) +00:07.1 PCI bridge [0604]: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #1 [8086:463f] (rev 02) +00:08.0 System peripheral [0880]: Intel Corporation 12th Gen Core Processor Gaussian & Neural Accelerator [8086:464f] (rev 02) +00:0d.0 USB controller [0c03]: Intel Corporation Alder Lake-P Thunderbolt 4 USB Controller [8086:461e] (rev 02) +00:0d.2 USB controller [0c03]: Intel Corporation Alder Lake-P Thunderbolt 4 NHI #0 [8086:463e] (rev 02) +00:12.0 Serial controller [0700]: Intel Corporation Alder Lake-P Integrated Sensor Hub [8086:51fc] (rev 01) +00:14.0 USB controller [0c03]: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller [8086:51ed] (rev 01) +00:14.2 RAM memory [0500]: Intel Corporation Alder Lake PCH Shared SRAM [8086:51ef] (rev 01) +00:14.3 Network controller [0280]: Intel Corporation Alder Lake-P PCH CNVi WiFi [8086:51f0] (rev 01) +00:15.0 Serial bus controller [0c80]: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 [8086:51e8] (rev 01) +00:15.1 Serial bus controller [0c80]: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 [8086:51e9] (rev 01) +00:16.0 Communication controller [0780]: Intel Corporation Alder Lake PCH HECI Controller [8086:51e0] (rev 01) +00:1c.0 PCI bridge [0604]: Intel Corporation Alder Lake-P PCH PCIe Root Port #4 [8086:51bb] (rev 01) +00:1f.0 ISA bridge [0601]: Intel Corporation Alder Lake PCH eSPI Controller [8086:5182] (rev 01) +00:1f.3 Audio device [0403]: Intel Corporation Alder Lake PCH-P High Definition Audio Controller [8086:51c8] (rev 01) +00:1f.4 SMBus [0c05]: Intel Corporation Alder Lake PCH-P SMBus Host Controller [8086:51a3] (rev 01) +00:1f.5 Serial bus controller [0c80]: Intel Corporation Alder Lake-P PCH SPI Controller [8086:51a4] (rev 01) +01:00.0 3D controller [0302]: NVIDIA Corporation GA107GLM [RTX A1000 Laptop GPU] [10de:25b9] (rev a1) +02:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO [144d:a80a] +a5:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5260 PCI Express Card Reader [10ec:5260] (rev 01) +``` diff --git a/dell/precision/5570/default.nix b/dell/precision/5570/default.nix new file mode 100644 index 00000000..a50b675a --- /dev/null +++ b/dell/precision/5570/default.nix @@ -0,0 +1,37 @@ +{ + config, + lib, + ... +}: +{ + imports = [ + ../../../common/cpu/intel/alder-lake + ../../../common/pc/laptop + ../../../common/pc/ssd + ../../../common/gpu/nvidia/prime-sync.nix + ]; + + hardware.intelgpu.driver = lib.mkIf (lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.8") "xe"; + + boot.kernelParams = lib.mkIf (config.hardware.intelgpu.driver == "xe") [ + "i915.force_probe=!9a49" + "xe.force_probe=9a49" + ]; + + hardware.nvidia = { + nvidiaSettings = lib.mkDefault true; + modesetting.enable = lib.mkDefault true; + open = lib.mkDefault false; + prime = { + intelBusId = "PCI:0:2:0"; + nvidiaBusId = "PCI:1:0:0"; + }; + }; + + # Override the Intel gpu driver setting imported above + environment.variables = { + VDPAU_DRIVER = lib.mkIf config.hardware.opengl.enable (lib.mkOverride 990 "nvidia"); + }; + + services.thermald.enable = lib.mkDefault true; +} diff --git a/flake.nix b/flake.nix index 284186b6..6be749d0 100644 --- a/flake.nix +++ b/flake.nix @@ -92,6 +92,7 @@ dell-precision-5490 = import ./dell/precision/5490; dell-precision-5530 = import ./dell/precision/5530; dell-precision-5560 = import ./dell/precision/5560; + dell-precision-5570 = import ./dell/precision/5570; dell-precision-7520 = import ./dell/precision/7520; dell-xps-13-7390 = import ./dell/xps/13-7390; dell-xps-13-9300 = import ./dell/xps/13-9300; From 25fdfb36a7db4e468a246b55c36a8bf0c99e43cb Mon Sep 17 00:00:00 2001 From: Ace-h121 Date: Wed, 23 Jul 2025 23:07:00 -0400 Subject: [PATCH 013/117] Adding Power Management on Asus fa507nv I personally own this laptop, I am running gnome and on sleep the graphics always corrupt without fail, this setting has been the only way to correct it. --- asus/fa507nv/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/asus/fa507nv/default.nix b/asus/fa507nv/default.nix index 01fafbb2..879a41c2 100644 --- a/asus/fa507nv/default.nix +++ b/asus/fa507nv/default.nix @@ -39,6 +39,7 @@ }; hardware.nvidia = { + powerManagement.enable = true; modesetting.enable = lib.mkDefault true; open = lib.mkDefault false; nvidiaSettings = lib.mkDefault true; From c46bd952e9d3645913ebc587619be271645c181f Mon Sep 17 00:00:00 2001 From: Ace-h121 Date: Wed, 23 Jul 2025 23:13:43 -0400 Subject: [PATCH 014/117] Forgot to add lib.mkDefault --- asus/fa507nv/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asus/fa507nv/default.nix b/asus/fa507nv/default.nix index 879a41c2..43ff7133 100644 --- a/asus/fa507nv/default.nix +++ b/asus/fa507nv/default.nix @@ -39,7 +39,7 @@ }; hardware.nvidia = { - powerManagement.enable = true; + powerManagement.enable = lib.mkDefault true; modesetting.enable = lib.mkDefault true; open = lib.mkDefault false; nvidiaSettings = lib.mkDefault true; From 37d0301b3c1afca426e8de46d237527f8bc7b5d7 Mon Sep 17 00:00:00 2001 From: Rituraj <56511165+imxade@users.noreply.github.com> Date: Sat, 26 Jul 2025 18:13:24 +0530 Subject: [PATCH 015/117] Removed enableAllFirmware, BT doesn't rely on it --- dell/inspiron/3442/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/dell/inspiron/3442/default.nix b/dell/inspiron/3442/default.nix index 0d298ff3..584c6e39 100644 --- a/dell/inspiron/3442/default.nix +++ b/dell/inspiron/3442/default.nix @@ -6,8 +6,6 @@ ../../../common/pc/laptop ]; - hardware.enableAllFirmware = lib.mkDefault true; - services = { fwupd.enable = lib.mkDefault true; thermald.enable = lib.mkDefault true; From 1f7ed6211f956ceaa2261e89f5c17d61b2dc521a Mon Sep 17 00:00:00 2001 From: omeyemburg Date: Sun, 27 Jul 2025 11:49:59 +0200 Subject: [PATCH 016/117] macbook-pro/12-1: remove redundant bracket in readme --- apple/macbook-pro/12-1/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/apple/macbook-pro/12-1/README.md b/apple/macbook-pro/12-1/README.md index 6618dc9e..84055a95 100644 --- a/apple/macbook-pro/12-1/README.md +++ b/apple/macbook-pro/12-1/README.md @@ -9,7 +9,6 @@ This means it might be required to restart your wifi deamon i.e. wpa_supplicant: powerManagement.powerUpCommands = '' ${pkgs.systemd}/bin/systemctl restart wpa_supplicant.service ''; -}; ``` You can apply this to your network management software of choice. From 85070738e9016a53f834b1804d63d5024be05ed7 Mon Sep 17 00:00:00 2001 From: omeyemburg Date: Sun, 27 Jul 2025 11:50:21 +0200 Subject: [PATCH 017/117] macbook-pro/8-1: remove redundant line in readme --- apple/macbook-pro/8-1/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/apple/macbook-pro/8-1/README.md b/apple/macbook-pro/8-1/README.md index 723df2e8..57d897fc 100644 --- a/apple/macbook-pro/8-1/README.md +++ b/apple/macbook-pro/8-1/README.md @@ -12,7 +12,6 @@ "b43-firmware" ]; } - ``` ### For all packages From 28fc41508c1fa7c7b1f13e2e3f81f7dcdbf7c883 Mon Sep 17 00:00:00 2001 From: suzana2314 <105118318+suzana2314@users.noreply.github.com> Date: Mon, 28 Jul 2025 18:51:21 +0100 Subject: [PATCH 018/117] lenovo-legion-15ach6h: added hybrid and nvidia configurations --- README.md | 2 ++ flake.nix | 2 ++ 2 files changed, 4 insertions(+) diff --git a/README.md b/README.md index 7a774cf0..d504b776 100644 --- a/README.md +++ b/README.md @@ -237,6 +237,8 @@ See code for all available configurations. | [Lenovo IdeaPad 2-in-1 16ahp9](lenovo/ideapad/16ahp9) | `` | `lenovo-ideapad-16ahp9` | | [Lenovo IdeaPad S145 15api](lenovo/ideapad/s145-15api) | `` | `lenovo-ideapad-s145-15api` | | [Lenovo Legion 5 15ach6h](lenovo/legion/15ach6h) | `` | `lenovo-legion-15ach6h` | +| [Lenovo Legion 5 15ach6h (Hybrid)](lenovo/legion/15ach6h/hybrid) | `` | `lenovo-legion-15ach6h-hybrid` | +| [Lenovo Legion 5 15ach6h (Nvidia)](lenovo/legion/15ach6h/hybrid) | `` | `lenovo-legion-15ach6h-nvidia` | | [Lenovo Legion 5 15arh05h](lenovo/legion/15arh05h) | `` | `lenovo-legion-15arh05h` | | [Lenovo Legion 7 Slim 15ach6](lenovo/legion/15ach6) | `` | `lenovo-legion-15ach6` | | [Lenovo Legion 5 Pro 16ach6h](lenovo/legion/16ach6h) | `` | `lenovo-legion-16ach6h` | diff --git a/flake.nix b/flake.nix index 14cd6884..7b24db27 100644 --- a/flake.nix +++ b/flake.nix @@ -170,6 +170,8 @@ lenovo-ideapad-s145-15api = import ./lenovo/ideapad/s145-15api; lenovo-legion-15ach6 = import ./lenovo/legion/15ach6; lenovo-legion-15ach6h = import ./lenovo/legion/15ach6h; + lenovo-legion-15ach6h-hybrid = import ./lenovo/legion/15ach6h/hybrid; + lenovo-legion-15ach6h-nvidia = import ./lenovo/legion/15ach6h/nvidia; lenovo-legion-15arh05h = import ./lenovo/legion/15arh05h; lenovo-legion-16ach6h = import ./lenovo/legion/16ach6h; lenovo-legion-16ach6h-hybrid = import ./lenovo/legion/16ach6h/hybrid; From c92f8fc536cbd9898ad2cad099579c3a07c683ef Mon Sep 17 00:00:00 2001 From: florian Date: Thu, 31 Jul 2025 15:42:08 +0200 Subject: [PATCH 019/117] style: apply formatter --- asus/rog-gl552vw/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asus/rog-gl552vw/default.nix b/asus/rog-gl552vw/default.nix index e93b1ab6..979631b4 100644 --- a/asus/rog-gl552vw/default.nix +++ b/asus/rog-gl552vw/default.nix @@ -12,5 +12,5 @@ hardware.nvidia.prime = { intelBusId = "PCI:0:2:0"; nvidiaBusId = "PCI:1:0:0"; - }; + }; } From f30fc54b0ea2039cbd06342ffcba1faa665931e6 Mon Sep 17 00:00:00 2001 From: matthiasdotsh Date: Fri, 1 Aug 2025 12:41:34 +0200 Subject: [PATCH 020/117] surface: linux 6.15.6 -> 6.15.9 --- microsoft/surface/common/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/microsoft/surface/common/default.nix b/microsoft/surface/common/default.nix index 442d7e17..1fe46fee 100644 --- a/microsoft/surface/common/default.nix +++ b/microsoft/surface/common/default.nix @@ -19,7 +19,7 @@ let if kernelVersion == "longterm" then "6.12.19" else if kernelVersion == "stable" then - "6.15.6" + "6.15.9" else abort "Invalid kernel version: ${kernelVersion}"; @@ -28,7 +28,7 @@ let if kernelVersion == "longterm" then "sha256-1zvwV77ARDSxadG2FkGTb30Ml865I6KB8y413U3MZTE=" else if kernelVersion == "stable" then - "sha256-K7WGyVQnfQcMj99tcnX6qTtIB9m/M1O0kdgUnMoCtPw=" + "sha256-6U86+FSSMC96gZRBRY+AvKCtmRLlpMg8aZ/zxjxSlX0=" else abort "Invalid kernel version: ${kernelVersion}"; From 26c9d906630821f49ca7ee755bf745f7fdb406ca Mon Sep 17 00:00:00 2001 From: Flameopathic Date: Sat, 2 Aug 2025 22:53:06 -0400 Subject: [PATCH 021/117] lenovo/yoga/7/14ILL10: update kernel version requirement --- lenovo/yoga/7/14ILL10/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lenovo/yoga/7/14ILL10/default.nix b/lenovo/yoga/7/14ILL10/default.nix index 9c9ca25e..6db6b47f 100644 --- a/lenovo/yoga/7/14ILL10/default.nix +++ b/lenovo/yoga/7/14ILL10/default.nix @@ -6,8 +6,8 @@ ../../../../common/pc/ssd ]; - # touchpad, wifi, and bluetooth do not work before 6.12 - config.boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.12") ( + # device will not boot in kernel versions older than 6.15 + config.boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.15") ( lib.mkDefault pkgs.linuxPackages_latest ); } From d99ca4e5f4d5dbbe3c8107e2fd2c778edeb37851 Mon Sep 17 00:00:00 2001 From: 0x4A6F <0x4A6F@users.noreply.github.com> Date: Sun, 27 Jul 2025 20:31:22 +0200 Subject: [PATCH 022/117] framework-amd-ai-300-series: bump kernel to latest for suspend support --- framework/13-inch/amd-ai-300-series/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/framework/13-inch/amd-ai-300-series/default.nix b/framework/13-inch/amd-ai-300-series/default.nix index 5eecb38b..78af36cd 100644 --- a/framework/13-inch/amd-ai-300-series/default.nix +++ b/framework/13-inch/amd-ai-300-series/default.nix @@ -10,6 +10,11 @@ ../common ../common/amd.nix ]; - config.hardware.framework.laptop13.audioEnhancement.rawDeviceName = - lib.mkDefault "alsa_output.pci-0000_c1_00.6.analog-stereo"; + config = { + hardware.framework.laptop13.audioEnhancement.rawDeviceName = + lib.mkDefault "alsa_output.pci-0000_c1_00.6.analog-stereo"; + + # suspend works with 6.15 + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.15") pkgs.linuxPackages_latest; + }; } From 547c96d797da1c0cd1ca737d66f2d18c7de91618 Mon Sep 17 00:00:00 2001 From: 0x4A6F <0x4A6F@users.noreply.github.com> Date: Mon, 4 Aug 2025 12:19:53 +0200 Subject: [PATCH 023/117] framework-amd-ai-300-series: mkDefault boot.kernelPackages --- framework/13-inch/amd-ai-300-series/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/framework/13-inch/amd-ai-300-series/default.nix b/framework/13-inch/amd-ai-300-series/default.nix index 78af36cd..0b59e780 100644 --- a/framework/13-inch/amd-ai-300-series/default.nix +++ b/framework/13-inch/amd-ai-300-series/default.nix @@ -15,6 +15,8 @@ lib.mkDefault "alsa_output.pci-0000_c1_00.6.analog-stereo"; # suspend works with 6.15 - boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.15") pkgs.linuxPackages_latest; + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.15") ( + lib.mkDefault pkgs.linuxPackages_latest + ); }; } From 8972e6538b8914babc510fc4f306c231faa92c74 Mon Sep 17 00:00:00 2001 From: Nicky Mouha Date: Wed, 6 Aug 2025 13:04:39 -0400 Subject: [PATCH 024/117] framework/13-inch/intel-core-ultra-series1: revert #1358 (fix intel_vpu firmware error -2) --- .../intel-core-ultra-series1/default.nix | 24 ------------------- 1 file changed, 24 deletions(-) diff --git a/framework/13-inch/intel-core-ultra-series1/default.nix b/framework/13-inch/intel-core-ultra-series1/default.nix index b2828ff1..3136fbc7 100644 --- a/framework/13-inch/intel-core-ultra-series1/default.nix +++ b/framework/13-inch/intel-core-ultra-series1/default.nix @@ -17,30 +17,6 @@ lib.mkDefault pkgs.linuxPackages_latest ); - # Intel NPU Driver - # https://discourse.nixos.org/t/new-installation-on-asus-zenbook-ux5406-intel-vpu-firmware-error-2/58732/2 - hardware.firmware = lib.optionals (config.hardware.enableRedistributableFirmware) [ - ( - let - model = "37xx"; - version = "0.0"; - - firmware = pkgs.fetchurl { - url = "https://github.com/intel/linux-npu-driver/raw/v1.13.0/firmware/bin/vpu_${model}_v${version}.bin"; - hash = "sha256-Mpoeq8HrwChjtHALsss/7QsFtDYAoFNsnhllU0xp3os="; - }; - in - pkgs.runCommand "intel-vpu-firmware-${model}-${version}" { } '' - mkdir -p "$out/lib/firmware/intel/vpu" - cp '${firmware}' "$out/lib/firmware/intel/vpu/vpu_${model}_v${version}.bin" - '' - ) - ]; - - warnings = lib.mkIf (!config.hardware.enableRedistributableFirmware) [ - ''For Intel NPU support, set the option: hardware.enableRedistributableFirmware = true;'' - ]; - hardware.framework.laptop13.audioEnhancement.rawDeviceName = lib.mkDefault "alsa_output.pci-0000_00_1f.3.analog-stereo"; } From 915755282509cdb7d707eb1b3c4e4ef5919bf4ef Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Mon, 19 May 2025 22:51:57 +0800 Subject: [PATCH 025/117] framework: Add Framework Desktop Signed-off-by: Daniel Schaefer --- flake.nix | 1 + .../desktop/amd-ai-max-300-series/README.md | 17 +++++++++++++++++ .../desktop/amd-ai-max-300-series/default.nix | 10 ++++++++++ 3 files changed, 28 insertions(+) create mode 100644 framework/desktop/amd-ai-max-300-series/README.md create mode 100644 framework/desktop/amd-ai-max-300-series/default.nix diff --git a/flake.nix b/flake.nix index 14cd6884..3cd9e355 100644 --- a/flake.nix +++ b/flake.nix @@ -133,6 +133,7 @@ framework-13-7040-amd = import ./framework/13-inch/7040-amd; framework-amd-ai-300-series = import ./framework/13-inch/amd-ai-300-series; framework-16-7040-amd = import ./framework/16-inch/7040-amd; + framework-desktop-amd-ai-max-300-series = import ./framework/desktop/amd-ai-max-300-series; friendlyarm-nanopc-t4 = import ./friendlyarm/nanopc-t4; friendlyarm-nanopi-r5s = import ./friendlyarm/nanopi-r5s; focus-m2-gen1 = import ./focus/m2/gen1; diff --git a/framework/desktop/amd-ai-max-300-series/README.md b/framework/desktop/amd-ai-max-300-series/README.md new file mode 100644 index 00000000..6cc79bcd --- /dev/null +++ b/framework/desktop/amd-ai-max-300-series/README.md @@ -0,0 +1,17 @@ +# [Framework Desktop](https://frame.work/desktop) + +## Updating Firmware + +First put enable `fwupd` + +```nix +services.fwupd.enable = true; +``` + +Then run + +```sh + $ fwupdmgr update +``` + +- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Desktop.RyzenAIMax300.BIOS.firmware) diff --git a/framework/desktop/amd-ai-max-300-series/default.nix b/framework/desktop/amd-ai-max-300-series/default.nix new file mode 100644 index 00000000..b0205923 --- /dev/null +++ b/framework/desktop/amd-ai-max-300-series/default.nix @@ -0,0 +1,10 @@ +{ config, lib, ... }: +{ + imports = [ + ../../../common/cpu/amd + ../../../common/cpu/amd/pstate.nix + ../../../common/gpu/amd + ../../../common/pc/ssd + ../../framework-tool.nix + ]; +} From 659b41d59cf586362a99adbfc9e0fb9de1acac3b Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Thu, 24 Jul 2025 18:18:06 +0800 Subject: [PATCH 026/117] framework/desktop: Add minimum kernel version Signed-off-by: Daniel Schaefer --- framework/desktop/amd-ai-max-300-series/README.md | 6 ++++++ framework/desktop/amd-ai-max-300-series/default.nix | 12 +++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/framework/desktop/amd-ai-max-300-series/README.md b/framework/desktop/amd-ai-max-300-series/README.md index 6cc79bcd..e9c274e7 100644 --- a/framework/desktop/amd-ai-max-300-series/README.md +++ b/framework/desktop/amd-ai-max-300-series/README.md @@ -1,5 +1,11 @@ # [Framework Desktop](https://frame.work/desktop) +## Kernel version + +The recommended version is 6.15 or newer, it has good GPU and also EC firmware support (for sensors and ARGB). +The lowest recommended version is 6.14. It has good GPU support already. +The absolute lowest that runs okay on headless systems is 6.11, but the GPU is not fully supported yet. + ## Updating Firmware First put enable `fwupd` diff --git a/framework/desktop/amd-ai-max-300-series/default.nix b/framework/desktop/amd-ai-max-300-series/default.nix index b0205923..60fc6216 100644 --- a/framework/desktop/amd-ai-max-300-series/default.nix +++ b/framework/desktop/amd-ai-max-300-series/default.nix @@ -1,4 +1,9 @@ -{ config, lib, ... }: +{ + config, + lib, + pkgs, + ... +}: { imports = [ ../../../common/cpu/amd @@ -7,4 +12,9 @@ ../../../common/pc/ssd ../../framework-tool.nix ]; + + # 6.14 and above have good GPU support + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.14") ( + lib.mkDefault pkgs.linuxPackages_latest + ); } From df02f4f16a46d258967705383f408ce4a684f3e7 Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Thu, 24 Jul 2025 12:58:11 +0800 Subject: [PATCH 027/117] framework/12-inch: Fix tabletmode on some kernels NixOS kernels don't have pinctrl_tigerlake built-in, we need to make sure it loads before soc_button_array. Adding it to the initrd ensures that. Signed-off-by: Daniel Schaefer --- framework/12-inch/13th-gen-intel/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/framework/12-inch/13th-gen-intel/default.nix b/framework/12-inch/13th-gen-intel/default.nix index 6431338a..7a3e1de4 100644 --- a/framework/12-inch/13th-gen-intel/default.nix +++ b/framework/12-inch/13th-gen-intel/default.nix @@ -4,4 +4,10 @@ ../common ../../../common/cpu/intel ]; + + # If this module isn't built into the kernel, we need to make sure it loads + # before soc_button_array. Otherwise the tablet mode gpio doesn't work. + # If correctly loaded, dmesg should show + # input: gpio-keys as /devices/platform/INT33D3:00 + boot.initrd.kernelModules = [ "pinctrl_tigerlake" ]; } From aaecdd8d3bd6e7e52a6375e7bab914582ce5e540 Mon Sep 17 00:00:00 2001 From: pancho horrillo Date: Fri, 8 Aug 2025 07:17:15 +0200 Subject: [PATCH 028/117] Update flake.lock, dropping unused `nixpkgs` input MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On a7600cef40e350c6f3fcb6eefb6f0d6b09c7d05e all the inputs on `flake.nix` were moved to `tests/flake.nix`, but `flake.lock` was not updated correctly, and a reference to `nixpkgs` still remains, producing this error upon evaluation when used as an input in my flake: evaluating file ''copying "/nix/store/xjzjf1f6nyg6yqxb6v5awf9hs14606yp-source" to the store...evaluating file '/nix/store/xjzjf1f6nyg6yqxb6v5awf9hs14606yp-source/flake.nix'evaluating file '/nix/store/xjzjf1f6nyg6yqxb6v5awf9hs14606yp-source/flake.nix'warning: updating lock file '"/nix/store/xjzjf1f6nyg6yqxb6v5awf9hs14606yp-source/flake.lock"':• Removed input 'nixpkgs'error:… while updating the lock file of flake 'path:/nix/store/xjzjf1f6nyg6yqxb6v5awf9hs14606yp-source?lastModified=0&narHash=sha256-dz303vGuzWjzOPOaYkS9xSW%2BB93PSAJxvBd6CambXVA%3D'error: opening file '/nix/store/xjzjf1f6nyg6yqxb6v5awf9hs14606yp-source/flake.lock': Read-only file system I’ve thus updated `flake.lock` with the standard procedure: ```console ❯ nix flake lock --verbose warning: updating lock file '"/home/pancho/sandbox/NixOS/nixos-hardware/flake.lock"': • Removed input 'nixpkgs' ``` --- flake.lock | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 8f2f2e35..5999137c 100644 --- a/flake.lock +++ b/flake.lock @@ -1,26 +1,6 @@ { "nodes": { - "nixpkgs": { - "locked": { - "lastModified": 1751290770, - "narHash": "sha256-u4s8yKAqTzPGY3vTcDyAIet11uXaNCM//93/0O0NlbA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "0620a50e9a847851bf802c59a4202552ed79b821", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.05-small", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "nixpkgs": "nixpkgs" - } - } + "root": {} }, "root": "root", "version": 7 From 139a6586edaa656ca7beee79d6bf397af4066fc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Eyselein?= Date: Fri, 8 Aug 2025 09:51:11 +0200 Subject: [PATCH 029/117] Add Lenovo Thinkpad P16s AMD Gen 4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Eyselein --- README.md | 1 + flake.nix | 1 + lenovo/thinkpad/p16s/amd/gen4/default.nix | 5 +++++ 3 files changed, 7 insertions(+) create mode 100644 lenovo/thinkpad/p16s/amd/gen4/default.nix diff --git a/README.md b/README.md index 7a774cf0..b9a54364 100644 --- a/README.md +++ b/README.md @@ -275,6 +275,7 @@ See code for all available configurations. | [Lenovo ThinkPad P14s Intel Gen 5](lenovo/thinkpad/p14s/intel/gen5) | `` | `lenovo-thinkpad-p14s-intel-gen5`| | [Lenovo ThinkPad P16s AMD Gen 1](lenovo/thinkpad/p16s/amd/gen1) | `` | `lenovo-thinkpad-p16s-amd-gen1` | | [Lenovo ThinkPad P16s AMD Gen 2](lenovo/thinkpad/p16s/amd/gen2) | `` | `lenovo-thinkpad-p16s-amd-gen2` | +| [Lenovo ThinkPad P16s AMD Gen 4](lenovo/thinkpad/p16s/amd/gen4) | `` | `lenovo-thinkpad-p16s-amd-gen4` | | [Lenovo ThinkPad P16s Intel Gen 2](lenovo/thinkpad/p16s/intel/gen2) | `` | `lenovo-thinkpad-p16s-intel-gen2`| | [Lenovo ThinkPad P1](lenovo/thinkpad/p1) | `` | `lenovo-thinkpad-p1` | | [Lenovo ThinkPad P43s](lenovo/thinkpad/p43s) | `` | `lenovo-thinkpad-p43s` | diff --git a/flake.nix b/flake.nix index 3cd9e355..2b78c7f3 100644 --- a/flake.nix +++ b/flake.nix @@ -211,6 +211,7 @@ lenovo-thinkpad-p14s-intel-gen5 = import ./lenovo/thinkpad/p14s/intel/gen5; lenovo-thinkpad-p16s-amd-gen1 = import ./lenovo/thinkpad/p16s/amd/gen1; lenovo-thinkpad-p16s-amd-gen2 = import ./lenovo/thinkpad/p16s/amd/gen2; + lenovo-thinkpad-p16s-amd-gen4 = import ./lenovo/thinkpad/p16s/amd/gen4; lenovo-thinkpad-p16s-intel-gen2 = import ./lenovo/thinkpad/p16s/intel/gen2; lenovo-thinkpad-p43s = import ./lenovo/thinkpad/p43s; lenovo-thinkpad-p50 = import ./lenovo/thinkpad/p50; diff --git a/lenovo/thinkpad/p16s/amd/gen4/default.nix b/lenovo/thinkpad/p16s/amd/gen4/default.nix new file mode 100644 index 00000000..665d3d41 --- /dev/null +++ b/lenovo/thinkpad/p16s/amd/gen4/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../. + ]; +} From 680761f019c3d37c5a3d920b1ff8c61ded68cd6b Mon Sep 17 00:00:00 2001 From: eymeric Date: Sun, 3 Aug 2025 11:45:33 +0200 Subject: [PATCH 030/117] fix: tc358743 dt overlay --- raspberry-pi/4/tc358743.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/raspberry-pi/4/tc358743.nix b/raspberry-pi/4/tc358743.nix index 840953aa..329112bb 100644 --- a/raspberry-pi/4/tc358743.nix +++ b/raspberry-pi/4/tc358743.nix @@ -17,6 +17,7 @@ in }; config = lib.mkIf cfg.enable { + hardware.deviceTree.filter = "bcm2711-rpi-4*.dtb"; hardware.deviceTree.overlays = [ { name = "tc358743-overlay"; From 79649965c5f00f1a13c0517625828f3df0f50f47 Mon Sep 17 00:00:00 2001 From: Jairo Llopis Date: Sat, 2 Aug 2025 13:16:10 +0100 Subject: [PATCH 031/117] fix(raspberry-pi-4): enable building kernel Fixes https://github.com/NixOS/nixos-hardware/issues/858 --- raspberry-pi/4/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/raspberry-pi/4/default.nix b/raspberry-pi/4/default.nix index e02ba0b3..d862a2e7 100644 --- a/raspberry-pi/4/default.nix +++ b/raspberry-pi/4/default.nix @@ -37,6 +37,9 @@ "reset-raspberrypi" # required for vl805 firmware to load ]; + # Allow building kernel + initrd.systemd.tpm2.enable = false; + loader = { grub.enable = lib.mkDefault false; generic-extlinux-compatible.enable = lib.mkDefault true; From c4af46bb6a91f90a99d9fc0b89a0fda85122943b Mon Sep 17 00:00:00 2001 From: Jasper Chan Date: Wed, 13 Aug 2025 21:36:43 -0700 Subject: [PATCH 032/117] raspberry-pi/4: support enabling/disabling media-controller api on tc358743 --- raspberry-pi/4/tc358743.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/raspberry-pi/4/tc358743.nix b/raspberry-pi/4/tc358743.nix index 840953aa..a8a7c356 100644 --- a/raspberry-pi/4/tc358743.nix +++ b/raspberry-pi/4/tc358743.nix @@ -13,6 +13,11 @@ in running ustreamer (which starts webservice providing a camera stream): ''${pkgs.ustreamer}/bin/ustreamer --persistent --dv-timings ''; + media-controller = lib.mkEnableOption '' + Enable support for the Media Controller API. + + See https://forums.raspberrypi.com/viewtopic.php?t=322076 for details + ''; }; }; @@ -61,6 +66,15 @@ in __overlay__ { status = "okay"; + ${ + if cfg.media-controller then + "" + else + '' + compatible = "brcm,bcm2835-unicam-legacy"; + '' + } + port { endpoint { From 292aeb6fd6a33045f73e24cbf51ed22ef4156094 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mads=20Rumle=20Nordstr=C3=B8m?= Date: Fri, 15 Aug 2025 13:16:50 +0200 Subject: [PATCH 033/117] added macbook pro 11,4 config --- README.md | 1 + apple/macbook-pro/11-4/README.md | 42 ++++++++++++++++++++++++++++++ apple/macbook-pro/11-4/default.nix | 16 ++++++++++++ flake.nix | 1 + 4 files changed, 60 insertions(+) create mode 100644 apple/macbook-pro/11-4/README.md create mode 100644 apple/macbook-pro/11-4/default.nix diff --git a/README.md b/README.md index 7a774cf0..99bfd20c 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,7 @@ See code for all available configurations. | [Apple MacBook Pro 8,1](apple/macbook-pro/8-1) | `` | `apple-macbook-pro-8-1` | | [Apple MacBook Pro 10,1](apple/macbook-pro/10-1) | `` | `apple-macbook-pro-10-1` | | [Apple MacBook Pro 11,1](apple/macbook-pro/11-1) | `` | `apple-macbook-pro-11-1` | +| [Apple MacBook Pro 11,4](apple/macbook-pro/11-4) | `` | `apple-macbook-pro-11-4` | | [Apple MacBook Pro 11,5](apple/macbook-pro/11-5) | `` | `apple-macbook-pro-11-5` | | [Apple MacBook Pro 12,1](apple/macbook-pro/12-1) | `` | `apple-macbook-pro-12-1` | | [Apple MacBook Pro 14,1](apple/macbook-pro/14-1) | `` | `apple-macbook-pro-14-1` | diff --git a/apple/macbook-pro/11-4/README.md b/apple/macbook-pro/11-4/README.md new file mode 100644 index 00000000..dc0a17c8 --- /dev/null +++ b/apple/macbook-pro/11-4/README.md @@ -0,0 +1,42 @@ +# Apple MacBookPro11,4 + +[Product page](https://support.apple.com/en-us/111955) + + +## Tested Hardware +```console +foo@bar:~$ lspci -nn +00:00.0 Host bridge [0600]: Intel Corporation Crystal Well DRAM Controller [8086:0d04] (rev 08) +00:01.0 PCI bridge [0604]: Intel Corporation Crystal Well PCI Express x16 Controller [8086:0d01] (rev 08) +00:01.1 PCI bridge [0604]: Intel Corporation Crystal Well PCI Express x8 Controller [8086:0d05] (rev 08) +00:02.0 VGA compatible controller [0300]: Intel Corporation Crystal Well Integrated Graphics Controller [8086:0d26] (rev 08) +00:03.0 Audio device [0403]: Intel Corporation Crystal Well HD Audio Controller [8086:0d0c] (rev 08) +00:14.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI [8086:8c31] (rev 05) +00:16.0 Communication controller [0780]: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 [8086:8c3a] (rev 04) +00:1b.0 Audio device [0403]: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller [8086:8c20] (rev 05) +00:1c.0 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 [8086:8c10] (rev d5) +00:1c.2 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 [8086:8c14] (rev d5) +00:1c.3 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 [8086:8c16] (rev d5) +00:1f.0 ISA bridge [0601]: Intel Corporation HM87 Express LPC Controller [8086:8c4b] (rev 05) +00:1f.3 SMBus [0c05]: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller [8086:8c22] (rev 05) +00:1f.6 Signal processing controller [1180]: Intel Corporation 8 Series Chipset Family Thermal Management Controller [8086:8c24] (rev 05) +01:00.0 SATA controller [0106]: Samsung Electronics Co Ltd S4LN058A01[SSUBX] AHCI SSD Controller (Apple slot) [144d:a801] (rev 01) +03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC [14e4:43ba] (rev 01) +04:00.0 Multimedia controller [0480]: Broadcom Inc. and subsidiaries 720p FaceTime HD Camera [14e4:1570] +05:00.0 PCI bridge [0604]: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013] [8086:156d] +06:00.0 PCI bridge [0604]: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013] [8086:156d] +06:03.0 PCI bridge [0604]: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013] [8086:156d] +06:04.0 PCI bridge [0604]: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013] [8086:156d] +06:05.0 PCI bridge [0604]: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013] [8086:156d] +06:06.0 PCI bridge [0604]: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013] [8086:156d] +07:00.0 System peripheral [0880]: Intel Corporation DSL5520 Thunderbolt 2 NHI [Falcon Ridge 4C 2013] [8086:156c] +``` + +## Tested Nix Configuration + - system: `"x86_64-linux"` + - host os: `Linux 6.12.36, NixOS, 25.11 (Xantusia), 25.11.20250708.9807714` + - multi-user?: `yes` + - sandbox: `yes` + - version: `nix-env (Nix) 2.28.4` + - channels(root): `"nixos"` + - nixpkgs: `/nix/store/bgl6ldj5ihbwcq8p42z3a0qzgqafgk2b-source` diff --git a/apple/macbook-pro/11-4/default.nix b/apple/macbook-pro/11-4/default.nix new file mode 100644 index 00000000..7dec9858 --- /dev/null +++ b/apple/macbook-pro/11-4/default.nix @@ -0,0 +1,16 @@ +{ lib, config, pkgs, modulesPath, ... }: +{ + imports = [ + ../. + ../../../common/cpu/intel/haswell + ../../../common/pc/ssd + "${modulesPath}/hardware/network/broadcom-43xx.nix" + ]; + + hardware.graphics.enable = lib.mkDefault true; + + # Faster wakeups from suspend + systemd.sleep.extraConfig = '' + MemorySleepMode=s2idle + ''; +} diff --git a/flake.nix b/flake.nix index 14cd6884..2340c81a 100644 --- a/flake.nix +++ b/flake.nix @@ -26,6 +26,7 @@ apple-macbook-pro-8-1 = import ./apple/macbook-pro/8-1; apple-macbook-pro-10-1 = import ./apple/macbook-pro/10-1; apple-macbook-pro-11-1 = import ./apple/macbook-pro/11-1; + apple-macbook-pro-11-4 = import ./apple/macbook-pro/11-4; apple-macbook-pro-11-5 = import ./apple/macbook-pro/11-5; apple-macbook-pro-12-1 = import ./apple/macbook-pro/12-1; apple-macbook-pro-14-1 = import ./apple/macbook-pro/14-1; From 7dd36b62fc1316dc33d63d4ada114f52b5300d8d Mon Sep 17 00:00:00 2001 From: Matt Schwennesen Date: Fri, 15 Aug 2025 18:22:42 -0500 Subject: [PATCH 034/117] fix typo casuing error --- microsoft/surface/common/kernel/6.12/patches.nix | 6 ++---- microsoft/surface/common/kernel/6.15/patches.nix | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/microsoft/surface/common/kernel/6.12/patches.nix b/microsoft/surface/common/kernel/6.12/patches.nix index d5cc8ccc..a2ce7d1a 100644 --- a/microsoft/surface/common/kernel/6.12/patches.nix +++ b/microsoft/surface/common/kernel/6.12/patches.nix @@ -3,13 +3,11 @@ kernel ? lib.kernel, patchSrc, version, -}: - -[ +}: [ { name = "microsoft-surface-patches-linux-${version}"; patch = null; - extraStructuredConfig = with kernel; { + structuredExtraConfig = with kernel; { STAGING_MEDIA = yes; ## diff --git a/microsoft/surface/common/kernel/6.15/patches.nix b/microsoft/surface/common/kernel/6.15/patches.nix index 6f685ee4..bcd253c1 100644 --- a/microsoft/surface/common/kernel/6.15/patches.nix +++ b/microsoft/surface/common/kernel/6.15/patches.nix @@ -3,13 +3,11 @@ kernel ? lib.kernel, patchSrc, version, -}: - -[ +}: [ { name = "microsoft-surface-patches-linux-${version}"; patch = null; - extraStructuredConfig = with kernel; { + structuredExtraConfig = with kernel; { STAGING_MEDIA = yes; ## ## Surface Aggregator Module From c006c5a59b9f844ca5e835e0bb1aed85a9bf4284 Mon Sep 17 00:00:00 2001 From: Matt Schwennesen Date: Fri, 15 Aug 2025 23:00:53 -0500 Subject: [PATCH 035/117] formatting --- microsoft/surface/common/kernel/6.12/patches.nix | 4 +++- microsoft/surface/common/kernel/6.15/patches.nix | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/microsoft/surface/common/kernel/6.12/patches.nix b/microsoft/surface/common/kernel/6.12/patches.nix index a2ce7d1a..fd48cb7e 100644 --- a/microsoft/surface/common/kernel/6.12/patches.nix +++ b/microsoft/surface/common/kernel/6.12/patches.nix @@ -3,7 +3,9 @@ kernel ? lib.kernel, patchSrc, version, -}: [ +}: + +[ { name = "microsoft-surface-patches-linux-${version}"; patch = null; diff --git a/microsoft/surface/common/kernel/6.15/patches.nix b/microsoft/surface/common/kernel/6.15/patches.nix index bcd253c1..e4245046 100644 --- a/microsoft/surface/common/kernel/6.15/patches.nix +++ b/microsoft/surface/common/kernel/6.15/patches.nix @@ -3,7 +3,9 @@ kernel ? lib.kernel, patchSrc, version, -}: [ +}: + +[ { name = "microsoft-surface-patches-linux-${version}"; patch = null; From 6287c9e15f1f575157e8c8b7627b5b5858265821 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Aug 2025 03:34:00 +0000 Subject: [PATCH 036/117] build(deps): bump actions/checkout from 4 to 5 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4f58d888..ac55dd2a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,13 +9,13 @@ jobs: nixfmt: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: cachix/install-nix-action@v31 - run: cd tests && nix fmt .. -- --fail-on-change tests: needs: nixfmt runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: cachix/install-nix-action@v31 - run: nix run ./tests#run . \ No newline at end of file From 2d512d0f4ef9908c104c4e451bb1571fe81a4267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mads=20Rumle=20Nordstr=C3=B8m?= Date: Mon, 18 Aug 2025 13:14:33 +0200 Subject: [PATCH 037/117] removed s2idle for macbookpro11,4 as default --- apple/macbook-pro/11-4/default.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/apple/macbook-pro/11-4/default.nix b/apple/macbook-pro/11-4/default.nix index 7dec9858..049380c6 100644 --- a/apple/macbook-pro/11-4/default.nix +++ b/apple/macbook-pro/11-4/default.nix @@ -8,9 +8,4 @@ ]; hardware.graphics.enable = lib.mkDefault true; - - # Faster wakeups from suspend - systemd.sleep.extraConfig = '' - MemorySleepMode=s2idle - ''; } From e3e3717d85ca1105afc9ec5b3a6a4ce4ba204135 Mon Sep 17 00:00:00 2001 From: Cassie Cheung Date: Mon, 11 Aug 2025 18:14:42 +0800 Subject: [PATCH 038/117] apple/t2: kernel 6.15 -> 6.16; sync patches --- apple/t2/pkgs/linux-t2/latest.json | 34 ++++++------------------------ apple/t2/pkgs/linux-t2/latest.nix | 4 ++-- apple/t2/pkgs/linux-t2/stable.json | 4 ++-- 3 files changed, 11 insertions(+), 31 deletions(-) diff --git a/apple/t2/pkgs/linux-t2/latest.json b/apple/t2/pkgs/linux-t2/latest.json index 629d74d2..09dc89b3 100644 --- a/apple/t2/pkgs/linux-t2/latest.json +++ b/apple/t2/pkgs/linux-t2/latest.json @@ -1,5 +1,5 @@ { - "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/8ec11f3aaa314d25e18842851a2124c0031e2e3f/", + "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/6b41c3fd65913e0fa3592ad16ff4a3a5b01efc7a/", "patches": [ { "name": "1001-Add-apple-bce-driver.patch", @@ -37,29 +37,9 @@ "name": "1011-HID-multitouch-add-device-ID-for-Apple-Touch-Bar.patch", "hash": "sha256-dIzEOj89D2rIEc2/mjq3TkIfI3ZHzu0VRDQQOzp+Snc=" }, - { - "name": "1013-lib-vsprintf-Add-support-for-generic-FourCCs-by-exte.patch", - "hash": "sha256-g8M3j1ZPND10/LtPD/txaSoJGV9Lp+g5bgn+vQc56p4=" - }, - { - "name": "1014-printf-add-tests-for-generic-FourCCs.patch", - "hash": "sha256-5Z4cFBMAY695OEU/CxiGQkUz68zmKdxssD+yp1DCYgs=" - }, - { - "name": "1015-drm-appletbdrm-use-p4cl-instead-of-p4cc.patch", - "hash": "sha256-rZej0ZbpPv+8NROuYnf4Jpu9scCsmbKWyz7yf5A3G3s=" - }, - { - "name": "1016-vsprintf-Use-p4chR-instead-of-p4cn-for-reading-data-.patch", - "hash": "sha256-/Ork2CmYk6SG213Owk+nGsw7KTEVDLRzQTeWcKrPZGw=" - }, - { - "name": "1017-checkpatch-remove-p4cn.patch", - "hash": "sha256-lnMnjnMiR9WSNf/XYsiOwFdC9xKv8zSluWiR584xFPU=" - }, { "name": "2008-i915-4-lane-quirk-for-mbp15-1.patch", - "hash": "sha256-Ui9tK4IGSWfEscmD92emX/NfulO0m8zwLc9ivIClCFQ=" + "hash": "sha256-PjMVt4u505PXnKFpojov0Uwhj0KxZas1E4NYJGI6lQ4=" }, { "name": "2009-apple-gmux-allow-switching-to-igpu-at-probe.patch", @@ -103,7 +83,7 @@ }, { "name": "4001-asahi-trackpad.patch", - "hash": "sha256-QM/FtDft4N4imJBuEHg6cH3e8vEyMPLt0alDhugLPy8=" + "hash": "sha256-nOpQ3t+QQXco6p7C03fM5EZ3ZfnzwC6UCFwHQd1EnGE=" }, { "name": "4002-HID-quirks-remove-T2-devices-from-hid_mouse_ignore_l.patch", @@ -115,7 +95,7 @@ }, { "name": "4004-HID-magicmouse-Add-support-for-trackpads-found-on-T2.patch", - "hash": "sha256-HcPX7gY3hnlwM/tY06pbtXnch04AqwHgC596E8ZqGY8=" + "hash": "sha256-dNrpDlIE9SaQUOntVQHMOyj7T/dsuRemN56yskKWue0=" }, { "name": "4005-HID-apple-Add-necessary-IDs-and-support-for-replacem.patch", @@ -123,15 +103,15 @@ }, { "name": "4006-HID-magicmouse-Add-MacBookPro15-1-replacement-trackp.patch", - "hash": "sha256-uAlT/4ADwYyKvbuPQaGwqCjZ2/myruC63etVV6cfFLk=" + "hash": "sha256-mMqHhxig+Z9eVPaa1qfcNVCRX16B6/KuEd1KnSZMLLk=" }, { "name": "7001-drm-i915-fbdev-Discard-BIOS-framebuffers-exceeding-h.patch", - "hash": "sha256-O6RHFxmKZn7aCq1D+r5z2T3jLt0r5+01EABD9rs0E5M=" + "hash": "sha256-/EKN7JsAxcpAgfJFtPp2NLYaGqQ0kl8wjJEXifSzJpY=" }, { "name": "8001-Add-APFS-driver.patch", - "hash": "sha256-io17Kk6FDscDoDshddK9TqSPuXVFTzjvRUwOGTl5cjM=" + "hash": "sha256-uR5hg75SFFWzfrKyU5UnzPL4U7LkjqGs44rkxM7ur8o=" }, { "name": "8002-Necessary-modifications-to-build-APFS-with-the-kerne.patch", diff --git a/apple/t2/pkgs/linux-t2/latest.nix b/apple/t2/pkgs/linux-t2/latest.nix index 747db71e..bba508ba 100644 --- a/apple/t2/pkgs/linux-t2/latest.nix +++ b/apple/t2/pkgs/linux-t2/latest.nix @@ -1,6 +1,6 @@ -{ callPackage, linux_6_15, ... }@args: +{ callPackage, linux_6_16, ... }@args: callPackage ./generic.nix args { - kernel = linux_6_15; + kernel = linux_6_16; patchesFile = ./latest.json; } diff --git a/apple/t2/pkgs/linux-t2/stable.json b/apple/t2/pkgs/linux-t2/stable.json index 325f42e4..d6d64cd1 100644 --- a/apple/t2/pkgs/linux-t2/stable.json +++ b/apple/t2/pkgs/linux-t2/stable.json @@ -1,5 +1,5 @@ { - "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/e08a76e1f1234885b9b68be6c843bf91833e8b0a/", + "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/7ddb75990d7377d6aebe3f2cd3a718124c61c809/", "patches": [ { "name": "1001-Add-apple-bce-driver.patch", @@ -131,7 +131,7 @@ }, { "name": "8001-Add-APFS-driver.patch", - "hash": "sha256-O3RNtpeZQENPEfyYi/0ZTLhAWBAw6pmxMS30NUxOTdk=" + "hash": "sha256-QpIPsMjWNPOkw6rSKn7rW0Fmx9HUwJaiGy3pZeT5Fd0=" }, { "name": "8002-Necessary-modifications-to-build-APFS-with-the-kerne.patch", From 0413405b45b381c8c8fa25d8e81fcbb395bc423e Mon Sep 17 00:00:00 2001 From: bashfulrobot Date: Tue, 19 Aug 2025 10:13:29 -0700 Subject: [PATCH 039/117] =?UTF-8?q?feat:=20=E2=9C=A8=20add=20ThinkPad=20T1?= =?UTF-8?q?4=20Intel=20Gen=206=20hardware=20support?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add complete hardware profile for Lenovo ThinkPad T14 Intel Gen 6 with: - Lunar Lake CPU architecture support with modern kernel requirements - Intel Arc graphics integration - Kernel parameters for backlight and touchpad optimization - Fingerprint reader support with comprehensive PAM configuration guidance - Disabled throttled service for modern Intel power management - Updated flake.nix and README.md with new module entries Includes detailed documentation for fingerprint authentication setup with warnings about potential login issues and proper PAM configuration in host systems. Follows CONTRIBUTING.md guidelines for profile structure. --- README.md | 1 + flake.nix | 1 + lenovo/thinkpad/t14/intel/default.nix | 9 ++++ lenovo/thinkpad/t14/intel/gen6/default.nix | 60 ++++++++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 lenovo/thinkpad/t14/intel/default.nix create mode 100644 lenovo/thinkpad/t14/intel/gen6/default.nix diff --git a/README.md b/README.md index 7a774cf0..5316196b 100644 --- a/README.md +++ b/README.md @@ -288,6 +288,7 @@ See code for all available configurations. | [Lenovo ThinkPad T14 AMD Gen 4](lenovo/thinkpad/t14/amd/gen4) | `` | `lenovo-thinkpad-t14-amd-gen4` | | [Lenovo ThinkPad T14 AMD Gen 5](lenovo/thinkpad/t14/amd/gen5) | `` | `lenovo-thinkpad-t14-amd-gen5` | | [Lenovo ThinkPad T14](lenovo/thinkpad/t14) | `` | `lenovo-thinkpad-t14` | +| [Lenovo ThinkPad T14 Intel Gen 6](lenovo/thinkpad/t14/intel/gen6) | `` | `lenovo-thinkpad-t14-intel-gen6` | | [Lenovo ThinkPad T14s AMD Gen 1](lenovo/thinkpad/t14s/amd/gen1) | `` | `lenovo-thinkpad-t14s-amd-gen1` | | [Lenovo ThinkPad T14s AMD Gen 4](lenovo/thinkpad/t14s/amd/gen4) | `` | `lenovo-thinkpad-t14s-amd-gen4` | | [Lenovo ThinkPad T14s](lenovo/thinkpad/t14s) | `` | `lenovo-thinkpad-t14s` | diff --git a/flake.nix b/flake.nix index 3cd9e355..019c8428 100644 --- a/flake.nix +++ b/flake.nix @@ -223,6 +223,7 @@ lenovo-thinkpad-t14-amd-gen3 = import ./lenovo/thinkpad/t14/amd/gen3; lenovo-thinkpad-t14-amd-gen4 = import ./lenovo/thinkpad/t14/amd/gen4; lenovo-thinkpad-t14-amd-gen5 = import ./lenovo/thinkpad/t14/amd/gen5; + lenovo-thinkpad-t14-intel-gen6 = import ./lenovo/thinkpad/t14/intel/gen6; lenovo-thinkpad-t14s = import ./lenovo/thinkpad/t14s; lenovo-thinkpad-t14s-amd-gen1 = import ./lenovo/thinkpad/t14s/amd/gen1; lenovo-thinkpad-t14s-amd-gen4 = import ./lenovo/thinkpad/t14s/amd/gen4; diff --git a/lenovo/thinkpad/t14/intel/default.nix b/lenovo/thinkpad/t14/intel/default.nix new file mode 100644 index 00000000..330ecd3e --- /dev/null +++ b/lenovo/thinkpad/t14/intel/default.nix @@ -0,0 +1,9 @@ +{ lib, pkgs, ... }: + +{ + imports = [ + ../. + ../../../../common/cpu/intel + ../../../../common/gpu/intel + ]; +} diff --git a/lenovo/thinkpad/t14/intel/gen6/default.nix b/lenovo/thinkpad/t14/intel/gen6/default.nix new file mode 100644 index 00000000..e6e6a5f4 --- /dev/null +++ b/lenovo/thinkpad/t14/intel/gen6/default.nix @@ -0,0 +1,60 @@ +{ + lib, + pkgs, + config, + ... +}: + +{ + imports = [ + ../../. + ../../../../../common/cpu/intel/lunar-lake + ]; + + # T14 Gen 6 uses Intel Core Ultra processors (Lunar Lake architecture) + # with integrated Intel Arc graphics + # The lunar-lake module already includes appropriate GPU support + + # Ensure modern kernel for full Lunar Lake support + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.8") pkgs.linuxPackages_latest; + + # TODO: Looking for feedback on these kernel parameters for T14 Gen 6 + # Force use of the thinkpad_acpi driver for backlight control + # This allows the backlight save/load systemd service to work + boot.kernelParams = [ + "acpi_backlight=native" + # TODO: Looking for feedback - touchpad fix needed for proper click registration on some T14 models + "psmouse.synaptics_intertouch=0" + ]; + + # TODO: Looking for feedback - modern Intel CPUs don't typically need throttled service + # which can interfere with newer power management on Lunar Lake + services.throttled.enable = lib.mkDefault false; + + # Enable fingerprint reader support + # NOTE: PAM configuration should be done in host config to avoid login issues + # See: https://github.com/NixOS/nixpkgs/issues/171136 + services.fprintd.enable = lib.mkDefault true; + + # For complete fingerprint authentication in GNOME, add the following to your host config: + # + # security.pam.services = { + # # Enable fingerprint authentication for sudo + # sudo.fprintAuth = lib.mkDefault true; + # + # # Enable fingerprint authentication for su + # su.fprintAuth = lib.mkDefault true; + # + # # Enable fingerprint authentication for screen unlock + # xscreensaver.fprintAuth = lib.mkDefault true; + # + # # WARNING: login.fprintAuth may break GDM password authentication + # # Only enable if you understand the risks: + # # login.fprintAuth = lib.mkDefault true; + # }; + # + # After configuration: + # 1. Rebuild your system + # 2. Enroll fingerprint: sudo fprintd-enroll $USER + # 3. Test sudo and screen unlock with fingerprint +} From 17113fc124517f837c27f3ebb3a23659a7ca4442 Mon Sep 17 00:00:00 2001 From: ktechmidas Date: Wed, 20 Aug 2025 13:42:37 +0300 Subject: [PATCH 040/117] Added g533q --- asus/rog-strix/g533q/default.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 asus/rog-strix/g533q/default.nix diff --git a/asus/rog-strix/g533q/default.nix b/asus/rog-strix/g533q/default.nix new file mode 100644 index 00000000..be3acbfa --- /dev/null +++ b/asus/rog-strix/g533q/default.nix @@ -0,0 +1,18 @@ +{ ... }: + +{ + imports = [ + ../../../common/cpu/amd + ../../../common/cpu/amd/pstate.nix + ../../../common/gpu/nvidia/prime.nix + ../../../common/gpu/nvidia/ampere + ../../../common/pc/laptop + ../../../common/pc/ssd + ../../battery.nix + ]; + + hardware.nvidia.prime = { + amdgpuBusId = "PCI:6:0:0"; + nvidiaBusId = "PCI:1:0:0"; + }; +} From 5e741b56dc39de0ff7f2565867dd08a2118155b2 Mon Sep 17 00:00:00 2001 From: ktechmidas Date: Wed, 20 Aug 2025 13:50:51 +0300 Subject: [PATCH 041/117] added supporting files --- README.md | 1 + flake.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index 7a774cf0..03361105 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ See code for all available configurations. | [Asus ROG Flow X13 GV302X\* (2023)](asus/flow/gv302x/nvidia) | `` | `asus-flow-gv302x-nvidia` | | [Asus ROG Strix G513IM](asus/rog-strix/g513im) | `` | `asus-rog-strix-g513im` | | [Asus ROG Strix G533ZW](asus/rog-strix/g533zw) | `` | `asus-rog-strix-g533zw` | +| [Asus ROG Strix G533Q](asus/rog-strix/g533q) | `` | `asus-rog-strix-g533zw` | | [Asus ROG Strix G713IE](asus/rog-strix/g713ie) | `` | `asus-rog-strix-g713ie` | | [Asus ROG Strix G733QS](asus/rog-strix/g733qs) | `` | `asus-rog-strix-g733qs` | | [Asus ROG Strix X570-E GAMING](asus/rog-strix/x570e) | `` | `asus-rog-strix-x570e` | diff --git a/flake.nix b/flake.nix index 3cd9e355..5f512890 100644 --- a/flake.nix +++ b/flake.nix @@ -43,6 +43,7 @@ asus-pro-ws-x570-ace = import ./asus/pro-ws-x570-ace; asus-rog-strix-g513im = import ./asus/rog-strix/g513im; asus-rog-strix-g533zw = import ./asus/rog-strix/g533zw; + asus-rog-strix-g533q = import ./asus/rog-strix/g533q; asus-rog-strix-g713ie = import ./asus/rog-strix/g713ie; asus-rog-strix-g733qs = import ./asus/rog-strix/g733qs; asus-rog-strix-x570e = import ./asus/rog-strix/x570e; From ebd8f57cd95295264da6b92537c28c6e654fddf4 Mon Sep 17 00:00:00 2001 From: fidgetingbits Date: Thu, 21 Aug 2025 08:52:27 +0800 Subject: [PATCH 042/117] Fix probe id and switch from sync to offload --- dell/precision/5570/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dell/precision/5570/default.nix b/dell/precision/5570/default.nix index a50b675a..903cce6b 100644 --- a/dell/precision/5570/default.nix +++ b/dell/precision/5570/default.nix @@ -8,14 +8,14 @@ ../../../common/cpu/intel/alder-lake ../../../common/pc/laptop ../../../common/pc/ssd - ../../../common/gpu/nvidia/prime-sync.nix + ../../../common/gpu/nvidia/prime.nix ]; hardware.intelgpu.driver = lib.mkIf (lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.8") "xe"; boot.kernelParams = lib.mkIf (config.hardware.intelgpu.driver == "xe") [ - "i915.force_probe=!9a49" - "xe.force_probe=9a49" + "i915.force_probe=!46a6" + "xe.force_probe=46a6" ]; hardware.nvidia = { From c13241f1c0ba923840b2598db289ef120818c88b Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Wed, 27 Aug 2025 00:30:49 +0800 Subject: [PATCH 043/117] framework 16: Remove headset quirk Framework 16 does not have a built-in headphone jack, this is not needed. Signed-off-by: Daniel Schaefer --- framework/16-inch/common/default.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/framework/16-inch/common/default.nix b/framework/16-inch/common/default.nix index 8443e401..d84252b3 100644 --- a/framework/16-inch/common/default.nix +++ b/framework/16-inch/common/default.nix @@ -8,12 +8,6 @@ ../../framework-tool.nix ]; - # Fix TRRS headphones missing a mic - # https://community.frame.work/t/headset-microphone-on-linux/12387/3 - boot.extraModprobeConfig = lib.mkIf (lib.versionOlder config.boot.kernelPackages.kernel.version "6.6.8") '' - options snd-hda-intel model=dell-headset-multi - ''; - # For fingerprint support services.fprintd.enable = lib.mkDefault true; From cd3d24b038b375208dbf204ca71131764b8b4ea8 Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Wed, 27 Aug 2025 00:29:09 +0800 Subject: [PATCH 044/117] Add Framework Laptop 16 AMD AI 300 Series Signed-off-by: Daniel Schaefer --- README.md | 1 + flake.nix | 1 + framework/16-inch/amd-ai-300-series/README.md | 25 +++++++++++++++++++ .../16-inch/amd-ai-300-series/default.nix | 21 ++++++++++++++++ 4 files changed, 48 insertions(+) create mode 100644 framework/16-inch/amd-ai-300-series/README.md create mode 100644 framework/16-inch/amd-ai-300-series/default.nix diff --git a/README.md b/README.md index 7a774cf0..93a9069b 100644 --- a/README.md +++ b/README.md @@ -199,6 +199,7 @@ See code for all available configurations. | [Framework 13 AMD AI 300 Series](framework/13-inch/amd-ai-300-series) | `` | `framework-amd-ai-300-series` | | [Framework 12 13th Gen Intel Core](framework/12-inch/13th-gen-intel) | `` | `framework-12-13th-gen-intel` | | [Framework 16 AMD Ryzen 7040 Series](framework/16-inch/7040-amd) | `` | `framework-16-7040-amd` | +| [Framework 16 AMD Ryzen AI 300 Series](framework/16-inch/amd-ai-300-series) | `` | `framework-16-amd-ai-300-series` | | [FriendlyARM NanoPC-T4](friendlyarm/nanopc-t4) | `` | `friendlyarm-nanopc-t4` | | [FriendlyARM NanoPi R5s](friendlyarm/nanopi-r5s) | `` | `friendlyarm-nanopi-r5s` | | [Focus M2 Gen 1](focus/m2/gen1) | `` | `focus-m2-gen1` | diff --git a/flake.nix b/flake.nix index 3cd9e355..78f6c71f 100644 --- a/flake.nix +++ b/flake.nix @@ -133,6 +133,7 @@ framework-13-7040-amd = import ./framework/13-inch/7040-amd; framework-amd-ai-300-series = import ./framework/13-inch/amd-ai-300-series; framework-16-7040-amd = import ./framework/16-inch/7040-amd; + framework-16-amd-ai-300-series = import ./framework/16-inch/amd-ai-300-series; framework-desktop-amd-ai-max-300-series = import ./framework/desktop/amd-ai-max-300-series; friendlyarm-nanopc-t4 = import ./friendlyarm/nanopc-t4; friendlyarm-nanopi-r5s = import ./friendlyarm/nanopi-r5s; diff --git a/framework/16-inch/amd-ai-300-series/README.md b/framework/16-inch/amd-ai-300-series/README.md new file mode 100644 index 00000000..1c0cc41d --- /dev/null +++ b/framework/16-inch/amd-ai-300-series/README.md @@ -0,0 +1,25 @@ +# [Framework Laptop 16 AMD AI 300 Series](https://frame.work/) + +## nvidia + +If you have an nvidia dGPU module, you can enable it via the nvidia open drivers: + +``` +services.xserver.videoDrivers = [ "nvidia" ]; +hardware.nvidia.open = true; # see the note above +``` + +See also [NVIDIA](https://wiki.nixos.org/wiki/NVIDIA) on the NixOS Wiki. + +## Updating Firmware + +Everything is updateable through fwupd, so it's enabled by default. + +To get the latest firmware, run: + +```sh +$ fwupdmgr refresh +$ fwupdmgr update +``` + +- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop16.RyzenAI300.BIOS.firmware) diff --git a/framework/16-inch/amd-ai-300-series/default.nix b/framework/16-inch/amd-ai-300-series/default.nix new file mode 100644 index 00000000..bdb94e66 --- /dev/null +++ b/framework/16-inch/amd-ai-300-series/default.nix @@ -0,0 +1,21 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + imports = [ + ../common + ../common/amd.nix + ]; + + # 6.14 is the minimum recommended kernel, 6.15 has many useful changes, too + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.15") ( + lib.mkDefault pkgs.linuxPackages_latest + ); + + # Everything is updateable through fwupd + services.fwupd.enable = true; +} From 3a4da5f8c13b542c1298e7f0da6c1767db59602d Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Wed, 27 Aug 2025 00:43:20 +0800 Subject: [PATCH 045/117] framework: Enable fwupd by default Users should keep their firmware (not just BIOS) up to date. Framework 13 Intel 11-13th Gen have some components that can't be updated with fwupd, so some BIOS versions are better to be installed through the EFI shell or Windows. Signed-off-by: Daniel Schaefer --- framework/12-inch/13th-gen-intel/README.md | 11 ++++------- framework/12-inch/common/default.nix | 3 +++ framework/13-inch/7040-amd/README.md | 11 ++++------- framework/13-inch/7040-amd/default.nix | 3 ++- framework/13-inch/amd-ai-300-series/README.md | 13 ++++++------- framework/13-inch/amd-ai-300-series/default.nix | 4 ++++ .../13-inch/intel-core-ultra-series1/README.md | 13 ++++++------- .../13-inch/intel-core-ultra-series1/default.nix | 3 +++ framework/16-inch/7040-amd/README.md | 12 +++++++++++- framework/16-inch/7040-amd/default.nix | 2 ++ framework/16-inch/common/default.nix | 3 +++ 11 files changed, 48 insertions(+), 30 deletions(-) diff --git a/framework/12-inch/13th-gen-intel/README.md b/framework/12-inch/13th-gen-intel/README.md index 6d35825f..4d9ecdb5 100644 --- a/framework/12-inch/13th-gen-intel/README.md +++ b/framework/12-inch/13th-gen-intel/README.md @@ -2,16 +2,13 @@ ## Updating Firmware -First put enable `fwupd` +Everything is updateable through fwupd, so it's enabled by default. -```nix -services.fwupd.enable = true; -``` - -Then run +To get the latest firmware, run: ```sh - $ fwupdmgr update +$ fwupdmgr refresh +$ fwupdmgr update ``` - [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop12.RPL.BIOS.firmware) diff --git a/framework/12-inch/common/default.nix b/framework/12-inch/common/default.nix index 88195ea6..5e8aa81f 100644 --- a/framework/12-inch/common/default.nix +++ b/framework/12-inch/common/default.nix @@ -16,4 +16,7 @@ # Needed for desktop environments to detect display orientation hardware.sensor.iio.enable = lib.mkDefault true; + + # Everything is updateable through fwupd + services.fwupd.enable = true; } diff --git a/framework/13-inch/7040-amd/README.md b/framework/13-inch/7040-amd/README.md index abaef603..76b0db1a 100644 --- a/framework/13-inch/7040-amd/README.md +++ b/framework/13-inch/7040-amd/README.md @@ -2,16 +2,13 @@ ## Updating Firmware -First put enable `fwupd` +Everything is updateable through fwupd, so it's enabled by default. -```nix -services.fwupd.enable = true; -``` - -Then run +To get the latest firmware, run: ```sh - $ fwupdmgr update +$ fwupdmgr refresh +$ fwupdmgr update ``` - [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop.Ryzen7040.BIOS.firmware) diff --git a/framework/13-inch/7040-amd/default.nix b/framework/13-inch/7040-amd/default.nix index 2cd21f60..65b71749 100644 --- a/framework/13-inch/7040-amd/default.nix +++ b/framework/13-inch/7040-amd/default.nix @@ -14,7 +14,6 @@ in ../common/amd.nix ../../../common/cpu/amd/raphael/igpu.nix ]; - options = { hardware.framework.amd-7040.preventWakeOnAC = lib.mkOption { type = lib.types.bool; @@ -30,6 +29,8 @@ in }; config = { + services.fwupd.enable = true; + # Workaround applied upstream in Linux >=6.7 (on BIOS 03.03) # https://github.com/torvalds/linux/commit/a55bdad5dfd1efd4ed9ffe518897a21ca8e4e193 services.udev.extraRules = diff --git a/framework/13-inch/amd-ai-300-series/README.md b/framework/13-inch/amd-ai-300-series/README.md index 8f3b7a42..a01b177b 100644 --- a/framework/13-inch/amd-ai-300-series/README.md +++ b/framework/13-inch/amd-ai-300-series/README.md @@ -2,14 +2,13 @@ ## Updating Firmware -First put enable `fwupd` +Everything is updateable through fwupd, so it's enabled by default. -```nix -services.fwupd.enable = true; -``` - -Then run +To get the latest firmware, run: ```sh - $ fwupdmgr update +$ fwupdmgr refresh +$ fwupdmgr update ``` + +- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop.RyzenAI300.BIOS.firmware) diff --git a/framework/13-inch/amd-ai-300-series/default.nix b/framework/13-inch/amd-ai-300-series/default.nix index 0b59e780..c0a479a8 100644 --- a/framework/13-inch/amd-ai-300-series/default.nix +++ b/framework/13-inch/amd-ai-300-series/default.nix @@ -10,7 +10,11 @@ ../common ../common/amd.nix ]; + config = { + # Everything is updateable through fwupd + services.fwupd.enable = true; + hardware.framework.laptop13.audioEnhancement.rawDeviceName = lib.mkDefault "alsa_output.pci-0000_c1_00.6.analog-stereo"; diff --git a/framework/13-inch/intel-core-ultra-series1/README.md b/framework/13-inch/intel-core-ultra-series1/README.md index 8f3b7a42..7f0902e4 100644 --- a/framework/13-inch/intel-core-ultra-series1/README.md +++ b/framework/13-inch/intel-core-ultra-series1/README.md @@ -2,14 +2,13 @@ ## Updating Firmware -First put enable `fwupd` +Everything is updateable through fwupd, so it's enabled by default. -```nix -services.fwupd.enable = true; -``` - -Then run +To get the latest firmware, run: ```sh - $ fwupdmgr update +$ fwupdmgr refresh +$ fwupdmgr update ``` + +- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop.MTL.BIOS.firmware) diff --git a/framework/13-inch/intel-core-ultra-series1/default.nix b/framework/13-inch/intel-core-ultra-series1/default.nix index b2828ff1..7553e687 100644 --- a/framework/13-inch/intel-core-ultra-series1/default.nix +++ b/framework/13-inch/intel-core-ultra-series1/default.nix @@ -11,6 +11,9 @@ ../common/intel.nix ]; + # Everything is updateable through fwupd + services.fwupd.enable = true; + # Need at least 6.9 to make suspend properly # Specifically this patch: https://github.com/torvalds/linux/commit/073237281a508ac80ec025872ad7de50cfb5a28a boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.9") ( diff --git a/framework/16-inch/7040-amd/README.md b/framework/16-inch/7040-amd/README.md index 0ce3dbe8..0e994c6e 100644 --- a/framework/16-inch/7040-amd/README.md +++ b/framework/16-inch/7040-amd/README.md @@ -1,4 +1,14 @@ # [Framework Laptop 16](https://frame.work/) ## Updating Firmware -The Framework Laptop 16 uses LVFS, so it can be updated via fwupd; see https://wiki.nixos.org/wiki/Fwupd for details + +Everything is updateable through fwupd, so it's enabled by default. + +To get the latest firmware, run: + +```sh +$ fwupdmgr refresh +$ fwupdmgr update +``` + +- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop16.Ryzen7040.BIOS.firmware) diff --git a/framework/16-inch/7040-amd/default.nix b/framework/16-inch/7040-amd/default.nix index 70275e69..b3bd0333 100644 --- a/framework/16-inch/7040-amd/default.nix +++ b/framework/16-inch/7040-amd/default.nix @@ -12,4 +12,6 @@ ../../../common/cpu/amd/raphael/igpu.nix ]; + # Everything is updateable through fwupd + services.fwupd.enable = true; } diff --git a/framework/16-inch/common/default.nix b/framework/16-inch/common/default.nix index 8443e401..cec1b7be 100644 --- a/framework/16-inch/common/default.nix +++ b/framework/16-inch/common/default.nix @@ -50,4 +50,7 @@ MatchDMIModalias=dmi:*svnFramework:pnLaptop16* AttrKeyboardIntegration=internal ''; + + # Everything is updateable through fwupd + services.fwupd.enable = true; } From cfb36e4feb6a9a423510260a7959eb0831461570 Mon Sep 17 00:00:00 2001 From: Tatesa Uradnik Date: Wed, 27 Aug 2025 13:04:31 +0200 Subject: [PATCH 046/117] fix: add missing import of ideapad 16iah8 --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index 3cd9e355..807f811d 100644 --- a/flake.nix +++ b/flake.nix @@ -166,6 +166,7 @@ lenovo-ideapad-15ach6 = import ./lenovo/ideapad/15ach6; lenovo-ideapad-16ach6 = import ./lenovo/ideapad/16ach6; lenovo-ideapad-16ahp9 = import ./lenovo/ideapad/16ahp9; + lenovo-ideapad-s5-16iah8 = import ./lenovo/ideapad/16iah8; lenovo-ideapad-z510 = import ./lenovo/ideapad/z510; lenovo-ideapad-slim-5 = import ./lenovo/ideapad/slim-5; lenovo-ideapad-s145-15api = import ./lenovo/ideapad/s145-15api; From 6439a46c7ce9bf5b0d51438e0e316b748cf42fd5 Mon Sep 17 00:00:00 2001 From: lantianx Date: Fri, 8 Aug 2025 02:50:58 +0800 Subject: [PATCH 047/117] feat: add MECHREVO Yilong15Pro(GM5HG0A) --- README.md | 1 + flake.nix | 1 + mechrevo/GM5HG0A/default.nix | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 mechrevo/GM5HG0A/default.nix diff --git a/README.md b/README.md index 7a774cf0..b258c1d9 100644 --- a/README.md +++ b/README.md @@ -364,6 +364,7 @@ See code for all available configurations. | [Microsoft Surface Pro 9](microsoft/surface-pro/9) | `` | `microsoft-surface-pro-9` | | [Morefine M600](morefine/m600) | `` | `morefine-m600` | | [Minisforum V3](minisforum/v3) | `` | `minisforum-v3` | +| [MECHREVO Yilong15Pro](mechrevo/GM5HG0A) | `` | `mechrevo-gm5hg0a` | | [NXP iMX8 MPlus Evaluation Kit](nxp/imx8mp-evk) | `` | `nxp-imx8mp-evk` | | [NXP iMX8 MQuad Evaluation Kit](nxp/imx8mq-evk) | `` | `nxp-imx8mq-evk` | | [Hardkernel Odroid HC4](hardkernel/odroid-hc4/default.nix) | `` | `hardkernel-odroid-hc4` | diff --git a/flake.nix b/flake.nix index 3cd9e355..5d940674 100644 --- a/flake.nix +++ b/flake.nix @@ -290,6 +290,7 @@ lenovo-yoga-7-slim-gen8 = import ./lenovo/yoga/7/slim/gen8; letsnote-cf-lx4 = import ./panasonic/letsnote/cf-lx4; malibal-aon-s1-intel = import ./malibal/aon/s1; + mechrevo-gm5hg0a = import ./mechrevo/GM5HG0A; microchip-icicle-kit = import ./microchip/icicle-kit; microsoft-surface-go = import ./microsoft/surface/surface-go; microsoft-surface-pro-intel = import ./microsoft/surface/surface-pro-intel; diff --git a/mechrevo/GM5HG0A/default.nix b/mechrevo/GM5HG0A/default.nix new file mode 100644 index 00000000..6a9e2a9f --- /dev/null +++ b/mechrevo/GM5HG0A/default.nix @@ -0,0 +1,35 @@ +{ + lib, + pkgs, + config, + ... +}: +{ + imports = [ + ../../common/cpu/amd + ../../common/cpu/amd/pstate.nix + ../../common/cpu/amd/zenpower.nix + ../../common/cpu/amd/raphael/igpu.nix + ../../common/gpu/amd + ../../common/gpu/nvidia + ../../common/gpu/nvidia/ada-lovelace + ../../common/gpu/nvidia/prime.nix + ../../common/hidpi.nix + ../../common/pc/laptop + ../../common/pc/ssd + ]; + + # Resolve the issue of sleep mode being awakened by GPIO 6. + # https://nova.gal/blog/%E6%9C%BA%E6%A2%B0%E9%9D%A9%E5%91%BD%E7%BF%BC%E9%BE%99-15Pro-%E8%BF%81%E7%A7%BB-Linux-%E9%81%87%E5%88%B0%E7%9A%84%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98#%E6%97%A0%E6%B3%95%E4%BC%91%E7%9C%A0 + # https://lore.kernel.org/all/20221012221028.4817-1-mario.limonciello@amd.com/T/ + boot.kernelParams = [ "gpiolib_acpi.ignore_interrupt=AMDI0030:00@6" ]; + + hardware.nvidia = { + primeBatterySaverSpecialisation = lib.mkDefault true; + modesetting.enable = lib.mkDefault true; + prime = { + amdgpuBusId = "PCI:6:0:0"; + nvidiaBusId = "PCI:1:0:0"; + }; + }; +} From 59e2d82cc23b05e99815ae7ad95f454905f3689d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mads=20Rumle=20Nordstr=C3=B8m?= Date: Fri, 29 Aug 2025 11:16:31 +0200 Subject: [PATCH 048/117] ran formatter for mbp11,4 --- apple/macbook-pro/11-4/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apple/macbook-pro/11-4/default.nix b/apple/macbook-pro/11-4/default.nix index 049380c6..611ac0b4 100644 --- a/apple/macbook-pro/11-4/default.nix +++ b/apple/macbook-pro/11-4/default.nix @@ -1,4 +1,10 @@ -{ lib, config, pkgs, modulesPath, ... }: +{ + lib, + config, + pkgs, + modulesPath, + ... +}: { imports = [ ../. From bfda6f34d3eaf310ea2565bd51bc48aabcc45f3a Mon Sep 17 00:00:00 2001 From: Stefano Pacifici Date: Fri, 29 Aug 2025 11:58:46 +0200 Subject: [PATCH 049/117] dell/precision/7520: use stable nvidia driver (not legacy) --- dell/precision/7520/README.md | 11 +++++++---- dell/precision/7520/default.nix | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/dell/precision/7520/README.md b/dell/precision/7520/README.md index b5c0946c..2c58d84e 100644 --- a/dell/precision/7520/README.md +++ b/dell/precision/7520/README.md @@ -61,7 +61,10 @@ Then use `fwupdmgr` to perform updates ## Nvidia Driver -The choice of the `legacy_390` driver is based on looking for PCI Device ID `10de:1436`. On the [nvidia driver site](https://www.nvidia.com/en-us/drivers/unix/legacy-gpu/) which should indicate the -driver, the exact device isn't listed. However, we can see -[here](https://linux-hardware.org/?id=pci:10de-1436-103c-1909) has nvidia driver "375.82 and newer" listed. Since the -newest nvidia drivers don't support legacy devices, the closest version newer than 375.82 was chosen. +The choice of the `stable` driver is based on looking at the family of the card on [nouveau wiki's code names page](https://nouveau.freedesktop.org/CodeNames.html) obtained with: + +```bash +$ lspci -k -d ::03xx +``` + +Both `Quadro M2200 Mobile (GM206GLM)` and `Quadro M1200 Mobile (GM107GLM)` belong to the **Maxwell** family which is still supported by the stable driver. diff --git a/dell/precision/7520/default.nix b/dell/precision/7520/default.nix index 4742afb3..8ddc312e 100644 --- a/dell/precision/7520/default.nix +++ b/dell/precision/7520/default.nix @@ -32,7 +32,7 @@ enable32Bit = lib.mkDefault true; }; nvidia = { - package = config.boot.kernelPackages.nvidiaPackages.legacy_390; + package = config.boot.kernelPackages.nvidiaPackages.stable; nvidiaSettings = lib.mkDefault true; modesetting.enable = lib.mkDefault true; open = lib.mkDefault false; From 9691e6ee8a33dec6f8222314785868415bb78560 Mon Sep 17 00:00:00 2001 From: mkorje Date: Sat, 30 Aug 2025 00:52:57 +1000 Subject: [PATCH 050/117] apple/t2: sync stable patches --- apple/t2/pkgs/linux-t2/stable.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apple/t2/pkgs/linux-t2/stable.json b/apple/t2/pkgs/linux-t2/stable.json index d6d64cd1..a8dc9a04 100644 --- a/apple/t2/pkgs/linux-t2/stable.json +++ b/apple/t2/pkgs/linux-t2/stable.json @@ -1,5 +1,5 @@ { - "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/7ddb75990d7377d6aebe3f2cd3a718124c61c809/", + "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/cba79a9fcc64d8cd02e0d6f5ab519034db812648/", "patches": [ { "name": "1001-Add-apple-bce-driver.patch", @@ -103,7 +103,7 @@ }, { "name": "4001-asahi-trackpad.patch", - "hash": "sha256-NOuGgUxDQEfFPlij/EnhWmgqeG3/l+j+r2T1YJG7raY=" + "hash": "sha256-kfAYVovukZLD5ocHQxhoHJSa9c5XAJ1GhH1RlzGkS+k=" }, { "name": "4002-HID-quirks-remove-T2-devices-from-hid_mouse_ignore_l.patch", From f3444245a78f55dd22fca2f9f52b1f3e5382572b Mon Sep 17 00:00:00 2001 From: mkorje Date: Mon, 1 Sep 2025 21:05:51 +1000 Subject: [PATCH 051/117] apple/t2: sync stable patches (6.12.43 -> 6.12.44) --- apple/t2/pkgs/linux-t2/stable.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/apple/t2/pkgs/linux-t2/stable.json b/apple/t2/pkgs/linux-t2/stable.json index a8dc9a04..f70de9dc 100644 --- a/apple/t2/pkgs/linux-t2/stable.json +++ b/apple/t2/pkgs/linux-t2/stable.json @@ -1,5 +1,5 @@ { - "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/cba79a9fcc64d8cd02e0d6f5ab519034db812648/", + "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/5eaf1261d069bbc67aba7fe2737a5fe981e05a9e/", "patches": [ { "name": "1001-Add-apple-bce-driver.patch", @@ -49,10 +49,6 @@ "name": "1013-lib-vsprintf-Add-support-for-generic-FourCCs-by-exte.patch", "hash": "sha256-h3gxaKtvdm/GSd+AP1sPC9avWHOsceUxTmoua/3rIf4=" }, - { - "name": "1014-drm-format-helper-Add-conversion-from-XRGB8888-to-BG.patch", - "hash": "sha256-Ky19+cCiYDaHBh2o5IhZO8J1ExDT7o8K9cgPz+AL8Cg=" - }, { "name": "1015-drm-tiny-add-driver-for-Apple-Touch-Bars-in-x86-Macs.patch", "hash": "sha256-tDjK/VipVQbuNOURW38gssqeRLy3s8I+DVq0+4zGnHs=" From a57aded40e877bb419d98f8290efa4b8aa5beada Mon Sep 17 00:00:00 2001 From: KaiStarkk Date: Tue, 2 Sep 2025 01:19:01 +1000 Subject: [PATCH 052/117] Update README.md - wireplumber example issue --- microsoft/surface/README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/microsoft/surface/README.md b/microsoft/surface/README.md index 7fc5675c..3f99001c 100644 --- a/microsoft/surface/README.md +++ b/microsoft/surface/README.md @@ -103,6 +103,23 @@ with the `ath10k` QCA6174 Wifi device. This was fixed in Nov 2021: - https://github.com/linux-surface/linux-surface/issues/542#issuecomment-976995453 +## Troubleshooting IPU6 + +While the camera patches are applied in `common`, camera functionality is still WIP for several devices (see [https://github.com/linux-surface/linux-surface/wiki/Camera-Support](https://github.com/linux-surface/linux-surface/wiki/Camera-Support)). As a result they may break some userspace tools on unsupported devices, notably such as Wireplumber. An example fix for such userspace issues is shown below. +``` +services.pipewire.wireplumber.extraConfig = { + "50-surface-disable-libcamera.conf" = '' + monitor.libcamera = { enabled = false } + wireplumber.profiles = { + main = { + monitor.libcamera = disabled + hardware.video-capture = disabled + } + } + ''; +}; +``` + ### Background: With the older firmware, you would see messages like "Can't ping firmware". From e903fd796da4396598e1d0573f7516927feb3577 Mon Sep 17 00:00:00 2001 From: Hannah Izzie Gesser Date: Wed, 20 Aug 2025 14:15:42 +0200 Subject: [PATCH 053/117] Revert "apple: add hid_apple.iso_layout=0 kernel param" This reverts commit e228c7827b5ac2b08f07433aa8fbc8f2c41e85a5. --- apple/default.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/apple/default.nix b/apple/default.nix index 5663cfeb..8ba93fdf 100644 --- a/apple/default.nix +++ b/apple/default.nix @@ -1,10 +1,6 @@ { config, lib, ... }: { - boot.kernelParams = [ - "hid_apple.iso_layout=0" - ]; - hardware.facetimehd.enable = lib.mkDefault (config.nixpkgs.config.allowUnfree or false); services.mbpfan.enable = lib.mkDefault true; From c69cdbed34aa6a39e91a7217a11833358f198036 Mon Sep 17 00:00:00 2001 From: Matteo Bongiovanni Date: Tue, 5 Aug 2025 10:04:49 +0200 Subject: [PATCH 054/117] system76-gaze18: add CPU module --- system76/gaze18/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system76/gaze18/default.nix b/system76/gaze18/default.nix index 61b3f92f..6a9b337a 100644 --- a/system76/gaze18/default.nix +++ b/system76/gaze18/default.nix @@ -9,6 +9,7 @@ ../. ../../common/gpu/nvidia/prime.nix ../../common/gpu/nvidia/ampere + ../../common/cpu/intel/raptor-lake ]; boot.initrd.kernelModules = [ "nvidia" ]; From 7fe67c44d1ca93e55219cdd470e64da6ce3fee64 Mon Sep 17 00:00:00 2001 From: Matteo Bongiovanni Date: Tue, 5 Aug 2025 10:11:38 +0200 Subject: [PATCH 055/117] system76-gaze18: use xserver.videoDrivers instead of initrd.kernelModules system76-gaze18: use xserver.videoDrivers instead of initrd.kernelModules --- system76/gaze18/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/system76/gaze18/default.nix b/system76/gaze18/default.nix index 6a9b337a..b65124e5 100644 --- a/system76/gaze18/default.nix +++ b/system76/gaze18/default.nix @@ -12,7 +12,11 @@ ../../common/cpu/intel/raptor-lake ]; - boot.initrd.kernelModules = [ "nvidia" ]; + # For offloading, `modesetting` is needed + services.xserver.videoDrivers = [ + "modesetting" + "nvidia" + ]; hardware.graphics = { enable = lib.mkDefault true; @@ -21,8 +25,6 @@ hardware.nvidia = { - # modesetting.enable = lib.mkDefault true; - powerManagement.finegrained = lib.mkDefault true; prime = { From f4a07aa370c5cb3d39f3d0f2215bbf5bce8f87b2 Mon Sep 17 00:00:00 2001 From: Matteo Bongiovanni Date: Tue, 19 Aug 2025 15:26:56 +0200 Subject: [PATCH 056/117] system76-gaze18: add laptop and ssd imports --- system76/gaze18/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/system76/gaze18/default.nix b/system76/gaze18/default.nix index b65124e5..51caa436 100644 --- a/system76/gaze18/default.nix +++ b/system76/gaze18/default.nix @@ -10,6 +10,8 @@ ../../common/gpu/nvidia/prime.nix ../../common/gpu/nvidia/ampere ../../common/cpu/intel/raptor-lake + ../../common/pc/laptop + ../../common/pc/ssd ]; # For offloading, `modesetting` is needed From 2f7f1dc6ec1f3ef483eec820d2f0ffca3af63b1d Mon Sep 17 00:00:00 2001 From: Noah Markert Date: Wed, 3 Sep 2025 10:59:22 +0200 Subject: [PATCH 057/117] renamed flake modules in README.md to match them in flake.nix; add missing nixos modules to flake.nix; --- README.md | 14 +++++++------- flake.nix | 4 +++- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index a0c5d094..85503179 100644 --- a/README.md +++ b/README.md @@ -255,7 +255,7 @@ See code for all available configurations. | [Lenovo Legion 7 Pro 16irx9h (Intel)](lenovo/legion/16irx9h) | `` | `lenovo-legion-16irx9h` | | [Lenovo Legion Slim 7 Gen 7 (AMD)](lenovo/legion/16arha7/) | `` | `lenovo-legion-16arha7` | | [Lenovo Legion T5 AMR5](lenovo/legion/t526amr5) | `` | `lenovo-legion-t526amr5` | -| [Lenovo Legion Y530 15ICH](lenovo/legion/15ich) | `` | `lenovo-legion-15ich` | +| [Lenovo Legion Y530 15ICH](lenovo/legion/15ich) | `` | `lenovo-legion-y530-15ich` | | [Lenovo ThinkPad A475](lenovo/thinkpad/a475) | `` | `lenovo-thinkpad-a475` | | [Lenovo ThinkPad E14 (AMD)](lenovo/thinkpad/e14/amd) | `` | `lenovo-thinkpad-e14-amd` | | [Lenovo ThinkPad E14 (Intel - Gen 1)](lenovo/thinkpad/e14/intel) | `` | `lenovo-thinkpad-e14-intel` | @@ -346,8 +346,8 @@ See code for all available configurations. | [Lenovo ThinkPad X280](lenovo/thinkpad/x280) | `` | `lenovo-thinkpad-x280` | | [Lenovo ThinkPad X390](lenovo/thinkpad/x390) | `` | `lenovo-thinkpad-x390` | | [Lenovo ThinkPad Z Series](lenovo/thinkpad/z) | `` | `lenovo-thinkpad-z` | -| [Lenovo ThinkPad Z13 Gen 1](lenovo/thinkpad/z/gen1/z13) | `` | `lenovo-thinkpad-z-gen1-z13` | -| [Lenovo ThinkPad Z13 Gen 2](lenovo/thinkpad/z/gen2/z13) | `` | `lenovo-thinkpad-z-gen2-z13` | +| [Lenovo ThinkPad Z13 Gen 1](lenovo/thinkpad/z/gen1/z13) | `` | `lenovo-thinkpad-z13-gen1` | +| [Lenovo ThinkPad Z13 Gen 2](lenovo/thinkpad/z/gen2/z13) | `` | `lenovo-thinkpad-z13-gen2` | | [Lenovo XiaoXin Pro 14imh9 2024](lenovo/ideapad/14imh9) | `` | `lenovo-ideapad-14imh9` | | [LENOVO Yoga 6 13ALC6 82ND](lenovo/yoga/6/13ALC6) | `` | `lenovo-yoga-6-13ALC6` | | [LENOVO Yoga Slim 7 Pro-X 14ARH7 82ND](lenovo/yoga/7/14ARH7/amdgpu) | `` | `lenovo-yoga-7-14ARH7-amdgpu` | @@ -362,9 +362,9 @@ See code for all available configurations. | [MSI GL62/CX62](msi/gl62) | `` | `msi-gl62` | | [MSI GL65 10SDR-492](msi/gl65/10SDR-492) | `` | `msi-gl65-10SDR-492` | | [Microchip Icicle Kit](microchip/icicle-kit) | `` | `microchip-icicle-kit` | -| [Microsoft Surface Go](microsoft/surface/surface-go) | `` | `microsoft-surface-surface-go` | -| [Microsoft Surface Pro (Intel)](microsoft/surface/surface-pro-intel) | `` | `microsoft-surface-surface-pro-intel` | -| [Microsoft Surface Laptop (AMD)](microsoft/surface/surface-laptop-amd) | `` | `microsoft-surface-surface-laptop-amd` | +| [Microsoft Surface Go](microsoft/surface/surface-go) | `` | `microsoft-surface-go` | +| [Microsoft Surface Pro (Intel)](microsoft/surface/surface-pro-intel) | `` | `microsoft-surface-pro-intel` | +| [Microsoft Surface Laptop (AMD)](microsoft/surface/surface-laptop-amd) | `` | `microsoft-surface-laptop-amd` | | [Microsoft Surface Range (Common Modules)](microsoft/surface/common) | `` | `microsoft-surface-common` | | [Microsoft Surface Pro 3](microsoft/surface-pro/3) | `` | `microsoft-surface-pro-3` | | [Microsoft Surface Pro 9](microsoft/surface-pro/9) | `` | `microsoft-surface-pro-9` | @@ -384,7 +384,7 @@ See code for all available configurations. | [Omen 15-en1007sa](omen/15-en1007sa) | `` | `omen-15-en1007sa` | | [Omen 15-en0002np](omen/15-en0002np) | `` | `omen-15-en0002np` | | [One-Netbook OneNetbook 4](onenetbook/4) | `` | `onenetbook-4` | -| [Panasonic Let's Note CF-LX4](panasonic/letsnote/cf-lx4) | `` | `panasonic-letsnote-cf-lx4` | +| [Panasonic Let's Note CF-LX4](panasonic/letsnote/cf-lx4) | `` | `letsnote-cf-lx4` | | [PC Engines APU](pcengines/apu) | `` | `pcengines-apu` | | [PINE64 Pinebook Pro](pine64/pinebook-pro/) | `` | `pine64-pinebook-pro` | | [PINE64 RockPro64](pine64/rockpro64/) | `` | `pine64-rockpro64` | diff --git a/flake.nix b/flake.nix index 729729dc..bb50521f 100644 --- a/flake.nix +++ b/flake.nix @@ -186,6 +186,7 @@ lenovo-legion-16achg6-nvidia = import ./lenovo/legion/16achg6/nvidia; lenovo-legion-16aph8 = import ./lenovo/legion/16aph8; lenovo-legion-16arha7 = import ./lenovo/legion/16arha7; + lenovo-legion-16iah7h = import ./lenovo/legion/16iah7h; lenovo-legion-16ithg6 = import ./lenovo/legion/16ithg6; lenovo-legion-16irx8h = import ./lenovo/legion/16irx8h; lenovo-legion-16irx9h = import ./lenovo/legion/16irx9h; @@ -270,8 +271,8 @@ lenovo-thinkpad-x1-extreme-gen4 = import ./lenovo/thinkpad/x1-extreme/gen4; lenovo-thinkpad-x1-nano = import ./lenovo/thinkpad/x1-nano; lenovo-thinkpad-x1-nano-gen1 = import ./lenovo/thinkpad/x1-nano/gen1; - lenovo-thinkpad-x13 = import ./lenovo/thinkpad/x13/intel; lenovo-thinkpad-x13-amd = import ./lenovo/thinkpad/x13/amd; + lenovo-thinkpad-x13-intel = import ./lenovo/thinkpad/x13/intel; lenovo-thinkpad-x13-yoga = import ./lenovo/thinkpad/x13/yoga; lenovo-thinkpad-x13-yoga-3th-gen = import ./lenovo/thinkpad/x13/yoga/3th-gen; lenovo-thinkpad-x13s = import ./lenovo/thinkpad/x13s; @@ -364,6 +365,7 @@ tuxedo-aura-15-gen1 = import ./tuxedo/aura/15/gen1; tuxedo-infinitybook-v4 = import ./tuxedo/infinitybook/v4; tuxedo-infinitybook-pro14-gen7 = import ./tuxedo/infinitybook/pro14/gen7; + tuxedo-infinitybook-pro14-gen9-amd = import ./tuxedo/infinitybook/pro14/gen9/amd; tuxedo-infinitybook-pro14-gen9-intel = import ./tuxedo/infinitybook/pro14/gen9/intel; tuxedo-pulse-14-gen3 = import ./tuxedo/pulse/14/gen3; tuxedo-pulse-15-gen2 = import ./tuxedo/pulse/15/gen2; From 2dbfb943a027f47552a8725f995e211c6a04c95f Mon Sep 17 00:00:00 2001 From: Ganga Ram Date: Mon, 1 Sep 2025 21:34:12 +0400 Subject: [PATCH 058/117] bsp update for imx8mp-evk Signed-off-by: Ganga Ram --- nxp/imx8mp-evk/bsp/imx8mp-atf.nix | 50 ++++++++------------------ nxp/imx8mp-evk/bsp/imx8mp-boot.nix | 5 +-- nxp/imx8mp-evk/bsp/imx8mp-firmware.nix | 4 +-- nxp/imx8mp-evk/bsp/imx8mp-linux.nix | 8 ++--- nxp/imx8mp-evk/bsp/imx8mp-optee-os.nix | 16 +++++---- nxp/imx8mp-evk/bsp/imx8mp-uboot.nix | 16 +++++---- 6 files changed, 41 insertions(+), 58 deletions(-) diff --git a/nxp/imx8mp-evk/bsp/imx8mp-atf.nix b/nxp/imx8mp-evk/bsp/imx8mp-atf.nix index a3ac8107..d2495097 100644 --- a/nxp/imx8mp-evk/bsp/imx8mp-atf.nix +++ b/nxp/imx8mp-evk/bsp/imx8mp-atf.nix @@ -1,59 +1,36 @@ { + pkgs, lib, fetchgit, - enable-tee, - stdenv, - buildPackages, - pkgsCross, - openssl, + buildArmTrustedFirmware, + enable-tee ? true, }: +with pkgs; let - opteedflag = if enable-tee then "SPD=opteed" else ""; target-board = "imx8mp"; + opteedflag = if enable-tee then "SPD=opteed" else ""; in -stdenv.mkDerivation rec { +buildArmTrustedFirmware rec { pname = "imx8mp-atf"; - version = "lf6.1.55_2.2.0"; platform = target-board; enableParallelBuilding = true; + extraMeta.platforms = [ "aarch64-linux" ]; src = fetchgit { url = "https://github.com/nxp-imx/imx-atf.git"; - rev = "08e9d4eef2262c0dd072b4325e8919e06d349e02"; - sha256 = "sha256-96EddJXlFEkP/LIGVgNBvUP4IDI3BbDE/c9Yub22gnc="; + rev = "6ddd57019494cabfca5065368349109c37f2cc9f"; + sha256 = "sha256-8+5kV6wHhwMYVA9aqn4fNRhvgOLsU9RlX3UL7edMM+A="; }; - depsBuildBuild = [ buildPackages.stdenv.cc ]; - - # For Cortex-M0 firmware in RK3399 - nativeBuildInputs = [ pkgsCross.arm-embedded.stdenv.cc ]; - - buildInputs = [ openssl ]; - - makeFlags = [ - "HOSTCC=$(CC_FOR_BUILD)" - "M0_CROSS_COMPILE=${pkgsCross.arm-embedded.stdenv.cc.targetPrefix}" - "CROSS_COMPILE=${stdenv.cc.targetPrefix}" - # binutils 2.39 regression - # `warning: /build/source/build/rk3399/release/bl31/bl31.elf has a LOAD segment with RWX permissions` - # See also: https://developer.trustedfirmware.org/T996 - "LDFLAGS=-no-warn-rwx-segments" + extraMakeFlags = [ "PLAT=${platform}" "bl31" "${opteedflag}" ]; - installPhase = '' - runHook preInstall - - mkdir -p $out - cp build/${target-board}/release/bl31.bin $out - - runHook postInstall - ''; - - hardeningDisable = [ "all" ]; - dontStrip = true; + filesToInstall = [ + "build/${target-board}/release/bl31.bin" + ]; meta = with lib; { homepage = "https://github.com/nxp-imx/imx-atf"; @@ -62,4 +39,5 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ gngram ]; platforms = [ "aarch64-linux" ]; }; + } diff --git a/nxp/imx8mp-evk/bsp/imx8mp-boot.nix b/nxp/imx8mp-evk/bsp/imx8mp-boot.nix index 8a74f500..a53600b9 100644 --- a/nxp/imx8mp-evk/bsp/imx8mp-boot.nix +++ b/nxp/imx8mp-evk/bsp/imx8mp-boot.nix @@ -15,8 +15,9 @@ let imx8mp-optee-os = pkgs.callPackage ./imx8mp-optee-os.nix { }; src = pkgs.fetchgit { url = "https://github.com/nxp-imx/imx-mkimage.git"; - rev = "c4365450fb115d87f245df2864fee1604d97c06a"; - sha256 = "sha256-KVIVHwBpAwd1RKy3RrYxGIniE45CDlN5RQTXsMg1Jwk="; + #tag: lf-6.12.20_2.0.0 + rev = "4c2e5b25232f5aa003976ddca9d1d2fb9667beb1"; + sha256 = "sha256-bXvM5Q0Fsb18gupw6/ub62/qNE7wGLaZKugp0URWeUk="; }; shortRev = builtins.substring 0 8 src.rev; in diff --git a/nxp/imx8mp-evk/bsp/imx8mp-firmware.nix b/nxp/imx8mp-evk/bsp/imx8mp-firmware.nix index 361257fb..c763d8cf 100644 --- a/nxp/imx8mp-evk/bsp/imx8mp-firmware.nix +++ b/nxp/imx8mp-evk/bsp/imx8mp-firmware.nix @@ -2,11 +2,11 @@ with pkgs; stdenv.mkDerivation rec { pname = "imx8mp-firmware"; - version = "8.22"; + version = "8.23"; src = pkgs.fetchurl { url = "https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-${version}.bin"; - sha256 = "sha256-lMi86sVuxQPCMuYU931rvY4Xx9qnHU5lHqj9UDTDA1A="; + sha256 = "sha256-/gdjMpXaw92Z8LpOB6fN6VuySinKgrmps/YCbSmukWo="; }; dontUnpack = true; diff --git a/nxp/imx8mp-evk/bsp/imx8mp-linux.nix b/nxp/imx8mp-evk/bsp/imx8mp-linux.nix index 70b8370a..86025f2a 100644 --- a/nxp/imx8mp-evk/bsp/imx8mp-linux.nix +++ b/nxp/imx8mp-evk/bsp/imx8mp-linux.nix @@ -3,7 +3,7 @@ with pkgs; buildLinux ( args // rec { - version = "6.1.55"; + version = "6.12.20"; name = "imx8mp-linux"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed @@ -47,9 +47,9 @@ buildLinux ( src = fetchFromGitHub { owner = "nxp-imx"; repo = "linux-imx"; - # tag: lf-6.1.55-2.2.0 - rev = "770c5fe2c1d1529fae21b7043911cd50c6cf087e"; - sha256 = "sha256-tIWt75RUrjB6KmUuAYBVyAC1dmVGSUAgqV5ROJh3xU0="; + # tag: lf-6.12.20-2.0.0 + rev = "dfaf2136deb2af2e60b994421281ba42f1c087e0"; + sha256 = "sha256-ITrmj3a5YfXh/PSRTi+Rlto5uEBIAWFWtkTsO1ATXIo="; }; } // (args.argsOverride or { }) diff --git a/nxp/imx8mp-evk/bsp/imx8mp-optee-os.nix b/nxp/imx8mp-evk/bsp/imx8mp-optee-os.nix index 4119efb1..4cdd5f5d 100644 --- a/nxp/imx8mp-evk/bsp/imx8mp-optee-os.nix +++ b/nxp/imx8mp-evk/bsp/imx8mp-optee-os.nix @@ -1,13 +1,13 @@ { pkgs }: let - python3 = pkgs.buildPackages.python3; - toolchain = pkgs.gcc9Stdenv.cc; - binutils = pkgs.gcc9Stdenv.cc.bintools.bintools_bin; + inherit (pkgs.buildPackages) python3; + toolchain = pkgs.gccStdenv.cc; + binutils = pkgs.gccStdenv.cc.bintools.bintools_bin; cpp = pkgs.gcc; in pkgs.stdenv.mkDerivation rec { pname = "imx8mp-optee-os"; - version = "lf-6.1.55-2.2.0"; + version = "lf-6.12.20-2.0.0"; nativeBuildInputs = [ python3 @@ -23,8 +23,8 @@ pkgs.stdenv.mkDerivation rec { src = pkgs.fetchgit { url = "https://github.com/nxp-imx/imx-optee-os.git"; - rev = "a303fc80f7c4bd713315687a1fa1d6ed136e78ee"; - sha256 = "sha256-OpyG812DX0c06bRZPKWB2cNu6gtZCOvewDhsKgrGB+s="; + rev = "87964807d80baf1dcfd89cafc66de34a1cf16bf3"; + sha256 = "sha256-AMZUMgmmyi5l3BMT84uubwjU0lwNObs9XW6ZCbqfhmc="; }; postPatch = '' @@ -35,7 +35,9 @@ pkgs.stdenv.mkDerivation rec { substituteInPlace scripts/pem_to_pub_c.py \ --replace '/usr/bin/env python3' '${python3}/bin/python' substituteInPlace ta/pkcs11/scripts/verify-helpers.sh \ - --replace '/bin/bash' '${pkgs.bash}/bin/bash' + --replace '/usr/bin/env bash' '${pkgs.bash}/bin/bash' + substituteInPlace ta/pkcs11/scripts/dump_ec_curve_params.sh \ + --replace '/usr/bin/env bash' '${pkgs.bash}/bin/bash' substituteInPlace mk/gcc.mk \ --replace "\$(CROSS_COMPILE_\$(sm))objcopy" ${binutils}/bin/${toolchain.targetPrefix}objcopy substituteInPlace mk/gcc.mk \ diff --git a/nxp/imx8mp-evk/bsp/imx8mp-uboot.nix b/nxp/imx8mp-evk/bsp/imx8mp-uboot.nix index 14586d47..582cb70b 100644 --- a/nxp/imx8mp-evk/bsp/imx8mp-uboot.nix +++ b/nxp/imx8mp-evk/bsp/imx8mp-uboot.nix @@ -12,18 +12,19 @@ which, perl, buildPackages, + efitools, }: let ubsrc = fetchgit { url = "https://github.com/nxp-imx/uboot-imx.git"; - # tag: "lf-6.1.55-2.2.0" - rev = "49b102d98881fc28af6e0a8af5ea2186c1d90a5f"; - sha256 = "sha256-1j6X82DqezEizeWoSS600XKPNwrQ4yT0vZuUImKAVVA="; + # tag: lf-6.12.20-2.0.0 + rev = "9383f8387dc76524524da69992db96c22195a57c"; + sha256 = "sha256-httRSwN8NiKOdL7fZEvN/4AbypGQfegYtJgxKIea+Zg="; }; in -(stdenv.mkDerivation { +stdenv.mkDerivation { pname = "imx8mp-uboot"; - version = "2023.04"; + version = "2025.04"; src = ubsrc; postPatch = '' @@ -41,6 +42,7 @@ in gnutls openssl perl + efitools ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -81,11 +83,11 @@ in mkdir -p $out cp ./u-boot-nodtb.bin $out cp ./spl/u-boot-spl.bin $out - cp ./arch/arm/dts/imx8mp-evk.dtb $out + cp ./dts/upstream/src/arm64/freescale/imx8mp-evk.dtb $out cp .config $out runHook postInstall ''; dontStrip = true; -}) +} From 4a395855464bd8740cff5d6b3be5b5a57d5a5013 Mon Sep 17 00:00:00 2001 From: cassis163 Date: Wed, 16 Jul 2025 22:37:38 +0200 Subject: [PATCH 059/117] Add HP ProBook 460 G11 --- flake.nix | 1 + hp/probook/460G11/default.nix | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 hp/probook/460G11/default.nix diff --git a/flake.nix b/flake.nix index 729729dc..e7a496c4 100644 --- a/flake.nix +++ b/flake.nix @@ -156,6 +156,7 @@ hp-elitebook-845g8 = import ./hp/elitebook/845/g8; hp-elitebook-845g9 = import ./hp/elitebook/845/g9; hp-probook-440G5 = import ./hp/probook/440G5; + hp-probook-460G11 = import ./hp/probook/460G11; hp-laptop-14s-dq2024nf = import ./hp/laptop/14s-dq2024nf; huawei-machc-wa = import ./huawei/machc-wa; hp-notebook-14-df0023 = import ./hp/notebook/14-df0023; diff --git a/hp/probook/460G11/default.nix b/hp/probook/460G11/default.nix new file mode 100644 index 00000000..050be84b --- /dev/null +++ b/hp/probook/460G11/default.nix @@ -0,0 +1,14 @@ +{ config, lib, ... }: + +{ + imports = [ + ../../../common/cpu/intel/meteor-lake + ../../../common/pc + ../../../common/pc/laptop + ../../../common/pc/ssd + ]; + + config = { + services.thermald.enable = lib.mkDefault true; + }; +} From 4091b501aa0953259197f588bb89019a506936f3 Mon Sep 17 00:00:00 2001 From: caangeenbrug-fvt Date: Fri, 25 Jul 2025 08:15:40 +0200 Subject: [PATCH 060/117] Add HP ProBook 460 G11 to hardware table in /README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a0c5d094..9c9a0812 100644 --- a/README.md +++ b/README.md @@ -223,6 +223,7 @@ See code for all available configurations. | [HP Laptop 14s-dq2024nf](hp/laptop/14s-dq2024nf) | `` | `hp-laptop-14s-dq2024nf` | | [HP Notebook 14-df0023](hp/notebook/14-df0023) | `` | `hp-notebook-14-df0023` | | [HP Probook 440G5](hp/probook/440g5) | `` | `hp-probook-440G5` | +| [HP Probook 460G11](hp/probook/460g11) | `` | `hp-probook-46011` | | [Huawei Matebook X Pro (2020)](huawei/machc-wa) | `` | `huawei-machc-wa` | | [i.MX8QuadMax Multisensory Enablement Kit](nxp/imx8qm-mek/) | `` | `nxp-imx8qm-mek` | | [Intel NUC 5i5RYB](intel/nuc/5i5ryb/) | `` | `intel-nuc-5i5ryb` | From d9b0f10475074fb58ea1bbc13c8d754f82dc41a9 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Mon, 18 Aug 2025 21:40:57 -0700 Subject: [PATCH 061/117] Add Fydetab Duo --- README.md | 1 + flake.nix | 1 + fydetab/duo/README.md | 17 + fydetab/duo/ap6275p.nix | 43 + fydetab/duo/brcm-patchram.nix | 44 + fydetab/duo/config | 9549 ++++++++++++++++++++++++ fydetab/duo/config.nix | 28 + fydetab/duo/default.nix | 129 + fydetab/duo/himax.nix | 34 + fydetab/duo/kernel.nix | 18 + fydetab/duo/mali-g610.nix | 35 + fydetab/duo/u-boot.nix | 98 + fydetab/duo/uboot-remove-sig-req.patch | 11 + 13 files changed, 10008 insertions(+) create mode 100644 fydetab/duo/README.md create mode 100644 fydetab/duo/ap6275p.nix create mode 100644 fydetab/duo/brcm-patchram.nix create mode 100644 fydetab/duo/config create mode 100644 fydetab/duo/config.nix create mode 100644 fydetab/duo/default.nix create mode 100644 fydetab/duo/himax.nix create mode 100644 fydetab/duo/kernel.nix create mode 100644 fydetab/duo/mali-g610.nix create mode 100644 fydetab/duo/u-boot.nix create mode 100644 fydetab/duo/uboot-remove-sig-req.patch diff --git a/README.md b/README.md index 7a774cf0..b3bbdbca 100644 --- a/README.md +++ b/README.md @@ -202,6 +202,7 @@ See code for all available configurations. | [FriendlyARM NanoPC-T4](friendlyarm/nanopc-t4) | `` | `friendlyarm-nanopc-t4` | | [FriendlyARM NanoPi R5s](friendlyarm/nanopi-r5s) | `` | `friendlyarm-nanopi-r5s` | | [Focus M2 Gen 1](focus/m2/gen1) | `` | `focus-m2-gen1` | +| [Fydetab Duo](fydetab/duo) | `` | `fydetab-duo` | | [Gigabyte B550](gigabyte/b550) | `` | `gigabyte-b550` | | [Gigabyte B650](gigabyte/b650) | `` | `gigabyte-b650` | | [GMKtec NucBox G3 Plus](gmktec/nucbox/g3-plus) | `` | `gmktec-nucbox-g3-plus` | diff --git a/flake.nix b/flake.nix index 3cd9e355..47fdf34e 100644 --- a/flake.nix +++ b/flake.nix @@ -137,6 +137,7 @@ friendlyarm-nanopc-t4 = import ./friendlyarm/nanopc-t4; friendlyarm-nanopi-r5s = import ./friendlyarm/nanopi-r5s; focus-m2-gen1 = import ./focus/m2/gen1; + fydetab-duo = import ./fydetab/duo; gigabyte-b550 = import ./gigabyte/b550; gigabyte-b650 = import ./gigabyte/b650; gmktec-nucbox-g3-plus = import ./gmktec/nucbox/g3-plus; diff --git a/fydetab/duo/README.md b/fydetab/duo/README.md new file mode 100644 index 00000000..f96960d1 --- /dev/null +++ b/fydetab/duo/README.md @@ -0,0 +1,17 @@ +# Fydetab Duo + +The Fydetab Duo is an open source and hackable tablet by FydeOS. + +## Features + +- Display: **works** +- GPU driver: **not working** +- WiFi: **working** +- Cellular: **untested** +- SD card: **untested** +- Sound: **untested** +- Fingerprint: **untested** + +## Flashing + +Flashing requires `rkdeveloptool` and using it to write the new bootloader and eMMC image. To flash, press and hold the mask rom button on the board. Ensure a USB C cable is already plugged into the host computer. Run `nix build .#nixosConfigurations..config.hardware.rockchip.platformFirmware` and then use `rkdeveloptool ul result/rk3588_spl_loader_v1.18.113.bin`. The NixOS image can then be downloaded using `rkdeveloptool wl 0`, it is recommended to use the disko image configuration which is provided. diff --git a/fydetab/duo/ap6275p.nix b/fydetab/duo/ap6275p.nix new file mode 100644 index 00000000..fbb14b57 --- /dev/null +++ b/fydetab/duo/ap6275p.nix @@ -0,0 +1,43 @@ +{ + lib, + stdenv, + fetchFromGitHub, +}: +stdenv.mkDerivation (_finalAttrs: { + pname = "ap6275p-firmware"; + version = "2023-11-05"; + + src = fetchFromGitHub { + owner = "Joshua-Riek"; + repo = "firmware"; + rev = "621ac45f5d931522bc08b51b995b938778973d2a"; + hash = "sha256-ksAOxZTnEka9SirHYxroLMbKi+99FY72X2z1pJhgYnY="; + }; + + compressFirmware = false; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib/firmware/ap6275p + install -m644 ap6275p/BCM4362A2.hcd $out/lib/firmware/ap6275p/ + install -m644 ap6275p/clm_bcm43752a2_pcie_ag.blob $out/lib/firmware/ap6275p/ + install -m644 ap6275p/fw_bcm43752a2_pcie_ag.bin $out/lib/firmware/ap6275p/ + install -m644 ap6275p/nvram_AP6275P.txt $out/lib/firmware/ap6275p/ + install -m644 ap6275p/config.txt $out/lib/firmware/ap6275p/ + + mv $out/lib/firmware/ap6275p/nvram_AP6275P.txt $out/lib/firmware/ap6275p/nvram_ap6275p.txt + mv $out/lib/firmware/ap6275p/config.txt $out/lib/firmware/ap6275p/config_bcm43752a2_pcie_ag.txt + + runHook postInstall + ''; + + meta = { + description = "Firmware for the AP6275P WiFi/Bluetooth module"; + homepage = "https://github.com/Joshua-Riek/firmware"; + license = lib.licenses.unfree; + }; +}) diff --git a/fydetab/duo/brcm-patchram.nix b/fydetab/duo/brcm-patchram.nix new file mode 100644 index 00000000..6c44146d --- /dev/null +++ b/fydetab/duo/brcm-patchram.nix @@ -0,0 +1,44 @@ +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, +}: +stdenv.mkDerivation (_finalAttrs: { + pname = "brcm-patchram-plus"; + version = "2024-08-23"; + + src = fetchurl { + url = "https://github.com/Linux-for-Fydetab-Duo/pkgbuilds/raw/fd5ebe4914f32c5a1c4fc15b4fb5a62bad2da1ea/fydetabduo-post-install/brcm_patchram_plus"; + hash = "sha256-fZ1ximZcosZDYbveEkyMnasLWpcifaZ5CKz7QKtqKZQ="; + }; + + nativeBuildInputs = [ + autoPatchelfHook + ]; + + unpackPhase = '' + runHook preUnpack + cp --no-preserve=ownership,mode $src brcm_patchram_plus + chmod +x brcm_patchram_plus + runHook postUnpack + ''; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + cp brcm_patchram_plus $out/bin + autoPatchelf $out/bin/brcm_patchram_plus + + runHook postInstall + ''; + + meta = { + license = lib.licenses.unfree; + mainProgram = "brcm_patchram_plus"; + }; +}) diff --git a/fydetab/duo/config b/fydetab/duo/config new file mode 100644 index 00000000..2b343df4 --- /dev/null +++ b/fydetab/duo/config @@ -0,0 +1,9549 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm64 6.1.75-rkr3 Kernel Configuration +# +CONFIG_CC_VERSION_TEXT="gcc (GCC) 14.1.1 20240507" +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=140101 +CONFIG_CLANG_VERSION=0 +CONFIG_AS_IS_GNU=y +CONFIG_AS_VERSION=24200 +CONFIG_LD_IS_BFD=y +CONFIG_LD_VERSION=24200 +CONFIG_LLD_VERSION=0 +CONFIG_CC_CAN_LINK=y +CONFIG_CC_CAN_LINK_STATIC=y +CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y +CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y +CONFIG_CC_HAS_ASM_INLINE=y +CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y +CONFIG_PAHOLE_VERSION=0 +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_TABLE_SORT=y +CONFIG_THREAD_INFO_IN_TASK=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +# CONFIG_COMPILE_TEST is not set +CONFIG_WERROR=y +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_BUILD_SALT="" +CONFIG_DEFAULT_INIT="" +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_VERSION_SIGNATURE="" +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_SYSVIPC_COMPAT=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +# CONFIG_WATCH_QUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_USELIB is not set +CONFIG_AUDIT=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_SIM=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_GENERIC_IRQ_IPI=y +CONFIG_GENERIC_MSI_IRQ=y +CONFIG_GENERIC_MSI_IRQ_DOMAIN=y +CONFIG_IRQ_MSI_IOMMU=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +# end of IRQ subsystem + +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y +CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y +CONFIG_CONTEXT_TRACKING=y +CONFIG_CONTEXT_TRACKING_IDLE=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +# end of Timers subsystem + +CONFIG_BPF=y +CONFIG_HAVE_EBPF_JIT=y +CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y + +# +# BPF subsystem +# +CONFIG_BPF_SYSCALL=y +CONFIG_BPF_JIT=y +# CONFIG_BPF_JIT_ALWAYS_ON is not set +CONFIG_BPF_JIT_DEFAULT_ON=y +# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set +CONFIG_USERMODE_DRIVER=y +# CONFIG_BPF_PRELOAD is not set +# CONFIG_BPF_LSM is not set +# end of BPF subsystem + +CONFIG_PREEMPT_VOLUNTARY_BUILD=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +# CONFIG_PREEMPT is not set +# CONFIG_PREEMPT_DYNAMIC is not set + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +CONFIG_SCHED_THERMAL_PRESSURE=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_PSI=y +# CONFIG_PSI_DEFAULT_DISABLED is not set +# end of CPU/Task time and stats accounting + +CONFIG_CPU_ISOLATION=y + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +CONFIG_TREE_SRCU=y +CONFIG_TASKS_RCU_GENERIC=y +CONFIG_TASKS_RUDE_RCU=y +CONFIG_TASKS_TRACE_RCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_RCU_NEED_SEGCBLIST=y +# end of RCU Subsystem + +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +# CONFIG_IKHEADERS is not set +CONFIG_LOG_BUF_SHIFT=18 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +# CONFIG_PRINTK_INDEX is not set +CONFIG_GENERIC_SCHED_CLOCK=y + +# +# Scheduler features +# +CONFIG_UCLAMP_TASK=y +CONFIG_UCLAMP_BUCKETS_COUNT=20 +# end of Scheduler features + +CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y +CONFIG_CC_HAS_INT128=y +CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" +CONFIG_GCC11_NO_ARRAY_BOUNDS=y +CONFIG_CC_NO_ARRAY_BOUNDS=y +CONFIG_ARCH_SUPPORTS_INT128=y +CONFIG_CGROUPS=y +CONFIG_PAGE_COUNTER=y +# CONFIG_CGROUP_FAVOR_DYNMODS is not set +CONFIG_MEMCG=y +CONFIG_MEMCG_KMEM=y +CONFIG_BLK_CGROUP=y +CONFIG_CGROUP_WRITEBACK=y +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +# CONFIG_RT_GROUP_SCHED is not set +CONFIG_UCLAMP_TASK_GROUP=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_RDMA=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_HUGETLB=y +CONFIG_CPUSETS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_CGROUP_PERF=y +CONFIG_CGROUP_BPF=y +# CONFIG_CGROUP_MISC is not set +# CONFIG_CGROUP_DEBUG is not set +CONFIG_SOCK_CGROUP_DATA=y +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_TIME_NS=y +CONFIG_IPC_NS=y +CONFIG_USER_NS=y +CONFIG_PID_NS=y +CONFIG_NET_NS=y +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_SCHED_AUTOGROUP=y +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +CONFIG_RD_ZSTD=y +# CONFIG_BOOT_CONFIG is not set +CONFIG_INITRAMFS_PRESERVE_MTIME=y +# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_LD_ORPHAN_WARN=y +CONFIG_SYSCTL=y +CONFIG_HAVE_UID16=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_EXPERT=y +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +CONFIG_FHANDLE=y +CONFIG_POSIX_TIMERS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_IO_URING=y +CONFIG_ADVISE_SYSCALLS=y +CONFIG_MEMBARRIER=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_KALLSYMS_BASE_RELATIVE=y +CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +CONFIG_KCMP=y +CONFIG_RSEQ=y +# CONFIG_DEBUG_RSEQ is not set +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_GUEST_PERF_EVENTS=y +# CONFIG_PC104 is not set + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +# end of Kernel Performance Events And Counters + +CONFIG_SYSTEM_DATA_VERIFICATION=y +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +# end of General setup + +CONFIG_ARM64=y +CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_64BIT=y +CONFIG_MMU=y +CONFIG_ARM64_PAGE_SHIFT=12 +CONFIG_ARM64_CONT_PTE_SHIFT=4 +CONFIG_ARM64_CONT_PMD_SHIFT=4 +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=33 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y +CONFIG_SMP=y +CONFIG_KERNEL_MODE_NEON=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_PGTABLE_LEVELS=4 +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_ARCH_PROC_KCORE_TEXT=y + +# +# Platform selection +# +# CONFIG_ARCH_ACTIONS is not set +# CONFIG_ARCH_SUNXI is not set +# CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_APPLE is not set +# CONFIG_ARCH_BCM is not set +# CONFIG_ARCH_BERLIN is not set +# CONFIG_ARCH_BITMAIN is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_SPARX5 is not set +# CONFIG_ARCH_K3 is not set +# CONFIG_ARCH_LG1K is not set +# CONFIG_ARCH_HISI is not set +# CONFIG_ARCH_KEEMBAY is not set +# CONFIG_ARCH_MEDIATEK is not set +# CONFIG_ARCH_MESON is not set +# CONFIG_ARCH_MVEBU is not set +# CONFIG_ARCH_NXP is not set +# CONFIG_ARCH_NPCM is not set +# CONFIG_ARCH_QCOM is not set +# CONFIG_ARCH_REALTEK is not set +# CONFIG_ARCH_RENESAS is not set +CONFIG_ARCH_ROCKCHIP=y +# CONFIG_ARCH_SEATTLE is not set +# CONFIG_ARCH_INTEL_SOCFPGA is not set +# CONFIG_ARCH_SYNQUACER is not set +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_SPRD is not set +# CONFIG_ARCH_THUNDER is not set +# CONFIG_ARCH_THUNDER2 is not set +# CONFIG_ARCH_UNIPHIER is not set +# CONFIG_ARCH_VEXPRESS is not set +# CONFIG_ARCH_VISCONTI is not set +# CONFIG_ARCH_XGENE is not set +# CONFIG_ARCH_ZYNQMP is not set +# end of Platform selection + +# +# Kernel Features +# + +# +# ARM errata workarounds via the alternatives framework +# +CONFIG_AMPERE_ERRATUM_AC03_CPU_38=y +# CONFIG_ARM64_ERRATUM_826319 is not set +# CONFIG_ARM64_ERRATUM_827319 is not set +# CONFIG_ARM64_ERRATUM_824069 is not set +# CONFIG_ARM64_ERRATUM_819472 is not set +# CONFIG_ARM64_ERRATUM_832075 is not set +CONFIG_ARM64_ERRATUM_834220=y +CONFIG_ARM64_ERRATUM_1742098=y +CONFIG_ARM64_ERRATUM_845719=y +CONFIG_ARM64_ERRATUM_843419=y +CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y +CONFIG_ARM64_ERRATUM_1024718=y +CONFIG_ARM64_ERRATUM_1418040=y +CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y +CONFIG_ARM64_ERRATUM_1165522=y +CONFIG_ARM64_ERRATUM_1319367=y +CONFIG_ARM64_ERRATUM_1530923=y +CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y +CONFIG_ARM64_ERRATUM_2441007=y +CONFIG_ARM64_ERRATUM_1286807=y +CONFIG_ARM64_ERRATUM_1463225=y +CONFIG_ARM64_ERRATUM_1542419=y +CONFIG_ARM64_ERRATUM_1508412=y +# CONFIG_ARM64_ERRATUM_2051678 is not set +CONFIG_ARM64_ERRATUM_2077057=y +CONFIG_ARM64_ERRATUM_2658417=y +CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y +CONFIG_ARM64_ERRATUM_2054223=y +CONFIG_ARM64_ERRATUM_2067961=y +CONFIG_ARM64_ERRATUM_2441009=y +CONFIG_ARM64_ERRATUM_2457168=y +CONFIG_ARM64_ERRATUM_2966298=y +# CONFIG_CAVIUM_ERRATUM_22375 is not set +# CONFIG_CAVIUM_ERRATUM_23154 is not set +CONFIG_CAVIUM_ERRATUM_27456=y +CONFIG_CAVIUM_ERRATUM_30115=y +CONFIG_CAVIUM_TX2_ERRATUM_219=y +CONFIG_FUJITSU_ERRATUM_010001=y +CONFIG_HISILICON_ERRATUM_161600802=y +CONFIG_QCOM_FALKOR_ERRATUM_1003=y +CONFIG_QCOM_FALKOR_ERRATUM_1009=y +CONFIG_QCOM_QDF2400_ERRATUM_0065=y +CONFIG_QCOM_FALKOR_ERRATUM_E1041=y +CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y +CONFIG_SOCIONEXT_SYNQUACER_PREITS=y +# end of ARM errata workarounds via the alternatives framework + +CONFIG_ARM64_4K_PAGES=y +# CONFIG_ARM64_16K_PAGES is not set +# CONFIG_ARM64_64K_PAGES is not set +# CONFIG_ARM64_VA_BITS_39 is not set +CONFIG_ARM64_VA_BITS_48=y +CONFIG_ARM64_VA_BITS=48 +CONFIG_ARM64_PA_BITS_48=y +CONFIG_ARM64_PA_BITS=48 +# CONFIG_CPU_BIG_ENDIAN is not set +CONFIG_CPU_LITTLE_ENDIAN=y +CONFIG_SCHED_MC=y +# CONFIG_SCHED_CLUSTER is not set +# CONFIG_SCHED_SMT is not set +CONFIG_NR_CPUS=8 +CONFIG_HOTPLUG_CPU=y +# CONFIG_NUMA is not set +# CONFIG_HZ_100 is not set +# CONFIG_HZ_250 is not set +CONFIG_HZ_300=y +# CONFIG_HZ_1000 is not set +CONFIG_HZ=300 +CONFIG_SCHED_HRTICK=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_CC_HAVE_SHADOW_CALL_STACK=y +# CONFIG_PARAVIRT is not set +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +# CONFIG_KEXEC is not set +# CONFIG_KEXEC_FILE is not set +# CONFIG_CRASH_DUMP is not set +CONFIG_TRANS_TABLE=y +# CONFIG_XEN is not set +CONFIG_ARCH_FORCE_MAX_ORDER=11 +CONFIG_UNMAP_KERNEL_AT_EL0=y +CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y +CONFIG_RODATA_FULL_DEFAULT_ENABLED=y +# CONFIG_ARM64_SW_TTBR0_PAN is not set +CONFIG_ARM64_TAGGED_ADDR_ABI=y +CONFIG_COMPAT=y +CONFIG_KUSER_HELPERS=y +# CONFIG_COMPAT_ALIGNMENT_FIXUPS is not set +CONFIG_ARMV8_DEPRECATED=y +CONFIG_SWP_EMULATION=y +CONFIG_CP15_BARRIER_EMULATION=y +CONFIG_SETEND_EMULATION=y + +# +# ARMv8.1 architectural features +# +CONFIG_ARM64_HW_AFDBM=y +CONFIG_ARM64_PAN=y +CONFIG_AS_HAS_LDAPR=y +CONFIG_AS_HAS_LSE_ATOMICS=y +# end of ARMv8.1 architectural features + +# +# ARMv8.2 architectural features +# +CONFIG_AS_HAS_ARMV8_2=y +CONFIG_AS_HAS_SHA3=y +# CONFIG_ARM64_PMEM is not set +CONFIG_ARM64_RAS_EXTN=y +CONFIG_ARM64_CNP=y +# end of ARMv8.2 architectural features + +# +# ARMv8.3 architectural features +# +CONFIG_ARM64_PTR_AUTH=y +CONFIG_ARM64_PTR_AUTH_KERNEL=y +CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y +CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y +CONFIG_AS_HAS_PAC=y +CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y +# end of ARMv8.3 architectural features + +# +# ARMv8.4 architectural features +# +CONFIG_ARM64_AMU_EXTN=y +CONFIG_AS_HAS_ARMV8_4=y +CONFIG_ARM64_TLB_RANGE=y +# end of ARMv8.4 architectural features + +# +# ARMv8.5 architectural features +# +CONFIG_AS_HAS_ARMV8_5=y +CONFIG_ARM64_BTI=y +CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y +CONFIG_ARM64_E0PD=y +CONFIG_ARM64_AS_HAS_MTE=y +CONFIG_ARM64_MTE=y +# end of ARMv8.5 architectural features + +# +# ARMv8.7 architectural features +# +CONFIG_ARM64_EPAN=y +# end of ARMv8.7 architectural features + +CONFIG_ARM64_SVE=y +CONFIG_ARM64_SME=y +CONFIG_ARM64_MODULE_PLTS=y +CONFIG_ARM64_PSEUDO_NMI=y +# CONFIG_ARM64_DEBUG_PRIORITY_MASKING is not set +CONFIG_RELOCATABLE=y +CONFIG_RANDOMIZE_BASE=y +CONFIG_RANDOMIZE_MODULE_REGION_FULL=y +CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y +CONFIG_STACKPROTECTOR_PER_TASK=y +CONFIG_ARCH_NR_GPIO=0 +# end of Kernel Features + +# +# Boot options +# +CONFIG_CMDLINE="" +CONFIG_EFI_STUB=y +CONFIG_EFI=y +CONFIG_DMI=y +# end of Boot options + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_HIBERNATE_CALLBACKS=y +CONFIG_HIBERNATION=y +CONFIG_HIBERNATION_SNAPSHOT_DEV=y +CONFIG_PM_STD_PARTITION="" +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_USERSPACE_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +CONFIG_PM_DEBUG=y +CONFIG_PM_ADVANCED_DEBUG=y +# CONFIG_PM_TEST_SUSPEND is not set +CONFIG_PM_SLEEP_DEBUG=y +# CONFIG_DPM_WATCHDOG is not set +CONFIG_PM_CLK=y +CONFIG_PM_GENERIC_DOMAINS=y +CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y +CONFIG_PM_GENERIC_DOMAINS_SLEEP=y +CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_CPU_PM=y +CONFIG_ENERGY_MODEL=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_HIBERNATION_HEADER=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# end of Power management options + +# +# CPU Power Management +# + +# +# CPU Idle +# +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y +# CONFIG_CPU_IDLE_GOV_LADDER is not set +CONFIG_CPU_IDLE_GOV_MENU=y +# CONFIG_CPU_IDLE_GOV_TEO is not set +CONFIG_DT_IDLE_STATES=y +CONFIG_DT_IDLE_GENPD=y + +# +# ARM CPU Idle Drivers +# +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y +# end of ARM CPU Idle Drivers +# end of CPU Idle + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_ATTR_SET=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +# CONFIG_CPU_FREQ_GOV_INTERACTIVE is not set + +# +# CPU frequency scaling drivers +# +CONFIG_CPUFREQ_DT=y +CONFIG_ARM_ROCKCHIP_CPUFREQ=y +# CONFIG_ARM_SCMI_CPUFREQ is not set +# end of CPU Frequency scaling +# end of CPU Power Management + +CONFIG_ARCH_SUPPORTS_ACPI=y +# CONFIG_ACPI is not set +CONFIG_IRQ_BYPASS_MANAGER=y +CONFIG_HAVE_KVM=y +CONFIG_HAVE_KVM_IRQCHIP=y +CONFIG_HAVE_KVM_IRQFD=y +CONFIG_HAVE_KVM_IRQ_ROUTING=y +CONFIG_HAVE_KVM_EVENTFD=y +CONFIG_KVM_MMIO=y +CONFIG_HAVE_KVM_MSI=y +CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y +CONFIG_KVM_VFIO=y +CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL=y +CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y +CONFIG_HAVE_KVM_IRQ_BYPASS=y +CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE=y +CONFIG_KVM_XFER_TO_GUEST_WORK=y +CONFIG_VIRTUALIZATION=y +CONFIG_KVM=y +# CONFIG_NVHE_EL2_DEBUG is not set + +# +# General architecture-dependent options +# +CONFIG_ARCH_HAS_SUBPAGE_FAULTS=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +CONFIG_UPROBES=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y +CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y +CONFIG_HAVE_NMI=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_KEEPINITRD=y +CONFIG_ARCH_HAS_SET_MEMORY=y +CONFIG_ARCH_HAS_SET_DIRECT_MAP=y +CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y +CONFIG_ARCH_WANTS_NO_INSTR=y +CONFIG_HAVE_ASM_MODVERSIONS=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_RSEQ=y +CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y +CONFIG_MMU_GATHER_TABLE_FREE=y +CONFIG_MMU_GATHER_RCU_TABLE_FREE=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y +CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y +CONFIG_HAVE_CMPXCHG_LOCAL=y +CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_SECCOMP=y +CONFIG_SECCOMP_FILTER=y +# CONFIG_SECCOMP_CACHE_DEBUG is not set +CONFIG_HAVE_ARCH_STACKLEAK=y +CONFIG_HAVE_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR_STRONG=y +CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y +# CONFIG_SHADOW_CALL_STACK is not set +CONFIG_ARCH_SUPPORTS_LTO_CLANG=y +CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y +CONFIG_LTO_NONE=y +CONFIG_ARCH_SUPPORTS_CFI_CLANG=y +CONFIG_HAVE_CONTEXT_TRACKING_USER=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_MOVE_PUD=y +CONFIG_HAVE_MOVE_PMD=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y +CONFIG_HAVE_ARCH_HUGE_VMAP=y +CONFIG_HAVE_ARCH_HUGE_VMALLOC=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_RELA=y +CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y +CONFIG_SOFTIRQ_ON_OWN_STACK=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y +CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11 +CONFIG_PAGE_SIZE_LESS_THAN_64KB=y +CONFIG_PAGE_SIZE_LESS_THAN_256KB=y +CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_COMPAT_OLD_SIGACTION=y +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_HAVE_ARCH_VMAP_STACK=y +CONFIG_VMAP_STACK=y +CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y +CONFIG_RANDOMIZE_KSTACK_OFFSET=y +# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set +CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y +CONFIG_STRICT_KERNEL_RWX=y +CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y +CONFIG_STRICT_MODULE_RWX=y +CONFIG_HAVE_ARCH_COMPILER_H=y +CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y +CONFIG_ARCH_USE_MEMREMAP_PROT=y +# CONFIG_LOCK_EVENT_COUNTS is not set +CONFIG_ARCH_HAS_RELR=y +CONFIG_HAVE_PREEMPT_DYNAMIC=y +CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y +CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y +CONFIG_ARCH_HAVE_TRACE_MMIO_ACCESS=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +# end of GCOV-based kernel profiling + +CONFIG_HAVE_GCC_PLUGINS=y +CONFIG_GCC_PLUGINS=y +# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set +# end of General architecture-dependent options + +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set +CONFIG_MODVERSIONS=y +CONFIG_ASM_MODVERSIONS=y +CONFIG_MODULE_SRCVERSION_ALL=y +# CONFIG_MODULE_SIG is not set +CONFIG_MODULE_COMPRESS_NONE=y +# CONFIG_MODULE_COMPRESS_GZIP is not set +# CONFIG_MODULE_COMPRESS_XZ is not set +# CONFIG_MODULE_COMPRESS_ZSTD is not set +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +CONFIG_MODPROBE_PATH="/sbin/modprobe" +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_BLOCK_LEGACY_AUTOLOAD=y +CONFIG_BLK_CGROUP_RWSTAT=y +CONFIG_BLK_DEV_BSG_COMMON=y +CONFIG_BLK_DEV_BSGLIB=y +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_ZONED is not set +CONFIG_BLK_DEV_THROTTLING=y +# CONFIG_BLK_DEV_THROTTLING_LOW is not set +# CONFIG_BLK_WBT is not set +# CONFIG_BLK_CGROUP_IOLATENCY is not set +# CONFIG_BLK_CGROUP_FC_APPID is not set +# CONFIG_BLK_CGROUP_IOCOST is not set +# CONFIG_BLK_CGROUP_IOPRIO is not set +CONFIG_BLK_DEBUG_FS=y +# CONFIG_BLK_SED_OPAL is not set +# CONFIG_BLK_INLINE_ENCRYPTION is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +CONFIG_AIX_PARTITION=y +CONFIG_OSF_PARTITION=y +CONFIG_AMIGA_PARTITION=y +CONFIG_ATARI_PARTITION=y +CONFIG_MAC_PARTITION=y +CONFIG_MSDOS_PARTITION=y +CONFIG_BSD_DISKLABEL=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_LDM_PARTITION=y +# CONFIG_LDM_DEBUG is not set +CONFIG_SGI_PARTITION=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_SUN_PARTITION=y +CONFIG_KARMA_PARTITION=y +CONFIG_EFI_PARTITION=y +CONFIG_SYSV68_PARTITION=y +CONFIG_CMDLINE_PARTITION=y +# end of Partition Types + +CONFIG_BLOCK_COMPAT=y +CONFIG_BLK_MQ_PCI=y +CONFIG_BLK_MQ_VIRTIO=y +CONFIG_BLK_PM=y +CONFIG_BLOCK_HOLDER_DEPRECATED=y +CONFIG_BLK_MQ_STACKING=y + +# +# IO Schedulers +# +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=y +# CONFIG_IOSCHED_BFQ is not set +# end of IO Schedulers + +CONFIG_PREEMPT_NOTIFIERS=y +CONFIG_ASN1=y +CONFIG_ARCH_INLINE_SPIN_TRYLOCK=y +CONFIG_ARCH_INLINE_SPIN_TRYLOCK_BH=y +CONFIG_ARCH_INLINE_SPIN_LOCK=y +CONFIG_ARCH_INLINE_SPIN_LOCK_BH=y +CONFIG_ARCH_INLINE_SPIN_LOCK_IRQ=y +CONFIG_ARCH_INLINE_SPIN_LOCK_IRQSAVE=y +CONFIG_ARCH_INLINE_SPIN_UNLOCK=y +CONFIG_ARCH_INLINE_SPIN_UNLOCK_BH=y +CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE=y +CONFIG_ARCH_INLINE_READ_LOCK=y +CONFIG_ARCH_INLINE_READ_LOCK_BH=y +CONFIG_ARCH_INLINE_READ_LOCK_IRQ=y +CONFIG_ARCH_INLINE_READ_LOCK_IRQSAVE=y +CONFIG_ARCH_INLINE_READ_UNLOCK=y +CONFIG_ARCH_INLINE_READ_UNLOCK_BH=y +CONFIG_ARCH_INLINE_READ_UNLOCK_IRQ=y +CONFIG_ARCH_INLINE_READ_UNLOCK_IRQRESTORE=y +CONFIG_ARCH_INLINE_WRITE_LOCK=y +CONFIG_ARCH_INLINE_WRITE_LOCK_BH=y +CONFIG_ARCH_INLINE_WRITE_LOCK_IRQ=y +CONFIG_ARCH_INLINE_WRITE_LOCK_IRQSAVE=y +CONFIG_ARCH_INLINE_WRITE_UNLOCK=y +CONFIG_ARCH_INLINE_WRITE_UNLOCK_BH=y +CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE=y +CONFIG_INLINE_SPIN_TRYLOCK=y +CONFIG_INLINE_SPIN_TRYLOCK_BH=y +CONFIG_INLINE_SPIN_LOCK=y +CONFIG_INLINE_SPIN_LOCK_BH=y +CONFIG_INLINE_SPIN_LOCK_IRQ=y +CONFIG_INLINE_SPIN_LOCK_IRQSAVE=y +CONFIG_INLINE_SPIN_UNLOCK_BH=y +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE=y +CONFIG_INLINE_READ_LOCK=y +CONFIG_INLINE_READ_LOCK_BH=y +CONFIG_INLINE_READ_LOCK_IRQ=y +CONFIG_INLINE_READ_LOCK_IRQSAVE=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_BH=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK_IRQRESTORE=y +CONFIG_INLINE_WRITE_LOCK=y +CONFIG_INLINE_WRITE_LOCK_BH=y +CONFIG_INLINE_WRITE_LOCK_IRQ=y +CONFIG_INLINE_WRITE_LOCK_IRQSAVE=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_BH=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y +CONFIG_QUEUED_SPINLOCKS=y +CONFIG_ARCH_USE_QUEUED_RWLOCKS=y +CONFIG_QUEUED_RWLOCKS=y +CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y +CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y +CONFIG_FREEZER=y + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +CONFIG_COMPAT_BINFMT_ELF=y +CONFIG_ARCH_BINFMT_ELF_STATE=y +CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y +CONFIG_ARCH_HAVE_ELF_PROT=y +CONFIG_ARCH_USE_GNU_PROPERTY=y +CONFIG_ELFCORE=y +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y +CONFIG_BINFMT_SCRIPT=y +CONFIG_BINFMT_MISC=m +CONFIG_COREDUMP=y +# end of Executable file formats + +# +# Memory Management options +# +CONFIG_SWAP=y +# CONFIG_ZSWAP is not set +CONFIG_ZSMALLOC=m +# CONFIG_ZSMALLOC_STAT is not set + +# +# SLAB allocator options +# +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +CONFIG_SLAB_MERGE_DEFAULT=y +# CONFIG_SLAB_FREELIST_RANDOM is not set +# CONFIG_SLAB_FREELIST_HARDENED is not set +CONFIG_SLUB_SYSFS=y +# CONFIG_SLUB_STATS is not set +CONFIG_SLUB_CPU_PARTIAL=y +# end of SLAB allocator options + +# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set +# CONFIG_COMPAT_BRK is not set +CONFIG_SPARSEMEM=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_HAVE_FAST_GUP=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_MEMORY_ISOLATION=y +CONFIG_EXCLUSIVE_SYSTEM_RAM=y +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +# CONFIG_MEMORY_HOTPLUG is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y +# CONFIG_COMPACTION is not set +# CONFIG_PAGE_REPORTING is not set +CONFIG_MIGRATION=y +CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y +CONFIG_CONTIG_ALLOC=y +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_MMU_NOTIFIER=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +# CONFIG_MEMORY_FAILURE is not set +CONFIG_ARCH_WANTS_THP_SWAP=y +# CONFIG_TRANSPARENT_HUGEPAGE is not set +CONFIG_CMA=y +# CONFIG_CMA_INACTIVE is not set +# CONFIG_CMA_DEBUG is not set +CONFIG_CMA_DEBUGFS=y +CONFIG_CMA_DEBUGFS_BITMAP_HEX=y +CONFIG_CMA_SYSFS=y +CONFIG_CMA_AREAS=7 +CONFIG_GENERIC_EARLY_IOREMAP=y +# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set +# CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y +CONFIG_ARCH_HAS_PTE_DEVMAP=y +CONFIG_ARCH_HAS_ZONE_DMA_SET=y +CONFIG_ZONE_DMA=y +CONFIG_ZONE_DMA32=y +CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y +CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_PERCPU_STATS is not set +# CONFIG_GUP_TEST is not set +CONFIG_ARCH_HAS_PTE_SPECIAL=y +CONFIG_SECRETMEM=y +# CONFIG_ANON_VMA_NAME is not set +# CONFIG_USERFAULTFD is not set +# CONFIG_LRU_GEN is not set +CONFIG_LOCK_MM_AND_FIND_VMA=y + +# +# Data Access Monitoring +# +# CONFIG_DAMON is not set +# end of Data Access Monitoring +# end of Memory Management options + +CONFIG_NET=y +CONFIG_COMPAT_NETLINK_MESSAGES=y +CONFIG_NET_INGRESS=y +CONFIG_NET_EGRESS=y +CONFIG_NET_REDIRECT=y +CONFIG_SKB_EXTENSIONS=y + +# +# Networking options +# +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=m +CONFIG_UNIX=y +CONFIG_UNIX_SCM=y +CONFIG_AF_UNIX_OOB=y +CONFIG_UNIX_DIAG=m +CONFIG_TLS=m +CONFIG_TLS_DEVICE=y +CONFIG_TLS_TOE=y +CONFIG_XFRM=y +CONFIG_XFRM_ALGO=y +CONFIG_XFRM_USER=y +CONFIG_XFRM_INTERFACE=m +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +CONFIG_XFRM_AH=m +CONFIG_XFRM_ESP=m +CONFIG_XFRM_IPCOMP=m +CONFIG_NET_KEY=m +# CONFIG_NET_KEY_MIGRATE is not set +# CONFIG_XDP_SOCKETS is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +# CONFIG_IP_FIB_TRIE_STATS is not set +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_ROUTE_CLASSID=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +# CONFIG_IP_PNP_BOOTP is not set +CONFIG_IP_PNP_RARP=y +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IP_TUNNEL=m +CONFIG_NET_IPGRE=m +# CONFIG_NET_IPGRE_BROADCAST is not set +CONFIG_IP_MROUTE_COMMON=y +CONFIG_IP_MROUTE=y +CONFIG_IP_MROUTE_MULTIPLE_TABLES=y +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +CONFIG_SYN_COOKIES=y +CONFIG_NET_IPVTI=m +CONFIG_NET_UDP_TUNNEL=m +# CONFIG_NET_FOU is not set +# CONFIG_NET_FOU_IP_TUNNELS is not set +CONFIG_INET_AH=m +CONFIG_INET_ESP=m +# CONFIG_INET_ESP_OFFLOAD is not set +# CONFIG_INET_ESPINTCP is not set +CONFIG_INET_IPCOMP=m +CONFIG_INET_TABLE_PERTURB_ORDER=16 +CONFIG_INET_XFRM_TUNNEL=m +CONFIG_INET_TUNNEL=m +CONFIG_INET_DIAG=m +CONFIG_INET_TCP_DIAG=m +CONFIG_INET_UDP_DIAG=m +CONFIG_INET_RAW_DIAG=m +# CONFIG_INET_DIAG_DESTROY is not set +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_BIC=m +CONFIG_TCP_CONG_CUBIC=y +CONFIG_TCP_CONG_WESTWOOD=m +CONFIG_TCP_CONG_HTCP=m +CONFIG_TCP_CONG_HSTCP=m +CONFIG_TCP_CONG_HYBLA=m +CONFIG_TCP_CONG_VEGAS=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_CUBIC=y +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +CONFIG_TCP_MD5SIG=y +CONFIG_IPV6=m +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +# CONFIG_INET6_ESP_OFFLOAD is not set +# CONFIG_INET6_ESPINTCP is not set +CONFIG_INET6_IPCOMP=m +# CONFIG_IPV6_MIP6 is not set +CONFIG_IPV6_ILA=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET6_TUNNEL=m +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_NDISC_NODETYPE=y +CONFIG_IPV6_TUNNEL=m +# CONFIG_IPV6_GRE is not set +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +CONFIG_IPV6_MROUTE=y +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y +CONFIG_IPV6_PIMSM_V2=y +# CONFIG_IPV6_SEG6_LWTUNNEL is not set +# CONFIG_IPV6_SEG6_HMAC is not set +# CONFIG_IPV6_RPL_LWTUNNEL is not set +# CONFIG_IPV6_IOAM6_LWTUNNEL is not set +CONFIG_NETLABEL=y +CONFIG_MPTCP=y +CONFIG_INET_MPTCP_DIAG=m +CONFIG_NETWORK_SECMARK=y +CONFIG_NET_PTP_CLASSIFY=y +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=m + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_EGRESS=y +CONFIG_NETFILTER_SKIP_EGRESS=y +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_FAMILY_BRIDGE=y +CONFIG_NETFILTER_FAMILY_ARP=y +# CONFIG_NETFILTER_NETLINK_HOOK is not set +CONFIG_NETFILTER_NETLINK_ACCT=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NETFILTER_NETLINK_OSF=m +CONFIG_NF_CONNTRACK=m +CONFIG_NF_LOG_SYSLOG=m +CONFIG_NETFILTER_CONNCOUNT=m +CONFIG_NF_CONNTRACK_MARK=y +# CONFIG_NF_CONNTRACK_SECMARK is not set +# CONFIG_NF_CONNTRACK_ZONES is not set +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +# CONFIG_NF_CONNTRACK_TIMEOUT is not set +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CONNTRACK_LABELS=y +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_GRE=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_BROADCAST=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_HELPER=m +CONFIG_NETFILTER_NETLINK_GLUE_CT=y +CONFIG_NF_NAT=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_SIP=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_NAT_REDIRECT=y +CONFIG_NF_NAT_MASQUERADE=y +CONFIG_NETFILTER_SYNPROXY=m +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_OBJREF=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_NF_DUP_NETDEV=m +CONFIG_NFT_DUP_NETDEV=m +CONFIG_NFT_FWD_NETDEV=m +CONFIG_NFT_FIB_NETDEV=m +# CONFIG_NFT_REJECT_NETDEV is not set +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE=m +# CONFIG_NF_FLOW_TABLE_PROCFS is not set +CONFIG_NETFILTER_XTABLES=y +CONFIG_NETFILTER_XTABLES_COMPAT=y + +# +# Xtables combined modules +# +CONFIG_NETFILTER_XT_MARK=m +CONFIG_NETFILTER_XT_CONNMARK=m +CONFIG_NETFILTER_XT_SET=m + +# +# Xtables targets +# +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_CT=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HL=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_NAT=m +CONFIG_NETFILTER_XT_TARGET_NETMAP=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +CONFIG_NETFILTER_XT_TARGET_RATEEST=m +CONFIG_NETFILTER_XT_TARGET_REDIRECT=m +CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m +CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFILTER_XT_TARGET_SECMARK=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m + +# +# Xtables matches +# +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_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ECN=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_HL=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +CONFIG_NETFILTER_XT_MATCH_L2TP=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_SCTP=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 +# end of Core Netfilter Configuration + +CONFIG_IP_SET=m +CONFIG_IP_SET_MAX=256 +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_DEBUG is not set +CONFIG_IP_VS_TAB_BITS=12 + +# +# IPVS transport protocol load balancing support +# +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_PROTO_AH_ESP=y +CONFIG_IP_VS_PROTO_ESP=y +CONFIG_IP_VS_PROTO_AH=y +CONFIG_IP_VS_PROTO_SCTP=y + +# +# IPVS scheduler +# +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 is not set + +# +# IPVS SH scheduler +# +CONFIG_IP_VS_SH_TAB_BITS=8 + +# +# IPVS MH scheduler +# +CONFIG_IP_VS_MH_TAB_INDEX=12 + +# +# IPVS application helper +# +CONFIG_IP_VS_FTP=m +CONFIG_IP_VS_NFCT=y +CONFIG_IP_VS_PE_SIP=m + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_SOCKET_IPV4=m +CONFIG_NF_TPROXY_IPV4=m +CONFIG_NF_TABLES_IPV4=y +CONFIG_NFT_REJECT_IPV4=m +CONFIG_NFT_DUP_IPV4=m +CONFIG_NFT_FIB_IPV4=m +CONFIG_NF_TABLES_ARP=y +CONFIG_NF_DUP_IPV4=m +CONFIG_NF_LOG_ARP=m +CONFIG_NF_LOG_IPV4=m +CONFIG_NF_REJECT_IPV4=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=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_CLUSTERIP=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 +# end of IP: Netfilter Configuration + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_SOCKET_IPV6=m +CONFIG_NF_TPROXY_IPV6=m +CONFIG_NF_TABLES_IPV6=y +CONFIG_NFT_REJECT_IPV6=m +CONFIG_NFT_DUP_IPV6=m +CONFIG_NFT_FIB_IPV6=m +CONFIG_NF_DUP_IPV6=m +CONFIG_NF_REJECT_IPV6=m +CONFIG_NF_LOG_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 +# end of IPv6: Netfilter Configuration + +CONFIG_NF_DEFRAG_IPV6=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_BPFILTER_UMH=m +CONFIG_IP_DCCP=m +CONFIG_INET_DCCP_DIAG=m + +# +# DCCP CCIDs Configuration +# +# CONFIG_IP_DCCP_CCID2_DEBUG is not set +CONFIG_IP_DCCP_CCID3=y +# CONFIG_IP_DCCP_CCID3_DEBUG is not set +CONFIG_IP_DCCP_TFRC_LIB=y +# end of DCCP CCIDs Configuration + +# +# DCCP Kernel Hacking +# +# CONFIG_IP_DCCP_DEBUG is not set +# end of DCCP Kernel Hacking + +CONFIG_IP_SCTP=m +# CONFIG_SCTP_DBG_OBJCNT is not set +CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y +# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set +# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set +CONFIG_SCTP_COOKIE_HMAC_MD5=y +CONFIG_SCTP_COOKIE_HMAC_SHA1=y +CONFIG_INET_SCTP_DIAG=m +CONFIG_RDS=m +CONFIG_RDS_TCP=m +CONFIG_RDS_DEBUG=y +CONFIG_TIPC=m +CONFIG_TIPC_MEDIA_UDP=y +CONFIG_TIPC_CRYPTO=y +CONFIG_TIPC_DIAG=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 is not set +# CONFIG_L2TP_V3 is not set +CONFIG_STP=m +CONFIG_GARP=m +CONFIG_MRP=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +CONFIG_BRIDGE_VLAN_FILTERING=y +CONFIG_BRIDGE_MRP=y +# CONFIG_BRIDGE_CFM is not set +# CONFIG_NET_DSA is not set +CONFIG_VLAN_8021Q=m +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +CONFIG_LLC=m +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_DEBUGFS is not set +CONFIG_6LOWPAN_NHC=m +CONFIG_6LOWPAN_NHC_DEST=m +CONFIG_6LOWPAN_NHC_FRAGMENT=m +CONFIG_6LOWPAN_NHC_HOP=m +CONFIG_6LOWPAN_NHC_IPV6=m +CONFIG_6LOWPAN_NHC_MOBILITY=m +CONFIG_6LOWPAN_NHC_ROUTING=m +CONFIG_6LOWPAN_NHC_UDP=m +# CONFIG_6LOWPAN_GHC_EXT_HDR_HOP is not set +# CONFIG_6LOWPAN_GHC_UDP is not set +# CONFIG_6LOWPAN_GHC_ICMPV6 is not set +# CONFIG_6LOWPAN_GHC_EXT_HDR_DEST is not set +# CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG is not set +# CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE is not set +CONFIG_IEEE802154=m +# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set +CONFIG_IEEE802154_SOCKET=m +CONFIG_IEEE802154_6LOWPAN=m +CONFIG_MAC802154=m +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_ATM=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 is not set +# CONFIG_NET_SCH_ETF is not set +# CONFIG_NET_SCH_TAPRIO is not set +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_MQPRIO=m +# CONFIG_NET_SCH_SKBPRIO is not set +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 is not set +CONFIG_NET_SCH_FQ=m +CONFIG_NET_SCH_HHF=m +CONFIG_NET_SCH_PIE=m +# CONFIG_NET_SCH_FQ_PIE is not set +CONFIG_NET_SCH_INGRESS=m +CONFIG_NET_SCH_PLUG=m +# CONFIG_NET_SCH_ETS is not set +# CONFIG_NET_SCH_DEFAULT is not set + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_ROUTE4=m +# CONFIG_NET_CLS_FW is not set +CONFIG_NET_CLS_U32=m +# CONFIG_CLS_U32_PERF is not set +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 is not set +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_STACK=32 +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 is not set +CONFIG_NET_EMATCH_IPSET=m +# CONFIG_NET_EMATCH_IPT is not set +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 is not set +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 is not set +# CONFIG_NET_ACT_VLAN is not set +# CONFIG_NET_ACT_BPF is not set +# CONFIG_NET_ACT_CONNMARK is not set +# CONFIG_NET_ACT_CTINFO is not set +# CONFIG_NET_ACT_SKBMOD is not set +# CONFIG_NET_ACT_IFE is not set +# CONFIG_NET_ACT_TUNNEL_KEY is not set +# CONFIG_NET_ACT_CT is not set +# CONFIG_NET_ACT_GATE is not set +# CONFIG_NET_TC_SKB_EXT is not set +CONFIG_NET_SCH_FIFO=y +CONFIG_DCB=y +CONFIG_DNS_RESOLVER=y +CONFIG_BATMAN_ADV=m +CONFIG_BATMAN_ADV_BATMAN_V=y +CONFIG_BATMAN_ADV_BLA=y +CONFIG_BATMAN_ADV_DAT=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_BATMAN_ADV_DEBUG=y +CONFIG_BATMAN_ADV_TRACING=y +CONFIG_OPENVSWITCH=m +CONFIG_OPENVSWITCH_GRE=m +CONFIG_OPENVSWITCH_VXLAN=m +CONFIG_OPENVSWITCH_GENEVE=m +CONFIG_VSOCKETS=m +CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m +# CONFIG_VIRTIO_VSOCKETS is not set +CONFIG_VIRTIO_VSOCKETS_COMMON=m +# CONFIG_NETLINK_DIAG is not set +CONFIG_MPLS=y +CONFIG_NET_MPLS_GSO=m +# CONFIG_MPLS_ROUTING is not set +CONFIG_NET_NSH=m +CONFIG_HSR=m +CONFIG_NET_SWITCHDEV=y +CONFIG_NET_L3_MASTER_DEV=y +CONFIG_QRTR=m +CONFIG_QRTR_TUN=m +CONFIG_QRTR_MHI=m +CONFIG_NET_NCSI=y +CONFIG_NCSI_OEM_CMD_GET_MAC=y +# CONFIG_NCSI_OEM_CMD_KEEP_PHY is not set +CONFIG_PCPU_DEV_REFCNT=y +CONFIG_RPS=y +CONFIG_RFS_ACCEL=y +CONFIG_SOCK_RX_QUEUE_MAPPING=y +CONFIG_XPS=y +CONFIG_CGROUP_NET_PRIO=y +CONFIG_CGROUP_NET_CLASSID=y +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +CONFIG_BPF_STREAM_PARSER=y +CONFIG_NET_FLOW_LIMIT=y + +# +# Network testing +# +CONFIG_NET_PKTGEN=m +CONFIG_NET_DROP_MONITOR=m +# end of Network testing +# end of Networking options + +# CONFIG_HAMRADIO is not set +CONFIG_CAN=m +CONFIG_CAN_RAW=m +CONFIG_CAN_BCM=m +CONFIG_CAN_GW=m +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_ISOTP is not set +CONFIG_BT=m +CONFIG_BT_BREDR=y +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_HS=y +CONFIG_BT_LE=y +CONFIG_BT_6LOWPAN=m +CONFIG_BT_LEDS=y +CONFIG_BT_MSFTEXT=y +# CONFIG_BT_AOSPEXT is not set +CONFIG_BT_DEBUGFS=y +# CONFIG_BT_SELFTEST is not set + +# +# Bluetooth device drivers +# +CONFIG_BT_INTEL=m +CONFIG_BT_BCM=m +CONFIG_BT_RTL=m +CONFIG_BT_QCA=m +CONFIG_BT_MTK=m +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y +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_SERDEV=y +CONFIG_BT_HCIUART_H4=y +# CONFIG_BT_HCIUART_NOKIA is not set +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_ATH3K=y +# CONFIG_BT_HCIUART_LL is not set +CONFIG_BT_HCIUART_3WIRE=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 is not set +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 is not set +# CONFIG_BT_VIRTIO is not set +# CONFIG_BT_HCIBTUSB_RTLBTUSB is not set +# end of Bluetooth device drivers + +# CONFIG_AF_RXRPC is not set +# CONFIG_AF_KCM is not set +CONFIG_STREAM_PARSER=y +# CONFIG_MCTP is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=y +CONFIG_NL80211_TESTMODE=y +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set +CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y +CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y +CONFIG_CFG80211_DEFAULT_PS=y +CONFIG_CFG80211_DEBUGFS=y +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +CONFIG_CFG80211_WEXT_EXPORT=y +CONFIG_LIB80211=m +CONFIG_LIB80211_CRYPT_WEP=m +CONFIG_LIB80211_CRYPT_CCMP=m +CONFIG_LIB80211_CRYPT_TKIP=m +# CONFIG_LIB80211_DEBUG is not set +CONFIG_MAC80211=y +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +# CONFIG_MAC80211_MESH is not set +CONFIG_MAC80211_LEDS=y +CONFIG_MAC80211_DEBUGFS=y +# CONFIG_MAC80211_MESSAGE_TRACING is not set +CONFIG_MAC80211_DEBUG_MENU=y +# CONFIG_MAC80211_NOINLINE is not set +CONFIG_MAC80211_VERBOSE_DEBUG=y +# CONFIG_MAC80211_MLME_DEBUG is not set +# CONFIG_MAC80211_STA_DEBUG is not set +# CONFIG_MAC80211_HT_DEBUG is not set +# CONFIG_MAC80211_OCB_DEBUG is not set +# CONFIG_MAC80211_IBSS_DEBUG is not set +# CONFIG_MAC80211_PS_DEBUG is not set +# CONFIG_MAC80211_TDLS_DEBUG is not set +# CONFIG_MAC80211_DEBUG_COUNTERS is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +CONFIG_RFKILL=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_GPIO is not set +CONFIG_RFKILL_RK=y +CONFIG_NET_9P=m +CONFIG_NET_9P_VIRTIO=m +CONFIG_9P_FS=m +CONFIG_CAIF=m +# CONFIG_CAIF_DEBUG is not set +CONFIG_CAIF_NETDEV=m +CONFIG_CAIF_USB=m +CONFIG_CEPH_LIB=y +CONFIG_CEPH_LIB_PRETTYDEBUG=y +CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y +# CONFIG_NFC is not set +# CONFIG_PSAMPLE is not set +# CONFIG_NET_IFE is not set +CONFIG_LWTUNNEL=y +CONFIG_LWTUNNEL_BPF=y +CONFIG_DST_CACHE=y +CONFIG_GRO_CELLS=y +CONFIG_SOCK_VALIDATE_XMIT=y +CONFIG_NET_SELFTESTS=y +CONFIG_NET_SOCK_MSG=y +CONFIG_NET_DEVLINK=y +CONFIG_PAGE_POOL=y +# CONFIG_PAGE_POOL_STATS is not set +CONFIG_FAILOVER=m +CONFIG_ETHTOOL_NETLINK=y + +# +# Device Drivers +# +CONFIG_ARM_AMBA=y +CONFIG_HAVE_PCI=y +CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DOMAINS_GENERIC=y +CONFIG_PCI_SYSCALL=y +CONFIG_PCIEPORTBUS=y +# CONFIG_PCIEAER is not set +CONFIG_PCIEASPM=y +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set +# CONFIG_PCIEASPM_PERFORMANCE is not set +# CONFIG_PCIEASPM_EXT is not set +CONFIG_PCIE_PME=y +# CONFIG_PCIE_PTM is not set +CONFIG_PCI_MSI=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y +CONFIG_PCI_QUIRKS=y +# CONFIG_PCI_DEBUG is not set +# CONFIG_PCI_STUB is not set +# CONFIG_PCI_IOV is not set +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_PASID is not set +CONFIG_PCI_LABEL=y +# CONFIG_PCIE_BUS_TUNE_OFF is not set +CONFIG_PCIE_BUS_DEFAULT=y +# CONFIG_PCIE_BUS_SAFE is not set +# CONFIG_PCIE_BUS_PERFORMANCE is not set +# CONFIG_PCIE_BUS_PEER2PEER is not set +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +# CONFIG_HOTPLUG_PCI is not set + +# +# PCI controller drivers +# +# CONFIG_PCI_FTPCI100 is not set +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCIE_XILINX is not set +# CONFIG_PCI_XGENE is not set +# CONFIG_PCIE_ALTERA is not set +# CONFIG_PCI_HOST_THUNDER_PEM is not set +# CONFIG_PCI_HOST_THUNDER_ECAM is not set +CONFIG_PCIE_ROCKCHIP=y +CONFIG_PCIE_ROCKCHIP_HOST=y +# CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set +# CONFIG_PCIE_MICROCHIP_HOST is not set + +# +# DesignWare PCI Core Support +# +CONFIG_PCIE_DW=y +CONFIG_PCIE_DW_HOST=y +CONFIG_PCIE_DW_PLAT=y +CONFIG_PCIE_DW_PLAT_HOST=y +CONFIG_PCIE_DW_ROCKCHIP=y +CONFIG_PCIE_RK_THREADED_INIT=y +# CONFIG_PCIE_DW_DMATEST is not set +# CONFIG_PCIE_DW_ROCKCHIP_EP is not set +# CONFIG_PCI_HISI is not set +# CONFIG_PCIE_KIRIN is not set +# CONFIG_PCI_MESON is not set +# CONFIG_PCIE_AL is not set +# end of DesignWare PCI Core Support + +# +# Mobiveil PCIe Core Support +# +# end of Mobiveil PCIe Core Support + +# +# Cadence PCIe controllers support +# +# CONFIG_PCIE_CADENCE_PLAT_HOST is not set +# CONFIG_PCI_J721E_HOST is not set +# end of Cadence PCIe controllers support +# end of PCI controller drivers + +# +# PCI Endpoint +# +# CONFIG_PCI_ENDPOINT is not set +# end of PCI Endpoint + +# +# PCI switch controller drivers +# +# CONFIG_PCI_SW_SWITCHTEC is not set +# end of PCI switch controller drivers + +# CONFIG_CXL_BUS is not set +# CONFIG_PCCARD is not set +# CONFIG_RAPIDIO is not set + +# +# Generic Driver Options +# +# CONFIG_UEVENT_HELPER is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_DEVTMPFS_SAFE is not set +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# +CONFIG_FW_LOADER=y +CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER is not set +CONFIG_FW_LOADER_COMPRESS=y +CONFIG_FW_LOADER_COMPRESS_XZ=y +CONFIG_FW_LOADER_COMPRESS_ZSTD=y +CONFIG_FW_CACHE=y +# CONFIG_FW_UPLOAD is not set +# end of Firmware loader + +CONFIG_WANT_DEV_COREDUMP=y +CONFIG_ALLOW_DEV_COREDUMP=y +CONFIG_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_CPU_VULNERABILITIES=y +CONFIG_SOC_BUS=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_REGMAP_MMIO=y +CONFIG_REGMAP_IRQ=y +CONFIG_REGMAP_SCCB=m +# CONFIG_MALI_BASE_MODULES is not set +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_DMA_FENCE_TRACE is not set +CONFIG_GENERIC_ARCH_TOPOLOGY=y +# end of Generic Driver Options + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_MOXTET is not set +# CONFIG_VEXPRESS_CONFIG is not set +CONFIG_MHI_BUS=m +# CONFIG_MHI_BUS_DEBUG is not set +# CONFIG_MHI_BUS_PCI_GENERIC is not set +# CONFIG_MHI_BUS_EP is not set +# end of Bus devices + +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y + +# +# Firmware Drivers +# + +# +# ARM System Control and Management Interface Protocol +# +CONFIG_ARM_SCMI_PROTOCOL=y +CONFIG_ARM_SCMI_HAVE_TRANSPORT=y +CONFIG_ARM_SCMI_HAVE_SHMEM=y +CONFIG_ARM_SCMI_HAVE_MSG=y +CONFIG_ARM_SCMI_TRANSPORT_MAILBOX=y +CONFIG_ARM_SCMI_TRANSPORT_OPTEE=y +CONFIG_ARM_SCMI_TRANSPORT_SMC=y +# CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE is not set +CONFIG_ARM_SCMI_POWER_DOMAIN=y +# CONFIG_ARM_SCMI_POWER_CONTROL is not set +# end of ARM System Control and Management Interface Protocol + +# CONFIG_ARM_SCPI_PROTOCOL is not set +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_DMIID=y +# CONFIG_DMI_SYSFS is not set +# CONFIG_FW_CFG_SYSFS is not set +CONFIG_ROCKCHIP_SIP=y +# CONFIG_SYSFB_SIMPLEFB is not set +# CONFIG_ARM_FFA_TRANSPORT is not set +# CONFIG_GOOGLE_FIRMWARE is not set + +# +# EFI (Extensible Firmware Interface) Support +# +CONFIG_EFI_ESRT=y +CONFIG_EFI_VARS_PSTORE=y +# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set +CONFIG_EFI_PARAMS_FROM_FDT=y +CONFIG_EFI_RUNTIME_WRAPPERS=y +CONFIG_EFI_GENERIC_STUB=y +# CONFIG_EFI_ZBOOT is not set +CONFIG_EFI_ARMSTUB_DTB_LOADER=y +CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y +# CONFIG_EFI_BOOTLOADER_CONTROL is not set +# CONFIG_EFI_CAPSULE_LOADER is not set +# CONFIG_EFI_TEST is not set +# CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_EFI_DISABLE_PCI_DMA is not set +CONFIG_EFI_EARLYCON=y +# CONFIG_EFI_DISABLE_RUNTIME is not set +# CONFIG_EFI_COCO_SECRET is not set +# end of EFI (Extensible Firmware Interface) Support + +CONFIG_ARM_PSCI_FW=y +# CONFIG_ARM_PSCI_CHECKER is not set +CONFIG_HAVE_ARM_SMCCC=y +CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y +CONFIG_ARM_SMCCC_SOC_ID=y + +# +# Tegra firmware driver +# +# end of Tegra firmware driver +# end of Firmware Drivers + +# CONFIG_GNSS is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set + +# +# Partition parsers +# +# CONFIG_MTD_AR7_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# end of Partition parsers + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y + +# +# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK. +# +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_SWAP is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# end of RAM/ROM/Flash chip drivers + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +# CONFIG_MTD_PLATRAM is not set +# end of Mapping drivers for chip access + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_MCHP23K256 is not set +# CONFIG_MTD_MCHP48L640 is not set +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# end of Self-contained MTD device drivers + +# +# NAND +# +CONFIG_MTD_NAND_CORE=y +# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_RAW_NAND is not set +CONFIG_MTD_SPI_NAND=y + +# +# ECC engine support +# +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SW_HAMMING is not set +# CONFIG_MTD_NAND_ECC_SW_BCH is not set +# CONFIG_MTD_NAND_ECC_MXIC is not set +CONFIG_MTD_NAND_BBT_USING_FLASH=y +# end of ECC engine support +# end of NAND + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# end of LPDDR & LPDDR2 PCM memory drivers + +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y +# CONFIG_MTD_SPI_NOR_MISC is not set +# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set +CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y +# CONFIG_MTD_SPI_NOR_SWP_KEEP is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +# CONFIG_MTD_HYPERBUS is not set +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_DTC_SYMBOLS is not set +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_KOBJ=y +CONFIG_OF_DYNAMIC=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_RESERVED_MEM=y +# CONFIG_OF_OVERLAY is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +CONFIG_CDROM=y +# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set +CONFIG_ZRAM=m +CONFIG_ZRAM_DEF_COMP_LZORLE=y +# CONFIG_ZRAM_DEF_COMP_ZSTD is not set +# CONFIG_ZRAM_DEF_COMP_LZO is not set +CONFIG_ZRAM_DEF_COMP="lzo-rle" +# CONFIG_ZRAM_WRITEBACK is not set +# CONFIG_ZRAM_MEMORY_TRACKING is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=1 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +CONFIG_VIRTIO_BLK=m +CONFIG_BLK_DEV_RBD=y +# CONFIG_BLK_DEV_UBLK is not set + +# +# NVME Support +# +CONFIG_NVME_COMMON=y +CONFIG_NVME_CORE=y +CONFIG_BLK_DEV_NVME=y +CONFIG_NVME_MULTIPATH=y +# CONFIG_NVME_VERBOSE_ERRORS is not set +CONFIG_NVME_HWMON=y +CONFIG_NVME_FABRICS=m +CONFIG_NVME_FC=m +CONFIG_NVME_TCP=m +CONFIG_NVME_AUTH=y +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_NVME_TARGET_AUTH=y +# end of NVME Support + +# +# Misc devices +# + +# +# RK628 misc driver +# +# CONFIG_RK628_MISC is not set +# end of RK628 misc driver + +# CONFIG_JW_IO is not set +# CONFIG_RK803 is not set +# CONFIG_PCIE_FUNC_RKEP is not set +# CONFIG_LT7911D_FB_NOTIFIER is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_PHANTOM is not set +# CONFIG_TIFM_CORE is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HI6421V600_IRQ is not set +# CONFIG_HP_ILO is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +CONFIG_SRAM=y +# CONFIG_DW_XDATA_PCIE is not set +# CONFIG_PCI_ENDPOINT_TEST is not set +# CONFIG_XILINX_SDFEC is not set +# CONFIG_HISI_HIKEY_USB is not set +# CONFIG_OPEN_DICE is not set +# CONFIG_VCPU_STALL_DETECTOR is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +CONFIG_EEPROM_AT24=y +# CONFIG_EEPROM_AT25 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +CONFIG_EEPROM_93CX6=y +# CONFIG_EEPROM_93XX46 is not set +# CONFIG_EEPROM_IDT_89HPESX is not set +# CONFIG_EEPROM_EE1004 is not set +# end of EEPROM support + +# CONFIG_CB710_CORE is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# end of Texas Instruments shared transport line discipline + +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set +# CONFIG_ALTERA_STAPL is not set +# CONFIG_VMWARE_VMCI is not set +# CONFIG_GENWQE is not set +# CONFIG_ECHO is not set +# CONFIG_BCM_VK is not set +# CONFIG_MISC_ALCOR_PCI is not set +# CONFIG_MISC_RTSX_PCI is not set +# CONFIG_MISC_RTSX_USB is not set +# CONFIG_HABANA_AI is not set +# CONFIG_UACCE is not set +# CONFIG_PVPANIC is not set +# CONFIG_GP_PCI1XXXX is not set +# end of Misc devices + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI_COMMON=y +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +CONFIG_CHR_DEV_ST=m +CONFIG_BLK_DEV_SR=y +CONFIG_CHR_DEV_SG=y +CONFIG_BLK_DEV_BSG=y +CONFIG_CHR_DEV_SCH=m +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_SCAN_ASYNC=y + +# +# SCSI Transports +# +CONFIG_SCSI_SPI_ATTRS=y +# CONFIG_SCSI_FC_ATTRS is not set +CONFIG_SCSI_ISCSI_ATTRS=m +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# end of SCSI Transports + +CONFIG_SCSI_LOWLEVEL=y +CONFIG_ISCSI_TCP=m +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set +# CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_BE2ISCSI is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_HPSA is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_3W_SAS is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC94XX is not set +# CONFIG_SCSI_HISI_SAS is not set +# CONFIG_SCSI_MVSAS is not set +# CONFIG_SCSI_MVUMI is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_SCSI_ESAS2R is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_MPT3SAS is not set +# CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_MPI3MR is not set +# CONFIG_SCSI_SMARTPQI is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_BUSLOGIC is not set +# CONFIG_SCSI_MYRB is not set +# CONFIG_SCSI_MYRS is not set +# CONFIG_SCSI_SNIC is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_FDOMAIN_PCI is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_WD719X is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_PMCRAID is not set +# CONFIG_SCSI_PM8001 is not set +# CONFIG_SCSI_VIRTIO is not set +# CONFIG_SCSI_DH is not set +# end of SCSI device support + +CONFIG_ATA=y +CONFIG_SATA_HOST=y +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_ATA_FORCE=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +CONFIG_SATA_AHCI=y +CONFIG_SATA_MOBILE_LPM_POLICY=0 +CONFIG_SATA_AHCI_PLATFORM=y +CONFIG_AHCI_DWC=m +# CONFIG_AHCI_CEVA is not set +# CONFIG_AHCI_QORIQ is not set +# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_ACARD_AHCI is not set +# CONFIG_SATA_SIL24 is not set +# CONFIG_ATA_SFF is not set +CONFIG_MD=y +CONFIG_BLK_DEV_MD=m +CONFIG_MD_LINEAR=m +CONFIG_MD_RAID0=m +CONFIG_MD_RAID1=m +CONFIG_MD_RAID10=m +CONFIG_MD_RAID456=m +CONFIG_MD_MULTIPATH=m +CONFIG_MD_FAULTY=m +CONFIG_BCACHE=m +# CONFIG_BCACHE_DEBUG is not set +# CONFIG_BCACHE_CLOSURES_DEBUG is not set +# CONFIG_BCACHE_ASYNC_REGISTRATION is not set +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DM=m +# CONFIG_DM_DEBUG is not set +CONFIG_DM_BUFIO=m +# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set +CONFIG_DM_BIO_PRISON=m +CONFIG_DM_PERSISTENT_DATA=m +# CONFIG_DM_UNSTRIPED is not set +CONFIG_DM_CRYPT=m +CONFIG_DM_SNAPSHOT=m +CONFIG_DM_THIN_PROVISIONING=m +CONFIG_DM_CACHE=m +CONFIG_DM_CACHE_SMQ=m +# CONFIG_DM_WRITECACHE is not set +# CONFIG_DM_EBS is not set +CONFIG_DM_ERA=m +# CONFIG_DM_CLONE is not set +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_HST is not set +# CONFIG_DM_MULTIPATH_IOA is not set +CONFIG_DM_DELAY=m +# CONFIG_DM_DUST is not set +# CONFIG_DM_UEVENT is not set +CONFIG_DM_FLAKEY=m +CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set +# CONFIG_DM_VERITY_FEC is not set +CONFIG_DM_SWITCH=m +CONFIG_DM_LOG_WRITES=m +# CONFIG_DM_INTEGRITY is not set +# CONFIG_DM_AUDIT is not set +CONFIG_TARGET_CORE=m +# CONFIG_TCM_IBLOCK is not set +# CONFIG_TCM_FILEIO is not set +# CONFIG_TCM_PSCSI is not set +# CONFIG_LOOPBACK_TARGET is not set +# CONFIG_ISCSI_TARGET is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +# end of IEEE 1394 (FireWire) support + +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NET_CORE=y +CONFIG_BONDING=m +CONFIG_DUMMY=m +CONFIG_WIREGUARD=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_EQUALIZER=m +# CONFIG_NET_FC is not set +CONFIG_IFB=m +CONFIG_NET_TEAM=m +# CONFIG_NET_TEAM_MODE_BROADCAST is not set +# CONFIG_NET_TEAM_MODE_ROUNDROBIN is not set +# CONFIG_NET_TEAM_MODE_RANDOM is not set +# CONFIG_NET_TEAM_MODE_ACTIVEBACKUP is not set +# CONFIG_NET_TEAM_MODE_LOADBALANCE is not set +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_IPVLAN_L3S=y +CONFIG_IPVLAN=m +# CONFIG_IPVTAP is not set +CONFIG_VXLAN=m +CONFIG_GENEVE=m +# CONFIG_BAREUDP is not set +# CONFIG_GTP is not set +# CONFIG_AMT is not set +# CONFIG_MACSEC is not set +CONFIG_NETCONSOLE=m +# CONFIG_NETCONSOLE_DYNAMIC is not set +CONFIG_NETPOLL=y +CONFIG_NET_POLL_CONTROLLER=y +CONFIG_TUN=m +CONFIG_TAP=m +# CONFIG_TUN_VNET_CROSS_LE is not set +CONFIG_VETH=m +CONFIG_VIRTIO_NET=m +CONFIG_NLMON=m +CONFIG_NET_VRF=m +# CONFIG_VSOCKMON is not set +# CONFIG_MHI_NET is not set +CONFIG_ARCNET=m +# CONFIG_ARCNET_1201 is not set +# CONFIG_ARCNET_1051 is not set +# CONFIG_ARCNET_RAW is not set +# CONFIG_ARCNET_CAP is not set +# CONFIG_ARCNET_COM90xx is not set +# CONFIG_ARCNET_COM90xxIO is not set +# CONFIG_ARCNET_RIM_I is not set +# CONFIG_ARCNET_COM20020 is not set +CONFIG_ATM_DRIVERS=y +# CONFIG_ATM_DUMMY is not set +# CONFIG_ATM_TCP is not set +# CONFIG_ATM_LANAI is not set +# CONFIG_ATM_ENI is not set +# CONFIG_ATM_NICSTAR is not set +# CONFIG_ATM_IDT77252 is not set +# CONFIG_ATM_IA is not set +# CONFIG_ATM_FORE200E is not set +# CONFIG_ATM_HE is not set +# CONFIG_ATM_SOLOS is not set +CONFIG_CAIF_DRIVERS=y +# CONFIG_CAIF_TTY is not set +CONFIG_CAIF_VIRTIO=m +CONFIG_ETHERNET=y +# CONFIG_NET_VENDOR_3COM is not set +# CONFIG_NET_VENDOR_ADAPTEC is not set +# CONFIG_NET_VENDOR_AGERE is not set +CONFIG_NET_VENDOR_ALACRITECH=y +# CONFIG_SLICOSS is not set +# CONFIG_NET_VENDOR_ALTEON is not set +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_AMAZON=y +# CONFIG_ENA_ETHERNET is not set +# CONFIG_NET_VENDOR_AMD is not set +CONFIG_NET_VENDOR_AQUANTIA=y +# CONFIG_AQTION is not set +# CONFIG_NET_VENDOR_ARC is not set +CONFIG_NET_VENDOR_ASIX=y +# CONFIG_SPI_AX88796C is not set +# CONFIG_NET_VENDOR_ATHEROS is not set +CONFIG_NET_VENDOR_MOTORCOMM=y +# CONFIG_FUXI is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +CONFIG_NET_VENDOR_CADENCE=y +# CONFIG_MACB is not set +# CONFIG_NET_VENDOR_CAVIUM is not set +# CONFIG_NET_VENDOR_CHELSIO is not set +# CONFIG_NET_VENDOR_CISCO is not set +CONFIG_NET_VENDOR_CORTINA=y +# CONFIG_GEMINI_ETHERNET is not set +CONFIG_NET_VENDOR_DAVICOM=y +# CONFIG_DM9051 is not set +# CONFIG_DNET is not set +# CONFIG_NET_VENDOR_DEC is not set +# CONFIG_NET_VENDOR_DLINK is not set +# CONFIG_NET_VENDOR_EMULEX is not set +CONFIG_NET_VENDOR_ENGLEDER=y +# CONFIG_TSNEP is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +CONFIG_NET_VENDOR_FUNGIBLE=y +# CONFIG_FUN_ETH is not set +CONFIG_NET_VENDOR_GOOGLE=y +# CONFIG_GVE is not set +# CONFIG_NET_VENDOR_HISILICON is not set +CONFIG_NET_VENDOR_HUAWEI=y +# CONFIG_HINIC is not set +# CONFIG_NET_VENDOR_INTEL is not set +CONFIG_NET_VENDOR_WANGXUN=y +# CONFIG_NGBE is not set +# CONFIG_TXGBE is not set +# CONFIG_JME is not set +CONFIG_NET_VENDOR_ADI=y +# CONFIG_ADIN1110 is not set +CONFIG_NET_VENDOR_LITEX=y +# CONFIG_LITEX_LITEETH is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MELLANOX is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +CONFIG_NET_VENDOR_MICROSEMI=y +# CONFIG_MSCC_OCELOT_SWITCH is not set +CONFIG_NET_VENDOR_MICROSOFT=y +# CONFIG_NET_VENDOR_MYRI is not set +# CONFIG_FEALNX is not set +CONFIG_NET_VENDOR_NI=y +# CONFIG_NI_XGE_MANAGEMENT_ENET is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +CONFIG_NET_VENDOR_NETERION=y +# CONFIG_S2IO is not set +CONFIG_NET_VENDOR_NETRONOME=y +# CONFIG_NFP is not set +# CONFIG_NET_VENDOR_NVIDIA is not set +# CONFIG_NET_VENDOR_OKI is not set +# CONFIG_ETHOC is not set +CONFIG_NET_VENDOR_PACKET_ENGINES=y +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +CONFIG_NET_VENDOR_PENSANDO=y +CONFIG_IONIC=y +# CONFIG_NET_VENDOR_QLOGIC is not set +# CONFIG_NET_VENDOR_BROCADE is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +# CONFIG_NET_VENDOR_RDC is not set +CONFIG_NET_VENDOR_REALTEK=y +# CONFIG_8139CP is not set +# CONFIG_8139TOO is not set +CONFIG_R8169=m +CONFIG_R8169_LEDS=y +# CONFIG_NET_VENDOR_RENESAS is not set +# CONFIG_NET_VENDOR_ROCKER is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SILAN is not set +# CONFIG_NET_VENDOR_SIS is not set +CONFIG_NET_VENDOR_SOLARFLARE=y +# CONFIG_SFC is not set +# CONFIG_SFC_FALCON is not set +# CONFIG_SFC_SIENA is not set +# CONFIG_NET_VENDOR_SMSC is not set +CONFIG_NET_VENDOR_SOCIONEXT=y +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_STMMAC_ETH=y +# CONFIG_STMMAC_SELFTESTS is not set +# CONFIG_STMMAC_UIO is not set +CONFIG_STMMAC_ETHTOOL=y +CONFIG_STMMAC_FULL=y +CONFIG_STMMAC_PLATFORM=y +# CONFIG_DWMAC_DWC_QOS_ETH is not set +CONFIG_DWMAC_GENERIC=y +CONFIG_DWMAC_ROCKCHIP=y +CONFIG_DWMAC_ROCKCHIP_TOOL=y +# CONFIG_DWMAC_INTEL_PLAT is not set +# CONFIG_STMMAC_PCI is not set +# CONFIG_NET_VENDOR_SUN is not set +# CONFIG_NET_VENDOR_SYNOPSYS is not set +# CONFIG_NET_VENDOR_TEHUTI is not set +# CONFIG_NET_VENDOR_TI is not set +CONFIG_NET_VENDOR_VERTEXCOM=y +# CONFIG_MSE102X is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_NET_VENDOR_XILINX=y +# CONFIG_XILINX_EMACLITE is not set +# CONFIG_XILINX_AXI_EMAC is not set +# CONFIG_XILINX_LL_TEMAC is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_PHYLINK=y +CONFIG_PHYLIB=y +CONFIG_SWPHY=y +# CONFIG_LED_TRIGGER_PHY is not set +CONFIG_FIXED_PHY=y +# CONFIG_SFP is not set + +# +# MII PHY device drivers +# +# CONFIG_AMD_PHY is not set +# CONFIG_ADIN_PHY is not set +# CONFIG_ADIN1100_PHY is not set +# CONFIG_AQUANTIA_PHY is not set +CONFIG_AX88796B_PHY=y +CONFIG_BROADCOM_PHY=m +# CONFIG_BCM54140_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM84881_PHY is not set +# CONFIG_BCM87XX_PHY is not set +CONFIG_BCM_NET_PHYLIB=m +# CONFIG_CICADA_PHY is not set +# CONFIG_CORTINA_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_INTEL_XWAY_PHY is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_MARVELL_10G_PHY is not set +# CONFIG_MARVELL_88X2222_PHY is not set +# CONFIG_MAXLINEAR_GPHY is not set +# CONFIG_MEDIATEK_GE_PHY is not set +# CONFIG_MICREL_PHY is not set +CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROCHIP_T1_PHY is not set +# CONFIG_MICROSEMI_PHY is not set +CONFIG_MOTORCOMM_PHY=y +# CONFIG_NATIONAL_PHY is not set +# CONFIG_NXP_C45_TJA11XX_PHY is not set +# CONFIG_NXP_TJA11XX_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_QSEMI_PHY is not set +CONFIG_REALTEK_PHY=y +# CONFIG_RENESAS_PHY is not set +CONFIG_ROCKCHIP_PHY=y +# CONFIG_RK630_PHY is not set +CONFIG_SMSC_PHY=m +# CONFIG_STE10XP is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_DP83822_PHY is not set +# CONFIG_DP83TC811_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_DP83869_PHY is not set +# CONFIG_DP83TD510_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_XILINX_GMII2RGMII is not set +# CONFIG_MICREL_KS8995MA is not set +# CONFIG_PSE_CONTROLLER is not set +CONFIG_CAN_DEV=m +CONFIG_CAN_VCAN=m +# CONFIG_CAN_VXCAN is not set +CONFIG_CAN_NETLINK=y +CONFIG_CAN_CALC_BITTIMING=y +CONFIG_CAN_RX_OFFLOAD=y +# CONFIG_CAN_CAN327 is not set +# CONFIG_CAN_FLEXCAN is not set +CONFIG_CAN_GRCAN=m +# CONFIG_CAN_KVASER_PCIEFD is not set +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 is not set +# CONFIG_CAN_CTUCANFD_PLATFORM is not set +# CONFIG_CAN_IFI_CANFD is not set +CONFIG_CAN_M_CAN=m +# CONFIG_CAN_M_CAN_PCI is not set +# CONFIG_CAN_M_CAN_PLATFORM is not set +# CONFIG_CAN_M_CAN_TCAN4X5X is not set +# CONFIG_CAN_PEAK_PCIEFD is not set +# CONFIG_CAN_ROCKCHIP is not set +# CONFIG_CANFD_ROCKCHIP is not set +# CONFIG_CANFD_RK3576 is not set +CONFIG_CAN_SJA1000=m +CONFIG_CAN_EMS_PCI=m +# CONFIG_CAN_F81601 is not set +CONFIG_CAN_KVASER_PCI=m +CONFIG_CAN_PEAK_PCI=m +CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PLX_PCI=m +CONFIG_CAN_SJA1000_ISA=m +CONFIG_CAN_SJA1000_PLATFORM=m +CONFIG_CAN_SOFTING=m + +# +# CAN SPI interfaces +# +CONFIG_CAN_HI311X=m +CONFIG_CAN_MCP251X=m +CONFIG_CAN_MCP251XFD=m +# CONFIG_CAN_MCP251XFD_SANITY is not set +# end of CAN SPI interfaces + +# +# CAN USB interfaces +# +CONFIG_CAN_8DEV_USB=m +CONFIG_CAN_EMS_USB=m +# CONFIG_CAN_ESD_USB is not set +# CONFIG_CAN_ETAS_ES58X is not set +CONFIG_CAN_GS_USB=m +CONFIG_CAN_KVASER_USB=m +# CONFIG_CAN_MCBA_USB is not set +CONFIG_CAN_PEAK_USB=m +# CONFIG_CAN_UCAN is not set +# end of CAN USB interfaces + +CONFIG_CAN_DEBUG_DEVICES=y +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_BUS=y +CONFIG_FWNODE_MDIO=y +CONFIG_OF_MDIO=y +CONFIG_MDIO_DEVRES=y +# CONFIG_MDIO_BITBANG is not set +# CONFIG_MDIO_BCM_UNIMAC is not set +# CONFIG_MDIO_HISI_FEMAC is not set +# CONFIG_MDIO_MVUSB is not set +# CONFIG_MDIO_MSCC_MIIM is not set +# CONFIG_MDIO_OCTEON is not set +# CONFIG_MDIO_IPQ4019 is not set +# CONFIG_MDIO_IPQ8064 is not set +# CONFIG_MDIO_THUNDER is not set + +# +# MDIO Multiplexers +# +# CONFIG_MDIO_BUS_MUX_GPIO is not set +# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set + +# +# PCS device drivers +# +CONFIG_PCS_XPCS=y +# end of PCS device drivers + +CONFIG_PPP=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +# CONFIG_PPP_FILTER is not set +CONFIG_PPP_MPPE=m +# CONFIG_PPP_MULTILINK is not set +CONFIG_PPPOATM=m +CONFIG_PPPOE=m +# CONFIG_PPTP is not set +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +# CONFIG_SLIP is not set +CONFIG_SLHC=m +CONFIG_USB_NET_DRIVERS=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_USBNET=y +CONFIG_USB_NET_AX8817X=y +CONFIG_USB_NET_AX88179_178A=m +CONFIG_USB_NET_CDCETHER=y +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_NCM=y +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_NET1080=m +CONFIG_USB_NET_PLUSB=m +# CONFIG_USB_NET_MCS7830 is not set +CONFIG_USB_NET_RNDIS_HOST=y +CONFIG_USB_NET_CDC_SUBSET_ENABLE=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +# CONFIG_USB_ARMLINUX is not set +# CONFIG_USB_EPSON2888 is not set +CONFIG_USB_KC2190=y +CONFIG_USB_NET_ZAURUS=m +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 is not set +CONFIG_USB_IPHETH=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_VL600=m +CONFIG_USB_NET_CH9200=m +# CONFIG_USB_NET_AQC111 is not set +CONFIG_USB_RTL8153_ECM=m +CONFIG_WLAN=y +CONFIG_WLAN_VENDOR_ADMTEK=y +# CONFIG_ADM8211 is not set +CONFIG_AIC_WLAN_SUPPORT=y +CONFIG_AIC_FW_PATH="/lib/firmware/aic8800/SDIO/aic8800D80/" +CONFIG_AIC8800_WLAN_SUPPORT=m +CONFIG_AIC8800_BTLPM_SUPPORT=m +CONFIG_ATH_COMMON=m +CONFIG_WLAN_VENDOR_ATH=y +# CONFIG_ATH_DEBUG is not set +CONFIG_ATH5K=m +# CONFIG_ATH5K_DEBUG is not set +# CONFIG_ATH5K_TRACER is not set +CONFIG_ATH5K_PCI=y +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K=m +CONFIG_ATH9K_PCI=y +# CONFIG_ATH9K_AHB is not set +# CONFIG_ATH9K_DEBUGFS is not set +# CONFIG_ATH9K_DYNACK is not set +# CONFIG_ATH9K_WOW is not set +CONFIG_ATH9K_RFKILL=y +# CONFIG_ATH9K_CHANNEL_CONTEXT is not set +CONFIG_ATH9K_PCOEM=y +# CONFIG_ATH9K_PCI_NO_EEPROM is not set +# CONFIG_ATH9K_HTC is not set +# CONFIG_ATH9K_HWRNG is not set +CONFIG_CARL9170=m +CONFIG_CARL9170_LEDS=y +# CONFIG_CARL9170_DEBUGFS is not set +CONFIG_CARL9170_WPC=y +# CONFIG_CARL9170_HWRNG is not set +CONFIG_ATH6KL=m +# CONFIG_ATH6KL_SDIO is not set +CONFIG_ATH6KL_USB=m +# CONFIG_ATH6KL_DEBUG is not set +# CONFIG_ATH6KL_TRACING is not set +CONFIG_AR5523=m +CONFIG_WIL6210=m +CONFIG_WIL6210_ISR_COR=y +# CONFIG_WIL6210_TRACING is not set +CONFIG_WIL6210_DEBUGFS=y +CONFIG_ATH10K=m +CONFIG_ATH10K_CE=y +CONFIG_ATH10K_PCI=m +CONFIG_ATH10K_AHB=y +CONFIG_ATH10K_SDIO=m +CONFIG_ATH10K_USB=m +# CONFIG_ATH10K_DEBUG is not set +# CONFIG_ATH10K_DEBUGFS is not set +# CONFIG_ATH10K_TRACING is not set +CONFIG_WCN36XX=m +# CONFIG_WCN36XX_DEBUGFS is not set +CONFIG_ATH11K=m +CONFIG_ATH11K_PCI=m +# CONFIG_ATH11K_DEBUG is not set +# CONFIG_ATH11K_DEBUGFS is not set +# CONFIG_ATH11K_TRACING is not set +CONFIG_WLAN_VENDOR_ATMEL=y +# CONFIG_ATMEL is not set +CONFIG_AT76C50X_USB=m +CONFIG_WLAN_VENDOR_BROADCOM=y +CONFIG_B43=m +CONFIG_B43_BCMA=y +CONFIG_B43_SSB=y +CONFIG_B43_BUSES_BCMA_AND_SSB=y +# CONFIG_B43_BUSES_BCMA is not set +# CONFIG_B43_BUSES_SSB is not set +CONFIG_B43_PCI_AUTOSELECT=y +CONFIG_B43_PCICORE_AUTOSELECT=y +# CONFIG_B43_SDIO is not set +CONFIG_B43_BCMA_PIO=y +CONFIG_B43_PIO=y +CONFIG_B43_PHY_G=y +CONFIG_B43_PHY_N=y +CONFIG_B43_PHY_LP=y +CONFIG_B43_PHY_HT=y +CONFIG_B43_LEDS=y +CONFIG_B43_HWRNG=y +# CONFIG_B43_DEBUG is not set +CONFIG_B43LEGACY=m +CONFIG_B43LEGACY_PCI_AUTOSELECT=y +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y +CONFIG_B43LEGACY_LEDS=y +CONFIG_B43LEGACY_HWRNG=y +# CONFIG_B43LEGACY_DEBUG is not set +CONFIG_B43LEGACY_DMA=y +CONFIG_B43LEGACY_PIO=y +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y +# CONFIG_B43LEGACY_DMA_MODE is not set +# CONFIG_B43LEGACY_PIO_MODE is not set +CONFIG_BRCMUTIL=m +CONFIG_BRCMSMAC=m +CONFIG_BRCMFMAC=m +CONFIG_BRCMFMAC_PROTO_BCDC=y +CONFIG_BRCMFMAC_PROTO_MSGBUF=y +CONFIG_BRCMFMAC_SDIO=y +CONFIG_BRCMFMAC_USB=y +CONFIG_BRCMFMAC_PCIE=y +# CONFIG_BRCM_TRACING is not set +# CONFIG_BRCMDBG is not set +CONFIG_WLAN_VENDOR_CISCO=y +CONFIG_WLAN_VENDOR_INTEL=y +CONFIG_IPW2100=m +# CONFIG_IPW2100_MONITOR is not set +# CONFIG_IPW2100_DEBUG is not set +CONFIG_IPW2200=m +# CONFIG_IPW2200_MONITOR is not set +# CONFIG_IPW2200_QOS is not set +# CONFIG_IPW2200_DEBUG is not set +CONFIG_LIBIPW=m +# CONFIG_LIBIPW_DEBUG is not set +CONFIG_IWLEGACY=m +CONFIG_IWL4965=m +CONFIG_IWL3945=m + +# +# iwl3945 / iwl4965 Debugging Options +# +# CONFIG_IWLEGACY_DEBUG is not set +# CONFIG_IWLEGACY_DEBUGFS is not set +# end of iwl3945 / iwl4965 Debugging Options + +CONFIG_IWLWIFI=m +CONFIG_IWLWIFI_LEDS=y +CONFIG_IWLDVM=m +CONFIG_IWLMVM=m +CONFIG_IWLWIFI_OPMODE_MODULAR=y + +# +# Debugging Options +# +# CONFIG_IWLWIFI_DEBUG is not set +# CONFIG_IWLWIFI_DEBUGFS is not set +CONFIG_IWLWIFI_DEVICE_TRACING=y +# end of Debugging Options + +CONFIG_WLAN_VENDOR_INTERSIL=y +CONFIG_HOSTAP=m +CONFIG_HOSTAP_FIRMWARE=y +CONFIG_HOSTAP_FIRMWARE_NVRAM=y +# CONFIG_HOSTAP_PLX is not set +# CONFIG_HOSTAP_PCI is not set +# CONFIG_HERMES is not set +# CONFIG_P54_COMMON is not set +CONFIG_WLAN_VENDOR_MARVELL=y +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBERTAS_SDIO=m +CONFIG_LIBERTAS_SPI=m +# CONFIG_LIBERTAS_DEBUG is not set +# CONFIG_LIBERTAS_MESH is not set +CONFIG_LIBERTAS_THINFIRM=y +# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set +# CONFIG_LIBERTAS_THINFIRM_USB is not set +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_SDIO=m +# CONFIG_MWIFIEX_PCIE is not set +CONFIG_MWIFIEX_USB=m +# CONFIG_MWL8K is not set +CONFIG_WLAN_VENDOR_MEDIATEK=y +CONFIG_MT7601U=m +CONFIG_MT76_CORE=m +CONFIG_MT76_LEDS=y +CONFIG_MT76_USB=m +CONFIG_MT76_SDIO=m +CONFIG_MT76x02_LIB=m +CONFIG_MT76x02_USB=m +CONFIG_MT76_CONNAC_LIB=m +CONFIG_MT76x0_COMMON=m +CONFIG_MT76x0U=m +CONFIG_MT76x0E=m +CONFIG_MT76x2_COMMON=m +CONFIG_MT76x2E=m +CONFIG_MT76x2U=m +CONFIG_MT7603E=m +CONFIG_MT7615_COMMON=m +CONFIG_MT7615E=m +CONFIG_MT7663_USB_SDIO_COMMON=m +CONFIG_MT7663U=m +CONFIG_MT7663S=m +CONFIG_MT7915E=m +CONFIG_MT7921_COMMON=m +CONFIG_MT7921E=m +CONFIG_MT7921S=m +CONFIG_MT7921U=m +CONFIG_WLAN_VENDOR_MICROCHIP=y +CONFIG_WILC1000=m +CONFIG_WILC1000_SDIO=m +CONFIG_WILC1000_SPI=m +# CONFIG_WILC1000_HW_OOB_INTR is not set +CONFIG_WLAN_VENDOR_PURELIFI=y +# CONFIG_PLFXLC is not set +CONFIG_WLAN_VENDOR_RALINK=y +CONFIG_RT2X00=m +# CONFIG_RT2400PCI is not set +# CONFIG_RT2500PCI is not set +# CONFIG_RT61PCI is not set +CONFIG_RT2800PCI=m +CONFIG_RT2800PCI_RT33XX=y +CONFIG_RT2800PCI_RT35XX=y +CONFIG_RT2800PCI_RT53XX=y +CONFIG_RT2800PCI_RT3290=y +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT3573=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_RT55XX=y +CONFIG_RT2800USB_UNKNOWN=y +CONFIG_RT2800_LIB=m +CONFIG_RT2800_LIB_MMIO=m +CONFIG_RT2X00_LIB_MMIO=m +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_LEDS=y +# CONFIG_RT2X00_LIB_DEBUGFS is not set +# CONFIG_RT2X00_DEBUG is not set +CONFIG_WLAN_VENDOR_REALTEK=y +CONFIG_RTL8180=y +CONFIG_RTL8187=m +CONFIG_RTL8187_LEDS=y +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CE is not set +# CONFIG_RTL8192SE is not set +# CONFIG_RTL8192DE is not set +# CONFIG_RTL8723AE is not set +CONFIG_RTL8723BE=m +# CONFIG_RTL8188EE is not set +CONFIG_RTL8192EE=m +# CONFIG_RTL8821AE is not set +CONFIG_RTL8192CU=m +CONFIG_RTLWIFI=m +CONFIG_RTLWIFI_PCI=m +CONFIG_RTLWIFI_USB=m +CONFIG_RTLWIFI_DEBUG=y +CONFIG_RTL8192C_COMMON=m +CONFIG_RTL8723_COMMON=m +CONFIG_RTLBTCOEXIST=m +CONFIG_RTL8XXXU=m +# CONFIG_RTL8XXXU_UNTESTED is not set +CONFIG_RTW88=m +CONFIG_RTW88_CORE=m +CONFIG_RTW88_PCI=m +CONFIG_RTW88_8822B=m +CONFIG_RTW88_8822C=m +CONFIG_RTW88_8723D=m +CONFIG_RTW88_8821C=m +CONFIG_RTW88_8822BE=m +# CONFIG_RTW88_8822BS is not set +# CONFIG_RTW88_8822BU is not set +CONFIG_RTW88_8822CE=m +# CONFIG_RTW88_8822CS is not set +# CONFIG_RTW88_8822CU is not set +CONFIG_RTW88_8723DE=m +# CONFIG_RTW88_8723DS is not set +# CONFIG_RTW88_8723DU is not set +CONFIG_RTW88_8821CE=m +# CONFIG_RTW88_8821CS is not set +# CONFIG_RTW88_8821CU is not set +# CONFIG_RTW88_DEBUG is not set +# CONFIG_RTW88_DEBUGFS is not set +CONFIG_RTW89=m +CONFIG_RTW89_CORE=m +CONFIG_RTW89_PCI=m +CONFIG_RTW89_8852A=m +CONFIG_RTW89_8852B=m +CONFIG_RTW89_8852C=m +# CONFIG_RTW89_8851BE is not set +CONFIG_RTW89_8852AE=m +CONFIG_RTW89_8852BE=m +CONFIG_RTW89_8852CE=m +# CONFIG_RTW89_DEBUGMSG is not set +# CONFIG_RTW89_DEBUGFS is not set +CONFIG_WL_ROCKCHIP=y +CONFIG_WIFI_BUILD_MODULE=y +# CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP is not set +# CONFIG_WIFI_GENERATE_RANDOM_MAC_ADDR is not set +CONFIG_BCMDHD=y +CONFIG_AP6XXX=m +# CONFIG_BCMDHD_SDIO is not set +CONFIG_BCMDHD_PCIE=y +CONFIG_BCMDHD_FW_PATH="/lib/firmware/ap6275p/fw_bcmdhd.bin" +CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/ap6275p/nvram.txt" +# CONFIG_BCMDHD_STATIC_IF is not set +CONFIG_WLAN_VENDOR_RSI=y +# CONFIG_RSI_91X is not set +CONFIG_WLAN_VENDOR_SILABS=y +# CONFIG_WFX is not set +CONFIG_WLAN_VENDOR_ST=y +# CONFIG_CW1200 is not set +CONFIG_WLAN_VENDOR_TI=y +# CONFIG_WL1251 is not set +# CONFIG_WL12XX is not set +# CONFIG_WL18XX is not set +# CONFIG_WLCORE is not set +CONFIG_WLAN_VENDOR_ZYDAS=y +CONFIG_USB_ZD1201=m +# CONFIG_ZD1211RW is not set +CONFIG_WLAN_VENDOR_QUANTENNA=y +# CONFIG_QTNFMAC_PCIE is not set +# CONFIG_RTL8723DS is not set +# CONFIG_RTL8822BU is not set +# CONFIG_RTL8821CU is not set +# CONFIG_88XXAU is not set +# CONFIG_RTL8192EU is not set +# CONFIG_RTL8189FS is not set +# CONFIG_RTL8189ES is not set +# CONFIG_RTL8852BS is not set +# CONFIG_SPARD_WLAN_SUPPORT is not set +# CONFIG_MAC80211_HWSIM is not set +CONFIG_USB_NET_RNDIS_WLAN=y +# CONFIG_VIRT_WIFI is not set +# CONFIG_WAN is not set +# CONFIG_IEEE802154_DRIVERS is not set + +# +# Wireless WAN +# +CONFIG_WWAN=y +# end of Wireless WAN + +# CONFIG_VMXNET3 is not set +CONFIG_LTE=y +# CONFIG_NETDEVSIM is not set +CONFIG_NET_FAILOVER=m +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=m +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_SPARSEKMAP=m +CONFIG_INPUT_MATRIXKMAP=m +CONFIG_INPUT_VIVALDIFMAP=m + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ADC=m +CONFIG_KEYBOARD_ADP5588=m +CONFIG_KEYBOARD_ADP5589=m +CONFIG_KEYBOARD_ATKBD=m +CONFIG_KEYBOARD_QT1050=m +CONFIG_KEYBOARD_QT1070=m +CONFIG_KEYBOARD_QT2160=m +CONFIG_KEYBOARD_DLINK_DIR685=m +CONFIG_KEYBOARD_LKKBD=m +CONFIG_KEYBOARD_GPIO=m +CONFIG_KEYBOARD_GPIO_POLLED=m +CONFIG_KEYBOARD_TCA6416=m +CONFIG_KEYBOARD_TCA8418=m +CONFIG_KEYBOARD_MATRIX=m +CONFIG_KEYBOARD_LM8323=m +CONFIG_KEYBOARD_LM8333=m +CONFIG_KEYBOARD_MAX7359=m +CONFIG_KEYBOARD_MCS=m +CONFIG_KEYBOARD_MPR121=m +CONFIG_KEYBOARD_NEWTON=m +CONFIG_KEYBOARD_OPENCORES=m +CONFIG_KEYBOARD_PINEPHONE=m +CONFIG_KEYBOARD_SAMSUNG=m +CONFIG_KEYBOARD_STOWAWAY=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_OMAP4=m +CONFIG_KEYBOARD_TM2_TOUCHKEY=m +CONFIG_KEYBOARD_XTKBD=m +CONFIG_KEYBOARD_CAP11XX=m +CONFIG_KEYBOARD_BCM=m +CONFIG_KEYBOARD_CYPRESS_SF=m +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_BYD=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y +CONFIG_MOUSE_PS2_SENTELIC=y +CONFIG_MOUSE_PS2_TOUCHKIT=y +CONFIG_MOUSE_PS2_FOCALTECH=y +CONFIG_MOUSE_PS2_SMBUS=y +CONFIG_MOUSE_SERIAL=m +CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_BCM5974=m +CONFIG_MOUSE_CYAPA=m +CONFIG_MOUSE_ELAN_I2C=m +CONFIG_MOUSE_ELAN_I2C_I2C=y +CONFIG_MOUSE_ELAN_I2C_SMBUS=y +CONFIG_MOUSE_VSXXXAA=m +CONFIG_MOUSE_GPIO=m +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_AS5011=m +CONFIG_JOYSTICK_JOYDUMP=m +CONFIG_JOYSTICK_XPAD=m +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +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_TABLET_USB_ACECAD=m +CONFIG_TABLET_USB_AIPTEK=m +CONFIG_TABLET_USB_HANWANG=m +CONFIG_TABLET_USB_KBTAB=m +CONFIG_TABLET_USB_PEGASUS=m +CONFIG_TABLET_SERIAL_WACOM4=m +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_ATMEL_MXT_T37=y +CONFIG_TOUCHSCREEN_AUO_PIXCIR=m +CONFIG_TOUCHSCREEN_BU21013=m +CONFIG_TOUCHSCREEN_BU21029=m +CONFIG_TOUCHSCREEN_CHIPONE_ICN8318=m +# CONFIG_TOUCHSCREEN_CHIPONE_9551R is not set +CONFIG_TOUCHSCREEN_CY8CTMA140=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_CYPRESS_CYTTSP5=m +# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICETREE_SUPPORT is not set +# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_I2C is not set +# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_SPI is not set +# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_MT_A is not set +CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_MT_B=y +# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_BUTTON is not set +# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_PROXIMITY is not set +# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS is not set +# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_LOADER is not set +# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEBUG_MDL is not set +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_FTS is not set +# CONFIG_TOUCHSCREEN_FT5726 is not set +CONFIG_TOUCHSCREEN_FUJITSU=m +CONFIG_TOUCHSCREEN_GOODIX=m +CONFIG_TOUCHSCREEN_GSL3673=y +CONFIG_TOUCHSCREEN_GSL3673_800X1280=m +CONFIG_TOUCHSCREEN_GSLX680_PAD=m +CONFIG_TOUCHSCREEN_GT1X=y +CONFIG_TOUCHSCREEN_GT9XX=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_ELAN5515=m +CONFIG_TOUCHSCREEN_ELO=m +CONFIG_TOUCHSCREEN_WACOM_W8001=m +CONFIG_TOUCHSCREEN_WACOM_W9013=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_IMAGIS=m +CONFIG_TOUCHSCREEN_IMX6UL_TSC=m +CONFIG_TOUCHSCREEN_INEXIO=m +CONFIG_TOUCHSCREEN_MK712=m +# CONFIG_TOUCHSCREEN_PARADE is not set +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_USB_COMPOSITE=m +CONFIG_TOUCHSCREEN_USB_EGALAX=y +CONFIG_TOUCHSCREEN_USB_PANJIT=y +CONFIG_TOUCHSCREEN_USB_3M=y +CONFIG_TOUCHSCREEN_USB_ITM=y +CONFIG_TOUCHSCREEN_USB_ETURBO=y +CONFIG_TOUCHSCREEN_USB_GUNZE=y +CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y +CONFIG_TOUCHSCREEN_USB_IRTOUCH=y +CONFIG_TOUCHSCREEN_USB_IDEALTEK=y +CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y +CONFIG_TOUCHSCREEN_USB_GOTOP=y +CONFIG_TOUCHSCREEN_USB_JASTEC=y +CONFIG_TOUCHSCREEN_USB_ELO=y +CONFIG_TOUCHSCREEN_USB_E2I=y +CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y +CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y +CONFIG_TOUCHSCREEN_USB_NEXIO=y +CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y +CONFIG_TOUCHSCREEN_TOUCHIT213=m +CONFIG_TOUCHSCREEN_TSC_SERIO=m +CONFIG_TOUCHSCREEN_TSC200X_CORE=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_SUR40=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_TOUCHSCREEN_HIMAX_CHIPSET=y +CONFIG_TOUCHSCREEN_HIMAX_COMMON=m +# CONFIG_TOUCHSCREEN_HIMAX_ONCELL is not set +CONFIG_TOUCHSCREEN_HIMAX_INCELL=y +# CONFIG_TOUCHSCREEN_HIMAX_IC_HX83192 is not set +# CONFIG_TOUCHSCREEN_HIMAX_IC_HX83191 is not set +# CONFIG_TOUCHSCREEN_HIMAX_IC_HX83113 is not set +# CONFIG_TOUCHSCREEN_HIMAX_IC_HX83112 is not set +# CONFIG_TOUCHSCREEN_HIMAX_IC_HX83111 is not set +# CONFIG_TOUCHSCREEN_HIMAX_IC_HX83106 is not set +# CONFIG_TOUCHSCREEN_HIMAX_IC_HX83108 is not set +# CONFIG_TOUCHSCREEN_HIMAX_IC_HX83103 is not set +# CONFIG_TOUCHSCREEN_HIMAX_IC_HX83102 is not set +CONFIG_TOUCHSCREEN_HIMAX_IC_HX83121=y +# CONFIG_TOUCHSCREEN_HIMAX_DEBUG is not set +CONFIG_TOUCHSCREEN_HIMAX_INSPECT=y +# CONFIG_TOUCHSCREEN_HIMAX_EMBEDDED_FIRMWARE is not set +# CONFIG_HMX_DB is not set +# CONFIG_HIMAX_SUPPORT_KERNEL_419 is not set +CONFIG_ROCKCHIP_REMOTECTL=y +CONFIG_ROCKCHIP_REMOTECTL_PWM=y + +# +# handle all sensors +# +CONFIG_SENSOR_DEVICE=m +CONFIG_ANGLE_DEVICE=m +CONFIG_ANGLE_KXTIK=m +CONFIG_ANGLE_LIS3DH=m +CONFIG_GSENSOR_DEVICE=m +CONFIG_GS_MMA8452=m +CONFIG_STK8BAXX_ACC=m +CONFIG_MPU6880_ACC=m +CONFIG_MPU6500_ACC=m +CONFIG_GS_KXTIK=m +CONFIG_GS_KXTJ9=m +CONFIG_GS_LIS3DH=m +CONFIG_GS_MMA7660=m +CONFIG_GS_MC3230=m +CONFIG_GS_SC7660=m +CONFIG_GS_SC7A20=m +CONFIG_GS_SC7A30=m +CONFIG_GS_MXC6225=m +CONFIG_GS_MXC6655XA=m +CONFIG_GS_DMT10=m +CONFIG_GS_LSM303D=m +CONFIG_GS_BMA023=m +CONFIG_LSM330_ACC=m +CONFIG_BMA2XX_ACC=m +CONFIG_GS_DA215S=m +CONFIG_GS_DA223=m +CONFIG_GS_DA228E=m +CONFIG_ICM2060X_ACC=m +# CONFIG_ICM4260X_ACC is not set +# CONFIG_IAM20680_ACC is not set +CONFIG_COMPASS_DEVICE=m +CONFIG_COMPASS_AK8975=m +CONFIG_COMPASS_AK8963=m +CONFIG_COMPASS_AK09911=m +CONFIG_COMPASS_AK09918=m +CONFIG_GYROSCOPE_DEVICE=m +CONFIG_GYRO_L3G4200D=m +CONFIG_GYRO_K3G=m +CONFIG_GYRO_L3G20D=m +CONFIG_GYRO_EWTSA=m +CONFIG_GYRO_MPU6500=m +CONFIG_GYRO_MPU6880=m +CONFIG_GYRO_LSM330=m +CONFIG_GYRO_ICM2060X=m +# CONFIG_GYRO_ICM4260X is not set +# CONFIG_GYRO_IAM20680 is not set +CONFIG_LIGHT_DEVICE=m +CONFIG_LS_CM3217=m +CONFIG_LS_CM3218=m +CONFIG_LS_CM3232=m +CONFIG_LS_AL3006=m +CONFIG_LS_STK3171=m +CONFIG_LS_ISL29023=m +CONFIG_LS_AP321XX=m +CONFIG_LS_UCS14620=m +CONFIG_LS_US5152=m +CONFIG_LS_STK3332=m +CONFIG_LS_STK3410=m +CONFIG_LS_EM3071X=m +CONFIG_PROXIMITY_DEVICE=m +CONFIG_PS_AL3006=m +CONFIG_PS_STK3171=m +CONFIG_PS_AP321XX=m +CONFIG_PS_STK3332=m +CONFIG_PS_STK3410=m +CONFIG_PS_EM3071X=m +CONFIG_PS_UCS14620=m +CONFIG_TEMPERATURE_DEVICE=m +CONFIG_TMP_MS5607=m +CONFIG_PRESSURE_DEVICE=m +CONFIG_PR_MS5607=m +CONFIG_HALL_DEVICE=m +CONFIG_HS_OCH165T=m +CONFIG_HS_MH248=m + +# +# Fingerprint support +# +# CONFIG_MICROARRAY_FINGERPRINT is not set +# end of Fingerprint support + +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_ATMEL_CAPTOUCH is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_DECODER is not set +# CONFIG_INPUT_GPIO_VIBRA is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYSPAN_REMOTE is not set +# CONFIG_INPUT_KXTJ9 is not set +# CONFIG_INPUT_POWERMATE is not set +# CONFIG_INPUT_YEALINK is not set +# CONFIG_INPUT_CM109 is not set +# CONFIG_INPUT_REGULATOR_HAPTIC is not set +CONFIG_INPUT_UINPUT=y +# CONFIG_INPUT_PCF8574 is not set +# CONFIG_INPUT_PWM_BEEPER is not set +# CONFIG_INPUT_PWM_VIBRA is not set +CONFIG_INPUT_RK805_PWRKEY=m +# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set +# CONFIG_INPUT_DA7280_HAPTICS is not set +# CONFIG_INPUT_ADXL34X is not set +# CONFIG_INPUT_IBM_PANEL is not set +# CONFIG_INPUT_IMS_PCU is not set +# CONFIG_INPUT_IQS269A is not set +# CONFIG_INPUT_IQS626A is not set +# CONFIG_INPUT_IQS7222 is not set +# CONFIG_INPUT_CMA3000 is not set +# CONFIG_INPUT_DRV260X_HAPTICS is not set +# CONFIG_INPUT_DRV2665_HAPTICS is not set +# CONFIG_INPUT_DRV2667_HAPTICS is not set +# CONFIG_RMI4_CORE is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=m +CONFIG_SERIO_SERPORT=m +# CONFIG_SERIO_AMBAKMI is not set +# CONFIG_SERIO_PCIPS2 is not set +CONFIG_SERIO_LIBPS2=m +CONFIG_SERIO_RAW=m +# CONFIG_SERIO_ALTERA_PS2 is not set +# CONFIG_SERIO_PS2MULT is not set +# CONFIG_SERIO_ARC_PS2 is not set +# CONFIG_SERIO_APBPS2 is not set +# CONFIG_SERIO_GPIO_PS2 is not set +# CONFIG_USERIO is not set +CONFIG_GAMEPORT=m +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set +# CONFIG_GAMEPORT_EMU10K1 is not set +# CONFIG_GAMEPORT_FM801 is not set +# end of Hardware I/O ports +# end of Input device support + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +CONFIG_LDISC_AUTOLOAD=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y +CONFIG_SERIAL_8250_16550A_VARIANTS=y +# CONFIG_SERIAL_8250_FINTEK is not set +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_DMA=y +# CONFIG_SERIAL_8250_PCI is not set +CONFIG_SERIAL_8250_NR_UARTS=10 +CONFIG_SERIAL_8250_RUNTIME_UARTS=10 +# CONFIG_SERIAL_8250_EXTENDED is not set +CONFIG_SERIAL_8250_DWLIB=y +CONFIG_SERIAL_8250_FSL=y +CONFIG_SERIAL_8250_DW=y +# CONFIG_SERIAL_8250_RT288X is not set +CONFIG_SERIAL_8250_PERICOM=y +CONFIG_SERIAL_OF_PLATFORM=y + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +# CONFIG_SERIAL_AMBA_PL011 is not set +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +# CONFIG_SERIAL_MAX3100 is not set +# CONFIG_SERIAL_MAX310X is not set +# CONFIG_SERIAL_UARTLITE is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_SIFIVE is not set +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_FSL_LINFLEXUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_SPRD is not set +# end of Serial drivers + +CONFIG_SERIAL_MCTRL_GPIO=y +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_NOZOMI is not set +# CONFIG_NULL_TTY is not set +# CONFIG_HVC_DCC is not set +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y +# CONFIG_TTY_PRINTK is not set +# CONFIG_VIRTIO_CONSOLE is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_IPMB_DEVICE_INTERFACE is not set +CONFIG_HW_RANDOM=y +# CONFIG_HW_RANDOM_TIMERIOMEM is not set +# CONFIG_HW_RANDOM_BA431 is not set +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_OPTEE=y +# CONFIG_HW_RANDOM_CCTRNG is not set +# CONFIG_HW_RANDOM_XIPHERA is not set +CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y +CONFIG_HW_RANDOM_CN10K=y +CONFIG_HW_RANDOM_ROCKCHIP=y +# CONFIG_APPLICOM is not set +CONFIG_DEVMEM=y +CONFIG_DEVPORT=y +CONFIG_TCG_TPM=y +CONFIG_HW_RANDOM_TPM=y +# CONFIG_TCG_TIS is not set +# CONFIG_TCG_TIS_SPI is not set +# CONFIG_TCG_TIS_I2C is not set +# CONFIG_TCG_TIS_I2C_CR50 is not set +# CONFIG_TCG_TIS_I2C_ATMEL is not set +CONFIG_TCG_TIS_I2C_INFINEON=y +# CONFIG_TCG_TIS_I2C_NUVOTON is not set +# CONFIG_TCG_ATMEL is not set +# CONFIG_TCG_VTPM_PROXY is not set +# CONFIG_TCG_FTPM_TEE is not set +# CONFIG_TCG_TIS_ST33ZP24_I2C is not set +# CONFIG_TCG_TIS_ST33ZP24_SPI is not set +# CONFIG_XILLYBUS is not set +# CONFIG_XILLYUSB is not set +# CONFIG_RANDOM_TRUST_CPU is not set +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set +# end of Character devices + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y + +# +# Multiplexer I2C Chip support +# +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 +# end of Multiplexer I2C Chip support + +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_SMBUS=m +CONFIG_I2C_ALGOBIT=y +CONFIG_I2C_ALGOPCA=m + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_NVIDIA_GPU is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_CADENCE is not set +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_DESIGNWARE_PCI is not set +# CONFIG_I2C_EMEV2 is not set +CONFIG_I2C_GPIO=m +# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set +CONFIG_I2C_NOMADIK=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_RK3X=y +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_THUNDERX=m +CONFIG_I2C_XILINX=m + +# +# External I2C/SMBus adapter drivers +# +CONFIG_I2C_DIOLAN_U2C=m +# CONFIG_I2C_CP2615 is not set +# CONFIG_I2C_PCI1XXXX is not set +CONFIG_I2C_ROBOTFUZZ_OSIF=m +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_TINY_USB=m + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_VIRTIO is not set +# end of I2C Hardware Bus support + +CONFIG_I2C_STUB=m +CONFIG_I2C_SLAVE=y +CONFIG_I2C_SLAVE_EEPROM=m +CONFIG_I2C_SLAVE_TESTUNIT=m +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# end of I2C support + +# CONFIG_I3C is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +# CONFIG_SPI_AXI_SPI_ENGINE is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_CADENCE_QUADSPI is not set +# CONFIG_SPI_CADENCE_XSPI is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_NXP_FLEXSPI is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +# CONFIG_SPI_MICROCHIP_CORE is not set +# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set +# CONFIG_SPI_OC_TINY is not set +# CONFIG_SPI_PL022 is not set +# CONFIG_SPI_PXA2XX is not set +CONFIG_SPI_ROCKCHIP=y +CONFIG_SPI_ROCKCHIP_MISCDEV=y +# CONFIG_SPI_ROCKCHIP_FLEXBUS_FSPI is not set +CONFIG_SPI_ROCKCHIP_SFC=y +CONFIG_SPI_ROCKCHIP_SLAVE=y +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_SIFIVE is not set +# CONFIG_SPI_MXIC is not set +# CONFIG_SPI_THUNDERX is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_AMD is not set + +# +# SPI Multiplexer support +# +CONFIG_SPI_MUX=m + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +CONFIG_SPI_LOOPBACK_TEST=m +# CONFIG_SPI_TLE62X0 is not set +CONFIG_SPI_SLAVE=y +# CONFIG_SPI_SLAVE_TIME is not set +# CONFIG_SPI_SLAVE_SYSTEM_CONTROL is not set +# CONFIG_SPI_SLAVE_ROCKCHIP_OBJ is not set +CONFIG_SPI_DYNAMIC=y +CONFIG_SPMI=m +# CONFIG_SPMI_HISI3670 is not set +CONFIG_HSI=m +CONFIG_HSI_BOARDINFO=y + +# +# HSI controllers +# + +# +# HSI clients +# +# CONFIG_HSI_CHAR is not set +CONFIG_PPS=y +# CONFIG_PPS_DEBUG is not set + +# +# PPS clients support +# +CONFIG_PPS_CLIENT_KTIMER=m +# CONFIG_PPS_CLIENT_LDISC is not set +CONFIG_PPS_CLIENT_GPIO=m + +# +# PPS generators support +# + +# +# PTP clock support +# +CONFIG_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_OPTIONAL=y + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_PTP_1588_CLOCK_KVM=m +# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set +# CONFIG_PTP_1588_CLOCK_IDTCM is not set +# CONFIG_PTP_1588_CLOCK_OCP is not set +# end of PTP clock support + +CONFIG_PINCTRL=y +CONFIG_PINMUX=y +CONFIG_PINCONF=y +CONFIG_GENERIC_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_CY8C95X0 is not set +# CONFIG_PINCTRL_MCP23S08 is not set +# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set +# CONFIG_PINCTRL_OCELOT is not set +CONFIG_PINCTRL_RK805=m +CONFIG_PINCTRL_RK806=y +CONFIG_PINCTRL_ROCKCHIP=y +# CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_STMFX is not set +# CONFIG_PINCTRL_SX150X is not set + +# +# Renesas pinctrl drivers +# +# end of Renesas pinctrl drivers + +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_CDEV_V1=y +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_MAX730X=m + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_CADENCE is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_FTGPIO010 is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_HLWD is not set +# CONFIG_GPIO_LOGICVC is not set +# CONFIG_GPIO_MB86S7X is not set +# CONFIG_GPIO_PL061 is not set +CONFIG_GPIO_ROCKCHIP=y +# CONFIG_GPIO_SIFIVE is not set +# CONFIG_GPIO_SYSCON is not set +# CONFIG_GPIO_XGENE is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_AMD_FCH is not set +# end of Memory mapped GPIO drivers + +# +# I2C GPIO expanders +# +CONFIG_GPIO_ADNP=m +CONFIG_GPIO_AW9110=m +CONFIG_GPIO_GW_PLD=m +CONFIG_GPIO_MAX7300=m +CONFIG_GPIO_MAX732X=m +# CONFIG_GPIO_NCA9539 is not set +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCA953X_IRQ=y +CONFIG_GPIO_PCA9570=m +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_TPIC2810=m +# end of I2C GPIO expanders + +# +# MFD GPIO expanders +# +# CONFIG_GPIO_TPS6586X is not set +# end of MFD GPIO expanders + +# +# PCI GPIO expanders +# +CONFIG_GPIO_BT8XX=m +CONFIG_GPIO_PCI_IDIO_16=m +CONFIG_GPIO_PCIE_IDIO_24=m +CONFIG_GPIO_RDC321X=m +# end of PCI GPIO expanders + +# +# SPI GPIO expanders +# +CONFIG_GPIO_74X164=m +CONFIG_GPIO_MAX3191X=m +CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MC33880=m +CONFIG_GPIO_PISOSR=m +CONFIG_GPIO_XRA1403=m +# end of SPI GPIO expanders + +# +# USB GPIO expanders +# +# end of USB GPIO expanders + +# +# Virtual GPIO drivers +# +CONFIG_GPIO_AGGREGATOR=m +CONFIG_GPIO_MOCKUP=m +# CONFIG_GPIO_VIRTIO is not set +# CONFIG_GPIO_SIM is not set +# end of Virtual GPIO drivers + +CONFIG_W1=m +CONFIG_W1_CON=y + +# +# 1-wire Bus Masters +# +CONFIG_W1_MASTER_MATROX=m +CONFIG_W1_MASTER_DS2490=m +CONFIG_W1_MASTER_DS2482=m +CONFIG_W1_MASTER_DS1WM=m +CONFIG_W1_MASTER_GPIO=m +CONFIG_W1_MASTER_SGI=m +# end of 1-wire Bus Masters + +# +# 1-wire Slaves +# +CONFIG_W1_SLAVE_THERM=m +CONFIG_W1_SLAVE_SMEM=m +CONFIG_W1_SLAVE_DS2405=m +CONFIG_W1_SLAVE_DS2408=m +CONFIG_W1_SLAVE_DS2408_READBACK=y +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_DS2433_CRC=y +CONFIG_W1_SLAVE_DS2438=m +CONFIG_W1_SLAVE_DS250X=m +CONFIG_W1_SLAVE_DS2780=m +CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS28E04=m +CONFIG_W1_SLAVE_DS28E17=m +# end of 1-wire Slaves + +CONFIG_POWER_RESET=y +# CONFIG_POWER_RESET_BRCMSTB is not set +CONFIG_POWER_RESET_GPIO=y +CONFIG_POWER_RESET_GPIO_RESTART=y +# CONFIG_POWER_RESET_LTC2952 is not set +# CONFIG_POWER_RESET_REGULATOR is not set +# CONFIG_POWER_RESET_RESTART is not set +# CONFIG_POWER_RESET_XGENE is not set +# CONFIG_POWER_RESET_SYSCON is not set +# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set +CONFIG_REBOOT_MODE=y +CONFIG_SYSCON_REBOOT_MODE=y +# CONFIG_NVMEM_REBOOT_MODE is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_POWER_SUPPLY_HWMON=y +# CONFIG_PDA_POWER is not set +# CONFIG_GENERIC_ADC_BATTERY is not set +# CONFIG_IP5XXX_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_CHARGER_ADP5061 is not set +# CONFIG_BATTERY_CW2015 is not set +CONFIG_BATTERY_CW2017=y +# CONFIG_BATTERY_CW221X is not set +# CONFIG_BATTERY_DS2760 is not set +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_SAMSUNG_SDI is not set +CONFIG_BATTERY_SBS=y +# CONFIG_CHARGER_SBS is not set +# CONFIG_MANAGER_SBS is not set +# CONFIG_BATTERY_BQ27XXX is not set +# CONFIG_BATTERY_MAX17040 is not set +CONFIG_BATTERY_MAX17042=y +# CONFIG_BATTERY_MAX1721X is not set +# CONFIG_CHARGER_ISP1704 is not set +# CONFIG_CHARGER_MAX8903 is not set +# CONFIG_CHARGER_LP8727 is not set +CONFIG_CHARGER_GPIO=y +# CONFIG_CHARGER_MANAGER is not set +# CONFIG_ROCKCHIP_CHARGER_MANAGER is not set +# CONFIG_CHARGER_LT3651 is not set +# CONFIG_CHARGER_LTC4162L is not set +# CONFIG_CHARGER_SC8551 is not set +# CONFIG_CHARGER_SC89890 is not set +# CONFIG_CHARGER_DETECTOR_MAX14656 is not set +# CONFIG_CHARGER_MAX77976 is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24190 is not set +# CONFIG_CHARGER_BQ24257 is not set +CONFIG_CHARGER_BQ24735=y +# CONFIG_CHARGER_BQ2515X is not set +CONFIG_CHARGER_BQ25700=y +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_BQ25980 is not set +# CONFIG_CHARGER_BQ256XX is not set +# CONFIG_BATTERY_RK816 is not set +CONFIG_BATTERY_RK817=y +CONFIG_CHARGER_RK817=y +# CONFIG_BATTERY_RK818 is not set +# CONFIG_CHARGER_RK818 is not set +# CONFIG_CHARGER_SGM41542 is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_GOLDFISH is not set +# CONFIG_BATTERY_RT5033 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_UCS1002 is not set +# CONFIG_CHARGER_BD99954 is not set +# CONFIG_BATTERY_UG3105 is not set +CONFIG_HWMON=y +CONFIG_HWMON_VID=m +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# +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_ADT7X10=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 is not set +# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set +CONFIG_SENSORS_AS370=m +CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_AXI_FAN_CONTROL=m +CONFIG_SENSORS_ARM_SCMI=m +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_CORSAIR_CPRO=m +# CONFIG_SENSORS_CORSAIR_PSU is not set +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=m +CONFIG_SENSORS_LTC2947_I2C=m +CONFIG_SENSORS_LTC2947_SPI=m +CONFIG_SENSORS_LTC2990=m +# CONFIG_SENSORS_LTC2992 is not set +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 is not set +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 is not set +# CONFIG_SENSORS_MAX6620 is not set +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 is not set +CONFIG_SENSORS_MR75203=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_CORE=m +CONFIG_SENSORS_NCT6775=m +# CONFIG_SENSORS_NCT6775_I2C is not set +CONFIG_SENSORS_NCT7802=m +CONFIG_SENSORS_NCT7904=m +CONFIG_SENSORS_NPCM7XX=m +# CONFIG_SENSORS_NZXT_KRAKEN2 is not set +# CONFIG_SENSORS_NZXT_SMART2 is not set +CONFIG_SENSORS_OCC_P8_I2C=m +CONFIG_SENSORS_OCC=m +CONFIG_SENSORS_PCF8591=m +CONFIG_PMBUS=m +CONFIG_SENSORS_PMBUS=m +# CONFIG_SENSORS_ADM1266 is not set +# CONFIG_SENSORS_ADM1275 is not set +# CONFIG_SENSORS_BEL_PFE is not set +# CONFIG_SENSORS_BPA_RS600 is not set +# CONFIG_SENSORS_DELTA_AHE50DC_FAN is not set +# CONFIG_SENSORS_FSP_3Y is not set +# CONFIG_SENSORS_IBM_CFFPS is not set +# CONFIG_SENSORS_DPS920AB is not set +# CONFIG_SENSORS_INSPUR_IPSPS is not set +# CONFIG_SENSORS_IR35221 is not set +# CONFIG_SENSORS_IR36021 is not set +# CONFIG_SENSORS_IR38064 is not set +# CONFIG_SENSORS_IRPS5401 is not set +# CONFIG_SENSORS_ISL68137 is not set +# CONFIG_SENSORS_LM25066 is not set +# CONFIG_SENSORS_LT7182S is not set +# CONFIG_SENSORS_LTC2978 is not set +# CONFIG_SENSORS_LTC3815 is not set +# CONFIG_SENSORS_MAX15301 is not set +# CONFIG_SENSORS_MAX16064 is not set +# CONFIG_SENSORS_MAX16601 is not set +# CONFIG_SENSORS_MAX20730 is not set +# CONFIG_SENSORS_MAX20751 is not set +# CONFIG_SENSORS_MAX31785 is not set +# CONFIG_SENSORS_MAX34440 is not set +# CONFIG_SENSORS_MAX8688 is not set +# CONFIG_SENSORS_MP2888 is not set +# CONFIG_SENSORS_MP2975 is not set +# CONFIG_SENSORS_MP5023 is not set +# CONFIG_SENSORS_PIM4328 is not set +# CONFIG_SENSORS_PLI1209BC is not set +# CONFIG_SENSORS_PM6764TR is not set +# CONFIG_SENSORS_PXE1610 is not set +# CONFIG_SENSORS_Q54SJ108A2 is not set +# CONFIG_SENSORS_STPDDC60 is not set +# CONFIG_SENSORS_TPS40422 is not set +# CONFIG_SENSORS_TPS53679 is not set +# CONFIG_SENSORS_TPS546D24 is not set +# CONFIG_SENSORS_UCD9000 is not set +# CONFIG_SENSORS_UCD9200 is not set +# CONFIG_SENSORS_XDPE152 is not set +# CONFIG_SENSORS_XDPE122 is not set +# CONFIG_SENSORS_ZL6100 is not set +CONFIG_SENSORS_PWM_FAN=m +# CONFIG_SENSORS_SBTSI is not set +# CONFIG_SENSORS_SBRMI is not set +CONFIG_SENSORS_SHT15=m +CONFIG_SENSORS_SHT21=m +CONFIG_SENSORS_SHT3x=m +# CONFIG_SENSORS_SHT4x is not set +CONFIG_SENSORS_SHTC1=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_EMC1403=m +CONFIG_SENSORS_EMC2103=m +# CONFIG_SENSORS_EMC2305 is not set +CONFIG_SENSORS_EMC6W201=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SENSORS_SCH5627=m +CONFIG_SENSORS_SCH5636=m +CONFIG_SENSORS_STTS751=m +CONFIG_SENSORS_SMM665=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_INA238 is not set +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_TMP464 is not set +CONFIG_SENSORS_TMP513=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_W83795_FANCTRL is not set +CONFIG_SENSORS_W83L785TS=m +CONFIG_SENSORS_W83L786NG=m +CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83627EHF=m +CONFIG_THERMAL=y +# CONFIG_THERMAL_NETLINK is not set +# CONFIG_THERMAL_STATISTICS is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 +CONFIG_THERMAL_HWMON=y +CONFIG_THERMAL_OF=y +CONFIG_THERMAL_WRITABLE_TRIPS=y +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y +# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set +# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +# CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set +CONFIG_THERMAL_GOV_FAIR_SHARE=y +CONFIG_THERMAL_GOV_STEP_WISE=y +# CONFIG_THERMAL_GOV_BANG_BANG is not set +CONFIG_THERMAL_GOV_USER_SPACE=y +CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y +CONFIG_CPU_THERMAL=y +CONFIG_CPU_FREQ_THERMAL=y +CONFIG_DEVFREQ_THERMAL=y +# CONFIG_THERMAL_EMULATION is not set +# CONFIG_THERMAL_MMIO is not set +CONFIG_ROCKCHIP_THERMAL=y +# CONFIG_RK_VIRTUAL_THERMAL is not set +# CONFIG_GENERIC_ADC_THERMAL is not set +CONFIG_KHADAS_MCU_FAN_THERMAL=m +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y +CONFIG_WATCHDOG_OPEN_TIMEOUT=0 +# CONFIG_WATCHDOG_SYSFS is not set +# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set + +# +# Watchdog Pretimeout Governors +# +# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +# CONFIG_GPIO_WATCHDOG is not set +# CONFIG_XILINX_WATCHDOG is not set +# CONFIG_ZIIRAVE_WATCHDOG is not set +# CONFIG_ARM_SP805_WATCHDOG is not set +# CONFIG_ARM_SBSA_WATCHDOG is not set +# CONFIG_CADENCE_WATCHDOG is not set +CONFIG_DW_WATCHDOG=y +# CONFIG_MAX63XX_WATCHDOG is not set +CONFIG_KHADAS_WATCHDOG=y +# CONFIG_ARM_SMC_WATCHDOG is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_HP_WATCHDOG is not set +# CONFIG_MEN_A21_WDT is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y +CONFIG_SSB=m +CONFIG_SSB_SPROM=y +CONFIG_SSB_BLOCKIO=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_SDIOHOST_POSSIBLE=y +# CONFIG_SSB_SDIOHOST is not set +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_DRIVER_PCICORE=y +# CONFIG_SSB_DRIVER_GPIO is not set +CONFIG_BCMA_POSSIBLE=y +CONFIG_BCMA=m +CONFIG_BCMA_BLOCKIO=y +CONFIG_BCMA_HOST_PCI_POSSIBLE=y +CONFIG_BCMA_HOST_PCI=y +# CONFIG_BCMA_HOST_SOC is not set +CONFIG_BCMA_DRIVER_PCI=y +# CONFIG_BCMA_DRIVER_GMAC_CMN is not set +# CONFIG_BCMA_DRIVER_GPIO is not set +# CONFIG_BCMA_DEBUG is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_BD9571MWV is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_MADERA is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_DA9052_SPI is not set +# CONFIG_MFD_DA9052_I2C is not set +# CONFIG_MFD_DA9055 is not set +# CONFIG_MFD_DA9062 is not set +# CONFIG_MFD_DA9063 is not set +# CONFIG_MFD_DA9150 is not set +# CONFIG_MFD_DLN2 is not set +# CONFIG_MFD_GATEWORKS_GSC is not set +# CONFIG_MFD_MC13XXX_SPI is not set +# CONFIG_MFD_MC13XXX_I2C is not set +# CONFIG_MFD_MP2629 is not set +# CONFIG_MFD_HI6421_PMIC is not set +# CONFIG_MFD_HI6421_SPMI is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_LPC_ICH is not set +# CONFIG_LPC_SCH is not set +# CONFIG_MFD_IQS62X is not set +# CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77620 is not set +# CONFIG_MFD_MAX77650 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77714 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MAX96745 is not set +# CONFIG_MFD_MAX96755F is not set +# CONFIG_MFD_MT6360 is not set +# CONFIG_MFD_MT6370 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_MFD_OCELOT is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_CPCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_NTXEC is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_SY7636A is not set +CONFIG_MFD_RDC321X=m +# CONFIG_MFD_RT4831 is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RT5120 is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK618 is not set +# CONFIG_MFD_RK630 is not set +# CONFIG_MFD_RK630_I2C is not set +# CONFIG_MFD_RK630_SPI is not set +CONFIG_MFD_RK806=y +CONFIG_MFD_RK806_I2C=y +CONFIG_MFD_RK806_SPI=y +CONFIG_MFD_RK808=y +# CONFIG_MFD_RK1000 is not set + +# +# driver for different display serdes +# +# CONFIG_MFD_SERDES_DISPLAY is not set +# CONFIG_MFD_RKX110_X120 is not set +# CONFIG_MFD_ROCKCHIP_FLEXBUS is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +CONFIG_MFD_SIMPLE_MFD_I2C=m +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_STMPE is not set +CONFIG_MFD_SYSCON=y +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_TI_LMU is not set +# CONFIG_MFD_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X is not set +# CONFIG_MFD_TPS65086 is not set +# CONFIG_MFD_TPS65090 is not set +# CONFIG_MFD_TPS65217 is not set +# CONFIG_MFD_TI_LP873X is not set +# CONFIG_MFD_TI_LP87565 is not set +# CONFIG_MFD_TPS65218 is not set +CONFIG_MFD_TPS6586X=y +# CONFIG_MFD_TPS65910 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +CONFIG_MFD_WL1273_CORE=m +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TQMX86 is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_LOCHNAGAR is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_MFD_ROHM_BD718XX is not set +# CONFIG_MFD_ROHM_BD71828 is not set +# CONFIG_MFD_ROHM_BD957XMUF is not set +# CONFIG_MFD_STPMIC1 is not set +# CONFIG_MFD_STMFX is not set +# CONFIG_MFD_ATC260X_I2C is not set +CONFIG_MFD_KHADAS_MCU=m +# CONFIG_MFD_QCOM_PM8008 is not set +# CONFIG_RAVE_SP_CORE is not set +# CONFIG_MFD_INTEL_M10_BMC is not set +# CONFIG_MFD_RSMU_I2C is not set +# CONFIG_MFD_RSMU_SPI is not set +# end of Multifunction device drivers + +CONFIG_REGULATOR=y +CONFIG_REGULATOR_DEBUG=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_88PG86X is not set +CONFIG_REGULATOR_ACT8865=y +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_ARM_SCMI is not set +# CONFIG_REGULATOR_DA9121 is not set +# CONFIG_REGULATOR_DA9210 is not set +# CONFIG_REGULATOR_DA9211 is not set +# CONFIG_REGULATOR_DW9807 is not set +CONFIG_REGULATOR_FAN53555=y +# CONFIG_REGULATOR_FAN53880 is not set +CONFIG_REGULATOR_GPIO=y +# CONFIG_REGULATOR_ISL9305 is not set +# CONFIG_REGULATOR_ISL6271A is not set +# CONFIG_REGULATOR_LP3971 is not set +# CONFIG_REGULATOR_LP3972 is not set +# CONFIG_REGULATOR_LP872X is not set +CONFIG_REGULATOR_LP8752=y +# CONFIG_REGULATOR_LP8755 is not set +# CONFIG_REGULATOR_LTC3589 is not set +# CONFIG_REGULATOR_LTC3676 is not set +# CONFIG_REGULATOR_MAX1586 is not set +# CONFIG_REGULATOR_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8893 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MAX8973 is not set +# CONFIG_REGULATOR_MAX20086 is not set +# CONFIG_REGULATOR_MAX77826 is not set +# CONFIG_REGULATOR_MCP16502 is not set +# CONFIG_REGULATOR_MP5416 is not set +# CONFIG_REGULATOR_MP8859 is not set +CONFIG_REGULATOR_MP8865=y +# CONFIG_REGULATOR_MP886X is not set +# CONFIG_REGULATOR_MPQ7920 is not set +# CONFIG_REGULATOR_MT6311 is not set +# CONFIG_REGULATOR_MT6315 is not set +# CONFIG_REGULATOR_PCA9450 is not set +# CONFIG_REGULATOR_PF8X00 is not set +# CONFIG_REGULATOR_PFUZE100 is not set +# CONFIG_REGULATOR_PV88060 is not set +# CONFIG_REGULATOR_PV88080 is not set +# CONFIG_REGULATOR_PV88090 is not set +CONFIG_REGULATOR_PWM=y +# CONFIG_REGULATOR_QCOM_SPMI is not set +# CONFIG_REGULATOR_QCOM_USB_VBUS is not set +# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set +CONFIG_REGULATOR_RK806=y +CONFIG_REGULATOR_RK808=y +CONFIG_REGULATOR_RK860X=y +# CONFIG_REGULATOR_RT4801 is not set +# CONFIG_REGULATOR_RT5190A is not set +# CONFIG_REGULATOR_RT5759 is not set +# CONFIG_REGULATOR_RT6160 is not set +# CONFIG_REGULATOR_RT6245 is not set +# CONFIG_REGULATOR_RTQ2134 is not set +# CONFIG_REGULATOR_RTMV20 is not set +# CONFIG_REGULATOR_RTQ6752 is not set +# CONFIG_REGULATOR_SLG51000 is not set +# CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X is not set +# CONFIG_REGULATOR_SY8827N is not set +# CONFIG_REGULATOR_TPS51632 is not set +# CONFIG_REGULATOR_TPS62360 is not set +# CONFIG_REGULATOR_TPS6286X is not set +# CONFIG_REGULATOR_TPS65023 is not set +# CONFIG_REGULATOR_TPS6507X is not set +CONFIG_REGULATOR_TPS65132=y +# CONFIG_REGULATOR_TPS6524X is not set +CONFIG_REGULATOR_TPS6586X=y +# CONFIG_REGULATOR_VCTRL is not set +# CONFIG_REGULATOR_WL2868C is not set +# CONFIG_REGULATOR_QCOM_LABIBB is not set +CONFIG_REGULATOR_XZ3216=y +# CONFIG_RC_CORE is not set +CONFIG_CEC_CORE=y +CONFIG_CEC_NOTIFIER=y + +# +# CEC support +# +CONFIG_MEDIA_CEC_SUPPORT=y +CONFIG_CEC_CH7322=m +CONFIG_USB_PULSE8_CEC=m +CONFIG_USB_RAINSHADOW_CEC=m +# end of CEC support + +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_SUPPORT_FILTER=y +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y + +# +# Media device types +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_ANALOG_TV_SUPPORT=y +CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y +CONFIG_MEDIA_RADIO_SUPPORT=y +CONFIG_MEDIA_SDR_SUPPORT=y +CONFIG_MEDIA_PLATFORM_SUPPORT=y +CONFIG_MEDIA_TEST_SUPPORT=y +# end of Media device types + +CONFIG_VIDEO_DEV=y +CONFIG_MEDIA_CONTROLLER=y +CONFIG_DVB_CORE=y + +# +# Video4Linux options +# +CONFIG_VIDEO_V4L2_I2C=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEO_TUNER=m +CONFIG_V4L2_MEM2MEM_DEV=y +CONFIG_V4L2_FWNODE=y +CONFIG_V4L2_ASYNC=y +# end of Video4Linux options + +# +# Media controller options +# +CONFIG_MEDIA_CONTROLLER_DVB=y +# end of Media controller options + +# +# Digital TV options +# +# CONFIG_DVB_MMAP is not set +CONFIG_DVB_NET=y +CONFIG_DVB_MAX_ADAPTERS=16 +CONFIG_DVB_DYNAMIC_MINORS=y +# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set +# CONFIG_DVB_ULE_DEBUG is not set +# end of Digital TV options + +# +# Media drivers +# + +# +# Drivers filtered as selected at 'Filter media drivers' +# + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +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_PWC_DEBUG is not set +CONFIG_USB_PWC_INPUT_EVDEV=y +CONFIG_USB_S2255=m +CONFIG_VIDEO_USBTV=m +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y + +# +# Analog TV USB devices +# +CONFIG_VIDEO_GO7007=m +CONFIG_VIDEO_GO7007_USB=m +CONFIG_VIDEO_GO7007_LOADER=m +CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m +CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_PVRUSB2=m +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_PVRUSB2_DVB=y +# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set +CONFIG_VIDEO_STK1160_COMMON=m +CONFIG_VIDEO_STK1160=m + +# +# Analog/digital TV 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 + +# +# Digital TV USB devices +# +CONFIG_DVB_AS102=m +CONFIG_DVB_B2C2_FLEXCOP_USB=m +# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set +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_MXL111SF=m +CONFIG_DVB_USB_RTL28XXU=m +CONFIG_DVB_USB_ZD1301=m +CONFIG_SMS_USB_DRV=m +CONFIG_DVB_TTUSB_BUDGET=m +CONFIG_DVB_TTUSB_DEC=m + +# +# Webcam, TV (analog/digital) USB devices +# +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_V4L2=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=m + +# +# Software defined radio USB devices +# +CONFIG_USB_AIRSPY=m +CONFIG_USB_HACKRF=m +CONFIG_USB_MSI2500=m +CONFIG_MEDIA_PCI_SUPPORT=y + +# +# Media capture support +# +CONFIG_VIDEO_SOLO6X10=m +CONFIG_VIDEO_TW5864=m +CONFIG_VIDEO_TW68=m +CONFIG_VIDEO_TW686X=m +# CONFIG_VIDEO_ZORAN is not set + +# +# Media capture/analog TV support +# +CONFIG_VIDEO_DT3155=m + +# +# Media capture/analog/hybrid TV support +# +CONFIG_VIDEO_CX25821=m +CONFIG_VIDEO_CX25821_ALSA=m +CONFIG_VIDEO_SAA7134=m +CONFIG_VIDEO_SAA7134_ALSA=m +CONFIG_VIDEO_SAA7134_DVB=m +CONFIG_VIDEO_SAA7134_GO7007=m +CONFIG_VIDEO_SAA7164=m + +# +# Media digital TV PCI Adapters +# +CONFIG_DVB_B2C2_FLEXCOP_PCI=m +# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set +CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set +CONFIG_DVB_NETUP_UNIDVB=m +CONFIG_DVB_NGENE=m +CONFIG_DVB_PLUTO2=m +CONFIG_DVB_PT1=m +CONFIG_DVB_PT3=m +CONFIG_RADIO_ADAPTERS=y +CONFIG_RADIO_MAXIRADIO=m +CONFIG_RADIO_SAA7706H=m +CONFIG_RADIO_SHARK=m +CONFIG_RADIO_SHARK2=m +CONFIG_RADIO_SI4713=m +CONFIG_RADIO_TEA575X=m +CONFIG_RADIO_TEA5764=m +CONFIG_RADIO_TEF6862=m +CONFIG_RADIO_WL1273=m +CONFIG_USB_DSBR=m +CONFIG_USB_KEENE=m +CONFIG_USB_MA901=m +CONFIG_USB_MR800=m +CONFIG_USB_RAREMONO=m +CONFIG_RADIO_SI470X=m +CONFIG_USB_SI470X=m +CONFIG_I2C_SI470X=m +CONFIG_USB_SI4713=m +CONFIG_PLATFORM_SI4713=m +CONFIG_I2C_SI4713=m +CONFIG_MEDIA_PLATFORM_DRIVERS=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_SDR_PLATFORM_DRIVERS=y +CONFIG_DVB_PLATFORM_DRIVERS=y +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m +# CONFIG_VIDEO_MUX is not set + +# +# Allegro DVT media platform drivers +# + +# +# Amlogic media platform drivers +# + +# +# Amphion drivers +# + +# +# Aspeed media platform drivers +# +# CONFIG_VIDEO_ASPEED is not set + +# +# Atmel media platform drivers +# + +# +# Cadence media platform drivers +# +# CONFIG_VIDEO_CADENCE_CSI2RX is not set +# CONFIG_VIDEO_CADENCE_CSI2TX is not set + +# +# Chips&Media media platform drivers +# + +# +# Intel media platform drivers +# + +# +# Marvell media platform drivers +# +# CONFIG_VIDEO_CAFE_CCIC is not set + +# +# Mediatek media platform drivers +# + +# +# NVidia media platform drivers +# + +# +# NXP media platform drivers +# + +# +# Qualcomm media platform drivers +# + +# +# Renesas media platform drivers +# + +# +# Rockchip media platform drivers +# +CONFIG_VIDEO_ROCKCHIP_CIF=y +CONFIG_ROCKCHIP_CIF_WORKMODE_PINGPONG=y +# CONFIG_ROCKCHIP_CIF_WORKMODE_ONEFRAME is not set +CONFIG_ROCKCHIP_CIF_USE_DUMMY_BUF=y +# CONFIG_ROCKCHIP_CIF_USE_NONE_DUMMY_BUF is not set +# CONFIG_ROCKCHIP_CIF_USE_MONITOR is not set +CONFIG_VIDEO_ROCKCHIP_RKISP1=y +CONFIG_VIDEO_ROCKCHIP_ISP=y +CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V1X=y +CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V21=y +CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V30=y +CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V39=y +CONFIG_VIDEO_ROCKCHIP_ISPP=y +# CONFIG_VIDEO_ROCKCHIP_ISPP_FEC is not set +CONFIG_VIDEO_ROCKCHIP_ISPP_VERSION_V20=y +CONFIG_VIDEO_ROCKCHIP_HDMIRX_CLASS=y +CONFIG_VIDEO_ROCKCHIP_HDMIRX=y +CONFIG_VIDEO_ROCKCHIP_RGA=y +# CONFIG_VIDEO_ROCKCHIP_ISP1 is not set +# CONFIG_VIDEO_ROCKCHIP_VPSS is not set + +# +# Samsung media platform drivers +# + +# +# STMicroelectronics media platform drivers +# + +# +# Sunxi media platform drivers +# + +# +# Texas Instruments drivers +# + +# +# Verisilicon media platform drivers +# +# CONFIG_VIDEO_HANTRO is not set + +# +# VIA media platform drivers +# + +# +# Xilinx media platform drivers +# +# CONFIG_VIDEO_XILINX is not set + +# +# MMC/SDIO DVB adapters +# +# CONFIG_SMS_SDIO_DRV is not set +# CONFIG_V4L_TEST_DRIVERS is not set +# CONFIG_DVB_TEST_DRIVERS is not set +CONFIG_MEDIA_COMMON_OPTIONS=y + +# +# common driver options +# +CONFIG_CYPRESS_FIRMWARE=m +CONFIG_VIDEO_CX2341X=m +CONFIG_VIDEO_TVEEPROM=m +CONFIG_DVB_B2C2_FLEXCOP=m +CONFIG_SMS_SIANO_MDTV=m +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_V4L2=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_CMA_SG=y +CONFIG_VIDEOBUF2_DMA_CONTIG=y +CONFIG_VIDEOBUF2_VMALLOC=y +CONFIG_VIDEOBUF2_DMA_SG=y +CONFIG_VIDEOBUF2_DVB=m +# end of Media drivers + +# +# Media ancillary drivers +# +CONFIG_MEDIA_ATTACH=y +# CONFIG_VIDEO_CAM_SLEEP_WAKEUP is not set +CONFIG_VIDEO_CAMERA_SENSOR=y +CONFIG_VIDEO_APTINA_PLL=m +CONFIG_VIDEO_AR0230=m +# CONFIG_VIDEO_AR0521 is not set +# CONFIG_VIDEO_AR0822 is not set +# CONFIG_VIDEO_AR2020 is not set +# CONFIG_VIDEO_BF3925 is not set +CONFIG_VIDEO_GC02M2=m +# CONFIG_VIDEO_GC0312 is not set +# CONFIG_VIDEO_GC0329 is not set +# CONFIG_VIDEO_GC0403 is not set +# CONFIG_VIDEO_GC05A2 is not set +CONFIG_VIDEO_GC08A3=m +CONFIG_VIDEO_GC1084=m +# CONFIG_VIDEO_GC2035 is not set +CONFIG_VIDEO_GC2053=m +CONFIG_VIDEO_GC2093=m +CONFIG_VIDEO_GC2145=m +# CONFIG_VIDEO_GC2155 is not set +# CONFIG_VIDEO_GC2355 is not set +# CONFIG_VIDEO_GC2375H is not set +CONFIG_VIDEO_GC2385=m +CONFIG_VIDEO_GC3003=m +CONFIG_VIDEO_GC4023=m +CONFIG_VIDEO_GC4653=m +CONFIG_VIDEO_GC4663=m +CONFIG_VIDEO_GC4C33=m +# CONFIG_VIDEO_GC5024 is not set +CONFIG_VIDEO_GC5025=m +CONFIG_VIDEO_GC5035=m +CONFIG_VIDEO_GC8034=y +CONFIG_VIDEO_HI556=m +# CONFIG_VIDEO_HI846 is not set +# CONFIG_VIDEO_HI847 is not set +# CONFIG_VIDEO_IMX208 is not set +CONFIG_VIDEO_IMX214=m +CONFIG_VIDEO_IMX214_EEPROM=m +CONFIG_VIDEO_IMX219=m +CONFIG_VIDEO_IMX258=m +CONFIG_VIDEO_IMX258_EEPROM=m +CONFIG_VIDEO_IMX274=m +CONFIG_VIDEO_IMX290=m +CONFIG_VIDEO_IMX307=m +CONFIG_VIDEO_IMX317=m +CONFIG_VIDEO_IMX319=m +CONFIG_VIDEO_IMX323=m +CONFIG_VIDEO_IMX327=m +CONFIG_VIDEO_IMX334=m +CONFIG_VIDEO_IMX335=m +CONFIG_VIDEO_IMX347=m +CONFIG_VIDEO_IMX355=m +CONFIG_VIDEO_IMX378=m +# CONFIG_VIDEO_IMX412 is not set +CONFIG_VIDEO_IMX415=y +CONFIG_VIDEO_IMX464=y +# CONFIG_VIDEO_IMX492 is not set +# CONFIG_VIDEO_IMX498 is not set +CONFIG_VIDEO_IMX577=m +CONFIG_VIDEO_IMX586=m +# CONFIG_VIDEO_IMX708 is not set +# CONFIG_VIDEO_JX_F37 is not set +# CONFIG_VIDEO_JX_H62 is not set +# CONFIG_VIDEO_JX_H65 is not set +CONFIG_VIDEO_JX_K17=m +CONFIG_VIDEO_MAX9271_LIB=m +# CONFIG_VIDEO_MIS2031 is not set +# CONFIG_VIDEO_MIS4001 is not set +CONFIG_VIDEO_MT9M001=m +CONFIG_VIDEO_MT9M032=m +CONFIG_VIDEO_MT9M111=m +CONFIG_VIDEO_MT9P031=m +CONFIG_VIDEO_MT9T001=m +CONFIG_VIDEO_MT9T112=m +CONFIG_VIDEO_MT9V011=m +CONFIG_VIDEO_MT9V032=m +CONFIG_VIDEO_MT9V111=m +CONFIG_VIDEO_NOON010PC30=m +# CONFIG_VIDEO_OG01A10 is not set +# CONFIG_VIDEO_OG01A1B is not set +# CONFIG_VIDEO_OG02B10 is not set +CONFIG_VIDEO_OS02G10=m +# CONFIG_VIDEO_OS02K10 is not set +CONFIG_VIDEO_OS03B10=m +CONFIG_VIDEO_OS04A10=y +# CONFIG_VIDEO_OS04D10 is not set +CONFIG_VIDEO_OS05A20=m +CONFIG_VIDEO_OS08A20=m +# CONFIG_VIDEO_OV02A10 is not set +CONFIG_VIDEO_OV02B10=m +CONFIG_VIDEO_OV02K10=m +# CONFIG_VIDEO_OV08D10 is not set +CONFIG_VIDEO_OV12D2Q=m +CONFIG_VIDEO_OV13850=y +CONFIG_VIDEO_OV13855=y +CONFIG_VIDEO_OV13858=m +# CONFIG_VIDEO_OV13B10 is not set +# CONFIG_VIDEO_OV16880 is not set +# CONFIG_VIDEO_OV16885 is not set +CONFIG_VIDEO_OV16A10=m +CONFIG_VIDEO_OV16A1Q=m +CONFIG_VIDEO_OV2640=m +CONFIG_VIDEO_OV2659=m +CONFIG_VIDEO_OV2680=m +CONFIG_VIDEO_OV2685=m +CONFIG_VIDEO_OV2718=m +CONFIG_VIDEO_OV4686=m +CONFIG_VIDEO_OV4688=m +CONFIG_VIDEO_OV4689=y +CONFIG_VIDEO_OV50C40=m +CONFIG_VIDEO_OV5640=m +CONFIG_VIDEO_OV5645=m +CONFIG_VIDEO_OV5647=m +# CONFIG_VIDEO_OV5648 is not set +CONFIG_VIDEO_OV5670=m +CONFIG_VIDEO_OV5675=m +# CONFIG_VIDEO_OV5693 is not set +CONFIG_VIDEO_OV5695=y +CONFIG_VIDEO_OV6650=m +CONFIG_VIDEO_OV7251=y +CONFIG_VIDEO_OV7640=m +CONFIG_VIDEO_OV7670=m +CONFIG_VIDEO_OV772X=m +CONFIG_VIDEO_OV7740=m +CONFIG_VIDEO_OV8856=m +CONFIG_VIDEO_OV8858=m +# CONFIG_VIDEO_OV8865 is not set +CONFIG_VIDEO_OV9281=m +# CONFIG_VIDEO_OV9282 is not set +CONFIG_VIDEO_OV9640=m +CONFIG_VIDEO_OV9650=m +CONFIG_VIDEO_PREISP_DUMMY_SENSOR=m +CONFIG_VIDEO_RDACM20=m +# CONFIG_VIDEO_RDACM21 is not set +CONFIG_VIDEO_RJ54N1=m +CONFIG_VIDEO_S5C73M3=m +CONFIG_VIDEO_S5K3L6XX=m +# CONFIG_VIDEO_S5K3L8XX is not set +CONFIG_VIDEO_S5K4ECGX=m +CONFIG_VIDEO_S5K5BAF=m +CONFIG_VIDEO_S5K6A3=m +CONFIG_VIDEO_S5K6AA=m +CONFIG_VIDEO_S5KJN1=m +CONFIG_VIDEO_SC031GS=m +CONFIG_VIDEO_SC035GS=m +CONFIG_VIDEO_SC132GS=m +# CONFIG_VIDEO_SC1346 is not set +CONFIG_VIDEO_SC200AI=m +CONFIG_VIDEO_SC210IOT=m +CONFIG_VIDEO_SC2232=m +CONFIG_VIDEO_SC2239=m +# CONFIG_VIDEO_SC223A is not set +CONFIG_VIDEO_SC230AI=m +CONFIG_VIDEO_SC2310=m +CONFIG_VIDEO_SC2336=m +# CONFIG_VIDEO_SC2355 is not set +CONFIG_VIDEO_SC301IOT=m +CONFIG_VIDEO_SC3336=m +# CONFIG_VIDEO_SC3336P is not set +CONFIG_VIDEO_SC3338=m +CONFIG_VIDEO_SC401AI=m +CONFIG_VIDEO_SC4210=m +CONFIG_VIDEO_SC4238=m +CONFIG_VIDEO_SC430CS=m +CONFIG_VIDEO_SC4336=m +# CONFIG_VIDEO_SC4336P is not set +# CONFIG_VIDEO_SC450AI is not set +CONFIG_VIDEO_SC500AI=m +CONFIG_VIDEO_SC501AI=m +CONFIG_VIDEO_SC530AI=m +# CONFIG_VIDEO_SC5336 is not set +# CONFIG_VIDEO_SC830AI is not set +# CONFIG_VIDEO_SC831AI is not set +CONFIG_VIDEO_SC850SL=m +CONFIG_VIDEO_SENSOR_ADAPTER=m +CONFIG_VIDEO_SR030PC30=m +CONFIG_VIDEO_VS6624=m +# CONFIG_VIDEO_CCS is not set +CONFIG_VIDEO_ET8EK8=m +CONFIG_VIDEO_M5MOLS=m + +# +# Lens drivers +# +CONFIG_VIDEO_AD5820=m +CONFIG_VIDEO_AK7375=m +CONFIG_VIDEO_AW8601=m +# CONFIG_VIDEO_CES6301 is not set +CONFIG_VIDEO_CN3927V=m +CONFIG_VIDEO_DW9714=m +CONFIG_VIDEO_DW9763=m +CONFIG_VIDEO_DW9768=m +# CONFIG_VIDEO_DW9800V is not set +CONFIG_VIDEO_DW9800W=m +CONFIG_VIDEO_DW9807_VCM=m +CONFIG_VIDEO_FP5510=m +# end of Lens drivers + +# +# Flash devices +# +CONFIG_VIDEO_ADP1653=m +CONFIG_VIDEO_AW36518=m +CONFIG_VIDEO_LM3560=m +CONFIG_VIDEO_LM3646=m +CONFIG_VIDEO_SGM3784=m +# end of Flash devices + +# +# Audio decoders, processors and mixers +# +# CONFIG_VIDEO_CS3308 is not set +# CONFIG_VIDEO_CS5345 is not set +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_SONY_BTF_MPX=m +# CONFIG_VIDEO_TDA1997X is not set +# CONFIG_VIDEO_TDA7432 is not set +# CONFIG_VIDEO_TDA9840 is not set +# CONFIG_VIDEO_TEA6415C is not set +# CONFIG_VIDEO_TEA6420 is not set +# CONFIG_VIDEO_TLV320AIC23B is not set +# CONFIG_VIDEO_TVAUDIO is not set +CONFIG_VIDEO_UDA1342=m +# CONFIG_VIDEO_VP27SMPX is not set +# CONFIG_VIDEO_WM8739 is not set +CONFIG_VIDEO_WM8775=m +# end of Audio decoders, processors and mixers + +# +# RDS decoders +# +CONFIG_VIDEO_SAA6588=m +# end of RDS decoders + +# +# Video decoders +# +# CONFIG_VIDEO_ADV7180 is not set +# CONFIG_VIDEO_ADV7183 is not set +# CONFIG_VIDEO_ADV748X is not set +# CONFIG_VIDEO_ADV7604 is not set +# CONFIG_VIDEO_ADV7842 is not set +# CONFIG_VIDEO_BT819 is not set +# CONFIG_VIDEO_BT856 is not set +# CONFIG_VIDEO_BT866 is not set +# CONFIG_VIDEO_EP9461E is not set +# CONFIG_VIDEO_ISL7998X is not set +# CONFIG_VIDEO_IT6616 is not set +# CONFIG_VIDEO_KS0127 is not set +# CONFIG_VIDEO_LT6911C is not set +# CONFIG_VIDEO_LT6911UXC is not set +# CONFIG_VIDEO_LT6911UXE is not set +# CONFIG_VIDEO_LT7911D is not set +# CONFIG_VIDEO_LT7911UXC is not set +# CONFIG_VIDEO_LT8619C is not set +# CONFIG_VIDEO_LT8668SX is not set +# CONFIG_VIDEO_MAX9286 is not set +# CONFIG_VIDEO_MAX96712 is not set +# CONFIG_VIDEO_MAX96714 is not set +# CONFIG_VIDEO_MAX96722 is not set +# CONFIG_VIDEO_MAX96756 is not set +# CONFIG_VIDEO_ML86V7667 is not set +# CONFIG_VIDEO_NVP6158 is not set +# CONFIG_VIDEO_NVP6188 is not set +# CONFIG_VIDEO_NVP6324 is not set +CONFIG_VIDEO_OTP_EEPROM=m +# CONFIG_VIDEO_SAA7110 is not set +CONFIG_VIDEO_SAA711X=m +# CONFIG_VIDEO_TC358743 is not set +# CONFIG_VIDEO_TC35874X is not set +# CONFIG_VIDEO_TECHPOINT is not set +# CONFIG_VIDEO_THCV244 is not set +# CONFIG_VIDEO_TVP514X is not set +CONFIG_VIDEO_TVP5150=m +# CONFIG_VIDEO_TVP7002 is not set +CONFIG_VIDEO_TW2804=m +CONFIG_VIDEO_TW9903=m +CONFIG_VIDEO_TW9906=m +# CONFIG_VIDEO_TW9910 is not set +# CONFIG_VIDEO_VPX3220 is not set +# CONFIG_VIDEO_RK628_CSI is not set +# CONFIG_VIDEO_RK628_BT1120 is not set +# CONFIG_VIDEO_MAXIM_SERDES is not set + +# +# Video and audio decoders +# +# CONFIG_VIDEO_SAA717X is not set +CONFIG_VIDEO_CX25840=m +# CONFIG_VIDEO_IT66353 is not set +# end of Video decoders + +# +# Video encoders +# +# CONFIG_VIDEO_AD9389B is not set +# CONFIG_VIDEO_ADV7170 is not set +# CONFIG_VIDEO_ADV7175 is not set +# CONFIG_VIDEO_ADV7343 is not set +# CONFIG_VIDEO_ADV7393 is not set +# CONFIG_VIDEO_ADV7511 is not set +# CONFIG_VIDEO_AK881X is not set +# CONFIG_VIDEO_SAA7127 is not set +# CONFIG_VIDEO_SAA7185 is not set +# CONFIG_VIDEO_THS8200 is not set +# end of Video encoders + +# +# Video improvement chips +# +# CONFIG_VIDEO_UPD64031A is not set +# CONFIG_VIDEO_UPD64083 is not set +# end of Video improvement chips + +# +# Audio/Video compression chips +# +CONFIG_VIDEO_SAA6752HS=m +# end of Audio/Video compression chips + +# +# SDR tuner chips +# +# CONFIG_SDR_MAX2175 is not set +# end of SDR tuner chips + +# +# Miscellaneous helper chips +# +# CONFIG_VIDEO_I2C is not set +# CONFIG_VIDEO_M52790 is not set +# CONFIG_VIDEO_RK_IRCUT is not set +# CONFIG_VIDEO_ST_MIPID02 is not set +# CONFIG_VIDEO_THS7303 is not set +# end of Miscellaneous helper chips + +# +# Media SPI Adapters +# +CONFIG_CXD2880_SPI_DRV=m +CONFIG_VIDEO_GS1662=m +# CONFIG_VIDEO_ROCKCHIP_PREISP is not set +# end of Media SPI Adapters + +CONFIG_MEDIA_TUNER=y + +# +# Customize TV tuners +# +CONFIG_MEDIA_TUNER_E4000=m +CONFIG_MEDIA_TUNER_FC0011=m +CONFIG_MEDIA_TUNER_FC0012=m +CONFIG_MEDIA_TUNER_FC0013=m +CONFIG_MEDIA_TUNER_FC2580=m +CONFIG_MEDIA_TUNER_IT913X=m +# CONFIG_MEDIA_TUNER_M88RS6000T is not set +# CONFIG_MEDIA_TUNER_MAX2165 is not set +CONFIG_MEDIA_TUNER_MC44S803=y +CONFIG_MEDIA_TUNER_MSI001=m +CONFIG_MEDIA_TUNER_MT2060=m +CONFIG_MEDIA_TUNER_MT2063=m +CONFIG_MEDIA_TUNER_MT20XX=y +CONFIG_MEDIA_TUNER_MT2131=m +# CONFIG_MEDIA_TUNER_MT2266 is not set +CONFIG_MEDIA_TUNER_MXL301RF=m +CONFIG_MEDIA_TUNER_MXL5005S=m +CONFIG_MEDIA_TUNER_MXL5007T=m +CONFIG_MEDIA_TUNER_QM1D1B0004=m +CONFIG_MEDIA_TUNER_QM1D1C0042=m +CONFIG_MEDIA_TUNER_QT1010=m +CONFIG_MEDIA_TUNER_R820T=m +CONFIG_MEDIA_TUNER_SI2157=m +CONFIG_MEDIA_TUNER_SIMPLE=y +CONFIG_MEDIA_TUNER_TDA18212=m +CONFIG_MEDIA_TUNER_TDA18218=m +# CONFIG_MEDIA_TUNER_TDA18250 is not set +CONFIG_MEDIA_TUNER_TDA18271=y +CONFIG_MEDIA_TUNER_TDA827X=y +CONFIG_MEDIA_TUNER_TDA8290=y +CONFIG_MEDIA_TUNER_TDA9887=y +CONFIG_MEDIA_TUNER_TEA5761=y +CONFIG_MEDIA_TUNER_TEA5767=y +CONFIG_MEDIA_TUNER_TUA9001=m +CONFIG_MEDIA_TUNER_XC2028=y +CONFIG_MEDIA_TUNER_XC4000=y +CONFIG_MEDIA_TUNER_XC5000=y +# end of Customize TV tuners + +# +# Customise DVB Frontends +# + +# +# Multistandard (satellite) frontends +# +CONFIG_DVB_M88DS3103=m +CONFIG_DVB_MXL5XX=m +# CONFIG_DVB_STB0899 is not set +# CONFIG_DVB_STB6100 is not set +CONFIG_DVB_STV090x=m +CONFIG_DVB_STV0910=m +CONFIG_DVB_STV6110x=m +CONFIG_DVB_STV6111=m + +# +# Multistandard (cable + terrestrial) frontends +# +CONFIG_DVB_DRXK=m +CONFIG_DVB_MN88472=m +CONFIG_DVB_MN88473=m +CONFIG_DVB_SI2165=m +CONFIG_DVB_TDA18271C2DD=m + +# +# DVB-S (satellite) frontends +# +# CONFIG_DVB_CX24110 is not set +CONFIG_DVB_CX24116=m +# CONFIG_DVB_CX24117 is not set +CONFIG_DVB_CX24120=m +CONFIG_DVB_CX24123=m +# CONFIG_DVB_DS3000 is not set +# CONFIG_DVB_MB86A16 is not set +CONFIG_DVB_MT312=m +CONFIG_DVB_S5H1420=m +# CONFIG_DVB_SI21XX is not set +# CONFIG_DVB_STB6000 is not set +# CONFIG_DVB_STV0288 is not set +CONFIG_DVB_STV0299=m +CONFIG_DVB_STV0900=m +CONFIG_DVB_STV6110=m +CONFIG_DVB_TDA10071=m +CONFIG_DVB_TDA10086=m +CONFIG_DVB_TDA8083=m +# CONFIG_DVB_TDA8261 is not set +CONFIG_DVB_TDA826X=m +CONFIG_DVB_TS2020=m +# CONFIG_DVB_TUA6100 is not set +CONFIG_DVB_TUNER_CX24113=m +CONFIG_DVB_TUNER_ITD1000=m +# CONFIG_DVB_VES1X93 is not set +CONFIG_DVB_ZL10036=m +CONFIG_DVB_ZL10039=m + +# +# DVB-T (terrestrial) frontends +# +CONFIG_DVB_AF9013=m +CONFIG_DVB_AS102_FE=m +CONFIG_DVB_CX22700=m +# CONFIG_DVB_CX22702 is not set +CONFIG_DVB_CXD2820R=m +CONFIG_DVB_CXD2841ER=m +# CONFIG_DVB_DIB3000MB is not set +# CONFIG_DVB_DIB3000MC is not set +# CONFIG_DVB_DIB7000M is not set +# CONFIG_DVB_DIB7000P is not set +# CONFIG_DVB_DIB9000 is not set +CONFIG_DVB_DRXD=m +CONFIG_DVB_EC100=m +# CONFIG_DVB_L64781 is not set +CONFIG_DVB_MT352=m +# CONFIG_DVB_NXT6000 is not set +CONFIG_DVB_RTL2830=m +CONFIG_DVB_RTL2832=m +CONFIG_DVB_RTL2832_SDR=m +# CONFIG_DVB_S5H1432 is not set +CONFIG_DVB_SI2168=m +# CONFIG_DVB_SP887X is not set +CONFIG_DVB_STV0367=m +CONFIG_DVB_TDA10048=m +CONFIG_DVB_TDA1004X=m +CONFIG_DVB_ZD1301_DEMOD=m +CONFIG_DVB_ZL10353=m +# CONFIG_DVB_CXD2880 is not set + +# +# DVB-C (cable) frontends +# +CONFIG_DVB_STV0297=m +# CONFIG_DVB_TDA10021 is not set +CONFIG_DVB_TDA10023=m +CONFIG_DVB_VES1820=m + +# +# ATSC (North American/Korean Terrestrial/Cable DTV) frontends +# +CONFIG_DVB_AU8522=m +CONFIG_DVB_AU8522_DTV=m +CONFIG_DVB_AU8522_V4L=m +CONFIG_DVB_BCM3510=m +CONFIG_DVB_LG2160=m +CONFIG_DVB_LGDT3305=m +CONFIG_DVB_LGDT3306A=m +CONFIG_DVB_LGDT330X=m +CONFIG_DVB_MXL692=m +CONFIG_DVB_NXT200X=m +# CONFIG_DVB_OR51132 is not set +# CONFIG_DVB_OR51211 is not set +CONFIG_DVB_S5H1409=m +CONFIG_DVB_S5H1411=m + +# +# ISDB-T (terrestrial) frontends +# +# CONFIG_DVB_DIB8000 is not set +CONFIG_DVB_MB86A20S=m +CONFIG_DVB_S921=m + +# +# ISDB-S (satellite) & ISDB-T (terrestrial) frontends +# +# CONFIG_DVB_MN88443X is not set +CONFIG_DVB_TC90522=m + +# +# Digital terrestrial only tuners/PLL +# +CONFIG_DVB_PLL=m +# CONFIG_DVB_TUNER_DIB0070 is not set +# CONFIG_DVB_TUNER_DIB0090 is not set + +# +# SEC control devices for DVB-S +# +CONFIG_DVB_A8293=m +CONFIG_DVB_AF9033=m +CONFIG_DVB_ASCOT2E=m +# CONFIG_DVB_ATBM8830 is not set +CONFIG_DVB_HELENE=m +CONFIG_DVB_HORUS3A=m +CONFIG_DVB_ISL6405=m +CONFIG_DVB_ISL6421=m +CONFIG_DVB_ISL6423=m +# CONFIG_DVB_IX2505V is not set +# CONFIG_DVB_LGS8GL5 is not set +# CONFIG_DVB_LGS8GXX is not set +CONFIG_DVB_LNBH25=m +# CONFIG_DVB_LNBH29 is not set +CONFIG_DVB_LNBP21=m +# CONFIG_DVB_LNBP22 is not set +# CONFIG_DVB_M88RS2000 is not set +# CONFIG_DVB_TDA665x is not set +CONFIG_DVB_DRX39XYJ=m + +# +# Common Interface (EN50221) controller drivers +# +CONFIG_DVB_CXD2099=m +CONFIG_DVB_SP2=m +# end of Customise DVB Frontends + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set +# end of Media ancillary drivers + +# +# Graphics support +# +CONFIG_DRM=y +CONFIG_DRM_MIPI_DBI=m +CONFIG_DRM_EDID=y +# CONFIG_DRM_IGNORE_IOTCL_PERMIT is not set +CONFIG_DRM_MIPI_DSI=y +# CONFIG_DRM_DEBUG_MM is not set +CONFIG_DRM_KMS_HELPER=y +# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set +# CONFIG_DRM_DEBUG_MODESET_LOCK is not set +CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 +# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set +CONFIG_DRM_LOAD_EDID_FIRMWARE=y +CONFIG_DRM_DP=y +CONFIG_DRM_DP_AUX_BUS=m +CONFIG_DRM_DISPLAY_HELPER=y +CONFIG_DRM_DISPLAY_DP_HELPER=y +CONFIG_DRM_DISPLAY_HDCP_HELPER=y +CONFIG_DRM_DISPLAY_HDMI_HELPER=y +CONFIG_DRM_DP_AUX_CHARDEV=y +# CONFIG_DRM_DP_CEC is not set +CONFIG_DRM_EXEC=m +CONFIG_DRM_GPUVM=m +CONFIG_DRM_GEM_DMA_HELPER=y +CONFIG_DRM_GEM_SHMEM_HELPER=m +CONFIG_DRM_SCHED=m + +# +# I2C encoder or helper chips +# +# CONFIG_DRM_I2C_CH7006 is not set +# CONFIG_DRM_I2C_SIL164 is not set +# CONFIG_DRM_I2C_NXP_TDA998X is not set +# CONFIG_DRM_I2C_NXP_TDA9950 is not set +# end of I2C encoder or helper chips + +# +# ARM devices +# +# CONFIG_DRM_HDLCD is not set +# CONFIG_DRM_MALI_DISPLAY is not set +# CONFIG_DRM_KOMEDA is not set +# end of ARM devices + +# CONFIG_DRM_RADEON is not set +# CONFIG_DRM_AMDGPU is not set +# CONFIG_DRM_NOUVEAU is not set +# CONFIG_DRM_VGEM is not set +# CONFIG_DRM_VKMS is not set +CONFIG_DRM_ROCKCHIP=y +# CONFIG_ROCKCHIP_DRM_DEBUG is not set +# CONFIG_ROCKCHIP_DRM_DIRECT_SHOW is not set +CONFIG_ROCKCHIP_VOP=y +CONFIG_ROCKCHIP_VOP2=y +CONFIG_ROCKCHIP_ANALOGIX_DP=y +CONFIG_ROCKCHIP_CDN_DP=y +# CONFIG_ROCKCHIP_DRM_TVE is not set +CONFIG_ROCKCHIP_DW_HDMI=y +CONFIG_ROCKCHIP_DW_MIPI_DSI=y +CONFIG_ROCKCHIP_DW_DP=y +CONFIG_ROCKCHIP_INNO_HDMI=y +CONFIG_ROCKCHIP_LVDS=y +# CONFIG_ROCKCHIP_PANEL_NOTIFIER is not set +CONFIG_ROCKCHIP_RGB=y +# CONFIG_ROCKCHIP_RK3066_HDMI is not set +# CONFIG_ROCKCHIP_VCONN is not set +# CONFIG_DRM_ROCKCHIP_VVOP is not set +CONFIG_ROCKCHIP_DW_HDCP2=y +# CONFIG_ROCKCHIP_DP_MST_AUX_CLIENT is not set +# CONFIG_DRM_VMWGFX is not set +# CONFIG_DRM_UDL is not set +# CONFIG_DRM_AST is not set +# CONFIG_DRM_MGAG200 is not set +# CONFIG_DRM_RCAR_DW_HDMI is not set +# CONFIG_DRM_RCAR_USE_LVDS is not set +# CONFIG_DRM_RCAR_USE_MIPI_DSI is not set +# CONFIG_DRM_QXL is not set +# CONFIG_DRM_VIRTIO_GPU is not set +CONFIG_DRM_PANEL=y + +# +# Display Panels +# +CONFIG_DRM_PANEL_ABT_Y030XX067A=m +# CONFIG_DRM_PANEL_ARM_VERSATILE is not set +CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596=m +CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0=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 is not set +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_JADARD_JD9365DA_H3 is not set +CONFIG_DRM_PANEL_JDI_LT070ME05000=m +CONFIG_DRM_PANEL_JDI_R63452=m +CONFIG_DRM_PANEL_KHADAS_TS050=m +CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W=m +CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829=m +CONFIG_DRM_PANEL_SAMSUNG_LD9040=m +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set +CONFIG_DRM_PANEL_LG_LG4573=m +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +CONFIG_DRM_PANEL_NEWVISION_NV3052C=m +CONFIG_DRM_PANEL_NOVATEK_NT35510=m +CONFIG_DRM_PANEL_NOVATEK_NT35560=m +CONFIG_DRM_PANEL_NOVATEK_NT35950=m +CONFIG_DRM_PANEL_NOVATEK_NT36672A=m +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set +CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m +# CONFIG_DRM_PANEL_MAXIM_MAX96752F is not set +# CONFIG_DRM_PANEL_MAXIM_MAX96772 is not set +# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set +CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m +# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set +CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m +# CONFIG_DRM_PANEL_RADXA_DISPLAY_8HD is not set +CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set +# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set +CONFIG_DRM_PANEL_RONBO_RB070D30=m +CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20=m +CONFIG_DRM_PANEL_SAMSUNG_DB7430=m +# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set +CONFIG_DRM_PANEL_SAMSUNG_S6D27A1=m +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m +CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m +# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set +CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m +CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m +CONFIG_DRM_PANEL_SAMSUNG_SOFEF00=m +CONFIG_DRM_PANEL_SEIKO_43WVF1G=m +CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set +CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m +CONFIG_DRM_PANEL_SHARP_LS060T1SX01=m +CONFIG_DRM_PANEL_SITRONIX_ST7701=m +CONFIG_DRM_PANEL_SITRONIX_ST7703=m +CONFIG_DRM_PANEL_SITRONIX_ST7789V=m +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521=m +CONFIG_DRM_PANEL_TDO_TL070WSH30=m +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set +CONFIG_DRM_PANEL_TPO_TPG110=m +# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +CONFIG_DRM_PANEL_VISIONOX_RM69299=m +CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m +CONFIG_DRM_PANEL_XINPENG_XPP055C272=m +# CONFIG_DRM_PANEL_INNOLUX_AFJ101_BA2131 is not set +# end of Display Panels + +CONFIG_DRM_BRIDGE=y +CONFIG_DRM_PANEL_BRIDGE=y + +# +# Display Interface Bridges +# +# CONFIG_DRM_CDNS_DSI is not set +# CONFIG_DRM_CHIPONE_ICN6211 is not set +# CONFIG_DRM_CHRONTEL_CH7033 is not set +CONFIG_DRM_DISPLAY_CONNECTOR=y +# CONFIG_DRM_ITE_IT6161 is not set +# CONFIG_DRM_ITE_IT6505 is not set +# CONFIG_DRM_LONTIUM_LT8912B is not set +# CONFIG_DRM_LONTIUM_LT9211 is not set +# CONFIG_DRM_LONTIUM_LT9611 is not set +# CONFIG_DRM_LONTIUM_LT9611UXC is not set +# CONFIG_DRM_ITE_IT66121 is not set +# CONFIG_DRM_LVDS_CODEC is not set +# CONFIG_DRM_MAXIM_MAX96745 is not set +# CONFIG_DRM_MAXIM_MAX96755F is not set +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set +# CONFIG_DRM_NWL_MIPI_DSI is not set +# CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PARADE_PS8622 is not set +# CONFIG_DRM_PARADE_PS8640 is not set +# CONFIG_DRM_RK1000_TVE is not set +# CONFIG_DRM_ROHM_BU18XL82 is not set +# CONFIG_DRM_SIL_SII8620 is not set +CONFIG_DRM_SII902X=y +# CONFIG_DRM_SII9234 is not set +# CONFIG_DRM_SIMPLE_BRIDGE is not set +# CONFIG_DRM_THINE_THC63LVD1024 is not set +# CONFIG_DRM_TOSHIBA_TC358762 is not set +# CONFIG_DRM_TOSHIBA_TC358764 is not set +# CONFIG_DRM_TOSHIBA_TC358767 is not set +# CONFIG_DRM_TOSHIBA_TC358768 is not set +# CONFIG_DRM_TOSHIBA_TC358775 is not set +# CONFIG_DRM_TI_DLPC3433 is not set +# CONFIG_DRM_TI_TFP410 is not set +# CONFIG_DRM_TI_SN65DSI83 is not set +# CONFIG_DRM_TI_SN65DSI86 is not set +# CONFIG_DRM_TI_TPD12S015 is not set +# CONFIG_DRM_ANALOGIX_ANX6345 is not set +# CONFIG_DRM_ANALOGIX_ANX78XX is not set +CONFIG_DRM_ANALOGIX_DP=y +# CONFIG_DRM_ANALOGIX_ANX7625 is not set +# CONFIG_DRM_I2C_ADV7511 is not set +# CONFIG_DRM_CDNS_MHDP8546 is not set +CONFIG_DRM_DW_HDMI=y +# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set +CONFIG_DRM_DW_HDMI_I2S_AUDIO=y +# CONFIG_DRM_DW_HDMI_GP_AUDIO is not set +CONFIG_DRM_DW_HDMI_CEC=y +CONFIG_DRM_DW_MIPI_DSI=y +# end of Display Interface Bridges + +# CONFIG_DRM_ETNAVIV is not set +# CONFIG_DRM_HISI_HIBMC is not set +# CONFIG_DRM_HISI_KIRIN is not set +# CONFIG_DRM_LOGICVC is not set +# CONFIG_DRM_ARCPGU is not set +# CONFIG_DRM_BOCHS is not set +# CONFIG_DRM_CIRRUS_QEMU is not set +# CONFIG_DRM_GM12U320 is not set +# CONFIG_DRM_PANEL_MIPI_DBI is not set +# CONFIG_DRM_SIMPLEDRM is not set +# CONFIG_TINYDRM_HX8357D is not set +# CONFIG_TINYDRM_ILI9163 is not set +# CONFIG_TINYDRM_ILI9225 is not set +# CONFIG_TINYDRM_ILI9341 is not set +# CONFIG_TINYDRM_ILI9486 is not set +# CONFIG_TINYDRM_MI0283QT is not set +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set +# CONFIG_TINYDRM_ST7735R is not set +# CONFIG_DRM_PL111 is not set +CONFIG_DRM_LIMA=m +CONFIG_DRM_PANFROST=m +CONFIG_DRM_PANTHOR=m +# CONFIG_DRM_TIDSS is not set +# CONFIG_DRM_GUD is not set +# CONFIG_DRM_SSD130X is not set +# CONFIG_DRM_LEGACY is not set +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y +CONFIG_DRM_NOMODESET=y +# CONFIG_MALI400 is not set +CONFIG_MALI_DEVFREQ=y +CONFIG_MALI_MIDGARD=y +# CONFIG_MALI_GATOR_SUPPORT is not set +# CONFIG_MALI_MIDGARD_ENABLE_TRACE is not set +# CONFIG_MALI_DMA_FENCE is not set +CONFIG_MALI_EXPERT=y +# CONFIG_MALI_CORESTACK is not set +# CONFIG_MALI_PRFCNT_SET_SECONDARY is not set +# CONFIG_MALI_PLATFORM_FAKE is not set +# CONFIG_MALI_PLATFORM_DEVICETREE is not set +CONFIG_MALI_PLATFORM_THIRDPARTY=y +CONFIG_MALI_PLATFORM_THIRDPARTY_NAME="rk" +CONFIG_MALI_DEBUG=y +CONFIG_MALI_FENCE_DEBUG=y +# CONFIG_MALI_NO_MALI is not set +# CONFIG_MALI_TRACE_TIMELINE is not set +# CONFIG_MALI_SYSTEM_TRACE is not set +# CONFIG_MALI_GPU_MMU_AARCH64 is not set +CONFIG_MALI_PWRSOFT_765=y +# CONFIG_MALI_KUTF is not set +CONFIG_MALI_BIFROST=y +CONFIG_MALI_PLATFORM_NAME="rk" +CONFIG_MALI_REAL_HW=y +# CONFIG_MALI_BIFROST_NO_MALI is not set + +# +# Platform specific options +# +# end of Platform specific options + +CONFIG_MALI_CSF_SUPPORT=y +CONFIG_MALI_BIFROST_DEVFREQ=y +CONFIG_MALI_BIFROST_GATOR_SUPPORT=y +CONFIG_MALI_BIFROST_ENABLE_TRACE=y +# CONFIG_MALI_DMA_BUF_MAP_ON_DEMAND is not set +# CONFIG_MALI_DMA_BUF_LEGACY_COMPAT is not set +# CONFIG_MALI_CORESIGHT is not set +CONFIG_MALI_BIFROST_EXPERT=y +# CONFIG_LARGE_PAGE_ALLOC_OVERRIDE is not set +# CONFIG_LARGE_PAGE_ALLOC is not set +# CONFIG_MALI_MEMORY_FULLY_BACKED is not set + +# +# Platform options +# + +# +# Debug options +# +CONFIG_MALI_BIFROST_DEBUG=y +CONFIG_MALI_BIFROST_FENCE_DEBUG=y +CONFIG_MALI_BIFROST_SYSTEM_TRACE=y + +# +# Instrumentation options +# +CONFIG_MALI_PRFCNT_SET_PRIMARY=y +# CONFIG_MALI_BIFROST_PRFCNT_SET_SECONDARY is not set +# CONFIG_MALI_PRFCNT_SET_TERTIARY is not set +# CONFIG_MALI_PRFCNT_SET_SELECT_VIA_DEBUG_FS is not set +# CONFIG_MALI_JOB_DUMP is not set + +# +# Workarounds +# +# CONFIG_MALI_HW_ERRATA_1485982_NOT_AFFECTED is not set +# CONFIG_MALI_HW_ERRATA_1485982_USE_CLOCK_ALTERNATIVE is not set +# CONFIG_MALI_ARBITRATION is not set + +# +# Frame buffer Devices +# +CONFIG_FB_CMDLINE=y +CONFIG_FB_NOTIFY=y +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_IMAGEBLIT=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_DEFERRED_IO=y +CONFIG_FB_BACKLIGHT=y +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_UVESA is not set +# CONFIG_FB_EFI is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_SM712 is not set +# end of Frame buffer Devices + +# +# Backlight & LCD device support +# +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LCD_L4F00242T03=m +CONFIG_LCD_LMS283GF05=m +CONFIG_LCD_LTV350QV=m +CONFIG_LCD_ILI922X=m +CONFIG_LCD_ILI9320=m +CONFIG_LCD_TDO24M=m +CONFIG_LCD_VGG2432A4=m +CONFIG_LCD_PLATFORM=m +CONFIG_LCD_AMS369FG06=m +CONFIG_LCD_LMS501KF03=m +CONFIG_LCD_HX8357=m +CONFIG_LCD_OTM3225A=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_KTD253=m +CONFIG_BACKLIGHT_PWM=m +CONFIG_BACKLIGHT_QCOM_WLED=m +CONFIG_BACKLIGHT_ADP8860=m +CONFIG_BACKLIGHT_ADP8870=m +CONFIG_BACKLIGHT_LM3630A=m +CONFIG_BACKLIGHT_LM3639=m +CONFIG_BACKLIGHT_LP855X=m +CONFIG_BACKLIGHT_GPIO=m +CONFIG_BACKLIGHT_LV5207LP=m +CONFIG_BACKLIGHT_BD6107=m +CONFIG_BACKLIGHT_ARCXCNN=m +CONFIG_BACKLIGHT_LED=m +# end of Backlight & LCD device support + +# +# Rockchip Misc Video driver +# + +# +# RGA +# +# CONFIG_ROCKCHIP_RGA is not set +# end of RGA + +CONFIG_ROCKCHIP_MULTI_RGA=y +CONFIG_ROCKCHIP_RGA_ASYNC=y +# CONFIG_ROCKCHIP_RGA_PROC_FS is not set +CONFIG_ROCKCHIP_RGA_DEBUG_FS=y +CONFIG_ROCKCHIP_RGA_DEBUGGER=y +# CONFIG_ROCKCHIP_RVE is not set + +# +# IEP +# +CONFIG_IEP=y +# end of IEP + +CONFIG_ROCKCHIP_MPP_SERVICE=y +CONFIG_ROCKCHIP_MPP_PROC_FS=y +CONFIG_ROCKCHIP_MPP_RKVDEC=y +CONFIG_ROCKCHIP_MPP_RKVDEC2=y +CONFIG_ROCKCHIP_MPP_RKVENC=y +CONFIG_ROCKCHIP_MPP_RKVENC2=y +CONFIG_ROCKCHIP_MPP_VDPU1=y +CONFIG_ROCKCHIP_MPP_VEPU1=y +CONFIG_ROCKCHIP_MPP_VDPU2=y +CONFIG_ROCKCHIP_MPP_VEPU2=y +CONFIG_ROCKCHIP_MPP_IEP2=y +CONFIG_ROCKCHIP_MPP_JPGDEC=y +# CONFIG_ROCKCHIP_MPP_JPGENC is not set +CONFIG_ROCKCHIP_MPP_AV1DEC=y +# CONFIG_ROCKCHIP_MPP_VDPP is not set +# CONFIG_ROCKCHIP_DVBM is not set + +# +# Rockchip video tunnel support +# +# CONFIG_ROCKCHIP_VIDEO_TUNNEL is not set +# end of Rockchip video tunnel support +# end of Rockchip Misc Video driver + +CONFIG_VIDEOMODE_HELPERS=y +CONFIG_HDMI=y + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +CONFIG_DUMMY_CONSOLE_COLUMNS=80 +CONFIG_DUMMY_CONSOLE_ROWS=25 +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set +# end of Console display driver support + +# CONFIG_LOGO is not set +# end of Graphics support + +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_PCM_ELD=y +CONFIG_SND_PCM_IEC958=y +CONFIG_SND_DMAENGINE_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_SEQ_DEVICE=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_JACK=y +CONFIG_SND_JACK_INPUT_DEV=y +# CONFIG_SND_OSSEMUL is not set +CONFIG_SND_PCM_TIMER=y +CONFIG_SND_HRTIMER=y +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_MAX_CARDS=32 +# CONFIG_SND_SUPPORT_OLD_API is not set +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +CONFIG_SND_CTL_FAST_LOOKUP=y +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_CTL_INPUT_VALIDATION is not set +CONFIG_SND_SEQUENCER=y +CONFIG_SND_SEQ_DUMMY=y +CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +CONFIG_SND_SEQ_MIDI_EVENT=y +CONFIG_SND_SEQ_MIDI=y +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +CONFIG_SND_ALOOP=m +# CONFIG_SND_VIRMIDI is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_SERIAL_GENERIC is not set +# CONFIG_SND_MPU401 is not set +# CONFIG_SND_PCI is not set + +# +# HD-Audio +# +# end of HD-Audio + +CONFIG_SND_HDA_PREALLOC_SIZE=64 +# CONFIG_SND_SPI is not set +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y +# CONFIG_SND_SOC_ADI is not set +# CONFIG_SND_SOC_AMD_ACP is not set +# CONFIG_SND_AMD_ACP_CONFIG is not set +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_AUDMIX is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_FSL_MICFIL is not set +# CONFIG_SND_SOC_FSL_XCVR is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set +# end of SoC Audio for Freescale CPUs + +# CONFIG_SND_I2S_HI6210_I2S is not set +# CONFIG_SND_SOC_IMG is not set +# CONFIG_SND_SOC_MTK_BTCVSD is not set +CONFIG_SND_SOC_ROCKCHIP=y +# CONFIG_SND_SOC_ROCKCHIP_DLP_PCM is not set +CONFIG_SND_SOC_ROCKCHIP_I2S=y +CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=y +# CONFIG_SND_SOC_ROCKCHIP_I2S_TDM_MULTI_LANES is not set +# CONFIG_SND_SOC_ROCKCHIP_MULTI_DAIS is not set +CONFIG_SND_SOC_ROCKCHIP_PDM=y +# CONFIG_SND_SOC_ROCKCHIP_PDM_V2 is not set +CONFIG_SND_SOC_ROCKCHIP_SAI=y +# CONFIG_SND_SOC_ROCKCHIP_SAI_VERBOSE is not set +CONFIG_SND_SOC_ROCKCHIP_SPDIF=y +CONFIG_SND_SOC_ROCKCHIP_SPDIFRX=y +CONFIG_SND_SOC_ROCKCHIP_TRCM=y +# CONFIG_SND_SOC_ROCKCHIP_VAD is not set +CONFIG_SND_SOC_ROCKCHIP_MAX98090=y +CONFIG_SND_SOC_ROCKCHIP_MULTICODECS=y +CONFIG_SND_SOC_ROCKCHIP_RT5645=y +CONFIG_SND_SOC_ROCKCHIP_HDMI=y +# CONFIG_SND_SOC_RK3288_HDMI_ANALOG is not set +# CONFIG_SND_SOC_RK3399_GRU_SOUND is not set +# CONFIG_SND_SOC_SOF_TOPLEVEL is not set + +# +# STMicroelectronics STM32 SOC audio support +# +# end of STMicroelectronics STM32 SOC audio support + +# CONFIG_SND_SOC_XILINX_I2S is not set +# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set +# CONFIG_SND_SOC_XILINX_SPDIF is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1372_I2C is not set +# CONFIG_SND_SOC_ADAU1372_SPI is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_ADAU1761_I2C is not set +# CONFIG_SND_SOC_ADAU1761_SPI is not set +# CONFIG_SND_SOC_ADAU7002 is not set +# CONFIG_SND_SOC_ADAU7118_HW is not set +# CONFIG_SND_SOC_ADAU7118_I2C is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4118 is not set +# CONFIG_SND_SOC_AK4375 is not set +# CONFIG_SND_SOC_AK4458 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_AK5558 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_AW8738 is not set +# CONFIG_SND_SOC_BD28623 is not set +# CONFIG_SND_SOC_BT_SCO is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS35L33 is not set +# CONFIG_SND_SOC_CS35L34 is not set +# CONFIG_SND_SOC_CS35L35 is not set +# CONFIG_SND_SOC_CS35L36 is not set +# CONFIG_SND_SOC_CS35L41_SPI is not set +# CONFIG_SND_SOC_CS35L41_I2C is not set +# CONFIG_SND_SOC_CS35L45_SPI is not set +# CONFIG_SND_SOC_CS35L45_I2C is not set +# CONFIG_SND_SOC_CS42L42 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS42L83 is not set +# CONFIG_SND_SOC_CS4234 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS43130 is not set +# CONFIG_SND_SOC_CS4341 is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_CS53L30 is not set +# CONFIG_SND_SOC_CX2072X is not set +# CONFIG_SND_SOC_DA7213 is not set +# CONFIG_SND_SOC_DMIC is not set +CONFIG_SND_SOC_DUMMY_CODEC=y +CONFIG_SND_SOC_HDMI_CODEC=y +# CONFIG_SND_SOC_ES7134 is not set +CONFIG_SND_SOC_ES7202=y +CONFIG_SND_SOC_ES7202_MIC_MAX_CHANNELS=2 +CONFIG_SND_SOC_ES7202_I2C_BUS=1 +# CONFIG_SND_SOC_ES7210 is not set +# CONFIG_SND_SOC_ES7241 is not set +CONFIG_SND_SOC_ES7243E=y +CONFIG_SND_SOC_ES8311=y +CONFIG_SND_SOC_ES8316=y +CONFIG_SND_SOC_ES8323=y +CONFIG_SND_SOC_ES8326=y +# CONFIG_SND_SOC_ES8328_I2C is not set +# CONFIG_SND_SOC_ES8328_SPI is not set +# CONFIG_SND_SOC_ES8396 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_HDA is not set +# CONFIG_SND_SOC_ICS43432 is not set +# CONFIG_SND_SOC_INNO_RK3036 is not set +# CONFIG_SND_SOC_MAX98088 is not set +CONFIG_SND_SOC_MAX98090=y +# CONFIG_SND_SOC_MAX98357A is not set +# CONFIG_SND_SOC_MAX98504 is not set +# CONFIG_SND_SOC_MAX9867 is not set +# CONFIG_SND_SOC_MAX98927 is not set +# CONFIG_SND_SOC_MAX98520 is not set +# CONFIG_SND_SOC_MAX98373_I2C is not set +# CONFIG_SND_SOC_MAX98390 is not set +# CONFIG_SND_SOC_MAX98396 is not set +# CONFIG_SND_SOC_MAX9860 is not set +# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set +# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1789_I2C is not set +# CONFIG_SND_SOC_PCM179X_I2C is not set +# CONFIG_SND_SOC_PCM179X_SPI is not set +# CONFIG_SND_SOC_PCM186X_I2C is not set +# CONFIG_SND_SOC_PCM186X_SPI is not set +# CONFIG_SND_SOC_PCM3060_I2C is not set +# CONFIG_SND_SOC_PCM3060_SPI is not set +# CONFIG_SND_SOC_PCM3168A_I2C is not set +# CONFIG_SND_SOC_PCM3168A_SPI is not set +# CONFIG_SND_SOC_PCM5102A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RK312X is not set +# CONFIG_SND_SOC_RK3228 is not set +CONFIG_SND_SOC_RK3308=y +CONFIG_SND_SOC_RK3328=y +CONFIG_SND_SOC_RK3528=y +# CONFIG_SND_SOC_RK730 is not set +CONFIG_SND_SOC_RK817=y +CONFIG_SND_SOC_RK_CODEC_DIGITAL=y +# CONFIG_SND_SOC_RK_DSM is not set +CONFIG_SND_SOC_RL6231=y +# CONFIG_SND_SOC_ROCKCHIP_SPI_CODEC is not set +CONFIG_SND_SOC_RT5616=y +# CONFIG_SND_SOC_RT5631 is not set +CONFIG_SND_SOC_RT5640=y +CONFIG_SND_SOC_RT5645=y +CONFIG_SND_SOC_RT5651=y +# CONFIG_SND_SOC_RT5659 is not set +# CONFIG_SND_SOC_RT9120 is not set +# CONFIG_SND_SOC_RV1106 is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set +# CONFIG_SND_SOC_SIMPLE_MUX is not set +CONFIG_SND_SOC_SPDIF=y +# CONFIG_SND_SOC_SRC4XXX_I2C is not set +# CONFIG_SND_SOC_SSM2305 is not set +# CONFIG_SND_SOC_SSM2518 is not set +# CONFIG_SND_SOC_SSM2602_SPI is not set +# CONFIG_SND_SOC_SSM2602_I2C is not set +# CONFIG_SND_SOC_SSM4567 is not set +# CONFIG_SND_SOC_STA32X is not set +# CONFIG_SND_SOC_STA350 is not set +# CONFIG_SND_SOC_STI_SAS is not set +# CONFIG_SND_SOC_TAS2552 is not set +# CONFIG_SND_SOC_TAS2562 is not set +# CONFIG_SND_SOC_TAS2764 is not set +# CONFIG_SND_SOC_TAS2770 is not set +# CONFIG_SND_SOC_TAS2780 is not set +# CONFIG_SND_SOC_TAS5086 is not set +# CONFIG_SND_SOC_TAS571X is not set +# CONFIG_SND_SOC_TAS5720 is not set +# CONFIG_SND_SOC_TAS5805M is not set +# CONFIG_SND_SOC_TAS6424 is not set +# CONFIG_SND_SOC_TDA7419 is not set +# CONFIG_SND_SOC_TDA7803 is not set +# CONFIG_SND_SOC_TFA9879 is not set +# CONFIG_SND_SOC_TFA989X is not set +# CONFIG_SND_SOC_TLV320ADC3XXX is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set +# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set +# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set +# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set +# CONFIG_SND_SOC_TLV320ADCX140 is not set +CONFIG_SND_SOC_TS3A227E=y +# CONFIG_SND_SOC_TSCS42XX is not set +# CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8524 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731_I2C is not set +# CONFIG_SND_SOC_WM8731_SPI is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8782 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8904 is not set +# CONFIG_SND_SOC_WM8940 is not set +CONFIG_SND_SOC_WM8960=y +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8974 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_ZL38060 is not set +# CONFIG_SND_SOC_MAX9759 is not set +# CONFIG_SND_SOC_MT6351 is not set +# CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set +# CONFIG_SND_SOC_NAU8315 is not set +# CONFIG_SND_SOC_NAU8540 is not set +# CONFIG_SND_SOC_NAU8810 is not set +# CONFIG_SND_SOC_NAU8821 is not set +# CONFIG_SND_SOC_NAU8822 is not set +# CONFIG_SND_SOC_NAU8824 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SOC_LPASS_WSA_MACRO is not set +# CONFIG_SND_SOC_LPASS_VA_MACRO is not set +# CONFIG_SND_SOC_LPASS_RX_MACRO is not set +# CONFIG_SND_SOC_LPASS_TX_MACRO is not set +CONFIG_SND_SOC_AW87XXX=y +# CONFIG_SND_SOC_AW882XX is not set +# CONFIG_SND_SOC_AW883XX is not set +# CONFIG_SND_SOC_IT6621 is not set +# end of CODEC drivers + +CONFIG_SND_SIMPLE_CARD_UTILS=y +CONFIG_SND_SIMPLE_CARD=y +# CONFIG_SND_AUDIO_GRAPH_CARD is not set +# CONFIG_SND_AUDIO_GRAPH_CARD2 is not set +# CONFIG_SND_TEST_COMPONENT is not set +# CONFIG_SND_VIRTIO is not set + +# +# HID support +# +CONFIG_HID=y +CONFIG_HID_BATTERY_STRENGTH=y +CONFIG_HIDRAW=y +CONFIG_UHID=y +CONFIG_HID_GENERIC=y + +# +# Special HID drivers +# +# CONFIG_HID_A4TECH is not set +# CONFIG_HID_ACCUTOUCH is not set +# CONFIG_HID_ACRUX is not set +CONFIG_HID_APPLE=m +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_ASUS is not set +# CONFIG_HID_AUREAL is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_BETOP_FF is not set +# CONFIG_HID_BIGBEN_FF is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_CORSAIR is not set +# CONFIG_HID_COUGAR is not set +# CONFIG_HID_MACALLY is not set +# CONFIG_HID_PRODIKEYS is not set +# CONFIG_HID_CMEDIA is not set +# CONFIG_HID_CP2112 is not set +# CONFIG_HID_CREATIVE_SB0540 is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELAN is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +# CONFIG_HID_EZKEY is not set +# CONFIG_HID_FT260 is not set +# CONFIG_HID_GEMBIRD is not set +# CONFIG_HID_GFRM is not set +# CONFIG_HID_GLORIOUS is not set +# CONFIG_HID_HOLTEK is not set +# CONFIG_HID_VIVALDI is not set +# CONFIG_HID_GT683R is not set +# CONFIG_HID_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set +# CONFIG_HID_WALTOP is not set +# CONFIG_HID_VIEWSONIC is not set +# CONFIG_HID_VRC2 is not set +# CONFIG_HID_XIAOMI is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_ITE is not set +# CONFIG_HID_JABRA is not set +# CONFIG_HID_TWINHAN is not set +CONFIG_HID_KENSINGTON=m +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LED is not set +# CONFIG_HID_LENOVO is not set +# CONFIG_HID_LETSKETCH is not set +# CONFIG_HID_LOGITECH is not set +CONFIG_HID_MAGICMOUSE=m +# CONFIG_HID_MALTRON is not set +# CONFIG_HID_MAYFLASH is not set +# CONFIG_HID_MEGAWORLD_FF is not set +# CONFIG_HID_REDRAGON is not set +CONFIG_HID_MICROSOFT=m +# CONFIG_HID_MONTEREY is not set +CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NINTENDO=m +# CONFIG_NINTENDO_FF is not set +# CONFIG_HID_NTI is not set +# CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set +# CONFIG_HID_PANTHERLORD is not set +# CONFIG_HID_PENMOUNT is not set +# CONFIG_HID_PETALYNX is not set +# CONFIG_HID_PICOLCD is not set +# CONFIG_HID_PLANTRONICS is not set +# CONFIG_HID_PXRC is not set +# CONFIG_HID_RAZER is not set +# CONFIG_HID_PRIMAX is not set +# CONFIG_HID_RETRODE is not set +CONFIG_HID_ROCCAT=m +CONFIG_HID_SAITEK=m +# CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SEMITEK is not set +# CONFIG_HID_SIGMAMICRO is not set +CONFIG_HID_SONY=m +# CONFIG_SONY_FF is not set +# CONFIG_HID_SPEEDLINK is not set +CONFIG_HID_STEAM=m +CONFIG_HID_STEELSERIES=m +# CONFIG_HID_SUNPLUS is not set +# CONFIG_HID_RMI is not set +# CONFIG_HID_GREENASIA is not set +# CONFIG_HID_SMARTJOYPLUS is not set +# CONFIG_HID_TIVO is not set +# CONFIG_HID_TOPSEED is not set +# CONFIG_HID_TOPRE is not set +# CONFIG_HID_THINGM is not set +# CONFIG_HID_THRUSTMASTER is not set +# CONFIG_HID_UDRAW_PS3 is not set +# CONFIG_HID_U2FZERO is not set +CONFIG_HID_WACOM=y +CONFIG_HID_WIIMOTE=m +# CONFIG_HID_XINMO is not set +# CONFIG_HID_ZEROPLUS is not set +# CONFIG_HID_ZYDACRON is not set +# CONFIG_HID_SENSOR_HUB is not set +# CONFIG_HID_ALPS is not set +# CONFIG_HID_MCP2221 is not set +# end of Special HID drivers + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +CONFIG_USB_HIDDEV=y +# end of USB HID support + +# +# I2C HID support +# +# CONFIG_I2C_HID_OF is not set +# CONFIG_I2C_HID_OF_ELAN is not set +# CONFIG_I2C_HID_OF_GOODIX is not set +# end of I2C HID support +# end of HID support + +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_LED_TRIG=y +CONFIG_USB_ULPI_BUS=m +CONFIG_USB_CONN_GPIO=m +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +CONFIG_USB_PCI=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y + +# +# Miscellaneous USB options +# +# CONFIG_USB_DEFAULT_PERSIST is not set +# CONFIG_USB_FEW_INIT_RETRIES is not set +# CONFIG_USB_DYNAMIC_MINORS is not set +CONFIG_USB_OTG=y +# CONFIG_USB_OTG_PRODUCTLIST is not set +# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set +# CONFIG_USB_OTG_FSM is not set +# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set +CONFIG_USB_AUTOSUSPEND_DELAY=2 +CONFIG_USB_MON=m + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +# CONFIG_USB_XHCI_DBGCAP is not set +CONFIG_USB_XHCI_PCI=y +# CONFIG_USB_XHCI_PCI_RENESAS is not set +CONFIG_USB_XHCI_PLATFORM=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_PCI=y +# CONFIG_USB_EHCI_FSL is not set +CONFIG_USB_EHCI_HCD_PLATFORM=y +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_HCD_PCI is not set +CONFIG_USB_OHCI_HCD_PLATFORM=y +# CONFIG_USB_UHCI_HCD is not set +# CONFIG_USB_U132_HCD is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_BCMA is not set +# CONFIG_USB_HCD_SSB is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=y +CONFIG_USB_PRINTER=m +CONFIG_USB_WDM=m +CONFIG_USB_TMC=m + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_REALTEK=m +CONFIG_REALTEK_AUTOPM=y +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=y + +# +# USB Imaging devices +# +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m +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_USBIP_DEBUG=y +# CONFIG_USB_CDNS_SUPPORT is not set +# CONFIG_USB_MUSB_HDRC is not set +CONFIG_USB_DWC3=y +# CONFIG_USB_DWC3_HOST is not set +# CONFIG_USB_DWC3_GADGET is not set +CONFIG_USB_DWC3_DUAL_ROLE=y + +# +# Platform Glue Driver Support +# +CONFIG_USB_DWC3_HAPS=y +CONFIG_USB_DWC3_OF_SIMPLE=y +CONFIG_USB_DWC3_ROCKCHIP_INNO=y +CONFIG_USB_DWC2=y +# CONFIG_USB_DWC2_HOST is not set + +# +# Gadget/Dual-role mode requires USB Gadget support to be enabled +# +# CONFIG_USB_DWC2_PERIPHERAL is not set +CONFIG_USB_DWC2_DUAL_ROLE=y +# CONFIG_USB_DWC2_PCI is not set +# CONFIG_USB_DWC2_DEBUG is not set +# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set +# CONFIG_USB_CHIPIDEA is not set +# CONFIG_USB_ISP1760 is not set + +# +# USB port drivers +# +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_CYPRESS_M8=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_WWAN=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 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +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_FTDI_ELAN=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_EZUSB_FX2=y +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set +# CONFIG_USB_CHAOSKEY is not set +# CONFIG_USB_ONBOARD_HUB is not set +CONFIG_USB_ATM=m +# CONFIG_USB_SPEEDTOUCH is not set +# CONFIG_USB_CXACRU is not set +# CONFIG_USB_UEAGLEATM is not set +# CONFIG_USB_XUSBATM is not set + +# +# USB Physical Layer drivers +# +CONFIG_USB_PHY=y +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# end of USB Physical Layer drivers + +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG is not set +CONFIG_USB_GADGET_DEBUG_FILES=y +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_VBUS_DRAW=500 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +CONFIG_U_SERIAL_CONSOLE=y + +# +# USB Peripheral Controller +# +CONFIG_USB_FOTG210_UDC=m +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_CORE=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_NET2272_DMA=y +CONFIG_USB_NET2280=m +CONFIG_USB_GOKU=m +CONFIG_USB_EG20T=m +CONFIG_USB_GADGET_XILINX=m +CONFIG_USB_MAX3420_UDC=m +CONFIG_USB_DUMMY_HCD=m +# end of USB Peripheral Controller + +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_F_ACM=y +CONFIG_USB_F_SS_LB=m +CONFIG_USB_U_SERIAL=y +CONFIG_USB_U_ETHER=y +CONFIG_USB_U_AUDIO=y +CONFIG_USB_F_SERIAL=y +CONFIG_USB_F_OBEX=y +CONFIG_USB_F_NCM=y +CONFIG_USB_F_ECM=y +CONFIG_USB_F_EEM=y +CONFIG_USB_F_SUBSET=y +CONFIG_USB_F_RNDIS=y +CONFIG_USB_F_MASS_STORAGE=y +CONFIG_USB_F_FS=y +CONFIG_USB_F_UAC1=y +CONFIG_USB_F_UAC1_LEGACY=y +CONFIG_USB_F_UAC2=y +CONFIG_USB_F_UVC=y +CONFIG_USB_F_MIDI=y +CONFIG_USB_F_HID=y +CONFIG_USB_F_PRINTER=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_UEVENT=y +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_OBEX=y +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_ECM=y +CONFIG_USB_CONFIGFS_ECM_SUBSET=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_EEM=y +# CONFIG_USB_CONFIGFS_PHONET is not set +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +# CONFIG_USB_CONFIGFS_F_LB_SS is not set +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 is not set + +# +# USB Gadget precomposed configurations +# +CONFIG_USB_ZERO=m +CONFIG_USB_ZERO_HNPTEST=y +CONFIG_USB_AUDIO=m +CONFIG_GADGET_UAC1=y +CONFIG_GADGET_UAC1_LEGACY=y +CONFIG_USB_ETH=m +CONFIG_USB_ETH_RNDIS=y +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 is not set +CONFIG_USB_G_SERIAL=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_G_PRINTER=m +CONFIG_USB_CDC_COMPOSITE=m +# CONFIG_USB_G_NOKIA is not set +CONFIG_USB_G_ACM_MS=m +CONFIG_USB_G_MULTI=m +CONFIG_USB_G_MULTI_RNDIS=y +CONFIG_USB_G_MULTI_CDC=y +CONFIG_USB_G_HID=m +CONFIG_USB_G_DBGP=m +# CONFIG_USB_G_DBGP_PRINTK is not set +CONFIG_USB_G_DBGP_SERIAL=y +CONFIG_USB_G_WEBCAM=m +CONFIG_USB_RAW_GADGET=m +# end of USB Gadget precomposed configurations + +CONFIG_TYPEC=y +CONFIG_TYPEC_TCPM=y +CONFIG_TYPEC_TCPCI=y +# CONFIG_TYPEC_ET7303 is not set +CONFIG_TYPEC_HUSB311=y +# CONFIG_TYPEC_RT1711H is not set +# CONFIG_TYPEC_TCPCI_MAXIM is not set +CONFIG_TYPEC_FUSB302=y +# CONFIG_TYPEC_UCSI is not set +# CONFIG_TYPEC_TPS6598X is not set +# CONFIG_TYPEC_ANX7411 is not set +# CONFIG_TYPEC_RT1719 is not set +# CONFIG_TYPEC_HD3SS3220 is not set +# CONFIG_TYPEC_STUSB160X is not set +# CONFIG_TYPEC_WUSB3801 is not set + +# +# USB Type-C Multiplexer/DeMultiplexer Switch support +# +# CONFIG_TYPEC_MUX_FSA4480 is not set +# CONFIG_TYPEC_MUX_PI3USB30532 is not set +# end of USB Type-C Multiplexer/DeMultiplexer Switch support + +# +# USB Type-C Alternate Mode drivers +# +CONFIG_TYPEC_DP_ALTMODE=y +# CONFIG_TYPEC_NVIDIA_ALTMODE is not set +# end of USB Type-C Alternate Mode drivers + +CONFIG_USB_ROLE_SWITCH=y +CONFIG_MMC=y +CONFIG_PWRSEQ_EMMC=y +# CONFIG_PWRSEQ_SD8787 is not set +CONFIG_PWRSEQ_SIMPLE=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=32 +# CONFIG_SDIO_UART is not set +CONFIG_MMC_TEST=y + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_ARMMMCI is not set +CONFIG_MMC_SDHCI=y +# CONFIG_MMC_SDHCI_PCI is not set +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_OF_ARASAN=y +# CONFIG_MMC_SDHCI_OF_AT91 is not set +CONFIG_MMC_SDHCI_OF_DWCMSHC=y +# CONFIG_MMC_SDHCI_CADENCE is not set +# CONFIG_MMC_SDHCI_F_SDH30 is not set +# CONFIG_MMC_SDHCI_MILBEAUT is not set +# CONFIG_MMC_TIFM_SD is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_CB710 is not set +# CONFIG_MMC_VIA_SDMMC is not set +CONFIG_MMC_DW=y +CONFIG_MMC_DW_PLTFM=y +# CONFIG_MMC_DW_BLUEFIELD is not set +# CONFIG_MMC_DW_EXYNOS is not set +# CONFIG_MMC_DW_HI3798CV200 is not set +# CONFIG_MMC_DW_K3 is not set +# CONFIG_MMC_DW_PCI is not set +CONFIG_MMC_DW_ROCKCHIP=y +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_USDHI6ROL0 is not set +CONFIG_MMC_CQHCI=y +CONFIG_MMC_HSQ=y +# CONFIG_MMC_TOSHIBA_PCI is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MMC_SDHCI_XENON is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_CLASS_FLASH is not set +# CONFIG_LEDS_CLASS_MULTICOLOR is not set +# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set + +# +# LED drivers +# +# CONFIG_LEDS_AN30259A is not set +# CONFIG_LEDS_AW2013 is not set +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_CR0014114 is not set +# CONFIG_LEDS_EL15203000 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3532 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_LM3692X is not set +# CONFIG_LEDS_PCA9532 is not set +CONFIG_LEDS_GPIO=y +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP3952 is not set +# CONFIG_LEDS_LP50XX is not set +# CONFIG_LEDS_LP55XX_COMMON is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_PWM is not set +# CONFIG_LEDS_REGULATOR is not set +# CONFIG_LEDS_BD2802 is not set +# CONFIG_LEDS_LT3593 is not set +# CONFIG_LEDS_TCA6507 is not set +# CONFIG_LEDS_TLC591XX is not set +# CONFIG_LEDS_LM355x is not set +# CONFIG_LEDS_IS31FL319X is not set +CONFIG_LEDS_IS31FL32XX=y + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set +# CONFIG_LEDS_SYSCON is not set +# CONFIG_LEDS_MLXREG is not set +# CONFIG_LEDS_USER is not set +# CONFIG_LEDS_SPI_BYTE is not set +# CONFIG_LEDS_TI_LMU_COMMON is not set + +# +# Flash and Torch LED drivers +# + +# +# RGB LED drivers +# + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_ONESHOT=y +CONFIG_LEDS_TRIGGER_DISK=y +CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_BACKLIGHT=y +CONFIG_LEDS_TRIGGER_CPU=y +CONFIG_LEDS_TRIGGER_ACTIVITY=y +CONFIG_LEDS_TRIGGER_GPIO=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y + +# +# iptables trigger is under Netfilter config (LED target) +# +CONFIG_LEDS_TRIGGER_TRANSIENT=y +CONFIG_LEDS_TRIGGER_CAMERA=y +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_LEDS_TRIGGER_NETDEV=y +CONFIG_LEDS_TRIGGER_PATTERN=m +CONFIG_LEDS_TRIGGER_AUDIO=m +# CONFIG_LEDS_TRIGGER_TTY is not set + +# +# Simple LED drivers +# +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_SUPPORT=y +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_NVMEM=y + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_ABB5ZES3 is not set +# CONFIG_RTC_DRV_ABEOZ9 is not set +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +CONFIG_RTC_DRV_HYM8563=y +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_NCT3018Y is not set +CONFIG_RTC_DRV_RK808=y +# CONFIG_RTC_DRV_ROCKCHIP is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_ISL12026 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF85063 is not set +# CONFIG_RTC_DRV_PCF85363 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_BQ32K is not set +# CONFIG_RTC_DRV_TPS6586X is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8010 is not set +# CONFIG_RTC_DRV_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3028 is not set +# CONFIG_RTC_DRV_RV3032 is not set +# CONFIG_RTC_DRV_RV8803 is not set +# CONFIG_RTC_DRV_SD3078 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1302 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1343 is not set +# CONFIG_RTC_DRV_DS1347 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6916 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_MCP795 is not set +CONFIG_RTC_I2C_AND_SPI=y + +# +# SPI and I2C RTC drivers +# +# CONFIG_RTC_DRV_DS3232 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set +# CONFIG_RTC_DRV_RX6110 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1685_FAMILY is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_DS2404 is not set +# CONFIG_RTC_DRV_EFI is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_OPTEE is not set +# CONFIG_RTC_DRV_ZYNQMP is not set + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_PL030 is not set +# CONFIG_RTC_DRV_PL031 is not set +# CONFIG_RTC_DRV_CADENCE is not set +# CONFIG_RTC_DRV_FTRTC010 is not set +# CONFIG_RTC_DRV_R7301 is not set + +# +# HID Sensor RTC drivers +# +# CONFIG_RTC_DRV_GOLDFISH is not set +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set + +# +# DMA Devices +# +CONFIG_DMA_ENGINE=y +CONFIG_DMA_OF=y +# CONFIG_ALTERA_MSGDMA is not set +# CONFIG_AMBA_PL08X is not set +# CONFIG_BCM_SBA_RAID is not set +# CONFIG_DW_AXI_DMAC is not set +# CONFIG_FSL_EDMA is not set +# CONFIG_FSL_QDMA is not set +# CONFIG_INTEL_IDMA64 is not set +# CONFIG_MV_XOR_V2 is not set +CONFIG_PL330_DMA=y +# CONFIG_PLX_DMA is not set +# CONFIG_XILINX_DMA is not set +# CONFIG_XILINX_ZYNQMP_DMA is not set +# CONFIG_XILINX_ZYNQMP_DPDMA is not set +# CONFIG_QCOM_HIDMA_MGMT is not set +# CONFIG_QCOM_HIDMA is not set +CONFIG_DW_DMAC_CORE=y +# CONFIG_DW_DMAC is not set +CONFIG_DW_DMAC_PCI=y +# CONFIG_DW_EDMA is not set +# CONFIG_DW_EDMA_PCIE is not set +# CONFIG_SF_PDMA is not set + +# +# DMA Clients +# +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_DMATEST is not set + +# +# DMABUF options +# +CONFIG_DMABUF_CACHE=y +# CONFIG_RK_DMABUF_DEBUG is not set +# CONFIG_DMABUF_PARTIAL is not set +CONFIG_SYNC_FILE=y +CONFIG_SW_SYNC=y +CONFIG_SW_SYNC_DEBUG=y +# CONFIG_UDMABUF is not set +# CONFIG_DMABUF_MOVE_NOTIFY is not set +# CONFIG_DMABUF_DEBUG is not set +# CONFIG_DMABUF_SELFTESTS is not set +CONFIG_DMABUF_HEAPS=y +CONFIG_DMABUF_SYSFS_STATS=y +CONFIG_DMABUF_HEAPS_SYSTEM=y +CONFIG_DMABUF_HEAPS_CMA=y +# CONFIG_DMABUF_HEAPS_SRAM is not set +# CONFIG_DMABUF_HEAPS_ROCKCHIP is not set +# end of DMABUF options + +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +CONFIG_VFIO=y +CONFIG_VFIO_IOMMU_TYPE1=y +CONFIG_VFIO_VIRQFD=y +# CONFIG_VFIO_NOIOMMU is not set +CONFIG_VFIO_PCI_CORE=y +CONFIG_VFIO_PCI_MMAP=y +CONFIG_VFIO_PCI_INTX=y +CONFIG_VFIO_PCI=y +# CONFIG_VFIO_PLATFORM is not set +# CONFIG_VFIO_MDEV is not set +# CONFIG_VIRT_DRIVERS is not set +CONFIG_VIRTIO_ANCHOR=y +CONFIG_VIRTIO=m +CONFIG_VIRTIO_MENU=y +CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_MMIO=m +# CONFIG_VDPA is not set +CONFIG_VHOST_IOTLB=m +CONFIG_VHOST_RING=m +CONFIG_VHOST=m +CONFIG_VHOST_MENU=y +CONFIG_VHOST_NET=m +CONFIG_VHOST_SCSI=m +CONFIG_VHOST_VSOCK=m +# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set + +# +# Microsoft Hyper-V guest support +# +# end of Microsoft Hyper-V guest support + +# CONFIG_GREYBUS is not set +# CONFIG_COMEDI is not set +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_RTL8192U is not set +# CONFIG_RTLLIB is not set +# CONFIG_RTL8723BS is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_RTS5208 is not set +# CONFIG_VT6655 is not set +# CONFIG_VT6656 is not set + +# +# IIO staging drivers +# + +# +# Accelerometers +# +# CONFIG_ADIS16203 is not set +# CONFIG_ADIS16240 is not set +# end of Accelerometers + +# +# Analog to digital converters +# +# CONFIG_AD7816 is not set +# end of Analog to digital converters + +# +# Analog digital bi-direction converters +# +# CONFIG_ADT7316 is not set +# end of Analog digital bi-direction converters + +# +# Direct Digital Synthesis +# +# CONFIG_AD9832 is not set +# CONFIG_AD9834 is not set +# end of Direct Digital Synthesis + +# +# Network Analyzer, Impedance Converters +# +# CONFIG_AD5933 is not set +# end of Network Analyzer, Impedance Converters + +# +# Active energy metering IC +# +# CONFIG_ADE7854 is not set +# end of Active energy metering IC + +# +# Resolver to digital converters +# +# CONFIG_AD2S1210 is not set +# end of Resolver to digital converters +# end of IIO staging drivers + +# CONFIG_FB_SM750 is not set +# CONFIG_STAGING_MEDIA is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_LTE_GDM724X is not set +CONFIG_FB_TFT=y +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_KS7010 is not set +# CONFIG_PI433 is not set +# CONFIG_XIL_AXIS_FIFO is not set +# CONFIG_FIELDBUS_DEV is not set +# CONFIG_QLGE is not set +# CONFIG_VME_BUS is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +# CONFIG_MELLANOX_PLATFORM is not set +CONFIG_SURFACE_PLATFORMS=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y +# CONFIG_COMMON_CLK_PROCFS is not set + +# +# Clock driver for ARM Reference designs +# +# CONFIG_CLK_ICST is not set +# CONFIG_CLK_SP810 is not set +# end of Clock driver for ARM Reference designs + +# CONFIG_LMK04832 is not set +# CONFIG_COMMON_CLK_MAX9485 is not set +CONFIG_COMMON_CLK_RK808=y +CONFIG_COMMON_CLK_SCMI=y +# CONFIG_COMMON_CLK_SI5341 is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI544 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE706 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_COMMON_CLK_CS2000_CP is not set +# CONFIG_COMMON_CLK_AXI_CLKGEN is not set +# CONFIG_COMMON_CLK_XGENE is not set +CONFIG_COMMON_CLK_PWM=y +# CONFIG_COMMON_CLK_RS9_PCIE is not set +# CONFIG_COMMON_CLK_VC5 is not set +# CONFIG_COMMON_CLK_VC7 is not set +# CONFIG_COMMON_CLK_FIXED_MMIO is not set +CONFIG_COMMON_CLK_ROCKCHIP=y +CONFIG_CLK_PX30=y +CONFIG_CLK_RK1808=y +CONFIG_CLK_RK3328=y +CONFIG_CLK_RK3399=y +CONFIG_CLK_RK3528=y +CONFIG_CLK_RK3568=y +CONFIG_CLK_RK3576=y +CONFIG_CLK_RK3588=y +# CONFIG_ROCKCHIP_CLK_COMPENSATION is not set +CONFIG_ROCKCHIP_CLK_LINK=y +CONFIG_ROCKCHIP_CLK_BOOST=y +CONFIG_ROCKCHIP_CLK_INV=y +CONFIG_ROCKCHIP_CLK_OUT=y +CONFIG_ROCKCHIP_CLK_PVTM=y +CONFIG_ROCKCHIP_DDRCLK=y +CONFIG_ROCKCHIP_DDRCLK_SIP=y +CONFIG_ROCKCHIP_DDRCLK_SIP_V2=y +CONFIG_ROCKCHIP_PLL_RK3399=y +CONFIG_ROCKCHIP_PLL_RK3588=y +# CONFIG_XILINX_VCU is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_HWSPINLOCK is not set + +# +# Clock Source drivers +# +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ROCKCHIP_TIMER=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y +CONFIG_FSL_ERRATUM_A008585=y +CONFIG_HISILICON_ERRATUM_161010101=y +CONFIG_ARM64_ERRATUM_858921=y +# CONFIG_MICROCHIP_PIT64B is not set +# end of Clock Source drivers + +CONFIG_MAILBOX=y +# CONFIG_MAILBOX_POLL_PERIOD_US is not set +# CONFIG_ARM_MHU is not set +# CONFIG_ARM_MHU_V2 is not set +# CONFIG_PLATFORM_MHU is not set +# CONFIG_PL320_MBOX is not set +# CONFIG_ROCKCHIP_MBOX is not set +# CONFIG_ALTERA_MBOX is not set +# CONFIG_MAILBOX_TEST is not set +CONFIG_IOMMU_IOVA=y +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +CONFIG_IOMMU_IO_PGTABLE=y +CONFIG_IOMMU_IO_PGTABLE_LPAE=y +# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set +# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set +# CONFIG_IOMMU_IO_PGTABLE_DART is not set +# end of Generic IOMMU Pagetable Support + +# CONFIG_IOMMU_DEBUGFS is not set +CONFIG_IOMMU_DEFAULT_DMA_STRICT=y +# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_OF_IOMMU=y +CONFIG_IOMMU_DMA=y +CONFIG_ROCKCHIP_IOMMU=y +# CONFIG_ARM_SMMU is not set +CONFIG_ARM_SMMU_V3=y +# CONFIG_ARM_SMMU_V3_SVA is not set +# CONFIG_VIRTIO_IOMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_REMOTEPROC is not set +# end of Remoteproc drivers + +# +# Rpmsg drivers +# +# CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_ROCKCHIP_SOFTIRQ is not set +# CONFIG_RPMSG_VIRTIO is not set +# end of Rpmsg drivers + +# CONFIG_SOUNDWIRE is not set + +# +# SOC (System On Chip) specific Drivers +# + +# +# Amlogic SoC drivers +# +# end of Amlogic SoC drivers + +# +# Broadcom SoC drivers +# +# CONFIG_SOC_BRCMSTB is not set +# end of Broadcom SoC drivers + +# +# NXP/Freescale QorIQ SoC drivers +# +# CONFIG_QUICC_ENGINE is not set +# CONFIG_FSL_RCPM is not set +# end of NXP/Freescale QorIQ SoC drivers + +# +# fujitsu SoC drivers +# +# end of fujitsu SoC drivers + +# +# i.MX SoC drivers +# +# end of i.MX SoC drivers + +# +# Enable LiteX SoC Builder specific drivers +# +# CONFIG_LITEX_SOC_CONTROLLER is not set +# end of Enable LiteX SoC Builder specific drivers + +# +# Qualcomm SoC drivers +# +CONFIG_QCOM_QMI_HELPERS=m +# end of Qualcomm SoC drivers + +# +# Rockchip SoC drivers +# + +# +# Rockchip CPU selection +# +CONFIG_CPU_PX30=y +CONFIG_CPU_RK1808=y +# CONFIG_CPU_RK3308 is not set +CONFIG_CPU_RK3328=y +# CONFIG_CPU_RK3368 is not set +CONFIG_CPU_RK3399=y +CONFIG_CPU_RK3528=y +# CONFIG_CPU_RK3562 is not set +CONFIG_CPU_RK3568=y +CONFIG_CPU_RK3576=y +CONFIG_CPU_RK3588=y +# end of Rockchip CPU selection + +CONFIG_NO_GKI=y +# CONFIG_ROCKCHIP_DISABLE_UNUSED is not set +# CONFIG_ROCKCHIP_AMP is not set +# CONFIG_ROCKCHIP_ARM64_ALIGN_FAULT_FIX is not set +# CONFIG_ROCKCHIP_CSU is not set +CONFIG_ROCKCHIP_GRF=y +# CONFIG_ROCKCHIP_HW_DECOMPRESS is not set +# CONFIG_ROCKCHIP_HW_DECOMPRESS_USER is not set +CONFIG_ROCKCHIP_IODOMAIN=y +# CONFIG_ROCKCHIP_IOMUX is not set +CONFIG_ROCKCHIP_IPA=y +CONFIG_ROCKCHIP_OPP=y +# CONFIG_ROCKCHIP_OPTIMIZE_RT_PRIO is not set +# CONFIG_ROCKCHIP_PERFORMANCE is not set +CONFIG_ROCKCHIP_PM_DOMAINS=y +CONFIG_ROCKCHIP_PVTM=y +# CONFIG_ROCKCHIP_RAMDISK is not set +# CONFIG_ROCKCHIP_LITE_ULTRA_SUSPEND is not set +CONFIG_ROCKCHIP_SUSPEND_MODE=y +CONFIG_ROCKCHIP_SYSTEM_MONITOR=y +CONFIG_ROCKCHIP_VENDOR_STORAGE=y +CONFIG_ROCKCHIP_MMC_VENDOR_STORAGE=y +CONFIG_ROCKCHIP_MTD_VENDOR_STORAGE=y +# CONFIG_ROCKCHIP_RAM_VENDOR_STORAGE is not set +CONFIG_ROCKCHIP_VENDOR_STORAGE_UPDATE_LOADER=y + +# +# FIQ Debugger +# +CONFIG_FIQ_DEBUGGER=y +CONFIG_FIQ_DEBUGGER_NO_SLEEP=y +# CONFIG_FIQ_DEBUGGER_WAKEUP_IRQ_ALWAYS_ON is not set +CONFIG_FIQ_DEBUGGER_CONSOLE=y +CONFIG_FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE=y +CONFIG_FIQ_DEBUGGER_TRUST_ZONE=y +# CONFIG_FIQ_DEBUGGER_UART_OVERLAY is not set +CONFIG_RK_CONSOLE_THREAD=y +CONFIG_ROCKCHIP_FIQ_DEBUGGER=y +# end of FIQ Debugger + +CONFIG_ROCKCHIP_DEBUG=y +# CONFIG_ROCKCHIP_MINI_KERNEL is not set +# CONFIG_ROCKCHIP_THUNDER_BOOT is not set +# CONFIG_ROCKCHIP_NPOR_POWERGOOD is not set +# CONFIG_RK_CMA_PROCFS is not set +CONFIG_RK_DMABUF_PROCFS=y +# CONFIG_RK_MEMBLOCK_PROCFS is not set + +# +# Rockchip Minidump drivers +# +# CONFIG_ROCKCHIP_MINIDUMP is not set +# end of Rockchip Minidump drivers +# end of Rockchip SoC drivers + +CONFIG_ROCKCHIP_FYDETAB_GRF=y +# CONFIG_SOC_TI is not set + +# +# Xilinx SoC drivers +# +# end of Xilinx SoC drivers +# end of SOC (System On Chip) specific Drivers + +CONFIG_PM_DEVFREQ=y + +# +# DEVFREQ Governors +# +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +CONFIG_DEVFREQ_GOV_PERFORMANCE=y +CONFIG_DEVFREQ_GOV_POWERSAVE=y +CONFIG_DEVFREQ_GOV_USERSPACE=y +# CONFIG_DEVFREQ_GOV_PASSIVE is not set + +# +# DEVFREQ Drivers +# +CONFIG_ARM_ROCKCHIP_BUS_DEVFREQ=y +CONFIG_ARM_ROCKCHIP_DMC_DEVFREQ=y +CONFIG_PM_DEVFREQ_EVENT=y +CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=y +CONFIG_DEVFREQ_EVENT_ROCKCHIP_NOCP=y +CONFIG_EXTCON=y + +# +# Extcon Device Drivers +# +# CONFIG_EXTCON_ADC_JACK is not set +# CONFIG_EXTCON_FSA9480 is not set +# CONFIG_EXTCON_GPIO is not set +# CONFIG_EXTCON_MAX3355 is not set +# CONFIG_EXTCON_PTN5150 is not set +# CONFIG_EXTCON_RT8973A is not set +# CONFIG_EXTCON_SM5502 is not set +# CONFIG_EXTCON_USB_GPIO is not set +# CONFIG_EXTCON_USBC_TUSB320 is not set +CONFIG_EXTCON_USBC_VIRTUAL_PD=y +# CONFIG_MEMORY is not set +CONFIG_IIO=y +CONFIG_IIO_BUFFER=y +CONFIG_IIO_BUFFER_CB=m +# CONFIG_IIO_BUFFER_DMA is not set +# CONFIG_IIO_BUFFER_DMAENGINE is not set +# CONFIG_IIO_BUFFER_HW_CONSUMER is not set +CONFIG_IIO_KFIFO_BUF=y +CONFIG_IIO_TRIGGERED_BUFFER=y +# CONFIG_IIO_CONFIGFS is not set +CONFIG_IIO_TRIGGER=y +CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 +# CONFIG_IIO_SW_DEVICE is not set +# CONFIG_IIO_SW_TRIGGER is not set +# CONFIG_IIO_TRIGGERED_EVENT is not set + +# +# Accelerometers +# +CONFIG_ADIS16201=m +CONFIG_ADIS16209=m +CONFIG_ADXL313=m +CONFIG_ADXL313_I2C=m +CONFIG_ADXL313_SPI=m +CONFIG_ADXL345=m +CONFIG_ADXL345_I2C=m +CONFIG_ADXL345_SPI=m +CONFIG_ADXL355=m +CONFIG_ADXL355_I2C=m +CONFIG_ADXL355_SPI=m +CONFIG_ADXL367=m +CONFIG_ADXL367_SPI=m +CONFIG_ADXL367_I2C=m +CONFIG_ADXL372=m +CONFIG_ADXL372_SPI=m +CONFIG_ADXL372_I2C=m +CONFIG_BMA180=m +CONFIG_BMA220=m +CONFIG_BMA400=m +CONFIG_BMA400_I2C=m +CONFIG_BMA400_SPI=m +CONFIG_BMC150_ACCEL=m +CONFIG_BMC150_ACCEL_I2C=m +CONFIG_BMC150_ACCEL_SPI=m +CONFIG_BMI088_ACCEL=m +CONFIG_BMI088_ACCEL_SPI=m +CONFIG_DA280=m +CONFIG_DA311=m +CONFIG_FXLS8962AF=m +CONFIG_FXLS8962AF_I2C=m +CONFIG_FXLS8962AF_SPI=m +CONFIG_IIO_ST_ACCEL_3AXIS=m +CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m +CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m +CONFIG_KXSD9=m +CONFIG_KXSD9_SPI=m +CONFIG_KXSD9_I2C=m +CONFIG_KXCJK1013=m +CONFIG_MMA7455=m +CONFIG_MMA7455_I2C=m +CONFIG_MMA7455_SPI=m +CONFIG_MMA9551_CORE=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 +# end of Accelerometers + +# +# Analog to digital converters +# +# CONFIG_AD7091R5 is not set +# CONFIG_AD7124 is not set +# CONFIG_AD7192 is not set +# CONFIG_AD7266 is not set +# CONFIG_AD7280 is not set +# CONFIG_AD7291 is not set +# CONFIG_AD7292 is not set +# CONFIG_AD7298 is not set +# CONFIG_AD7476 is not set +# CONFIG_AD7606_IFACE_PARALLEL is not set +# CONFIG_AD7606_IFACE_SPI is not set +# CONFIG_AD7766 is not set +# CONFIG_AD7768_1 is not set +# CONFIG_AD7780 is not set +# CONFIG_AD7791 is not set +# CONFIG_AD7793 is not set +# CONFIG_AD7887 is not set +# CONFIG_AD7923 is not set +# CONFIG_AD7949 is not set +# CONFIG_AD799X is not set +# CONFIG_ADI_AXI_ADC is not set +# CONFIG_CC10001_ADC is not set +# CONFIG_ENVELOPE_DETECTOR is not set +# CONFIG_HI8435 is not set +# CONFIG_HX711 is not set +# CONFIG_INA2XX_ADC is not set +# CONFIG_LTC2471 is not set +# CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set +# CONFIG_LTC2497 is not set +# CONFIG_MAX1027 is not set +# CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set +# CONFIG_MAX11205 is not set +# CONFIG_MAX1241 is not set +# CONFIG_MAX1363 is not set +# CONFIG_MAX9611 is not set +# CONFIG_MCP320X is not set +# CONFIG_MCP3422 is not set +# CONFIG_MCP3911 is not set +# CONFIG_NAU7802 is not set +# CONFIG_QCOM_SPMI_IADC is not set +# CONFIG_QCOM_SPMI_VADC is not set +# CONFIG_QCOM_SPMI_ADC5 is not set +CONFIG_ROCKCHIP_SARADC=y +# CONFIG_ROCKCHIP_SARADC_TEST_CHN is not set +# CONFIG_RICHTEK_RTQ6056 is not set +# CONFIG_SD_ADC_MODULATOR is not set +# CONFIG_TI_ADC081C is not set +# CONFIG_TI_ADC0832 is not set +# CONFIG_TI_ADC084S021 is not set +# CONFIG_TI_ADC12138 is not set +# CONFIG_TI_ADC108S102 is not set +# CONFIG_TI_ADC128S052 is not set +# CONFIG_TI_ADC161S626 is not set +# CONFIG_TI_ADS1015 is not set +# CONFIG_TI_ADS7950 is not set +# CONFIG_TI_ADS8344 is not set +# CONFIG_TI_ADS8688 is not set +# CONFIG_TI_ADS124S08 is not set +# CONFIG_TI_ADS131E08 is not set +# CONFIG_TI_TLC4541 is not set +# CONFIG_TI_TSC2046 is not set +# CONFIG_VF610_ADC is not set +# CONFIG_XILINX_XADC is not set +# end of Analog to digital converters + +# +# Analog to digital and digital to analog converters +# +# CONFIG_AD74413R is not set +# end of Analog to digital and digital to analog converters + +# +# Analog Front Ends +# +# CONFIG_IIO_RESCALE is not set +# end of Analog Front Ends + +# +# Amplifiers +# +# CONFIG_AD8366 is not set +# CONFIG_ADA4250 is not set +# CONFIG_HMC425 is not set +# end of Amplifiers + +# +# Capacitance to digital converters +# +# CONFIG_AD7150 is not set +# CONFIG_AD7746 is not set +# end of Capacitance to digital converters + +# +# Chemical Sensors +# +# CONFIG_ATLAS_PH_SENSOR is not set +# CONFIG_ATLAS_EZO_SENSOR is not set +# CONFIG_BME680 is not set +# CONFIG_CCS811 is not set +# CONFIG_IAQCORE is not set +# CONFIG_PMS7003 is not set +# CONFIG_SCD30_CORE is not set +# CONFIG_SCD4X is not set +# CONFIG_SENSIRION_SGP30 is not set +# CONFIG_SENSIRION_SGP40 is not set +# CONFIG_SPS30_I2C is not set +# CONFIG_SPS30_SERIAL is not set +# CONFIG_SENSEAIR_SUNRISE_CO2 is not set +# CONFIG_VZ89X is not set +# end of Chemical Sensors + +# +# Hid Sensor IIO Common +# +# end of Hid Sensor IIO Common + +# +# IIO SCMI Sensors +# +# CONFIG_IIO_SCMI is not set +# end of IIO SCMI Sensors + +# +# SSP Sensor Common +# +# CONFIG_IIO_SSP_SENSORHUB is not set +# end of SSP Sensor Common + +CONFIG_IIO_ST_SENSORS_I2C=m +CONFIG_IIO_ST_SENSORS_SPI=m +CONFIG_IIO_ST_SENSORS_CORE=m + +# +# Digital to analog converters +# +# CONFIG_AD3552R is not set +# CONFIG_AD5064 is not set +# CONFIG_AD5360 is not set +# CONFIG_AD5380 is not set +# CONFIG_AD5421 is not set +# CONFIG_AD5446 is not set +# CONFIG_AD5449 is not set +# CONFIG_AD5592R is not set +# CONFIG_AD5593R is not set +# CONFIG_AD5504 is not set +# CONFIG_AD5624R_SPI is not set +# CONFIG_LTC2688 is not set +# CONFIG_AD5686_SPI is not set +# CONFIG_AD5696_I2C is not set +# CONFIG_AD5755 is not set +# CONFIG_AD5758 is not set +# CONFIG_AD5761 is not set +# CONFIG_AD5764 is not set +# CONFIG_AD5766 is not set +# CONFIG_AD5770R is not set +# CONFIG_AD5791 is not set +# CONFIG_AD7293 is not set +# CONFIG_AD7303 is not set +# CONFIG_AD8801 is not set +# CONFIG_DPOT_DAC is not set +# CONFIG_DS4424 is not set +# CONFIG_LTC1660 is not set +# CONFIG_LTC2632 is not set +# CONFIG_M62332 is not set +# CONFIG_MAX517 is not set +# CONFIG_MAX5821 is not set +# CONFIG_MCP4725 is not set +# CONFIG_MCP4922 is not set +# CONFIG_TI_DAC082S085 is not set +# CONFIG_TI_DAC5571 is not set +# CONFIG_TI_DAC7311 is not set +# CONFIG_TI_DAC7612 is not set +# CONFIG_VF610_DAC is not set +# end of Digital to analog converters + +# +# IIO dummy driver +# +# end of IIO dummy driver + +# +# Filters +# +# CONFIG_ADMV8818 is not set +# end of Filters + +# +# Frequency Synthesizers DDS/PLL +# + +# +# Clock Generator/Distribution +# +# CONFIG_AD9523 is not set +# end of Clock Generator/Distribution + +# +# Phase-Locked Loop (PLL) frequency synthesizers +# +# CONFIG_ADF4350 is not set +# CONFIG_ADF4371 is not set +# CONFIG_ADMV1013 is not set +# CONFIG_ADMV1014 is not set +# CONFIG_ADMV4420 is not set +# CONFIG_ADRF6780 is not set +# end of Phase-Locked Loop (PLL) frequency synthesizers +# end of Frequency Synthesizers DDS/PLL + +# +# Digital gyroscope sensors +# +# CONFIG_ADIS16080 is not set +# CONFIG_ADIS16130 is not set +# CONFIG_ADIS16136 is not set +# CONFIG_ADIS16260 is not set +# CONFIG_ADXRS290 is not set +# CONFIG_ADXRS450 is not set +# CONFIG_BMG160 is not set +# CONFIG_FXAS21002C is not set +# CONFIG_MPU3050_I2C is not set +# CONFIG_IIO_ST_GYRO_3AXIS is not set +# CONFIG_ITG3200 is not set +# end of Digital gyroscope sensors + +# +# Health Sensors +# + +# +# Heart Rate Monitors +# +# CONFIG_AFE4403 is not set +# CONFIG_AFE4404 is not set +# CONFIG_MAX30100 is not set +# CONFIG_MAX30102 is not set +# end of Heart Rate Monitors +# end of Health Sensors + +# +# Humidity sensors +# +# CONFIG_AM2315 is not set +# CONFIG_DHT11 is not set +# CONFIG_HDC100X is not set +# CONFIG_HDC2010 is not set +# CONFIG_HTS221 is not set +# CONFIG_HTU21 is not set +# CONFIG_SI7005 is not set +# CONFIG_SI7020 is not set +# end of Humidity sensors + +# +# Inertial measurement units +# +# CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set +# CONFIG_ADIS16475 is not set +# CONFIG_ADIS16480 is not set +# CONFIG_BMI160_I2C is not set +# CONFIG_BMI160_SPI is not set +# CONFIG_BOSCH_BNO055_SERIAL is not set +# CONFIG_BOSCH_BNO055_I2C is not set +# CONFIG_FXOS8700_I2C is not set +# CONFIG_FXOS8700_SPI is not set +# CONFIG_KMX61 is not set +CONFIG_INV_ICM42600=y +CONFIG_INV_ICM42600_I2C=y +CONFIG_INV_ICM42600_SPI=y +# CONFIG_INV_MPU6050_I2C is not set +# CONFIG_INV_MPU6050_SPI is not set +# CONFIG_IIO_ST_LSM6DSR is not set +# CONFIG_IIO_ST_LSM6DSX is not set +# CONFIG_IIO_ST_LSM9DS0 is not set +# end of Inertial measurement units + +CONFIG_IIO_ADIS_LIB=m +CONFIG_IIO_ADIS_LIB_BUFFER=y + +# +# Light sensors +# +# CONFIG_ADJD_S311 is not set +# CONFIG_ADUX1020 is not set +# CONFIG_AL3010 is not set +# CONFIG_AL3320A is not set +# CONFIG_APDS9300 is not set +# CONFIG_APDS9960 is not set +# CONFIG_AS73211 is not set +# CONFIG_BH1750 is not set +# CONFIG_BH1780 is not set +# CONFIG_CM32181 is not set +# CONFIG_CM3232 is not set +# CONFIG_CM3323 is not set +# CONFIG_CM3605 is not set +# CONFIG_CM36651 is not set +# CONFIG_GP2AP002 is not set +# CONFIG_GP2AP020A00F is not set +CONFIG_SENSORS_ISL29018=y +# CONFIG_SENSORS_ISL29028 is not set +# CONFIG_ISL29125 is not set +# CONFIG_JSA1212 is not set +# CONFIG_RPR0521 is not set +# CONFIG_LTR501 is not set +# CONFIG_LTRF216A is not set +# CONFIG_LV0104CS is not set +# CONFIG_MAX44000 is not set +# CONFIG_MAX44009 is not set +# CONFIG_NOA1305 is not set +# CONFIG_OPT3001 is not set +# CONFIG_PA12203001 is not set +# CONFIG_SI1133 is not set +# CONFIG_SI1145 is not set +# CONFIG_STK3310 is not set +# CONFIG_ST_UVIS25 is not set +# CONFIG_TCS3414 is not set +# CONFIG_TCS3472 is not set +CONFIG_SENSORS_TSL2563=y +CONFIG_TSL2583=y +# CONFIG_TSL2591 is not set +# CONFIG_TSL2772 is not set +# CONFIG_TSL4531 is not set +# CONFIG_UCS12CM0 is not set +# CONFIG_US5182D is not set +# CONFIG_VCNL4000 is not set +# CONFIG_VCNL4035 is not set +# CONFIG_VEML6030 is not set +# CONFIG_VEML6070 is not set +# CONFIG_VL6180 is not set +# CONFIG_ZOPT2201 is not set +# end of Light sensors + +# +# Magnetometer sensors +# +# CONFIG_AK8974 is not set +# CONFIG_AK8975 is not set +# CONFIG_AK09911 is not set +# CONFIG_BMC150_MAGN_I2C is not set +# CONFIG_BMC150_MAGN_SPI is not set +# CONFIG_MAG3110 is not set +# CONFIG_MMC35240 is not set +# CONFIG_IIO_ST_MAGN_3AXIS is not set +# CONFIG_SENSORS_HMC5843_I2C is not set +# CONFIG_SENSORS_HMC5843_SPI is not set +# CONFIG_SENSORS_RM3100_I2C is not set +# CONFIG_SENSORS_RM3100_SPI is not set +# CONFIG_YAMAHA_YAS530 is not set +# end of Magnetometer sensors + +# +# Multiplexers +# +# CONFIG_IIO_MUX is not set +# end of Multiplexers + +# +# Inclinometer sensors +# +# end of Inclinometer sensors + +# +# Triggers - standalone +# +# CONFIG_IIO_INTERRUPT_TRIGGER is not set +CONFIG_IIO_SYSFS_TRIGGER=y +# end of Triggers - standalone + +# +# Linear and angular position sensors +# +# end of Linear and angular position sensors + +# +# Digital potentiometers +# +# CONFIG_AD5110 is not set +# CONFIG_AD5272 is not set +# CONFIG_DS1803 is not set +# CONFIG_MAX5432 is not set +# CONFIG_MAX5481 is not set +# CONFIG_MAX5487 is not set +# CONFIG_MCP4018 is not set +# CONFIG_MCP4131 is not set +# CONFIG_MCP4531 is not set +# CONFIG_MCP41010 is not set +# CONFIG_TPL0102 is not set +# end of Digital potentiometers + +# +# Digital potentiostats +# +# CONFIG_LMP91000 is not set +# end of Digital potentiostats + +# +# Pressure sensors +# +# CONFIG_ABP060MG is not set +# CONFIG_BMP280 is not set +# CONFIG_DLHL60D is not set +# CONFIG_DPS310 is not set +# CONFIG_HP03 is not set +# CONFIG_ICP10100 is not set +# CONFIG_MPL115_I2C is not set +# CONFIG_MPL115_SPI is not set +# CONFIG_MPL3115 is not set +# CONFIG_MS5611 is not set +# CONFIG_MS5637 is not set +# CONFIG_IIO_ST_PRESS is not set +# CONFIG_T5403 is not set +# CONFIG_HP206C is not set +# CONFIG_ZPA2326 is not set +# end of Pressure sensors + +# +# Lightning sensors +# +# CONFIG_AS3935 is not set +# end of Lightning sensors + +# +# Proximity and distance sensors +# +# CONFIG_ISL29501 is not set +# CONFIG_LIDAR_LITE_V2 is not set +# CONFIG_MB1232 is not set +# CONFIG_PING is not set +# CONFIG_RFD77402 is not set +# CONFIG_SRF04 is not set +# CONFIG_SX9310 is not set +# CONFIG_SX9324 is not set +# CONFIG_SX9360 is not set +# CONFIG_SX9500 is not set +# CONFIG_SRF08 is not set +# CONFIG_VCNL3020 is not set +# CONFIG_VL53L0X_I2C is not set +# end of Proximity and distance sensors + +# +# Resolver to digital converters +# +# CONFIG_AD2S90 is not set +# CONFIG_AD2S1200 is not set +# end of Resolver to digital converters + +# +# Temperature sensors +# +# CONFIG_LTC2983 is not set +# CONFIG_MAXIM_THERMOCOUPLE is not set +# CONFIG_MLX90614 is not set +# CONFIG_MLX90632 is not set +# CONFIG_TMP006 is not set +# CONFIG_TMP007 is not set +# CONFIG_TMP117 is not set +# CONFIG_TSYS01 is not set +# CONFIG_TSYS02D is not set +# CONFIG_MAX31856 is not set +# CONFIG_MAX31865 is not set +# end of Temperature sensors + +# CONFIG_NTB is not set +CONFIG_PWM=y +CONFIG_PWM_SYSFS=y +# CONFIG_PWM_DEBUG is not set +# CONFIG_PWM_ATMEL_TCB is not set +# CONFIG_PWM_CLK is not set +# CONFIG_PWM_DWC is not set +# CONFIG_PWM_FSL_FTM is not set +# CONFIG_PWM_GPIO is not set +# CONFIG_PWM_PCA9685 is not set +CONFIG_PWM_ROCKCHIP=y +# CONFIG_PWM_ROCKCHIP_ONESHOT is not set +# CONFIG_PWM_ROCKCHIP_TEST is not set +# CONFIG_PWM_XILINX is not set + +# +# IRQ chip support +# +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +CONFIG_ARM_GIC_MAX_NR=1 +CONFIG_ARM_GIC_V2M=y +CONFIG_ARM_GIC_V3=y +CONFIG_ARM_GIC_V3_ITS=y +CONFIG_ARM_GIC_V3_ITS_PCI=y +# CONFIG_AL_FIC is not set +# CONFIG_XILINX_INTC is not set +CONFIG_PARTITION_PERCPU=y +# end of IRQ chip support + +# CONFIG_IPACK_BUS is not set +CONFIG_ARCH_HAS_RESET_CONTROLLER=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_SCMI=y +# CONFIG_RESET_SIMPLE is not set +# CONFIG_RESET_TI_SYSCON is not set +# CONFIG_RESET_TI_TPS380X is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +CONFIG_GENERIC_PHY_MIPI_DPHY=y +# CONFIG_PHY_XGENE is not set +# CONFIG_PHY_CAN_TRANSCEIVER is not set + +# +# PHY drivers for Broadcom platforms +# +# CONFIG_BCM_KONA_USB2_PHY is not set +# end of PHY drivers for Broadcom platforms + +# CONFIG_PHY_CADENCE_TORRENT is not set +# CONFIG_PHY_CADENCE_DPHY is not set +# CONFIG_PHY_CADENCE_DPHY_RX is not set +# CONFIG_PHY_CADENCE_SIERRA is not set +# CONFIG_PHY_CADENCE_SALVO is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_LAN966X_SERDES is not set +# CONFIG_PHY_CPCAP_USB is not set +# CONFIG_PHY_MAPPHONE_MDM6600 is not set +# CONFIG_PHY_OCELOT_SERDES is not set +# CONFIG_PHY_QCOM_USB_HS is not set +# CONFIG_PHY_QCOM_USB_HSIC is not set +CONFIG_PHY_ROCKCHIP_CSI2_DPHY=y +CONFIG_PHY_ROCKCHIP_DP=y +# CONFIG_PHY_ROCKCHIP_DPHY_RX0 is not set +CONFIG_PHY_ROCKCHIP_EMMC=y +# CONFIG_PHY_ROCKCHIP_INNO_COMBPHY is not set +CONFIG_PHY_ROCKCHIP_INNO_HDMI=y +CONFIG_PHY_ROCKCHIP_INNO_USB2=y +CONFIG_PHY_ROCKCHIP_INNO_USB3=y +# CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY is not set +CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=y +CONFIG_PHY_ROCKCHIP_MIPI_RX=y +CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y +CONFIG_PHY_ROCKCHIP_NANENG_EDP=y +# CONFIG_PHY_ROCKCHIP_NANENG_USB2 is not set +CONFIG_PHY_ROCKCHIP_PCIE=y +CONFIG_PHY_ROCKCHIP_SAMSUNG_DCPHY=y +CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX=y +CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX_HDMI=y +CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=y +CONFIG_PHY_ROCKCHIP_TYPEC=y +CONFIG_PHY_ROCKCHIP_USB=y +CONFIG_PHY_ROCKCHIP_USBDP=y +# CONFIG_PHY_SAMSUNG_USB2 is not set +# CONFIG_PHY_TUSB1210 is not set +# end of PHY Subsystem + +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_ARM_CCI_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_ARM_CMN is not set +CONFIG_ARM_PMU=y +# CONFIG_ARM_DSU_PMU is not set +# CONFIG_ARM_SPE_PMU is not set +# CONFIG_HISI_PCIE_PMU is not set +# CONFIG_HNS3_PMU is not set +# end of Performance monitor support + +# CONFIG_RAS is not set +# CONFIG_USB4 is not set + +# +# Android +# +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ANDROID_BINDERFS=y +CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder,anbox-binder,anbox-hwbinder,anbox-vndbinder" +# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set +# end of Android + +# CONFIG_LIBNVDIMM is not set +# CONFIG_DAX is not set +CONFIG_NVMEM=y +CONFIG_NVMEM_SYSFS=y +# CONFIG_NVMEM_RMEM is not set +# CONFIG_NVMEM_ROCKCHIP_EFUSE is not set +# CONFIG_NVMEM_ROCKCHIP_OTP is not set +# CONFIG_NVMEM_ROCKCHIP_SEC_OTP is not set +# CONFIG_NVMEM_SPMI_SDAM is not set +CONFIG_NVMEM_U_BOOT_ENV=y + +# +# HW tracing support +# +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set +# CONFIG_HISI_PTT is not set +# end of HW tracing support + +# CONFIG_FPGA is not set +# CONFIG_FSI is not set +CONFIG_TEE=y +CONFIG_OPTEE=y +CONFIG_MULTIPLEXER=m + +# +# Multiplexer drivers +# +# CONFIG_MUX_ADG792A is not set +# CONFIG_MUX_ADGS1408 is not set +# CONFIG_MUX_GPIO is not set +# CONFIG_MUX_MMIO is not set +# end of Multiplexer drivers + +CONFIG_PM_OPP=y +# CONFIG_SIOX is not set +# CONFIG_SLIMBUS is not set +# CONFIG_INTERCONNECT is not set +# CONFIG_COUNTER is not set +# CONFIG_MOST is not set +# CONFIG_PECI is not set +# CONFIG_HTE is not set +# CONFIG_RK_FLASH is not set +# CONFIG_RK_NAND is not set + +# +# Headset device support +# +CONFIG_RK_HEADSET=y +# end of Headset device support + +# +# RKNPU +# +CONFIG_ROCKCHIP_RKNPU=y +CONFIG_ROCKCHIP_RKNPU_DEBUG_FS=y +# CONFIG_ROCKCHIP_RKNPU_PROC_FS is not set +# CONFIG_ROCKCHIP_RKNPU_FENCE is not set +# CONFIG_ROCKCHIP_RKNPU_SRAM is not set +CONFIG_ROCKCHIP_RKNPU_DRM_GEM=y +# end of RKNPU +# end of Device Drivers + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_VALIDATE_FS_PARSER is not set +CONFIG_FS_IOMAP=y +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +# CONFIG_REISERFS_CHECK is not set +# CONFIG_REISERFS_PROC_INFO is not set +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_DEBUG is not set +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_SUPPORT_V4=y +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_ONLINE_SCRUB is not set +CONFIG_XFS_WARN=y +# CONFIG_XFS_DEBUG is not set +CONFIG_GFS2_FS=m +CONFIG_OCFS2_FS=m +CONFIG_OCFS2_FS_O2CB=m +CONFIG_OCFS2_FS_STATS=y +CONFIG_OCFS2_DEBUG_MASKLOG=y +# CONFIG_OCFS2_DEBUG_FS is not set +CONFIG_BTRFS_FS=y +CONFIG_BTRFS_FS_POSIX_ACL=y +# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set +# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set +# CONFIG_BTRFS_DEBUG is not set +# CONFIG_BTRFS_ASSERT is not set +# CONFIG_BTRFS_FS_REF_VERIFY is not set +CONFIG_NILFS2_FS=m +CONFIG_F2FS_FS=y +CONFIG_F2FS_STAT_FS=y +CONFIG_F2FS_FS_XATTR=y +CONFIG_F2FS_FS_POSIX_ACL=y +CONFIG_F2FS_FS_SECURITY=y +# CONFIG_F2FS_CHECK_FS is not set +# CONFIG_F2FS_FAULT_INJECTION is not set +# CONFIG_F2FS_FS_COMPRESSION is not set +CONFIG_F2FS_IOSTAT=y +# CONFIG_F2FS_UNFAIR_RWSEM is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_EXPORTFS=y +# CONFIG_EXPORTFS_BLOCK_OPS is not set +CONFIG_FILE_LOCKING=y +# CONFIG_FS_ENCRYPTION is not set +# CONFIG_FS_VERITY is not set +CONFIG_FSNOTIFY=y +# CONFIG_DNOTIFY is not set +CONFIG_INOTIFY_USER=y +CONFIG_FANOTIFY=y +# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set +CONFIG_QUOTA=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_PRINT_QUOTA_WARNING=y +CONFIG_QUOTA_DEBUG=y +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=y +CONFIG_AUTOFS_FS=y +CONFIG_FUSE_FS=m +CONFIG_CUSE=m +CONFIG_VIRTIO_FS=m +CONFIG_OVERLAY_FS=m +# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y +# CONFIG_OVERLAY_FS_INDEX is not set +# CONFIG_OVERLAY_FS_XINO_AUTO is not set +# CONFIG_OVERLAY_FS_METACOPY is not set + +# +# Caches +# +CONFIG_NETFS_SUPPORT=m +# CONFIG_NETFS_STATS is not set +# CONFIG_FSCACHE is not set +# end of Caches + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +# end of CD-ROM/DVD Filesystems + +# +# DOS/FAT/EXFAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_FAT_DEFAULT_UTF8 is not set +CONFIG_EXFAT_FS=m +CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" +CONFIG_NTFS_FS=m +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y +CONFIG_NTFS3_FS=m +# CONFIG_NTFS3_64BIT_CLUSTER is not set +CONFIG_NTFS3_LZX_XPRESS=y +CONFIG_NTFS3_FS_POSIX_ACL=y +# end of DOS/FAT/EXFAT/NT Filesystems + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +# CONFIG_PROC_KCORE is not set +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PROC_CHILDREN=y +CONFIG_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +# CONFIG_TMPFS_INODE64 is not set +CONFIG_ARCH_SUPPORTS_HUGETLBFS=y +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_MEMFD_CREATE=y +CONFIG_ARCH_HAS_GIGANTIC_PAGE=y +CONFIG_CONFIGFS_FS=y +CONFIG_EFIVAR_FS=y +# end of Pseudo filesystems + +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ORANGEFS_FS is not set +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +CONFIG_ECRYPT_FS=m +# CONFIG_ECRYPT_FS_MESSAGING is not set +CONFIG_HFS_FS=m +CONFIG_HFSPLUS_FS=m +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +CONFIG_JFFS2_SUMMARY=y +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +CONFIG_JFFS2_RTIME=y +CONFIG_UBIFS_FS=m +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UBIFS_FS_ZSTD=y +# CONFIG_UBIFS_ATIME_SUPPORT is not set +CONFIG_UBIFS_FS_XATTR=y +CONFIG_UBIFS_FS_SECURITY=y +# CONFIG_UBIFS_FS_AUTHENTICATION is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=m +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_ZLIB=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 is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_PSTORE=y +CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240 +CONFIG_PSTORE_DEFLATE_COMPRESS=y +# CONFIG_PSTORE_LZO_COMPRESS is not set +# CONFIG_PSTORE_LZ4_COMPRESS is not set +# CONFIG_PSTORE_LZ4HC_COMPRESS is not set +# CONFIG_PSTORE_842_COMPRESS is not set +# CONFIG_PSTORE_ZSTD_COMPRESS is not set +CONFIG_PSTORE_COMPRESS=y +CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y +CONFIG_PSTORE_COMPRESS_DEFAULT="deflate" +CONFIG_PSTORE_CONSOLE=y +# CONFIG_PSTORE_PMSG is not set +# CONFIG_PSTORE_FTRACE is not set +CONFIG_PSTORE_RAM=y +# CONFIG_PSTORE_BLK is not set +# CONFIG_PSTORE_BOOT_LOG is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +# CONFIG_EROFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +CONFIG_NFS_SWAP=y +CONFIG_NFS_V4_1=y +CONFIG_NFS_V4_2=y +CONFIG_PNFS_FILE_LAYOUT=y +CONFIG_PNFS_BLOCK=m +CONFIG_PNFS_FLEXFILE_LAYOUT=y +CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" +CONFIG_NFS_V4_1_MIGRATION=y +CONFIG_NFS_V4_SECURITY_LABEL=y +CONFIG_ROOT_NFS=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +CONFIG_NFS_DISABLE_UDP_SUPPORT=y +# CONFIG_NFS_V4_2_READ_PLUS is not set +CONFIG_NFSD=m +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +# CONFIG_NFSD_BLOCKLAYOUT is not set +# CONFIG_NFSD_SCSILAYOUT is not set +# CONFIG_NFSD_FLEXFILELAYOUT is not set +# CONFIG_NFSD_V4_2_INTER_SSC is not set +# CONFIG_NFSD_V4_SECURITY_LABEL is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_NFS_V4_2_SSC_HELPER=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +CONFIG_SUNRPC_BACKCHANNEL=y +CONFIG_SUNRPC_SWAP=y +CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES is not set +# CONFIG_SUNRPC_DEBUG is not set +CONFIG_CEPH_FS=m +CONFIG_CEPH_FS_POSIX_ACL=y +CONFIG_CEPH_FS_SECURITY_LABEL=y +CONFIG_CIFS=m +CONFIG_CIFS_STATS2=y +CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y +# CONFIG_CIFS_DEBUG is not set +CONFIG_CIFS_DFS_UPCALL=y +# CONFIG_CIFS_SWN_UPCALL is not set +# CONFIG_SMB_SERVER is not set +CONFIG_SMBFS=m +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +CONFIG_NLS_CODEPAGE_936=y +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_MAC_ROMAN is not set +# CONFIG_NLS_MAC_CELTIC is not set +# CONFIG_NLS_MAC_CENTEURO is not set +# CONFIG_NLS_MAC_CROATIAN is not set +# CONFIG_NLS_MAC_CYRILLIC is not set +# CONFIG_NLS_MAC_GAELIC is not set +# CONFIG_NLS_MAC_GREEK is not set +# CONFIG_NLS_MAC_ICELAND is not set +# CONFIG_NLS_MAC_INUIT is not set +# CONFIG_NLS_MAC_ROMANIAN is not set +# CONFIG_NLS_MAC_TURKISH is not set +CONFIG_NLS_UTF8=y +# CONFIG_DLM is not set +CONFIG_UNICODE=y +# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set +CONFIG_IO_WQ=y +# end of File systems + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_KEYS_REQUEST_CACHE is not set +# CONFIG_PERSISTENT_KEYRINGS is not set +CONFIG_TRUSTED_KEYS=m +CONFIG_TRUSTED_KEYS_TPM=y +CONFIG_TRUSTED_KEYS_TEE=y +CONFIG_ENCRYPTED_KEYS=m +# CONFIG_USER_DECRYPTED_DATA is not set +# CONFIG_KEY_DH_OPERATIONS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_SECURITY_NETWORK=y +CONFIG_SECURITY_NETWORK_XFRM=y +CONFIG_SECURITY_PATH=y +CONFIG_LSM_MMAP_MIN_ADDR=32768 +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +# CONFIG_HARDENED_USERCOPY is not set +# CONFIG_FORTIFY_SOURCE is not set +# CONFIG_STATIC_USERMODEHELPER is not set +CONFIG_SECURITY_SELINUX=y +# CONFIG_SECURITY_SELINUX_BOOTPARAM is not set +# CONFIG_SECURITY_SELINUX_DISABLE is not set +CONFIG_SECURITY_SELINUX_DEVELOP=y +CONFIG_SECURITY_SELINUX_AVC_STATS=y +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +# CONFIG_SECURITY_SMACK is not set +# CONFIG_SECURITY_TOMOYO is not set +CONFIG_SECURITY_APPARMOR=y +# CONFIG_SECURITY_APPARMOR_DEBUG is not set +CONFIG_SECURITY_APPARMOR_INTROSPECT_POLICY=y +CONFIG_SECURITY_APPARMOR_HASH=y +CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y +CONFIG_SECURITY_APPARMOR_EXPORT_BINARY=y +CONFIG_SECURITY_APPARMOR_PARANOID_LOAD=y +# CONFIG_SECURITY_LOADPIN is not set +# CONFIG_SECURITY_YAMA is not set +# CONFIG_SECURITY_SAFESETID is not set +# CONFIG_SECURITY_LOCKDOWN_LSM is not set +# CONFIG_SECURITY_LANDLOCK is not set +CONFIG_INTEGRITY=y +# CONFIG_INTEGRITY_SIGNATURE is not set +CONFIG_INTEGRITY_AUDIT=y +# CONFIG_IMA is not set +# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set +# CONFIG_EVM is not set +# CONFIG_DEFAULT_SECURITY_SELINUX is not set +# CONFIG_DEFAULT_SECURITY_APPARMOR is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,bpf" + +# +# Kernel hardening options +# + +# +# Memory initialization +# +CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y +CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y +CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y +CONFIG_INIT_STACK_NONE=y +# CONFIG_INIT_STACK_ALL_PATTERN is not set +# CONFIG_INIT_STACK_ALL_ZERO is not set +# CONFIG_GCC_PLUGIN_STACKLEAK is not set +# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set +# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y +# CONFIG_ZERO_CALL_USED_REGS is not set +# end of Memory initialization + +CONFIG_RANDSTRUCT_NONE=y +# CONFIG_RANDSTRUCT_FULL is not set +# CONFIG_RANDSTRUCT_PERFORMANCE is not set +# end of Kernel hardening options +# end of Security options + +CONFIG_XOR_BLOCKS=y +CONFIG_ASYNC_CORE=m +CONFIG_ASYNC_MEMCPY=m +CONFIG_ASYNC_XOR=m +CONFIG_ASYNC_PQ=m +CONFIG_ASYNC_RAID6_RECOV=m +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_SKCIPHER=y +CONFIG_CRYPTO_SKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_AKCIPHER2=y +CONFIG_CRYPTO_AKCIPHER=y +CONFIG_CRYPTO_KPP2=y +CONFIG_CRYPTO_KPP=y +CONFIG_CRYPTO_ACOMP2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=y +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +# CONFIG_CRYPTO_CRYPTD is not set +CONFIG_CRYPTO_AUTHENC=m +# CONFIG_CRYPTO_TEST is not set +CONFIG_CRYPTO_ENGINE=y +# end of Crypto core or helper + +# +# Public-key cryptography +# +CONFIG_CRYPTO_RSA=y +CONFIG_CRYPTO_DH=y +CONFIG_CRYPTO_DH_RFC7919_GROUPS=y +CONFIG_CRYPTO_ECC=y +CONFIG_CRYPTO_ECDH=y +# CONFIG_CRYPTO_ECDSA is not set +# CONFIG_CRYPTO_ECRDSA is not set +# CONFIG_CRYPTO_SM2 is not set +# CONFIG_CRYPTO_CURVE25519 is not set +# end of Public-key cryptography + +# +# Block ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_TI is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARIA is not set +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +CONFIG_CRYPTO_SM4=y +# CONFIG_CRYPTO_SM4_GENERIC is not set +# CONFIG_CRYPTO_TEA is not set +CONFIG_CRYPTO_TWOFISH=y +CONFIG_CRYPTO_TWOFISH_COMMON=y +# end of Block ciphers + +# +# Length-preserving ciphers and modes +# +# CONFIG_CRYPTO_ADIANTUM is not set +# CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_CHACHA20 is not set +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CFB=y +CONFIG_CRYPTO_CTR=y +CONFIG_CRYPTO_CTS=y +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_HCTR2 is not set +# CONFIG_CRYPTO_KEYWRAP is not set +# CONFIG_CRYPTO_LRW is not set +CONFIG_CRYPTO_OFB=y +# CONFIG_CRYPTO_PCBC is not set +CONFIG_CRYPTO_XTS=y +# end of Length-preserving ciphers and modes + +# +# AEAD (authenticated encryption with associated data) ciphers +# +# CONFIG_CRYPTO_AEGIS128 is not set +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m +CONFIG_CRYPTO_ESSIV=m +# end of AEAD (authenticated encryption with associated data) ciphers + +# +# Hashes, digests, and MACs +# +CONFIG_CRYPTO_BLAKE2B=y +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_GHASH=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=m +# CONFIG_CRYPTO_POLY1305 is not set +# CONFIG_CRYPTO_RMD160 is not set +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA512=y +# CONFIG_CRYPTO_SHA3 is not set +CONFIG_CRYPTO_SM3=y +# CONFIG_CRYPTO_SM3_GENERIC is not set +# CONFIG_CRYPTO_STREEBOG is not set +# CONFIG_CRYPTO_VMAC is not set +# CONFIG_CRYPTO_WP512 is not set +# CONFIG_CRYPTO_XCBC is not set +CONFIG_CRYPTO_XXHASH=y +# end of Hashes, digests, and MACs + +# +# CRCs (cyclic redundancy checks) +# +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRC32=y +CONFIG_CRYPTO_CRCT10DIF=y +# CONFIG_CRYPTO_CRC64_ROCKSOFT is not set +# end of CRCs (cyclic redundancy checks) + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set +CONFIG_CRYPTO_ZSTD=m +# end of Compression + +# +# Random number generation +# +CONFIG_CRYPTO_ANSI_CPRNG=y +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=y +CONFIG_CRYPTO_JITTERENTROPY=y +# end of Random number generation + +# +# Userspace interface +# +CONFIG_CRYPTO_USER_API=y +CONFIG_CRYPTO_USER_API_HASH=y +CONFIG_CRYPTO_USER_API_SKCIPHER=y +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y +# end of Userspace interface + +CONFIG_CRYPTO_HASH_INFO=y +# CONFIG_CRYPTO_NHPOLY1305_NEON is not set +CONFIG_CRYPTO_CHACHA20_NEON=m + +# +# Accelerated Cryptographic Algorithms for CPU (arm64) +# +CONFIG_CRYPTO_GHASH_ARM64_CE=y +CONFIG_CRYPTO_POLY1305_NEON=m +CONFIG_CRYPTO_SHA1_ARM64_CE=y +CONFIG_CRYPTO_SHA256_ARM64=y +CONFIG_CRYPTO_SHA2_ARM64_CE=y +# CONFIG_CRYPTO_SHA512_ARM64 is not set +# CONFIG_CRYPTO_SHA512_ARM64_CE is not set +# CONFIG_CRYPTO_SHA3_ARM64 is not set +# CONFIG_CRYPTO_SM3_NEON is not set +# CONFIG_CRYPTO_SM3_ARM64_CE is not set +# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set +# CONFIG_CRYPTO_AES_ARM64 is not set +CONFIG_CRYPTO_AES_ARM64_CE=y +CONFIG_CRYPTO_AES_ARM64_CE_BLK=y +# CONFIG_CRYPTO_AES_ARM64_NEON_BLK is not set +# CONFIG_CRYPTO_AES_ARM64_BS is not set +# CONFIG_CRYPTO_SM4_ARM64_CE is not set +# CONFIG_CRYPTO_SM4_ARM64_CE_BLK is not set +# CONFIG_CRYPTO_SM4_ARM64_NEON_BLK is not set +CONFIG_CRYPTO_AES_ARM64_CE_CCM=y +# CONFIG_CRYPTO_CRCT10DIF_ARM64_CE is not set +# end of Accelerated Cryptographic Algorithms for CPU (arm64) + +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_CCP is not set +# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set +# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set +# CONFIG_CRYPTO_DEV_QAT_C62X is not set +# CONFIG_CRYPTO_DEV_QAT_4XXX is not set +# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set +# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set +# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set +# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set +# CONFIG_CRYPTO_DEV_CAVIUM_ZIP is not set +CONFIG_CRYPTO_DEV_ROCKCHIP=y +CONFIG_CRYPTO_DEV_ROCKCHIP_V1=y +CONFIG_CRYPTO_DEV_ROCKCHIP_V2=y +# CONFIG_CRYPTO_DEV_ROCKCHIP_V3 is not set +CONFIG_CRYPTO_DEV_ROCKCHIP_DEV=y +# CONFIG_CRYPTO_DEV_VIRTIO is not set +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set +# CONFIG_CRYPTO_DEV_CCREE is not set +# CONFIG_CRYPTO_DEV_HISI_SEC is not set +# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set +CONFIG_ASYMMETRIC_KEY_TYPE=y +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y +CONFIG_X509_CERTIFICATE_PARSER=y +# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set +CONFIG_PKCS7_MESSAGE_PARSER=y +# CONFIG_PKCS7_TEST_KEY is not set +# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set +# CONFIG_FIPS_SIGNATURE_SELFTEST is not set + +# +# Certificates for signature checking +# +CONFIG_SYSTEM_TRUSTED_KEYRING=y +CONFIG_SYSTEM_TRUSTED_KEYS="" +# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set +# CONFIG_SECONDARY_TRUSTED_KEYRING is not set +# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set +# end of Certificates for signature checking + +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_RAID6_PQ=y +CONFIG_RAID6_PQ_BENCHMARK=y +CONFIG_LINEAR_RANGES=y +# CONFIG_PACKING is not set +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_CORDIC=m +# CONFIG_PRIME_NUMBERS is not set +CONFIG_RATIONAL=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_ARCH_HAS_FAST_MULTIPLIER=y +CONFIG_ARCH_USE_SYM_ANNOTATIONS=y +# CONFIG_INDIRECT_PIO is not set +# CONFIG_TRACE_MMIO_ACCESS is not set + +# +# Crypto library routines +# +CONFIG_CRYPTO_LIB_UTILS=y +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_LIB_ARC4=y +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m +CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m +CONFIG_CRYPTO_LIB_CHACHA=m +CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m +CONFIG_CRYPTO_LIB_CURVE25519=m +CONFIG_CRYPTO_LIB_DES=y +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9 +CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m +CONFIG_CRYPTO_LIB_POLY1305=m +CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m +CONFIG_CRYPTO_LIB_SHA1=y +CONFIG_CRYPTO_LIB_SHA256=y +# end of Crypto library routines + +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +CONFIG_CRC_T10DIF=y +# CONFIG_CRC64_ROCKSOFT is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +CONFIG_CRC64=m +# CONFIG_CRC4 is not set +CONFIG_CRC7=y +CONFIG_LIBCRC32C=y +CONFIG_CRC8=m +CONFIG_XXHASH=y +CONFIG_AUDIT_GENERIC=y +CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y +CONFIG_AUDIT_COMPAT_GENERIC=y +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_LZ4_DECOMPRESS=y +CONFIG_ZSTD_COMMON=y +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +# CONFIG_XZ_DEC_MICROLZMA is not set +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_DECOMPRESS_ZSTD=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_REED_SOLOMON=y +CONFIG_REED_SOLOMON_ENC8=y +CONFIG_REED_SOLOMON_DEC8=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_INTERVAL_TREE=y +CONFIG_XARRAY_MULTI=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_DMA_OPS=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_ARCH_HAS_SETUP_DMA_OPS=y +CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y +CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y +CONFIG_SWIOTLB=y +# CONFIG_DMA_RESTRICTED_POOL is not set +CONFIG_DMA_NONCOHERENT_MMAP=y +CONFIG_DMA_COHERENT_POOL=y +CONFIG_DMA_DIRECT_REMAP=y +CONFIG_DMA_CMA=y +# CONFIG_DMA_PERNUMA_CMA is not set + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=16 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_DMA_MAP_BENCHMARK is not set +CONFIG_SGL_ALLOC=y +# CONFIG_FORCE_NR_CPUS is not set +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_NLATTR=y +CONFIG_CLZ_TAB=y +# CONFIG_IRQ_POLL is not set +CONFIG_MPILIB=y +CONFIG_DIMLIB=y +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +CONFIG_UCS2_STRING=y +CONFIG_HAVE_GENERIC_VDSO=y +CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_GENERIC_VDSO_TIME_NS=y +CONFIG_FONT_SUPPORT=y +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_SG_POOL=y +CONFIG_ARCH_STACKWALK=y +CONFIG_STACKDEPOT=y +CONFIG_SBITMAP=y +# end of Library routines + +CONFIG_GENERIC_IOREMAP=y +CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y +CONFIG_ASN1_ENCODER=m + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_PRINTK_TIME=y +CONFIG_PRINTK_TIME_FROM_ARM_ARCH_TIMER=y +# CONFIG_PRINTK_CALLER is not set +# CONFIG_STACKTRACE_BUILD_ID is not set +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 +CONFIG_CONSOLE_LOGLEVEL_QUIET=4 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y +CONFIG_DYNAMIC_DEBUG_CORE=y +CONFIG_SYMBOLIC_ERRNAME=y +CONFIG_DEBUG_BUGVERBOSE=y +# end of printk and dmesg options + +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_MISC=y + +# +# Compile-time checks and compiler options +# +CONFIG_AS_HAS_NON_CONST_LEB128=y +CONFIG_DEBUG_INFO_NONE=y +# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set +# CONFIG_DEBUG_INFO_DWARF4 is not set +# CONFIG_DEBUG_INFO_DWARF5 is not set +CONFIG_FRAME_WARN=2048 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_HEADERS_INSTALL is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y +# CONFIG_VMLINUX_MAP is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# end of Compile-time checks and compiler options + +# +# Generic Kernel Debugging Instruments +# +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0 +CONFIG_MAGIC_SYSRQ_SERIAL=y +CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE="" +CONFIG_DEBUG_FS=y +CONFIG_DEBUG_FS_ALLOW_ALL=y +# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set +# CONFIG_DEBUG_FS_ALLOW_NONE is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y +# CONFIG_UBSAN is not set +CONFIG_HAVE_ARCH_KCSAN=y +CONFIG_HAVE_KCSAN_COMPILER=y +# CONFIG_KCSAN is not set +# end of Generic Kernel Debugging Instruments + +# +# Networking Debugging +# +# CONFIG_NET_DEV_REFCNT_TRACKER is not set +# CONFIG_NET_NS_REFCNT_TRACKER is not set +# CONFIG_DEBUG_NET is not set +# end of Networking Debugging + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +CONFIG_SLUB_DEBUG=y +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_PAGE_OWNER is not set +# CONFIG_PAGE_TABLE_CHECK is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_DEBUG_PAGE_REF is not set +# CONFIG_DEBUG_RODATA_TEST is not set +CONFIG_ARCH_HAS_DEBUG_WX=y +# CONFIG_DEBUG_WX is not set +CONFIG_GENERIC_PTDUMP=y +# CONFIG_PTDUMP_DEBUGFS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SHRINKER_DEBUG is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_VM_PGTABLE is not set +CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y +# CONFIG_DEBUG_VIRTUAL is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y +CONFIG_HAVE_ARCH_KASAN_HW_TAGS=y +CONFIG_HAVE_ARCH_KASAN_VMALLOC=y +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_CC_HAS_KASAN_SW_TAGS=y +CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y +# CONFIG_KASAN is not set +CONFIG_HAVE_ARCH_KFENCE=y +# CONFIG_KFENCE is not set +# end of Memory Debugging + +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Oops, Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SOFTLOCKUP_DETECTOR is not set +CONFIG_HAVE_HARDLOCKUP_DETECTOR_OTHER_CPU=y +# CONFIG_HARDLOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_WQ_WATCHDOG is not set +# CONFIG_TEST_LOCKUP is not set +# end of Debug Oops, Lockups and Hangs + +# +# Scheduler Debugging +# +CONFIG_SCHED_DEBUG=y +CONFIG_SCHED_INFO=y +# CONFIG_SCHEDSTATS is not set +# end of Scheduler Debugging + +# CONFIG_DEBUG_TIMEKEEPING is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_LOCK_DEBUGGING_SUPPORT=y +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_RWSEMS is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +# CONFIG_WW_MUTEX_SELFTEST is not set +# CONFIG_SCF_TORTURE_TEST is not set +# CONFIG_CSD_LOCK_WAIT_DEBUG is not set +# end of Lock Debugging (spinlocks, mutexes, etc...) + +# CONFIG_DEBUG_IRQFLAGS is not set +CONFIG_STACKTRACE=y +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +# CONFIG_DEBUG_KOBJECT is not set + +# +# Debug kernel data structures +# +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PLIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_DEBUG_MAPLE_TREE is not set +# end of Debug kernel data structures + +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_RCU_SCALE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_REF_SCALE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_BOOTPARAM_RCU_STALL_PANIC is not set +CONFIG_BOOTPARAM_RCU_STALL_PANIC_VALUE=0 +CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0 +CONFIG_RCU_TRACE=y +# CONFIG_RCU_EQS_DEBUG is not set +# end of RCU Debugging + +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +# CONFIG_LATENCYTOP is not set +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +# CONFIG_BOOTTIME_TRACING is not set +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +CONFIG_DYNAMIC_FTRACE=y +CONFIG_DYNAMIC_FTRACE_WITH_REGS=y +# CONFIG_FUNCTION_PROFILER is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_HWLAT_TRACER is not set +# CONFIG_OSNOISE_TRACER is not set +# CONFIG_TIMERLAT_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +CONFIG_BLK_DEV_IO_TRACE=y +CONFIG_UPROBE_EVENTS=y +CONFIG_BPF_EVENTS=y +CONFIG_DYNAMIC_EVENTS=y +CONFIG_PROBE_EVENTS=y +CONFIG_FTRACE_MCOUNT_RECORD=y +CONFIG_FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY=y +# CONFIG_SYNTH_EVENTS is not set +# CONFIG_HIST_TRIGGERS is not set +# CONFIG_TRACE_EVENT_INJECT is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_TRACE_EVAL_MAP_FILE is not set +# CONFIG_FTRACE_RECORD_RECURSION is not set +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set +# CONFIG_PREEMPTIRQ_DELAY_TEST is not set +# CONFIG_RV is not set +# CONFIG_SAMPLES is not set +CONFIG_STRICT_DEVMEM=y +# CONFIG_IO_STRICT_DEVMEM is not set + +# +# arm64 Debugging +# +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_ARM64_RELOC_TEST is not set +# CONFIG_CORESIGHT is not set +# end of arm64 Debugging + +# +# Kernel Testing and Coverage +# +# CONFIG_KUNIT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +CONFIG_ARCH_HAS_KCOV=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +# CONFIG_KCOV is not set +CONFIG_RUNTIME_TESTING_MENU=y +CONFIG_LKDTM=y +# CONFIG_TEST_MIN_HEAP is not set +# CONFIG_TEST_DIV64 is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_TEST_REF_TRACKER is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_REED_SOLOMON_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_ASYNC_RAID6_TEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_STRING_SELFTEST is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_STRSCPY is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_SCANF is not set +# CONFIG_TEST_BITMAP is not set +# CONFIG_TEST_UUID is not set +# CONFIG_TEST_XARRAY is not set +# CONFIG_TEST_MAPLE_TREE is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_SIPHASH is not set +# CONFIG_TEST_IDA is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_BITOPS is not set +# CONFIG_TEST_VMALLOC is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_BLACKHOLE_DEV is not set +# CONFIG_FIND_BIT_BENCHMARK is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_SYSCTL is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_TEST_DYNAMIC_DEBUG is not set +# CONFIG_TEST_KMOD is not set +# CONFIG_TEST_MEMCAT_P is not set +# CONFIG_TEST_MEMINIT is not set +# CONFIG_TEST_FREE_PAGES is not set +CONFIG_ARCH_USE_MEMTEST=y +# CONFIG_MEMTEST is not set +# end of Kernel Testing and Coverage + +# +# Rust hacking +# +# end of Rust hacking +# end of Kernel hacking +CONFIG_ATA_PIIX=m diff --git a/fydetab/duo/config.nix b/fydetab/duo/config.nix new file mode 100644 index 00000000..049c0b9e --- /dev/null +++ b/fydetab/duo/config.nix @@ -0,0 +1,28 @@ +{ + CONFIG_DEVTMPFS = "y"; + CONFIG_CGROUPS = "y"; + CONFIG_INOTIFY_USER = "y"; + CONFIG_SIGNALFD = "y"; + CONFIG_TIMERFD = "y"; + CONFIG_EPOLL = "y"; + CONFIG_SYSFS = "y"; + CONFIG_PROC_FS = "y"; + CONFIG_FHANDLE = "y"; + CONFIG_CRYPTO_USER_API_HASH = "y"; + CONFIG_CRYPTO_HMAC = "y"; + CONFIG_CRYPTO_SHA256 = "y"; + CONFIG_DMIID = "y"; + CONFIG_AUTOFS_FS = "y"; + CONFIG_TMPFS_POSIX_ACL = "y"; + CONFIG_TMPFS_XATTR = "y"; + CONFIG_SECCOMP = "y"; + CONFIG_TMPFS = "y"; + CONFIG_BLK_DEV_INITRD = "y"; + CONFIG_EFI_STUB = "y"; + CONFIG_MODULES = "y"; + CONFIG_BINFMT_ELF = "y"; + CONFIG_UNIX = "y"; + CONFIG_NET = "y"; + CONFIG_IP_NF_MATCH_RPFILTER = "m"; + CONFIG_ATA_PIIX = "m"; +} diff --git a/fydetab/duo/default.nix b/fydetab/duo/default.nix new file mode 100644 index 00000000..ec6181b0 --- /dev/null +++ b/fydetab/duo/default.nix @@ -0,0 +1,129 @@ +{ + config, + pkgs, + lib, + ... +}: +let + ap6275pFirmware = pkgs.callPackage ./ap6275p.nix { }; +in +{ + imports = [ + ../../rockchip + ]; + + options.hardware.fydetab.duo = { + enablePanthor = lib.mkEnable "Panthor GPU driver"; + }; + + config = { + boot = lib.mkMerge [ + { + initrd.includeDefaultModules = false; + kernelPackages = pkgs.callPackage ./kernel.nix { }; + extraModprobeConfig = '' + options bcmdhd firmware_path=${ap6275pFirmware}/lib/firmware/ap6275p/fw_bcm43752a2_pcie_ag.bin nvram_path=${ap6275pFirmware}/lib/firmware/ap6275p/nvram_AP6275P.txt conf_path=${ap6275pFirmware}/lib/firmware/ap6275p/config.txt + ''; + kernelParams = [ + "console=ttyFIQ0" + "console=tty1" + "console=both" + "earlycon=uart8250,mmio32,0xfeb50000" + ]; + kernelModules = [ + "himax_tp" + "mh248-fyde" + "hci_uart" + ]; + } + (lib.mkIf config.hardware.bluetooth.enable { + kernelModules = [ + "bluetooth" + ]; + }) + ]; + + hardware = { + deviceTree = lib.mkMerge [ + { + name = "rockchip/rk3588s-fydetab-duo.dtb"; + } + (lib.mkIf config.hardware.fydetab.duo.enablePanthor { + overlays = [ + { + name = "fydetab-panthor-gpu"; + dtsText = '' + /dts-v1/; + /plugin/; + + #include + #include + #include + + / { + compatible = "rockchip,rk3588s-tablet-12c-linux"; + fragment@0 { + target = <&gpu>; + __overlay__ { + status = "disabled"; + }; + }; + + fragment@1 { + target = <&gpu_panthor>; + __overlay__ { + status = "okay"; + mali-supply = <&vdd_gpu_s0>; + }; + }; + }; + ''; + } + ]; + }) + ]; + rockchip = { + rk3588.enable = true; + platformFirmware = pkgs.callPackage ./u-boot.nix { }; + }; + firmware = lib.mkMerge [ + # Only iwd is supported by the interface + (lib.mkIf config.networking.wireless.iwd.enable ap6275pFirmware) + (lib.mkIf config.hardware.graphics.enable (pkgs.callPackage ./mali-g610.nix { })) + (lib.mkIf config.hardware.sensor.iio.enable (pkgs.callPackage ./himax.nix { })) + ]; + }; + + systemd.services.bluetooth-fydetab = lib.mkIf config.hardware.bluetooth.enable { + description = "FydeTab Duo Bluetooth fix"; + wantedBy = [ "multi-user.target" ]; + serviceConfig.Type = "simple"; + script = '' + ${lib.getExe' pkgs.util-linux "rfkill"} block 0 + ${lib.getExe' pkgs.util-linux "rfkill"} block bluetooth + sleep 2 + ${lib.getExe' pkgs.util-linux "rfkill"} unblock 0 + ${lib.getExe' pkgs.util-linux "rfkill"} unblock bluetooth + + sleep 1 + + ${ + lib.getExe (pkgs.callPackage ./brcm-patchram.nix { }) + } --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram ${ap6275pFirmware}/lib/firmware/ap6275p/BCM4362A2.hcd /dev/ttyS9 + ''; + }; + + services.udev = { + extraHwdb = '' + # Fydetab + evdev:input:b0018v0000p0000e0000* + EVDEV_ABS_00=::265 + EVDEV_ABS_01=::166 + ''; + extraRules = '' + SUBSYSTEM=="iio" ATTR{name}=="lis2dw12" ENV{ACCEL_MOUNT_MATRIX}="1,0,0;0,-1,0;0,0,1" + SUBSYSTEM=="input", ENV{ID_INPUT_TABLET}=="1", ENV{LIBINPUT_CALIBRATION_MATRIX}="0 1 0 -1 0 1 0 0 1" + ''; + }; + }; +} diff --git a/fydetab/duo/himax.nix b/fydetab/duo/himax.nix new file mode 100644 index 00000000..e499b3d1 --- /dev/null +++ b/fydetab/duo/himax.nix @@ -0,0 +1,34 @@ +{ + stdenv, + fetchurl, + lib, +}: +stdenv.mkDerivation (_finalAttrs: { + pname = "himax-firmware"; + version = "2024-11-09"; + + src = fetchurl { + url = "https://github.com/Linux-for-Fydetab-Duo/pkgbuilds/raw/f4c012bd42d87f677370f987f703982d53cd233d/fydetabduo-post-install/Himax_firmware.bin"; + }; + + compressFirmware = false; + + dontUnpack = true; + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib/firmware + cp --no-preserve=ownership,mode $src $out/lib/firmware/Himax_firmware.bin + ls -ahl $out/lib/firmware + + runHook postInstall + ''; + + meta = { + description = "Himax sensor firmware"; + license = lib.licenses.unfree; + }; +}) diff --git a/fydetab/duo/kernel.nix b/fydetab/duo/kernel.nix new file mode 100644 index 00000000..4517dd4b --- /dev/null +++ b/fydetab/duo/kernel.nix @@ -0,0 +1,18 @@ +{ + linuxPackagesFor, + linuxManualConfig, + fetchFromGitHub, +}: +linuxPackagesFor (linuxManualConfig rec { + version = "6.1.75"; + modDirVersion = version; + src = fetchFromGitHub { + owner = "Linux-for-Fydetab-Duo"; + repo = "linux-rockchip"; + rev = "74a1657bc526e336ff66add2fa83a0522957c4cb"; + hash = "sha256-Q0uCxebYw3c5Z/ZxCmTNyEfuYQQcPaw5qpvRTSWdtVo="; + }; + configfile = ./config; + config = import ./config.nix; + features.netfilterRPFilter = true; +}) diff --git a/fydetab/duo/mali-g610.nix b/fydetab/duo/mali-g610.nix new file mode 100644 index 00000000..34c31341 --- /dev/null +++ b/fydetab/duo/mali-g610.nix @@ -0,0 +1,35 @@ +{ + stdenv, + fetchurl, + lib, +}: +stdenv.mkDerivation (_finalAttrs: { + pname = "mali-g610-firmware"; + version = "2024-08-23"; + + src = fetchurl { + url = "https://github.com/Linux-for-Fydetab-Duo/pkgbuilds/raw/f4c012bd42d87f677370f987f703982d53cd233d/mali-G610-firmware-rkr4/mali_csffw.bin"; + hash = "sha256-Ei8ezBTS3g/pP8Al+Md+RTGr0AT6Fy/+aeQM19FdXGY="; + }; + + compressFirmware = false; + + dontUnpack = true; + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib/firmware + cp --no-preserve=ownership,mode $src $out/lib/firmware/mali_csffw.bin + ls -ahl $out/lib/firmware + + runHook postInstall + ''; + + meta = { + description = "Mali G610 firmware for Rockchip RK3588(S) using the rkr4 kernel or later"; + license = lib.licenses.unfree; + }; +}) diff --git a/fydetab/duo/u-boot.nix b/fydetab/duo/u-boot.nix new file mode 100644 index 00000000..dcaf80c0 --- /dev/null +++ b/fydetab/duo/u-boot.nix @@ -0,0 +1,98 @@ +{ + lib, + stdenv, + buildUboot, + armTrustedFirmwareRK3588, + rkbin, + fetchurl, + fetchFromGitHub, +}: +buildUBoot { + defconfig = "rk3588s_fydetab_duo_defconfig"; + extraMeta.platforms = [ "aarch64-linux" ]; + BL31 = "${armTrustedFirmwareRK3588}/bl31.elf"; + ROCKCHIP_TPL = rkbin.TPL_RK3588; + CROSS_COMPILE_ARM64 = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}"; + INI_LOADER = fetchurl { + url = "https://github.com/rockchip-linux/rkbin/raw/${rkbin.src.rev}/RKBOOT/RK3588MINIALL.ini"; + hash = "sha256-87Vt6nXVt+jRrRatOlwGJXYqSj9nJz1LUfQnviIVb7I="; + }; + version = "5.10.0"; + filesToInstall = [ + "idbloader.img" + "u-boot.itb" + "rk3588_spl_loader_v1.18.113.bin" + "tools/resource_tool" + ]; + NIX_CFLAGS_COMPILE = "-Wno-error=enum-int-mismatch -Wno-error=maybe-uninitialized"; + extraMakeFlags = [ + "CROSS_COMPILE_ARM64=${stdenv.cc.targetPrefix}" + ]; + extraPatches = + lib.attrValues ( + lib.mapAttrs + ( + name: hash: + pkgs.fetchpatch { + url = "https://github.com/openFyde/overlay-fydetab_duo-openfyde/raw/fd84c5302908dea6a819c2dcd025a2bf93b5d4e8/sys-boot/rk-uboot/files/rk8/${name}"; + inherit hash; + } + ) + { + "001-add-avdd-avee-in-rockchip_panel.patch" = "sha256-qmBdmSejcDn4ulvOTLjfBsNh6nl12sbobtX4mhTMMKY="; + "002-add-fydetab-support.patch" = "sha256-QlnhdkoOQcGxRiIOx1jNqDLb/abB/+l+hAQ8vKCpwOw="; + "003-match-display-config-with-kernel.patch" = + "sha256-hmICiAgYjjBryJIuNXOffiYTssKSaV1cDeSgRTdq51k="; + "004-enable-sdcard-for-fydetab.patch" = "sha256-xrZ1kuije6X+huvarDIGFhMy2Puq0XvlKa1ZfgGcwlQ="; + "005-display-logo-on-loader-mode.patch" = "sha256-NMQHJMl8s1NUrDSnUX8gAmSNaurBU+m0xKd4TtEPmz4="; + "006-update-deconfig.patch" = "sha256-ZukJEZjEFaN6F4+3VnHfkfdaOTQmkw3fdClk8OeOYRw="; + "007-add-deinit-after-show-bmp-add-ums-mode.patch" = + "sha256-4pHV+qiXMNHcIlC1ciFQsejVZvdnEhfs7QBbge9kHoM="; + "008-add-charging-mode.patch" = "sha256-AToALdx5mwyQ875ZnrpqbuUE9oGonH76RaUq6757U1E="; + "009-set-lowpower-to-3.patch" = "sha256-CYYmY8vQcOIiA3QPvZt+AgI/BbkykoKGqLECim7kAyw="; + "010-fix-compiling-issue.patch" = "sha256-hmiFFe0JuxXMPgeQFWI8qZop+VPmldxgs0Wowchswbs="; + "011-fix-battery-temp.patch" = "sha256-MXe5FGzGETZ3wpW7ur5rBLysdNlDMwiq7/LNxdDpA0E="; + "012-fix-make.patch" = "sha256-/8ZfhB04R4zIddOXJEx8GcnYoljYsGolbt/oQYsm/Xk="; + "013-change-exit-charge-level.patch" = "sha256-84zy5yzoHyAutVmbCvvB5t4uJFQGsMt3jTUgVs5SIog="; + "014-fix-spl-sdcard-issue.patch" = "sha256-jIHybAm9XKDbWF3xG4E9K8x2j5nfpHOp6/2gWDlQ6aU="; + } + ) + ++ [ + ./uboot-remove-sig-req.patch + ]; + src = fetchFromGitHub { + owner = "rockchip-linux"; + repo = "u-boot"; + rev = "63c55618fbdc36333db4cf12f7d6a28f0a178017"; + hash = "sha256-OZmR6BLwCMK6lq9qmetIdrjSJJWcx7Po1OE9dBWL+Ew="; + }; + extraConfig = '' + CONFIG_FIT_SIGNATURE=n + CONFIG_TPL_BUILD=y + CONFIG_SPL_FIT_SIGNATURE=n + CONFIG_SPL_FIT_ROLLBACK_PROTECT=n + CONFIG_CMD_FDT=y + CONFIG_DEFAULT_FDT_FILE="rk3588s-fydetab-duo.dtb" + CONFIG_CMD_PXE=y + ''; + preBuild = '' + patchShebangs arch/arm/mach-rockchip/make_fit_atf.sh + patchShebangs arch/arm/mach-rockchip/decode_bl31.py + + # Needs write access to generate the spl + cp -r ${rkbin.src} rkbin + chmod -R u+rw rkbin + + export RKBIN_TOOLS=$(readlink -e rkbin/tools) + ln -s ${rkbin}/bin bin + + cp ${rkbin.src}/tools/boot_merger tools/ + cp ${rkbin.src}/tools/mkimage tools/ + ''; + postBuild = '' + sh ./make.sh --spl + sh ./make.sh --idblock + sh ./make.sh itb + mv idblock.bin idbloader.img + ''; +} diff --git a/fydetab/duo/uboot-remove-sig-req.patch b/fydetab/duo/uboot-remove-sig-req.patch new file mode 100644 index 00000000..73150aff --- /dev/null +++ b/fydetab/duo/uboot-remove-sig-req.patch @@ -0,0 +1,11 @@ +--- a/tools/Makefile 2025-08-17 22:31:27.653078358 -0700 ++++ b/tools/Makefile 2025-08-17 22:30:09.551827481 -0700 +@@ -54,7 +54,7 @@ + hostprogs-y += mkenvimage + mkenvimage-objs := mkenvimage.o os_support.o lib/crc32.o + +-hostprogs-y += dumpimage mkimage ++hostprogs-$(CONFIG_FIT_SIGNATURE) += dumpimage mkimage + hostprogs-$(CONFIG_FIT_SIGNATURE) += fit_info fit_check_sign + + # Rockchip pack tools From e9db02252a3bdccb1031ec0f7ecddadd0d308401 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Fri, 5 Sep 2025 08:31:44 -0700 Subject: [PATCH 062/117] fydetab/duo: fix typo with enable option --- fydetab/duo/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fydetab/duo/default.nix b/fydetab/duo/default.nix index ec6181b0..a3578eb4 100644 --- a/fydetab/duo/default.nix +++ b/fydetab/duo/default.nix @@ -13,7 +13,7 @@ in ]; options.hardware.fydetab.duo = { - enablePanthor = lib.mkEnable "Panthor GPU driver"; + enablePanthor = lib.mkEnableOption "Panthor GPU driver"; }; config = { From a6cc50d994a0fceca775cfb70dbe4a0dc1c8cadd Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Fri, 5 Sep 2025 11:16:21 -0700 Subject: [PATCH 063/117] fydetab/duo: fix hardware.firmware being applied --- fydetab/duo/default.nix | 104 ++++++++++++++++++++++------------------ 1 file changed, 58 insertions(+), 46 deletions(-) diff --git a/fydetab/duo/default.nix b/fydetab/duo/default.nix index a3578eb4..b19eb9ce 100644 --- a/fydetab/duo/default.nix +++ b/fydetab/duo/default.nix @@ -43,56 +43,68 @@ in }) ]; - hardware = { - deviceTree = lib.mkMerge [ - { - name = "rockchip/rk3588s-fydetab-duo.dtb"; - } - (lib.mkIf config.hardware.fydetab.duo.enablePanthor { - overlays = [ - { - name = "fydetab-panthor-gpu"; - dtsText = '' - /dts-v1/; - /plugin/; + hardware = lib.mkMerge [ + { + deviceTree = lib.mkMerge [ + { + name = "rockchip/rk3588s-fydetab-duo.dtb"; + } + (lib.mkIf config.hardware.fydetab.duo.enablePanthor { + overlays = [ + { + name = "fydetab-panthor-gpu"; + dtsText = '' + /dts-v1/; + /plugin/; - #include - #include - #include + #include + #include + #include - / { - compatible = "rockchip,rk3588s-tablet-12c-linux"; - fragment@0 { - target = <&gpu>; - __overlay__ { - status = "disabled"; + / { + compatible = "rockchip,rk3588s-tablet-12c-linux"; + fragment@0 { + target = <&gpu>; + __overlay__ { + status = "disabled"; + }; + }; + + fragment@1 { + target = <&gpu_panthor>; + __overlay__ { + status = "okay"; + mali-supply = <&vdd_gpu_s0>; + }; }; }; - - fragment@1 { - target = <&gpu_panthor>; - __overlay__ { - status = "okay"; - mali-supply = <&vdd_gpu_s0>; - }; - }; - }; - ''; - } - ]; - }) - ]; - rockchip = { - rk3588.enable = true; - platformFirmware = pkgs.callPackage ./u-boot.nix { }; - }; - firmware = lib.mkMerge [ - # Only iwd is supported by the interface - (lib.mkIf config.networking.wireless.iwd.enable ap6275pFirmware) - (lib.mkIf config.hardware.graphics.enable (pkgs.callPackage ./mali-g610.nix { })) - (lib.mkIf config.hardware.sensor.iio.enable (pkgs.callPackage ./himax.nix { })) - ]; - }; + ''; + } + ]; + }) + ]; + rockchip = { + rk3588.enable = true; + platformFirmware = pkgs.callPackage ./u-boot.nix { }; + }; + } + (lib.mkIf config.networking.wireless.iwd.enable { + firmware = [ + # Only iwd is supported by the interface + ap6275pFirmware + ]; + }) + (lib.mkIf config.hardware.graphics.enable { + firmware = [ + (pkgs.callPackage ./mali-g610.nix { }) + ]; + }) + (lib.mkIf config.hardware.sensor.iio.enable { + firmware = [ + (pkgs.callPackage ./himax.nix { }) + ]; + }) + ]; systemd.services.bluetooth-fydetab = lib.mkIf config.hardware.bluetooth.enable { description = "FydeTab Duo Bluetooth fix"; From 410a17733a70b9c103e60684aa30fc8f3249e285 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Fri, 5 Sep 2025 11:20:47 -0700 Subject: [PATCH 064/117] fydetab/duo: fix himax firmware source hash --- fydetab/duo/himax.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/fydetab/duo/himax.nix b/fydetab/duo/himax.nix index e499b3d1..ac1da125 100644 --- a/fydetab/duo/himax.nix +++ b/fydetab/duo/himax.nix @@ -9,6 +9,7 @@ stdenv.mkDerivation (_finalAttrs: { src = fetchurl { url = "https://github.com/Linux-for-Fydetab-Duo/pkgbuilds/raw/f4c012bd42d87f677370f987f703982d53cd233d/fydetabduo-post-install/Himax_firmware.bin"; + hash = "sha256-z0p/zXcNTBdhKCV6GmM2C8C02lu4Wkb2HP+Ir/nQJTc="; }; compressFirmware = false; From 295e0f92ff26b8260c78d141a4ee1210816c9ede Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Fri, 5 Sep 2025 11:22:25 -0700 Subject: [PATCH 065/117] fydetab/duo: clarify graphics support --- fydetab/duo/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fydetab/duo/README.md b/fydetab/duo/README.md index f96960d1..e5691236 100644 --- a/fydetab/duo/README.md +++ b/fydetab/duo/README.md @@ -5,6 +5,8 @@ The Fydetab Duo is an open source and hackable tablet by FydeOS. ## Features - Display: **works** + - X11: **untested** + - Wayland: **not working** (niri, sway, COSMIC) - GPU driver: **not working** - WiFi: **working** - Cellular: **untested** From 7e40faf569db5ecb30aa50a0df88fdd50fa74e6f Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Fri, 5 Sep 2025 11:49:13 -0700 Subject: [PATCH 066/117] fydetab/duo: enable hid sensor hub kernel module --- fydetab/duo/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fydetab/duo/config b/fydetab/duo/config index 2b343df4..d332555e 100644 --- a/fydetab/duo/config +++ b/fydetab/duo/config @@ -6540,7 +6540,7 @@ CONFIG_HID_WIIMOTE=m # CONFIG_HID_XINMO is not set # CONFIG_HID_ZEROPLUS is not set # CONFIG_HID_ZYDACRON is not set -# CONFIG_HID_SENSOR_HUB is not set +CONFIG_HID_SENSOR_HUB=m # CONFIG_HID_ALPS is not set # CONFIG_HID_MCP2221 is not set # end of Special HID drivers From 0c55f0f776577c45cc9d05d2e0a38013b965d70b Mon Sep 17 00:00:00 2001 From: NAHO <90870942+trueNAHO@users.noreply.github.com> Date: Sun, 7 Sep 2025 01:15:31 +0200 Subject: [PATCH 067/117] tuxedo/pulse/15/gen2: load more internal modules --- tuxedo/pulse/15/gen2/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tuxedo/pulse/15/gen2/default.nix b/tuxedo/pulse/15/gen2/default.nix index 0afd6b3b..8ead6714 100644 --- a/tuxedo/pulse/15/gen2/default.nix +++ b/tuxedo/pulse/15/gen2/default.nix @@ -2,7 +2,12 @@ { imports = [ ../../../../common/cpu/amd + ../../../../common/cpu/amd/pstate.nix + ../../../../common/cpu/amd/zenpower.nix ../../../../common/gpu/amd + ../../../../common/hidpi.nix + ../../../../common/pc + ../../../../common/pc/laptop ../../../../common/pc/ssd ]; From 40dffd02e3fe00ad1a27fd1b8b0d059c253776da Mon Sep 17 00:00:00 2001 From: NAHO <90870942+trueNAHO@users.noreply.github.com> Date: Sun, 7 Sep 2025 21:38:07 +0000 Subject: [PATCH 068/117] tuxedo/pulse/15/gen2: defer amdgpu secure display warning to Stage 2 Defer the amdgpu secure display warning from Stage 1 to Stage 2, despite the initial decision [1] of reverting commit dd18dc771432 ("fix(tuxedo/pulse/15/gen2): prevent 'Secure display: Generic Failure' warning") with commit 80d98a7d55c6 ("feat(tuxedo/pulse/15/gen2): use default 'hardware.amdgpu.loadInInitrd'"). Since this noisy warning is an inherit property of this hardware, deferring it is the desired behavior. [1]: https://github.com/NixOS/nixos-hardware/pull/755#discussion_r1359669448 --- tuxedo/pulse/15/gen2/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tuxedo/pulse/15/gen2/default.nix b/tuxedo/pulse/15/gen2/default.nix index 8ead6714..edf3c363 100644 --- a/tuxedo/pulse/15/gen2/default.nix +++ b/tuxedo/pulse/15/gen2/default.nix @@ -11,6 +11,13 @@ ../../../../common/pc/ssd ]; + # Defer the following Stage 1 warning to Stage 2: + # + # loading module amdgpu... + # [...] amdgpu 0000:05:00.0: amdgpu: Secure display: Generic Failure. + # [...] amdgpu 0000:05:00.0: amdgpu: SECUREDISPLAY: query securedisplay TA failed. ret 0x0 + hardware.amdgpu.initrd.enable = false; + services.udev.extraRules = builtins.concatStringsSep "\n" ( [ "# Properly suspend the system." ] ++ (map From 536ac3ab4b6cf09aa4a831b25ce4fea94ae79740 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 11 Sep 2025 23:56:14 +0200 Subject: [PATCH 069/117] common/cpu/intel/comet-lake: drop gpu option It is already set for the gpu --- common/cpu/intel/comet-lake/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/common/cpu/intel/comet-lake/default.nix b/common/cpu/intel/comet-lake/default.nix index 25af65fe..3c688f50 100644 --- a/common/cpu/intel/comet-lake/default.nix +++ b/common/cpu/intel/comet-lake/default.nix @@ -3,6 +3,4 @@ ./cpu-only.nix ../../../gpu/intel/comet-lake ]; - - hardware.intelgpu.vaapiDriver = "intel-media-driver"; } From a98f1a2b75cf5fc934db11a8818e266360234238 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 11 Sep 2025 23:56:36 +0200 Subject: [PATCH 070/117] Drop some unused inputs --- common/gpu/intel/broadwell/default.nix | 2 -- common/gpu/intel/skylake/default.nix | 2 -- 2 files changed, 4 deletions(-) diff --git a/common/gpu/intel/broadwell/default.nix b/common/gpu/intel/broadwell/default.nix index 0b19cb78..6412c671 100644 --- a/common/gpu/intel/broadwell/default.nix +++ b/common/gpu/intel/broadwell/default.nix @@ -1,5 +1,3 @@ -{ lib, pkgs, ... }: - { imports = [ ../. ]; diff --git a/common/gpu/intel/skylake/default.nix b/common/gpu/intel/skylake/default.nix index e9c24279..7dd5a921 100644 --- a/common/gpu/intel/skylake/default.nix +++ b/common/gpu/intel/skylake/default.nix @@ -1,5 +1,3 @@ -{ pkgs, ... }: - { imports = [ ../. ]; From 4100cffdbee7980e18ab013dd709d155acec767d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 11 Sep 2025 23:57:40 +0200 Subject: [PATCH 071/117] common/gpu: add option to choose intel-compute-runtime variant --- common/gpu/intel/default.nix | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/common/gpu/intel/default.nix b/common/gpu/intel/default.nix index a8671d41..0c5e346b 100644 --- a/common/gpu/intel/default.nix +++ b/common/gpu/intel/default.nix @@ -23,6 +23,15 @@ default = true; }; + computeRuntime = lib.mkOption { + description = "intel-compute-runtime variant to use"; + type = lib.types.enum [ + "default" + "legacy" + ]; + default = "default"; + }; + vaapiDriver = lib.mkOption { description = "Intel VAAPI driver to use (use null to use both)"; type = lib.types.nullOr ( @@ -59,7 +68,11 @@ useIntelMediaDriver = cfg.vaapiDriver == "intel-media-driver" || cfg.vaapiDriver == null; intel-media-driver = pkgs.intel-media-driver; intel-media-driver-32 = pkgs.driversi686Linux.intel-media-driver; - intel-compute-runtime = pkgs.intel-compute-runtime; + intel-compute-runtime = + if cfg.computeRuntime == "legacy" then + pkgs.intel-compute-runtime-legacy1 + else + pkgs.intel-compute-runtime; vpl-gpu-rt = pkgs.vpl-gpu-rt or pkgs.onevpl-intel-gpu; in { From e049c10c3e9f9e48e6f984c7993c7bd447395fb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 11 Sep 2025 23:58:40 +0200 Subject: [PATCH 072/117] treewide: set intel cpu variant to legacy where newer versions are not supported According to https://github.com/intel/compute-runtime#legacy-platforms --- common/gpu/intel/broadwell/default.nix | 1 + common/gpu/intel/coffee-lake/default.nix | 5 ++++- common/gpu/intel/comet-lake/default.nix | 5 ++++- common/gpu/intel/elkhart-lake/default.nix | 5 ++++- common/gpu/intel/kaby-lake/default.nix | 5 ++++- common/gpu/intel/skylake/default.nix | 1 + 6 files changed, 18 insertions(+), 4 deletions(-) diff --git a/common/gpu/intel/broadwell/default.nix b/common/gpu/intel/broadwell/default.nix index 6412c671..eb4d1cdf 100644 --- a/common/gpu/intel/broadwell/default.nix +++ b/common/gpu/intel/broadwell/default.nix @@ -2,6 +2,7 @@ imports = [ ../. ]; hardware.intelgpu = { + computeRuntime = "legacy"; vaapiDriver = "intel-vaapi-driver"; enableHybridCodec = true; }; diff --git a/common/gpu/intel/coffee-lake/default.nix b/common/gpu/intel/coffee-lake/default.nix index 55e71d21..49c683d8 100644 --- a/common/gpu/intel/coffee-lake/default.nix +++ b/common/gpu/intel/coffee-lake/default.nix @@ -7,5 +7,8 @@ "i915.enable_guc=2" ]; - hardware.intelgpu.vaapiDriver = "intel-media-driver"; + hardware.intelgpu = { + computeRuntime = "legacy"; + vaapiDriver = "intel-media-driver"; + }; } diff --git a/common/gpu/intel/comet-lake/default.nix b/common/gpu/intel/comet-lake/default.nix index 43ed1c46..200e34a3 100644 --- a/common/gpu/intel/comet-lake/default.nix +++ b/common/gpu/intel/comet-lake/default.nix @@ -3,5 +3,8 @@ boot.kernelParams = [ "i915.enable_guc=2" ]; - hardware.intelgpu.vaapiDriver = "intel-media-driver"; + hardware.intelgpu = { + computeRuntime = "legacy"; + vaapiDriver = "intel-media-driver"; + }; } diff --git a/common/gpu/intel/elkhart-lake/default.nix b/common/gpu/intel/elkhart-lake/default.nix index 43ed1c46..200e34a3 100644 --- a/common/gpu/intel/elkhart-lake/default.nix +++ b/common/gpu/intel/elkhart-lake/default.nix @@ -3,5 +3,8 @@ boot.kernelParams = [ "i915.enable_guc=2" ]; - hardware.intelgpu.vaapiDriver = "intel-media-driver"; + hardware.intelgpu = { + computeRuntime = "legacy"; + vaapiDriver = "intel-media-driver"; + }; } diff --git a/common/gpu/intel/kaby-lake/default.nix b/common/gpu/intel/kaby-lake/default.nix index a8386691..37a639d8 100644 --- a/common/gpu/intel/kaby-lake/default.nix +++ b/common/gpu/intel/kaby-lake/default.nix @@ -7,5 +7,8 @@ "i915.enable_psr=2" ]; - hardware.intelgpu.vaapiDriver = "intel-media-driver"; + hardware.intelgpu = { + computeRuntime = "legacy"; + vaapiDriver = "intel-media-driver"; + }; } diff --git a/common/gpu/intel/skylake/default.nix b/common/gpu/intel/skylake/default.nix index 7dd5a921..553cc836 100644 --- a/common/gpu/intel/skylake/default.nix +++ b/common/gpu/intel/skylake/default.nix @@ -10,6 +10,7 @@ # NixOS Wiki recommends using the legacy intel-vaapi-driver with the hybrid codec over that one for Skylake. # https://wiki.nixos.org/wiki/Accelerated_Video_Playback hardware.intelgpu = { + computeRuntime = "legacy"; vaapiDriver = "intel-vaapi-driver"; enableHybridCodec = true; }; From 82e5fcb58cf7d2b3f3bd2264a5acdc8816c38bf4 Mon Sep 17 00:00:00 2001 From: Sandro Date: Mon, 15 Sep 2025 00:39:45 +0200 Subject: [PATCH 073/117] Fix fydetab duo eval --- fydetab/duo/u-boot.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fydetab/duo/u-boot.nix b/fydetab/duo/u-boot.nix index dcaf80c0..4ce1b2b4 100644 --- a/fydetab/duo/u-boot.nix +++ b/fydetab/duo/u-boot.nix @@ -1,9 +1,10 @@ { lib, stdenv, - buildUboot, + buildUBoot, armTrustedFirmwareRK3588, rkbin, + fetchpatch, fetchurl, fetchFromGitHub, }: @@ -33,7 +34,7 @@ buildUBoot { lib.mapAttrs ( name: hash: - pkgs.fetchpatch { + fetchpatch { url = "https://github.com/openFyde/overlay-fydetab_duo-openfyde/raw/fd84c5302908dea6a819c2dcd025a2bf93b5d4e8/sys-boot/rk-uboot/files/rk8/${name}"; inherit hash; } From 0632a5e10fa0d4a81a59e9b084d4dc898f0e26ba Mon Sep 17 00:00:00 2001 From: Michael Hoang Date: Thu, 24 Jul 2025 13:49:05 +1000 Subject: [PATCH 074/117] MacBookAir6,x: fix wireless --- apple/macbook-air/6/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apple/macbook-air/6/default.nix b/apple/macbook-air/6/default.nix index 182511f3..3e927352 100644 --- a/apple/macbook-air/6/default.nix +++ b/apple/macbook-air/6/default.nix @@ -1,8 +1,12 @@ -{ lib, ... }: +{ config, lib, ... }: { imports = [ ../. ]; + boot.kernelModules = [ "wl" ]; + boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; + boot.blacklistedKernelModules = [ "bcma" ]; + boot = { # Divides power consumption by two. kernelParams = [ "acpi_osi=" ]; From 3caaf86f9d7558cce864cfc929a2de619ecc0de2 Mon Sep 17 00:00:00 2001 From: Ameya Shenoy Date: Wed, 17 Sep 2025 01:19:01 +0530 Subject: [PATCH 075/117] feat: kernel params for x1 carbon Signed-off-by: Ameya Shenoy --- lenovo/thinkpad/x1/12th-gen/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lenovo/thinkpad/x1/12th-gen/default.nix b/lenovo/thinkpad/x1/12th-gen/default.nix index b13ea279..3350cad8 100644 --- a/lenovo/thinkpad/x1/12th-gen/default.nix +++ b/lenovo/thinkpad/x1/12th-gen/default.nix @@ -2,6 +2,12 @@ imports = [ ../. ../../../../common/pc/ssd + ../../../../common/cpu/intel/meteor-lake + ]; + + boot.kernelParams = [ + "i915.enable_guc=3" + "i915.force_probe=7d55" ]; hardware.trackpoint.device = "TPPS/2 Synaptics TrackPoint"; From 4ba28b48c8f1fb3c2dee6c7b4ee2e2e6b26ac2a0 Mon Sep 17 00:00:00 2001 From: kuwii Date: Sun, 21 Sep 2025 11:23:40 +0800 Subject: [PATCH 076/117] linglong/nova-studio: init --- README.md | 1 + flake.nix | 1 + linglong/nova-studio/default.nix | 27 +++++++++++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 linglong/nova-studio/default.nix diff --git a/README.md b/README.md index c9b80cb9..59abb7ea 100644 --- a/README.md +++ b/README.md @@ -361,6 +361,7 @@ See code for all available configurations. | [Lenovo Yoga Slim 7i Pro X 14IAH7 (Hybrid)](lenovo/yoga/7/14IAH7/hybrid) | `` | `lenovo-yoga-7-14IAH7-hybrid` | | [Lenovo Yoga Slim 7 14ILL10](lenovo/yoga/7/14ILL10) | `` | `lenovo-yoga-7-14ILL10` | | [LENOVO Yoga 7 Slim Gen8](lenovo/yoga/7/slim/gen8) | `` | `lenovo-yoga-7-slim-gen8` | +| [Linglong Nova Studio](linglong/nova-studio) | `` | `linglong-nova-studio` | | [MSI B550-A PRO](msi/b550-a-pro) | `` | `msi-b550-a-pro` | | [MSI B350 TOMAHAWK](msi/b350-tomahawk) | `` | `msi-b350-tomahawk` | | [MSI GS60 2QE](msi/gs60) | `` | `msi-gs60` | diff --git a/flake.nix b/flake.nix index 7cfe53df..c57a5e5a 100644 --- a/flake.nix +++ b/flake.nix @@ -301,6 +301,7 @@ lenovo-yoga-7-14ILL10 = import ./lenovo/yoga/7/14ILL10; lenovo-yoga-7-slim-gen8 = import ./lenovo/yoga/7/slim/gen8; letsnote-cf-lx4 = import ./panasonic/letsnote/cf-lx4; + linglong-nova-studio = import ./linglong/nova-studio; malibal-aon-s1-intel = import ./malibal/aon/s1; mechrevo-gm5hg0a = import ./mechrevo/GM5HG0A; microchip-icicle-kit = import ./microchip/icicle-kit; diff --git a/linglong/nova-studio/default.nix b/linglong/nova-studio/default.nix new file mode 100644 index 00000000..b3632439 --- /dev/null +++ b/linglong/nova-studio/default.nix @@ -0,0 +1,27 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + imports = [ + ../../common/cpu/amd + ../../common/cpu/amd/pstate.nix + ../../common/cpu/amd/zenpower.nix + ../../common/gpu/amd + ../../common/pc/ssd + ]; + + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.14") ( + lib.mkDefault pkgs.linuxPackages_latest + ); + boot.kernelModules = [ "amdgpu" ]; + + hardware.enableRedistributableFirmware = lib.mkDefault true; + hardware.graphics.enable = lib.mkDefault true; + hardware.graphics.enable32Bit = lib.mkDefault true; + + hardware.amdgpu.opencl.enable = lib.mkDefault true; +} From 76a314765d46a41ff366d05d95d4654cc2b71672 Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 11 Sep 2025 22:47:59 +0200 Subject: [PATCH 077/117] lenovo/t14-intel-gen1(-nvidia): init init configuration for t14 intel gen1 with and without nvidia dedicated graphics card ref: https://thinkwiki.de/T14_Gen_1_(Intel) --- README.md | 4 ++- flake.nix | 2 ++ lenovo/thinkpad/t14/intel/gen1/default.nix | 8 ++++++ .../t14/intel/gen1/nvidia/default.nix | 28 +++++++++++++++++++ 4 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 lenovo/thinkpad/t14/intel/gen1/default.nix create mode 100644 lenovo/thinkpad/t14/intel/gen1/nvidia/default.nix diff --git a/README.md b/README.md index c9b80cb9..6e9d9a92 100644 --- a/README.md +++ b/README.md @@ -298,7 +298,9 @@ See code for all available configurations. | [Lenovo ThinkPad T14 AMD Gen 4](lenovo/thinkpad/t14/amd/gen4) | `` | `lenovo-thinkpad-t14-amd-gen4` | | [Lenovo ThinkPad T14 AMD Gen 5](lenovo/thinkpad/t14/amd/gen5) | `` | `lenovo-thinkpad-t14-amd-gen5` | | [Lenovo ThinkPad T14](lenovo/thinkpad/t14) | `` | `lenovo-thinkpad-t14` | -| [Lenovo ThinkPad T14 Intel Gen 6](lenovo/thinkpad/t14/intel/gen6) | `` | `lenovo-thinkpad-t14-intel-gen6` | +| [Lenovo ThinkPad T14 Intel Gen 1](lenovo/thinkpad/t14/intel/gen1) | `` | `lenovo-thinkpad-t14-intel-gen1` | +| [Lenovo ThinkPad T14 Intel Gen 1 (Nvidia)](lenovo/thinkpad/t14/intel/gen1/nvidia) | ``| `lenovo-thinkpad-t14-intel-gen1-nvidia` | +| [Lenovo ThinkPad T14 Intel Gen 6](lenovo/thinkpad/t14/intel/gen6) | `` | `lenovo-thinkpad-t14-intel-gen6` | | [Lenovo ThinkPad T14s AMD Gen 1](lenovo/thinkpad/t14s/amd/gen1) | `` | `lenovo-thinkpad-t14s-amd-gen1` | | [Lenovo ThinkPad T14s AMD Gen 4](lenovo/thinkpad/t14s/amd/gen4) | `` | `lenovo-thinkpad-t14s-amd-gen4` | | [Lenovo ThinkPad T14s](lenovo/thinkpad/t14s) | `` | `lenovo-thinkpad-t14s` | diff --git a/flake.nix b/flake.nix index 7cfe53df..d0c099c7 100644 --- a/flake.nix +++ b/flake.nix @@ -234,6 +234,8 @@ lenovo-thinkpad-t14-amd-gen3 = import ./lenovo/thinkpad/t14/amd/gen3; lenovo-thinkpad-t14-amd-gen4 = import ./lenovo/thinkpad/t14/amd/gen4; lenovo-thinkpad-t14-amd-gen5 = import ./lenovo/thinkpad/t14/amd/gen5; + lenovo-thinkpad-t14-intel-gen1 = import ./lenovo/thinkpad/t14/intel/gen1; + lenovo-thinkpad-t14-intel-gen1-nvidia = import ./lenovo/thinkpad/t14/intel/gen1/nvidia; lenovo-thinkpad-t14-intel-gen6 = import ./lenovo/thinkpad/t14/intel/gen6; lenovo-thinkpad-t14s = import ./lenovo/thinkpad/t14s; lenovo-thinkpad-t14s-amd-gen1 = import ./lenovo/thinkpad/t14s/amd/gen1; diff --git a/lenovo/thinkpad/t14/intel/gen1/default.nix b/lenovo/thinkpad/t14/intel/gen1/default.nix new file mode 100644 index 00000000..efe407d3 --- /dev/null +++ b/lenovo/thinkpad/t14/intel/gen1/default.nix @@ -0,0 +1,8 @@ +{ lib, config, ... }: +{ + imports = [ + ../../../../../common/cpu/intel/comet-lake + + ../. + ]; +} diff --git a/lenovo/thinkpad/t14/intel/gen1/nvidia/default.nix b/lenovo/thinkpad/t14/intel/gen1/nvidia/default.nix new file mode 100644 index 00000000..178b2254 --- /dev/null +++ b/lenovo/thinkpad/t14/intel/gen1/nvidia/default.nix @@ -0,0 +1,28 @@ +{ lib, config, ... }: +{ + imports = [ + ../../../../../../common/gpu/nvidia/pascal + ../../../../../../common/gpu/nvidia/prime-sync.nix + + ../. + ]; + hardware = { + graphics = { + enable = lib.mkDefault true; + enable32Bit = lib.mkDefault true; + }; + nvidia = { + powerManagement.enable = lib.mkDefault true; + modesetting.enable = lib.mkDefault true; + + dynamicBoost.enable = lib.mkForce false; # Dynamic boost is not supported on Pascal architeture + prime = { + # 00:02.0 VGA compatible controller: Intel Corporation CometLake-U GT2 [UHD Graphics] (rev 02) + intelBusId = lib.mkDefault "PCI:0:2:0"; + # 2d:00.0 3D controller: NVIDIA Corporation GP108M [GeForce MX330] (rev a1) + nvidiaBusId = lib.mkDefault "PCI:45:0:0"; + }; + }; + }; + services.thermald.enable = lib.mkDefault true; +} From 27581273c242efc4aa26cc0f92215aa8b3aaa78c Mon Sep 17 00:00:00 2001 From: Yvan Sraka Date: Mon, 1 Sep 2025 11:01:28 +0200 Subject: [PATCH 078/117] panasonic: add Let's Note CF-LX3 configuration --- README.md | 1 + flake.nix | 1 + panasonic/letsnote/cf-lx3/default.nix | 11 +++++++++++ 3 files changed, 13 insertions(+) create mode 100644 panasonic/letsnote/cf-lx3/default.nix diff --git a/README.md b/README.md index c9b80cb9..9caf3367 100644 --- a/README.md +++ b/README.md @@ -389,6 +389,7 @@ See code for all available configurations. | [Omen 15-en1007sa](omen/15-en1007sa) | `` | `omen-15-en1007sa` | | [Omen 15-en0002np](omen/15-en0002np) | `` | `omen-15-en0002np` | | [One-Netbook OneNetbook 4](onenetbook/4) | `` | `onenetbook-4` | +| [Panasonic Let's Note CF-LX3](panasonic/letsnote/cf-lx3) | `` | `panasonic-letsnote-cf-lx3` | | [Panasonic Let's Note CF-LX4](panasonic/letsnote/cf-lx4) | `` | `letsnote-cf-lx4` | | [PC Engines APU](pcengines/apu) | `` | `pcengines-apu` | | [PINE64 Pinebook Pro](pine64/pinebook-pro/) | `` | `pine64-pinebook-pro` | diff --git a/flake.nix b/flake.nix index 7cfe53df..f8b2a3cd 100644 --- a/flake.nix +++ b/flake.nix @@ -300,6 +300,7 @@ lenovo-yoga-7-14IAH7-hybrid = import ./lenovo/yoga/7/14IAH7/hybrid; lenovo-yoga-7-14ILL10 = import ./lenovo/yoga/7/14ILL10; lenovo-yoga-7-slim-gen8 = import ./lenovo/yoga/7/slim/gen8; + letsnote-cf-lx3 = import ./panasonic/letsnote/cf-lx3; letsnote-cf-lx4 = import ./panasonic/letsnote/cf-lx4; malibal-aon-s1-intel = import ./malibal/aon/s1; mechrevo-gm5hg0a = import ./mechrevo/GM5HG0A; diff --git a/panasonic/letsnote/cf-lx3/default.nix b/panasonic/letsnote/cf-lx3/default.nix new file mode 100644 index 00000000..6b965980 --- /dev/null +++ b/panasonic/letsnote/cf-lx3/default.nix @@ -0,0 +1,11 @@ +{ + imports = [ + ../../../common/cpu/intel + ../../../common/pc/laptop + ../../../common/pc/ssd + ]; + + # Force use of the intel_backlight driver for backlight control. + # This allows the backlight save/load systemd service to work. + boot.kernelParams = [ "acpi_backlight=video" ]; +} From 0e9dc7cf611c900c2298054b1d93121478fbf9fa Mon Sep 17 00:00:00 2001 From: kuwii Date: Thu, 25 Sep 2025 22:42:51 +0800 Subject: [PATCH 079/117] linglong/nova-studio: remove opencl config and move it to readme --- linglong/nova-studio/README.md | 39 ++++++++++++++++++++++++++++++++ linglong/nova-studio/default.nix | 2 -- 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 linglong/nova-studio/README.md diff --git a/linglong/nova-studio/README.md b/linglong/nova-studio/README.md new file mode 100644 index 00000000..ef35dc04 --- /dev/null +++ b/linglong/nova-studio/README.md @@ -0,0 +1,39 @@ +# Linglong Nova Studio + +This is a configuration for [Linglong Nova Studio (玲珑星核)](https://www.firstarpc.com/). + +## Configuration + +import `` (using configurations), or add `nixos-hardware.nixosModules.linglong-nova-studio` in modules (using Flakes). + +This configuration will force to use Linux kernel that >= 6.14, otherwise it will be updated to the latest version. This part follows [Framework Desktop](../../framework/desktop/amd-ai-max-300-series), which is also a desktop computer using Ryzen AI Max 300 series processor. + +## OpenCL and ROCm support + +To setup OpenCL and ROCm environment, please add the following configuration: + +``` +# Tell packages that supports ROCm to enable the related supports. +nixpkgs.config.rocmSupport = true; + +# Install ROCm and enable +hardware.amdgpu.opencl.enable = true; + +# These tools can show the info related to ROCm and OpenCL. +environment.systemPackages = with pkgs; [ + rocmPackages.rocminfo + clinfo +]; +``` + +After switching, to check whether the environment has been correctly setup, please run + +``` +clinfo +``` + +and + +``` +rocminfo +``` diff --git a/linglong/nova-studio/default.nix b/linglong/nova-studio/default.nix index b3632439..32aa0896 100644 --- a/linglong/nova-studio/default.nix +++ b/linglong/nova-studio/default.nix @@ -22,6 +22,4 @@ hardware.enableRedistributableFirmware = lib.mkDefault true; hardware.graphics.enable = lib.mkDefault true; hardware.graphics.enable32Bit = lib.mkDefault true; - - hardware.amdgpu.opencl.enable = lib.mkDefault true; } From 095a445675f0db39c1b42d62a7888df8670fe6b0 Mon Sep 17 00:00:00 2001 From: pancho horrillo Date: Sat, 27 Sep 2025 07:11:36 +0200 Subject: [PATCH 080/117] apple/macbook-air/5: init --- README.md | 1 + apple/macbook-air/5/default.nix | 9 +++++++++ flake.nix | 1 + 3 files changed, 11 insertions(+) create mode 100644 apple/macbook-air/5/default.nix diff --git a/README.md b/README.md index c9b80cb9..1891ec26 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,7 @@ See code for all available configurations. | [Apple iMac 18.2](apple/imac/18-2) | `` | `apple-imac-18-2` | | [Apple MacBook Air 3,X](apple/macbook-air/3) | `` | `apple-macbook-air-3` | | [Apple MacBook Air 4,X](apple/macbook-air/4) | `` | `apple-macbook-air-4` | +| [Apple MacBook Air 5,X](apple/macbook-air/5) | `` | `apple-macbook-air-5` | | [Apple MacBook Air 6,X](apple/macbook-air/6) | `` | `apple-macbook-air-6` | | [Apple MacBook Air 7,X](apple/macbook-air/7) | `` | `apple-macbook-air-7` | | [Apple MacBook Pro 8,1](apple/macbook-pro/8-1) | `` | `apple-macbook-pro-8-1` | diff --git a/apple/macbook-air/5/default.nix b/apple/macbook-air/5/default.nix new file mode 100644 index 00000000..afd7a0e0 --- /dev/null +++ b/apple/macbook-air/5/default.nix @@ -0,0 +1,9 @@ +{ + ... +}: + +{ + imports = [ + ../. + ]; +} diff --git a/flake.nix b/flake.nix index 7cfe53df..58e8a014 100644 --- a/flake.nix +++ b/flake.nix @@ -20,6 +20,7 @@ apple-imac-18-2 = import ./apple/imac/18-2; apple-macbook-air-3 = import ./apple/macbook-air/3; apple-macbook-air-4 = import ./apple/macbook-air/4; + apple-macbook-air-5 = import ./apple/macbook-air/5; apple-macbook-air-6 = import ./apple/macbook-air/6; apple-macbook-air-7 = import ./apple/macbook-air/7; apple-macbook-pro = import ./apple/macbook-pro; From 5e57f28e6ad899725a9550b018693c01a049b411 Mon Sep 17 00:00:00 2001 From: Jakob Leifhelm Date: Mon, 9 Jun 2025 10:22:23 +0200 Subject: [PATCH 081/117] mnt/reform: init --- README.md | 1 + flake.nix | 1 + mnt/reform/default.nix | 10 + mnt/reform/dtsPatch.nix | 48 ++ mnt/reform/kernel.nix | 148 ++++++ mnt/reform/lpc.nix | 36 ++ mnt/reform/rk3588/README.md | 48 ++ mnt/reform/rk3588/default.nix | 35 ++ mnt/reform/rk3588/firmware.nix | 25 + mnt/reform/rk3588/initial-asound.state | 702 +++++++++++++++++++++++++ mnt/reform/rk3588/installer.nix | 238 +++++++++ mnt/reform/rk3588/uboot.nix | 54 ++ 12 files changed, 1346 insertions(+) create mode 100644 mnt/reform/default.nix create mode 100644 mnt/reform/dtsPatch.nix create mode 100644 mnt/reform/kernel.nix create mode 100644 mnt/reform/lpc.nix create mode 100644 mnt/reform/rk3588/README.md create mode 100644 mnt/reform/rk3588/default.nix create mode 100644 mnt/reform/rk3588/firmware.nix create mode 100644 mnt/reform/rk3588/initial-asound.state create mode 100644 mnt/reform/rk3588/installer.nix create mode 100644 mnt/reform/rk3588/uboot.nix diff --git a/README.md b/README.md index c9b80cb9..133a06e4 100644 --- a/README.md +++ b/README.md @@ -375,6 +375,7 @@ See code for all available configurations. | [Microsoft Surface Pro 9](microsoft/surface-pro/9) | `` | `microsoft-surface-pro-9` | | [Morefine M600](morefine/m600) | `` | `morefine-m600` | | [Minisforum V3](minisforum/v3) | `` | `minisforum-v3` | +| [MNT Reform with RK3588 module](mnt/reform/rk3588) | `` | `mechrevo-gm5hg0a` | | [NXP iMX8 MPlus Evaluation Kit](nxp/imx8mp-evk) | `` | `nxp-imx8mp-evk` | | [NXP iMX8 MQuad Evaluation Kit](nxp/imx8mq-evk) | `` | `nxp-imx8mq-evk` | diff --git a/flake.nix b/flake.nix index 7cfe53df..cc71ee36 100644 --- a/flake.nix +++ b/flake.nix @@ -312,6 +312,7 @@ microsoft-surface-pro-9 = import ./microsoft/surface-pro/9; milkv-pioneer = import ./milkv/pioneer; minisforum-v3 = import ./minisforum/v3; + mnt-reform-rk3588 = import ./mnt/reform/rk3588; morefine-m600 = import ./morefine/m600; msi-b350-tomahawk = import ./msi/b350-tomahawk; msi-b550-a-pro = import ./msi/b550-a-pro; diff --git a/mnt/reform/default.nix b/mnt/reform/default.nix new file mode 100644 index 00000000..6681a968 --- /dev/null +++ b/mnt/reform/default.nix @@ -0,0 +1,10 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + boot.kernelPackages = pkgs.callPackage ./kernel.nix { }; + boot.extraModulePackages = [ (config.boot.kernelPackages.callPackage ./lpc.nix { }) ]; +} diff --git a/mnt/reform/dtsPatch.nix b/mnt/reform/dtsPatch.nix new file mode 100644 index 00000000..3cb77cb7 --- /dev/null +++ b/mnt/reform/dtsPatch.nix @@ -0,0 +1,48 @@ +{ + stdenv, + reformDebianPackages, + kernelSource, + quilt, +}: +stdenv.mkDerivation { + name = "mnt-dts-patch"; + nativeBuildInputs = [ quilt ]; + buildCommand = '' + cp -r --reflink=auto ${reformDebianPackages}/linux/* . + mkdir -p linux/debian/patches/reform + cp -r --reflink=auto ${kernelSource}/* linux + chmod +w -R . + env --chdir=linux QUILT_PATCHES=debian/patches quilt new reform/dts.patch + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/freescale/fsl-ls1028a-mnt-reform2.dts + cp fsl-ls1028a-mnt-reform2.dts linux/arch/arm64/boot/dts/freescale/fsl-ls1028a-mnt-reform2.dts + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/freescale/imx8mq-mnt-reform2-hdmi.dts + cp imx8mq-mnt-reform2-hdmi.dts linux/arch/arm64/boot/dts/freescale/imx8mq-mnt-reform2-hdmi.dts + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/freescale/Makefile + sed -i '/fsl-ls1028a-rdb.dtb/a dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-mnt-reform2.dtb' linux/arch/arm64/boot/dts/freescale/Makefile + sed -i '/imx8mq-mnt-reform2.dtb/a dtb-$(CONFIG_ARCH_MXC) += imx8mq-mnt-reform2-hdmi.dtb' linux/arch/arm64/boot/dts/freescale/Makefile + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/freescale/imx8mp-mnt-pocket-reform.dts + cp imx8mp-mnt-pocket-reform.dts linux/arch/arm64/boot/dts/freescale/imx8mp-mnt-pocket-reform.dts + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/freescale/imx8mp-mnt-reform2.dts + cp imx8mp-mnt-reform2.dts linux/arch/arm64/boot/dts/freescale/imx8mp-mnt-reform2.dts + sed -i '/imx8mq-mnt-reform2.dtb/a dtb-$(CONFIG_ARCH_MXC) += imx8mp-mnt-pocket-reform.dtb' linux/arch/arm64/boot/dts/freescale/Makefile + sed -i '/imx8mq-mnt-reform2.dtb/a dtb-$(CONFIG_ARCH_MXC) += imx8mp-mnt-reform2.dtb' linux/arch/arm64/boot/dts/freescale/Makefile + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-mnt-pocket-reform.dts + cp meson-g12b-bananapi-cm4-mnt-pocket-reform.dts linux/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-mnt-pocket-reform.dts + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/amlogic/Makefile + sed -i '/meson-g12b-bananapi-cm4-mnt-reform2.dtb/a dtb-$(CONFIG_ARCH_MESON) += meson-g12b-bananapi-cm4-mnt-pocket-reform.dtb' linux/arch/arm64/boot/dts/amlogic/Makefile + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts + cp rk3588-mnt-reform2.dts linux/arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2-dsi.dts + cp rk3588-mnt-reform2-dsi.dts linux/arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2-dsi.dts + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/rockchip/rk3588-mnt-pocket-reform.dts + cp rk3588-mnt-pocket-reform.dts linux/arch/arm64/boot/dts/rockchip/rk3588-mnt-pocket-reform.dts + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/rockchip/rk3588-mnt-reform-next.dts + cp rk3588-mnt-reform-next.dts linux/arch/arm64/boot/dts/rockchip/rk3588-mnt-reform-next.dts + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/rockchip/Makefile + sed -i '/rk3588-mnt-reform2.dtb/a dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2-dsi.dtb' linux/arch/arm64/boot/dts/rockchip/Makefile + sed -i '/rk3588-mnt-reform2-dsi.dtb/a dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb' linux/arch/arm64/boot/dts/rockchip/Makefile + sed -i '/rk3588-mnt-reform-next.dtb/a dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb' linux/arch/arm64/boot/dts/rockchip/Makefile + env --chdir=linux QUILT_PATCHES=debian/patches quilt refresh + cp linux/debian/patches/reform/dts.patch $out + ''; +} diff --git a/mnt/reform/kernel.nix b/mnt/reform/kernel.nix new file mode 100644 index 00000000..7b742b23 --- /dev/null +++ b/mnt/reform/kernel.nix @@ -0,0 +1,148 @@ +{ + lib, + callPackage, + linuxPackagesFor, + kernelPatches, + fetchFromGitLab, + ... +}: +let + modDirVersion = "6.16.5"; + reformDebianPackages = fetchFromGitLab { + domain = "source.mnt.re"; + owner = "reform"; + repo = "reform-debian-packages"; + rev = "830c94db42beef876dc58ea56711659ae7bd415d"; + hash = "sha256-mdORgTOM7RJnEjY5G/iWMHf69wQkql11yRpQ/DrQKb4="; + }; + linuxPkg = + { + lib, + fetchzip, + buildLinux, + callPackage, + ... + }@args: + buildLinux ( + args + // rec { + version = "${modDirVersion}-mnt-reform"; + inherit modDirVersion; + + src = fetchzip { + url = "mirror://kernel/linux/kernel/v${lib.versions.major modDirVersion}.x/linux-${modDirVersion}.tar.xz"; + hash = "sha256-XiTuH40b3VJqzwygZzU0FcvMDj41Rq6IsMbm+3+QxDY="; + }; + + kernelPatches = + (map (patch: { inherit patch; }) ( + lib.filesystem.listFilesRecursive "${reformDebianPackages}/linux/patches${lib.versions.majorMinor modDirVersion}" + )) + ++ [ + { + patch = callPackage ./dtsPatch.nix { + inherit reformDebianPackages; + kernelSource = src; + }; + } + ]; + + structuredExtraConfig = with lib.kernel; { + # configuration options from https://source.mnt.re/reform/reform-debian-packages/-/blob/7f31ba3a6742d60d8d502c1d86e63ef5df3916bf/linux/config + DRM_LVDS_CODEC = module; + DRM_CDNS_MHDP8546 = module; + DRM_CDNS_HDMI_CEC = module; + DRM_IMX_CDNS_MHDP = module; + DRM_IMX_DCSS = module; + # PHY_FSL_IMX8MQ_HDPTX = module; # configuration option does not exist + DRM_PANEL_LVDS = module; + I2C_IMX_LPI2C = module; + I2C_MUX_REG = module; + INTERCONNECT_IMX = yes; + INTERCONNECT_IMX8MQ = yes; + MFD_WM8994 = module; + MUX_GPIO = module; + MUX_MMIO = module; + RTC_DRV_PCF8523 = module; + USB_EHCI_FSL = module; + # NO_HZ_IDLE = yes; # conflicts with NO_HZ_FULL + SND_SOC_FSL_MICFIL = module; + SND_IMX_SOC = module; + SND_SOC_FSL_ASOC_CARD = module; + SND_SOC_IMX_AUDMIX = module; + SND_SOC_IMX_HDMI = module; + INPUT_JOYSTICK = yes; + JOYSTICK_XPAD = module; + JOYSTICK_XPAD_FF = yes; + JOYSTICK_XPAD_LEDS = yes; + + INTERCONNECT_IMX8MP = yes; + SND_SOC_FSL_ASRC = yes; + DRM_IMX_LCDIF = yes; + DRM_IMX8MP_DW_HDMI_BRIDGE = yes; + DRM_IMX8MP_HDMI_PVI = yes; + IMX8MM_THERMAL = yes; + IMX2_WDT = yes; + DRM_SAMSUNG_DSIM = yes; + PHY_FSL_SAMSUNG_HDMI_PHY = yes; + DRM = yes; + DRM_PANEL_MNT_POCKET_REFORM = module; + IMX8M_BLK_CTRL = yes; + IMX_GPCV2_PM_DOMAINS = yes; + DRM_DISPLAY_CONNECTOR = yes; + DRM_FSL_LDB = yes; + BACKLIGHT_CLASS_DEVICE = yes; + BACKLIGHT_PWM = yes; + BACKLIGHT_GPIO = yes; + BACKLIGHT_LED = yes; + CPU_FREQ_GOV_PERFORMANCE = yes; + CPU_FREQ_GOV_POWERSAVE = yes; + CPU_FREQ_GOV_USERSPACE = yes; + CPU_FREQ_GOV_ONDEMAND = yes; + CPU_FREQ_GOV_CONSERVATIVE = yes; + CPU_FREQ_GOV_SCHEDUTIL = yes; + ARM_IMX_CPUFREQ_DT = yes; + ARM_IMX_BUS_DEVFREQ = yes; + IMX_IRQSTEER = yes; + + PCI_MESON = yes; + DWMAC_MESON = module; + MDIO_BUS_MUX_MESON_G12A = yes; + I2C_MESON = yes; + PWM_MESON = yes; + USB_DWC3_MESON_G12A = yes; + MMC_MESON_GX = yes; + MMC_MESON_MX_SDIO = yes; + MESON_DDR_PMU = yes; + RTW88_8822CS = module; + + PWM_FSL_FTM = yes; + FSL_RCPM = yes; + + ARCH_ROCKCHIP = yes; + # ARM_ROCKCHIP_CPUFREQ = module; # configuration option does not exist + DRM_PANTHOR = module; + NVMEM_ROCKCHIP_OTP = yes; + PHY_ROCKCHIP_SAMSUNG_HDPTX = module; + PHY_ROCKCHIP_USBDP = module; + REGULATOR = yes; + # ROCKCHIP_REGULATOR_COUPLER = yes; # configuration option does not exist + SPI_ROCKCHIP = yes; + SPI_ROCKCHIP_SFC = module; + ARM_SCMI_CPUFREQ = module; + VIDEO_ROCKCHIP_VDEC2 = module; + ROCKCHIP_DW_HDMI_QP = yes; + ROCKCHIP_DW_MIPI_DSI2 = yes; + PHY_ROCKCHIP_SAMSUNG_DCPHY = yes; + REGULATOR_FIXED_VOLTAGE = yes; + GPIO_ROCKCHIP = yes; + PL330_DMA = yes; + + DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW = no; # patches for 6.16 break this driver + }; + } + // (args.argsOverride or { }) + ); + +in +lib.recurseIntoAttrs (linuxPackagesFor (callPackage linuxPkg { })) diff --git a/mnt/reform/lpc.nix b/mnt/reform/lpc.nix new file mode 100644 index 00000000..ad1ef3d8 --- /dev/null +++ b/mnt/reform/lpc.nix @@ -0,0 +1,36 @@ +{ + stdenv, + lib, + fetchFromGitLab, + kernel, + kernelModuleMakeFlags, + kmod, +}: + +stdenv.mkDerivation rec { + name = "lpc"; + + src = fetchFromGitLab { + domain = "source.mnt.re"; + owner = "reform"; + repo = "reform-tools"; + rev = "45f930403492aa2156522bfe30edb02e33494b69"; + hash = "sha256-no33CsV69nu1TR0cqxQDd1bFXqhjqOW9IUDxds0fyxE="; + }; + + sourceRoot = "source/lpc"; + hardeningDisable = [ + "pic" + "format" + ]; + nativeBuildInputs = kernel.moduleBuildDependencies; + + installPhase = '' + make -C "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" M="$(pwd)" INSTALL_MOD_PATH=$out modules_install $makeFlags + ''; + + makeFlags = kernelModuleMakeFlags ++ [ + "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + "INSTALL_MOD_PATH=${placeholder "out"}" + ]; +} diff --git a/mnt/reform/rk3588/README.md b/mnt/reform/rk3588/README.md new file mode 100644 index 00000000..ec6da6b6 --- /dev/null +++ b/mnt/reform/rk3588/README.md @@ -0,0 +1,48 @@ +# MNT Reform Laptop with RK3588 CPU module + +## Creating an installer SD-Image + +Create and configure the `flake.nix` file: +``` nix +{ + inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + inputs.nixos-hardware.url = "github:nixos/nixos-hardware"; + inputs.flake-utils.url = "github:numtide/flake-utils"; + + outputs = { self, nixpkgs, nixos-hardware, flake-utils, ... }: + flake-utils.lib.eachDefaultSystem (system: + rec { + packages.default = packages.installer; + packages.installer = (import "${nixpkgs}/nixos" { + configuration = + { config, ... }: { + imports = [ + "${nixos-hardware}/mnt/reform/rk3588/installer.nix" + ]; + + # If you want to use ssh set a password + # users.users.nixos.password = "super secure password"; + # OR add your public ssh key + # users.users.nixos.openssh.authorizedKeys.keys = [ "ssh-rsa ..." ]; + + # Additional configuration goes here + + # Only used when cross compiling + nixpkgs.crossSystem = { + config = "aarch64-unknown-linux-gnu"; + system = "aarch64-linux"; + }; + + system.stateVersion = "23.05"; + }; + inherit system; + }).config.system.build.image;; + }); +} +``` + +Build the installer image. + +``` sh +nix build .# +``` diff --git a/mnt/reform/rk3588/default.nix b/mnt/reform/rk3588/default.nix new file mode 100644 index 00000000..f0bea6d4 --- /dev/null +++ b/mnt/reform/rk3588/default.nix @@ -0,0 +1,35 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + imports = [ ../. ]; + boot = { + # kernelParams = [ "console=ttyS2,1500000n8" ]; + kernelParams = [ + "no_console_suspend" + "console=tty1" + ]; + # kernel modules needed for the virtual console + initrd.availableKernelModules = [ + "panel-edp" + "phy-rockchip-samsung-hdptx" + "rockchipdrm" + "ti-sn65dsi86" + ]; + + }; + boot.loader = { + grub.enable = false; + generic-extlinux-compatible.enable = true; + }; + hardware.alsa.enablePersistence = true; + system.activationScripts.asound = '' + if [ ! -e "/var/lib/alsa/asound.state" ]; then + mkdir -p /var/lib/alsa + cp ${./initial-asound.state} /var/lib/alsa/asound.state + fi + ''; +} diff --git a/mnt/reform/rk3588/firmware.nix b/mnt/reform/rk3588/firmware.nix new file mode 100644 index 00000000..6d97991f --- /dev/null +++ b/mnt/reform/rk3588/firmware.nix @@ -0,0 +1,25 @@ +{ + runCommand, + uboot, + fetchFromGitHub, +}: +# script from https://source.mnt.re/reform/reform-rk3588-uboot/-/blob/b530d65f4a878c0329a594fa248ba8da59d2e05f/build.sh +runCommand "mnt-reform-firmware-rk3855${uboot.variant}" { } '' + mkdir $out + cp -r ${uboot} u-boot + cp -r ${uboot.rkbin} rkbin + chmod -R +rw u-boot + chmod -R +rw rkbin + cd u-boot + mkdir spl + mv u-boot-spl.bin spl + ../rkbin/tools/boot_merger rock5b-rk3588.ini + cd .. + # rkbin stuff + cd rkbin + ./tools/boot_merger RKBOOT/RK3588MINIALL.ini + # concatenate + cd .. + cp u-boot/idbloader.img $out/mnt-reform2-rk3588${uboot.variant}-flash.bin + dd if=u-boot/u-boot.itb of=$out/mnt-reform2-rk3588${uboot.variant}-flash.bin seek=16320 +'' diff --git a/mnt/reform/rk3588/initial-asound.state b/mnt/reform/rk3588/initial-asound.state new file mode 100644 index 00000000..2f595a82 --- /dev/null +++ b/mnt/reform/rk3588/initial-asound.state @@ -0,0 +1,702 @@ +state.rk3588wm8960 { + control.1 { + iface MIXER + name 'Capture Volume' + value.0 39 + value.1 39 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 63' + dbmin -1725 + dbmax 3000 + dbvalue.0 1200 + dbvalue.1 1200 + } + } + control.2 { + iface MIXER + name 'Capture Volume ZC Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.3 { + iface MIXER + name 'Capture Switch' + value.0 true + value.1 true + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.4 { + iface MIXER + name 'Left Input Boost Mixer LINPUT3 Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -9999999 + dbmax 600 + dbvalue.0 -9999999 + } + } + control.5 { + iface MIXER + name 'Left Input Boost Mixer LINPUT2 Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -9999999 + dbmax 600 + dbvalue.0 -9999999 + } + } + control.6 { + iface MIXER + name 'Right Input Boost Mixer RINPUT3 Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -9999999 + dbmax 600 + dbvalue.0 -9999999 + } + } + control.7 { + iface MIXER + name 'Right Input Boost Mixer RINPUT2 Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -9999999 + dbmax 600 + dbvalue.0 -9999999 + } + } + control.8 { + iface MIXER + name 'Right Input Boost Mixer RINPUT1 Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 3' + dbmin 0 + dbmax 2900 + dbvalue.0 0 + } + } + control.9 { + iface MIXER + name 'Left Input Boost Mixer LINPUT1 Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 3' + dbmin 0 + dbmax 2900 + dbvalue.0 0 + } + } + control.10 { + iface MIXER + name 'Playback Volume' + value.0 215 + value.1 215 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 255' + dbmin -9999999 + dbmax 0 + dbvalue.0 -2000 + dbvalue.1 -2000 + } + } + control.11 { + iface MIXER + name 'Headphone Playback Volume' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 127' + dbmin -9999999 + dbmax 600 + dbvalue.0 -9999999 + dbvalue.1 -9999999 + } + } + control.12 { + iface MIXER + name 'Headphone Playback ZC Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.13 { + iface MIXER + name 'Speaker Playback Volume' + value.0 109 + value.1 109 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 127' + dbmin -9999999 + dbmax 600 + dbvalue.0 -1200 + dbvalue.1 -1200 + } + } + control.14 { + iface MIXER + name 'Speaker Playback ZC Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.15 { + iface MIXER + name 'Speaker DC Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 5' + } + } + control.16 { + iface MIXER + name 'Speaker AC Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 5' + } + } + control.17 { + iface MIXER + name 'PCM Playback -6dB Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.18 { + iface MIXER + name 'ADC Polarity' + value 'No Inversion' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'No Inversion' + item.1 'Left Inverted' + item.2 'Right Inverted' + item.3 'Stereo Inversion' + } + } + control.19 { + iface MIXER + name 'ADC High Pass Filter Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.20 { + iface MIXER + name 'DAC Polarity' + value 'No Inversion' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'No Inversion' + item.1 'Left Inverted' + item.2 'Right Inverted' + item.3 'Stereo Inversion' + } + } + control.21 { + iface MIXER + name 'DAC Deemphasis Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.22 { + iface MIXER + name '3D Filter Upper Cut-Off' + value High + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 High + item.1 Low + } + } + control.23 { + iface MIXER + name '3D Filter Lower Cut-Off' + value Low + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Low + item.1 High + } + } + control.24 { + iface MIXER + name '3D Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + } + } + control.25 { + iface MIXER + name '3D Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.26 { + iface MIXER + name 'ALC Function' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 Right + item.2 Left + item.3 Stereo + } + } + control.27 { + iface MIXER + name 'ALC Max Gain' + value 7 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + } + } + control.28 { + iface MIXER + name 'ALC Target' + value 4 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + } + } + control.29 { + iface MIXER + name 'ALC Min Gain' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + } + } + control.30 { + iface MIXER + name 'ALC Hold Time' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + } + } + control.31 { + iface MIXER + name 'ALC Mode' + value ALC + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 ALC + item.1 Limiter + } + } + control.32 { + iface MIXER + name 'ALC Decay' + value 3 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + } + } + control.33 { + iface MIXER + name 'ALC Attack' + value 2 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + } + } + control.34 { + iface MIXER + name 'Noise Gate Threshold' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 31' + } + } + control.35 { + iface MIXER + name 'Noise Gate Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.36 { + iface MIXER + name 'ADC PCM Capture Volume' + value.0 195 + value.1 195 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 255' + dbmin -9999999 + dbmax 3000 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.37 { + iface MIXER + name 'Left Output Mixer Boost Bypass Volume' + value 2 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -2100 + dbmax 0 + dbvalue.0 -1500 + } + } + control.38 { + iface MIXER + name 'Left Output Mixer LINPUT3 Volume' + value 2 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -2100 + dbmax 0 + dbvalue.0 -1500 + } + } + control.39 { + iface MIXER + name 'Right Output Mixer Boost Bypass Volume' + value 2 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -2100 + dbmax 0 + dbvalue.0 -1500 + } + } + control.40 { + iface MIXER + name 'Right Output Mixer RINPUT3 Volume' + value 2 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -2100 + dbmax 0 + dbvalue.0 -1500 + } + } + control.41 { + iface MIXER + name 'ADC Data Output Select' + value 'Left Data = Left ADC; Right Data = Right ADC' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'Left Data = Left ADC; Right Data = Right ADC' + item.1 'Left Data = Left ADC; Right Data = Left ADC' + item.2 'Left Data = Right ADC; Right Data = Right ADC' + item.3 'Left Data = Right ADC; Right Data = Left ADC' + } + } + control.42 { + iface MIXER + name 'DAC Mono Mix' + value Stereo + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Stereo + item.1 Mono + } + } + control.43 { + iface MIXER + name 'DAC Filter Characteristics' + value Normal + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Normal + item.1 Sloping + } + } + control.44 { + iface MIXER + name 'Left Boost Mixer LINPUT2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.45 { + iface MIXER + name 'Left Boost Mixer LINPUT3 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.46 { + iface MIXER + name 'Left Boost Mixer LINPUT1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.47 { + iface MIXER + name 'Right Boost Mixer RINPUT2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.48 { + iface MIXER + name 'Right Boost Mixer RINPUT3 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.49 { + iface MIXER + name 'Right Boost Mixer RINPUT1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.50 { + iface MIXER + name 'Left Input Mixer Boost Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.51 { + iface MIXER + name 'Right Input Mixer Boost Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.52 { + iface MIXER + name 'Left Output Mixer PCM Playback Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.53 { + iface MIXER + name 'Left Output Mixer LINPUT3 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.54 { + iface MIXER + name 'Left Output Mixer Boost Bypass Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.55 { + iface MIXER + name 'Right Output Mixer PCM Playback Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.56 { + iface MIXER + name 'Right Output Mixer RINPUT3 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.57 { + iface MIXER + name 'Right Output Mixer Boost Bypass Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.58 { + iface MIXER + name 'Mono Output Mixer Left Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.59 { + iface MIXER + name 'Mono Output Mixer Right Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } +} diff --git a/mnt/reform/rk3588/installer.nix b/mnt/reform/rk3588/installer.nix new file mode 100644 index 00000000..af7c5580 --- /dev/null +++ b/mnt/reform/rk3588/installer.nix @@ -0,0 +1,238 @@ +{ + config, + lib, + pkgs, + modulesPath, + ... +}: +{ + imports = [ + "${modulesPath}/image/file-options.nix" + "${modulesPath}/profiles/installation-device.nix" + ./. + ]; + + options.installerImage = { + compressImage = lib.mkOption { + default = false; + type = lib.types.bool; + description = '' + Whether the installer image should be compressed using + {command}`zstd`. + ''; + }; + squashfsCompression = lib.mkOption { + default = "zstd -Xcompression-level 19"; + type = lib.types.nullOr lib.types.str; + description = '' + Compression settings to use for the squashfs nix store. + `null` disables compression. + ''; + example = "zstd -Xcompression-level 6"; + }; + storeContents = lib.mkOption { + example = lib.literalExpression "[ pkgs.stdenv ]"; + description = '' + This option lists additional derivations to be included in the + Nix store in the generated installer image. + ''; + }; + }; + config = + let + squashfs = pkgs.callPackage "${modulesPath}/../lib/make-squashfs.nix" { + storeContents = config.installerImage.storeContents; + comp = config.installerImage.squashfsCompression; + }; + uboot = pkgs.callPackage ./uboot.nix { }; + firmware = pkgs.callPackage ./firmware.nix { inherit uboot; }; + content = pkgs.callPackage ( + { + stdenv, + e2fsprogs, + libfaketime, + fakeroot, + }: + stdenv.mkDerivation { + name = "ext4-fs.img"; + nativeBuildInputs = [ + e2fsprogs.bin + libfaketime + fakeroot + ]; + buildCommand = '' + img=$out + mkdir -p ./files + ${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d ./rootImage/boot + ( + GLOBIGNORE=".:.." + shopt -u dotglob + + for f in ./files/*; do + cp -a --reflink=auto -t ./rootImage/ "$f" + done + ) + cp -a --reflink=auto ${squashfs} ./rootImage/nix-store.squashfs + + + # Make a crude approximation of the size of the target image. + # If the script starts failing, increase the fudge factors here. + numInodes=$(find ./rootImage | wc -l) + numDataBlocks=$(du -s -c -B 4096 --apparent-size ./rootImage | tail -1 | awk '{ print int($1 * 1.20) }') + bytes=$((2 * 4096 * $numInodes + 4096 * $numDataBlocks)) + echo "Creating an EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks)" + + mebibyte=$(( 1024 * 1024 )) + # Round up to the nearest mebibyte. + # This ensures whole 512 bytes sector sizes in the disk image + # and helps towards aligning partitions optimally. + if (( bytes % mebibyte )); then + bytes=$(( ( bytes / mebibyte + 1) * mebibyte )) + fi + + truncate -s $bytes $img + + faketime -f "1970-01-01 00:00:01" fakeroot mkfs.ext4 -L NIXOS_ROOT -U 44444444-4444-4444-8888-888888888888 -d ./rootImage $img + + export EXT2FS_NO_MTAB_OK=yes + # I have ended up with corrupted images sometimes, I suspect that happens when the build machine's disk gets full during the build. + if ! fsck.ext4 -n -f $img; then + echo "--- Fsck failed for EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks) ---" + cat errorlog + return 1 + fi + + # We may want to shrink the file system and resize the image to + # get rid of the unnecessary slack here--but see + # https://github.com/NixOS/nixpkgs/issues/125121 for caveats. + + # shrink to fit + resize2fs -M $img + + # Add 16 MebiByte to the current_size + new_size=$(dumpe2fs -h $img | awk -F: \ + '/Block count/{count=$2} /Block size/{size=$2} END{print (count*size+16*2**20)/size}') + + resize2fs $img $new_size + ''; + } + ) { }; + in + { + fileSystems = { + "/" = lib.mkImageMediaOverride { + fsType = "tmpfs"; + options = [ "mode=0755" ]; + }; + + "/iso" = lib.mkImageMediaOverride { + device = "/dev/disk/by-label/NIXOS_ROOT"; + neededForBoot = true; + noCheck = true; + options = [ "ro" ]; + }; + + # In stage 1, mount a tmpfs on top of /nix/store (the squashfs + # image) to make this a live CD. + "/nix/.ro-store" = lib.mkImageMediaOverride { + fsType = "squashfs"; + device = "/iso/nix-store.squashfs"; + options = [ + "loop" + ] ++ lib.optional (config.boot.kernelPackages.kernel.kernelAtLeast "6.2") "threads=multi"; + neededForBoot = true; + }; + + "/nix/.rw-store" = lib.mkImageMediaOverride { + fsType = "tmpfs"; + options = [ "mode=0755" ]; + neededForBoot = true; + }; + + "/nix/store" = lib.mkImageMediaOverride { + fsType = "overlay"; + device = "overlay"; + options = [ + "lowerdir=/nix/.ro-store" + "upperdir=/nix/.rw-store/store" + "workdir=/nix/.rw-store/work" + ]; + depends = [ + "/nix/.ro-store" + "/nix/.rw-store/store" + "/nix/.rw-store/work" + ]; + }; + }; + + boot = { + initrd.availableKernelModules = [ + "squashfs" + "uas" + "overlay" + ]; + initrd.kernelModules = [ + "loop" + "overlay" + ]; + loader.timeout = 0; + }; + + image.extension = if config.installerImage.compressImage then "img.zst" else "img"; + image.filePath = "installer-image/${config.image.fileName}"; + + installerImage.storeContents = [ config.system.build.toplevel ]; + + system.build.image = pkgs.callPackage ( + { stdenv, util-linux }: + stdenv.mkDerivation { + name = config.image.fileName; + nativeBuildInputs = [ util-linux ]; + inherit (config.installerImage) compressImage; + buildCommand = '' + mkdir -p $out/nix-support $out/installer-image + img=$out/installer-image/${config.image.baseName}.img + + echo "${stdenv.buildPlatform.system}" > $out/nix-support/system + if test -n "$compressImage"; then + echo "file installer-image $img.zst" >> $out/nix-support/hydra-build-products + else + echo "file installer-image $img" >> $out/nix-support/hydra-build-products + fi + + sectors=$((($(stat -c '%s' ${content})+511)/512)) + # create disk image + truncate -s $((($sectors + 32768 + 2048)*512)) $img + sfdisk $img < Date: Tue, 23 Sep 2025 22:17:26 +0500 Subject: [PATCH 082/117] msi/b550-tomahawk: init --- README.md | 1 + flake.nix | 1 + msi/b550-tomahawk/default.nix | 14 ++++++++++++++ 3 files changed, 16 insertions(+) create mode 100644 msi/b550-tomahawk/default.nix diff --git a/README.md b/README.md index c9b80cb9..7872295e 100644 --- a/README.md +++ b/README.md @@ -363,6 +363,7 @@ See code for all available configurations. | [LENOVO Yoga 7 Slim Gen8](lenovo/yoga/7/slim/gen8) | `` | `lenovo-yoga-7-slim-gen8` | | [MSI B550-A PRO](msi/b550-a-pro) | `` | `msi-b550-a-pro` | | [MSI B350 TOMAHAWK](msi/b350-tomahawk) | `` | `msi-b350-tomahawk` | +| [MSI B550 TOMAHAWK](msi/b550-tomahawk) | `` | `msi-b550-tomahawk` | | [MSI GS60 2QE](msi/gs60) | `` | `msi-gs60` | | [MSI GL62/CX62](msi/gl62) | `` | `msi-gl62` | | [MSI GL65 10SDR-492](msi/gl65/10SDR-492) | `` | `msi-gl65-10SDR-492` | diff --git a/flake.nix b/flake.nix index 7cfe53df..a8d00f57 100644 --- a/flake.nix +++ b/flake.nix @@ -315,6 +315,7 @@ morefine-m600 = import ./morefine/m600; msi-b350-tomahawk = import ./msi/b350-tomahawk; msi-b550-a-pro = import ./msi/b550-a-pro; + msi-b550-tomahawk = import ./msi/b550-tomahawk; msi-gs60 = import ./msi/gs60; msi-gl62 = import ./msi/gl62; msi-gl65-10SDR-492 = import ./msi/gl65/10SDR-492; diff --git a/msi/b550-tomahawk/default.nix b/msi/b550-tomahawk/default.nix new file mode 100644 index 00000000..e2925b90 --- /dev/null +++ b/msi/b550-tomahawk/default.nix @@ -0,0 +1,14 @@ +{ config, ... }: +{ + imports = [ + ../../common/cpu/amd + ../../common/pc/ssd + ../../common/pc + ]; + + boot.extraModulePackages = with config.boot.kernelPackages; [ + nct6687d + ]; + + boot.kernelModules = [ "nct6687d" ]; +} From ba70d20716fa5a658840074cc5285c85c337127b Mon Sep 17 00:00:00 2001 From: Borja Rojo Ilvento Date: Tue, 30 Sep 2025 21:28:37 +0200 Subject: [PATCH 083/117] Add Lenovo ThinkPad P14s Intel Gen 2 profile Adds hardware profile for Lenovo ThinkPad P14s Intel Gen 2 with: - Intel Tiger Lake CPU support - NVIDIA Turing GPU with PRIME configuration - Suspend-to-RAM S3 sleep state configuration --- README.md | 1 + flake.nix | 1 + lenovo/thinkpad/p14s/intel/gen2/README | 7 +++++++ lenovo/thinkpad/p14s/intel/gen2/default.nix | 18 ++++++++++++++++++ 4 files changed, 27 insertions(+) create mode 100644 lenovo/thinkpad/p14s/intel/gen2/README create mode 100644 lenovo/thinkpad/p14s/intel/gen2/default.nix diff --git a/README.md b/README.md index c9b80cb9..d8604029 100644 --- a/README.md +++ b/README.md @@ -280,6 +280,7 @@ See code for all available configurations. | [Lenovo ThinkPad P14s AMD Gen 3](lenovo/thinkpad/p14s/amd/gen3) | `` | `lenovo-thinkpad-p14s-amd-gen3` | | [Lenovo ThinkPad P14s AMD Gen 4](lenovo/thinkpad/p14s/amd/gen4) | `` | `lenovo-thinkpad-p14s-amd-gen4` | | [Lenovo ThinkPad P14s AMD Gen 5](lenovo/thinkpad/p14s/amd/gen5) | `` | `lenovo-thinkpad-p14s-amd-gen5` | +| [Lenovo ThinkPad P14s Intel Gen 2](lenovo/thinkpad/p14s/intel/gen2) | `` | `lenovo-thinkpad-p14s-intel-gen2`| | [Lenovo ThinkPad P14s Intel Gen 3](lenovo/thinkpad/p14s/intel/gen3) | `` | `lenovo-thinkpad-p14s-intel-gen3`| | [Lenovo ThinkPad P14s Intel Gen 5](lenovo/thinkpad/p14s/intel/gen5) | `` | `lenovo-thinkpad-p14s-intel-gen5`| | [Lenovo ThinkPad P16s AMD Gen 1](lenovo/thinkpad/p16s/amd/gen1) | `` | `lenovo-thinkpad-p16s-amd-gen1` | diff --git a/flake.nix b/flake.nix index 7cfe53df..e4373ca4 100644 --- a/flake.nix +++ b/flake.nix @@ -217,6 +217,7 @@ lenovo-thinkpad-p14s-amd-gen3 = import ./lenovo/thinkpad/p14s/amd/gen3; lenovo-thinkpad-p14s-amd-gen4 = import ./lenovo/thinkpad/p14s/amd/gen4; lenovo-thinkpad-p14s-amd-gen5 = import ./lenovo/thinkpad/p14s/amd/gen5; + lenovo-thinkpad-p14s-intel-gen2 = import ./lenovo/thinkpad/p14s/intel/gen2; lenovo-thinkpad-p14s-intel-gen3 = import ./lenovo/thinkpad/p14s/intel/gen3; lenovo-thinkpad-p14s-intel-gen5 = import ./lenovo/thinkpad/p14s/intel/gen5; lenovo-thinkpad-p16s-amd-gen1 = import ./lenovo/thinkpad/p16s/amd/gen1; diff --git a/lenovo/thinkpad/p14s/intel/gen2/README b/lenovo/thinkpad/p14s/intel/gen2/README new file mode 100644 index 00000000..5de0e5da --- /dev/null +++ b/lenovo/thinkpad/p14s/intel/gen2/README @@ -0,0 +1,7 @@ +# Lenovo ThinkPad P14s Intel Gen 2 + +Much of the extraneous settings are filled out using the [wiki](https://wiki.nixos.org/wiki/NVIDIA#Hybrid_graphics_with_PRIME), which gives guidance on how to determine the correct PCI bus IDs to assign, aswell as the note to include the `modesetting` driver in `services.xserver.videoDrivers`. + +## BIOS Settings to adjust + +For suspending to RAM to work, set Config -> Power -> Sleep State to "Linux S3" in EFI. diff --git a/lenovo/thinkpad/p14s/intel/gen2/default.nix b/lenovo/thinkpad/p14s/intel/gen2/default.nix new file mode 100644 index 00000000..c1037c27 --- /dev/null +++ b/lenovo/thinkpad/p14s/intel/gen2/default.nix @@ -0,0 +1,18 @@ +{ + imports = [ + ../../../../../common/gpu/nvidia/prime.nix + ../../../../../common/gpu/nvidia/turing + ../../../../../common/cpu/intel/tiger-lake + ../../../../../common/pc/laptop + ../../../../../common/pc/ssd + ../../../../../common/pc + ../. + ]; + + hardware.nvidia.prime = { + intelBusId = "PCI:0:2:0"; + nvidiaBusId = "PCI:1:0:0"; + }; + + services.xserver.videoDrivers = [ "modesetting" ]; +} From 0257a0aa583f73e3d3abff60789a598b31ce9276 Mon Sep 17 00:00:00 2001 From: fidgetingbits Date: Wed, 1 Oct 2025 17:10:20 +0800 Subject: [PATCH 084/117] Add missing README entries and re-align columns --- README.md | 713 +++++++++++++++++++++++++++--------------------------- 1 file changed, 360 insertions(+), 353 deletions(-) diff --git a/README.md b/README.md index 2945de17..b1aa4fa7 100644 --- a/README.md +++ b/README.md @@ -84,358 +84,365 @@ All contributors and users are welcome to join! See code for all available configurations. -| Model | Path | Flake Module | -| --------------------------------------------------------------------------------- | ------------------------------------------------------- | ---------------------------------- | -| [Acer Aspire 4810T](acer/aspire/4810t) | `` | `acer-aspire-4810t` | -| [Airis N990](airis/n990) | `` | `airis-n990` | -| [Apple iMac 14.2](apple/imac/14-2) | `` | `apple-imac-14-2` | -| [Apple iMac 18.2](apple/imac/18-2) | `` | `apple-imac-18-2` | -| [Apple MacBook Air 3,X](apple/macbook-air/3) | `` | `apple-macbook-air-3` | -| [Apple MacBook Air 4,X](apple/macbook-air/4) | `` | `apple-macbook-air-4` | -| [Apple MacBook Air 5,X](apple/macbook-air/5) | `` | `apple-macbook-air-5` | -| [Apple MacBook Air 6,X](apple/macbook-air/6) | `` | `apple-macbook-air-6` | -| [Apple MacBook Air 7,X](apple/macbook-air/7) | `` | `apple-macbook-air-7` | -| [Apple MacBook Pro 8,1](apple/macbook-pro/8-1) | `` | `apple-macbook-pro-8-1` | -| [Apple MacBook Pro 10,1](apple/macbook-pro/10-1) | `` | `apple-macbook-pro-10-1` | -| [Apple MacBook Pro 11,1](apple/macbook-pro/11-1) | `` | `apple-macbook-pro-11-1` | -| [Apple MacBook Pro 11,4](apple/macbook-pro/11-4) | `` | `apple-macbook-pro-11-4` | -| [Apple MacBook Pro 11,5](apple/macbook-pro/11-5) | `` | `apple-macbook-pro-11-5` | -| [Apple MacBook Pro 12,1](apple/macbook-pro/12-1) | `` | `apple-macbook-pro-12-1` | -| [Apple MacBook Pro 14,1](apple/macbook-pro/14-1) | `` | `apple-macbook-pro-14-1` | -| [Apple MacMini (2010, Intel, Nvidia)](apple/macmini/4) | `` | `apple-macmini-4-1` | -| [Apple Macs with a T2 Chip](apple/t2) | `` | `apple-t2` | -| [Aoostar R1 N100](aoostar/r1/n100) | `` | `aoostar-r1-n100` | -| [Asus Pro WS X570-ACE](asus/pro-ws-x570-ace) | `` | `asus-pro-ws-x570-ace` | -| [Asus ROG Ally RC71L (2023)](asus/ally/rc71l) | `` | `asus-ally-rc71l` | -| [Asus ROG Flow X13 GV302X\* (2023)](asus/flow/gv302x/amdgpu) | `` | `asus-flow-gv302x-amdgpu` | -| [Asus ROG Flow X13 GV302X\* (2023)](asus/flow/gv302x/nvidia) | `` | `asus-flow-gv302x-nvidia` | -| [Asus ROG GL552VW](asus/rog-gl552vw) | `` | `asus-rog-gl552vw` | -| [Asus ROG Strix G513IM](asus/rog-strix/g513im) | `` | `asus-rog-strix-g513im` | -| [Asus ROG Strix G533ZW](asus/rog-strix/g533zw) | `` | `asus-rog-strix-g533zw` | -| [Asus ROG Strix G533Q](asus/rog-strix/g533q) | `` | `asus-rog-strix-g533zw` | -| [Asus ROG Strix G713IE](asus/rog-strix/g713ie) | `` | `asus-rog-strix-g713ie` | -| [Asus ROG Strix G733QS](asus/rog-strix/g733qs) | `` | `asus-rog-strix-g733qs` | -| [Asus ROG Strix X570-E GAMING](asus/rog-strix/x570e) | `` | `asus-rog-strix-x570e` | -| [Asus ROG Zephyrus G14 GA401](asus/zephyrus/ga401) | `` | `asus-zephyrus-ga401` | -| [Asus ROG Zephyrus G14 GA402](asus/zephyrus/ga402) | `` | `asus-zephyrus-ga402` | -| [Asus ROG Zephyrus G14 GA402X\* (2023)](asus/zephyrus/ga402x/amdgpu) | `` | `asus-zephyrus-ga402x-amdgpu` | -| [Asus ROG Zephyrus G14 GA402X\* (2023)](asus/zephyrus/ga402x/nvidia) | `` | `asus-zephyrus-ga402x-nvidia` | -| [Asus ROG Zephyrus G15 GA502](asus/zephyrus/ga502) | `` | `asus-zephyrus-ga502` | -| [Asus ROG Zephyrus G15 GA503](asus/zephyrus/ga503) | `` | `asus-zephyrus-ga503` | -| [Asus ROG Zephyrus G16 GU605MY](asus/zephyrus/gu605my) | `` | `asus-zephyrus-gu605my` | -| [Asus ROG Zephyrus M16 GU603H](asus/zephyrus/gu603h) | `` | `asus-zephyrus-gu603h` | -| [Asus TUF FX504GD](asus/fx504gd) | `` | `asus-fx504gd` | -| [Asus TUF FX506HM](asus/fx506hm) | `` | `asus-fx506hm` | -| [Asus TUF FA506IC](asus/fa506ic) | `` | `asus-fa506ic` | -| [Asus TUF FA507RM](asus/fa507rm) | `` | `asus-fa507rm` | -| [Asus TUF FA507NV](asus/fa507nv) | `` | `asus-fa507nv` | -| [Asus Zenbook Duo 14 UX481](asus/zenbook/ux481/intelgpu/) | `` | `asus-zenbook-ux481-intelgpu` | -| [Asus Zenbook Duo 14 UX481](asus/zenbook/ux481/nvidia/) | `` | `asus-zenbook-ux481-nvidia` | -| [Asus Zenbook Flip S13 UX371](asus/zenbook/ux371/) | `` | `asus-zenbook-ux371` | -| [Asus Zenbook Pro 15 UX535](asus/zenbook/ux535/) | `` | `asus-zenbook-ux535` | -| [BeagleBoard PocketBeagle](beagleboard/pocketbeagle) | `` | `beagleboard-pocketbeagle` | -| [Chuwi MiniBook X](chuwi/minibook-x) | `` | `chuwi-minibook-x` | -| [Deciso DEC series](deciso/dec) | `` | `deciso-dec` | -| [Dell G3 3779](dell/g3/3779) | `` | `dell-g3-3779` | -| [Dell G3 3579](dell/g3/3579) | `` | `dell-g3-3579` | -| [Dell Inspiron 3442](dell/inspiron/3442) | `` | `dell-inspiron-3442` | -| [Dell Inspiron 14 5420](dell/inspiron/14-5420) | `` | `dell-inspiron-14-5420` | -| [Dell Inspiron 5509](dell/inspiron/5509) | `` | `dell-inspiron-5509` | -| [Dell Inspiron 5515](dell/inspiron/5515) | `` | `dell-inspiron-5515` | -| [Dell Inspiron 7405](dell/inspiron/7405) | `` | `dell-inspiron-7405` | -| [Dell Inspiron 7460](dell/inspiron/7460) | `` | `dell-inspiron-7460` | -| [Dell Inspiron 7559](dell/inspiron/7559) | `` | `dell-inspiron-7559` | -| [Dell Latitude 3340](dell/latitude/3340) | `` | `dell-latitude-3340` | -| [Dell Latitude 3480](dell/latitude/3480) | `` | `dell-latitude-3480` | -| [Dell Latitude 5490](dell/latitude/5490) | `` | `dell-latitude-5490` | -| [Dell Latitude 5520](dell/latitude/5520) | `` | `dell-latitude-5520` | -| [Dell Latitude 7280](dell/latitude/7280) | `` | `dell-latitude-7280` | -| [Dell Latitude 7390](dell/latitude/7390) | `` | `dell-latitude-7390` | -| [Dell Latitude 7420](dell/latitude/7420) | `` | `dell-latitude-7420` | -| [Dell Latitude 7430](dell/latitude/7430) | `` | `dell-latitude-7430` | -| [Dell Latitude 7490](dell/latitude/7490) | `` | `dell-latitude-7490` | -| [Dell Latitude 9430](dell/latitude/9430) | `` | `dell-latitude-9430` | -| [Dell Latitude E7240](dell/latitude/e7240) | `` | `dell-latitude-e7240` | -| [Dell Optiplex 3050](dell/optiplex/3050) | `` | `dell-optiplex-3050` | -| [Dell Poweredge R7515](dell/poweredge/r7515) | `` | `dell-poweredge-r7515` | -| [Dell Precision 3490, nvidia](dell/precision/3490/nvidia) | `` | `dell-precision-3490-nvidia` | -| [Dell Precision 3490, intel](dell/precision/3490/intel) | `` | `dell-precision-3490-intel` | -| [Dell Precision 3541](dell/precision/3541) | `` | `dell-precision-3541` | -| [Dell Precision 5490](dell/precision/5490) | `` | `dell-precision-5490` | -| [Dell Precision 5530](dell/precision/5530) | `` | `dell-precision-5530` | -| [Dell Precision 5560](dell/precision/5560) | `` | `dell-precision-5560` | -| [Dell Precision 5570](dell/precision/5570) | `` | `dell-precision-5570` | -| [Dell Precision 7520](dell/precision/7520) | `` | `dell-precision-7520` | -| [Dell XPS 13 7390](dell/xps/13-7390) | `` | `dell-xps-13-7390` | -| [Dell XPS 13 9300](dell/xps/13-9300) | `` | `dell-xps-13-9300` | -| [Dell XPS 13 9310](dell/xps/13-9310) | `` | `dell-xps-13-9310` | -| [Dell XPS 13 9315](dell/xps/13-9315) | `` | `dell-xps-13-9315` | -| [Dell XPS 13 9333](dell/xps/13-9333) | `` | `dell-xps-13-9333` | -| [Dell XPS 13 9343](dell/xps/13-9343) | `` | `dell-xps-13-9343` | -| [Dell XPS 13 9350](dell/xps/13-9350) | `` | `dell-xps-13-9350` | -| [Dell XPS 13 9360](dell/xps/13-9360) | `` | `dell-xps-13-9360` | -| [Dell XPS 13 9370](dell/xps/13-9370) | `` | `dell-xps-13-9370` | -| [Dell XPS 13 9380](dell/xps/13-9380) | `` | `dell-xps-13-9380` | -| [Dell XPS 15 7590, nvidia](dell/xps/15-7590/nvidia) | `` | `dell-xps-15-7590-nvidia` | -| [Dell XPS 15 7590](dell/xps/15-7590) | `` | `dell-xps-15-7590` | -| [Dell XPS 15 9500, nvidia](dell/xps/15-9500/nvidia) | `` | `dell-xps-15-9500-nvidia` | -| [Dell XPS 15 9500](dell/xps/15-9500) | `` | `dell-xps-15-9500` | -| [Dell XPS 15 9510, nvidia](dell/xps/15-9510/nvidia) | `` | `dell-xps-15-9510-nvidia` | -| [Dell XPS 15 9510](dell/xps/15-9510) | `` | `dell-xps-15-9510` | -| [Dell XPS 15 9520, nvidia](dell/xps/15-9520/nvidia) | `` | `dell-xps-15-9520-nvidia` | -| [Dell XPS 15 9520](dell/xps/15-9520) | `` | `dell-xps-15-9520` | -| [Dell XPS 15 9530, nvidia](dell/xps/15-9530/nvidia) | `` | `dell-xps-15-9530-nvidia` | -| [Dell XPS 15 9530](dell/xps/15-9530) | `` | `dell-xps-15-9530` | -| [Dell XPS 15 9550, nvidia](dell/xps/15-9550/nvidia) | `` | `dell-xps-15-9550-nvidia` | -| [Dell XPS 15 9550](dell/xps/15-9550) | `` | `dell-xps-15-9550` | -| [Dell XPS 15 9560, intel only](dell/xps/15-9560/intel) | `` | `dell-xps-15-9560-intel` | -| [Dell XPS 15 9560, nvidia only](dell/xps/15-9560/nvidia) | `` | `dell-xps-15-9560-nvidia` | -| [Dell XPS 15 9560](dell/xps/15-9560) | `` | `dell-xps-15-9560` | -| [Dell XPS 15 9570, intel only](dell/xps/15-9570/intel) | `` | `dell-xps-15-9570-intel` | -| [Dell XPS 15 9570, nvidia](dell/xps/15-9570/nvidia) | `` | `dell-xps-15-9570-nvidia` | -| [Dell XPS 15 9570](dell/xps/15-9570) | `` | `dell-xps-15-9570` | -| [Dell XPS 17 9700, intel](dell/xps/17-9700/intel) | `` | `dell-xps-17-9700-nvidia` | -| [Dell XPS 17 9710, intel only](dell/xps/17-9710/intel) | `` | `dell-xps-17-9710-intel` | -| [Framework 11th Gen Intel Core](framework/13-inch/11th-gen-intel) | `` | `framework-11th-gen-intel` | -| [Framework 12th Gen Intel Core](framework/12-inch/13th-gen-intel) | `` | `framework-12th-gen-intel` | -| [Framework 13th Gen Intel Core](framework/13-inch/13th-gen-intel) | `` | `framework-13th-gen-intel` | +| Model | Path | Flake Module | +| --------------------------------------------------------------------------------- | ------------------------------------------------------- | -------------------------------------- | +| [Acer Aspire 4810T](acer/aspire/4810t) | `` | `acer-aspire-4810t` | +| [Airis N990](airis/n990) | `` | `airis-n990` | +| [Apple iMac 14.2](apple/imac/14-2) | `` | `apple-imac-14-2` | +| [Apple iMac 18.2](apple/imac/18-2) | `` | `apple-imac-18-2` | +| [Apple MacBook Air 3,X](apple/macbook-air/3) | `` | `apple-macbook-air-3` | +| [Apple MacBook Air 4,X](apple/macbook-air/4) | `` | `apple-macbook-air-4` | +| [Apple MacBook Air 5,X](apple/macbook-air/5) | `` | `apple-macbook-air-5` | +| [Apple MacBook Air 6,X](apple/macbook-air/6) | `` | `apple-macbook-air-6` | +| [Apple MacBook Air 7,X](apple/macbook-air/7) | `` | `apple-macbook-air-7` | +| [Apple MacBook Pro 8,1](apple/macbook-pro/8-1) | `` | `apple-macbook-pro-8-1` | +| [Apple MacBook Pro 10,1](apple/macbook-pro/10-1) | `` | `apple-macbook-pro-10-1` | +| [Apple MacBook Pro 11,1](apple/macbook-pro/11-1) | `` | `apple-macbook-pro-11-1` | +| [Apple MacBook Pro 11,4](apple/macbook-pro/11-4) | `` | `apple-macbook-pro-11-4` | +| [Apple MacBook Pro 11,5](apple/macbook-pro/11-5) | `` | `apple-macbook-pro-11-5` | +| [Apple MacBook Pro 12,1](apple/macbook-pro/12-1) | `` | `apple-macbook-pro-12-1` | +| [Apple MacBook Pro 14,1](apple/macbook-pro/14-1) | `` | `apple-macbook-pro-14-1` | +| [Apple MacMini (2010, Intel, Nvidia)](apple/macmini/4) | `` | `apple-macmini-4-1` | +| [Apple Macs with a T2 Chip](apple/t2) | `` | `apple-t2` | +| [Aoostar R1 N100](aoostar/r1/n100) | `` | `aoostar-r1-n100` | +| [Asus Pro WS X570-ACE](asus/pro-ws-x570-ace) | `` | `asus-pro-ws-x570-ace` | +| [Asus ROG Ally RC71L (2023)](asus/ally/rc71l) | `` | `asus-ally-rc71l` | +| [Asus ROG Flow X13 GV302X\* (2023)](asus/flow/gv302x/amdgpu) | `` | `asus-flow-gv302x-amdgpu` | +| [Asus ROG Flow X13 GV302X\* (2023)](asus/flow/gv302x/nvidia) | `` | `asus-flow-gv302x-nvidia` | +| [Asus ROG GL552VW](asus/rog-gl552vw) | `` | `asus-rog-gl552vw` | +| [Asus ROG Strix G513IM](asus/rog-strix/g513im) | `` | `asus-rog-strix-g513im` | +| [Asus ROG Strix G533ZW](asus/rog-strix/g533zw) | `` | `asus-rog-strix-g533zw` | +| [Asus ROG Strix G533Q](asus/rog-strix/g533q) | `` | `asus-rog-strix-g533zw` | +| [Asus ROG Strix G713IE](asus/rog-strix/g713ie) | `` | `asus-rog-strix-g713ie` | +| [Asus ROG Strix G733QS](asus/rog-strix/g733qs) | `` | `asus-rog-strix-g733qs` | +| [Asus ROG Strix X570-E GAMING](asus/rog-strix/x570e) | `` | `asus-rog-strix-x570e` | +| [Asus ROG Zephyrus G14 GA401](asus/zephyrus/ga401) | `` | `asus-zephyrus-ga401` | +| [Asus ROG Zephyrus G14 GA402](asus/zephyrus/ga402) | `` | `asus-zephyrus-ga402` | +| [Asus ROG Zephyrus G14 GA402X\* (2023)](asus/zephyrus/ga402x/amdgpu) | `` | `asus-zephyrus-ga402x-amdgpu` | +| [Asus ROG Zephyrus G14 GA402X\* (2023)](asus/zephyrus/ga402x/nvidia) | `` | `asus-zephyrus-ga402x-nvidia` | +| [Asus ROG Zephyrus G15 GA502](asus/zephyrus/ga502) | `` | `asus-zephyrus-ga502` | +| [Asus ROG Zephyrus G15 GA503](asus/zephyrus/ga503) | `` | `asus-zephyrus-ga503` | +| [Asus ROG Zephyrus G16 GU605MY](asus/zephyrus/gu605my) | `` | `asus-zephyrus-gu605my` | +| [Asus ROG Zephyrus M16 GU603H](asus/zephyrus/gu603h) | `` | `asus-zephyrus-gu603h` | +| [Asus TUF FX504GD](asus/fx504gd) | `` | `asus-fx504gd` | +| [Asus TUF FX506HM](asus/fx506hm) | `` | `asus-fx506hm` | +| [Asus TUF FA506IC](asus/fa506ic) | `` | `asus-fa506ic` | +| [Asus TUF FA507RM](asus/fa507rm) | `` | `asus-fa507rm` | +| [Asus TUF FA507NV](asus/fa507nv) | `` | `asus-fa507nv` | +| [Asus Zenbook Duo 14 UX481](asus/zenbook/ux481/intelgpu/) | `` | `asus-zenbook-ux481-intelgpu` | +| [Asus Zenbook Duo 14 UX481](asus/zenbook/ux481/nvidia/) | `` | `asus-zenbook-ux481-nvidia` | +| [Asus Zenbook Flip S13 UX371](asus/zenbook/ux371/) | `` | `asus-zenbook-ux371` | +| [Asus Zenbook Pro 15 UX535](asus/zenbook/ux535/) | `` | `asus-zenbook-ux535` | +| [BeagleBoard PocketBeagle](beagleboard/pocketbeagle) | `` | `beagleboard-pocketbeagle` | +| [Chuwi MiniBook X](chuwi/minibook-x) | `` | `chuwi-minibook-x` | +| [Deciso DEC series](deciso/dec) | `` | `deciso-dec` | +| [Dell G3 3779](dell/g3/3779) | `` | `dell-g3-3779` | +| [Dell G3 3579](dell/g3/3579) | `` | `dell-g3-3579` | +| [Dell Inspiron 3442](dell/inspiron/3442) | `` | `dell-inspiron-3442` | +| [Dell Inspiron 14 5420](dell/inspiron/14-5420) | `` | `dell-inspiron-14-5420` | +| [Dell Inspiron 5509](dell/inspiron/5509) | `` | `dell-inspiron-5509` | +| [Dell Inspiron 5515](dell/inspiron/5515) | `` | `dell-inspiron-5515` | +| [Dell Inspiron 7405](dell/inspiron/7405) | `` | `dell-inspiron-7405` | +| [Dell Inspiron 7460](dell/inspiron/7460) | `` | `dell-inspiron-7460` | +| [Dell Inspiron 7559](dell/inspiron/7559) | `` | `dell-inspiron-7559` | +| [Dell Latitude 3340](dell/latitude/3340) | `` | `dell-latitude-3340` | +| [Dell Latitude 3480](dell/latitude/3480) | `` | `dell-latitude-3480` | +| [Dell Latitude 5490](dell/latitude/5490) | `` | `dell-latitude-5490` | +| [Dell Latitude 5520](dell/latitude/5520) | `` | `dell-latitude-5520` | +| [Dell Latitude 7280](dell/latitude/7280) | `` | `dell-latitude-7280` | +| [Dell Latitude 7390](dell/latitude/7390) | `` | `dell-latitude-7390` | +| [Dell Latitude 7420](dell/latitude/7420) | `` | `dell-latitude-7420` | +| [Dell Latitude 7430](dell/latitude/7430) | `` | `dell-latitude-7430` | +| [Dell Latitude 7490](dell/latitude/7490) | `` | `dell-latitude-7490` | +| [Dell Latitude 9430](dell/latitude/9430) | `` | `dell-latitude-9430` | +| [Dell Latitude E7240](dell/latitude/e7240) | `` | `dell-latitude-e7240` | +| [Dell Optiplex 3050](dell/optiplex/3050) | `` | `dell-optiplex-3050` | +| [Dell Poweredge R7515](dell/poweredge/r7515) | `` | `dell-poweredge-r7515` | +| [Dell Precision 3490, nvidia](dell/precision/3490/nvidia) | `` | `dell-precision-3490-nvidia` | +| [Dell Precision 3490, intel](dell/precision/3490/intel) | `` | `dell-precision-3490-intel` | +| [Dell Precision 3541](dell/precision/3541) | `` | `dell-precision-3541` | +| [Dell Precision 5490](dell/precision/5490) | `` | `dell-precision-5490` | +| [Dell Precision 5530](dell/precision/5530) | `` | `dell-precision-5530` | +| [Dell Precision 5560](dell/precision/5560) | `` | `dell-precision-5560` | +| [Dell Precision 5570](dell/precision/5570) | `` | `dell-precision-5570` | +| [Dell Precision 7520](dell/precision/7520) | `` | `dell-precision-7520` | +| [Dell XPS 13 7390](dell/xps/13-7390) | `` | `dell-xps-13-7390` | +| [Dell XPS 13 9300](dell/xps/13-9300) | `` | `dell-xps-13-9300` | +| [Dell XPS 13 9310](dell/xps/13-9310) | `` | `dell-xps-13-9310` | +| [Dell XPS 13 9315](dell/xps/13-9315) | `` | `dell-xps-13-9315` | +| [Dell XPS 13 9333](dell/xps/13-9333) | `` | `dell-xps-13-9333` | +| [Dell XPS 13 9343](dell/xps/13-9343) | `` | `dell-xps-13-9343` | +| [Dell XPS 13 9350](dell/xps/13-9350) | `` | `dell-xps-13-9350` | +| [Dell XPS 13 9360](dell/xps/13-9360) | `` | `dell-xps-13-9360` | +| [Dell XPS 13 9370](dell/xps/13-9370) | `` | `dell-xps-13-9370` | +| [Dell XPS 13 9380](dell/xps/13-9380) | `` | `dell-xps-13-9380` | +| [Dell XPS 15 7590, nvidia](dell/xps/15-7590/nvidia) | `` | `dell-xps-15-7590-nvidia` | +| [Dell XPS 15 7590](dell/xps/15-7590) | `` | `dell-xps-15-7590` | +| [Dell XPS 15 9500, nvidia](dell/xps/15-9500/nvidia) | `` | `dell-xps-15-9500-nvidia` | +| [Dell XPS 15 9500](dell/xps/15-9500) | `` | `dell-xps-15-9500` | +| [Dell XPS 15 9510, nvidia](dell/xps/15-9510/nvidia) | `` | `dell-xps-15-9510-nvidia` | +| [Dell XPS 15 9510](dell/xps/15-9510) | `` | `dell-xps-15-9510` | +| [Dell XPS 15 9520, nvidia](dell/xps/15-9520/nvidia) | `` | `dell-xps-15-9520-nvidia` | +| [Dell XPS 15 9520](dell/xps/15-9520) | `` | `dell-xps-15-9520` | +| [Dell XPS 15 9530, nvidia](dell/xps/15-9530/nvidia) | `` | `dell-xps-15-9530-nvidia` | +| [Dell XPS 15 9530](dell/xps/15-9530) | `` | `dell-xps-15-9530` | +| [Dell XPS 15 9550, nvidia](dell/xps/15-9550/nvidia) | `` | `dell-xps-15-9550-nvidia` | +| [Dell XPS 15 9550](dell/xps/15-9550) | `` | `dell-xps-15-9550` | +| [Dell XPS 15 9560, intel only](dell/xps/15-9560/intel) | `` | `dell-xps-15-9560-intel` | +| [Dell XPS 15 9560, nvidia only](dell/xps/15-9560/nvidia) | `` | `dell-xps-15-9560-nvidia` | +| [Dell XPS 15 9560](dell/xps/15-9560) | `` | `dell-xps-15-9560` | +| [Dell XPS 15 9570, intel only](dell/xps/15-9570/intel) | `` | `dell-xps-15-9570-intel` | +| [Dell XPS 15 9570, nvidia](dell/xps/15-9570/nvidia) | `` | `dell-xps-15-9570-nvidia` | +| [Dell XPS 15 9570](dell/xps/15-9570) | `` | `dell-xps-15-9570` | +| [Dell XPS 17 9700, intel](dell/xps/17-9700/intel) | `` | `dell-xps-17-9700-nvidia` | +| [Dell XPS 17 9710, intel only](dell/xps/17-9710/intel) | `` | `dell-xps-17-9710-intel` | +| [Framework 11th Gen Intel Core](framework/13-inch/11th-gen-intel) | `` | `framework-11th-gen-intel` | +| [Framework 12th Gen Intel Core](framework/12-inch/12th-gen-intel) | `` | `framework-12th-gen-intel` | +| [Framework 13th Gen Intel Core](framework/13-inch/13th-gen-intel) | `` | `framework-13th-gen-intel` | | [Framework Intel Core Ultra Series 1](framework/13-inch/intel-core-ultra-series1) | `` | `framework-intel-core-ultra-series1` | -| [Framework 13 AMD Ryzen 7040 Series](framework/13-inch/7040-amd) | `` | `framework-13-7040-amd` | -| [Framework 13 AMD AI 300 Series](framework/13-inch/amd-ai-300-series) | `` | `framework-amd-ai-300-series` | -| [Framework 12 13th Gen Intel Core](framework/12-inch/13th-gen-intel) | `` | `framework-12-13th-gen-intel` | -| [Framework 16 AMD Ryzen 7040 Series](framework/16-inch/7040-amd) | `` | `framework-16-7040-amd` | -| [Framework 16 AMD Ryzen AI 300 Series](framework/16-inch/amd-ai-300-series) | `` | `framework-16-amd-ai-300-series` | -| [FriendlyARM NanoPC-T4](friendlyarm/nanopc-t4) | `` | `friendlyarm-nanopc-t4` | -| [FriendlyARM NanoPi R5s](friendlyarm/nanopi-r5s) | `` | `friendlyarm-nanopi-r5s` | -| [Focus M2 Gen 1](focus/m2/gen1) | `` | `focus-m2-gen1` | -| [Fydetab Duo](fydetab/duo) | `` | `fydetab-duo` | -| [Gigabyte B550](gigabyte/b550) | `` | `gigabyte-b550` | -| [Gigabyte B650](gigabyte/b650) | `` | `gigabyte-b650` | -| [GMKtec NucBox G3 Plus](gmktec/nucbox/g3-plus) | `` | `gmktec-nucbox-g3-plus` | -| [GPD MicroPC](gpd/micropc) | `` | `gpd-micropc` | -| [GPD P2 Max](gpd/p2-max) | `` | `gpd-p2-max` | -| [GPD Pocket 3](gpd/pocket-3) | `` | `gpd-pocket-3` | -| [GPD Pocket 4](gpd/pocket-4) | `` | `gpd-pocket-4` | -| [GPD WIN 2](gpd/win-2) | `` | `gpd-win-2` | -| [GPD WIN Max 2 2023](gpd/win-max-2/2023) | `` | `gpd-win-max-2-2023` | -| [GPD WIN Mini 2024](gpd/win-mini/2024) | `` | `gpd-win-mini-2024` | -| [Google Pixelbook](google/pixelbook) | `` | `google-pixelbook` | -| [HP Elitebook 2560p](hp/elitebook/2560p) | `` | `hp-elitebook-2560p` | -| [HP Elitebook 830g6](hp/elitebook/830/g6) | `` | `hp-elitebook-830g6` | -| [HP Elitebook 845g7](hp/elitebook/845/g7) | `` | `hp-elitebook-845g7` | -| [HP Elitebook 845g8](hp/elitebook/845/g8) | `` | `hp-elitebook-845g8` | -| [HP Elitebook 845g9](hp/elitebook/845/g9) | `` | `hp-elitebook-845g9` | -| [HP Laptop 14s-dq2024nf](hp/laptop/14s-dq2024nf) | `` | `hp-laptop-14s-dq2024nf` | -| [HP Notebook 14-df0023](hp/notebook/14-df0023) | `` | `hp-notebook-14-df0023` | -| [HP Probook 440G5](hp/probook/440g5) | `` | `hp-probook-440G5` | -| [HP Probook 460G11](hp/probook/460g11) | `` | `hp-probook-46011` | -| [Huawei Matebook X Pro (2020)](huawei/machc-wa) | `` | `huawei-machc-wa` | -| [i.MX8QuadMax Multisensory Enablement Kit](nxp/imx8qm-mek/) | `` | `nxp-imx8qm-mek` | -| [Intel NUC 5i5RYB](intel/nuc/5i5ryb/) | `` | `intel-nuc-5i5ryb` | -| [Intel NUC 8i7BEH](intel/nuc/8i7beh/) | `` | `intel-nuc-8i7beh` | -| [Lenovo IdeaCentre K330](lenovo/ideacentre/k330) | `` | `lenovo-ideacentre-k330` | -| [Lenovo IdeaPad 3 15alc6](lenovo/ideapad/15alc6) | `` | `lenovo-ideapad-15alc6` | -| [Lenovo IdeaPad Gaming 3 15arh05](lenovo/ideapad/15arh05) | `` | `lenovo-ideapad-15arh05` | -| [Lenovo IdeaPad Gaming 3 15ach6](lenovo/ideapad/15ach6) | `` | `lenovo-ideapad-15ach6` | -| [Lenovo IdeaPad 5 Pro 14imh9](lenovo/ideapad/14imh9) | `` | `lenovo-ideapad-14imh9` | -| [Lenovo IdeaPad 5 Pro 16ach6](lenovo/ideapad/16ach6) | `` | `lenovo-ideapad-16ach6` | -| [Lenovo IdeaPad Z510](lenovo/ideapad/z510) | `` | `lenovo-ideapad-z510` | -| [Lenovo IdeaPad Slim 5](lenovo/ideapad/slim-5) | `` | `lenovo-ideapad-slim-5` | -| [Lenovo IdeaPad Slim 5 16iah8](lenovo/ideapad/16iah8) | `` | `lenovo-ideapad-16ahp9` | -| [Lenovo IdeaPad S145 15api](lenovo/ideapad/s145-15api) | `` | `lenovo-ideapad-s145-15api` | -| [Lenovo Legion 5 15ach6h](lenovo/legion/15ach6h) | `` | `lenovo-legion-15ach6h` | -| [Lenovo Legion 5 15ach6h (Hybrid)](lenovo/legion/15ach6h/hybrid) | `` | `lenovo-legion-15ach6h-hybrid` | -| [Lenovo Legion 5 15ach6h (Nvidia)](lenovo/legion/15ach6h/hybrid) | `` | `lenovo-legion-15ach6h-nvidia` | -| [Lenovo Legion 5 15arh05h](lenovo/legion/15arh05h) | `` | `lenovo-legion-15arh05h` | -| [Lenovo Legion 7 Slim 15ach6](lenovo/legion/15ach6) | `` | `lenovo-legion-15ach6` | -| [Lenovo Legion 5 Pro 16ach6h](lenovo/legion/16ach6h) | `` | `lenovo-legion-16ach6h` | -| [Lenovo Legion 5 Pro 16ach6h (Hybrid)](lenovo/legion/16ach6h/hybrid) | `` | `lenovo-legion-16ach6h-hybrid` | -| [Lenovo Legion 5 Pro 16ach6h (Nvidia)](lenovo/legion/16ach6h/nvidia) | `` | `lenovo-legion-16ach6h-nvidia` | -| [Lenovo Legion 5 Pro 16arh7h (IGPU Only)](lenovo/legion/16arh7h/igpu-only) | `` | `lenovo-legion-16arh7h-igpu-only` | -| [Lenovo Legion 5 Pro 16arh7h (Hybrid)](lenovo/legion/16arh7h/hybrid) | `` | `lenovo-legion-16arh7h-hybrid` | -| [Lenovo Legion 5 Pro 16IAH7H (Intel)](lenovo/legion/16iah7h/) | `` | `lenovo-legion-16iah7h` | -| [Lenovo Legion 7 16achg6 (Hybrid)](lenovo/legion/16achg6/hybrid) | `` | `lenovo-legion-16achg6-hybrid` | -| [Lenovo Legion 7 16achg6 (Nvidia)](lenovo/legion/16achg6/nvidia) | `` | `lenovo-legion-16achg6-nvidia` | -| [Lenovo Legion 7i Pro 16irx8h (Intel)](lenovo/legion/16irx8h) | `` | `lenovo-legion-16irx8h` | -| [Lenovo Legion 7 Pro 16irx9h (Intel)](lenovo/legion/16irx9h) | `` | `lenovo-legion-16irx9h` | -| [Lenovo Legion Slim 7 Gen 7 (AMD)](lenovo/legion/16arha7/) | `` | `lenovo-legion-16arha7` | -| [Lenovo Legion T5 AMR5](lenovo/legion/t526amr5) | `` | `lenovo-legion-t526amr5` | +| [Framework 13 AMD Ryzen 7040 Series](framework/13-inch/7040-amd) | `` | `framework-13-7040-amd` | +| [Framework 13 AMD AI 300 Series](framework/13-inch/amd-ai-300-series) | `` | `framework-amd-ai-300-series` | +| [Framework 12 13th Gen Intel Core](framework/12-inch/13th-gen-intel) | `` | `framework-12-13th-gen-intel` | +| [Framework 16 AMD Ryzen 7040 Series](framework/16-inch/7040-amd) | `` | `framework-16-7040-amd` | +| [Framework 16 AMD Ryzen AI 300 Series](framework/16-inch/amd-ai-300-series) | `` | `framework-16-amd-ai-300-series` | +| [FriendlyARM NanoPC-T4](friendlyarm/nanopc-t4) | `` | `friendlyarm-nanopc-t4` | +| [FriendlyARM NanoPi R5s](friendlyarm/nanopi-r5s) | `` | `friendlyarm-nanopi-r5s` | +| [Focus M2 Gen 1](focus/m2/gen1) | `` | `focus-m2-gen1` | +| [Fydetab Duo](fydetab/duo) | `` | `fydetab-duo` | +| [Gigabyte B550](gigabyte/b550) | `` | `gigabyte-b550` | +| [Gigabyte B650](gigabyte/b650) | `` | `gigabyte-b650` | +| [GMKtec NucBox G3 Plus](gmktec/nucbox/g3-plus) | `` | `gmktec-nucbox-g3-plus` | +| [GPD MicroPC](gpd/micropc) | `` | `gpd-micropc` | +| [GPD P2 Max](gpd/p2-max) | `` | `gpd-p2-max` | +| [GPD Pocket 3](gpd/pocket-3) | `` | `gpd-pocket-3` | +| [GPD Pocket 4](gpd/pocket-4) | `` | `gpd-pocket-4` | +| [GPD WIN 2](gpd/win-2) | `` | `gpd-win-2` | +| [GPD WIN Max 2 2023](gpd/win-max-2/2023) | `` | `gpd-win-max-2-2023` | +| [GPD WIN Mini 2024](gpd/win-mini/2024) | `` | `gpd-win-mini-2024` | +| [Google Pixelbook](google/pixelbook) | `` | `google-pixelbook` | +| [HP Elitebook 2560p](hp/elitebook/2560p) | `` | `hp-elitebook-2560p` | +| [HP Elitebook 830g6](hp/elitebook/830/g6) | `` | `hp-elitebook-830g6` | +| [HP Elitebook 845g7](hp/elitebook/845/g7) | `` | `hp-elitebook-845g7` | +| [HP Elitebook 845g8](hp/elitebook/845/g8) | `` | `hp-elitebook-845g8` | +| [HP Elitebook 845g9](hp/elitebook/845/g9) | `` | `hp-elitebook-845g9` | +| [HP Laptop 14s-dq2024nf](hp/laptop/14s-dq2024nf) | `` | `hp-laptop-14s-dq2024nf` | +| [HP Notebook 14-df0023](hp/notebook/14-df0023) | `` | `hp-notebook-14-df0023` | +| [HP Probook 440G5](hp/probook/440G5) | `` | `hp-probook-440G5` | +| [HP Laptop 14s-dq2024nf](hp/laptop/14s-dq2024nf) | `` | `hp-laptop-14s-dq2024nf` | +| [HP Probook 460G11](hp/probook/460g11) | `` | `hp-probook-46011` | +| [Huawei Matebook X Pro (2020)](huawei/machc-wa) | `` | `huawei-machc-wa` | +| [i.MX8QuadMax Multisensory Enablement Kit](nxp/imx8qm-mek/) | `` | `nxp-imx8qm-mek` | +| [Intel NUC 5i5RYB](intel/nuc/5i5ryb/) | `` | `intel-nuc-5i5ryb` | +| [Intel NUC 8i7BEH](intel/nuc/8i7beh/) | `` | `intel-nuc-8i7beh` | +| [Kobol Helios4](kobol/helios4) | `` | `kobol-helios-4` | +| [Lenovo IdeaCentre K330](lenovo/ideacentre/k330) | `` | `lenovo-ideacentre-k330` | +| [Lenovo IdeaPad 3 15alc6](lenovo/ideapad/15alc6) | `` | `lenovo-ideapad-15alc6` | +| [Lenovo IdeaPad Gaming 3 15arh05](lenovo/ideapad/15arh05) | `` | `lenovo-ideapad-15arh05` | +| [Lenovo IdeaPad Gaming 3 15ach6](lenovo/ideapad/15ach6) | `` | `lenovo-ideapad-15ach6` | +| [Lenovo IdeaPad 5 Pro 14imh9](lenovo/ideapad/14imh9) | `` | `lenovo-ideapad-14imh9` | +| [Lenovo IdeaPad 5 Pro 16ach6](lenovo/ideapad/16ach6) | `` | `lenovo-ideapad-16ach6` | +| [Lenovo IdeaPad Z510](lenovo/ideapad/z510) | `` | `lenovo-ideapad-z510` | +| [Lenovo IdeaPad Slim 5](lenovo/ideapad/slim-5) | `` | `lenovo-ideapad-slim-5` | +| [Lenovo IdeaPad Slim 5 16iah8](lenovo/ideapad/16iah8) | `` | `lenovo-ideapad-16ahp9` | +| [Lenovo IdeaPad S145 15api](lenovo/ideapad/s145-15api) | `` | `lenovo-ideapad-s145-15api` | +| [Lenovo Legion 5 15ach6h](lenovo/legion/15ach6h) | `` | `lenovo-legion-15ach6h` | +| [Lenovo Legion 5 15ach6h (Hybrid)](lenovo/legion/15ach6h/hybrid) | `` | `lenovo-legion-15ach6h-hybrid` | +| [Lenovo Legion 5 15ach6h (Nvidia)](lenovo/legion/15ach6h/hybrid) | `` | `lenovo-legion-15ach6h-nvidia` | +| [Lenovo Legion 5 15arh05h](lenovo/legion/15arh05h) | `` | `lenovo-legion-15arh05h` | +| [Lenovo Legion 7 Slim 15ach6](lenovo/legion/15ach6) | `` | `lenovo-legion-15ach6` | +| [Lenovo Legion 5 Pro 16ach6h](lenovo/legion/16ach6h) | `` | `lenovo-legion-16ach6h` | +| [Lenovo Legion 5 Pro 16ach6h (Hybrid)](lenovo/legion/16ach6h/hybrid) | `` | `lenovo-legion-16ach6h-hybrid` | +| [Lenovo Legion 5 Pro 16ach6h (Nvidia)](lenovo/legion/16ach6h/nvidia) | `` | `lenovo-legion-16ach6h-nvidia` | +| [Lenovo Legion 5 Pro 16arh7h (IGPU Only)](lenovo/legion/16arh7h/igpu-only) | `` | `lenovo-legion-16arh7h-igpu-only` | +| [Lenovo Legion 5 Pro 16arh7h (Hybrid)](lenovo/legion/16arh7h/hybrid) | `` | `lenovo-legion-16arh7h-hybrid` | +| [Lenovo Legion 5 Pro 16IAH7H (Intel)](lenovo/legion/16iah7h/) | `` | `lenovo-legion-16iah7h` | +| [Lenovo Legion 7 16achg6 (Hybrid)](lenovo/legion/16achg6/hybrid) | `` | `lenovo-legion-16achg6-hybrid` | +| [Lenovo Legion 7 16achg6 (Nvidia)](lenovo/legion/16achg6/nvidia) | `` | `lenovo-legion-16achg6-nvidia` | +| [Lenovo Legion 7i Pro 16irx8h (Intel)](lenovo/legion/16irx8h) | `` | `lenovo-legion-16irx8h` | +| [Lenovo Legion 7 Pro 16irx9h (Intel)](lenovo/legion/16irx9h) | `` | `lenovo-legion-16irx9h` | +| [Lenovo Legion Slim 5](lenovo/legion/16aph8/) | `` | `lenovo-legion-16aph8` | +| [Lenovo Legion Slim 7 Gen 7 (AMD)](lenovo/legion/16arha7/) | `` | `lenovo-legion-16arha7` | +| [Lenovo Legion T5 AMR5](lenovo/legion/t526amr5) | `` | `lenovo-legion-t526amr5` | | [Lenovo Legion Y530 15ICH](lenovo/legion/15ich) | `` | `lenovo-legion-y530-15ich` | -| [Lenovo ThinkPad A475](lenovo/thinkpad/a475) | `` | `lenovo-thinkpad-a475` | -| [Lenovo ThinkPad E14 (AMD)](lenovo/thinkpad/e14/amd) | `` | `lenovo-thinkpad-e14-amd` | -| [Lenovo ThinkPad E14 (Intel - Gen 1)](lenovo/thinkpad/e14/intel) | `` | `lenovo-thinkpad-e14-intel` | -| [Lenovo ThinkPad E14 (Intel - Gen 4)](lenovo/thinkpad/e14/intel/gen4) | `` | `lenovo-thinkpad-e14-intel-gen4` | -| [Lenovo ThinkPad E14 (Intel - Gen 6)](lenovo/thinkpad/e14/intel/gen6) | `` | `lenovo-thinkpad-e14-intel-gen6` | -| [Lenovo ThinkPad E15 (Intel)](lenovo/thinkpad/e15/intel) | `` | `lenovo-thinkpad-e15-intel` | -| [Lenovo ThinkPad E470](lenovo/thinkpad/e470) | `` | `lenovo-thinkpad-e470` | -| [Lenovo ThinkPad E495](lenovo/thinkpad/e495) | `` | `lenovo-thinkpad-e495` | -| [Lenovo ThinkPad L13 Yoga](lenovo/thinkpad/l13/yoga) | `` | `lenovo-thinkpad-l13-yoga` | -| [Lenovo ThinkPad L13](lenovo/thinkpad/l13) | `` | `lenovo-thinkpad-l13` | -| [Lenovo ThinkPad L14 (AMD)](lenovo/thinkpad/l14/amd) | `` | `lenovo-thinkpad-l14-amd` | -| [Lenovo ThinkPad L14 (Intel)](lenovo/thinkpad/l14/intel) | `` | `lenovo-thinkpad-l14-intel` | -| [Lenovo ThinkPad L480](lenovo/thinkpad/l480) | `` | `lenovo-thinkpad-l480` | -| [Lenovo ThinkPad P1 Gen 3](lenovo/thinkpad/p1/3th-gen) | `` | `lenovo-thinkpad-p1-gen3` | -| [Lenovo ThinkPad P14s AMD Gen 1](lenovo/thinkpad/p14s/amd/gen1) | `` | `lenovo-thinkpad-p14s-amd-gen1` | -| [Lenovo ThinkPad P14s AMD Gen 2](lenovo/thinkpad/p14s/amd/gen2) | `` | `lenovo-thinkpad-p14s-amd-gen2` | -| [Lenovo ThinkPad P14s AMD Gen 3](lenovo/thinkpad/p14s/amd/gen3) | `` | `lenovo-thinkpad-p14s-amd-gen3` | -| [Lenovo ThinkPad P14s AMD Gen 4](lenovo/thinkpad/p14s/amd/gen4) | `` | `lenovo-thinkpad-p14s-amd-gen4` | -| [Lenovo ThinkPad P14s AMD Gen 5](lenovo/thinkpad/p14s/amd/gen5) | `` | `lenovo-thinkpad-p14s-amd-gen5` | -| [Lenovo ThinkPad P14s Intel Gen 2](lenovo/thinkpad/p14s/intel/gen2) | `` | `lenovo-thinkpad-p14s-intel-gen2`| -| [Lenovo ThinkPad P14s Intel Gen 3](lenovo/thinkpad/p14s/intel/gen3) | `` | `lenovo-thinkpad-p14s-intel-gen3`| -| [Lenovo ThinkPad P14s Intel Gen 5](lenovo/thinkpad/p14s/intel/gen5) | `` | `lenovo-thinkpad-p14s-intel-gen5`| -| [Lenovo ThinkPad P16s AMD Gen 1](lenovo/thinkpad/p16s/amd/gen1) | `` | `lenovo-thinkpad-p16s-amd-gen1` | -| [Lenovo ThinkPad P16s AMD Gen 2](lenovo/thinkpad/p16s/amd/gen2) | `` | `lenovo-thinkpad-p16s-amd-gen2` | -| [Lenovo ThinkPad P16s AMD Gen 4](lenovo/thinkpad/p16s/amd/gen4) | `` | `lenovo-thinkpad-p16s-amd-gen4` | -| [Lenovo ThinkPad P16s Intel Gen 2](lenovo/thinkpad/p16s/intel/gen2) | `` | `lenovo-thinkpad-p16s-intel-gen2`| -| [Lenovo ThinkPad P1](lenovo/thinkpad/p1) | `` | `lenovo-thinkpad-p1` | -| [Lenovo ThinkPad P43s](lenovo/thinkpad/p43s) | `` | `lenovo-thinkpad-p43s` | -| [Lenovo ThinkPad P50](lenovo/thinkpad/p50) | `` | `lenovo-thinkpad-p50` | -| [Lenovo ThinkPad P51](lenovo/thinkpad/p51) | `` | `lenovo-thinkpad-p51` | -| [Lenovo ThinkPad P52](lenovo/thinkpad/p52) | `` | `lenovo-thinkpad-p52` | -| [Lenovo ThinkPad P53](lenovo/thinkpad/p53) | `` | `lenovo-thinkpad-p53` | -| [Lenovo ThinkPad T14 AMD Gen 1](lenovo/thinkpad/t14/amd/gen1) | `` | `lenovo-thinkpad-t14-amd-gen1` | -| [Lenovo ThinkPad T14 AMD Gen 2](lenovo/thinkpad/t14/amd/gen2) | `` | `lenovo-thinkpad-t14-amd-gen2` | -| [Lenovo ThinkPad T14 AMD Gen 3](lenovo/thinkpad/t14/amd/gen3) | `` | `lenovo-thinkpad-t14-amd-gen3` | -| [Lenovo ThinkPad T14 AMD Gen 4](lenovo/thinkpad/t14/amd/gen4) | `` | `lenovo-thinkpad-t14-amd-gen4` | -| [Lenovo ThinkPad T14 AMD Gen 5](lenovo/thinkpad/t14/amd/gen5) | `` | `lenovo-thinkpad-t14-amd-gen5` | -| [Lenovo ThinkPad T14](lenovo/thinkpad/t14) | `` | `lenovo-thinkpad-t14` | -| [Lenovo ThinkPad T14 Intel Gen 1](lenovo/thinkpad/t14/intel/gen1) | `` | `lenovo-thinkpad-t14-intel-gen1` | -| [Lenovo ThinkPad T14 Intel Gen 1 (Nvidia)](lenovo/thinkpad/t14/intel/gen1/nvidia) | ``| `lenovo-thinkpad-t14-intel-gen1-nvidia` | -| [Lenovo ThinkPad T14 Intel Gen 6](lenovo/thinkpad/t14/intel/gen6) | `` | `lenovo-thinkpad-t14-intel-gen6` | -| [Lenovo ThinkPad T14s AMD Gen 1](lenovo/thinkpad/t14s/amd/gen1) | `` | `lenovo-thinkpad-t14s-amd-gen1` | -| [Lenovo ThinkPad T14s AMD Gen 4](lenovo/thinkpad/t14s/amd/gen4) | `` | `lenovo-thinkpad-t14s-amd-gen4` | -| [Lenovo ThinkPad T14s](lenovo/thinkpad/t14s) | `` | `lenovo-thinkpad-t14s` | -| [Lenovo ThinkPad T410](lenovo/thinkpad/t410) | `` | `lenovo-thinkpad-t410` | -| [Lenovo ThinkPad T420](lenovo/thinkpad/t420) | `` | `lenovo-thinkpad-t420` | -| [Lenovo ThinkPad T430](lenovo/thinkpad/t430) | `` | `lenovo-thinkpad-t430` | -| [Lenovo ThinkPad T440p](lenovo/thinkpad/t440p) | `` | `lenovo-thinkpad-t440p` | -| [Lenovo ThinkPad T440s](lenovo/thinkpad/t440s) | `` | `lenovo-thinkpad-t440s` | -| [Lenovo ThinkPad T450s](lenovo/thinkpad/t450s) | `` | `lenovo-thinkpad-t450s` | -| [Lenovo ThinkPad T460](lenovo/thinkpad/t460) | `` | `lenovo-thinkpad-t460` | -| [Lenovo ThinkPad T460p](lenovo/thinkpad/t460p) | `` | `lenovo-thinkpad-t460p` | -| [Lenovo ThinkPad T460s](lenovo/thinkpad/t460s) | `` | `lenovo-thinkpad-t460s` | -| [Lenovo ThinkPad T470s](lenovo/thinkpad/t470s) | `` | `lenovo-thinkpad-t470s` | -| [Lenovo ThinkPad T480](lenovo/thinkpad/t480) | `` | `lenovo-thinkpad-t480` | -| [Lenovo ThinkPad T480s](lenovo/thinkpad/t480s) | `` | `lenovo-thinkpad-t480s` | -| [Lenovo ThinkPad T490](lenovo/thinkpad/t490) | `` | `lenovo-thinkpad-t490` | -| [Lenovo ThinkPad T490s](lenovo/thinkpad/t490s) | `` | `lenovo-thinkpad-t490s` | -| [Lenovo ThinkPad T495](lenovo/thinkpad/t495) | `` | `lenovo-thinkpad-t495` | -| [Lenovo ThinkPad T520](lenovo/thinkpad/t520) | `` | `lenovo-thinkpad-t520` | -| [Lenovo ThinkPad T550](lenovo/thinkpad/t550) | `` | `lenovo-thinkpad-t550` | -| [Lenovo ThinkPad T590](lenovo/thinkpad/t590) | `` | `lenovo-thinkpad-t590` | -| [Lenovo ThinkPad W520](lenovo/thinkpad/w520) | `` | `lenovo-thinkpad-w520` | -| [Lenovo ThinkPad X1 Yoga](lenovo/thinkpad/x1/yoga) | `` | `lenovo-thinkpad-x1-yoga` | -| [Lenovo ThinkPad X1 Yoga Gen 7](lenovo/thinkpad/x1/yoga/7th-gen/) | `` | `lenovo-thinkpad-x1-yoga-7th-gen` | -| [Lenovo ThinkPad X1 Yoga Gen 8](lenovo/thinkpad/x1/yoga/8th-gen/) | `` | `lenovo-thinkpad-x1-yoga-8th-gen` | -| [Lenovo ThinkPad X1 (2nd Gen)](lenovo/thinkpad/x1/2nd-gen) | `` | `lenovo-thinkpad-x1-2nd-gen` | -| [Lenovo ThinkPad X1 (6th Gen)](lenovo/thinkpad/x1/6th-gen) | `` | `lenovo-thinkpad-x1-6th-gen` | -| [Lenovo ThinkPad X1 (7th Gen)](lenovo/thinkpad/x1/7th-gen) | `` | `lenovo-thinkpad-x1-7th-gen` | -| [Lenovo ThinkPad X1 (9th Gen)](lenovo/thinkpad/x1/9th-gen) | `` | `lenovo-thinkpad-x1-9th-gen` | -| [Lenovo ThinkPad X1 (10th Gen)](lenovo/thinkpad/x1/10th-gen) | `` | `lenovo-thinkpad-x1-10th-gen` | -| [Lenovo ThinkPad X1 (11th Gen)](lenovo/thinkpad/x1/11th-gen) | `` | `lenovo-thinkpad-x1-11th-gen` | -| [Lenovo ThinkPad X1 (12th Gen)](lenovo/thinkpad/x1/12th-gen) | `` | `lenovo-thinkpad-x1-12th-gen` | -| [Lenovo ThinkPad X1 (13th Gen)](lenovo/thinkpad/x1/13th-gen) | `` | `lenovo-thinkpad-x1-13th-gen` | -| [Lenovo ThinkPad X1 Extreme Gen 2](lenovo/thinkpad/x1-extreme/gen2) | `` | `lenovo-thinkpad-x1-extreme-gen2` | -| [Lenovo ThinkPad X1 Extreme Gen 3](lenovo/thinkpad/x1-extreme/gen3) | `` | `lenovo-thinkpad-x1-extreme-gen3` | -| [Lenovo ThinkPad X1 Extreme Gen 4](lenovo/thinkpad/x1-extreme/gen4) | `` | `lenovo-thinkpad-x1-extreme-gen4` | -| [Lenovo ThinkPad X1 Nano Gen 1](lenovo/thinkpad/x1-nano/gen1) | `` | `lenovo-thinkpad-x1-nano-gen1` | -| [Lenovo ThinkPad X13s](lenovo/thinkpad/x13s) | `` | `lenovo-thinkpad-x13s` | -| [Lenovo ThinkPad X13 Yoga](lenovo/thinkpad/x13/yoga) | `` | `lenovo-thinkpad-x13-yoga` | -| [Lenovo ThinkPad X13 Yoga (3th Gen)](lenovo/thinkpad/x13/yoga/3th-gen) | `` | `lenovo-thinkpad-x13-yoga-3th-gen` | -| [Lenovo ThinkPad X13 (Intel)](lenovo/thinkpad/x13/intel) | `` | `lenovo-thinkpad-x13-intel` | -| [Lenovo ThinkPad X13 (AMD)](lenovo/thinkpad/x13/amd) | `` | `lenovo-thinkpad-x13-amd` | -| [Lenovo ThinkPad X140e](lenovo/thinkpad/x140e) | `` | `lenovo-thinkpad-x140e` | -| [Lenovo ThinkPad X200s](lenovo/thinkpad/x200s) | `` | `lenovo-thinkpad-x200s` | -| [Lenovo ThinkPad X220](lenovo/thinkpad/x220) | `` | `lenovo-thinkpad-x220` | -| [Lenovo ThinkPad X230](lenovo/thinkpad/x230) | `` | `lenovo-thinkpad-x230` | -| [Lenovo ThinkPad X250](lenovo/thinkpad/x250) | `` | `lenovo-thinkpad-x250` | -| [Lenovo ThinkPad X260](lenovo/thinkpad/x260) | `` | `lenovo-thinkpad-x260` | -| [Lenovo ThinkPad X270](lenovo/thinkpad/x270) | `` | `lenovo-thinkpad-x270` | -| [Lenovo ThinkPad X280](lenovo/thinkpad/x280) | `` | `lenovo-thinkpad-x280` | -| [Lenovo ThinkPad X390](lenovo/thinkpad/x390) | `` | `lenovo-thinkpad-x390` | -| [Lenovo ThinkPad Z Series](lenovo/thinkpad/z) | `` | `lenovo-thinkpad-z` | -| [Lenovo ThinkPad Z13 Gen 1](lenovo/thinkpad/z/gen1/z13) | `` | `lenovo-thinkpad-z13-gen1` | -| [Lenovo ThinkPad Z13 Gen 2](lenovo/thinkpad/z/gen2/z13) | `` | `lenovo-thinkpad-z13-gen2` | -| [Lenovo XiaoXin Pro 14imh9 2024](lenovo/ideapad/14imh9) | `` | `lenovo-ideapad-14imh9` | -| [LENOVO Yoga 6 13ALC6 82ND](lenovo/yoga/6/13ALC6) | `` | `lenovo-yoga-6-13ALC6` | -| [LENOVO Yoga Slim 7 Pro-X 14ARH7 82ND](lenovo/yoga/7/14ARH7/amdgpu) | `` | `lenovo-yoga-7-14ARH7-amdgpu` | -| [LENOVO Yoga Slim 7 Pro-X 14ARH7 82ND](lenovo/yoga/7/14ARH7/nvidia) | `` | `lenovo-yoga-7-14ARH7-nvidia` | -| [Lenovo Yoga Slim 7i Pro X 14IAH7 (Integrated)](lenovo/yoga/7/14IAH7/integrated) | `` | `lenovo-yoga-7-14IAH7-integrated` | -| [Lenovo Yoga Slim 7i Pro X 14IAH7 (Hybrid)](lenovo/yoga/7/14IAH7/hybrid) | `` | `lenovo-yoga-7-14IAH7-hybrid` | -| [Lenovo Yoga Slim 7 14ILL10](lenovo/yoga/7/14ILL10) | `` | `lenovo-yoga-7-14ILL10` | -| [LENOVO Yoga 7 Slim Gen8](lenovo/yoga/7/slim/gen8) | `` | `lenovo-yoga-7-slim-gen8` | -| [Linglong Nova Studio](linglong/nova-studio) | `` | `linglong-nova-studio` | -| [MSI B550-A PRO](msi/b550-a-pro) | `` | `msi-b550-a-pro` | -| [MSI B350 TOMAHAWK](msi/b350-tomahawk) | `` | `msi-b350-tomahawk` | -| [MSI B550 TOMAHAWK](msi/b550-tomahawk) | `` | `msi-b550-tomahawk` | -| [MSI GS60 2QE](msi/gs60) | `` | `msi-gs60` | -| [MSI GL62/CX62](msi/gl62) | `` | `msi-gl62` | -| [MSI GL65 10SDR-492](msi/gl65/10SDR-492) | `` | `msi-gl65-10SDR-492` | -| [Microchip Icicle Kit](microchip/icicle-kit) | `` | `microchip-icicle-kit` | -| [Microsoft Surface Go](microsoft/surface/surface-go) | `` | `microsoft-surface-go` | -| [Microsoft Surface Pro (Intel)](microsoft/surface/surface-pro-intel) | `` | `microsoft-surface-pro-intel` | -| [Microsoft Surface Laptop (AMD)](microsoft/surface/surface-laptop-amd) | `` | `microsoft-surface-laptop-amd` | -| [Microsoft Surface Range (Common Modules)](microsoft/surface/common) | `` | `microsoft-surface-common` | -| [Microsoft Surface Pro 3](microsoft/surface-pro/3) | `` | `microsoft-surface-pro-3` | -| [Microsoft Surface Pro 9](microsoft/surface-pro/9) | `` | `microsoft-surface-pro-9` | -| [Morefine M600](morefine/m600) | `` | `morefine-m600` | -| [Minisforum V3](minisforum/v3) | `` | `minisforum-v3` | -| [MNT Reform with RK3588 module](mnt/reform/rk3588) | `` | `mechrevo-gm5hg0a` | -| [NXP iMX8 MPlus Evaluation Kit](nxp/imx8mp-evk) | `` | `nxp-imx8mp-evk` | -| [NXP iMX8 MQuad Evaluation Kit](nxp/imx8mq-evk) | `` | `nxp-imx8mq-evk` | -| [Hardkernel Odroid HC4](hardkernel/odroid-hc4/default.nix) | `` | `hardkernel-odroid-hc4` | -| [Hardkernel Odroid H3](hardkernel/odroid-h3/default.nix) | `` | `hardkernel-odroid-h3` | -| [Hardkernel Odroid H4](hardkernel/odroid-h4/default.nix) | `` | `hardkernel-odroid-h4` | -| [Omen 14-fb0798ng](omen/14-fb0798ng) | `` | `omen-14-fb0798ng` | -| [Omen 15-ce002ns](omen/15-ce002ns) | `` | `omen-15-ce002ns` | -| [Omen 15-en0010ca](omen/15-en0010ca) | `` | `omen-15-en0010ca` | -| [Omen 16-n0005ne](omen/16-n0005ne) | `` | `omen-16-n0005ne` | -| [Omen 16-n0280nd](/omen/16-n0280nd) | `` | `omen-16-n0280nd` | -| [Omen 15-en1007sa](omen/15-en1007sa) | `` | `omen-15-en1007sa` | -| [Omen 15-en0002np](omen/15-en0002np) | `` | `omen-15-en0002np` | -| [One-Netbook OneNetbook 4](onenetbook/4) | `` | `onenetbook-4` | -| [Panasonic Let's Note CF-LX3](panasonic/letsnote/cf-lx3) | `` | `panasonic-letsnote-cf-lx3` | -| [Panasonic Let's Note CF-LX4](panasonic/letsnote/cf-lx4) | `` | `letsnote-cf-lx4` | -| [PC Engines APU](pcengines/apu) | `` | `pcengines-apu` | -| [PINE64 Pinebook Pro](pine64/pinebook-pro/) | `` | `pine64-pinebook-pro` | -| [PINE64 RockPro64](pine64/rockpro64/) | `` | `pine64-rockpro64` | -| [PINE64 STAR64](pine64/star64/) | `` | `pine64-star64` | -| [Protectli VP4670](protectli/vp4670/) | `` | `protectli-vp4670` | -| [Purism Librem 13v3](purism/librem/13v3) | `` | `purism-librem-13v3` | -| [Purism Librem 15v3](purism/librem/15v3) | `` | `purism-librem-15v3` | -| [Purism Librem 5r4](purism/librem/5r4) | `` | `purism-librem-5r4` | -| [Radxa ROCK 4C+](radxa/rock-4c-plus) | `` | `rock-4c-plus` | -| [Radxa ROCK 5 Model B](radxa/rock-5b) | `` | `rock-5b` | -| [Radxa ROCK Pi 4](radxa/rock-pi-4) | `` | `rock-pi-4` | -| [Radxa ROCK Pi E](radxa/rock-pi-e) | `` | `rock-pi-e`| -| [Raspberry Pi 2](raspberry-pi/2) | `` | `raspberry-pi-2`| -| [Raspberry Pi 3](raspberry-pi/3) | `` | `raspberry-pi-3`| -| [Raspberry Pi 4](raspberry-pi/4) | `` | `raspberry-pi-4`| -| [Raspberry Pi 5](raspberry-pi/5) | `` | `raspberry-pi-5`| -| [Samsung Series 9 NP900X3C](samsung/np900x3c) | `` | `samsung-np900x3c`| -| [Slimbook Hero RPL-RTX](slimbook/hero/rpl-rtx) | `` | `slimbook-hero-rpl-rtx`| -| [StarFive VisionFive v1](starfive/visionfive/v1) | `` | `starfive-visionfive-v1`| -| [StarFive VisionFive 2](starfive/visionfive/v2) | `` | `starfive-visionfive-2`| -| [StarLabs StarLite 5 (I5)](starlabs/starlite/i5) | `` | `starlabs-starlite-i5`| -| [Supermicro A1SRi-2758F](supermicro/a1sri-2758f) | `` | `supermicro-a1sri-2758f`| -| [Supermicro M11SDV-8C-LN4F](supermicro/m11sdv-8c-ln4f) | `` | `supermicro-m11sdv-8c-ln4f`| -| [Supermicro X10SLL-F](supermicro/x10sll-f) | `` | `supermicro-x10sll-f`| -| [Supermicro X12SCZ-TLN4F](supermicro/x12scz-tln4f) | `` | `supermicro-x12scz-tln4f`| -| [System76 (generic)](system76) | `` | `system76`| -| [System76 Darter Pro 6](system76/darp6) | `` | `system76-darp6`| -| [System76 Gazelle 18](system76/gaze18) | `` | `system76-gaze18`| -| [System76 Galago Pro 5](system76/galp5-1650) | `` | `system76-galp5-1650`| -| [System76 Thelio Mega](system76/thelio-mega) | `` | `system76-thelio-mega`| -| [Toshiba Chromebook 2 `swanky`](toshiba/swanky) | `` | `toshiba-swanky`| -| [Tuxedo InfinityBook v4](tuxedo/infinitybook/v4) | `` | `tuxedo-infinitybook-v4`| -| [TUXEDO Aura 15 - Gen1](tuxedo/aura/15/gen1) | `` | `tuxedo-aura-15-gen1`| -| [TUXEDO InfinityBook Pro 14 - Gen7](tuxedo/infinitybook/pro14/gen7) | `` | `tuxedo-infinitybook-pro14-gen7`| -| [TUXEDO InfinityBook Pro 14 - Gen9 - AMD](tuxedo/infinitybook/pro14/gen9/amd) | `` | `tuxedo-infinitybook-pro14-gen9-amd`| -| [TUXEDO InfinityBook Pro 14 - Gen9 - INTEL](tuxedo/infinitybook/pro14/gen9/intel) | `` | `tuxedo-infinitybook-pro14-gen9-intel`| -| [TUXEDO Pulse 14 - Gen3](tuxedo/pulse/14/gen3) | `` | `tuxedo-pulse-14-gen3`| -| [TUXEDO Pulse 15 - Gen2](tuxedo/pulse/15/gen2) | `` | `tuxedo-pulse-15-gen2`| -| [Xiaomi Redmibook 15 Pro 2021](xiaomi/redmibook/15-pro-2021) | `` | `xiaomi-redmibook-15-pro-2021`| -| [Xiaomi Redmibook 16 Pro 2024](xiaomi/redmibook/16-pro-2024) | `` | `xiaomi-redmibook-16-pro-2024`| +| [Lenovo ThinkPad A475](lenovo/thinkpad/a475) | `` | `lenovo-thinkpad-a475` | +| [Lenovo ThinkPad E14 (AMD)](lenovo/thinkpad/e14/amd) | `` | `lenovo-thinkpad-e14-amd` | +| [Lenovo ThinkPad E14 (Intel - Gen 1)](lenovo/thinkpad/e14/intel) | `` | `lenovo-thinkpad-e14-intel` | +| [Lenovo ThinkPad E14 (Intel - Gen 4)](lenovo/thinkpad/e14/intel/gen4) | `` | `lenovo-thinkpad-e14-intel-gen4` | +| [Lenovo ThinkPad E14 (Intel - Gen 6)](lenovo/thinkpad/e14/intel/gen6) | `` | `lenovo-thinkpad-e14-intel-gen6` | +| [Lenovo ThinkPad E15 (Intel)](lenovo/thinkpad/e15/intel) | `` | `lenovo-thinkpad-e15-intel` | +| [Lenovo ThinkPad E470](lenovo/thinkpad/e470) | `` | `lenovo-thinkpad-e470` | +| [Lenovo ThinkPad E495](lenovo/thinkpad/e495) | `` | `lenovo-thinkpad-e495` | +| [Lenovo ThinkPad L13 Yoga](lenovo/thinkpad/l13/yoga) | `` | `lenovo-thinkpad-l13-yoga` | +| [Lenovo ThinkPad L13](lenovo/thinkpad/l13) | `` | `lenovo-thinkpad-l13` | +| [Lenovo ThinkPad L14 (AMD)](lenovo/thinkpad/l14/amd) | `` | `lenovo-thinkpad-l14-amd` | +| [Lenovo ThinkPad L14 (Intel)](lenovo/thinkpad/l14/intel) | `` | `lenovo-thinkpad-l14-intel` | +| [Lenovo ThinkPad L480](lenovo/thinkpad/l480) | `` | `lenovo-thinkpad-l480` | +| [Lenovo ThinkPad P1 Gen 3](lenovo/thinkpad/p1/3th-gen) | `` | `lenovo-thinkpad-p1-gen3` | +| [Lenovo ThinkPad P14s AMD Gen 1](lenovo/thinkpad/p14s/amd/gen1) | `` | `lenovo-thinkpad-p14s-amd-gen1` | +| [Lenovo ThinkPad P14s AMD Gen 2](lenovo/thinkpad/p14s/amd/gen2) | `` | `lenovo-thinkpad-p14s-amd-gen2` | +| [Lenovo ThinkPad P14s AMD Gen 3](lenovo/thinkpad/p14s/amd/gen3) | `` | `lenovo-thinkpad-p14s-amd-gen3` | +| [Lenovo ThinkPad P14s AMD Gen 4](lenovo/thinkpad/p14s/amd/gen4) | `` | `lenovo-thinkpad-p14s-amd-gen4` | +| [Lenovo ThinkPad P14s AMD Gen 5](lenovo/thinkpad/p14s/amd/gen5) | `` | `lenovo-thinkpad-p14s-amd-gen5` | +| [Lenovo ThinkPad P14s Intel Gen 2](lenovo/thinkpad/p14s/intel/gen2) | `` | `lenovo-thinkpad-p14s-intel-gen2` | +| [Lenovo ThinkPad P14s Intel Gen 3](lenovo/thinkpad/p14s/intel/gen3) | `` | `lenovo-thinkpad-p14s-intel-gen3` | +| [Lenovo ThinkPad P14s Intel Gen 5](lenovo/thinkpad/p14s/intel/gen5) | `` | `lenovo-thinkpad-p14s-intel-gen5` | +| [Lenovo ThinkPad P16s AMD Gen 1](lenovo/thinkpad/p16s/amd/gen1) | `` | `lenovo-thinkpad-p16s-amd-gen1` | +| [Lenovo ThinkPad P16s AMD Gen 2](lenovo/thinkpad/p16s/amd/gen2) | `` | `lenovo-thinkpad-p16s-amd-gen2` | +| [Lenovo ThinkPad P16s AMD Gen 4](lenovo/thinkpad/p16s/amd/gen4) | `` | `lenovo-thinkpad-p16s-amd-gen4` | +| [Lenovo ThinkPad P16s Intel Gen 2](lenovo/thinkpad/p16s/intel/gen2) | `` | `lenovo-thinkpad-p16s-intel-gen2` | +| [Lenovo ThinkPad P1](lenovo/thinkpad/p1) | `` | `lenovo-thinkpad-p1` | +| [Lenovo ThinkPad P43s](lenovo/thinkpad/p43s) | `` | `lenovo-thinkpad-p43s` | +| [Lenovo ThinkPad P50](lenovo/thinkpad/p50) | `` | `lenovo-thinkpad-p50` | +| [Lenovo ThinkPad P51](lenovo/thinkpad/p51) | `` | `lenovo-thinkpad-p51` | +| [Lenovo ThinkPad P52](lenovo/thinkpad/p52) | `` | `lenovo-thinkpad-p52` | +| [Lenovo ThinkPad P53](lenovo/thinkpad/p53) | `` | `lenovo-thinkpad-p53` | +| [Lenovo ThinkPad T14 AMD Gen 1](lenovo/thinkpad/t14/amd/gen1) | `` | `lenovo-thinkpad-t14-amd-gen1` | +| [Lenovo ThinkPad T14 AMD Gen 2](lenovo/thinkpad/t14/amd/gen2) | `` | `lenovo-thinkpad-t14-amd-gen2` | +| [Lenovo ThinkPad T14 AMD Gen 3](lenovo/thinkpad/t14/amd/gen3) | `` | `lenovo-thinkpad-t14-amd-gen3` | +| [Lenovo ThinkPad T14 AMD Gen 4](lenovo/thinkpad/t14/amd/gen4) | `` | `lenovo-thinkpad-t14-amd-gen4` | +| [Lenovo ThinkPad T14 AMD Gen 5](lenovo/thinkpad/t14/amd/gen5) | `` | `lenovo-thinkpad-t14-amd-gen5` | +| [Lenovo ThinkPad T14](lenovo/thinkpad/t14) | `` | `lenovo-thinkpad-t14` | +| [Lenovo ThinkPad T14 Intel Gen 1](lenovo/thinkpad/t14/intel/gen1) | `` | `lenovo-thinkpad-t14-intel-gen1` | +| [Lenovo ThinkPad T14 Intel Gen 1 (Nvidia)](lenovo/thinkpad/t14/intel/gen1/nvidia) | ``| `lenovo-thinkpad-t14-intel-gen1-nvidia`| +| [Lenovo ThinkPad T14 Intel Gen 6](lenovo/thinkpad/t14/intel/gen6) | `` | `lenovo-thinkpad-t14-intel-gen6` | +| [Lenovo ThinkPad T14s AMD Gen 1](lenovo/thinkpad/t14s/amd/gen1) | `` | `lenovo-thinkpad-t14s-amd-gen1` | +| [Lenovo ThinkPad T14s AMD Gen 4](lenovo/thinkpad/t14s/amd/gen4) | `` | `lenovo-thinkpad-t14s-amd-gen4` | +| [Lenovo ThinkPad T14s](lenovo/thinkpad/t14s) | `` | `lenovo-thinkpad-t14s` | +| [Lenovo ThinkPad T410](lenovo/thinkpad/t410) | `` | `lenovo-thinkpad-t410` | +| [Lenovo ThinkPad T420](lenovo/thinkpad/t420) | `` | `lenovo-thinkpad-t420` | +| [Lenovo ThinkPad T430](lenovo/thinkpad/t430) | `` | `lenovo-thinkpad-t430` | +| [Lenovo ThinkPad T440p](lenovo/thinkpad/t440p) | `` | `lenovo-thinkpad-t440p` | +| [Lenovo ThinkPad T440s](lenovo/thinkpad/t440s) | `` | `lenovo-thinkpad-t440s` | +| [Lenovo ThinkPad T450s](lenovo/thinkpad/t450s) | `` | `lenovo-thinkpad-t450s` | +| [Lenovo ThinkPad T460](lenovo/thinkpad/t460) | `` | `lenovo-thinkpad-t460` | +| [Lenovo ThinkPad T460p](lenovo/thinkpad/t460p) | `` | `lenovo-thinkpad-t460p` | +| [Lenovo ThinkPad T460s](lenovo/thinkpad/t460s) | `` | `lenovo-thinkpad-t460s` | +| [Lenovo ThinkPad T470s](lenovo/thinkpad/t470s) | `` | `lenovo-thinkpad-t470s` | +| [Lenovo ThinkPad T480](lenovo/thinkpad/t480) | `` | `lenovo-thinkpad-t480` | +| [Lenovo ThinkPad T480s](lenovo/thinkpad/t480s) | `` | `lenovo-thinkpad-t480s` | +| [Lenovo ThinkPad T490](lenovo/thinkpad/t490) | `` | `lenovo-thinkpad-t490` | +| [Lenovo ThinkPad T490s](lenovo/thinkpad/t490s) | `` | `lenovo-thinkpad-t490s` | +| [Lenovo ThinkPad T495](lenovo/thinkpad/t495) | `` | `lenovo-thinkpad-t495` | +| [Lenovo ThinkPad T520](lenovo/thinkpad/t520) | `` | `lenovo-thinkpad-t520` | +| [Lenovo ThinkPad T550](lenovo/thinkpad/t550) | `` | `lenovo-thinkpad-t550` | +| [Lenovo ThinkPad T590](lenovo/thinkpad/t590) | `` | `lenovo-thinkpad-t590` | +| [Lenovo ThinkPad W520](lenovo/thinkpad/w520) | `` | `lenovo-thinkpad-w520` | +| [Lenovo ThinkPad X1 Yoga](lenovo/thinkpad/x1/yoga) | `` | `lenovo-thinkpad-x1-yoga` | +| [Lenovo ThinkPad X1 Yoga Gen 7](lenovo/thinkpad/x1/yoga/7th-gen/) | `` | `lenovo-thinkpad-x1-yoga-7th-gen` | +| [Lenovo ThinkPad X1 Yoga Gen 8](lenovo/thinkpad/x1/yoga/8th-gen/) | `` | `lenovo-thinkpad-x1-yoga-8th-gen` | +| [Lenovo ThinkPad X1 (2nd Gen)](lenovo/thinkpad/x1/2nd-gen) | `` | `lenovo-thinkpad-x1-2nd-gen` | +| [Lenovo ThinkPad X1 (6th Gen)](lenovo/thinkpad/x1/6th-gen) | `` | `lenovo-thinkpad-x1-6th-gen` | +| [Lenovo ThinkPad X1 (7th Gen)](lenovo/thinkpad/x1/7th-gen) | `` | `lenovo-thinkpad-x1-7th-gen` | +| [Lenovo ThinkPad X1 (9th Gen)](lenovo/thinkpad/x1/9th-gen) | `` | `lenovo-thinkpad-x1-9th-gen` | +| [Lenovo ThinkPad X1 (10th Gen)](lenovo/thinkpad/x1/10th-gen) | `` | `lenovo-thinkpad-x1-10th-gen` | +| [Lenovo ThinkPad X1 (11th Gen)](lenovo/thinkpad/x1/11th-gen) | `` | `lenovo-thinkpad-x1-11th-gen` | +| [Lenovo ThinkPad X1 (12th Gen)](lenovo/thinkpad/x1/12th-gen) | `` | `lenovo-thinkpad-x1-12th-gen` | +| [Lenovo ThinkPad X1 (13th Gen)](lenovo/thinkpad/x1/13th-gen) | `` | `lenovo-thinkpad-x1-13th-gen` | +| [Lenovo ThinkPad X1 Extreme Gen 2](lenovo/thinkpad/x1-extreme/gen2) | `` | `lenovo-thinkpad-x1-extreme-gen2` | +| [Lenovo ThinkPad X1 Extreme Gen 3](lenovo/thinkpad/x1-extreme/gen3) | `` | `lenovo-thinkpad-x1-extreme-gen3` | +| [Lenovo ThinkPad X1 Extreme Gen 4](lenovo/thinkpad/x1-extreme/gen4) | `` | `lenovo-thinkpad-x1-extreme-gen4` | +| [Lenovo ThinkPad X1 Nano Gen 1](lenovo/thinkpad/x1-nano/gen1) | `` | `lenovo-thinkpad-x1-nano-gen1` | +| [Lenovo ThinkPad X13s](lenovo/thinkpad/x13s) | `` | `lenovo-thinkpad-x13s` | +| [Lenovo ThinkPad X13 Yoga](lenovo/thinkpad/x13/yoga) | `` | `lenovo-thinkpad-x13-yoga` | +| [Lenovo ThinkPad X13 Yoga (3th Gen)](lenovo/thinkpad/x13/yoga/3th-gen) | `` | `lenovo-thinkpad-x13-yoga-3th-gen` | +| [Lenovo ThinkPad X13 (Intel)](lenovo/thinkpad/x13/intel) | `` | `lenovo-thinkpad-x13-intel` | +| [Lenovo ThinkPad X13 (AMD)](lenovo/thinkpad/x13/amd) | `` | `lenovo-thinkpad-x13-amd` | +| [Lenovo ThinkPad X140e](lenovo/thinkpad/x140e) | `` | `lenovo-thinkpad-x140e` | +| [Lenovo ThinkPad X200s](lenovo/thinkpad/x200s) | `` | `lenovo-thinkpad-x200s` | +| [Lenovo ThinkPad X220](lenovo/thinkpad/x220) | `` | `lenovo-thinkpad-x220` | +| [Lenovo ThinkPad X230](lenovo/thinkpad/x230) | `` | `lenovo-thinkpad-x230` | +| [Lenovo ThinkPad X250](lenovo/thinkpad/x250) | `` | `lenovo-thinkpad-x250` | +| [Lenovo ThinkPad X260](lenovo/thinkpad/x260) | `` | `lenovo-thinkpad-x260` | +| [Lenovo ThinkPad X270](lenovo/thinkpad/x270) | `` | `lenovo-thinkpad-x270` | +| [Lenovo ThinkPad X280](lenovo/thinkpad/x280) | `` | `lenovo-thinkpad-x280` | +| [Lenovo ThinkPad X390](lenovo/thinkpad/x390) | `` | `lenovo-thinkpad-x390` | +| [Lenovo ThinkPad Z Series](lenovo/thinkpad/z) | `` | `lenovo-thinkpad-z` | +| [Lenovo ThinkPad Z13 Gen 1](lenovo/thinkpad/z/gen1/z13) | `` | `lenovo-thinkpad-z13-gen1` | +| [Lenovo ThinkPad Z13 Gen 2](lenovo/thinkpad/z/gen2/z13) | `` | `lenovo-thinkpad-z13-gen2` | +| [Lenovo XiaoXin Pro 14imh9 2024](lenovo/ideapad/14imh9) | `` | `lenovo-ideapad-14imh9` | +| [LENOVO Yoga 6 13ALC6 82ND](lenovo/yoga/6/13ALC6) | `` | `lenovo-yoga-6-13ALC6` | +| [LENOVO Yoga Slim 7 Pro-X 14ARH7 82ND](lenovo/yoga/7/14ARH7/amdgpu) | `` | `lenovo-yoga-7-14ARH7-amdgpu` | +| [LENOVO Yoga Slim 7 Pro-X 14ARH7 82ND](lenovo/yoga/7/14ARH7/nvidia) | `` | `lenovo-yoga-7-14ARH7-nvidia` | +| [Lenovo Yoga Slim 7i Pro X 14IAH7 (Integrated)](lenovo/yoga/7/14IAH7/integrated) | `` | `lenovo-yoga-7-14IAH7-integrated` | +| [Lenovo Yoga Slim 7i Pro X 14IAH7 (Hybrid)](lenovo/yoga/7/14IAH7/hybrid) | `` | `lenovo-yoga-7-14IAH7-hybrid` | +| [Lenovo Yoga Slim 7 14ILL10](lenovo/yoga/7/14ILL10) | `` | `lenovo-yoga-7-14ILL10` | +| [LENOVO Yoga 7 Slim Gen8](lenovo/yoga/7/slim/gen8) | `` | `lenovo-yoga-7-slim-gen8` | +| [Linglong Nova Studio](linglong/nova-studio) | `` | `linglong-nova-studio` | +| [MSI B550-A PRO](msi/b550-a-pro) | `` | `msi-b550-a-pro` | +| [MSI B350 TOMAHAWK](msi/b350-tomahawk) | `` | `msi-b350-tomahawk` | +| [MSI B550 TOMAHAWK](msi/b550-tomahawk) | `` | `msi-b550-tomahawk` | +| [MSI GS60 2QE](msi/gs60) | `` | `msi-gs60` | +| [MSI GL62/CX62](msi/gl62) | `` | `msi-gl62` | +| [MSI GL65 10SDR-492](msi/gl65/10SDR-492) | `` | `msi-gl65-10SDR-492` | +| [Malibal Aon S1](malibal/aon/s1) | | `` | `malibal-aon-s1` | +| [Microchip Icicle Kit](microchip/icicle-kit) | `` | `microchip-icicle-kit` | +| [Microsoft Surface Go](microsoft/surface/surface-go) | `` | `microsoft-surface-go` | +| [Microsoft Surface Pro (Intel)](microsoft/surface/surface-pro-intel) | `` | `microsoft-surface-pro-intel` | +| [Microsoft Surface Laptop (AMD)](microsoft/surface/surface-laptop-amd) | `` | `microsoft-surface-laptop-amd` | +| [Microsoft Surface Range (Common Modules)](microsoft/surface/common) | `` | `microsoft-surface-common` | +| [Microsoft Surface Pro 3](microsoft/surface-pro/3) | `` | `microsoft-surface-pro-3` | +| [Microsoft Surface Pro 9](microsoft/surface-pro/9) | `` | `microsoft-surface-pro-9` | +| [Milk-V Pioneer](milkv/pioneer) | `` | `milkv-pioneer` | +| [Morefine M600](morefine/m600) | `` | `morefine-m600` | +| [Minisforum V3](minisforum/v3) | `` | `minisforum-v3` | +| [MNT Reform with RK3588 module](mnt/reform/rk3588) | `` | `mechrevo-gm5hg0a` | +| [NXP iMX8 MPlus Evaluation Kit](nxp/imx8mp-evk) | `` | `nxp-imx8mp-evk` | +| [NXP iMX8 MQuad Evaluation Kit](nxp/imx8mq-evk) | `` | `nxp-imx8mq-evk` | +| [Hardkernel Odroid HC4](hardkernel/odroid-hc4/default.nix) | `` | `hardkernel-odroid-hc4` | +| [Hardkernel Odroid H3](hardkernel/odroid-h3/default.nix) | `` | `hardkernel-odroid-h3` | +| [Hardkernel Odroid H4](hardkernel/odroid-h4/default.nix) | `` | `hardkernel-odroid-h4` | +| [Olimex TERES-I](olimex/teres_i) | `` | `olimex-teres_i` | +| [Omen 14-fb0798ng](omen/14-fb0798ng) | `` | `omen-14-fb0798ng` | +| [Omen 15-ce002ns](omen/15-ce002ns) | `` | `omen-15-ce002ns` | +| [Omen 15-en0010ca](omen/15-en0010ca) | `` | `omen-15-en0010ca` | +| [Omen 16-n0005ne](omen/16-n0005ne) | `` | `omen-16-n0005ne` | +| [Omen 16-n0280nd](/omen/16-n0280nd) | `` | `omen-16-n0280nd` | +| [Omen 15-en1007sa](omen/15-en1007sa) | `` | `omen-15-en1007sa` | +| [Omen 15-en0002np](omen/15-en0002np) | `` | `omen-15-en0002np` | +| [One-Netbook OneNetbook 4](onenetbook/4) | `` | `onenetbook-4` | +| [Panasonic Let's Note CF-LX3](panasonic/letsnote/cf-lx3) | `` | `panasonic-letsnote-cf-lx3` | +| [Panasonic Let's Note CF-LX4](panasonic/letsnote/cf-lx4) | `` | `letsnote-cf-lx4` | +| [PC Engines APU](pcengines/apu) | `` | `pcengines-apu` | +| [PINE64 Pinebook Pro](pine64/pinebook-pro/) | `` | `pine64-pinebook-pro` | +| [PINE64 RockPro64](pine64/rockpro64/) | `` | `pine64-rockpro64` | +| [PINE64 STAR64](pine64/star64/) | `` | `pine64-star64` | +| [Protectli VP4670](protectli/vp4670/) | `` | `protectli-vp4670` | +| [Purism Librem 13v3](purism/librem/13v3) | `` | `purism-librem-13v3` | +| [Purism Librem 15v3](purism/librem/15v3) | `` | `purism-librem-15v3` | +| [Purism Librem 5r4](purism/librem/5r4) | `` | `purism-librem-5r4` | +| [Radxa ROCK 4C+](radxa/rock-4c-plus) | `` | `rock-4c-plus` | +| [Radxa ROCK 5 Model B](radxa/rock-5b) | `` | `rock-5b` | +| [Radxa ROCK Pi 4](radxa/rock-pi-4) | `` | `rock-pi-4` | +| [Radxa ROCK Pi E](radxa/rock-pi-e) | `` | `rock-pi-e` | +| [Raspberry Pi 2](raspberry-pi/2) | `` | `raspberry-pi-2` | +| [Raspberry Pi 3](raspberry-pi/3) | `` | `raspberry-pi-3` | +| [Raspberry Pi 4](raspberry-pi/4) | `` | `raspberry-pi-4` | +| [Raspberry Pi 5](raspberry-pi/5) | `` | `raspberry-pi-5` | +| [Samsung Series 9 NP900X3C](samsung/np900x3c) | `` | `samsung-np900x3c` | +| [Slimbook Hero RPL-RTX](slimbook/hero/rpl-rtx) | `` | `slimbook-hero-rpl-rtx` | +| [StarFive VisionFive v1](starfive/visionfive/v1) | `` | `starfive-visionfive-v1` | +| [StarFive VisionFive 2](starfive/visionfive/v2) | `` | `starfive-visionfive-2` | +| [StarLabs StarLite 5 (I5)](starlabs/starlite/i5) | `` | `starlabs-starlite-i5` | +| [Supermicro A1SRi-2758F](supermicro/a1sri-2758f) | `` | `supermicro-a1sri-2758f` | +| [Supermicro M11SDV-8C-LN4F](supermicro/m11sdv-8c-ln4f) | `` | `supermicro-m11sdv-8c-ln4f` | +| [Supermicro X10SLL-F](supermicro/x10sll-f) | `` | `supermicro-x10sll-f` | +| [Supermicro X12SCZ-TLN4F](supermicro/x12scz-tln4f) | `` | `supermicro-x12scz-tln4f` | +| [System76 (generic)](system76) | `` | `system76` | +| [System76 Darter Pro 6](system76/darp6) | `` | `system76-darp6` | +| [System76 Gazelle 18](system76/gaze18) | `` | `system76-gaze18` | +| [System76 Galago Pro 5](system76/galp5-1650) | `` | `system76-galp5-1650` | +| [System76 Thelio Mega](system76/thelio-mega) | `` | `system76-thelio-mega` | +| [Toshiba Chromebook 2 `swanky`](toshiba/swanky) | `` | `toshiba-swanky` | +| [Tuxedo InfinityBook v4](tuxedo/infinitybook/v4) | `` | `tuxedo-infinitybook-v4` | +| [TUXEDO Aura 15 - Gen1](tuxedo/aura/15/gen1) | `` | `tuxedo-aura-15-gen1` | +| [TUXEDO InfinityBook Pro 14 - Gen7](tuxedo/infinitybook/pro14/gen7) | `` | `tuxedo-infinitybook-pro14-gen7` | +| [TUXEDO InfinityBook Pro 14 - Gen9 - AMD](tuxedo/infinitybook/pro14/gen9/amd) | `` | `tuxedo-infinitybook-pro14-gen9-amd` | +| [TUXEDO InfinityBook Pro 14 - Gen9 - INTEL](tuxedo/infinitybook/pro14/gen9/intel) | `` | `tuxedo-infinitybook-pro14-gen9-intel` | +| [TUXEDO Pulse 14 - Gen3](tuxedo/pulse/14/gen3) | `` | `tuxedo-pulse-14-gen3` | +| [TUXEDO Pulse 15 - Gen2](tuxedo/pulse/15/gen2) | `` | `tuxedo-pulse-15-gen2` | +| [Xiaomi Redmibook 15 Pro 2021](xiaomi/redmibook/15-pro-2021) | `` | `xiaomi-redmibook-15-pro-2021` | +| [Xiaomi Redmibook 16 Pro 2024](xiaomi/redmibook/16-pro-2024) | `` | `xiaomi-redmibook-16-pro-2024` | + From d0955d227d7c4c42ff8e0efe77d910061c5e303d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Tue, 7 Oct 2025 22:07:48 +0200 Subject: [PATCH 085/117] raspberry-pi/3: load usbhid and usb_storage --- raspberry-pi/3/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/raspberry-pi/3/default.nix b/raspberry-pi/3/default.nix index 00e052f6..9ac90082 100644 --- a/raspberry-pi/3/default.nix +++ b/raspberry-pi/3/default.nix @@ -5,7 +5,13 @@ }: { - boot.kernelPackages = lib.mkDefault pkgs.linuxKernel.packages.linux_rpi3; + boot = { + kernelPackages = lib.mkDefault pkgs.linuxKernel.packages.linux_rpi3; + initrd.availableKernelModules = [ + "usbhid" + "usb_storage" + ]; + }; # fix the following error : # modprobe: FATAL: Module ahci not found in directory From a8bbda89115038163102c3fb51e41c939f7e0434 Mon Sep 17 00:00:00 2001 From: Karun Sandhu <129101708+MrSom3body@users.noreply.github.com> Date: Sat, 26 Jul 2025 14:14:24 +0200 Subject: [PATCH 086/117] init: Asus Zenbook 17 Pro --- README.md | 2 +- asus/zenbook/um6702/default.nix | 36 +++++++++++++++++++++++++++++++++ flake.nix | 1 + 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 asus/zenbook/um6702/default.nix diff --git a/README.md b/README.md index b1aa4fa7..cb513494 100644 --- a/README.md +++ b/README.md @@ -133,6 +133,7 @@ See code for all available configurations. | [Asus Zenbook Duo 14 UX481](asus/zenbook/ux481/nvidia/) | `` | `asus-zenbook-ux481-nvidia` | | [Asus Zenbook Flip S13 UX371](asus/zenbook/ux371/) | `` | `asus-zenbook-ux371` | | [Asus Zenbook Pro 15 UX535](asus/zenbook/ux535/) | `` | `asus-zenbook-ux535` | +| [Asus Zenbook Pro 17 UM6702](asus/zenbook/um6702/) | `` | `asus-zenbook-um6702` | | [BeagleBoard PocketBeagle](beagleboard/pocketbeagle) | `` | `beagleboard-pocketbeagle` | | [Chuwi MiniBook X](chuwi/minibook-x) | `` | `chuwi-minibook-x` | | [Deciso DEC series](deciso/dec) | `` | `deciso-dec` | @@ -445,4 +446,3 @@ See code for all available configurations. | [TUXEDO Pulse 15 - Gen2](tuxedo/pulse/15/gen2) | `` | `tuxedo-pulse-15-gen2` | | [Xiaomi Redmibook 15 Pro 2021](xiaomi/redmibook/15-pro-2021) | `` | `xiaomi-redmibook-15-pro-2021` | | [Xiaomi Redmibook 16 Pro 2024](xiaomi/redmibook/16-pro-2024) | `` | `xiaomi-redmibook-16-pro-2024` | - diff --git a/asus/zenbook/um6702/default.nix b/asus/zenbook/um6702/default.nix new file mode 100644 index 00000000..32c068f1 --- /dev/null +++ b/asus/zenbook/um6702/default.nix @@ -0,0 +1,36 @@ +{ lib, ... }: +let + inherit (lib) mkDefault; +in +{ + imports = [ + ../../../common/cpu/amd + ../../../common/cpu/amd/pstate.nix + + # iGPU + ../../../common/gpu/amd + + # dGPU + ../../../common/gpu/nvidia/prime.nix + ../../../common/gpu/nvidia/ampere + + ../../../common/pc/laptop + ../../../common/pc/ssd + + ../../battery.nix + ]; + + hardware.nvidia = { + dynamicBoost.enable = mkDefault true; + + powerManagement = { + enable = mkDefault true; + finegrained = mkDefault true; + }; + + prime = { + amdgpuBusId = "PCI:1:0:0"; + nvidiaBusId = "PCI:101:0:0"; + }; + }; +} diff --git a/flake.nix b/flake.nix index 407dea02..32fb1e0f 100644 --- a/flake.nix +++ b/flake.nix @@ -50,6 +50,7 @@ asus-rog-strix-g713ie = import ./asus/rog-strix/g713ie; asus-rog-strix-g733qs = import ./asus/rog-strix/g733qs; asus-rog-strix-x570e = import ./asus/rog-strix/x570e; + asus-zenbook-um6702 = import ./asus/zenbook/um6702; asus-zenbook-ux371 = import ./asus/zenbook/ux371; asus-zenbook-ux535 = import ./asus/zenbook/ux535; asus-zenbook-ux481-intelgpu = import ./asus/zenbook/ux481/intelgpu; From c52ea609012ae1b3259a5ece08d192bf38dc167e Mon Sep 17 00:00:00 2001 From: Karun Sandhu <129101708+MrSom3body@users.noreply.github.com> Date: Thu, 9 Oct 2025 22:17:40 +0200 Subject: [PATCH 087/117] asus/battery: fix battery threshold not being set after hibernation --- asus/battery.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/asus/battery.nix b/asus/battery.nix index 4639baa4..8492d878 100644 --- a/asus/battery.nix +++ b/asus/battery.nix @@ -31,10 +31,14 @@ in wantedBy = [ "local-fs.target" "suspend.target" + "suspend-then-hibernate.target" + "hibernate.target" ]; after = [ "local-fs.target" "suspend.target" + "suspend-then-hibernate.target" + "hibernate.target" ]; description = "Set the battery charge threshold to ${toString cfg.chargeUpto}%"; startLimitBurst = 5; From eb9e8e10ac733256bac2dc2af89a3075ce6111aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 8 Oct 2025 15:42:59 +0200 Subject: [PATCH 088/117] raspberrypi/4: fix many option rendering --- raspberry-pi/4/audio.nix | 4 +--- raspberry-pi/4/backlight.nix | 4 +--- raspberry-pi/4/bluetooth.nix | 4 +--- raspberry-pi/4/digi-amp-plus.nix | 6 ++---- raspberry-pi/4/dwc2.nix | 33 ++++++++++++++++++-------------- raspberry-pi/4/i2c.nix | 24 +++++++++++++---------- raspberry-pi/4/pkgs-overlays.nix | 10 ++++++---- raspberry-pi/4/poe-hat.nix | 4 +--- raspberry-pi/4/poe-plus-hat.nix | 4 +--- raspberry-pi/4/pwm0.nix | 4 +--- raspberry-pi/4/tc358743.nix | 24 +++++++++++++---------- raspberry-pi/4/touch-ft5406.nix | 18 +++++++++-------- raspberry-pi/4/tv-hat.nix | 6 ++---- raspberry-pi/4/xhci.nix | 4 +--- 14 files changed, 74 insertions(+), 75 deletions(-) diff --git a/raspberry-pi/4/audio.nix b/raspberry-pi/4/audio.nix index 08c0b921..7241b2cf 100644 --- a/raspberry-pi/4/audio.nix +++ b/raspberry-pi/4/audio.nix @@ -11,9 +11,7 @@ in { options.hardware = { raspberry-pi."4".audio = { - enable = lib.mkEnableOption '' - configuration for audio - ''; + enable = lib.mkEnableOption "configuration for audio"; }; }; diff --git a/raspberry-pi/4/backlight.nix b/raspberry-pi/4/backlight.nix index 31c0e906..e0ce8d56 100644 --- a/raspberry-pi/4/backlight.nix +++ b/raspberry-pi/4/backlight.nix @@ -6,9 +6,7 @@ in { options.hardware = { raspberry-pi."4".backlight = { - enable = lib.mkEnableOption '' - Enable the backlight support for the Raspberry Pi official Touch Display - ''; + enable = lib.mkEnableOption "the backlight support for the Raspberry Pi official Touch Display"; }; }; diff --git a/raspberry-pi/4/bluetooth.nix b/raspberry-pi/4/bluetooth.nix index 78619bcd..6a0f6323 100644 --- a/raspberry-pi/4/bluetooth.nix +++ b/raspberry-pi/4/bluetooth.nix @@ -6,9 +6,7 @@ in { options.hardware = { raspberry-pi."4".bluetooth = { - enable = lib.mkEnableOption '' - configuration for bluetooth - ''; + enable = lib.mkEnableOption "configuration for bluetooth"; }; }; diff --git a/raspberry-pi/4/digi-amp-plus.nix b/raspberry-pi/4/digi-amp-plus.nix index 3c19f3a8..f9a3a5b3 100644 --- a/raspberry-pi/4/digi-amp-plus.nix +++ b/raspberry-pi/4/digi-amp-plus.nix @@ -6,15 +6,13 @@ in { options.hardware = { raspberry-pi."4".digi-amp-plus = { - enable = lib.mkEnableOption '' - support for the IQaudIO DigiAMP+ Hat. - ''; + enable = lib.mkEnableOption "support for the IQaudIO DigiAMP+ Hat"; unmuteAmp = lib.mkOption { type = lib.types.bool; default = false; description = '' - "one-shot" unmute when kernel module first loads. + Whether to "one-shot" unmute when kernel module first loads. ''; }; diff --git a/raspberry-pi/4/dwc2.nix b/raspberry-pi/4/dwc2.nix index 874efa24..5d49f9a1 100644 --- a/raspberry-pi/4/dwc2.nix +++ b/raspberry-pi/4/dwc2.nix @@ -6,24 +6,29 @@ in { options.hardware = { raspberry-pi."4".dwc2 = { - enable = lib.mkEnableOption '' - Enable the UDC controller to support USB OTG gadget functions. + enable = lib.mkOption { + type = lib.types.bool; + default = false; + example = true; + description = '' + Enable the UDC controller to support USB OTG gadget functions. - In order to verify that this works, connect the Raspberry Pi with - another computer via the USB C cable, and then do one of: + In order to verify that this works, connect the Raspberry Pi with + another computer via the USB C cable, and then do one of: - - `modprobe g_serial` - - `modprobe g_mass_storage file=/path/to/some/iso-file.iso` + - `modprobe g_serial` + - `modprobe g_mass_storage file=/path/to/some/iso-file.iso` - On the Raspberry Pi, `dmesg` should then show success-indicating output - that is related to the dwc2 and g_serial/g_mass_storage modules. - On the other computer, a serial/mass-storage device should pop up in - the system logs. + On the Raspberry Pi, `dmesg` should then show success-indicating output + that is related to the dwc2 and g_serial/g_mass_storage modules. + On the other computer, a serial/mass-storage device should pop up in + the system logs. - For more information about what gadget functions exist along with handy - guides on how to test them, please refer to: - https://www.kernel.org/doc/Documentation/usb/gadget-testing.txt - ''; + For more information about what gadget functions exist along with handy + guides on how to test them, please refer to: + https://www.kernel.org/doc/Documentation/usb/gadget-testing.txt + ''; + }; dr_mode = lib.mkOption { type = lib.types.enum [ "host" diff --git a/raspberry-pi/4/i2c.nix b/raspberry-pi/4/i2c.nix index 5939a78a..a03eccd0 100644 --- a/raspberry-pi/4/i2c.nix +++ b/raspberry-pi/4/i2c.nix @@ -31,28 +31,32 @@ in { options.hardware.raspberry-pi."4" = { i2c0 = { - enable = lib.mkEnableOption '' - Turn on the VideoCore I2C bus (maps to /dev/i2c-22) and enable access from the i2c group. - After a reboot, i2c-tools (e.g. i2cdetect -F 22) should work for root or any user in i2c. - ''; + enable = lib.mkEnableOption "" // { + description = '' + Turn on the VideoCore I2C bus (maps to /dev/i2c-22) and enable access from the i2c group. + After a reboot, i2c-tools (e.g. i2cdetect -F 22) should work for root or any user in i2c. + ''; + }; frequency = lib.mkOption { type = lib.types.nullOr lib.types.int; default = null; description = '' - interface clock-frequency + The interface clock-frequency to configure. ''; }; }; i2c1 = { - enable = lib.mkEnableOption '' - Turn on the ARM I2C bus (/dev/i2c-1 on GPIO pins 3 and 5) and enable access from the i2c group. - After a reboot, i2c-tools (e.g. i2cdetect -F 1) should work for root or any user in i2c. - ''; + enable = lib.mkEnableOption "" // { + description = '' + Turn on the ARM I2C bus (/dev/i2c-1 on GPIO pins 3 and 5) and enable access from the i2c group. + After a reboot, i2c-tools (e.g. i2cdetect -F 1) should work for root or any user in i2c. + ''; + }; frequency = lib.mkOption { type = lib.types.nullOr lib.types.int; default = null; description = '' - interface clock-frequency + The interface clock-frequency to configure. ''; }; }; diff --git a/raspberry-pi/4/pkgs-overlays.nix b/raspberry-pi/4/pkgs-overlays.nix index 95109c21..f36577a5 100644 --- a/raspberry-pi/4/pkgs-overlays.nix +++ b/raspberry-pi/4/pkgs-overlays.nix @@ -10,10 +10,12 @@ in { options.hardware = { raspberry-pi."4".apply-overlays-dtmerge = { - enable = lib.mkEnableOption '' - replace deviceTree.applyOverlays implementation to use dtmerge from libraspberrypi. - this can resolve issues with applying dtbs for the pi. - ''; + enable = lib.mkEnableOption "" // { + description = '' + Whether replace deviceTree.applyOverlays implementation to use dtmerge from libraspberrypi. + This can resolve issues with applying dtbs for the pi. + ''; + }; }; }; diff --git a/raspberry-pi/4/poe-hat.nix b/raspberry-pi/4/poe-hat.nix index 0eb8d847..3ec29db3 100644 --- a/raspberry-pi/4/poe-hat.nix +++ b/raspberry-pi/4/poe-hat.nix @@ -6,9 +6,7 @@ in { options.hardware = { raspberry-pi."4".poe-hat = { - enable = lib.mkEnableOption '' - support for the Raspberry Pi POE Hat. - ''; + enable = lib.mkEnableOption "support for the Raspberry Pi POE Hat"; }; }; diff --git a/raspberry-pi/4/poe-plus-hat.nix b/raspberry-pi/4/poe-plus-hat.nix index 985971f3..b6d1fa3f 100644 --- a/raspberry-pi/4/poe-plus-hat.nix +++ b/raspberry-pi/4/poe-plus-hat.nix @@ -6,9 +6,7 @@ in { options.hardware = { raspberry-pi."4".poe-plus-hat = { - enable = lib.mkEnableOption '' - support for the Raspberry Pi PoE+ HAT. - ''; + enable = lib.mkEnableOption "support for the Raspberry Pi PoE+ HAT"; }; }; diff --git a/raspberry-pi/4/pwm0.nix b/raspberry-pi/4/pwm0.nix index 665f81be..da93a767 100644 --- a/raspberry-pi/4/pwm0.nix +++ b/raspberry-pi/4/pwm0.nix @@ -6,9 +6,7 @@ in { options.hardware = { raspberry-pi."4".pwm0 = { - enable = lib.mkEnableOption '' - Enable support for the hardware pwm0 channel on GPIO_18 - ''; + enable = lib.mkEnableOption "support for the hardware pwm0 channel on GPIO_18"; }; }; diff --git a/raspberry-pi/4/tc358743.nix b/raspberry-pi/4/tc358743.nix index 6dc9f76d..02015e73 100644 --- a/raspberry-pi/4/tc358743.nix +++ b/raspberry-pi/4/tc358743.nix @@ -6,13 +6,15 @@ in { options.hardware = { raspberry-pi."4".tc358743 = { - enable = lib.mkEnableOption '' - Enable support for the Toshiba TC358743 HDMI-to-CSI-2 converter. + enable = lib.mkEnableOption "" // { + description = '' + Enable support for the Toshiba TC358743 HDMI-to-CSI-2 converter. - This can be tested with a plugged in converter device and for example - running ustreamer (which starts webservice providing a camera stream): - ''${pkgs.ustreamer}/bin/ustreamer --persistent --dv-timings - ''; + This can be tested with a plugged in converter device and for example + running ustreamer (which starts webservice providing a camera stream): + ''${pkgs.ustreamer}/bin/ustreamer --persistent --dv-timings + ''; + }; lanes = lib.mkOption { type = lib.types.enum [ 2 @@ -23,11 +25,13 @@ in Number of CSI lanes available ''; }; - media-controller = lib.mkEnableOption '' - Enable support for the Media Controller API. + media-controller = lib.mkEnableOption "" // { + description = '' + Enable support for the Media Controller API. - See https://forums.raspberrypi.com/viewtopic.php?t=322076 for details - ''; + See https://forums.raspberrypi.com/viewtopic.php?t=322076 for details + ''; + }; }; }; diff --git a/raspberry-pi/4/touch-ft5406.nix b/raspberry-pi/4/touch-ft5406.nix index 5cc0a70f..3c8acdb2 100644 --- a/raspberry-pi/4/touch-ft5406.nix +++ b/raspberry-pi/4/touch-ft5406.nix @@ -6,16 +6,18 @@ in { options.hardware = { raspberry-pi."4".touch-ft5406 = { - enable = lib.mkEnableOption '' - Enable the touch controller of the official Raspberry Pi touch diplay. + enable = lib.mkEnableOption "" // { + description = '' + Enable the touch controller of the official Raspberry Pi touch diplay. - The overlay is taken from the official Raspberry Pi Linux fork, and - the `compatible` field is updated to match the target device tree. - https://github.com/raspberrypi/linux/blob/14b35093ca68bf2c81bbc90aace5007142b40b40/arch/arm/boot/dts/overlays/rpi-ft5406-overlay.dts + The overlay is taken from the official Raspberry Pi Linux fork, and + the `compatible` field is updated to match the target device tree. + https://github.com/raspberrypi/linux/blob/14b35093ca68bf2c81bbc90aace5007142b40b40/arch/arm/boot/dts/overlays/rpi-ft5406-overlay.dts - For more information about the touch display, please refer to: - https://www.raspberrypi.com/documentation/accessories/display.html - ''; + For more information about the touch display, please refer to: + https://www.raspberrypi.com/documentation/accessories/display.html + ''; + }; }; }; diff --git a/raspberry-pi/4/tv-hat.nix b/raspberry-pi/4/tv-hat.nix index 263d6fcf..5ff9ca93 100644 --- a/raspberry-pi/4/tv-hat.nix +++ b/raspberry-pi/4/tv-hat.nix @@ -6,9 +6,7 @@ in { options.hardware = { raspberry-pi."4".tv-hat = { - enable = lib.mkEnableOption '' - support for the Raspberry Pi TV Hat. - ''; + enable = lib.mkEnableOption "support for the Raspberry Pi TV Hat"; }; }; config = lib.mkIf cfg.enable { @@ -22,7 +20,7 @@ in dtsText = " /dts-v1/; /plugin/; - + /{ compatible = \"brcm,bcm2711\"; fragment@0 { diff --git a/raspberry-pi/4/xhci.nix b/raspberry-pi/4/xhci.nix index eb1d2ada..56503df3 100644 --- a/raspberry-pi/4/xhci.nix +++ b/raspberry-pi/4/xhci.nix @@ -9,9 +9,7 @@ in { options.hardware = { raspberry-pi."4".xhci = { - enable = lib.mkEnableOption '' - Enable builtin XHCI controller for USB with otg_mode=1 in config.txt - ''; + enable = lib.mkEnableOption "builtin XHCI controller for USB with otg_mode=1 in config.txt"; }; }; From c4fe135227fa4b00f5cf42d917e96191dd490249 Mon Sep 17 00:00:00 2001 From: NAHO <90870942+trueNAHO@users.noreply.github.com> Date: Mon, 6 Oct 2025 22:34:19 +0200 Subject: [PATCH 089/117] CODEOWNERS: remove trueNAHO from tuxedo-pulse-14-gen3 Remove trueNAHO from tuxedo-pulse-14-gen3 because I never owned this hardware. Fixes: caabc425565b ("feat: Update CODEOWNERS for Tuxedo Pulse Laptops") --- CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODEOWNERS b/CODEOWNERS index 367aaafa..3cfbdf4b 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -11,4 +11,4 @@ purism/librem/13v3 @yegortimoshenko system76/darp6 @khumba framework @emiller88 tuxedo/pulse/15/gen2 @trueNAHO -tuxedo/pulse/14/gen3 @gabyx @britter @trueNAHO +tuxedo/pulse/14/gen3 @gabyx @britter From b27995044c4387a889f22dfe26cc3ac5262f4a44 Mon Sep 17 00:00:00 2001 From: rti Date: Thu, 23 Oct 2025 15:18:06 +0000 Subject: [PATCH 090/117] fix: enable enableRedistributableFirmware on framework 13 intel core --- framework/13-inch/intel-core-ultra-series1/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/framework/13-inch/intel-core-ultra-series1/default.nix b/framework/13-inch/intel-core-ultra-series1/default.nix index 7553e687..29d94e07 100644 --- a/framework/13-inch/intel-core-ultra-series1/default.nix +++ b/framework/13-inch/intel-core-ultra-series1/default.nix @@ -20,6 +20,9 @@ lib.mkDefault pkgs.linuxPackages_latest ); + # NPU, GPU + hardware.enableRedistributableFirmware = lib.mkDefault true; + # Intel NPU Driver # https://discourse.nixos.org/t/new-installation-on-asus-zenbook-ux5406-intel-vpu-firmware-error-2/58732/2 hardware.firmware = lib.optionals (config.hardware.enableRedistributableFirmware) [ @@ -40,10 +43,6 @@ ) ]; - warnings = lib.mkIf (!config.hardware.enableRedistributableFirmware) [ - ''For Intel NPU support, set the option: hardware.enableRedistributableFirmware = true;'' - ]; - hardware.framework.laptop13.audioEnhancement.rawDeviceName = lib.mkDefault "alsa_output.pci-0000_00_1f.3.analog-stereo"; } From 7667e196787c527e520c9bc7ca985f7f8caa5968 Mon Sep 17 00:00:00 2001 From: Michael Vessia Date: Thu, 23 Oct 2025 20:20:44 -0400 Subject: [PATCH 091/117] Fix Framework 12th Gen Intel Core link path --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cb513494..bd4fd3c9 100644 --- a/README.md +++ b/README.md @@ -199,7 +199,7 @@ See code for all available configurations. | [Dell XPS 17 9700, nvidia](dell/xps/17-9700/nvidia) | `` | `dell-xps-17-9700-nvidia` | | [Dell XPS 17 9710, intel only](dell/xps/17-9710/intel) | `` | `dell-xps-17-9710-intel` | | [Framework 11th Gen Intel Core](framework/13-inch/11th-gen-intel) | `` | `framework-11th-gen-intel` | -| [Framework 12th Gen Intel Core](framework/12-inch/12th-gen-intel) | `` | `framework-12th-gen-intel` | +| [Framework 12th Gen Intel Core](framework/13-inch/12th-gen-intel) | `` | `framework-12th-gen-intel` | | [Framework 13th Gen Intel Core](framework/13-inch/13th-gen-intel) | `` | `framework-13th-gen-intel` | | [Framework Intel Core Ultra Series 1](framework/13-inch/intel-core-ultra-series1) | `` | `framework-intel-core-ultra-series1` | | [Framework 13 AMD Ryzen 7040 Series](framework/13-inch/7040-amd) | `` | `framework-13-7040-amd` | From 34b7229b9588772e6d92cc875ba4e5fefa6e4133 Mon Sep 17 00:00:00 2001 From: Govind Singh Date: Tue, 21 Oct 2025 09:28:17 +0400 Subject: [PATCH 092/117] Add support for i.MX93-EVK platform The i.MX93 EVK provides a platform for comprehensive evaluation of the i.MX93 application processors. This change adds support in NixOS hardware to provide a template for customized i.MX93-based platforms. Signed-off-by: Govind Singh --- flake.nix | 1 + nxp/README.md | 7 +- nxp/imx93-evk/bsp/imx93-atf.nix | 50 ++++++++++++++ nxp/imx93-evk/bsp/imx93-boot.nix | 85 ++++++++++++++++++++++++ nxp/imx93-evk/bsp/imx93-firmware.nix | 47 +++++++++++++ nxp/imx93-evk/bsp/imx93-linux.nix | 62 +++++++++++++++++ nxp/imx93-evk/bsp/imx93-optee-os.nix | 75 +++++++++++++++++++++ nxp/imx93-evk/bsp/imx93-uboot.nix | 99 ++++++++++++++++++++++++++++ nxp/imx93-evk/default.nix | 19 ++++++ nxp/imx93-evk/modules.nix | 17 +++++ nxp/imx93-evk/overlay.nix | 3 + 11 files changed, 462 insertions(+), 3 deletions(-) create mode 100644 nxp/imx93-evk/bsp/imx93-atf.nix create mode 100644 nxp/imx93-evk/bsp/imx93-boot.nix create mode 100644 nxp/imx93-evk/bsp/imx93-firmware.nix create mode 100644 nxp/imx93-evk/bsp/imx93-linux.nix create mode 100644 nxp/imx93-evk/bsp/imx93-optee-os.nix create mode 100644 nxp/imx93-evk/bsp/imx93-uboot.nix create mode 100644 nxp/imx93-evk/default.nix create mode 100644 nxp/imx93-evk/modules.nix create mode 100644 nxp/imx93-evk/overlay.nix diff --git a/flake.nix b/flake.nix index 32fb1e0f..bc3a709e 100644 --- a/flake.nix +++ b/flake.nix @@ -331,6 +331,7 @@ nxp-imx8mp-evk = import ./nxp/imx8mp-evk; nxp-imx8mq-evk = import ./nxp/imx8mq-evk; nxp-imx8qm-mek = import ./nxp/imx8qm-mek; + nxp-imx93-evk = import ./nxp/imx93-evk; hardkernel-odroid-hc4 = import ./hardkernel/odroid-hc4; hardkernel-odroid-h3 = import ./hardkernel/odroid-h3; hardkernel-odroid-h4 = import ./hardkernel/odroid-h4; diff --git a/nxp/README.md b/nxp/README.md index f8ccefa0..cf1f5d2a 100644 --- a/nxp/README.md +++ b/nxp/README.md @@ -21,17 +21,18 @@ Code snippet example that enables imx8qm configuration: } ``` -### 2.2 For imx8mq-evk/imx8mp-evk +### 2.2 For imx8mq-evk/imx8mp-evk/imx93-evk This NXP overlay is used for generating sdimage. -Current configuration uses uboot as a bootloader. It provides an options to use optee-os which is currently disabled. It can be enabled using `enable-tee` boolean argument avalable in `imx8m-boot.nix`, which is `false` by default. +Current configuration uses uboot as a bootloader. It provides an options to use optee-os which is currently disabled. It can be enabled using `enable-tee` boolean argument avalable in `imx8m-boot.nix`, which is `false` by default in imx8m platform. -Code snippet example that enables 'imx8mp-evk/emx8mq-evk' configuration: +Code snippet example that enables 'imx8mp-evk/imx8mq-evk/imx93-evk' configuration: ``` { nixos-hardware, }: { system = "aarch64-linux"; modules = [ nixos-hardware.nixosModules.imx8mp-evk #For imx8mp-evk + #nixos-hardware.nixosModules.imx93-evk #For imx93-evk #nixos-hardware.nixosModules.imx8mq-evk #For imx8mq-evk ]; } diff --git a/nxp/imx93-evk/bsp/imx93-atf.nix b/nxp/imx93-evk/bsp/imx93-atf.nix new file mode 100644 index 00000000..4180dde5 --- /dev/null +++ b/nxp/imx93-evk/bsp/imx93-atf.nix @@ -0,0 +1,50 @@ +{ lib, fetchgit, stdenv, buildPackages, pkgsCross, openssl }: + +let + target-board = "imx93"; +in stdenv.mkDerivation rec { + pname = "imx93-atf"; + version = "2.10.0"; + platform = target-board; + enableParallelBuilding = true; + + src = fetchgit { + url = "https://github.com/nxp-imx/imx-atf.git"; + rev = "28affcae957cb8194917b5246276630f9e6343e1"; + sha256 = "sha256-a8F+Lf8pwML+tCwawS0N/mrSXWPmFhlUeOg0MCRK3VE="; + }; + + # Compiler dependencies + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ pkgsCross.aarch64-embedded.stdenv.cc ]; + + buildInputs = [ openssl ]; + + makeFlags = [ + "HOSTCC=$(CC_FOR_BUILD)" + "CROSS_COMPILE=${pkgsCross.aarch64-embedded.stdenv.cc.targetPrefix}" + "PLAT=${platform}" + "SPD=opteed" + "bl31" + "LDFLAGS=-no-warn-rwx-segments" + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out + cp build/${target-board}/release/bl31.bin $out + runHook postInstall + ''; + + hardeningDisable = [ "all" ]; + dontStrip = true; + + meta = with lib; { + homepage = "https://github.com/nxp-imx/imx-atf"; + description = "Reference implementation of secure world software for ARMv8-A"; + license = [ licenses.bsd3 ]; + maintainers = with maintainers; [ govindsi ]; + platforms = [ "aarch64-linux" ]; + }; +} + diff --git a/nxp/imx93-evk/bsp/imx93-boot.nix b/nxp/imx93-evk/bsp/imx93-boot.nix new file mode 100644 index 00000000..abc023e7 --- /dev/null +++ b/nxp/imx93-evk/bsp/imx93-boot.nix @@ -0,0 +1,85 @@ +{ + pkgs, +}: +with pkgs; +let + fw-ver = "202406"; + + imx93-atf = pkgs.callPackage ./imx93-atf.nix { }; + imx93-firmware = pkgs.callPackage ./imx93-firmware.nix { }; + imx93-uboot = pkgs.callPackage ./imx93-uboot.nix { }; + imx93-optee-os = pkgs.callPackage ./imx93-optee-os.nix { }; + src = pkgs.fetchgit { + url = "https://github.com/nxp-imx/imx-mkimage.git"; + #tag: lf-6.12.3 + rev = "4622115cbc037f79039c4522faeced4aabea986b"; + sha256 = "sha256-2gz0GxlB3jwy8PC6+cP3+MpyUzqE1vDTw8nuxK6vo3g="; + }; + shortRev = builtins.substring 0 8 src.rev; +in +{ + imx93-boot = pkgs.stdenv.mkDerivation rec { + inherit src; + name = "imx93-mkimage"; + version = "lf-6.12.3"; + + postPatch = '' + substituteInPlace Makefile \ + --replace 'git rev-parse --short=8 HEAD' 'echo ${shortRev}' + substituteInPlace Makefile \ + --replace 'CC = gcc' 'CC = clang' + substituteInPlace iMX93/soc.mak \ + --replace 'xxd' "${pkgs.vim.xxd}/bin/xxd" + substituteInPlace scripts/fspi_fcb_gen.sh \ + --replace 'xxd' "${pkgs.vim.xxd}/bin/xxd" + substituteInPlace scripts/fspi_packer.sh \ + --replace 'xxd' "${pkgs.vim.xxd}/bin/xxd" + patchShebangs scripts + ''; + + nativeBuildInputs = [ + clang + git + dtc + ]; + + buildInputs = [ + git + glibc.static + zlib + zlib.static + ]; + + buildPhase = '' + runHook preBuild + + make bin + # mkimage is common across imx8 and imx9 + make SOC=iMX8M mkimage_imx8 + + if [ -f ${imx93-uboot}/u-boot.bin ]; then + install -m 0644 ${imx93-uboot}/u-boot.bin ./iMX93/u-boot.bin + else + cat ${imx93-uboot}/u-boot-nodtb.bin ${imx93-uboot}/imx93-11x11-evk.dtb > ./iMX93/u-boot.bin + fi + install -m 0644 ${imx93-uboot}/u-boot-spl.bin ./iMX93/u-boot-spl.bin + install -m 0644 ${imx93-uboot}/u-boot-nodtb.bin ./iMX93/u-boot-nodtb.bin + install -m 0644 ${imx93-uboot}/imx93-11x11-evk.dtb ./iMX93/imx93-11x11-evk.dtb + install -m 0644 ${imx93-optee-os}/tee.bin ./iMX93/tee.bin + install -m 0644 ${imx93-atf}/bl31.bin ./iMX93/bl31.bin + install -m 0644 ${imx93-firmware}/ddr/lpddr4* ./iMX93/ + install -m 0644 ${imx93-firmware}/ahab/mx93a1-ahab-container.img ./iMX93/ + + make SOC=iMX9 flash_singleboot + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/image + install -m 0644 ./iMX93/flash.bin $out/image + runHook postInstall + ''; + }; +} diff --git a/nxp/imx93-evk/bsp/imx93-firmware.nix b/nxp/imx93-evk/bsp/imx93-firmware.nix new file mode 100644 index 00000000..b48e8a36 --- /dev/null +++ b/nxp/imx93-evk/bsp/imx93-firmware.nix @@ -0,0 +1,47 @@ +{ pkgs, ... }: + +with pkgs; +stdenv.mkDerivation rec { + pname = "nxp-firmware"; + version = "nxp-firmware-8.21-0.11"; + + # Fetch the two firmware installers from NXP + ddrFirmware = fetchurl { + url = "https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.21.bin"; + sha256 = "sha256-w0R/D4E0FczqncLvEggMs6yLvAxnOSp0/H1ZIF61pnI="; + }; + + ahabFirmware = fetchurl { + url = "https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-sentinel-0.11.bin"; + sha256 = "sha256-JpSAQXqK6apMxBAauUcof8M0VakxAh29xNm621ISvOs="; + }; + + nativeBuildInputs = [ coreutils bash ]; + + dontUnpack = true; + dontStrip = true; + + installPhase = '' + mkdir -p $out + + echo "Extracting DDR firmware..." + cp ${ddrFirmware} ./firmware-imx-8.21.bin + chmod +x firmware-imx-8.21.bin + ./firmware-imx-8.21.bin --auto-accept + + echo "Extracting AHAB firmware..." + cp ${ahabFirmware} ./firmware-sentinel-0.11.bin + chmod +x firmware-sentinel-0.11.bin + ./firmware-sentinel-0.11.bin --auto-accept + + echo "Copying DDR .bin files..." + mkdir -p $out/ddr + cp firmware-imx-8.21/firmware/ddr/synopsys/lpddr4*.bin $out/ddr/ + + echo "Copying AHAB container image..." + mkdir -p $out/ahab + cp firmware-sentinel-0.11/mx93a1-ahab-container.img $out/ahab/ + + ''; +} + diff --git a/nxp/imx93-evk/bsp/imx93-linux.nix b/nxp/imx93-evk/bsp/imx93-linux.nix new file mode 100644 index 00000000..1eabbf4e --- /dev/null +++ b/nxp/imx93-evk/bsp/imx93-linux.nix @@ -0,0 +1,62 @@ +{ lib, pkgs, ... }@args: +with pkgs; +buildLinux ( + args + // rec { + version = "6.12.3"; + name = "imx93-linux"; + + # modDirVersion needs to be x.y.z, will automatically add .0 if needed + modDirVersion = version; + + defconfig = "imx_v8_defconfig"; + + # https://github.com/NixOS/nixpkgs/pull/366004 + # introduced a breaking change that if a module is declared but it is not being used it will faill. + ignoreConfigErrors = true; + + kernelPatches = [ + ]; + + autoModules = false; + + extraConfig = '' + CRYPTO_TLS m + TLS y + MD_RAID0 m + MD_RAID1 m + MD_RAID10 m + MD_RAID456 m + DM_VERITY m + LOGO y + FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER n + FB_EFI n + EFI_STUB y + EFI y + VIRTIO y + VIRTIO_PCI y + VIRTIO_BLK y + DRM_VIRTIO_GPU y + EXT4_FS y + USBIP_CORE m + USBIP_VHCI_HCD m + USBIP_HOST m + USBIP_VUDC m + ''; + + src = fetchFromGitHub { + owner = "nxp-imx"; + repo = "linux-imx"; + # tag: lf-6.12.3 + rev = "37d02f4dcbbe6677dc9f5fc17f386c05d6a7bd7a"; + sha256 = "sha256-1oJMbHR8Ho0zNritEJ+TMOAyYHCW0vwhPkDfLctrZa8="; + }; + meta = with lib; { + homepage = "https://github.com/nxp-imx/linux-imx"; + license = [ licenses.gpl2Only ]; + maintainers = with maintainers; [ govindsi ]; + platforms = [ "aarch64-linux" ]; + }; + } + // (args.argsOverride or { }) +) diff --git a/nxp/imx93-evk/bsp/imx93-optee-os.nix b/nxp/imx93-evk/bsp/imx93-optee-os.nix new file mode 100644 index 00000000..a7d82eb3 --- /dev/null +++ b/nxp/imx93-evk/bsp/imx93-optee-os.nix @@ -0,0 +1,75 @@ +{ + lib, + pkgs +}: +let + inherit (pkgs.buildPackages) python3; + toolchain = pkgs.gccStdenv.cc; + binutils = pkgs.gccStdenv.cc.bintools.bintools_bin; + cpp = pkgs.gcc; +in +pkgs.stdenv.mkDerivation rec { + pname = "imx93-optee-os"; + version = "lf-6.12.3_1.0.0"; + + nativeBuildInputs = [ + python3 + ]; + + enableParallelBuilding = true; + + propagatedBuildInputs = with python3.pkgs; [ + pycryptodomex + pyelftools + cryptography + ]; + + src = pkgs.fetchgit { + url = "https://github.com/nxp-imx/imx-optee-os.git"; + rev = "8dd180b6d149c1e1314b5869697179f665bd9ca3"; + sha256 = "sha256-PoolRscdyeGevrOa5YymPTQ36edVvReMM5WshRTz+uk="; + }; + meta = with lib; { + homepage = "https://github.com/nxp-imx/imx-optee-os"; + license = [ licenses.bsd2 ]; + maintainers = with maintainers; [ govindsi ]; + platforms = [ "aarch64-linux" ]; + }; + + postPatch = '' + substituteInPlace scripts/arm32_sysreg.py \ + --replace '/usr/bin/env python3' '${python3}/bin/python' + substituteInPlace scripts/gen_tee_bin.py \ + --replace '/usr/bin/env python3' '${python3}/bin/python' + substituteInPlace scripts/pem_to_pub_c.py \ + --replace '/usr/bin/env python3' '${python3}/bin/python' + substituteInPlace ta/pkcs11/scripts/verify-helpers.sh \ + --replace '/bin/bash' '${pkgs.bash}/bin/bash' + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))objcopy" ${binutils}/bin/${toolchain.targetPrefix}objcopy + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))objdump" ${binutils}/bin/${toolchain.targetPrefix}objdump + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))nm" ${binutils}/bin/${toolchain.targetPrefix}nm + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))readelf" ${binutils}/bin/${toolchain.targetPrefix}readelf + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))ar" ${binutils}/bin/${toolchain.targetPrefix}ar + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))cpp" ${cpp}/bin/cpp + ''; + + makeFlags = [ + "PLATFORM=imx-mx93evk" + "CFG_ARM64_core=y" + "CFG_TEE_TA_LOG_LEVEL=0" + "CFG_TEE_CORE_LOG_LEVEL=0" + "CROSS_COMPILE=${toolchain}/bin/${toolchain.targetPrefix}" + "CROSS_COMPILE64=${toolchain}/bin/${toolchain.targetPrefix}" + ]; + + installPhase = '' + mkdir -p $out + cp ./out/arm-plat-imx/core/tee-raw.bin $out/tee.bin + ''; +} diff --git a/nxp/imx93-evk/bsp/imx93-uboot.nix b/nxp/imx93-evk/bsp/imx93-uboot.nix new file mode 100644 index 00000000..f0bb6265 --- /dev/null +++ b/nxp/imx93-evk/bsp/imx93-uboot.nix @@ -0,0 +1,99 @@ +{ + stdenv, + lib, + bison, + dtc, + fetchgit, + flex, + gnutls, + libuuid, + ncurses, + openssl, + which, + perl, + buildPackages, + efitools, +}: +let + ubsrc = fetchgit { + url = "https://github.com/nxp-imx/uboot-imx.git"; + #lf_v2024.04 + rev = "e3219a5a73445219df605d1492687918d488055c"; + sha256 = "sha256-6pXwgNzq4/XUUEmJ6sGC5pII4J5uMvlDPE9QJxjJJbQ="; + }; + meta = with lib; { + homepage = "https://github.com/nxp-imx/uboot-imx"; + license = [ licenses.gpl2Only ]; + maintainers = with maintainers; [ govindsi ]; + platforms = [ "aarch64-linux" ]; + }; +in +stdenv.mkDerivation { + pname = "imx93-uboot"; + version = "2024.04"; + src = ubsrc; + + postPatch = '' + patchShebangs tools + patchShebangs scripts + ''; + + nativeBuildInputs = [ + bison + flex + openssl + which + ncurses + libuuid + gnutls + openssl + perl + efitools + ]; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + hardeningDisable = [ "all" ]; + enableParallelBuilding = true; + + makeFlags = [ + "DTC=${lib.getExe buildPackages.dtc}" + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + ]; + + extraConfig = '' + CONFIG_USE_BOOTCOMMAND=y + CONFIG_BOOTCOMMAND="setenv ramdisk_addr_r 0x85000000; setenv fdt_addr_r 0x84000000; run distro_bootcmd; " + CONFIG_CMD_BOOTEFI_SELFTEST=y + CONFIG_CMD_BOOTEFI=y + CONFIG_EFI_LOADER=y + CONFIG_BLK=y + CONFIG_PARTITIONS=y + CONFIG_DM_DEVICE_REMOVE=n + CONFIG_CMD_CACHE=y + ''; + + passAsFile = [ "extraConfig" ]; + + configurePhase = '' + runHook preConfigure + + make imx93_11x11_evk_defconfig + cat $extraConfigPath >> .config + + runHook postConfigure + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp ./u-boot-nodtb.bin $out + cp ./spl/u-boot-spl.bin $out + cp ./arch/arm/dts/imx93-11x11-evk.dtb $out + cp .config $out + + runHook postInstall + ''; + + dontStrip = true; +} diff --git a/nxp/imx93-evk/default.nix b/nxp/imx93-evk/default.nix new file mode 100644 index 00000000..892c6a64 --- /dev/null +++ b/nxp/imx93-evk/default.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: +{ + nixpkgs.overlays = [ + (import ./overlay.nix) + ]; + + imports = [ + ./modules.nix + ]; + + boot.loader.grub.extraFiles = { + "imx93-11x11-evk.dtb" = "${pkgs.callPackage ./bsp/imx93-linux.nix { }}/dtbs/freescale/imx93-11x11-evk.dtb"; + }; + + hardware.deviceTree = { + filter = "imx93-*.dtb"; + name = "imx93-11x11-evk.dtb"; + }; +} diff --git a/nxp/imx93-evk/modules.nix b/nxp/imx93-evk/modules.nix new file mode 100644 index 00000000..b8939684 --- /dev/null +++ b/nxp/imx93-evk/modules.nix @@ -0,0 +1,17 @@ +{ + pkgs, + lib, + ... +}: +{ + nixpkgs.hostPlatform = "aarch64-linux"; + + boot = { + kernelPackages = pkgs.linuxPackagesFor (pkgs.callPackage ./bsp/imx93-linux.nix { }); + initrd.includeDefaultModules = lib.mkForce false; + }; + + disabledModules = [ "profiles/all-hardware.nix" ]; + + hardware.deviceTree.enable = true; +} diff --git a/nxp/imx93-evk/overlay.nix b/nxp/imx93-evk/overlay.nix new file mode 100644 index 00000000..420e974a --- /dev/null +++ b/nxp/imx93-evk/overlay.nix @@ -0,0 +1,3 @@ +final: _prev: { + inherit (final.callPackage ./bsp/imx93-boot.nix { pkgs = final; }) imx93-boot; +} From 8b405e9c6ddab8bbc7c6dcae7d20415bd8f5ad76 Mon Sep 17 00:00:00 2001 From: Govind Singh Date: Tue, 21 Oct 2025 16:00:55 +0400 Subject: [PATCH 093/117] chore(fmt): apply nix formatting Signed-off-by: Govind Singh --- nxp/imx93-evk/bsp/imx93-atf.nix | 13 ++++++++++--- nxp/imx93-evk/bsp/imx93-boot.nix | 1 - nxp/imx93-evk/bsp/imx93-firmware.nix | 7 ++++--- nxp/imx93-evk/bsp/imx93-linux.nix | 14 +++++++------- nxp/imx93-evk/bsp/imx93-optee-os.nix | 6 +++--- nxp/imx93-evk/bsp/imx93-uboot.nix | 6 ------ nxp/imx93-evk/default.nix | 4 +++- 7 files changed, 27 insertions(+), 24 deletions(-) diff --git a/nxp/imx93-evk/bsp/imx93-atf.nix b/nxp/imx93-evk/bsp/imx93-atf.nix index 4180dde5..634cca19 100644 --- a/nxp/imx93-evk/bsp/imx93-atf.nix +++ b/nxp/imx93-evk/bsp/imx93-atf.nix @@ -1,8 +1,16 @@ -{ lib, fetchgit, stdenv, buildPackages, pkgsCross, openssl }: +{ + lib, + fetchgit, + stdenv, + buildPackages, + pkgsCross, + openssl, +}: let target-board = "imx93"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "imx93-atf"; version = "2.10.0"; platform = target-board; @@ -47,4 +55,3 @@ in stdenv.mkDerivation rec { platforms = [ "aarch64-linux" ]; }; } - diff --git a/nxp/imx93-evk/bsp/imx93-boot.nix b/nxp/imx93-evk/bsp/imx93-boot.nix index abc023e7..c11f31d5 100644 --- a/nxp/imx93-evk/bsp/imx93-boot.nix +++ b/nxp/imx93-evk/bsp/imx93-boot.nix @@ -3,7 +3,6 @@ }: with pkgs; let - fw-ver = "202406"; imx93-atf = pkgs.callPackage ./imx93-atf.nix { }; imx93-firmware = pkgs.callPackage ./imx93-firmware.nix { }; diff --git a/nxp/imx93-evk/bsp/imx93-firmware.nix b/nxp/imx93-evk/bsp/imx93-firmware.nix index b48e8a36..1caa2392 100644 --- a/nxp/imx93-evk/bsp/imx93-firmware.nix +++ b/nxp/imx93-evk/bsp/imx93-firmware.nix @@ -5,7 +5,6 @@ stdenv.mkDerivation rec { pname = "nxp-firmware"; version = "nxp-firmware-8.21-0.11"; - # Fetch the two firmware installers from NXP ddrFirmware = fetchurl { url = "https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.21.bin"; sha256 = "sha256-w0R/D4E0FczqncLvEggMs6yLvAxnOSp0/H1ZIF61pnI="; @@ -16,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-JpSAQXqK6apMxBAauUcof8M0VakxAh29xNm621ISvOs="; }; - nativeBuildInputs = [ coreutils bash ]; + nativeBuildInputs = [ + coreutils + bash + ]; dontUnpack = true; dontStrip = true; @@ -44,4 +46,3 @@ stdenv.mkDerivation rec { ''; } - diff --git a/nxp/imx93-evk/bsp/imx93-linux.nix b/nxp/imx93-evk/bsp/imx93-linux.nix index 1eabbf4e..6e4cc21f 100644 --- a/nxp/imx93-evk/bsp/imx93-linux.nix +++ b/nxp/imx93-evk/bsp/imx93-linux.nix @@ -51,12 +51,12 @@ buildLinux ( rev = "37d02f4dcbbe6677dc9f5fc17f386c05d6a7bd7a"; sha256 = "sha256-1oJMbHR8Ho0zNritEJ+TMOAyYHCW0vwhPkDfLctrZa8="; }; - meta = with lib; { - homepage = "https://github.com/nxp-imx/linux-imx"; - license = [ licenses.gpl2Only ]; - maintainers = with maintainers; [ govindsi ]; - platforms = [ "aarch64-linux" ]; - }; - } + meta = with lib; { + homepage = "https://github.com/nxp-imx/linux-imx"; + license = [ licenses.gpl2Only ]; + maintainers = with maintainers; [ govindsi ]; + platforms = [ "aarch64-linux" ]; + }; + } // (args.argsOverride or { }) ) diff --git a/nxp/imx93-evk/bsp/imx93-optee-os.nix b/nxp/imx93-evk/bsp/imx93-optee-os.nix index a7d82eb3..75e3dde7 100644 --- a/nxp/imx93-evk/bsp/imx93-optee-os.nix +++ b/nxp/imx93-evk/bsp/imx93-optee-os.nix @@ -1,6 +1,6 @@ -{ +{ lib, - pkgs + pkgs, }: let inherit (pkgs.buildPackages) python3; @@ -57,7 +57,7 @@ pkgs.stdenv.mkDerivation rec { --replace "\$(CROSS_COMPILE_\$(sm))ar" ${binutils}/bin/${toolchain.targetPrefix}ar substituteInPlace mk/gcc.mk \ --replace "\$(CROSS_COMPILE_\$(sm))cpp" ${cpp}/bin/cpp - ''; + ''; makeFlags = [ "PLATFORM=imx-mx93evk" diff --git a/nxp/imx93-evk/bsp/imx93-uboot.nix b/nxp/imx93-evk/bsp/imx93-uboot.nix index f0bb6265..ce918381 100644 --- a/nxp/imx93-evk/bsp/imx93-uboot.nix +++ b/nxp/imx93-evk/bsp/imx93-uboot.nix @@ -21,12 +21,6 @@ let rev = "e3219a5a73445219df605d1492687918d488055c"; sha256 = "sha256-6pXwgNzq4/XUUEmJ6sGC5pII4J5uMvlDPE9QJxjJJbQ="; }; - meta = with lib; { - homepage = "https://github.com/nxp-imx/uboot-imx"; - license = [ licenses.gpl2Only ]; - maintainers = with maintainers; [ govindsi ]; - platforms = [ "aarch64-linux" ]; - }; in stdenv.mkDerivation { pname = "imx93-uboot"; diff --git a/nxp/imx93-evk/default.nix b/nxp/imx93-evk/default.nix index 892c6a64..fd375aa4 100644 --- a/nxp/imx93-evk/default.nix +++ b/nxp/imx93-evk/default.nix @@ -9,7 +9,9 @@ ]; boot.loader.grub.extraFiles = { - "imx93-11x11-evk.dtb" = "${pkgs.callPackage ./bsp/imx93-linux.nix { }}/dtbs/freescale/imx93-11x11-evk.dtb"; + "imx93-11x11-evk.dtb" = "${ + pkgs.callPackage ./bsp/imx93-linux.nix { } + }/dtbs/freescale/imx93-11x11-evk.dtb"; }; hardware.deviceTree = { From 688ee555decae8a61301c572c0f69d93f50a94dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 29 Oct 2025 16:03:39 +0100 Subject: [PATCH 094/117] refactor(nxp): parameterize i.MX platform builders to reduce duplication This refactoring reduces code duplication across i.MX93, i.MX8MP, and i.MX8MQ platforms by extracting common build logic into parameterized shared builders. This makes it easier to maintain and add new i.MX platforms while ensuring consistency across all platforms. --- nxp/common/bsp/imx-linux-builder.nix | 56 +++++++++++++++ nxp/common/bsp/imx-optee-builder.nix | 89 +++++++++++++++++++++++ nxp/common/bsp/imx-uboot-builder.nix | 97 ++++++++++++++++++++++++++ nxp/common/lib/kernel-config.nix | 29 ++++++++ nxp/common/lib/uboot-config.nix | 33 +++++++++ nxp/imx8mp-evk/bsp/imx8mp-linux.nix | 68 +++++------------- nxp/imx8mp-evk/bsp/imx8mp-optee-os.nix | 60 +--------------- nxp/imx8mp-evk/bsp/imx8mp-uboot.nix | 96 +++---------------------- nxp/imx8mq-evk/bsp/imx8mq-linux.nix | 68 +++++------------- nxp/imx8mq-evk/bsp/imx8mq-optee-os.nix | 58 +-------------- nxp/imx8mq-evk/bsp/imx8mq-uboot.nix | 96 +++---------------------- nxp/imx93-evk/bsp/imx93-linux.nix | 78 ++++++--------------- nxp/imx93-evk/bsp/imx93-optee-os.nix | 72 ++----------------- nxp/imx93-evk/bsp/imx93-uboot.nix | 96 +++---------------------- 14 files changed, 398 insertions(+), 598 deletions(-) create mode 100644 nxp/common/bsp/imx-linux-builder.nix create mode 100644 nxp/common/bsp/imx-optee-builder.nix create mode 100644 nxp/common/bsp/imx-uboot-builder.nix create mode 100644 nxp/common/lib/kernel-config.nix create mode 100644 nxp/common/lib/uboot-config.nix diff --git a/nxp/common/bsp/imx-linux-builder.nix b/nxp/common/bsp/imx-linux-builder.nix new file mode 100644 index 00000000..cc8fb934 --- /dev/null +++ b/nxp/common/bsp/imx-linux-builder.nix @@ -0,0 +1,56 @@ +# Parameterized Linux kernel builder for i.MX platforms +# This builder is used across i.MX93, i.MX8MP, i.MX8MQ and similar platforms +{ lib, pkgs, ... }@args: +let + inherit (pkgs) buildLinux; + + # Import common kernel configuration + kernelConfig = import ../lib/kernel-config.nix; +in +# Platform-specific parameters +{ + pname, + version, + src, + defconfig ? "imx_v8_defconfig", + # Optional parameters + extraConfig ? "", + kernelPatches ? [ ], + autoModules ? false, + ignoreConfigErrors ? true, + extraMeta ? { }, +}: +let + # Combine common i.MX kernel config with platform-specific config + finalExtraConfig = kernelConfig.imxCommonKernelConfig + extraConfig; +in +buildLinux ( + args + // rec { + inherit + version + defconfig + kernelPatches + autoModules + ignoreConfigErrors + ; + name = pname; + + # modDirVersion needs to be x.y.z, will automatically add .0 if needed + modDirVersion = version; + + extraConfig = finalExtraConfig; + + inherit src; + + meta = + with lib; + { + homepage = "https://github.com/nxp-imx/linux-imx"; + license = [ licenses.gpl2Only ]; + platforms = [ "aarch64-linux" ]; + } + // extraMeta; + } + // (args.argsOverride or { }) +) diff --git a/nxp/common/bsp/imx-optee-builder.nix b/nxp/common/bsp/imx-optee-builder.nix new file mode 100644 index 00000000..c76024b9 --- /dev/null +++ b/nxp/common/bsp/imx-optee-builder.nix @@ -0,0 +1,89 @@ +# Parameterized OP-TEE OS builder for i.MX platforms +# This builder is used across i.MX93, i.MX8MP, i.MX8MQ and similar platforms +{ + lib, + pkgs, + # Platform-specific parameters + pname, + version, + platformFlavor, + src, + # Optional parameters + meta ? { }, +}: +let + inherit (pkgs.buildPackages) python3; + toolchain = pkgs.gccStdenv.cc; + binutils = pkgs.gccStdenv.cc.bintools.bintools_bin; + cpp = pkgs.gcc; + + # Determine PLATFORM and PLATFORM_FLAVOR from platformFlavor + # Format can be either "imx-mx93evk" (full platform string) or "mx8mpevk" (just flavor, platform is "imx") + # Check if it starts with "imx-" to determine if it's a full platform string or just a flavor + hasFullPlatform = lib.hasPrefix "imx-" platformFlavor; + platform = if hasFullPlatform then platformFlavor else "imx"; + flavor = if hasFullPlatform then null else platformFlavor; +in +pkgs.stdenv.mkDerivation { + inherit pname version src; + + nativeBuildInputs = [ + python3 + ]; + + enableParallelBuilding = true; + + propagatedBuildInputs = with python3.pkgs; [ + pycryptodomex + pyelftools + cryptography + ]; + + # Common postPatch for all i.MX platforms + # This is the major source of code duplication - ~60 lines of identical substitutions + postPatch = '' + # Patch all script shebangs automatically + patchShebangs scripts/ + patchShebangs ta/ + + # Patch toolchain paths in mk/gcc.mk + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))objcopy" ${binutils}/bin/${toolchain.targetPrefix}objcopy + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))objdump" ${binutils}/bin/${toolchain.targetPrefix}objdump + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))nm" ${binutils}/bin/${toolchain.targetPrefix}nm + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))readelf" ${binutils}/bin/${toolchain.targetPrefix}readelf + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))ar" ${binutils}/bin/${toolchain.targetPrefix}ar + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))cpp" ${cpp}/bin/cpp + ''; + + makeFlags = + [ + "PLATFORM=${platform}" + ] + ++ lib.optionals (!hasFullPlatform) [ + "PLATFORM_FLAVOR=${flavor}" + ] + ++ [ + "CFG_ARM64_core=y" + "CFG_TEE_TA_LOG_LEVEL=0" + "CFG_TEE_CORE_LOG_LEVEL=0" + "CROSS_COMPILE=${toolchain}/bin/${toolchain.targetPrefix}" + "CROSS_COMPILE64=${toolchain}/bin/${toolchain.targetPrefix}" + ]; + + installPhase = '' + mkdir -p $out + cp ./out/arm-plat-imx/core/tee-raw.bin $out/tee.bin + ''; + + meta = { + homepage = "https://github.com/nxp-imx/imx-optee-os"; + license = [ lib.licenses.bsd2 ]; + platforms = [ "aarch64-linux" ]; + } // meta; +} diff --git a/nxp/common/bsp/imx-uboot-builder.nix b/nxp/common/bsp/imx-uboot-builder.nix new file mode 100644 index 00000000..6d8a5960 --- /dev/null +++ b/nxp/common/bsp/imx-uboot-builder.nix @@ -0,0 +1,97 @@ +# Parameterized U-Boot builder for i.MX platforms +# This builder is used across i.MX93, i.MX8MP, i.MX8MQ and similar platforms +{ + lib, + stdenv, + buildPackages, + # Required dependencies + bison, + dtc, + flex, + gnutls, + libuuid, + ncurses, + openssl, + perl, + efitools, + which, + # Platform-specific parameters + pname, + version, + src, + defconfig, + ramdiskAddr, + fdtAddr, + dtbPath, + # Optional parameters + extraConfig ? "", + extraNativeBuildInputs ? [ ], +}: +let + # Import common U-Boot configuration + ubootConfig = import ../lib/uboot-config.nix; + + # Generate the common config with platform-specific memory addresses + commonConfig = ubootConfig.imxCommonUbootConfig { + inherit ramdiskAddr fdtAddr; + }; + + # Combine common config with any platform-specific extra config + finalExtraConfig = commonConfig + extraConfig; +in +stdenv.mkDerivation { + inherit pname version src; + + postPatch = '' + patchShebangs tools + patchShebangs scripts + ''; + + nativeBuildInputs = [ + bison + flex + openssl + which + ncurses + libuuid + gnutls + perl + efitools + ] ++ extraNativeBuildInputs; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + hardeningDisable = [ "all" ]; + enableParallelBuilding = true; + + makeFlags = [ + "DTC=${lib.getExe buildPackages.dtc}" + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + ]; + + extraConfig = finalExtraConfig; + + passAsFile = [ "extraConfig" ]; + + configurePhase = '' + runHook preConfigure + + make ${defconfig} + cat $extraConfigPath >> .config + + runHook postConfigure + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp ./u-boot-nodtb.bin $out + cp ./spl/u-boot-spl.bin $out + cp ${dtbPath} $out + cp .config $out + + runHook postInstall + ''; + + dontStrip = true; +} diff --git a/nxp/common/lib/kernel-config.nix b/nxp/common/lib/kernel-config.nix new file mode 100644 index 00000000..aca1e70c --- /dev/null +++ b/nxp/common/lib/kernel-config.nix @@ -0,0 +1,29 @@ +# Shared kernel configuration for i.MX platforms +# This configuration is used across i.MX93, i.MX8MP, i.MX8MQ and similar platforms +{ + # Common kernel extra configuration for i.MX platforms + # Includes: virtualization support, EFI boot, RAID, USB/IP, framebuffer settings + imxCommonKernelConfig = '' + CRYPTO_TLS m + TLS y + MD_RAID0 m + MD_RAID1 m + MD_RAID10 m + MD_RAID456 m + DM_VERITY m + LOGO y + FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER n + FB_EFI n + EFI_STUB y + EFI y + VIRTIO y + VIRTIO_PCI y + VIRTIO_BLK y + DRM_VIRTIO_GPU y + EXT4_FS y + USBIP_CORE m + USBIP_VHCI_HCD m + USBIP_HOST m + USBIP_VUDC m + ''; +} diff --git a/nxp/common/lib/uboot-config.nix b/nxp/common/lib/uboot-config.nix new file mode 100644 index 00000000..401e81c7 --- /dev/null +++ b/nxp/common/lib/uboot-config.nix @@ -0,0 +1,33 @@ +# Shared U-Boot configuration for i.MX platforms +# This configuration is used across i.MX93, i.MX8MP, i.MX8MQ and similar platforms +{ + # Generate common U-Boot extra configuration for i.MX platforms + # ramdiskAddr and fdtAddr are platform-specific memory addresses + imxCommonUbootConfig = + { ramdiskAddr, fdtAddr }: + '' + CONFIG_USE_BOOTCOMMAND=y + CONFIG_BOOTCOMMAND="setenv ramdisk_addr_r ${ramdiskAddr}; setenv fdt_addr_r ${fdtAddr}; run distro_bootcmd; " + CONFIG_CMD_BOOTEFI_SELFTEST=y + CONFIG_CMD_BOOTEFI=y + CONFIG_EFI_LOADER=y + CONFIG_BLK=y + CONFIG_PARTITIONS=y + CONFIG_DM_DEVICE_REMOVE=n + CONFIG_CMD_CACHE=y + ''; + + # Common U-Boot native build inputs for i.MX platforms + imxCommonUbootNativeBuildInputs = [ + "bison" + "flex" + "openssl" + "which" + "ncurses" + "libuuid" + "gnutls" + "openssl" + "perl" + "efitools" + ]; +} diff --git a/nxp/imx8mp-evk/bsp/imx8mp-linux.nix b/nxp/imx8mp-evk/bsp/imx8mp-linux.nix index 86025f2a..51522375 100644 --- a/nxp/imx8mp-evk/bsp/imx8mp-linux.nix +++ b/nxp/imx8mp-evk/bsp/imx8mp-linux.nix @@ -1,56 +1,20 @@ { pkgs, ... }@args: -with pkgs; -buildLinux ( - args - // rec { - version = "6.12.20"; - name = "imx8mp-linux"; +(pkgs.callPackage ../../common/bsp/imx-linux-builder.nix args) { + pname = "imx8mp-linux"; + version = "6.12.20"; - # modDirVersion needs to be x.y.z, will automatically add .0 if needed - modDirVersion = version; + src = pkgs.fetchFromGitHub { + owner = "nxp-imx"; + repo = "linux-imx"; + # tag: lf-6.12.20-2.0.0 + rev = "dfaf2136deb2af2e60b994421281ba42f1c087e0"; + sha256 = "sha256-ITrmj3a5YfXh/PSRTi+Rlto5uEBIAWFWtkTsO1ATXIo="; + }; - defconfig = "imx_v8_defconfig"; + # Platform-specific configuration (if any) + extraConfig = ""; - # https://github.com/NixOS/nixpkgs/pull/366004 - # introduced a breaking change that if a module is declared but it is not being used it will faill. - ignoreConfigErrors = true; - - kernelPatches = [ - ]; - - autoModules = false; - - extraConfig = '' - CRYPTO_TLS m - TLS y - MD_RAID0 m - MD_RAID1 m - MD_RAID10 m - MD_RAID456 m - DM_VERITY m - LOGO y - FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER n - FB_EFI n - EFI_STUB y - EFI y - VIRTIO y - VIRTIO_PCI y - VIRTIO_BLK y - DRM_VIRTIO_GPU y - EXT4_FS y - USBIP_CORE m - USBIP_VHCI_HCD m - USBIP_HOST m - USBIP_VUDC m - ''; - - src = fetchFromGitHub { - owner = "nxp-imx"; - repo = "linux-imx"; - # tag: lf-6.12.20-2.0.0 - rev = "dfaf2136deb2af2e60b994421281ba42f1c087e0"; - sha256 = "sha256-ITrmj3a5YfXh/PSRTi+Rlto5uEBIAWFWtkTsO1ATXIo="; - }; - } - // (args.argsOverride or { }) -) + # https://github.com/NixOS/nixpkgs/pull/366004 + # introduced a breaking change that if a module is declared but it is not being used it will faill. + ignoreConfigErrors = true; +} diff --git a/nxp/imx8mp-evk/bsp/imx8mp-optee-os.nix b/nxp/imx8mp-evk/bsp/imx8mp-optee-os.nix index 4cdd5f5d..c409e6c9 100644 --- a/nxp/imx8mp-evk/bsp/imx8mp-optee-os.nix +++ b/nxp/imx8mp-evk/bsp/imx8mp-optee-os.nix @@ -1,69 +1,13 @@ { pkgs }: -let - inherit (pkgs.buildPackages) python3; - toolchain = pkgs.gccStdenv.cc; - binutils = pkgs.gccStdenv.cc.bintools.bintools_bin; - cpp = pkgs.gcc; -in -pkgs.stdenv.mkDerivation rec { +pkgs.callPackage ../../common/bsp/imx-optee-builder.nix { pname = "imx8mp-optee-os"; version = "lf-6.12.20-2.0.0"; - nativeBuildInputs = [ - python3 - ]; - - enableParallelBuilding = true; - - propagatedBuildInputs = with python3.pkgs; [ - pycryptodomex - pyelftools - cryptography - ]; - src = pkgs.fetchgit { url = "https://github.com/nxp-imx/imx-optee-os.git"; rev = "87964807d80baf1dcfd89cafc66de34a1cf16bf3"; sha256 = "sha256-AMZUMgmmyi5l3BMT84uubwjU0lwNObs9XW6ZCbqfhmc="; }; - postPatch = '' - substituteInPlace scripts/arm32_sysreg.py \ - --replace '/usr/bin/env python3' '${python3}/bin/python' - substituteInPlace scripts/gen_tee_bin.py \ - --replace '/usr/bin/env python3' '${python3}/bin/python' - substituteInPlace scripts/pem_to_pub_c.py \ - --replace '/usr/bin/env python3' '${python3}/bin/python' - substituteInPlace ta/pkcs11/scripts/verify-helpers.sh \ - --replace '/usr/bin/env bash' '${pkgs.bash}/bin/bash' - substituteInPlace ta/pkcs11/scripts/dump_ec_curve_params.sh \ - --replace '/usr/bin/env bash' '${pkgs.bash}/bin/bash' - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))objcopy" ${binutils}/bin/${toolchain.targetPrefix}objcopy - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))objdump" ${binutils}/bin/${toolchain.targetPrefix}objdump - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))nm" ${binutils}/bin/${toolchain.targetPrefix}nm - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))readelf" ${binutils}/bin/${toolchain.targetPrefix}readelf - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))ar" ${binutils}/bin/${toolchain.targetPrefix}ar - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))cpp" ${cpp}/bin/cpp - ''; - - makeFlags = [ - "PLATFORM=imx" - "PLATFORM_FLAVOR=mx8mpevk" - "CFG_ARM64_core=y" - "CFG_TEE_TA_LOG_LEVEL=0" - "CFG_TEE_CORE_LOG_LEVEL=0" - "CROSS_COMPILE=${toolchain}/bin/${toolchain.targetPrefix}" - "CROSS_COMPILE64=${toolchain}/bin/${toolchain.targetPrefix}" - ]; - - installPhase = '' - mkdir -p $out - cp ./out/arm-plat-imx/core/tee-raw.bin $out/tee.bin - ''; + platformFlavor = "mx8mpevk"; } diff --git a/nxp/imx8mp-evk/bsp/imx8mp-uboot.nix b/nxp/imx8mp-evk/bsp/imx8mp-uboot.nix index 582cb70b..70b9992e 100644 --- a/nxp/imx8mp-evk/bsp/imx8mp-uboot.nix +++ b/nxp/imx8mp-evk/bsp/imx8mp-uboot.nix @@ -1,93 +1,17 @@ -{ - stdenv, - lib, - bison, - dtc, - fetchgit, - flex, - gnutls, - libuuid, - ncurses, - openssl, - which, - perl, - buildPackages, - efitools, -}: -let - ubsrc = fetchgit { +{ pkgs, fetchgit }: +pkgs.callPackage ../../common/bsp/imx-uboot-builder.nix { + pname = "imx8mp-uboot"; + version = "2025.04"; + + src = fetchgit { url = "https://github.com/nxp-imx/uboot-imx.git"; # tag: lf-6.12.20-2.0.0 rev = "9383f8387dc76524524da69992db96c22195a57c"; sha256 = "sha256-httRSwN8NiKOdL7fZEvN/4AbypGQfegYtJgxKIea+Zg="; }; -in -stdenv.mkDerivation { - pname = "imx8mp-uboot"; - version = "2025.04"; - src = ubsrc; - postPatch = '' - patchShebangs tools - patchShebangs scripts - ''; - - nativeBuildInputs = [ - bison - flex - openssl - which - ncurses - libuuid - gnutls - openssl - perl - efitools - ]; - - depsBuildBuild = [ buildPackages.stdenv.cc ]; - hardeningDisable = [ "all" ]; - enableParallelBuilding = true; - - makeFlags = [ - "DTC=${lib.getExe buildPackages.dtc}" - "CROSS_COMPILE=${stdenv.cc.targetPrefix}" - ]; - - extraConfig = '' - CONFIG_USE_BOOTCOMMAND=y - CONFIG_BOOTCOMMAND="setenv ramdisk_addr_r 0x45000000; setenv fdt_addr_r 0x44000000; run distro_bootcmd; " - CONFIG_CMD_BOOTEFI_SELFTEST=y - CONFIG_CMD_BOOTEFI=y - CONFIG_EFI_LOADER=y - CONFIG_BLK=y - CONFIG_PARTITIONS=y - CONFIG_DM_DEVICE_REMOVE=n - CONFIG_CMD_CACHE=y - ''; - - passAsFile = [ "extraConfig" ]; - - configurePhase = '' - runHook preConfigure - - make imx8mp_evk_defconfig - cat $extraConfigPath >> .config - - runHook postConfigure - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out - cp ./u-boot-nodtb.bin $out - cp ./spl/u-boot-spl.bin $out - cp ./dts/upstream/src/arm64/freescale/imx8mp-evk.dtb $out - cp .config $out - - runHook postInstall - ''; - - dontStrip = true; + defconfig = "imx8mp_evk_defconfig"; + ramdiskAddr = "0x45000000"; + fdtAddr = "0x44000000"; + dtbPath = "./dts/upstream/src/arm64/freescale/imx8mp-evk.dtb"; } diff --git a/nxp/imx8mq-evk/bsp/imx8mq-linux.nix b/nxp/imx8mq-evk/bsp/imx8mq-linux.nix index 5c2fb535..68d5d973 100644 --- a/nxp/imx8mq-evk/bsp/imx8mq-linux.nix +++ b/nxp/imx8mq-evk/bsp/imx8mq-linux.nix @@ -1,56 +1,20 @@ { pkgs, ... }@args: -with pkgs; -buildLinux ( - args - // rec { - version = "6.1.55"; - name = "imx8mq-linux"; +(pkgs.callPackage ../../common/bsp/imx-linux-builder.nix args) { + pname = "imx8mq-linux"; + version = "6.1.55"; - # modDirVersion needs to be x.y.z, will automatically add .0 if needed - modDirVersion = version; + src = pkgs.fetchFromGitHub { + owner = "nxp-imx"; + repo = "linux-imx"; + # tag: lf-6.1.55-2.2.0 + rev = "770c5fe2c1d1529fae21b7043911cd50c6cf087e"; + sha256 = "sha256-tIWt75RUrjB6KmUuAYBVyAC1dmVGSUAgqV5ROJh3xU0="; + }; - defconfig = "imx_v8_defconfig"; + # Platform-specific configuration (if any) + extraConfig = ""; - # https://github.com/NixOS/nixpkgs/pull/366004 - # introduced a breaking change that if a module is declared but it is not being used it will faill. - ignoreConfigErrors = true; - - kernelPatches = [ - ]; - - autoModules = false; - - extraConfig = '' - CRYPTO_TLS m - TLS y - MD_RAID0 m - MD_RAID1 m - MD_RAID10 m - MD_RAID456 m - DM_VERITY m - LOGO y - FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER n - FB_EFI n - EFI_STUB y - EFI y - VIRTIO y - VIRTIO_PCI y - VIRTIO_BLK y - DRM_VIRTIO_GPU y - EXT4_FS y - USBIP_CORE m - USBIP_VHCI_HCD m - USBIP_HOST m - USBIP_VUDC m - ''; - - src = fetchFromGitHub { - owner = "nxp-imx"; - repo = "linux-imx"; - # tag: lf-6.1.55-2.2.0 - rev = "770c5fe2c1d1529fae21b7043911cd50c6cf087e"; - sha256 = "sha256-tIWt75RUrjB6KmUuAYBVyAC1dmVGSUAgqV5ROJh3xU0="; - }; - } - // (args.argsOverride or { }) -) + # https://github.com/NixOS/nixpkgs/pull/366004 + # introduced a breaking change that if a module is declared but it is not being used it will faill. + ignoreConfigErrors = true; +} diff --git a/nxp/imx8mq-evk/bsp/imx8mq-optee-os.nix b/nxp/imx8mq-evk/bsp/imx8mq-optee-os.nix index 73b60a35..3762887c 100644 --- a/nxp/imx8mq-evk/bsp/imx8mq-optee-os.nix +++ b/nxp/imx8mq-evk/bsp/imx8mq-optee-os.nix @@ -1,67 +1,13 @@ { pkgs }: -let - python3 = pkgs.buildPackages.python3; - toolchain = pkgs.gcc9Stdenv.cc; - binutils = pkgs.gcc9Stdenv.cc.bintools.bintools_bin; - cpp = pkgs.gcc; -in -pkgs.stdenv.mkDerivation rec { +pkgs.callPackage ../../common/bsp/imx-optee-builder.nix { pname = "imx8mq-optee-os"; version = "lf-6.1.55-2.2.0"; - nativeBuildInputs = [ - python3 - ]; - - enableParallelBuilding = true; - - propagatedBuildInputs = with python3.pkgs; [ - pycryptodomex - pyelftools - cryptography - ]; - src = pkgs.fetchgit { url = "https://github.com/nxp-imx/imx-optee-os.git"; rev = "a303fc80f7c4bd713315687a1fa1d6ed136e78ee"; sha256 = "sha256-OpyG812DX0c06bRZPKWB2cNu6gtZCOvewDhsKgrGB+s="; }; - postPatch = '' - substituteInPlace scripts/arm32_sysreg.py \ - --replace '/usr/bin/env python3' '${python3}/bin/python' - substituteInPlace scripts/gen_tee_bin.py \ - --replace '/usr/bin/env python3' '${python3}/bin/python' - substituteInPlace scripts/pem_to_pub_c.py \ - --replace '/usr/bin/env python3' '${python3}/bin/python' - substituteInPlace ta/pkcs11/scripts/verify-helpers.sh \ - --replace '/bin/bash' '${pkgs.bash}/bin/bash' - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))objcopy" ${binutils}/bin/${toolchain.targetPrefix}objcopy - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))objdump" ${binutils}/bin/${toolchain.targetPrefix}objdump - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))nm" ${binutils}/bin/${toolchain.targetPrefix}nm - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))readelf" ${binutils}/bin/${toolchain.targetPrefix}readelf - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))ar" ${binutils}/bin/${toolchain.targetPrefix}ar - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))cpp" ${cpp}/bin/cpp - ''; - - makeFlags = [ - "PLATFORM=imx" - "PLATFORM_FLAVOR=mx8mqevk" - "CFG_ARM64_core=y" - "CFG_TEE_TA_LOG_LEVEL=0" - "CFG_TEE_CORE_LOG_LEVEL=0" - "CROSS_COMPILE=${toolchain}/bin/${toolchain.targetPrefix}" - "CROSS_COMPILE64=${toolchain}/bin/${toolchain.targetPrefix}" - ]; - - installPhase = '' - mkdir -p $out - cp ./out/arm-plat-imx/core/tee-raw.bin $out/tee.bin - ''; + platformFlavor = "mx8mqevk"; } diff --git a/nxp/imx8mq-evk/bsp/imx8mq-uboot.nix b/nxp/imx8mq-evk/bsp/imx8mq-uboot.nix index 7bb9c2df..9acc1ee4 100644 --- a/nxp/imx8mq-evk/bsp/imx8mq-uboot.nix +++ b/nxp/imx8mq-evk/bsp/imx8mq-uboot.nix @@ -1,91 +1,17 @@ -{ - stdenv, - lib, - bison, - dtc, - fetchgit, - flex, - gnutls, - libuuid, - ncurses, - openssl, - which, - perl, - buildPackages, -}: -let - ubsrc = fetchgit { +{ pkgs, fetchgit }: +pkgs.callPackage ../../common/bsp/imx-uboot-builder.nix { + pname = "imx8mq-uboot"; + version = "2023.04"; + + src = fetchgit { url = "https://github.com/nxp-imx/uboot-imx.git"; # tag: "lf-6.1.55-2.2.0" rev = "49b102d98881fc28af6e0a8af5ea2186c1d90a5f"; sha256 = "sha256-1j6X82DqezEizeWoSS600XKPNwrQ4yT0vZuUImKAVVA="; }; -in -(stdenv.mkDerivation { - pname = "imx8mq-uboot"; - version = "2023.04"; - src = ubsrc; - postPatch = '' - patchShebangs tools - patchShebangs scripts - ''; - - nativeBuildInputs = [ - bison - flex - openssl - which - ncurses - libuuid - gnutls - openssl - perl - ]; - - depsBuildBuild = [ buildPackages.stdenv.cc ]; - hardeningDisable = [ "all" ]; - enableParallelBuilding = true; - - makeFlags = [ - "DTC=${lib.getExe buildPackages.dtc}" - "CROSS_COMPILE=${stdenv.cc.targetPrefix}" - ]; - - extraConfig = '' - CONFIG_USE_BOOTCOMMAND=y - CONFIG_BOOTCOMMAND="setenv ramdisk_addr_r 0x45000000; setenv fdt_addr_r 0x44000000; run distro_bootcmd; " - CONFIG_CMD_BOOTEFI_SELFTEST=y - CONFIG_CMD_BOOTEFI=y - CONFIG_EFI_LOADER=y - CONFIG_BLK=y - CONFIG_PARTITIONS=y - CONFIG_DM_DEVICE_REMOVE=n - CONFIG_CMD_CACHE=y - ''; - - passAsFile = [ "extraConfig" ]; - - configurePhase = '' - runHook preConfigure - - make imx8mq_evk_defconfig - cat $extraConfigPath >> .config - - runHook postConfigure - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out - cp ./u-boot-nodtb.bin $out - cp ./spl/u-boot-spl.bin $out - cp ./arch/arm/dts/imx8mq-evk.dtb $out - cp .config $out - - runHook postInstall - ''; - - dontStrip = true; -}) + defconfig = "imx8mq_evk_defconfig"; + ramdiskAddr = "0x45000000"; + fdtAddr = "0x44000000"; + dtbPath = "./arch/arm/dts/imx8mq-evk.dtb"; +} diff --git a/nxp/imx93-evk/bsp/imx93-linux.nix b/nxp/imx93-evk/bsp/imx93-linux.nix index 6e4cc21f..1bdb8332 100644 --- a/nxp/imx93-evk/bsp/imx93-linux.nix +++ b/nxp/imx93-evk/bsp/imx93-linux.nix @@ -1,62 +1,24 @@ -{ lib, pkgs, ... }@args: -with pkgs; -buildLinux ( - args - // rec { - version = "6.12.3"; - name = "imx93-linux"; +{ pkgs, ... }@args: +(pkgs.callPackage ../../common/bsp/imx-linux-builder.nix args) { + pname = "imx93-linux"; + version = "6.12.3"; - # modDirVersion needs to be x.y.z, will automatically add .0 if needed - modDirVersion = version; + src = pkgs.fetchFromGitHub { + owner = "nxp-imx"; + repo = "linux-imx"; + # tag: lf-6.12.3 + rev = "37d02f4dcbbe6677dc9f5fc17f386c05d6a7bd7a"; + sha256 = "sha256-1oJMbHR8Ho0zNritEJ+TMOAyYHCW0vwhPkDfLctrZa8="; + }; - defconfig = "imx_v8_defconfig"; + # Platform-specific configuration (if any) + extraConfig = ""; - # https://github.com/NixOS/nixpkgs/pull/366004 - # introduced a breaking change that if a module is declared but it is not being used it will faill. - ignoreConfigErrors = true; + # https://github.com/NixOS/nixpkgs/pull/366004 + # introduced a breaking change that if a module is declared but it is not being used it will faill. + ignoreConfigErrors = true; - kernelPatches = [ - ]; - - autoModules = false; - - extraConfig = '' - CRYPTO_TLS m - TLS y - MD_RAID0 m - MD_RAID1 m - MD_RAID10 m - MD_RAID456 m - DM_VERITY m - LOGO y - FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER n - FB_EFI n - EFI_STUB y - EFI y - VIRTIO y - VIRTIO_PCI y - VIRTIO_BLK y - DRM_VIRTIO_GPU y - EXT4_FS y - USBIP_CORE m - USBIP_VHCI_HCD m - USBIP_HOST m - USBIP_VUDC m - ''; - - src = fetchFromGitHub { - owner = "nxp-imx"; - repo = "linux-imx"; - # tag: lf-6.12.3 - rev = "37d02f4dcbbe6677dc9f5fc17f386c05d6a7bd7a"; - sha256 = "sha256-1oJMbHR8Ho0zNritEJ+TMOAyYHCW0vwhPkDfLctrZa8="; - }; - meta = with lib; { - homepage = "https://github.com/nxp-imx/linux-imx"; - license = [ licenses.gpl2Only ]; - maintainers = with maintainers; [ govindsi ]; - platforms = [ "aarch64-linux" ]; - }; - } - // (args.argsOverride or { }) -) + extraMeta = { + maintainers = with pkgs.lib.maintainers; [ govindsi ]; + }; +} diff --git a/nxp/imx93-evk/bsp/imx93-optee-os.nix b/nxp/imx93-evk/bsp/imx93-optee-os.nix index 75e3dde7..a48a5bec 100644 --- a/nxp/imx93-evk/bsp/imx93-optee-os.nix +++ b/nxp/imx93-evk/bsp/imx93-optee-os.nix @@ -1,75 +1,17 @@ -{ - lib, - pkgs, -}: -let - inherit (pkgs.buildPackages) python3; - toolchain = pkgs.gccStdenv.cc; - binutils = pkgs.gccStdenv.cc.bintools.bintools_bin; - cpp = pkgs.gcc; -in -pkgs.stdenv.mkDerivation rec { +{ pkgs }: +pkgs.callPackage ../../common/bsp/imx-optee-builder.nix { pname = "imx93-optee-os"; version = "lf-6.12.3_1.0.0"; - nativeBuildInputs = [ - python3 - ]; - - enableParallelBuilding = true; - - propagatedBuildInputs = with python3.pkgs; [ - pycryptodomex - pyelftools - cryptography - ]; - src = pkgs.fetchgit { url = "https://github.com/nxp-imx/imx-optee-os.git"; rev = "8dd180b6d149c1e1314b5869697179f665bd9ca3"; sha256 = "sha256-PoolRscdyeGevrOa5YymPTQ36edVvReMM5WshRTz+uk="; }; - meta = with lib; { - homepage = "https://github.com/nxp-imx/imx-optee-os"; - license = [ licenses.bsd2 ]; - maintainers = with maintainers; [ govindsi ]; - platforms = [ "aarch64-linux" ]; + + platformFlavor = "imx-mx93evk"; + + meta = { + maintainers = with pkgs.lib.maintainers; [ govindsi ]; }; - - postPatch = '' - substituteInPlace scripts/arm32_sysreg.py \ - --replace '/usr/bin/env python3' '${python3}/bin/python' - substituteInPlace scripts/gen_tee_bin.py \ - --replace '/usr/bin/env python3' '${python3}/bin/python' - substituteInPlace scripts/pem_to_pub_c.py \ - --replace '/usr/bin/env python3' '${python3}/bin/python' - substituteInPlace ta/pkcs11/scripts/verify-helpers.sh \ - --replace '/bin/bash' '${pkgs.bash}/bin/bash' - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))objcopy" ${binutils}/bin/${toolchain.targetPrefix}objcopy - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))objdump" ${binutils}/bin/${toolchain.targetPrefix}objdump - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))nm" ${binutils}/bin/${toolchain.targetPrefix}nm - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))readelf" ${binutils}/bin/${toolchain.targetPrefix}readelf - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))ar" ${binutils}/bin/${toolchain.targetPrefix}ar - substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))cpp" ${cpp}/bin/cpp - ''; - - makeFlags = [ - "PLATFORM=imx-mx93evk" - "CFG_ARM64_core=y" - "CFG_TEE_TA_LOG_LEVEL=0" - "CFG_TEE_CORE_LOG_LEVEL=0" - "CROSS_COMPILE=${toolchain}/bin/${toolchain.targetPrefix}" - "CROSS_COMPILE64=${toolchain}/bin/${toolchain.targetPrefix}" - ]; - - installPhase = '' - mkdir -p $out - cp ./out/arm-plat-imx/core/tee-raw.bin $out/tee.bin - ''; } diff --git a/nxp/imx93-evk/bsp/imx93-uboot.nix b/nxp/imx93-evk/bsp/imx93-uboot.nix index ce918381..9c6f6f9f 100644 --- a/nxp/imx93-evk/bsp/imx93-uboot.nix +++ b/nxp/imx93-evk/bsp/imx93-uboot.nix @@ -1,93 +1,17 @@ -{ - stdenv, - lib, - bison, - dtc, - fetchgit, - flex, - gnutls, - libuuid, - ncurses, - openssl, - which, - perl, - buildPackages, - efitools, -}: -let - ubsrc = fetchgit { +{ pkgs, fetchgit }: +pkgs.callPackage ../../common/bsp/imx-uboot-builder.nix { + pname = "imx93-uboot"; + version = "2024.04"; + + src = fetchgit { url = "https://github.com/nxp-imx/uboot-imx.git"; #lf_v2024.04 rev = "e3219a5a73445219df605d1492687918d488055c"; sha256 = "sha256-6pXwgNzq4/XUUEmJ6sGC5pII4J5uMvlDPE9QJxjJJbQ="; }; -in -stdenv.mkDerivation { - pname = "imx93-uboot"; - version = "2024.04"; - src = ubsrc; - postPatch = '' - patchShebangs tools - patchShebangs scripts - ''; - - nativeBuildInputs = [ - bison - flex - openssl - which - ncurses - libuuid - gnutls - openssl - perl - efitools - ]; - - depsBuildBuild = [ buildPackages.stdenv.cc ]; - hardeningDisable = [ "all" ]; - enableParallelBuilding = true; - - makeFlags = [ - "DTC=${lib.getExe buildPackages.dtc}" - "CROSS_COMPILE=${stdenv.cc.targetPrefix}" - ]; - - extraConfig = '' - CONFIG_USE_BOOTCOMMAND=y - CONFIG_BOOTCOMMAND="setenv ramdisk_addr_r 0x85000000; setenv fdt_addr_r 0x84000000; run distro_bootcmd; " - CONFIG_CMD_BOOTEFI_SELFTEST=y - CONFIG_CMD_BOOTEFI=y - CONFIG_EFI_LOADER=y - CONFIG_BLK=y - CONFIG_PARTITIONS=y - CONFIG_DM_DEVICE_REMOVE=n - CONFIG_CMD_CACHE=y - ''; - - passAsFile = [ "extraConfig" ]; - - configurePhase = '' - runHook preConfigure - - make imx93_11x11_evk_defconfig - cat $extraConfigPath >> .config - - runHook postConfigure - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out - cp ./u-boot-nodtb.bin $out - cp ./spl/u-boot-spl.bin $out - cp ./arch/arm/dts/imx93-11x11-evk.dtb $out - cp .config $out - - runHook postInstall - ''; - - dontStrip = true; + defconfig = "imx93_11x11_evk_defconfig"; + ramdiskAddr = "0x85000000"; + fdtAddr = "0x84000000"; + dtbPath = "./arch/arm/dts/imx93-11x11-evk.dtb"; } From e11482075d60cb55e64d8488bbef062073262738 Mon Sep 17 00:00:00 2001 From: r-vdp Date: Thu, 30 Oct 2025 10:54:55 +0100 Subject: [PATCH 095/117] framework/kmod: remove compatibility with Linux version < 6.10 Upstream changes broke the checks that we had. By now we have 6.12 as the LTS, and 24.05 went out of support, so I think we don't need to support this anymore. Anyone still on such old kernel versions, can apply the patch manually if needed. --- framework/kmod.nix | 61 +++++++++++++++------------------------------- 1 file changed, 20 insertions(+), 41 deletions(-) diff --git a/framework/kmod.nix b/framework/kmod.nix index 7cb53746..9d98a734 100644 --- a/framework/kmod.nix +++ b/framework/kmod.nix @@ -1,56 +1,35 @@ { config, lib, - pkgs, ... }: -let - kernel_version_compatible = lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.10"; -in { options.hardware.framework.enableKmod = - (lib.mkEnableOption "Enable the community created Framework kernel module that allows interacting with the embedded controller from sysfs.") + (lib.mkEnableOption "the community-created Framework kernel module that allows interacting with the embedded controller from sysfs.") // { # enable by default on NixOS >= 24.05 and kernel >= 6.10 - default = lib.and (lib.versionAtLeast (lib.versions.majorMinor lib.version) "24.05") kernel_version_compatible; - defaultText = "enabled by default on NixOS >= 24.05 and kernel >= 6.10"; + default = lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.10"; + defaultText = "enabled by default if kernel >= 6.10"; }; - config.boot = lib.mkIf config.hardware.framework.enableKmod { - extraModulePackages = with config.boot.kernelPackages; [ - framework-laptop-kmod - ]; - - # https://github.com/DHowett/framework-laptop-kmod?tab=readme-ov-file#usage - kernelModules = [ - "cros_ec" - "cros_ec_lpcs" - ]; - - # add required patch if enabled on kernel <6.10 - kernelPatches = lib.mkIf (!kernel_version_compatible) [ - rec { - name = "platform/chrome: cros_ec_lpc: add support for AMD Framework Laptops"; - msgid = "20240403004713.130365-1-dustin@howett.net"; - version = "3"; - hash = "sha256-aQSyys8CMzlj9EdNhg8vtp76fg1qEwUVeJL0E+8w5HU="; - patch = - pkgs.runCommandLocal "patch-${msgid}" - { - nativeBuildInputs = with pkgs; [ - b4 - git - cacert - ]; - SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; - - outputHash = hash; - } - '' - export HOME="$TMP" - PYTHONHASHSEED=0 ${pkgs.b4}/bin/b4 -n am -C -T -v ${version} -o- "${msgid}" > "$out" - ''; + config = lib.mkIf config.hardware.framework.enableKmod { + assertions = [ + { + assertion = lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.10"; + message = "The framework laptop kernel module requires Linux 6.10 or above"; } ]; + + boot = { + extraModulePackages = with config.boot.kernelPackages; [ + framework-laptop-kmod + ]; + + # https://github.com/DHowett/framework-laptop-kmod?tab=readme-ov-file#usage + kernelModules = [ + "cros_ec" + "cros_ec_lpcs" + ]; + }; }; } From 4bafcc24545636a35e00500b6c3f7ea581b44340 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 17 Aug 2025 11:20:09 +0200 Subject: [PATCH 096/117] Refactor tests to load flake inputs with flake-compat This makes `nix fmt` just works and we no longer have to override flake inputs. --- .github/workflows/test.yml | 4 +- CONTRIBUTING.md | 2 +- flake.nix | 65 +++++++- tests/flake-compat.nix | 299 +++++++++++++++++++++++++++++++++++++ tests/flake.lock | 75 +++------- tests/flake.nix | 123 +-------------- tests/nixos-tests.nix | 70 +++++++++ tests/run-tests.nix | 19 +++ tests/run.py | 13 +- tests/treefmt.nix | 11 ++ 10 files changed, 491 insertions(+), 190 deletions(-) create mode 100644 tests/flake-compat.nix create mode 100644 tests/nixos-tests.nix create mode 100644 tests/run-tests.nix create mode 100644 tests/treefmt.nix diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ac55dd2a..9999d49b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,11 +11,11 @@ jobs: steps: - uses: actions/checkout@v5 - uses: cachix/install-nix-action@v31 - - run: cd tests && nix fmt .. -- --fail-on-change + - run: nix build .#checks.x86_64-linux.formatting tests: needs: nixfmt runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: cachix/install-nix-action@v31 - - run: nix run ./tests#run . \ No newline at end of file + - run: nix run .#run-tests diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 63a147a7..93564142 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -42,7 +42,7 @@ Link the profile in the table in README.md and in flake.nix. ## 3. Testing -Run `nix run ./tests#run .` to evaluate all hardware profiles. +Run `nix run .#run-tests` to evaluate all hardware profiles. Because profiles can only be tested with the appropriate hardware, quality assurance is up to *you*. diff --git a/flake.nix b/flake.nix index bc3a709e..c88aa593 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,35 @@ description = "nixos-hardware"; outputs = - { ... }: + { self, ... }: + let + # Import private inputs (for development) + privateInputs = + (import ./tests/flake-compat.nix { + src = ./tests; + }).defaultNix; + + systems = [ + "aarch64-linux" + "riscv64-linux" + "x86_64-linux" + ]; + + formatSystems = [ "aarch64-linux" "x86_64-linux" ]; + + # Helper to iterate over systems + eachSystem = + f: + privateInputs.nixos-unstable-small.lib.genAttrs systems ( + system: f privateInputs.nixos-unstable-small.legacyPackages.${system} system + ); + + eachSystemFormat = + f: + privateInputs.nixos-unstable-small.lib.genAttrs formatSystems ( + system: f privateInputs.nixos-unstable-small.legacyPackages.${system} system + ); + in { nixosModules = @@ -420,5 +448,40 @@ common-pc-laptop-ssd = import ./common/pc/ssd; common-pc-ssd = import ./common/pc/ssd; }; + + # Add formatter for `nix fmt` + formatter = eachSystemFormat ( + pkgs: _system: + (privateInputs.treefmt-nix.lib.evalModule pkgs ./tests/treefmt.nix).config.build.wrapper + ); + + # Add packages + packages = eachSystem ( + pkgs: _system: { + run-tests = pkgs.callPackage ./tests/run-tests.nix { + inherit self; + }; + } + ); + + # Add checks for `nix run .#run-tests` + checks = eachSystem ( + pkgs: system: + let + treefmtEval = privateInputs.treefmt-nix.lib.evalModule pkgs ./tests/treefmt.nix; + nixosTests = import ./tests/nixos-tests.nix { + inherit + self + privateInputs + system + pkgs + ; + }; + in + pkgs.lib.optionalAttrs (self.formatter ? ${system}) { + formatting = treefmtEval.config.build.check self; + } + // nixosTests + ); }; } diff --git a/tests/flake-compat.nix b/tests/flake-compat.nix new file mode 100644 index 00000000..ddc1cd0e --- /dev/null +++ b/tests/flake-compat.nix @@ -0,0 +1,299 @@ +# Compatibility function to allow flakes to be used by +# non-flake-enabled Nix versions. Given a source tree containing a +# 'flake.nix' and 'flake.lock' file, it fetches the flake inputs and +# calls the flake's 'outputs' function. It then returns an attrset +# containing 'defaultNix' (to be used in 'default.nix'), 'shellNix' +# (to be used in 'shell.nix'). + +{ + src, + system ? builtins.currentSystem or "unknown-system", +}: + +let + + lockFilePath = src + "/flake.lock"; + + lockFile = builtins.fromJSON (builtins.readFile lockFilePath); + + fetchTree = + builtins.fetchTree or ( + info: + if info.type == "github" then + { + outPath = fetchTarball ( + { + url = "https://api.${info.host or "github.com"}/repos/${info.owner}/${info.repo}/tarball/${info.rev}"; + } + // (if info ? narHash then { sha256 = info.narHash; } else { }) + ); + rev = info.rev; + shortRev = builtins.substring 0 7 info.rev; + lastModified = info.lastModified; + lastModifiedDate = formatSecondsSinceEpoch info.lastModified; + narHash = info.narHash; + } + else if info.type == "git" then + { + outPath = builtins.fetchGit ( + { + url = info.url; + } + // (if info ? rev then { inherit (info) rev; } else { }) + // (if info ? ref then { inherit (info) ref; } else { }) + // (if info ? submodules then { inherit (info) submodules; } else { }) + ); + lastModified = info.lastModified; + lastModifiedDate = formatSecondsSinceEpoch info.lastModified; + narHash = info.narHash; + revCount = info.revCount or 0; + } + // ( + if info ? rev then + { + rev = info.rev; + shortRev = builtins.substring 0 7 info.rev; + } + else + { } + ) + else if info.type == "path" then + { + outPath = builtins.path { + path = info.path; + sha256 = info.narHash; + }; + narHash = info.narHash; + } + else if info.type == "tarball" then + { + outPath = fetchTarball ( + { inherit (info) url; } // (if info ? narHash then { sha256 = info.narHash; } else { }) + ); + } + else if info.type == "gitlab" then + { + inherit (info) rev narHash lastModified; + outPath = fetchTarball ( + { + url = "https://${info.host or "gitlab.com"}/api/v4/projects/${info.owner}%2F${info.repo}/repository/archive.tar.gz?sha=${info.rev}"; + } + // (if info ? narHash then { sha256 = info.narHash; } else { }) + ); + shortRev = builtins.substring 0 7 info.rev; + } + else if info.type == "sourcehut" then + { + inherit (info) rev narHash lastModified; + outPath = fetchTarball ( + { + url = "https://${info.host or "git.sr.ht"}/${info.owner}/${info.repo}/archive/${info.rev}.tar.gz"; + } + // (if info ? narHash then { sha256 = info.narHash; } else { }) + ); + shortRev = builtins.substring 0 7 info.rev; + } + else + # FIXME: add Mercurial, tarball inputs. + throw "flake input has unsupported input type '${info.type}'" + ); + + callFlake4 = + flakeSrc: locks: + let + flake = import (flakeSrc + "/flake.nix"); + + inputs = builtins.mapAttrs ( + _n: v: + if v.flake or true then + callFlake4 (fetchTree (v.locked // v.info)) v.inputs + else + fetchTree (v.locked // v.info) + ) locks; + + outputs = flakeSrc // (flake.outputs (inputs // { self = outputs; })); + in + assert flake.edition == 201909; + outputs; + + callLocklessFlake = + flakeSrc: + let + flake = import (flakeSrc + "/flake.nix"); + outputs = flakeSrc // (flake.outputs ({ self = outputs; })); + in + outputs; + + rootSrc = + let + # Try to clean the source tree by using fetchGit, if this source + # tree is a valid git repository. + tryFetchGit = + src: + if isGit && !isShallow then + let + res = builtins.fetchGit src; + in + if res.rev == "0000000000000000000000000000000000000000" then + removeAttrs res [ + "rev" + "shortRev" + ] + else + res + else + { + outPath = + # Massage `src` into a store path. + if builtins.isPath src then + if + dirOf (toString src) == builtins.storeDir + # `builtins.storePath` is not available in pure-eval mode. + && builtins ? currentSystem + then + # If it's already a store path, don't copy it again. + builtins.storePath src + else + "${src}" + else + src; + }; + # NB git worktrees have a file for .git, so we don't check the type of .git + isGit = builtins.pathExists (src + "/.git"); + isShallow = builtins.pathExists (src + "/.git/shallow"); + + in + { + lastModified = 0; + lastModifiedDate = formatSecondsSinceEpoch 0; + } + // (if src ? outPath then src else tryFetchGit src); + + # Format number of seconds in the Unix epoch as %Y%m%d%H%M%S. + formatSecondsSinceEpoch = + t: + let + rem = x: y: x - x / y * y; + days = t / 86400; + secondsInDay = rem t 86400; + hours = secondsInDay / 3600; + minutes = (rem secondsInDay 3600) / 60; + seconds = rem t 60; + + # Courtesy of https://stackoverflow.com/a/32158604. + z = days + 719468; + era = (if z >= 0 then z else z - 146096) / 146097; + doe = z - era * 146097; + yoe = (doe - doe / 1460 + doe / 36524 - doe / 146096) / 365; + y = yoe + era * 400; + doy = doe - (365 * yoe + yoe / 4 - yoe / 100); + mp = (5 * doy + 2) / 153; + d = doy - (153 * mp + 2) / 5 + 1; + m = mp + (if mp < 10 then 3 else -9); + y' = y + (if m <= 2 then 1 else 0); + + pad = s: if builtins.stringLength s < 2 then "0" + s else s; + in + "${toString y'}${pad (toString m)}${pad (toString d)}${pad (toString hours)}${pad (toString minutes)}${pad (toString seconds)}"; + + allNodes = builtins.mapAttrs ( + key: node: + let + sourceInfo = + if key == lockFile.root then + rootSrc + else + fetchTree (node.info or { } // removeAttrs node.locked [ "dir" ]); + + subdir = if key == lockFile.root then "" else node.locked.dir or ""; + + outPath = sourceInfo + ((if subdir == "" then "" else "/") + subdir); + + flake = import (outPath + "/flake.nix"); + + inputs = builtins.mapAttrs (_inputName: inputSpec: allNodes.${resolveInput inputSpec}) ( + node.inputs or { } + ); + + # Resolve a input spec into a node name. An input spec is + # either a node name, or a 'follows' path from the root + # node. + resolveInput = + inputSpec: if builtins.isList inputSpec then getInputByPath lockFile.root inputSpec else inputSpec; + + # Follow an input path (e.g. ["dwarffs" "nixpkgs"]) from the + # root node, returning the final node. + getInputByPath = + nodeName: path: + if path == [ ] then + nodeName + else + getInputByPath + # Since this could be a 'follows' input, call resolveInput. + (resolveInput lockFile.nodes.${nodeName}.inputs.${builtins.head path}) + (builtins.tail path); + + outputs = flake.outputs (inputs // { self = result; }); + + result = + outputs + # We add the sourceInfo attribute for its metadata, as they are + # relevant metadata for the flake. However, the outPath of the + # sourceInfo does not necessarily match the outPath of the flake, + # as the flake may be in a subdirectory of a source. + # This is shadowed in the next // + // sourceInfo + // { + # This shadows the sourceInfo.outPath + inherit outPath; + + inherit inputs; + inherit outputs; + inherit sourceInfo; + _type = "flake"; + }; + + in + if node.flake or true then + assert builtins.isFunction flake.outputs; + result + else + sourceInfo + ) lockFile.nodes; + + result = + if !(builtins.pathExists lockFilePath) then + callLocklessFlake rootSrc + else if lockFile.version == 4 then + callFlake4 rootSrc (lockFile.inputs) + else if lockFile.version >= 5 && lockFile.version <= 7 then + allNodes.${lockFile.root} + else + throw "lock file '${lockFilePath}' has unsupported version ${toString lockFile.version}"; + +in +rec { + outputs = result; + + defaultNix = + builtins.removeAttrs result [ "__functor" ] + // ( + if result ? defaultPackage.${system} then { default = result.defaultPackage.${system}; } else { } + ) + // ( + if result ? packages.${system}.default then + { default = result.packages.${system}.default; } + else + { } + ); + + shellNix = + defaultNix + // (if result ? devShell.${system} then { default = result.devShell.${system}; } else { }) + // ( + if result ? devShells.${system}.default then + { default = result.devShells.${system}.default; } + else + { } + ); +} diff --git a/tests/flake.lock b/tests/flake.lock index 4363c6d1..da5ee417 100644 --- a/tests/flake.lock +++ b/tests/flake.lock @@ -1,78 +1,39 @@ { "nodes": { - "flake-parts": { - "inputs": { - "nixpkgs-lib": [ - "nixos-unstable-small" - ] - }, - "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "nixos-hardware": { - "locked": { - "lastModified": 1747083103, - "narHash": "sha256-dMx20S2molwqJxbmMB4pGjNfgp5H1IOHNa1Eby6xL+0=", - "owner": "NixOS", - "repo": "nixos-hardware", - "rev": "d1d68fe8b00248caaa5b3bbe4984c12b47e0867d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixos-hardware", - "type": "github" - } - }, "nixos-stable": { "locked": { - "lastModified": 1751211869, - "narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=", - "ref": "nixos-25.05", - "rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51", - "shallow": true, - "type": "git", - "url": "https://github.com/NixOS/nixpkgs" + "lastModified": 1755274400, + "narHash": "sha256-rTInmnp/xYrfcMZyFMH3kc8oko5zYfxsowaLv1LVobY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ad7196ae55c295f53a7d1ec39e4a06d922f3b899", + "type": "github" }, "original": { + "owner": "NixOS", "ref": "nixos-25.05", - "shallow": true, - "type": "git", - "url": "https://github.com/NixOS/nixpkgs" + "repo": "nixpkgs", + "type": "github" } }, "nixos-unstable-small": { "locked": { - "lastModified": 1747040834, - "narHash": "sha256-iKQKoNlZmxQq+O2WfImm/jn97g5GZBVW5EZEoCTXZ3I=", - "ref": "nixos-unstable-small", - "rev": "e4f52f3ea82ddd3754b467e3fdc0d709685c9a05", - "shallow": true, - "type": "git", - "url": "https://github.com/NixOS/nixpkgs" + "lastModified": 1755375481, + "narHash": "sha256-43PgCQFgFD1nM/7dncytV0c5heNHe/gXrEud18ZWcZU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "35f1742e4f1470817ff8203185e2ce0359947f12", + "type": "github" }, "original": { + "owner": "NixOS", "ref": "nixos-unstable-small", - "shallow": true, - "type": "git", - "url": "https://github.com/NixOS/nixpkgs" + "repo": "nixpkgs", + "type": "github" } }, "root": { "inputs": { - "flake-parts": "flake-parts", - "nixos-hardware": "nixos-hardware", "nixos-stable": "nixos-stable", "nixos-unstable-small": "nixos-unstable-small", "treefmt-nix": "treefmt-nix" diff --git a/tests/flake.nix b/tests/flake.nix index 443bfbd7..242c07be 100644 --- a/tests/flake.nix +++ b/tests/flake.nix @@ -1,127 +1,12 @@ { - description = "Test flake for nixos-hardware"; + description = "Private dev inputs for nixos-hardware"; inputs = { - nixos-unstable-small.url = "git+https://github.com/NixOS/nixpkgs?shallow=1&ref=nixos-unstable-small"; - nixos-stable.url = "git+https://github.com/NixOS/nixpkgs?shallow=1&ref=nixos-25.05"; - # override in the test - nixos-hardware.url = "github:NixOS/nixos-hardware"; - flake-parts.url = "github:hercules-ci/flake-parts"; - flake-parts.inputs.nixpkgs-lib.follows = "nixos-unstable-small"; + nixos-unstable-small.url = "github:NixOS/nixpkgs/nixos-unstable-small"; + nixos-stable.url = "github:NixOS/nixpkgs/nixos-25.05"; treefmt-nix.url = "github:numtide/treefmt-nix"; treefmt-nix.inputs.nixpkgs.follows = "nixos-unstable-small"; }; - outputs = - inputs@{ flake-parts, ... }: - flake-parts.lib.mkFlake { inherit inputs; } { - imports = [ - inputs.treefmt-nix.flakeModule - ]; - systems = [ - "aarch64-linux" - "x86_64-linux" - "riscv64-linux" - ]; - perSystem = - { - system, - lib, - pkgs, - ... - }: - let - blackList = [ - # does import-from-derivation - "toshiba-swanky" - # uses custom nixpkgs config - "raspberry-pi-2" - - # deprecated profiles - "framework" - "asus-zephyrus-ga402x" - "lenovo-yoga-7-14ARH7" - ]; - - # There are more, but for those we need to force it. - # In future we should probably already define it in our module. - aarch64Systems = [ - "raspberry-pi-3" - "raspberry-pi-4" - "raspberry-pi-5" - ]; - - matchArch = - moduleName: - if builtins.elem moduleName aarch64Systems then - pkgs.hostPlatform.system == "aarch64-linux" - else - # TODO also add riscv64 - pkgs.hostPlatform.system == "x86_64-linux"; - - modules = lib.filterAttrs ( - name: _: !(builtins.elem name blackList || lib.hasPrefix "common-" name) && matchArch name - ) inputs.nixos-hardware.nixosModules; - buildProfile = import ./build-profile.nix; - - unfreeNixpkgs = - importPath: - import importPath { - config = { - allowBroken = true; - allowUnfree = true; - nvidia.acceptLicense = true; - }; - overlays = [ ]; - inherit system; - }; - nixpkgsUnstable = unfreeNixpkgs inputs.nixos-unstable-small; - nixpkgsStable = unfreeNixpkgs inputs.nixos-stable; - - checksForNixpkgs = - channel: nixpkgs: - lib.mapAttrs' ( - name: module: - lib.nameValuePair "${channel}-${name}" (buildProfile { - pkgs = nixpkgs; - profile = module; - }) - ) modules; - in - { - _module.args.pkgs = nixpkgsUnstable; - - treefmt = { - flakeCheck = pkgs.hostPlatform.system != "riscv64-linux"; - projectRootFile = "COPYING"; - programs = { - deadnix = { - enable = true; - no-lambda-pattern-names = true; - }; - nixfmt = { - enable = true; - package = pkgs.nixfmt-rfc-style; - }; - }; - settings = { - on-unmatched = "info"; - }; - }; - - checks = - checksForNixpkgs "nixos-unstable" nixpkgsUnstable - // checksForNixpkgs "nixos-stable" nixpkgsStable; - packages.run = pkgs.writeShellScriptBin "run.py" '' - #!${pkgs.bash}/bin/bash - export PATH=${ - lib.makeBinPath [ - pkgs.nix-eval-jobs - pkgs.nix-eval-jobs.nix - ] - } - exec ${pkgs.python3.interpreter} ${./.}/run.py --nixos-hardware "$@" - ''; - }; - }; + outputs = inputs: inputs; } diff --git a/tests/nixos-tests.nix b/tests/nixos-tests.nix new file mode 100644 index 00000000..0fcf6ed9 --- /dev/null +++ b/tests/nixos-tests.nix @@ -0,0 +1,70 @@ +{ + self, + privateInputs, + system, + pkgs, +}: +let + # Hardware profile checks + blackList = [ + # does import-from-derivation + "toshiba-swanky" + # uses custom nixpkgs config + "raspberry-pi-2" + # deprecated profiles + "framework" + "asus-zephyrus-ga402x" + "lenovo-yoga-7-14ARH7" + ]; + + aarch64Systems = [ + "raspberry-pi-3" + "raspberry-pi-4" + "raspberry-pi-5" + ]; + + matchArch = + moduleName: + if builtins.elem moduleName aarch64Systems then + system == "aarch64-linux" + else + # TODO also add riscv64 + system == "x86_64-linux"; + + modules = pkgs.lib.filterAttrs ( + name: _: !(builtins.elem name blackList || pkgs.lib.hasPrefix "common-" name) && matchArch name + ) self.nixosModules; + + buildProfile = import ./build-profile.nix; + + unfreeNixpkgs = { + config = { + allowBroken = true; + allowUnfree = true; + nvidia.acceptLicense = true; + }; + overlays = [ ]; + inherit system; + }; + + nixpkgsUnstable = import privateInputs.nixos-unstable-small unfreeNixpkgs; + nixpkgsStable = import privateInputs.nixos-stable unfreeNixpkgs; + + # Build checks for both unstable and stable + unstableChecks = pkgs.lib.mapAttrs' ( + name: module: + pkgs.lib.nameValuePair "unstable-${name}" (buildProfile { + pkgs = nixpkgsUnstable; + profile = module; + }) + ) modules; + + stableChecks = pkgs.lib.mapAttrs' ( + name: module: + pkgs.lib.nameValuePair "stable-${name}" (buildProfile { + pkgs = nixpkgsStable; + profile = module; + }) + ) modules; +in +unstableChecks // stableChecks diff --git a/tests/run-tests.nix b/tests/run-tests.nix new file mode 100644 index 00000000..a2606bbc --- /dev/null +++ b/tests/run-tests.nix @@ -0,0 +1,19 @@ +{ + lib, + writeShellScriptBin, + bash, + python3, + nix-eval-jobs, + self, +}: + +writeShellScriptBin "run-tests" '' + #!${bash}/bin/bash + export PATH=${ + lib.makeBinPath [ + nix-eval-jobs + nix-eval-jobs.nix + ] + } + exec ${python3.interpreter} ${self}/tests/run.py +'' diff --git a/tests/run.py b/tests/run.py index efe76b52..6bb49e88 100755 --- a/tests/run.py +++ b/tests/run.py @@ -30,22 +30,15 @@ def parse_args() -> argparse.Namespace: action="store_true", help="Print evaluation commands executed", ) - parser.add_argument( - "--nixos-hardware", - help="Print evaluation commands executed", - ) return parser.parse_args() -def run_eval_test(nixos_hardware: str, gcroot_dir: Path, jobs: int) -> list[str]: +def run_eval_test(gcroot_dir: Path, jobs: int) -> list[str]: failed_profiles = [] cmd = [ "nix-eval-jobs", "--extra-experimental-features", "flakes", - "--override-input", - "nixos-hardware", - nixos_hardware, "--gc-roots-dir", str(gcroot_dir), "--max-memory-size", @@ -53,7 +46,7 @@ def run_eval_test(nixos_hardware: str, gcroot_dir: Path, jobs: int) -> list[str] "--workers", str(jobs), "--flake", - str(TEST_ROOT) + "#checks", + str(ROOT) + "#checks", "--force-recurse", ] print(" ".join(map(shlex.quote, cmd))) @@ -84,7 +77,7 @@ def main() -> None: with TemporaryDirectory() as tmpdir: gcroot_dir = Path(tmpdir) / "gcroot" - failed_profiles = run_eval_test(args.nixos_hardware, gcroot_dir, args.jobs) + failed_profiles = run_eval_test(gcroot_dir, args.jobs) if len(failed_profiles) > 0: print(f"\n{RED}The following {len(failed_profiles)} test(s) failed:{RESET}") diff --git a/tests/treefmt.nix b/tests/treefmt.nix new file mode 100644 index 00000000..46df7f2b --- /dev/null +++ b/tests/treefmt.nix @@ -0,0 +1,11 @@ +{ + projectRootFile = "flake.nix"; + programs = { + deadnix = { + enable = true; + no-lambda-pattern-names = true; + }; + nixfmt.enable = true; + }; + settings.on-unmatched = "info"; +} From 6ec1e821826ed890236a4a81ca6669cce769e9b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 17 Aug 2025 11:21:04 +0200 Subject: [PATCH 097/117] format nix code after nixfmt update --- framework/13-inch/common/amd.nix | 25 ++++++++-------- framework/13-inch/common/intel.nix | 19 ++++++------ framework/16-inch/common/amd.nix | 25 ++++++++-------- lenovo/legion/15ach6h/nvidia/default.nix | 15 +++++----- lenovo/legion/16ach6h/nvidia/default.nix | 15 +++++----- lenovo/legion/16achg6/nvidia/default.nix | 15 +++++----- lenovo/thinkpad/p14s/amd/gen2/default.nix | 7 +++-- .../surface/common/kernel/linux-package.nix | 25 ++++++++-------- mnt/reform/rk3588/installer.nix | 3 +- nxp/common/bsp/imx-firmware.nix | 29 +++++++++--------- nxp/common/bsp/imx-optee-builder.nix | 30 +++++++++---------- nxp/common/bsp/imx-uboot-builder.nix | 3 +- pine64/star64/linux-5.15.nix | 3 +- 13 files changed, 105 insertions(+), 109 deletions(-) diff --git a/framework/13-inch/common/amd.nix b/framework/13-inch/common/amd.nix index ae35fffe..4a89f8da 100644 --- a/framework/13-inch/common/amd.nix +++ b/framework/13-inch/common/amd.nix @@ -6,19 +6,18 @@ ../../../common/gpu/amd ]; - boot.kernelParams = - [ - # There seems to be an issue with panel self-refresh (PSR) that - # causes hangs for users. - # - # https://community.frame.work/t/fedora-kde-becomes-suddenly-slow/58459 - # https://gitlab.freedesktop.org/drm/amd/-/issues/3647 - "amdgpu.dcdebugmask=0x10" - ] - # Workaround for SuspendThenHibernate: https://lore.kernel.org/linux-kernel/20231106162310.85711-1-mario.limonciello@amd.com/ - ++ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") [ - "rtc_cmos.use_acpi_alarm=1" - ]; + boot.kernelParams = [ + # There seems to be an issue with panel self-refresh (PSR) that + # causes hangs for users. + # + # https://community.frame.work/t/fedora-kde-becomes-suddenly-slow/58459 + # https://gitlab.freedesktop.org/drm/amd/-/issues/3647 + "amdgpu.dcdebugmask=0x10" + ] + # Workaround for SuspendThenHibernate: https://lore.kernel.org/linux-kernel/20231106162310.85711-1-mario.limonciello@amd.com/ + ++ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") [ + "rtc_cmos.use_acpi_alarm=1" + ]; # AMD has better battery life with PPD over TLP: # https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13 diff --git a/framework/13-inch/common/intel.nix b/framework/13-inch/common/intel.nix index 6248e75f..c46652cb 100644 --- a/framework/13-inch/common/intel.nix +++ b/framework/13-inch/common/intel.nix @@ -9,16 +9,15 @@ ../../../common/cpu/intel ]; - boot.kernelParams = - [ - # For Power consumption - # https://community.frame.work/t/linux-battery-life-tuning/6665/156 - "nvme.noacpi=1" - ] - # Fixes a regression in s2idle, making it more power efficient than deep sleep - # Update 04/2024: It appears that s2idle-regression got fixed in newer kernel-versions (SebTM) - # (see: https://github.com/NixOS/nixos-hardware/pull/903#discussion_r1556096657) - ++ lib.lists.optional (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") "acpi_osi=\"!Windows 2020\""; + boot.kernelParams = [ + # For Power consumption + # https://community.frame.work/t/linux-battery-life-tuning/6665/156 + "nvme.noacpi=1" + ] + # Fixes a regression in s2idle, making it more power efficient than deep sleep + # Update 04/2024: It appears that s2idle-regression got fixed in newer kernel-versions (SebTM) + # (see: https://github.com/NixOS/nixos-hardware/pull/903#discussion_r1556096657) + ++ lib.lists.optional (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") "acpi_osi=\"!Windows 2020\""; # Requires at least 5.16 for working wi-fi and bluetooth. # https://community.frame.work/t/using-the-ax210-with-linux-on-the-framework-laptop/1844/89 diff --git a/framework/16-inch/common/amd.nix b/framework/16-inch/common/amd.nix index ae35fffe..4a89f8da 100644 --- a/framework/16-inch/common/amd.nix +++ b/framework/16-inch/common/amd.nix @@ -6,19 +6,18 @@ ../../../common/gpu/amd ]; - boot.kernelParams = - [ - # There seems to be an issue with panel self-refresh (PSR) that - # causes hangs for users. - # - # https://community.frame.work/t/fedora-kde-becomes-suddenly-slow/58459 - # https://gitlab.freedesktop.org/drm/amd/-/issues/3647 - "amdgpu.dcdebugmask=0x10" - ] - # Workaround for SuspendThenHibernate: https://lore.kernel.org/linux-kernel/20231106162310.85711-1-mario.limonciello@amd.com/ - ++ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") [ - "rtc_cmos.use_acpi_alarm=1" - ]; + boot.kernelParams = [ + # There seems to be an issue with panel self-refresh (PSR) that + # causes hangs for users. + # + # https://community.frame.work/t/fedora-kde-becomes-suddenly-slow/58459 + # https://gitlab.freedesktop.org/drm/amd/-/issues/3647 + "amdgpu.dcdebugmask=0x10" + ] + # Workaround for SuspendThenHibernate: https://lore.kernel.org/linux-kernel/20231106162310.85711-1-mario.limonciello@amd.com/ + ++ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") [ + "rtc_cmos.use_acpi_alarm=1" + ]; # AMD has better battery life with PPD over TLP: # https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13 diff --git a/lenovo/legion/15ach6h/nvidia/default.nix b/lenovo/legion/15ach6h/nvidia/default.nix index 37dd1148..25bf31bf 100644 --- a/lenovo/legion/15ach6h/nvidia/default.nix +++ b/lenovo/legion/15ach6h/nvidia/default.nix @@ -10,12 +10,11 @@ # remove all packages for amd igpu. I only removed amdgpu from # services.xserver.videoDrivers by overriding. This is because the specialization # of nix cannot implement such an operation as canceling an import. - hardware = - { - nvidia.prime.offload.enable = false; - } - // lib.optionalAttrs (options ? amdgpu.opencl.enable) { - # introduced in https://github.com/NixOS/nixpkgs/pull/319865 - amdgpu.opencl.enable = lib.mkDefault false; - }; + hardware = { + nvidia.prime.offload.enable = false; + } + // lib.optionalAttrs (options ? amdgpu.opencl.enable) { + # introduced in https://github.com/NixOS/nixpkgs/pull/319865 + amdgpu.opencl.enable = lib.mkDefault false; + }; } diff --git a/lenovo/legion/16ach6h/nvidia/default.nix b/lenovo/legion/16ach6h/nvidia/default.nix index 37dd1148..25bf31bf 100644 --- a/lenovo/legion/16ach6h/nvidia/default.nix +++ b/lenovo/legion/16ach6h/nvidia/default.nix @@ -10,12 +10,11 @@ # remove all packages for amd igpu. I only removed amdgpu from # services.xserver.videoDrivers by overriding. This is because the specialization # of nix cannot implement such an operation as canceling an import. - hardware = - { - nvidia.prime.offload.enable = false; - } - // lib.optionalAttrs (options ? amdgpu.opencl.enable) { - # introduced in https://github.com/NixOS/nixpkgs/pull/319865 - amdgpu.opencl.enable = lib.mkDefault false; - }; + hardware = { + nvidia.prime.offload.enable = false; + } + // lib.optionalAttrs (options ? amdgpu.opencl.enable) { + # introduced in https://github.com/NixOS/nixpkgs/pull/319865 + amdgpu.opencl.enable = lib.mkDefault false; + }; } diff --git a/lenovo/legion/16achg6/nvidia/default.nix b/lenovo/legion/16achg6/nvidia/default.nix index d279b6a2..58b7ad23 100644 --- a/lenovo/legion/16achg6/nvidia/default.nix +++ b/lenovo/legion/16achg6/nvidia/default.nix @@ -3,12 +3,11 @@ { imports = [ ../hybrid ]; services.xserver.videoDrivers = [ "nvidia" ]; - hardware = - { - nvidia.prime.offload.enable = false; - } - // lib.optionalAttrs (options ? amdgpu.opencl.enable) { - # introduced in https://github.com/NixOS/nixpkgs/pull/319865 - amdgpu.opencl.enable = lib.mkDefault false; - }; + hardware = { + nvidia.prime.offload.enable = false; + } + // lib.optionalAttrs (options ? amdgpu.opencl.enable) { + # introduced in https://github.com/NixOS/nixpkgs/pull/319865 + amdgpu.opencl.enable = lib.mkDefault false; + }; } diff --git a/lenovo/thinkpad/p14s/amd/gen2/default.nix b/lenovo/thinkpad/p14s/amd/gen2/default.nix index b79e1cf3..a1cd731c 100644 --- a/lenovo/thinkpad/p14s/amd/gen2/default.nix +++ b/lenovo/thinkpad/p14s/amd/gen2/default.nix @@ -14,9 +14,10 @@ # amdgpu.backlight=0 makes the backlight work # acpi_backlight=none allows the backlight save/load systemd service to work on older kernel versions - boot.kernelParams = - [ "amdgpu.backlight=0" ] - ++ lib.optional (lib.versionOlder config.boot.kernelPackages.kernel.version "6.1.6") "acpi_backlight=none"; + boot.kernelParams = [ + "amdgpu.backlight=0" + ] + ++ lib.optional (lib.versionOlder config.boot.kernelPackages.kernel.version "6.1.6") "acpi_backlight=none"; # For mainline support of rtw89 wireless networking boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.16") pkgs.linuxPackages_latest; diff --git a/microsoft/surface/common/kernel/linux-package.nix b/microsoft/surface/common/kernel/linux-package.nix index a66aabc4..f9f96184 100644 --- a/microsoft/surface/common/kernel/linux-package.nix +++ b/microsoft/surface/common/kernel/linux-package.nix @@ -24,19 +24,18 @@ let let inherit (builtins) removeAttrs; - args' = - { - inherit - src - version - modDirVersion - kernelPatches - ; - } - // removeAttrs args [ - "url" - "sha256" - ]; + args' = { + inherit + src + version + modDirVersion + kernelPatches + ; + } + // removeAttrs args [ + "url" + "sha256" + ]; linuxPackage = buildLinux args'; linuxPackages' = recurseIntoAttrs (linuxPackagesFor linuxPackage); in diff --git a/mnt/reform/rk3588/installer.nix b/mnt/reform/rk3588/installer.nix index af7c5580..4e0c12c0 100644 --- a/mnt/reform/rk3588/installer.nix +++ b/mnt/reform/rk3588/installer.nix @@ -139,7 +139,8 @@ device = "/iso/nix-store.squashfs"; options = [ "loop" - ] ++ lib.optional (config.boot.kernelPackages.kernel.kernelAtLeast "6.2") "threads=multi"; + ] + ++ lib.optional (config.boot.kernelPackages.kernel.kernelAtLeast "6.2") "threads=multi"; neededForBoot = true; }; diff --git a/nxp/common/bsp/imx-firmware.nix b/nxp/common/bsp/imx-firmware.nix index 46e905f8..c2d6a8ed 100644 --- a/nxp/common/bsp/imx-firmware.nix +++ b/nxp/common/bsp/imx-firmware.nix @@ -47,21 +47,20 @@ pkgs.stdenv.mkDerivation rec { ${firmwareSeco} --auto-accept --force ''; - filesToInstall = - [ - "firmware-imx-${fwHdmiVersion}/firmware/hdmi/cadence/dpfw.bin" - "firmware-imx-${fwHdmiVersion}/firmware/hdmi/cadence/hdmi?xfw.bin" - ] - ++ pkgs.lib.optional (targetBoard == "imx8qm") ( - "imx-sc-firmware-${fwScVersion}/mx8qm-mek-scfw-tcm.bin" - + " " - + "imx-seco-${fwSecoVersion}/firmware/seco/mx8qmb0-ahab-container.img" - ) - ++ pkgs.lib.optional (targetBoard == "imx8qxp") ( - "imx-sc-firmware-${fwScVersion}/mx8qx-mek-scfw-tcm.bin" - + " " - + "imx-seco-${fwSecoVersion}/firmware/seco/mx8qxc0-ahab-container.img" - ); + filesToInstall = [ + "firmware-imx-${fwHdmiVersion}/firmware/hdmi/cadence/dpfw.bin" + "firmware-imx-${fwHdmiVersion}/firmware/hdmi/cadence/hdmi?xfw.bin" + ] + ++ pkgs.lib.optional (targetBoard == "imx8qm") ( + "imx-sc-firmware-${fwScVersion}/mx8qm-mek-scfw-tcm.bin" + + " " + + "imx-seco-${fwSecoVersion}/firmware/seco/mx8qmb0-ahab-container.img" + ) + ++ pkgs.lib.optional (targetBoard == "imx8qxp") ( + "imx-sc-firmware-${fwScVersion}/mx8qx-mek-scfw-tcm.bin" + + " " + + "imx-seco-${fwSecoVersion}/firmware/seco/mx8qxc0-ahab-container.img" + ); installPhase = '' mkdir -p $out diff --git a/nxp/common/bsp/imx-optee-builder.nix b/nxp/common/bsp/imx-optee-builder.nix index c76024b9..7d506fbe 100644 --- a/nxp/common/bsp/imx-optee-builder.nix +++ b/nxp/common/bsp/imx-optee-builder.nix @@ -61,20 +61,19 @@ pkgs.stdenv.mkDerivation { --replace "\$(CROSS_COMPILE_\$(sm))cpp" ${cpp}/bin/cpp ''; - makeFlags = - [ - "PLATFORM=${platform}" - ] - ++ lib.optionals (!hasFullPlatform) [ - "PLATFORM_FLAVOR=${flavor}" - ] - ++ [ - "CFG_ARM64_core=y" - "CFG_TEE_TA_LOG_LEVEL=0" - "CFG_TEE_CORE_LOG_LEVEL=0" - "CROSS_COMPILE=${toolchain}/bin/${toolchain.targetPrefix}" - "CROSS_COMPILE64=${toolchain}/bin/${toolchain.targetPrefix}" - ]; + makeFlags = [ + "PLATFORM=${platform}" + ] + ++ lib.optionals (!hasFullPlatform) [ + "PLATFORM_FLAVOR=${flavor}" + ] + ++ [ + "CFG_ARM64_core=y" + "CFG_TEE_TA_LOG_LEVEL=0" + "CFG_TEE_CORE_LOG_LEVEL=0" + "CROSS_COMPILE=${toolchain}/bin/${toolchain.targetPrefix}" + "CROSS_COMPILE64=${toolchain}/bin/${toolchain.targetPrefix}" + ]; installPhase = '' mkdir -p $out @@ -85,5 +84,6 @@ pkgs.stdenv.mkDerivation { homepage = "https://github.com/nxp-imx/imx-optee-os"; license = [ lib.licenses.bsd2 ]; platforms = [ "aarch64-linux" ]; - } // meta; + } + // meta; } diff --git a/nxp/common/bsp/imx-uboot-builder.nix b/nxp/common/bsp/imx-uboot-builder.nix index 6d8a5960..87bb7c22 100644 --- a/nxp/common/bsp/imx-uboot-builder.nix +++ b/nxp/common/bsp/imx-uboot-builder.nix @@ -57,7 +57,8 @@ stdenv.mkDerivation { gnutls perl efitools - ] ++ extraNativeBuildInputs; + ] + ++ extraNativeBuildInputs; depsBuildBuild = [ buildPackages.stdenv.cc ]; hardeningDisable = [ "all" ]; diff --git a/pine64/star64/linux-5.15.nix b/pine64/star64/linux-5.15.nix index 28d9adbb..39d8cedc 100644 --- a/pine64/star64/linux-5.15.nix +++ b/pine64/star64/linux-5.15.nix @@ -45,7 +45,8 @@ let }; } { patch = ./irq-desc-to-data.patch; } - ] ++ kernelPatches; + ] + ++ kernelPatches; structuredExtraConfig = with lib.kernel; { # A ton of stuff just does not build. We disable it all. From 779c16f6042d35d57d931dbaac4aa3643c00dffc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 17 Aug 2025 11:40:21 +0200 Subject: [PATCH 098/117] ci: show github errors nicer formatted --- tests/run.py | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 54 insertions(+), 2 deletions(-) diff --git a/tests/run.py b/tests/run.py index 6bb49e88..86214756 100755 --- a/tests/run.py +++ b/tests/run.py @@ -3,6 +3,7 @@ import argparse import json import multiprocessing +import os import shlex import subprocess import sys @@ -16,6 +17,37 @@ GREEN = "\033[92m" RED = "\033[91m" RESET = "\033[0m" +def is_github_actions() -> bool: + """Check if running in GitHub Actions environment.""" + return os.getenv("GITHUB_ACTIONS") == "true" + +def github_error(message: str, title: str = "") -> None: + """Output GitHub Actions error annotation.""" + if title: + print(f"::error title={title}::{message}") + else: + print(f"::error::{message}") + +def github_warning(message: str, title: str = "") -> None: + """Output GitHub Actions warning annotation.""" + if title: + print(f"::warning title={title}::{message}") + else: + print(f"::warning::{message}") + +def format_nix_error(error_text: str) -> str: + """Format nix evaluation error for better readability.""" + lines = error_text.strip().split('\n') + # Try to extract the most relevant error line + for line in lines: + if 'error:' in line.lower(): + return line.strip() + # If no specific error line found, return first non-empty line + for line in lines: + if line.strip(): + return line.strip() + return error_text.strip() + def parse_args() -> argparse.Namespace: parser = argparse.ArgumentParser(description="Run hardware tests") parser.add_argument( @@ -63,8 +95,19 @@ def run_eval_test(gcroot_dir: Path, jobs: int) -> list[str]: attr = data.get("attr") if "error" in data: failed_profiles.append(attr) + error_msg = data['error'] + formatted_error = format_nix_error(error_msg) + + # Output for terminal print(f"{RED}FAIL {attr}:{RESET}", file=sys.stderr) - print(f"{RED}{data['error']}{RESET}", file=sys.stderr) + print(f"{RED}{error_msg}{RESET}", file=sys.stderr) + + # Output for GitHub Actions + if is_github_actions(): + github_error( + formatted_error, + title=f"Hardware profile evaluation failed: {attr}" + ) else: print(f"{GREEN}OK {attr}{RESET}") return failed_profiles @@ -80,9 +123,18 @@ def main() -> None: failed_profiles = run_eval_test(gcroot_dir, args.jobs) if len(failed_profiles) > 0: - print(f"\n{RED}The following {len(failed_profiles)} test(s) failed:{RESET}") + failure_msg = f"The following {len(failed_profiles)} test(s) failed:" + print(f"\n{RED}{failure_msg}{RESET}") for profile in failed_profiles: print(f" '{profile}'") + + # GitHub Actions summary + if is_github_actions(): + github_error( + f"{failure_msg} {', '.join(failed_profiles)}", + title="Hardware Profile Tests Failed" + ) + sys.exit(1) From e214e292a6489251ca7c8b5bbeda1ddd0eaade61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 30 Oct 2025 12:38:59 +0100 Subject: [PATCH 099/117] also enable formatter on macOS --- flake.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index c88aa593..ce7425b9 100644 --- a/flake.nix +++ b/flake.nix @@ -16,7 +16,11 @@ "x86_64-linux" ]; - formatSystems = [ "aarch64-linux" "x86_64-linux" ]; + formatSystems = [ + "aarch64-linux" + "x86_64-linux" + "aarch64-darwin" + ]; # Helper to iterate over systems eachSystem = From b09586b1011846db568c11f41c37c9b375321934 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 30 Oct 2025 13:03:59 +0100 Subject: [PATCH 100/117] Remove insecure broadcom-sta driver from hardware profiles The broadcom-sta driver package is marked as insecure due to CVE-2019-9501 and CVE-2019-9502 (heap buffer overflow vulnerabilities allowing remote code execution). The driver is also unmaintained and incompatible with modern Linux kernel security mitigations. Removed broadcom_sta from extraModulePackages and the corresponding "wl" kernel module. This resolves test failures where Nixpkgs refuses to evaluate configurations containing this insecure package. --- apple/imac/14-2/default.nix | 1 - apple/macbook-air/6/default.nix | 2 -- apple/macbook-pro/11-1/default.nix | 4 ---- dell/inspiron/3442/default.nix | 6 ------ dell/xps/13-9343/default.nix | 3 --- 5 files changed, 16 deletions(-) diff --git a/apple/imac/14-2/default.nix b/apple/imac/14-2/default.nix index c20acfd7..5dd218c5 100644 --- a/apple/imac/14-2/default.nix +++ b/apple/imac/14-2/default.nix @@ -29,7 +29,6 @@ "bcma" ]; kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.0") pkgs.linuxPackages_latest; - extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; }; hardware = { diff --git a/apple/macbook-air/6/default.nix b/apple/macbook-air/6/default.nix index 3e927352..67f3a706 100644 --- a/apple/macbook-air/6/default.nix +++ b/apple/macbook-air/6/default.nix @@ -3,8 +3,6 @@ { imports = [ ../. ]; - boot.kernelModules = [ "wl" ]; - boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; boot.blacklistedKernelModules = [ "bcma" ]; boot = { diff --git a/apple/macbook-pro/11-1/default.nix b/apple/macbook-pro/11-1/default.nix index 6c9509b2..95f8c289 100644 --- a/apple/macbook-pro/11-1/default.nix +++ b/apple/macbook-pro/11-1/default.nix @@ -6,9 +6,5 @@ ../../../common/cpu/intel/haswell ]; - # broadcom-wl hardware.enableRedistributableFirmware = lib.mkDefault true; - # nixos-generate-config doesn't detect this automatically. - boot.extraModulePackages = with config.boot.kernelPackages; [ broadcom_sta ]; - boot.kernelModules = [ "wl" ]; } diff --git a/dell/inspiron/3442/default.nix b/dell/inspiron/3442/default.nix index 0d298ff3..6aefb56e 100644 --- a/dell/inspiron/3442/default.nix +++ b/dell/inspiron/3442/default.nix @@ -12,10 +12,4 @@ fwupd.enable = lib.mkDefault true; thermald.enable = lib.mkDefault true; }; - - boot = { - # needs to be explicitly loaded or else bluetooth/wifi won't work. - kernelModules = [ "wl" ]; - extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; - }; } diff --git a/dell/xps/13-9343/default.nix b/dell/xps/13-9343/default.nix index e98bb09b..28d6e22f 100644 --- a/dell/xps/13-9343/default.nix +++ b/dell/xps/13-9343/default.nix @@ -13,11 +13,8 @@ }; boot = { - # needs to be explicitly loaded or else bluetooth/wifi won't work kernelModules = [ "kvm-intel" - "wl" ]; - extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; }; } From 3beac2438b1d9159eb1d2038f01fae91308f5835 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 30 Oct 2025 13:12:15 +0100 Subject: [PATCH 101/117] nix-eval-job: disable eval-cache in ci, there is no cache, so it's just overhead and prints warnings. --- tests/run.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/run.py b/tests/run.py index 86214756..786e99bd 100755 --- a/tests/run.py +++ b/tests/run.py @@ -69,8 +69,8 @@ def run_eval_test(gcroot_dir: Path, jobs: int) -> list[str]: failed_profiles = [] cmd = [ "nix-eval-jobs", - "--extra-experimental-features", - "flakes", + "--extra-experimental-features", "flakes", + "--option", "eval-cache", "false", "--gc-roots-dir", str(gcroot_dir), "--max-memory-size", @@ -97,11 +97,11 @@ def run_eval_test(gcroot_dir: Path, jobs: int) -> list[str]: failed_profiles.append(attr) error_msg = data['error'] formatted_error = format_nix_error(error_msg) - + # Output for terminal print(f"{RED}FAIL {attr}:{RESET}", file=sys.stderr) print(f"{RED}{error_msg}{RESET}", file=sys.stderr) - + # Output for GitHub Actions if is_github_actions(): github_error( @@ -127,14 +127,14 @@ def main() -> None: print(f"\n{RED}{failure_msg}{RESET}") for profile in failed_profiles: print(f" '{profile}'") - + # GitHub Actions summary if is_github_actions(): github_error( f"{failure_msg} {', '.join(failed_profiles)}", title="Hardware Profile Tests Failed" ) - + sys.exit(1) From fe21eda733108aaf2e12c7a37203b86f53350a3d Mon Sep 17 00:00:00 2001 From: Govind Singh Date: Thu, 23 Oct 2025 09:28:48 +0400 Subject: [PATCH 102/117] Add support for UCM-iMX95 Evaluation Kit platform The CompuLab UCM-iMX95 Evaluation Kit provides a platform for comprehensive evaluation of the NXP i.MX95 application processor. This change adds support in NixOS hardware to provide a template for customized i.MX95-based platforms. UCM-iMX95: https://www.compulab.com/products/som-evaluation-kits/ucm-imx95-evaluation-kit/ Signed-off-by: Govind Singh --- compulab/ucm-imx95/bsp/ucm-imx95-atf.nix | 57 ++++++++++++ compulab/ucm-imx95/bsp/ucm-imx95-boot.nix | 87 +++++++++++++++++ compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix | 24 +++++ compulab/ucm-imx95/bsp/ucm-imx95-linux.nix | 62 +++++++++++++ compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix | 63 +++++++++++++ compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix | 63 +++++++++++++ compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix | 75 +++++++++++++++ compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix | 79 ++++++++++++++++ compulab/ucm-imx95/bsp/ucm-imx95-uboot.nix | 93 +++++++++++++++++++ compulab/ucm-imx95/default.nix | 19 ++++ compulab/ucm-imx95/modules.nix | 17 ++++ compulab/ucm-imx95/overlay.nix | 3 + flake.nix | 1 + 13 files changed, 643 insertions(+) create mode 100644 compulab/ucm-imx95/bsp/ucm-imx95-atf.nix create mode 100644 compulab/ucm-imx95/bsp/ucm-imx95-boot.nix create mode 100644 compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix create mode 100644 compulab/ucm-imx95/bsp/ucm-imx95-linux.nix create mode 100644 compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix create mode 100644 compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix create mode 100644 compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix create mode 100644 compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix create mode 100644 compulab/ucm-imx95/bsp/ucm-imx95-uboot.nix create mode 100644 compulab/ucm-imx95/default.nix create mode 100644 compulab/ucm-imx95/modules.nix create mode 100644 compulab/ucm-imx95/overlay.nix diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-atf.nix b/compulab/ucm-imx95/bsp/ucm-imx95-atf.nix new file mode 100644 index 00000000..fea07f79 --- /dev/null +++ b/compulab/ucm-imx95/bsp/ucm-imx95-atf.nix @@ -0,0 +1,57 @@ +{ + lib, + fetchgit, + stdenv, + buildPackages, + pkgsCross, + openssl, +}: + +let + target-board = "imx95"; +in +stdenv.mkDerivation rec { + pname = "imx95-atf"; + version = "2.13.0"; + platform = target-board; + enableParallelBuilding = true; + + src = fetchgit { + url = "https://github.com/nxp-imx/imx-atf.git"; + rev = "28affcae957cb8194917b5246276630f9e6343e1"; + sha256 = "sha256-a8F+Lf8pwML+tCwawS0N/mrSXWPmFhlUeOg0MCRK3VE="; + }; + + # Compiler dependencies + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ pkgsCross.aarch64-embedded.stdenv.cc ]; + + buildInputs = [ openssl ]; + + makeFlags = [ + "HOSTCC=$(CC_FOR_BUILD)" + "CROSS_COMPILE=${pkgsCross.aarch64-embedded.stdenv.cc.targetPrefix}" + "PLAT=${platform}" + "SPD=opteed" + "bl31" + "LDFLAGS=-no-warn-rwx-segments" + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out + cp build/${target-board}/release/bl31.bin $out + runHook postInstall + ''; + + hardeningDisable = [ "all" ]; + dontStrip = true; + + meta = with lib; { + homepage = "https://github.com/nxp-imx/imx-atf"; + description = "Reference implementation of secure world software for ARMv8-A"; + license = [ licenses.bsd3 ]; + maintainers = with maintainers; [ govindsi ]; + platforms = [ "aarch64-linux" ]; + }; +} diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix b/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix new file mode 100644 index 00000000..feedebaf --- /dev/null +++ b/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix @@ -0,0 +1,87 @@ +{ + pkgs, +}: +with pkgs; +let + + imx95-atf = pkgs.callPackage ./ucm-imx95-atf.nix { }; + imx95-firmware = pkgs.callPackage ./ucm-imx95-firmware.nix { }; + imx95-uboot = pkgs.callPackage ./ucm-imx95-uboot.nix { }; + imx95-optee-os = pkgs.callPackage ./ucm-imx95-optee-os.nix { }; + imx95-sm-fw = pkgs.callPackage ./ucm-imx95-sm-fw.nix { }; + imx95-oei-ddr = pkgs.callPackage ./ucm-imx95-oei-ddr.nix { }; + imx95-oei-tcm = pkgs.callPackage ./ucm-imx95-oei-tcm.nix { }; + src = pkgs.fetchgit { + url = "https://github.com/nxp-imx/imx-mkimage.git"; + #tag: lf-6.6.36 + rev = "4622115cbc037f79039c4522faeced4aabea986b"; + sha256 = "sha256-2gz0GxlB3jwy8PC6+cP3+MpyUzqE1vDTw8nuxK6vo3g="; + }; + shortRev = builtins.substring 0 8 src.rev; +in +{ + imx95-boot = pkgs.stdenv.mkDerivation rec { + inherit src; + name = "imx95-mkimage"; + version = "lf-6.6.36"; + + postPatch = '' + substituteInPlace Makefile \ + --replace 'git rev-parse --short=8 HEAD' 'echo ${shortRev}' + substituteInPlace Makefile \ + --replace 'CC = gcc' 'CC = clang' + substituteInPlace iMX95/soc.mak \ + --replace 'xxd' "${pkgs.vim.xxd}/bin/xxd" + substituteInPlace scripts/fspi_fcb_gen.sh \ + --replace 'xxd' "${pkgs.vim.xxd}/bin/xxd" + substituteInPlace scripts/fspi_packer.sh \ + --replace 'xxd' "${pkgs.vim.xxd}/bin/xxd" + patchShebangs scripts + ''; + + nativeBuildInputs = [ + clang + git + dtc + ]; + + buildInputs = [ + git + glibc.static + zlib + zlib.static + ]; + + buildPhase = '' + runHook preBuild + + if [ -f ${imx95-uboot}/u-boot.bin ]; then + install -m 0644 ${imx95-uboot}/u-boot.bin ./iMX95/u-boot.bin + else + cat ${imx95-uboot}/u-boot-nodtb.bin ${imx95-uboot}/ucm-imx95.dtb > ./iMX95/u-boot.bin + fi + install -m 0644 ${imx95-uboot}/u-boot-spl.bin ./iMX95/u-boot-spl.bin + install -m 0644 ${imx95-uboot}/u-boot-nodtb.bin ./iMX95/u-boot-nodtb.bin + install -m 0644 ${imx95-uboot}/ucm-imx95.dtb ./iMX95/ucm-imx95.dtb + install -m 0644 ${imx95-optee-os}/tee.bin ./iMX95/tee.bin + install -m 0644 ${imx95-atf}/bl31.bin ./iMX95/bl31.bin + install -m 0644 ${imx95-sm-fw}/m33_image.bin ./iMX95/m33_image.bin + install -m 0644 ${imx95-oei-ddr}/oei-m33-ddr.bin ./iMX95/oei-m33-ddr.bin + install -m 0644 ${imx95-oei-tcm}/oei-m33-tcm.bin ./iMX95/oei-m33-tcm.bin + install -m 0644 ${imx95-firmware}/ucm-imx95/lpddr5* ./iMX95/ + install -m 0644 ${imx95-firmware}/ucm-imx95/mx95a0-ahab-container.img ./iMX95/ + install -m 0644 ${imx95-firmware}/ucm-imx95/m7_image.bin ./iMX95/ + + make SOC=iMX95 REV=A0 OEI=YES LPDDR_TYPE=lpddr5 flash_all + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/image + install -m 0644 ./iMX95/flash.bin $out/image + runHook postInstall + ''; + }; +} diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix b/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix new file mode 100644 index 00000000..18f3aa7c --- /dev/null +++ b/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix @@ -0,0 +1,24 @@ +{ pkgs, ... }: +with pkgs; +stdenv.mkDerivation rec { + pname = "comms-sbc-firmware"; + version = "v0_6.36"; + + src = builtins.fetchGit { + url = "git@github.com:tiiuae/comms-sbc-firmware.git"; + rev = "06394d6d983955734257fdc7f719e454a3ce07f4"; + }; + + nativeBuildInputs = [ + pkgs.rsync + pkgs.coreutils + ]; + dontUnpack = true; + dontStrip = true; + + installPhase = '' + mkdir -p $out + # copy everything except .git + rsync -a --exclude='.git' $src/ $out/ + ''; +} diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-linux.nix b/compulab/ucm-imx95/bsp/ucm-imx95-linux.nix new file mode 100644 index 00000000..8aa94c22 --- /dev/null +++ b/compulab/ucm-imx95/bsp/ucm-imx95-linux.nix @@ -0,0 +1,62 @@ +{ lib, pkgs, ... }@args: +with pkgs; +buildLinux ( + args + // rec { + version = "6.6.36"; + name = "imx95-linux"; + + # modDirVersion needs to be x.y.z, will automatically add .0 if needed + modDirVersion = version; + + defconfig = "compulab-mx95_defconfig"; + + # https://github.com/NixOS/nixpkgs/pull/366004 + # introduced a breaking change that if a module is declared but it is not being used it will faill. + ignoreConfigErrors = true; + + kernelPatches = [ + ]; + + autoModules = false; + + extraConfig = '' + CRYPTO_TLS m + TLS y + MD_RAID0 m + MD_RAID1 m + MD_RAID10 m + MD_RAID456 m + DM_VERITY m + LOGO y + FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER n + FB_EFI n + EFI_STUB y + EFI y + VIRTIO y + VIRTIO_PCI y + VIRTIO_BLK y + DRM_VIRTIO_GPU y + EXT4_FS y + USBIP_CORE m + USBIP_VHCI_HCD m + USBIP_HOST m + USBIP_VUDC m + ''; + + src = fetchFromGitHub { + owner = "compulab-yokneam"; + repo = "linux-compulab"; + # tag: linux-compulab_6.6.36 + rev = "b93daaad0807fb15d4f3f1a6e5be843ac7532ef7"; + sha256 = "sha256-wCeuGXBTz3H6OFWBA1M1/t/9WgxBVjQ8FU/wvAUVW2w="; + }; + meta = with lib; { + homepage = "https://github.com/compulab-yokneam/linux-compulab"; + license = [ licenses.gpl2Only ]; + maintainers = with maintainers; [ govindsi ]; + platforms = [ "aarch64-linux" ]; + }; + } + // (args.argsOverride or { }) +) diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix b/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix new file mode 100644 index 00000000..d7b8868a --- /dev/null +++ b/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix @@ -0,0 +1,63 @@ +{ + lib, + pkgs, +}: +pkgs.stdenv.mkDerivation rec { + pname = "imx95-imx-oei"; + version = "lf-6.6.36-2.1.0"; + + nativeBuildInputs = [ + pkgs.buildPackages.python3 + pkgs.gcc-arm-embedded + ]; + + src = pkgs.fetchgit { + url = "https://github.com/nxp-imx/imx-oei.git"; + rev = "5fca9f47544d03c52ca371eadfffbfd2454e6925"; + sha256 = "sha256-Sb6u1NlhJpDCOKBu3HqUb4BLEy0F8LYVnJE0tRSvzWc="; + }; + + patches = [ + (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap/recipes-bsp/imx-oei/imx-oei/0001-Add-CompuLab-lpddr5_timing.c.patch"; + sha256 = "sha256-6ZpBOXw2aIhD2i9Wx368xfHq6NvdZghWHU9u8+gRTj8="; + }) + (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap/recipes-bsp/imx-oei/imx-oei/0002-board-mx95lp5-Fix-default-DDR_CONFIG-timing-name.patch"; + sha256 = "sha256-WZ/vYaTC2iKIC+jnHtnPriCxK9gjRsOv2Uy13Ye4698="; + }) + (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap/recipes-bsp/imx-oei/imx-oei/0003-Add-CompuLab-lpddr5_timing_4g.c.patch"; + sha256 = "sha256-yyierv2USZlM8Cuxf4FDj4+UtILvJQH9BJSj+fmayL8="; + }) + ]; + + postPatch = '' + substituteInPlace oei/makefiles/build_info.mak \ + --replace "/bin/echo" "echo" + substituteInPlace Makefile \ + --replace "/bin/echo" "echo" + ''; + + makeFlags = [ + "board=mx95lp5" + "CROSS_COMPILE=${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-" + "OEI_CROSS_COMPILE=${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-" + "ARCH=arm" + "DDR_CONFIG=lpddr5_timing" + "oei=ddr" + ]; + + installPhase = '' + mkdir -p $out + cp build/mx95lp5/ddr/oei-m33-ddr.bin $out/ + ''; + + meta = with lib; { + homepage = "https://github.com/nxp-imx/imx-oei"; + description = "Optional Executable Image assembler for i.MX95 processors"; + license = [ licenses.bsd3 ]; + maintainers = with maintainers; [ govindsi ]; + platforms = [ "aarch64-linux" ]; + }; +} diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix b/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix new file mode 100644 index 00000000..e698990a --- /dev/null +++ b/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix @@ -0,0 +1,63 @@ +{ + lib, + pkgs, +}: +pkgs.stdenv.mkDerivation rec { + pname = "imx95-imx-oei-tcm"; + version = "lf-6.6.36-2.1.0"; + + nativeBuildInputs = [ + pkgs.buildPackages.python3 + pkgs.gcc-arm-embedded + ]; + + src = pkgs.fetchgit { + url = "https://github.com/nxp-imx/imx-oei.git"; + rev = "5fca9f47544d03c52ca371eadfffbfd2454e6925"; + sha256 = "sha256-Sb6u1NlhJpDCOKBu3HqUb4BLEy0F8LYVnJE0tRSvzWc="; + }; + + patches = [ + (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap/recipes-bsp/imx-oei/imx-oei/0001-Add-CompuLab-lpddr5_timing.c.patch"; + sha256 = "sha256-6ZpBOXw2aIhD2i9Wx368xfHq6NvdZghWHU9u8+gRTj8="; + }) + (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap/recipes-bsp/imx-oei/imx-oei/0002-board-mx95lp5-Fix-default-DDR_CONFIG-timing-name.patch"; + sha256 = "sha256-WZ/vYaTC2iKIC+jnHtnPriCxK9gjRsOv2Uy13Ye4698="; + }) + (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap/recipes-bsp/imx-oei/imx-oei/0003-Add-CompuLab-lpddr5_timing_4g.c.patch"; + sha256 = "sha256-yyierv2USZlM8Cuxf4FDj4+UtILvJQH9BJSj+fmayL8="; + }) + ]; + + postPatch = '' + substituteInPlace oei/makefiles/build_info.mak \ + --replace "/bin/echo" "echo" + substituteInPlace Makefile \ + --replace "/bin/echo" "echo" + ''; + + makeFlags = [ + "board=mx95lp5" + "CROSS_COMPILE=${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-" + "OEI_CROSS_COMPILE=${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-" + "ARCH=arm" + "DDR_CONFIG=lpddr5_timing" + "oei=tcm" + ]; + + installPhase = '' + mkdir -p $out + cp build/mx95lp5/tcm/oei-m33-tcm.bin $out/ + ''; + + meta = with lib; { + homepage = "https://github.com/nxp-imx/imx-oei"; + description = "Optional Executable Image assembler for i.MX95 processors"; + license = [ licenses.bsd3 ]; + maintainers = with maintainers; [ govindsi ]; + platforms = [ "aarch64-linux" ]; + }; +} diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix b/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix new file mode 100644 index 00000000..bf6806a4 --- /dev/null +++ b/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix @@ -0,0 +1,75 @@ +{ + lib, + pkgs, +}: +let + inherit (pkgs.buildPackages) python3; + toolchain = pkgs.gccStdenv.cc; + binutils = pkgs.gccStdenv.cc.bintools.bintools_bin; + cpp = pkgs.gcc; +in +pkgs.stdenv.mkDerivation rec { + pname = "imx95-optee-os"; + version = "lf-6.6.36_2.1.0"; + + nativeBuildInputs = [ + python3 + ]; + + enableParallelBuilding = true; + + propagatedBuildInputs = with python3.pkgs; [ + pycryptodomex + pyelftools + cryptography + ]; + + src = pkgs.fetchgit { + url = "https://github.com/nxp-imx/imx-optee-os.git"; + rev = "612bc5a642a4608d282abeee2349d86de996d7ee"; + sha256 = "sha256-A7p3KPijwipivs9Qw9Mr62RWwaMBGTz7J8WP5JYoSOs="; + }; + meta = with lib; { + homepage = "https://github.com/nxp-imx/imx-optee-os"; + license = [ licenses.bsd2 ]; + maintainers = with maintainers; [ govindsi ]; + platforms = [ "aarch64-linux" ]; + }; + + postPatch = '' + substituteInPlace scripts/arm32_sysreg.py \ + --replace '/usr/bin/env python3' '${python3}/bin/python' + substituteInPlace scripts/gen_tee_bin.py \ + --replace '/usr/bin/env python3' '${python3}/bin/python' + substituteInPlace scripts/pem_to_pub_c.py \ + --replace '/usr/bin/env python3' '${python3}/bin/python' + substituteInPlace ta/pkcs11/scripts/verify-helpers.sh \ + --replace '/bin/bash' '${pkgs.bash}/bin/bash' + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))objcopy" ${binutils}/bin/${toolchain.targetPrefix}objcopy + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))objdump" ${binutils}/bin/${toolchain.targetPrefix}objdump + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))nm" ${binutils}/bin/${toolchain.targetPrefix}nm + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))readelf" ${binutils}/bin/${toolchain.targetPrefix}readelf + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))ar" ${binutils}/bin/${toolchain.targetPrefix}ar + substituteInPlace mk/gcc.mk \ + --replace "\$(CROSS_COMPILE_\$(sm))cpp" ${cpp}/bin/cpp + ''; + + makeFlags = [ + "PLATFORM=imx-mx95evk" + "CFG_ARM64_core=y" + "CFG_TEE_TA_LOG_LEVEL=0" + "CFG_TEE_CORE_LOG_LEVEL=0" + "CROSS_COMPILE=${toolchain}/bin/${toolchain.targetPrefix}" + "CROSS_COMPILE64=${toolchain}/bin/${toolchain.targetPrefix}" + ]; + + installPhase = '' + mkdir -p $out + cp ./out/arm-plat-imx/core/tee-raw.bin $out/tee.bin + ''; +} diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix b/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix new file mode 100644 index 00000000..2628f151 --- /dev/null +++ b/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix @@ -0,0 +1,79 @@ +{ + lib, + pkgs, +}: +pkgs.stdenv.mkDerivation rec { + pname = "imx95-sm-fw"; + version = "lf-6.6.36-2.1.0"; + + nativeBuildInputs = [ + pkgs.buildPackages.python3 + pkgs.gcc-arm-embedded + ]; + + propagatedBuildInputs = with pkgs.buildPackages.python3.pkgs; [ + pycryptodomex + pyelftools + cryptography + ]; + + src = pkgs.fetchgit { + url = "https://github.com/nxp-imx/imx-sm.git"; + rev = "709deccd9338399eb39b5cf99a60eab4fa60d539"; + sha256 = "sha256-02Cl+XhWGSFswspdBJ/4B/mBm4XTs/qKotx0BXMQpJk="; + }; + + patches = [ + (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap-6.6.36-EVAL-UCM-iMX95-1.0/recipes-bsp/imx-system-manager/imx-system-manager/0001-Add-mcimx95cust-board.patch"; + sha256 = "sha256-zvZ4bNew+yRPmaZQMrAH087KpCLRqz6zdElfe72Dtuc="; + }) + (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap-6.6.36-EVAL-UCM-iMX95-1.0/recipes-bsp/imx-system-manager/imx-system-manager/0002-Fix-null-pionter-except.patch"; + sha256 = "sha256-q72VEvJqm2CmOxdWMqGibgXS5lY08mC4srEcy00QdrE="; + }) + (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap-6.6.36-EVAL-UCM-iMX95-1.0/recipes-bsp/imx-system-manager/imx-system-manager/0001-update-for-yocto-6.6.36-compatibility.patch"; + sha256 = "sha256-JzHqDiD/ZOu6VQQI0JxY17RQ3bA2t1aP3O1sjLPguWs="; + }) + (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap-6.6.36-EVAL-UCM-iMX95-1.0/recipes-bsp/imx-system-manager/imx-system-manager/0003-sm-Disable-GPIO1-10-interrupt.patch"; + sha256 = "sha256-dhcDv7Uq856+MBonczMPznk+tuqUFxTcHiKLX+myCVA="; + }) + (pkgs.fetchpatch { + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap-6.6.36-EVAL-UCM-iMX95-1.0/recipes-bsp/imx-system-manager/imx-system-manager/0004-configs-mx95cust-change-LPTPM1-ownership.patch"; + sha256 = "sha256-NcLu6+zXpiSz1bHKW14Zuf6F/4pzKsekb+zaRtKjSTY="; + }) + ]; + + postPatch = '' + substituteInPlace sm/makefiles/gcc_cross.mak \ + --replace "\$(SM_CROSS_COMPILE)objcopy" ${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-objcopy + substituteInPlace sm/makefiles/build_info.mak \ + --replace "/bin/echo" "echo" + substituteInPlace sm/makefiles/gcc_cross.mak \ + --replace 'SM_CROSS_COMPILE ?= $(TOOLS)/arm-gnu-toolchain-*-none-eabi/bin/arm-none-eabi-' \ + 'SM_CROSS_COMPILE ?= $(CROSS_COMPILE)' + ''; + + makeFlags = [ + "config=mx95cust" + "M=2" + "CROSS_COMPILE=${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-" + "CROSS_COMPILE64=${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-" + "ARCH=arm" + ]; + + installPhase = '' + mkdir -p $out + cp build/mx95cust/m33_image.bin $out/ + ''; + + meta = with lib; { + homepage = "https://github.com/nxp-imx/imx-sm"; + description = "System Manager firmware for i.MX processors"; + license = [ licenses.bsd3 ]; + maintainers = with maintainers; [ govindsi ]; + platforms = [ "aarch64-linux" ]; + }; +} diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-uboot.nix b/compulab/ucm-imx95/bsp/ucm-imx95-uboot.nix new file mode 100644 index 00000000..68434e57 --- /dev/null +++ b/compulab/ucm-imx95/bsp/ucm-imx95-uboot.nix @@ -0,0 +1,93 @@ +{ + stdenv, + lib, + bison, + dtc, + fetchgit, + flex, + gnutls, + libuuid, + ncurses, + openssl, + which, + perl, + buildPackages, + efitools, +}: +let + ubsrc = fetchgit { + url = "https://github.com/compulab-yokneam/u-boot-compulab.git"; + # tag: lf_v2024.04 + rev = "824401fe487d7d3cbcf251bd60270bd7fe8d21d0"; + sha256 = "sha256-m+YW7+XF/jcNKfyb5533LXGyOWvStqY+MCczAdcNGZI="; + }; +in +stdenv.mkDerivation { + pname = "imx95-uboot"; + version = "2024.04"; + src = ubsrc; + + postPatch = '' + patchShebangs tools + patchShebangs scripts + ''; + + nativeBuildInputs = [ + bison + flex + openssl + which + ncurses + libuuid + gnutls + openssl + perl + efitools + ]; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + hardeningDisable = [ "all" ]; + enableParallelBuilding = true; + + makeFlags = [ + "DTC=${lib.getExe buildPackages.dtc}" + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + ]; + + extraConfig = '' + CONFIG_USE_BOOTCOMMAND=y + CONFIG_BOOTCOMMAND="setenv ramdisk_addr_r 0x97000000; setenv fdt_addr_r 0x96000000; run distro_bootcmd; " + CONFIG_CMD_BOOTEFI_SELFTEST=y + CONFIG_CMD_BOOTEFI=y + CONFIG_EFI_LOADER=y + CONFIG_BLK=y + CONFIG_PARTITIONS=y + CONFIG_DM_DEVICE_REMOVE=n + CONFIG_CMD_CACHE=y + ''; + + passAsFile = [ "extraConfig" ]; + + configurePhase = '' + runHook preConfigure + + make ucm-imx95_defconfig + cat $extraConfigPath >> .config + + runHook postConfigure + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp ./u-boot-nodtb.bin $out + cp ./spl/u-boot-spl.bin $out + cp ./arch/arm/dts/ucm-imx95.dtb $out + cp .config $out + + runHook postInstall + ''; + + dontStrip = true; +} diff --git a/compulab/ucm-imx95/default.nix b/compulab/ucm-imx95/default.nix new file mode 100644 index 00000000..81fcb392 --- /dev/null +++ b/compulab/ucm-imx95/default.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: +{ + nixpkgs.overlays = [ + (import ./overlay.nix) + ]; + + imports = [ + ./modules.nix + ]; + + boot.loader.grub.extraFiles = { + "ucm-imx95.dtb" = "${pkgs.callPackage ./bsp/ucm-imx95-linux.nix { }}/dtbs/compulab/ucm-imx95.dtb"; + }; + + hardware.deviceTree = { + filter = "ucm-imx95.dtb"; + name = "ucm-imx95.dtb"; + }; +} diff --git a/compulab/ucm-imx95/modules.nix b/compulab/ucm-imx95/modules.nix new file mode 100644 index 00000000..c0e8f266 --- /dev/null +++ b/compulab/ucm-imx95/modules.nix @@ -0,0 +1,17 @@ +{ + pkgs, + lib, + ... +}: +{ + nixpkgs.hostPlatform = "aarch64-linux"; + + boot = { + kernelPackages = pkgs.linuxPackagesFor (pkgs.callPackage ./bsp/ucm-imx95-linux.nix { }); + initrd.includeDefaultModules = lib.mkForce false; + }; + + disabledModules = [ "profiles/all-hardware.nix" ]; + + hardware.deviceTree.enable = true; +} diff --git a/compulab/ucm-imx95/overlay.nix b/compulab/ucm-imx95/overlay.nix new file mode 100644 index 00000000..942a3711 --- /dev/null +++ b/compulab/ucm-imx95/overlay.nix @@ -0,0 +1,3 @@ +final: _prev: { + inherit (final.callPackage ./bsp/ucm-imx95-boot.nix { pkgs = final; }) imx95-boot; +} diff --git a/flake.nix b/flake.nix index ce7425b9..8f32fbbf 100644 --- a/flake.nix +++ b/flake.nix @@ -364,6 +364,7 @@ nxp-imx8mq-evk = import ./nxp/imx8mq-evk; nxp-imx8qm-mek = import ./nxp/imx8qm-mek; nxp-imx93-evk = import ./nxp/imx93-evk; + ucm-imx95 = import ./compulab/ucm-imx95; hardkernel-odroid-hc4 = import ./hardkernel/odroid-hc4; hardkernel-odroid-h3 = import ./hardkernel/odroid-h3; hardkernel-odroid-h4 = import ./hardkernel/odroid-h4; From a3576f0f3c7c77799c7d99b1dd30a8b3a00ef56d Mon Sep 17 00:00:00 2001 From: Govind Singh Date: Wed, 29 Oct 2025 22:58:31 +0400 Subject: [PATCH 103/117] chore: Add README for UCM-iMX95 SOM support Added README.md for UCM-iMX95 SOM support. --- compulab/README.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 compulab/README.md diff --git a/compulab/README.md b/compulab/README.md new file mode 100644 index 00000000..69e79e1e --- /dev/null +++ b/compulab/README.md @@ -0,0 +1,29 @@ +# UCM-iMX95 SOM support + +## Supported devices +- [UCM-iMX95 System-on-Module](https://www.compulab.com/products/som-evaluation-kits/ucm-imx95-evaluation-kit/) (**ucm-imx95**) – based on the NXP i.MX95 SoC (A0 silicon), with device-specific boot components(OEI, SM, ATF), U-Boot, and Linux kernel support, including a NixOS configuration example. + +## How to use +This overlay provides configuration and hardware support for the **CompuLab UCM-iMX95** platform, based on the **NXP i.MX95 A0 silicon**. It enables generating NixOS images suitable for booting via U-Boot, using the CompuLab UCM-iMX95 Evaluation Kit carrier board. + +### Boot flow +The boot flow for the UCM-iMX95 platform follows the standard NXP i.MX95 sequence: + +Boot ROM → OEI (initially in TCM, then DDR) → System Manager (SM) → ARM Trusted Firmware (ATF) → U-Boot → Linux kernel → NixOS userspace + +Boot ROM initializes the SoC and loads OEI, which runs in TCM to perform early setup, then configures DDR and loads the System Manager (SM). SM completes SoC initialization and passes control to ATF, which handles secure world setup and then transfers execution to U-Boot, eventually booting the Linux kernel and NixOS root filesystem. + +### Example NixOS configuration +```nix +{ nixos-hardware, }: { + system = "aarch64-linux"; + modules = [ + nixos-hardware.nixosModules.ucm-imx95 + ]; +} +``` + +### Notes +- The configuration includes device-tree, kernel, and bootloader components are optimized for the UCM-iMX95 SoM and evk. +- The generated NixOS image supports booting from SD card or eMMC, depending on the hardware configuration. +- The boot components (OEI in TCM/DDR, SM, ATF, U-Boot) follow the standard NXP release layout for i.MX95 platforms. From 11ea8b847772a94e335d7a17137d5fcf592f682e Mon Sep 17 00:00:00 2001 From: Govind Singh Date: Thu, 30 Oct 2025 16:08:04 +0400 Subject: [PATCH 104/117] ucm-imx95: firmware: fetch firmware files from NXP release Fetch AHAB container, M7 firmware, and DDR PHY firmware binaries from the NXP release packages. The derivation extracts the correct LPDDR5 PHY images and selects the appropriate AHAB container for A0 or B0 silicon revisions. Signed-off-by: Govind Singh --- compulab/ucm-imx95/bsp/ucm-imx95-atf.nix | 7 ++- compulab/ucm-imx95/bsp/ucm-imx95-boot.nix | 11 ++-- compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix | 59 +++++++++++++++---- compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix | 5 +- compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix | 5 +- compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix | 7 ++- compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix | 5 +- compulab/ucm-imx95/bsp/ucm-imx95-uboot.nix | 7 ++- 8 files changed, 76 insertions(+), 30 deletions(-) diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-atf.nix b/compulab/ucm-imx95/bsp/ucm-imx95-atf.nix index fea07f79..d08a2c8e 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-atf.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-atf.nix @@ -1,6 +1,6 @@ { lib, - fetchgit, + fetchFromGitHub, stdenv, buildPackages, pkgsCross, @@ -16,8 +16,9 @@ stdenv.mkDerivation rec { platform = target-board; enableParallelBuilding = true; - src = fetchgit { - url = "https://github.com/nxp-imx/imx-atf.git"; + src = fetchFromGitHub { + owner = "nxp-imx"; + repo = "imx-atf"; rev = "28affcae957cb8194917b5246276630f9e6343e1"; sha256 = "sha256-a8F+Lf8pwML+tCwawS0N/mrSXWPmFhlUeOg0MCRK3VE="; }; diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix b/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix index feedebaf..30087b21 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix @@ -11,8 +11,9 @@ let imx95-sm-fw = pkgs.callPackage ./ucm-imx95-sm-fw.nix { }; imx95-oei-ddr = pkgs.callPackage ./ucm-imx95-oei-ddr.nix { }; imx95-oei-tcm = pkgs.callPackage ./ucm-imx95-oei-tcm.nix { }; - src = pkgs.fetchgit { - url = "https://github.com/nxp-imx/imx-mkimage.git"; + src = pkgs.fetchFromGitHub { + owner = "nxp-imx"; + repo = "imx-mkimage"; #tag: lf-6.6.36 rev = "4622115cbc037f79039c4522faeced4aabea986b"; sha256 = "sha256-2gz0GxlB3jwy8PC6+cP3+MpyUzqE1vDTw8nuxK6vo3g="; @@ -68,9 +69,9 @@ in install -m 0644 ${imx95-sm-fw}/m33_image.bin ./iMX95/m33_image.bin install -m 0644 ${imx95-oei-ddr}/oei-m33-ddr.bin ./iMX95/oei-m33-ddr.bin install -m 0644 ${imx95-oei-tcm}/oei-m33-tcm.bin ./iMX95/oei-m33-tcm.bin - install -m 0644 ${imx95-firmware}/ucm-imx95/lpddr5* ./iMX95/ - install -m 0644 ${imx95-firmware}/ucm-imx95/mx95a0-ahab-container.img ./iMX95/ - install -m 0644 ${imx95-firmware}/ucm-imx95/m7_image.bin ./iMX95/ + install -m 0644 ${imx95-firmware}/ddr/lpddr5* ./iMX95/ + install -m 0644 ${imx95-firmware}/ahab/mx95a0-ahab-container.img ./iMX95/ + install -m 0644 ${imx95-firmware}/m7_image.bin ./iMX95/ make SOC=iMX95 REV=A0 OEI=YES LPDDR_TYPE=lpddr5 flash_all diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix b/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix index 18f3aa7c..84a81f34 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix @@ -1,24 +1,63 @@ -{ pkgs, ... }: +{ + pkgs, + silicon ? "A0", + ... +}: + with pkgs; stdenv.mkDerivation rec { - pname = "comms-sbc-firmware"; - version = "v0_6.36"; + pname = "nxp-firmware-imx95"; + version = "nxp-firmware-8.28-994fa14"; - src = builtins.fetchGit { - url = "git@github.com:tiiuae/comms-sbc-firmware.git"; - rev = "06394d6d983955734257fdc7f719e454a3ce07f4"; + m7Firmware = fetchurl { + url = "https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/imx95-m7-demo-25.09.00.bin"; + sha256 = "sha256-3nA6uka6WPtXH5aZhaaKHKRM0tJ0pxHQdPEupNic1Ks="; + }; + + ddrFirmware = fetchurl { + url = "https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.28-994fa14.bin"; + sha256 = "sha256-VZlvNA6HglaFoAzTCZARiQZuyVRe5gdzT5QsPN5Nadw="; + }; + + ahabFirmware = fetchurl { + url = "https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-ele-imx-2.0.2-89161a8.bin"; + sha256 = "sha256-LSnwpN42YroV9qfZBpcC1OrtQV2WoX8p1bEn8sb91jQ="; }; nativeBuildInputs = [ - pkgs.rsync - pkgs.coreutils + coreutils + bash ]; + dontUnpack = true; dontStrip = true; installPhase = '' mkdir -p $out - # copy everything except .git - rsync -a --exclude='.git' $src/ $out/ + export SILICON=${silicon} + + # M7 firmware + echo "Copying M7 firmware..." + cp ${m7Firmware} $out/m7_image.bin + + # DDR firmware + cp ${ddrFirmware} ./firmware-imx-8.28-994fa14.bin + chmod +x firmware-imx-8.28-994fa14.bin + ./firmware-imx-8.28-994fa14.bin --auto-accept + + mkdir -p $out/ddr + cp firmware-imx-8.28-994fa14/firmware/ddr/synopsys/lpddr5*v202409.bin $out/ddr/ + + # AHAB container + cp ${ahabFirmware} ./firmware-ele-imx-2.0.2-89161a8.bin + chmod +x firmware-ele-imx-2.0.2-89161a8.bin + ./firmware-ele-imx-2.0.2-89161a8.bin --auto-accept + + mkdir -p $out/ahab + if [ "$SILICON" = "A0" ]; then + cp firmware-ele-imx-2.0.2-89161a8/mx95a0-ahab-container.img $out/ahab/ + else + cp firmware-ele-imx-2.0.2-89161a8/mx95b0-ahab-container.img $out/ahab/ + fi ''; } diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix b/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix index d7b8868a..46562832 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix @@ -11,8 +11,9 @@ pkgs.stdenv.mkDerivation rec { pkgs.gcc-arm-embedded ]; - src = pkgs.fetchgit { - url = "https://github.com/nxp-imx/imx-oei.git"; + src = pkgs.fetchFromGitHub { + owner = "nxp-imx"; + repo = "imx-oei"; rev = "5fca9f47544d03c52ca371eadfffbfd2454e6925"; sha256 = "sha256-Sb6u1NlhJpDCOKBu3HqUb4BLEy0F8LYVnJE0tRSvzWc="; }; diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix b/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix index e698990a..b75c43be 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix @@ -11,8 +11,9 @@ pkgs.stdenv.mkDerivation rec { pkgs.gcc-arm-embedded ]; - src = pkgs.fetchgit { - url = "https://github.com/nxp-imx/imx-oei.git"; + src = pkgs.fetchFromGitHub { + owner = "nxp-imx"; + repo = "imx-oei"; rev = "5fca9f47544d03c52ca371eadfffbfd2454e6925"; sha256 = "sha256-Sb6u1NlhJpDCOKBu3HqUb4BLEy0F8LYVnJE0tRSvzWc="; }; diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix b/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix index bf6806a4..3b377464 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix @@ -24,10 +24,11 @@ pkgs.stdenv.mkDerivation rec { cryptography ]; - src = pkgs.fetchgit { - url = "https://github.com/nxp-imx/imx-optee-os.git"; + src = pkgs.fetchFromGitHub { + owner = "nxp-imx"; + repo = "imx-optee-os"; rev = "612bc5a642a4608d282abeee2349d86de996d7ee"; - sha256 = "sha256-A7p3KPijwipivs9Qw9Mr62RWwaMBGTz7J8WP5JYoSOs="; + sha256 = "sha256-l8GKkrlBs5kgw6jrzGLT9WAeTSDqo8XWZDFT2+Fisv4="; }; meta = with lib; { homepage = "https://github.com/nxp-imx/imx-optee-os"; diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix b/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix index 2628f151..d28ccde1 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix @@ -17,8 +17,9 @@ pkgs.stdenv.mkDerivation rec { cryptography ]; - src = pkgs.fetchgit { - url = "https://github.com/nxp-imx/imx-sm.git"; + src = pkgs.fetchFromGitHub { + owner = "nxp-imx"; + repo = "imx-sm"; rev = "709deccd9338399eb39b5cf99a60eab4fa60d539"; sha256 = "sha256-02Cl+XhWGSFswspdBJ/4B/mBm4XTs/qKotx0BXMQpJk="; }; diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-uboot.nix b/compulab/ucm-imx95/bsp/ucm-imx95-uboot.nix index 68434e57..0d545cc4 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-uboot.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-uboot.nix @@ -3,7 +3,7 @@ lib, bison, dtc, - fetchgit, + fetchFromGitHub, flex, gnutls, libuuid, @@ -15,8 +15,9 @@ efitools, }: let - ubsrc = fetchgit { - url = "https://github.com/compulab-yokneam/u-boot-compulab.git"; + ubsrc = fetchFromGitHub { + owner = "compulab-yokneam"; + repo = "u-boot-compulab"; # tag: lf_v2024.04 rev = "824401fe487d7d3cbcf251bd60270bd7fe8d21d0"; sha256 = "sha256-m+YW7+XF/jcNKfyb5533LXGyOWvStqY+MCczAdcNGZI="; From 8650454db6c8250a39c0bcfe00d65a1d8201bfb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 30 Oct 2025 14:48:42 +0100 Subject: [PATCH 105/117] ucm-imx95: fix firmware parameter collision and update imx-mkimage Fixed parameter name collision in ucm-imx95-firmware.nix where the 'silicon' parameter conflicted with the nixpkgs silicon package, causing the wrong AHAB container to be selected. Renamed to 'siliconRev'. Updated imx-mkimage from lf-6.6.36 to lf-6.6.52-2.2.1 to match the firmware version expectations (v202409 instead of v202311). --- compulab/ucm-imx95/bsp/ucm-imx95-boot.nix | 6 +++--- compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix b/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix index 30087b21..4f30ae55 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix @@ -14,9 +14,9 @@ let src = pkgs.fetchFromGitHub { owner = "nxp-imx"; repo = "imx-mkimage"; - #tag: lf-6.6.36 - rev = "4622115cbc037f79039c4522faeced4aabea986b"; - sha256 = "sha256-2gz0GxlB3jwy8PC6+cP3+MpyUzqE1vDTw8nuxK6vo3g="; + #tag: lf-6.6.52-2.2.1 + rev = "f620fb8ef7a04c8dbed8119880f5eeffe3e69746"; + sha256 = "sha256-JZlX122uZntCIISI1H3Hw+tnk+N/gBJpFFDaZoY8W3c="; }; shortRev = builtins.substring 0 8 src.rev; in diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix b/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix index 84a81f34..f5dd7b51 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix @@ -1,6 +1,6 @@ { pkgs, - silicon ? "A0", + siliconRev ? "A0", ... }: @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out - export SILICON=${silicon} + export SILICON=${siliconRev} # M7 firmware echo "Copying M7 firmware..." From 86d9291cc3fad8b47b51cd2b55b37f14369c70ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 30 Oct 2025 14:52:19 +0100 Subject: [PATCH 106/117] ucm-imx95: use --replace-fail for substituteInPlace --- compulab/ucm-imx95/bsp/ucm-imx95-boot.nix | 10 +++++----- compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix | 4 ++-- compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix | 4 ++-- compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix | 20 +++++++++---------- compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix | 6 +++--- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix b/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix index 4f30ae55..46c23a8c 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix @@ -28,15 +28,15 @@ in postPatch = '' substituteInPlace Makefile \ - --replace 'git rev-parse --short=8 HEAD' 'echo ${shortRev}' + --replace-fail 'git rev-parse --short=8 HEAD' 'echo ${shortRev}' substituteInPlace Makefile \ - --replace 'CC = gcc' 'CC = clang' + --replace-fail 'CC = gcc' 'CC = clang' substituteInPlace iMX95/soc.mak \ - --replace 'xxd' "${pkgs.vim.xxd}/bin/xxd" + --replace-fail 'xxd' "${pkgs.vim.xxd}/bin/xxd" substituteInPlace scripts/fspi_fcb_gen.sh \ - --replace 'xxd' "${pkgs.vim.xxd}/bin/xxd" + --replace-fail 'xxd' "${pkgs.vim.xxd}/bin/xxd" substituteInPlace scripts/fspi_packer.sh \ - --replace 'xxd' "${pkgs.vim.xxd}/bin/xxd" + --replace-fail 'xxd' "${pkgs.vim.xxd}/bin/xxd" patchShebangs scripts ''; diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix b/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix index 46562832..82019f21 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix @@ -35,9 +35,9 @@ pkgs.stdenv.mkDerivation rec { postPatch = '' substituteInPlace oei/makefiles/build_info.mak \ - --replace "/bin/echo" "echo" + --replace-fail "/bin/echo" "echo" substituteInPlace Makefile \ - --replace "/bin/echo" "echo" + --replace-fail "/bin/echo" "echo" ''; makeFlags = [ diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix b/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix index b75c43be..331f1ae8 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix @@ -35,9 +35,9 @@ pkgs.stdenv.mkDerivation rec { postPatch = '' substituteInPlace oei/makefiles/build_info.mak \ - --replace "/bin/echo" "echo" + --replace-fail "/bin/echo" "echo" substituteInPlace Makefile \ - --replace "/bin/echo" "echo" + --replace-fail "/bin/echo" "echo" ''; makeFlags = [ diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix b/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix index 3b377464..7532a4f1 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix @@ -39,25 +39,25 @@ pkgs.stdenv.mkDerivation rec { postPatch = '' substituteInPlace scripts/arm32_sysreg.py \ - --replace '/usr/bin/env python3' '${python3}/bin/python' + --replace-fail '/usr/bin/env python3' '${python3}/bin/python' substituteInPlace scripts/gen_tee_bin.py \ - --replace '/usr/bin/env python3' '${python3}/bin/python' + --replace-fail '/usr/bin/env python3' '${python3}/bin/python' substituteInPlace scripts/pem_to_pub_c.py \ - --replace '/usr/bin/env python3' '${python3}/bin/python' + --replace-fail '/usr/bin/env python3' '${python3}/bin/python' substituteInPlace ta/pkcs11/scripts/verify-helpers.sh \ - --replace '/bin/bash' '${pkgs.bash}/bin/bash' + --replace-fail '/bin/bash' '${pkgs.bash}/bin/bash' substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))objcopy" ${binutils}/bin/${toolchain.targetPrefix}objcopy + --replace-fail "\$(CROSS_COMPILE_\$(sm))objcopy" ${binutils}/bin/${toolchain.targetPrefix}objcopy substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))objdump" ${binutils}/bin/${toolchain.targetPrefix}objdump + --replace-fail "\$(CROSS_COMPILE_\$(sm))objdump" ${binutils}/bin/${toolchain.targetPrefix}objdump substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))nm" ${binutils}/bin/${toolchain.targetPrefix}nm + --replace-fail "\$(CROSS_COMPILE_\$(sm))nm" ${binutils}/bin/${toolchain.targetPrefix}nm substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))readelf" ${binutils}/bin/${toolchain.targetPrefix}readelf + --replace-fail "\$(CROSS_COMPILE_\$(sm))readelf" ${binutils}/bin/${toolchain.targetPrefix}readelf substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))ar" ${binutils}/bin/${toolchain.targetPrefix}ar + --replace-fail "\$(CROSS_COMPILE_\$(sm))ar" ${binutils}/bin/${toolchain.targetPrefix}ar substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))cpp" ${cpp}/bin/cpp + --replace-fail "\$(CROSS_COMPILE_\$(sm))cpp" ${cpp}/bin/cpp ''; makeFlags = [ diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix b/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix index d28ccde1..79dbe604 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix @@ -49,11 +49,11 @@ pkgs.stdenv.mkDerivation rec { postPatch = '' substituteInPlace sm/makefiles/gcc_cross.mak \ - --replace "\$(SM_CROSS_COMPILE)objcopy" ${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-objcopy + --replace-fail "\$(SM_CROSS_COMPILE)objcopy" ${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-objcopy substituteInPlace sm/makefiles/build_info.mak \ - --replace "/bin/echo" "echo" + --replace-fail "/bin/echo" "echo" substituteInPlace sm/makefiles/gcc_cross.mak \ - --replace 'SM_CROSS_COMPILE ?= $(TOOLS)/arm-gnu-toolchain-*-none-eabi/bin/arm-none-eabi-' \ + --replace-fail 'SM_CROSS_COMPILE ?= $(TOOLS)/arm-gnu-toolchain-*-none-eabi/bin/arm-none-eabi-' \ 'SM_CROSS_COMPILE ?= $(CROSS_COMPILE)' ''; From a2bc09823a3d6c9c2934d1dbd807ce8039a7d5d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 30 Oct 2025 15:17:53 +0100 Subject: [PATCH 107/117] ucm-imx95: various changes - Move openssl to nativeBuildInputs in ATF build for proper cross-compilation - Add explicit SILICON validation with clear error messages in firmware build - Fix fragile wildcard patterns in firmware DDR file copying - Replace mutable branch URLs with pinned commit hashes for patch stability - Add U-Boot config merge step (make olddefconfig) after extra config - Fix cross-compilation toolchain coherence (cpp in optee-os) - Standardize license format (single value instead of single-element list) - Update maintainer references with inline name/email format - Fix typos and grammar in documentation and comments --- compulab/README.md | 2 +- compulab/ucm-imx95/bsp/ucm-imx95-atf.nix | 16 +++++++++----- compulab/ucm-imx95/bsp/ucm-imx95-boot.nix | 3 +-- compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix | 13 +++++++++-- compulab/ucm-imx95/bsp/ucm-imx95-linux.nix | 11 +++++++--- compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix | 18 ++++++++++----- compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix | 18 ++++++++++----- compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix | 11 +++++++--- compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix | 22 +++++++++++++------ compulab/ucm-imx95/bsp/ucm-imx95-uboot.nix | 1 + 10 files changed, 82 insertions(+), 33 deletions(-) diff --git a/compulab/README.md b/compulab/README.md index 69e79e1e..aa3c253a 100644 --- a/compulab/README.md +++ b/compulab/README.md @@ -24,6 +24,6 @@ Boot ROM initializes the SoC and loads OEI, which runs in TCM to perform early s ``` ### Notes -- The configuration includes device-tree, kernel, and bootloader components are optimized for the UCM-iMX95 SoM and evk. +- The configuration, including device-tree, kernel, and bootloader components, is optimized for the UCM-iMX95 SoM and EVK. - The generated NixOS image supports booting from SD card or eMMC, depending on the hardware configuration. - The boot components (OEI in TCM/DDR, SM, ATF, U-Boot) follow the standard NXP release layout for i.MX95 platforms. diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-atf.nix b/compulab/ucm-imx95/bsp/ucm-imx95-atf.nix index d08a2c8e..cc853c83 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-atf.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-atf.nix @@ -25,9 +25,10 @@ stdenv.mkDerivation rec { # Compiler dependencies depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ pkgsCross.aarch64-embedded.stdenv.cc ]; - - buildInputs = [ openssl ]; + nativeBuildInputs = [ + pkgsCross.aarch64-embedded.stdenv.cc + openssl + ]; makeFlags = [ "HOSTCC=$(CC_FOR_BUILD)" @@ -51,8 +52,13 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/nxp-imx/imx-atf"; description = "Reference implementation of secure world software for ARMv8-A"; - license = [ licenses.bsd3 ]; - maintainers = with maintainers; [ govindsi ]; + license = licenses.bsd3; + maintainers = [ + { + name = "Govind Singh"; + email = "govind.singh@tii.ae"; + } + ]; platforms = [ "aarch64-linux" ]; }; } diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix b/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix index 46c23a8c..3554b73b 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix @@ -24,7 +24,7 @@ in imx95-boot = pkgs.stdenv.mkDerivation rec { inherit src; name = "imx95-mkimage"; - version = "lf-6.6.36"; + version = "lf-6.6.52-2.2.1"; postPatch = '' substituteInPlace Makefile \ @@ -47,7 +47,6 @@ in ]; buildInputs = [ - git glibc.static zlib zlib.static diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix b/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix index f5dd7b51..3de82670 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix @@ -46,7 +46,13 @@ stdenv.mkDerivation rec { ./firmware-imx-8.28-994fa14.bin --auto-accept mkdir -p $out/ddr - cp firmware-imx-8.28-994fa14/firmware/ddr/synopsys/lpddr5*v202409.bin $out/ddr/ + # Resolve wildcard and verify at least one file matches + lpddr5_files=(firmware-imx-8.28-994fa14/firmware/ddr/synopsys/lpddr5*v202409.bin) + if [ ''${#lpddr5_files[@]} -eq 0 ]; then + echo "ERROR: No lpddr5*v202409.bin file found in firmware/ddr/synopsys/" >&2 + exit 1 + fi + cp "''${lpddr5_files[@]}" $out/ddr/ # AHAB container cp ${ahabFirmware} ./firmware-ele-imx-2.0.2-89161a8.bin @@ -56,8 +62,11 @@ stdenv.mkDerivation rec { mkdir -p $out/ahab if [ "$SILICON" = "A0" ]; then cp firmware-ele-imx-2.0.2-89161a8/mx95a0-ahab-container.img $out/ahab/ - else + elif [ "$SILICON" = "B0" ]; then cp firmware-ele-imx-2.0.2-89161a8/mx95b0-ahab-container.img $out/ahab/ + else + echo "ERROR: Invalid SILICON value '$SILICON'. Must be 'A0' or 'B0'." >&2 + exit 1 fi ''; } diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-linux.nix b/compulab/ucm-imx95/bsp/ucm-imx95-linux.nix index 8aa94c22..76520a8c 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-linux.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-linux.nix @@ -12,7 +12,7 @@ buildLinux ( defconfig = "compulab-mx95_defconfig"; # https://github.com/NixOS/nixpkgs/pull/366004 - # introduced a breaking change that if a module is declared but it is not being used it will faill. + # introduced a breaking change that if a module is declared but it is not being used it will fail. ignoreConfigErrors = true; kernelPatches = [ @@ -53,8 +53,13 @@ buildLinux ( }; meta = with lib; { homepage = "https://github.com/compulab-yokneam/linux-compulab"; - license = [ licenses.gpl2Only ]; - maintainers = with maintainers; [ govindsi ]; + license = licenses.gpl2Only; + maintainers = [ + { + name = "Govind Singh"; + email = "govind.singh@tii.ae"; + } + ]; platforms = [ "aarch64-linux" ]; }; } diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix b/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix index 82019f21..612d0169 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix @@ -2,6 +2,9 @@ lib, pkgs, }: +let + metaBspImx95Rev = "5f4c7b5db846fa3a75055054e32215089d15a7b7"; # scarthgap +in pkgs.stdenv.mkDerivation rec { pname = "imx95-imx-oei"; version = "lf-6.6.36-2.1.0"; @@ -20,15 +23,15 @@ pkgs.stdenv.mkDerivation rec { patches = [ (pkgs.fetchpatch { - url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap/recipes-bsp/imx-oei/imx-oei/0001-Add-CompuLab-lpddr5_timing.c.patch"; + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-oei/imx-oei/0001-Add-CompuLab-lpddr5_timing.c.patch"; sha256 = "sha256-6ZpBOXw2aIhD2i9Wx368xfHq6NvdZghWHU9u8+gRTj8="; }) (pkgs.fetchpatch { - url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap/recipes-bsp/imx-oei/imx-oei/0002-board-mx95lp5-Fix-default-DDR_CONFIG-timing-name.patch"; + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-oei/imx-oei/0002-board-mx95lp5-Fix-default-DDR_CONFIG-timing-name.patch"; sha256 = "sha256-WZ/vYaTC2iKIC+jnHtnPriCxK9gjRsOv2Uy13Ye4698="; }) (pkgs.fetchpatch { - url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap/recipes-bsp/imx-oei/imx-oei/0003-Add-CompuLab-lpddr5_timing_4g.c.patch"; + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-oei/imx-oei/0003-Add-CompuLab-lpddr5_timing_4g.c.patch"; sha256 = "sha256-yyierv2USZlM8Cuxf4FDj4+UtILvJQH9BJSj+fmayL8="; }) ]; @@ -57,8 +60,13 @@ pkgs.stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/nxp-imx/imx-oei"; description = "Optional Executable Image assembler for i.MX95 processors"; - license = [ licenses.bsd3 ]; - maintainers = with maintainers; [ govindsi ]; + license = licenses.bsd3; + maintainers = [ + { + name = "Govind Singh"; + email = "govind.singh@tii.ae"; + } + ]; platforms = [ "aarch64-linux" ]; }; } diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix b/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix index 331f1ae8..9960cd50 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix @@ -2,6 +2,9 @@ lib, pkgs, }: +let + metaBspImx95Rev = "5f4c7b5db846fa3a75055054e32215089d15a7b7"; # scarthgap +in pkgs.stdenv.mkDerivation rec { pname = "imx95-imx-oei-tcm"; version = "lf-6.6.36-2.1.0"; @@ -20,15 +23,15 @@ pkgs.stdenv.mkDerivation rec { patches = [ (pkgs.fetchpatch { - url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap/recipes-bsp/imx-oei/imx-oei/0001-Add-CompuLab-lpddr5_timing.c.patch"; + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-oei/imx-oei/0001-Add-CompuLab-lpddr5_timing.c.patch"; sha256 = "sha256-6ZpBOXw2aIhD2i9Wx368xfHq6NvdZghWHU9u8+gRTj8="; }) (pkgs.fetchpatch { - url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap/recipes-bsp/imx-oei/imx-oei/0002-board-mx95lp5-Fix-default-DDR_CONFIG-timing-name.patch"; + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-oei/imx-oei/0002-board-mx95lp5-Fix-default-DDR_CONFIG-timing-name.patch"; sha256 = "sha256-WZ/vYaTC2iKIC+jnHtnPriCxK9gjRsOv2Uy13Ye4698="; }) (pkgs.fetchpatch { - url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap/recipes-bsp/imx-oei/imx-oei/0003-Add-CompuLab-lpddr5_timing_4g.c.patch"; + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-oei/imx-oei/0003-Add-CompuLab-lpddr5_timing_4g.c.patch"; sha256 = "sha256-yyierv2USZlM8Cuxf4FDj4+UtILvJQH9BJSj+fmayL8="; }) ]; @@ -57,8 +60,13 @@ pkgs.stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/nxp-imx/imx-oei"; description = "Optional Executable Image assembler for i.MX95 processors"; - license = [ licenses.bsd3 ]; - maintainers = with maintainers; [ govindsi ]; + license = licenses.bsd3; + maintainers = [ + { + name = "Govind Singh"; + email = "govind.singh@tii.ae"; + } + ]; platforms = [ "aarch64-linux" ]; }; } diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix b/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix index 7532a4f1..60ce490b 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix @@ -6,7 +6,7 @@ let inherit (pkgs.buildPackages) python3; toolchain = pkgs.gccStdenv.cc; binutils = pkgs.gccStdenv.cc.bintools.bintools_bin; - cpp = pkgs.gcc; + cpp = pkgs.gccStdenv.cc; in pkgs.stdenv.mkDerivation rec { pname = "imx95-optee-os"; @@ -32,8 +32,13 @@ pkgs.stdenv.mkDerivation rec { }; meta = with lib; { homepage = "https://github.com/nxp-imx/imx-optee-os"; - license = [ licenses.bsd2 ]; - maintainers = with maintainers; [ govindsi ]; + license = licenses.bsd2; + maintainers = [ + { + name = "Govind Singh"; + email = "govind.singh@tii.ae"; + } + ]; platforms = [ "aarch64-linux" ]; }; diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix b/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix index 79dbe604..c4f44831 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix @@ -2,6 +2,9 @@ lib, pkgs, }: +let + metaBspImx95Rev = "224eed17cddc573061150e9d2ce6f9acb39ea50e"; # scarthgap-6.6.36-EVAL-UCM-iMX95-1.0 +in pkgs.stdenv.mkDerivation rec { pname = "imx95-sm-fw"; version = "lf-6.6.36-2.1.0"; @@ -26,23 +29,23 @@ pkgs.stdenv.mkDerivation rec { patches = [ (pkgs.fetchpatch { - url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap-6.6.36-EVAL-UCM-iMX95-1.0/recipes-bsp/imx-system-manager/imx-system-manager/0001-Add-mcimx95cust-board.patch"; + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-system-manager/imx-system-manager/0001-Add-mcimx95cust-board.patch"; sha256 = "sha256-zvZ4bNew+yRPmaZQMrAH087KpCLRqz6zdElfe72Dtuc="; }) (pkgs.fetchpatch { - url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap-6.6.36-EVAL-UCM-iMX95-1.0/recipes-bsp/imx-system-manager/imx-system-manager/0002-Fix-null-pionter-except.patch"; + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-system-manager/imx-system-manager/0002-Fix-null-pionter-except.patch"; sha256 = "sha256-q72VEvJqm2CmOxdWMqGibgXS5lY08mC4srEcy00QdrE="; }) (pkgs.fetchpatch { - url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap-6.6.36-EVAL-UCM-iMX95-1.0/recipes-bsp/imx-system-manager/imx-system-manager/0001-update-for-yocto-6.6.36-compatibility.patch"; + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-system-manager/imx-system-manager/0001-update-for-yocto-6.6.36-compatibility.patch"; sha256 = "sha256-JzHqDiD/ZOu6VQQI0JxY17RQ3bA2t1aP3O1sjLPguWs="; }) (pkgs.fetchpatch { - url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap-6.6.36-EVAL-UCM-iMX95-1.0/recipes-bsp/imx-system-manager/imx-system-manager/0003-sm-Disable-GPIO1-10-interrupt.patch"; + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-system-manager/imx-system-manager/0003-sm-Disable-GPIO1-10-interrupt.patch"; sha256 = "sha256-dhcDv7Uq856+MBonczMPznk+tuqUFxTcHiKLX+myCVA="; }) (pkgs.fetchpatch { - url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/scarthgap-6.6.36-EVAL-UCM-iMX95-1.0/recipes-bsp/imx-system-manager/imx-system-manager/0004-configs-mx95cust-change-LPTPM1-ownership.patch"; + url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-system-manager/imx-system-manager/0004-configs-mx95cust-change-LPTPM1-ownership.patch"; sha256 = "sha256-NcLu6+zXpiSz1bHKW14Zuf6F/4pzKsekb+zaRtKjSTY="; }) ]; @@ -73,8 +76,13 @@ pkgs.stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/nxp-imx/imx-sm"; description = "System Manager firmware for i.MX processors"; - license = [ licenses.bsd3 ]; - maintainers = with maintainers; [ govindsi ]; + license = licenses.bsd3; + maintainers = [ + { + name = "Govind Singh"; + email = "govind.singh@tii.ae"; + } + ]; platforms = [ "aarch64-linux" ]; }; } diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-uboot.nix b/compulab/ucm-imx95/bsp/ucm-imx95-uboot.nix index 0d545cc4..81f2c1fc 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-uboot.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-uboot.nix @@ -74,6 +74,7 @@ stdenv.mkDerivation { make ucm-imx95_defconfig cat $extraConfigPath >> .config + make olddefconfig runHook postConfigure ''; From 13cc234e37c8340ecf81fe65f937bf83f2e164ae Mon Sep 17 00:00:00 2001 From: Hans Date: Fri, 31 Oct 2025 09:54:49 +0100 Subject: [PATCH 108/117] 'runCommandNoCC' has been renamed to/replaced by 'runCommand' --- lenovo/legion/16ach6h/edid/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lenovo/legion/16ach6h/edid/default.nix b/lenovo/legion/16ach6h/edid/default.nix index f536d90c..3dbba1cb 100644 --- a/lenovo/legion/16ach6h/edid/default.nix +++ b/lenovo/legion/16ach6h/edid/default.nix @@ -7,7 +7,7 @@ let # This file was obtained from the display while "DDG" mode was enabled. - chip_edid = pkgs.runCommandNoCC "chip_edid" { } '' + chip_edid = pkgs.runCommand "chip_edid" { } '' mkdir -p $out/lib/firmware/edid cp ${./16ach6h.bin} $out/lib/firmware/edid/16ach6h.bin ''; From e598a4ca2ff00ee199bbf277da380bc4459687a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 4 Nov 2025 12:28:52 +0100 Subject: [PATCH 109/117] nxp: patch toolchain more consistent between different targets --- compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix | 4 ++-- nxp/common/bsp/imx-optee-builder.nix | 14 ++++++------ nxp/common/bsp/imx-optee-os.nix | 22 +++++++++---------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix b/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix index 60ce490b..81b56edb 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix @@ -8,7 +8,7 @@ let binutils = pkgs.gccStdenv.cc.bintools.bintools_bin; cpp = pkgs.gccStdenv.cc; in -pkgs.stdenv.mkDerivation rec { +pkgs.stdenv.mkDerivation { pname = "imx95-optee-os"; version = "lf-6.6.36_2.1.0"; @@ -62,7 +62,7 @@ pkgs.stdenv.mkDerivation rec { substituteInPlace mk/gcc.mk \ --replace-fail "\$(CROSS_COMPILE_\$(sm))ar" ${binutils}/bin/${toolchain.targetPrefix}ar substituteInPlace mk/gcc.mk \ - --replace-fail "\$(CROSS_COMPILE_\$(sm))cpp" ${cpp}/bin/cpp + --replace-fail "\$(CROSS_COMPILE_\$(sm))cpp" ${cpp}/bin/${toolchain.targetPrefix}cpp ''; makeFlags = [ diff --git a/nxp/common/bsp/imx-optee-builder.nix b/nxp/common/bsp/imx-optee-builder.nix index 7d506fbe..6b6c229c 100644 --- a/nxp/common/bsp/imx-optee-builder.nix +++ b/nxp/common/bsp/imx-optee-builder.nix @@ -15,7 +15,7 @@ let inherit (pkgs.buildPackages) python3; toolchain = pkgs.gccStdenv.cc; binutils = pkgs.gccStdenv.cc.bintools.bintools_bin; - cpp = pkgs.gcc; + cpp = pkgs.gccStdenv.gcc; # Determine PLATFORM and PLATFORM_FLAVOR from platformFlavor # Format can be either "imx-mx93evk" (full platform string) or "mx8mpevk" (just flavor, platform is "imx") @@ -48,17 +48,17 @@ pkgs.stdenv.mkDerivation { # Patch toolchain paths in mk/gcc.mk substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))objcopy" ${binutils}/bin/${toolchain.targetPrefix}objcopy + --replace-fail "\$(CROSS_COMPILE_\$(sm))objcopy" ${binutils}/bin/${toolchain.targetPrefix}objcopy substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))objdump" ${binutils}/bin/${toolchain.targetPrefix}objdump + --replace-fail "\$(CROSS_COMPILE_\$(sm))objdump" ${binutils}/bin/${toolchain.targetPrefix}objdump substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))nm" ${binutils}/bin/${toolchain.targetPrefix}nm + --replace-fail "\$(CROSS_COMPILE_\$(sm))nm" ${binutils}/bin/${toolchain.targetPrefix}nm substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))readelf" ${binutils}/bin/${toolchain.targetPrefix}readelf + --replace-fail "\$(CROSS_COMPILE_\$(sm))readelf" ${binutils}/bin/${toolchain.targetPrefix}readelf substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))ar" ${binutils}/bin/${toolchain.targetPrefix}ar + --replace-fail "\$(CROSS_COMPILE_\$(sm))ar" ${binutils}/bin/${toolchain.targetPrefix}ar substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))cpp" ${cpp}/bin/cpp + --replace-fail "\$(CROSS_COMPILE_\$(sm))cpp"${cpp}/bin/${toolchain.targetPrefix}cpp ''; makeFlags = [ diff --git a/nxp/common/bsp/imx-optee-os.nix b/nxp/common/bsp/imx-optee-os.nix index 839d3dcd..f920e1d7 100644 --- a/nxp/common/bsp/imx-optee-os.nix +++ b/nxp/common/bsp/imx-optee-os.nix @@ -17,7 +17,7 @@ let cpp = pkgs.buildPackages.gcc; in -pkgs.stdenv.mkDerivation rec { +pkgs.stdenv.mkDerivation { pname = "imx-optee-os"; version = "5.15.32_2.0.0"; @@ -41,25 +41,25 @@ pkgs.stdenv.mkDerivation rec { postPatch = '' substituteInPlace scripts/arm32_sysreg.py \ - --replace '/usr/bin/env python3' '${python3}/bin/python' + --replace-fail '/usr/bin/env python3' '${python3}/bin/python' substituteInPlace scripts/gen_tee_bin.py \ - --replace '/usr/bin/env python3' '${python3}/bin/python' + --replace-fail '/usr/bin/env python3' '${python3}/bin/python' substituteInPlace scripts/pem_to_pub_c.py \ - --replace '/usr/bin/env python3' '${python3}/bin/python' + --replace-fail '/usr/bin/env python3' '${python3}/bin/python' substituteInPlace ta/pkcs11/scripts/verify-helpers.sh \ - --replace '/bin/bash' '${pkgs.bash}/bin/bash' + --replace-fail '/bin/bash' '${pkgs.bash}/bin/bash' substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))objcopy" ${binutils}/bin/${toolchain.targetPrefix}objcopy + --replace-fail "\$(CROSS_COMPILE_\$(sm))objcopy" ${binutils}/bin/${toolchain.targetPrefix}objcopy substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))objdump" ${binutils}/bin/${toolchain.targetPrefix}objdump + --replace-fail "\$(CROSS_COMPILE_\$(sm))objdump" ${binutils}/bin/${toolchain.targetPrefix}objdump substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))nm" ${binutils}/bin/${toolchain.targetPrefix}nm + --replace-fail "\$(CROSS_COMPILE_\$(sm))nm" ${binutils}/bin/${toolchain.targetPrefix}nm substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))readelf" ${binutils}/bin/${toolchain.targetPrefix}readelf + --replace-fail "\$(CROSS_COMPILE_\$(sm))readelf" ${binutils}/bin/${toolchain.targetPrefix}readelf substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))ar" ${binutils}/bin/${toolchain.targetPrefix}ar + --replace-fail "\$(CROSS_COMPILE_\$(sm))ar" ${binutils}/bin/${toolchain.targetPrefix}ar substituteInPlace mk/gcc.mk \ - --replace "\$(CROSS_COMPILE_\$(sm))cpp" ${cpp}/bin/cpp + --replace-fail "\$(CROSS_COMPILE_\$(sm))cpp" "${cpp}/bin/${toolchain.targetPrefix}cpp" ''; makeFlags = [ From f2e49f279c3f7e95a64cae6397b14ed9254874e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 4 Nov 2025 12:34:11 +0100 Subject: [PATCH 110/117] optee-builder: use stdenv as opposed to gccStdenv should be the same in our use case, but stdenv is more standard. --- compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix | 6 +++--- nxp/common/bsp/imx-optee-builder.nix | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix b/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix index 81b56edb..6b66cf6c 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix @@ -4,9 +4,9 @@ }: let inherit (pkgs.buildPackages) python3; - toolchain = pkgs.gccStdenv.cc; - binutils = pkgs.gccStdenv.cc.bintools.bintools_bin; - cpp = pkgs.gccStdenv.cc; + toolchain = pkgs.stdenv.cc; + binutils = pkgs.stdenv.cc.bintools.bintools_bin; + cpp = pkgs.stdenv.cc; in pkgs.stdenv.mkDerivation { pname = "imx95-optee-os"; diff --git a/nxp/common/bsp/imx-optee-builder.nix b/nxp/common/bsp/imx-optee-builder.nix index 6b6c229c..ffd1e787 100644 --- a/nxp/common/bsp/imx-optee-builder.nix +++ b/nxp/common/bsp/imx-optee-builder.nix @@ -13,9 +13,9 @@ }: let inherit (pkgs.buildPackages) python3; - toolchain = pkgs.gccStdenv.cc; - binutils = pkgs.gccStdenv.cc.bintools.bintools_bin; - cpp = pkgs.gccStdenv.gcc; + toolchain = pkgs.stdenv.cc; + binutils = pkgs.stdenv.cc.bintools.bintools_bin; + cpp = pkgs.stdenv.gcc; # Determine PLATFORM and PLATFORM_FLAVOR from platformFlavor # Format can be either "imx-mx93evk" (full platform string) or "mx8mpevk" (just flavor, platform is "imx") From fad92f5f575cd056d4b1558d0e3c5da9098e8a94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 4 Nov 2025 12:48:26 +0100 Subject: [PATCH 111/117] ucm-imx95: expand pkgs in callPackage for overrides --- compulab/ucm-imx95/bsp/ucm-imx95-boot.nix | 35 +++++++++++-------- compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix | 6 ++-- compulab/ucm-imx95/bsp/ucm-imx95-linux.nix | 8 +++-- compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix | 24 +++++++------ compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix | 24 +++++++------ compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix | 19 +++++----- compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix | 32 +++++++++-------- compulab/ucm-imx95/overlay.nix | 2 +- 8 files changed, 89 insertions(+), 61 deletions(-) diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix b/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix index 3554b73b..e49ff90e 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-boot.nix @@ -1,17 +1,24 @@ { - pkgs, + callPackage, + fetchFromGitHub, + stdenv, + clang, + git, + dtc, + glibc, + zlib, + vim, }: -with pkgs; let - imx95-atf = pkgs.callPackage ./ucm-imx95-atf.nix { }; - imx95-firmware = pkgs.callPackage ./ucm-imx95-firmware.nix { }; - imx95-uboot = pkgs.callPackage ./ucm-imx95-uboot.nix { }; - imx95-optee-os = pkgs.callPackage ./ucm-imx95-optee-os.nix { }; - imx95-sm-fw = pkgs.callPackage ./ucm-imx95-sm-fw.nix { }; - imx95-oei-ddr = pkgs.callPackage ./ucm-imx95-oei-ddr.nix { }; - imx95-oei-tcm = pkgs.callPackage ./ucm-imx95-oei-tcm.nix { }; - src = pkgs.fetchFromGitHub { + imx95-atf = callPackage ./ucm-imx95-atf.nix { }; + imx95-firmware = callPackage ./ucm-imx95-firmware.nix { }; + imx95-uboot = callPackage ./ucm-imx95-uboot.nix { }; + imx95-optee-os = callPackage ./ucm-imx95-optee-os.nix { }; + imx95-sm-fw = callPackage ./ucm-imx95-sm-fw.nix { }; + imx95-oei-ddr = callPackage ./ucm-imx95-oei-ddr.nix { }; + imx95-oei-tcm = callPackage ./ucm-imx95-oei-tcm.nix { }; + src = fetchFromGitHub { owner = "nxp-imx"; repo = "imx-mkimage"; #tag: lf-6.6.52-2.2.1 @@ -21,7 +28,7 @@ let shortRev = builtins.substring 0 8 src.rev; in { - imx95-boot = pkgs.stdenv.mkDerivation rec { + imx95-boot = stdenv.mkDerivation rec { inherit src; name = "imx95-mkimage"; version = "lf-6.6.52-2.2.1"; @@ -32,11 +39,11 @@ in substituteInPlace Makefile \ --replace-fail 'CC = gcc' 'CC = clang' substituteInPlace iMX95/soc.mak \ - --replace-fail 'xxd' "${pkgs.vim.xxd}/bin/xxd" + --replace-fail 'xxd' "${vim.xxd}/bin/xxd" substituteInPlace scripts/fspi_fcb_gen.sh \ - --replace-fail 'xxd' "${pkgs.vim.xxd}/bin/xxd" + --replace-fail 'xxd' "${vim.xxd}/bin/xxd" substituteInPlace scripts/fspi_packer.sh \ - --replace-fail 'xxd' "${pkgs.vim.xxd}/bin/xxd" + --replace-fail 'xxd' "${vim.xxd}/bin/xxd" patchShebangs scripts ''; diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix b/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix index 3de82670..e0fd5705 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-firmware.nix @@ -1,10 +1,12 @@ { - pkgs, + stdenv, + fetchurl, + coreutils, + bash, siliconRev ? "A0", ... }: -with pkgs; stdenv.mkDerivation rec { pname = "nxp-firmware-imx95"; version = "nxp-firmware-8.28-994fa14"; diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-linux.nix b/compulab/ucm-imx95/bsp/ucm-imx95-linux.nix index 76520a8c..db613d36 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-linux.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-linux.nix @@ -1,5 +1,9 @@ -{ lib, pkgs, ... }@args: -with pkgs; +{ + lib, + buildLinux, + fetchFromGitHub, + ... +}@args: buildLinux ( args // rec { diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix b/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix index 612d0169..e295f1bf 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-oei-ddr.nix @@ -1,20 +1,24 @@ { lib, - pkgs, + stdenv, + buildPackages, + gcc-arm-embedded, + fetchFromGitHub, + fetchpatch, }: let metaBspImx95Rev = "5f4c7b5db846fa3a75055054e32215089d15a7b7"; # scarthgap in -pkgs.stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "imx95-imx-oei"; version = "lf-6.6.36-2.1.0"; nativeBuildInputs = [ - pkgs.buildPackages.python3 - pkgs.gcc-arm-embedded + buildPackages.python3 + gcc-arm-embedded ]; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "nxp-imx"; repo = "imx-oei"; rev = "5fca9f47544d03c52ca371eadfffbfd2454e6925"; @@ -22,15 +26,15 @@ pkgs.stdenv.mkDerivation rec { }; patches = [ - (pkgs.fetchpatch { + (fetchpatch { url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-oei/imx-oei/0001-Add-CompuLab-lpddr5_timing.c.patch"; sha256 = "sha256-6ZpBOXw2aIhD2i9Wx368xfHq6NvdZghWHU9u8+gRTj8="; }) - (pkgs.fetchpatch { + (fetchpatch { url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-oei/imx-oei/0002-board-mx95lp5-Fix-default-DDR_CONFIG-timing-name.patch"; sha256 = "sha256-WZ/vYaTC2iKIC+jnHtnPriCxK9gjRsOv2Uy13Ye4698="; }) - (pkgs.fetchpatch { + (fetchpatch { url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-oei/imx-oei/0003-Add-CompuLab-lpddr5_timing_4g.c.patch"; sha256 = "sha256-yyierv2USZlM8Cuxf4FDj4+UtILvJQH9BJSj+fmayL8="; }) @@ -45,8 +49,8 @@ pkgs.stdenv.mkDerivation rec { makeFlags = [ "board=mx95lp5" - "CROSS_COMPILE=${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-" - "OEI_CROSS_COMPILE=${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-" + "CROSS_COMPILE=${gcc-arm-embedded}/bin/arm-none-eabi-" + "OEI_CROSS_COMPILE=${gcc-arm-embedded}/bin/arm-none-eabi-" "ARCH=arm" "DDR_CONFIG=lpddr5_timing" "oei=ddr" diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix b/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix index 9960cd50..a5d67da4 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-oei-tcm.nix @@ -1,20 +1,24 @@ { lib, - pkgs, + stdenv, + buildPackages, + gcc-arm-embedded, + fetchFromGitHub, + fetchpatch, }: let metaBspImx95Rev = "5f4c7b5db846fa3a75055054e32215089d15a7b7"; # scarthgap in -pkgs.stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "imx95-imx-oei-tcm"; version = "lf-6.6.36-2.1.0"; nativeBuildInputs = [ - pkgs.buildPackages.python3 - pkgs.gcc-arm-embedded + buildPackages.python3 + gcc-arm-embedded ]; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "nxp-imx"; repo = "imx-oei"; rev = "5fca9f47544d03c52ca371eadfffbfd2454e6925"; @@ -22,15 +26,15 @@ pkgs.stdenv.mkDerivation rec { }; patches = [ - (pkgs.fetchpatch { + (fetchpatch { url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-oei/imx-oei/0001-Add-CompuLab-lpddr5_timing.c.patch"; sha256 = "sha256-6ZpBOXw2aIhD2i9Wx368xfHq6NvdZghWHU9u8+gRTj8="; }) - (pkgs.fetchpatch { + (fetchpatch { url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-oei/imx-oei/0002-board-mx95lp5-Fix-default-DDR_CONFIG-timing-name.patch"; sha256 = "sha256-WZ/vYaTC2iKIC+jnHtnPriCxK9gjRsOv2Uy13Ye4698="; }) - (pkgs.fetchpatch { + (fetchpatch { url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-oei/imx-oei/0003-Add-CompuLab-lpddr5_timing_4g.c.patch"; sha256 = "sha256-yyierv2USZlM8Cuxf4FDj4+UtILvJQH9BJSj+fmayL8="; }) @@ -45,8 +49,8 @@ pkgs.stdenv.mkDerivation rec { makeFlags = [ "board=mx95lp5" - "CROSS_COMPILE=${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-" - "OEI_CROSS_COMPILE=${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-" + "CROSS_COMPILE=${gcc-arm-embedded}/bin/arm-none-eabi-" + "OEI_CROSS_COMPILE=${gcc-arm-embedded}/bin/arm-none-eabi-" "ARCH=arm" "DDR_CONFIG=lpddr5_timing" "oei=tcm" diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix b/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix index 6b66cf6c..9471e365 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-optee-os.nix @@ -1,14 +1,17 @@ { lib, - pkgs, + stdenv, + fetchFromGitHub, + buildPackages, + bash, }: let - inherit (pkgs.buildPackages) python3; - toolchain = pkgs.stdenv.cc; - binutils = pkgs.stdenv.cc.bintools.bintools_bin; - cpp = pkgs.stdenv.cc; + inherit (buildPackages) python3; + toolchain = stdenv.cc; + binutils = stdenv.cc.bintools.bintools_bin; + cpp = stdenv.cc; in -pkgs.stdenv.mkDerivation { +stdenv.mkDerivation { pname = "imx95-optee-os"; version = "lf-6.6.36_2.1.0"; @@ -24,7 +27,7 @@ pkgs.stdenv.mkDerivation { cryptography ]; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "nxp-imx"; repo = "imx-optee-os"; rev = "612bc5a642a4608d282abeee2349d86de996d7ee"; @@ -50,7 +53,7 @@ pkgs.stdenv.mkDerivation { substituteInPlace scripts/pem_to_pub_c.py \ --replace-fail '/usr/bin/env python3' '${python3}/bin/python' substituteInPlace ta/pkcs11/scripts/verify-helpers.sh \ - --replace-fail '/bin/bash' '${pkgs.bash}/bin/bash' + --replace-fail '/bin/bash' '${bash}/bin/bash' substituteInPlace mk/gcc.mk \ --replace-fail "\$(CROSS_COMPILE_\$(sm))objcopy" ${binutils}/bin/${toolchain.targetPrefix}objcopy substituteInPlace mk/gcc.mk \ diff --git a/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix b/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix index c4f44831..8baf5a43 100644 --- a/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix +++ b/compulab/ucm-imx95/bsp/ucm-imx95-sm-fw.nix @@ -1,26 +1,30 @@ { lib, - pkgs, + stdenv, + buildPackages, + gcc-arm-embedded, + fetchFromGitHub, + fetchpatch, }: let metaBspImx95Rev = "224eed17cddc573061150e9d2ce6f9acb39ea50e"; # scarthgap-6.6.36-EVAL-UCM-iMX95-1.0 in -pkgs.stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "imx95-sm-fw"; version = "lf-6.6.36-2.1.0"; nativeBuildInputs = [ - pkgs.buildPackages.python3 - pkgs.gcc-arm-embedded + buildPackages.python3 + gcc-arm-embedded ]; - propagatedBuildInputs = with pkgs.buildPackages.python3.pkgs; [ + propagatedBuildInputs = with buildPackages.python3.pkgs; [ pycryptodomex pyelftools cryptography ]; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "nxp-imx"; repo = "imx-sm"; rev = "709deccd9338399eb39b5cf99a60eab4fa60d539"; @@ -28,23 +32,23 @@ pkgs.stdenv.mkDerivation rec { }; patches = [ - (pkgs.fetchpatch { + (fetchpatch { url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-system-manager/imx-system-manager/0001-Add-mcimx95cust-board.patch"; sha256 = "sha256-zvZ4bNew+yRPmaZQMrAH087KpCLRqz6zdElfe72Dtuc="; }) - (pkgs.fetchpatch { + (fetchpatch { url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-system-manager/imx-system-manager/0002-Fix-null-pionter-except.patch"; sha256 = "sha256-q72VEvJqm2CmOxdWMqGibgXS5lY08mC4srEcy00QdrE="; }) - (pkgs.fetchpatch { + (fetchpatch { url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-system-manager/imx-system-manager/0001-update-for-yocto-6.6.36-compatibility.patch"; sha256 = "sha256-JzHqDiD/ZOu6VQQI0JxY17RQ3bA2t1aP3O1sjLPguWs="; }) - (pkgs.fetchpatch { + (fetchpatch { url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-system-manager/imx-system-manager/0003-sm-Disable-GPIO1-10-interrupt.patch"; sha256 = "sha256-dhcDv7Uq856+MBonczMPznk+tuqUFxTcHiKLX+myCVA="; }) - (pkgs.fetchpatch { + (fetchpatch { url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-system-manager/imx-system-manager/0004-configs-mx95cust-change-LPTPM1-ownership.patch"; sha256 = "sha256-NcLu6+zXpiSz1bHKW14Zuf6F/4pzKsekb+zaRtKjSTY="; }) @@ -52,7 +56,7 @@ pkgs.stdenv.mkDerivation rec { postPatch = '' substituteInPlace sm/makefiles/gcc_cross.mak \ - --replace-fail "\$(SM_CROSS_COMPILE)objcopy" ${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-objcopy + --replace-fail "\$(SM_CROSS_COMPILE)objcopy" ${gcc-arm-embedded}/bin/arm-none-eabi-objcopy substituteInPlace sm/makefiles/build_info.mak \ --replace-fail "/bin/echo" "echo" substituteInPlace sm/makefiles/gcc_cross.mak \ @@ -63,8 +67,8 @@ pkgs.stdenv.mkDerivation rec { makeFlags = [ "config=mx95cust" "M=2" - "CROSS_COMPILE=${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-" - "CROSS_COMPILE64=${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-" + "CROSS_COMPILE=${gcc-arm-embedded}/bin/arm-none-eabi-" + "CROSS_COMPILE64=${gcc-arm-embedded}/bin/arm-none-eabi-" "ARCH=arm" ]; diff --git a/compulab/ucm-imx95/overlay.nix b/compulab/ucm-imx95/overlay.nix index 942a3711..516f9e79 100644 --- a/compulab/ucm-imx95/overlay.nix +++ b/compulab/ucm-imx95/overlay.nix @@ -1,3 +1,3 @@ final: _prev: { - inherit (final.callPackage ./bsp/ucm-imx95-boot.nix { pkgs = final; }) imx95-boot; + inherit (final.callPackage ./bsp/ucm-imx95-boot.nix { }) imx95-boot; } From 5ad68c5dffcee747d960b227570e7b365054d18e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 4 Nov 2025 12:48:34 +0100 Subject: [PATCH 112/117] tests: add all aarch64 NXP boards to aarch64Systems list --- tests/nixos-tests.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/nixos-tests.nix b/tests/nixos-tests.nix index 0fcf6ed9..f4c2b423 100644 --- a/tests/nixos-tests.nix +++ b/tests/nixos-tests.nix @@ -21,6 +21,11 @@ let "raspberry-pi-3" "raspberry-pi-4" "raspberry-pi-5" + "nxp-imx8mp-evk" + "nxp-imx8mq-evk" + "nxp-imx8qm-mek" + "nxp-imx93-evk" + "ucm-imx95" ]; matchArch = From 655a6da8a8cffe6270659938139e6192598e5e06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 4 Nov 2025 13:31:19 +0100 Subject: [PATCH 113/117] nxp: document flash procedure and expose images in flake --- compulab/README.md | 31 +++++++++++++++++++++++++++++-- flake.nix | 10 +++++++++- nxp/README.md | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 3 deletions(-) diff --git a/compulab/README.md b/compulab/README.md index aa3c253a..d90e7b20 100644 --- a/compulab/README.md +++ b/compulab/README.md @@ -23,7 +23,34 @@ Boot ROM initializes the SoC and loads OEI, which runs in TCM to perform early s } ``` +### Building Boot Images + +The boot image for flashing to SD cards can be built directly from the flake: + +```bash +# Build boot image for UCM-iMX95 +nix build github:NixOS/nixos-hardware#packages.aarch64-linux.ucm-imx95-boot + +# Or from a local checkout +nix build .#packages.aarch64-linux.ucm-imx95-boot +``` + +The boot image will be available at `./result/image/flash.bin`. + +**Note:** These packages target `aarch64-linux`. If you're on a different architecture (e.g., x86_64-linux), you'll need remote builders configured for aarch64-linux. + +### Flashing to SD Card + +Once built, you can flash the boot image to an SD card: + +```bash +# Write boot image to SD card at 32KB offset (adjust /dev/sdX to your SD card device) +sudo dd if=./result/image/flash.bin of=/dev/sdX bs=1k seek=32 conv=fsync +``` + +**Warning:** Double-check the device path to avoid overwriting the wrong disk! + ### Notes -- The configuration, including device-tree, kernel, and bootloader components, is optimized for the UCM-iMX95 SoM and EVK. -- The generated NixOS image supports booting from SD card or eMMC, depending on the hardware configuration. +- The configuration, including device-tree, kernel, and bootloader components, is optimized for the UCM-iMX95 SoM and EVK. +- The generated NixOS image supports booting from SD card or eMMC, depending on the hardware configuration. - The boot components (OEI in TCM/DDR, SM, ATF, U-Boot) follow the standard NXP release layout for i.MX95 platforms. diff --git a/flake.nix b/flake.nix index 8f32fbbf..1fbed53c 100644 --- a/flake.nix +++ b/flake.nix @@ -462,11 +462,19 @@ # Add packages packages = eachSystem ( - pkgs: _system: { + pkgs: system: + { run-tests = pkgs.callPackage ./tests/run-tests.nix { inherit self; }; } + // pkgs.lib.optionalAttrs (system == "aarch64-linux") { + # Boot images for NXP i.MX boards (aarch64-linux only) + ucm-imx95-boot = (pkgs.callPackage ./compulab/ucm-imx95/bsp/ucm-imx95-boot.nix { }).imx95-boot; + imx93-boot = (pkgs.callPackage ./nxp/imx93-evk/bsp/imx93-boot.nix { }).imx93-boot; + imx8mp-boot = (pkgs.callPackage ./nxp/imx8mp-evk/bsp/imx8mp-boot.nix { }).imx8m-boot; + imx8mq-boot = (pkgs.callPackage ./nxp/imx8mq-evk/bsp/imx8mq-boot.nix { }).imx8m-boot; + } ); # Add checks for `nix run .#run-tests` diff --git a/nxp/README.md b/nxp/README.md index cf1f5d2a..fc8fac60 100644 --- a/nxp/README.md +++ b/nxp/README.md @@ -38,3 +38,41 @@ Code snippet example that enables 'imx8mp-evk/imx8mq-evk/imx93-evk' configuratio } ``` +### 2.3 Building Boot Images + +Boot images for flashing to SD cards can be built directly from the flake: + +```bash +# Build boot image for i.MX8MP EVK +nix build github:NixOS/nixos-hardware#packages.aarch64-linux.imx8mp-boot + +# Build boot image for i.MX8MQ EVK +nix build github:NixOS/nixos-hardware#packages.aarch64-linux.imx8mq-boot + +# Build boot image for i.MX93 EVK +nix build github:NixOS/nixos-hardware#packages.aarch64-linux.imx93-boot + +# Or from a local checkout +nix build .#packages.aarch64-linux.imx8mp-boot +``` + +The boot image will be available at `./result/image/flash.bin`. + +**Note:** These packages target `aarch64-linux`. If you're on a different architecture (e.g., x86_64-linux), you'll need remote builders configured for aarch64-linux. + +### 2.4 Flashing to SD Card + +Once built, you can flash the boot image to an SD card: + +```bash +# For i.MX8MP and i.MX93 (32KB offset): +sudo dd if=./result/image/flash.bin of=/dev/sdX bs=1k seek=32 conv=fsync + +# For i.MX8MQ (33KB offset): +sudo dd if=./result/image/flash.bin of=/dev/sdX bs=1k seek=33 conv=fsync +``` + +**Note:** Different i.MX processors require different offsets. i.MX8MP and i.MX93 use 32KB (seek=32), while i.MX8MQ uses 33KB (seek=33). + +**Warning:** Double-check the device path to avoid overwriting the wrong disk! + From 8b72f74d80a81ec17e4d17609614a298f384d00e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 4 Nov 2025 15:27:28 +0100 Subject: [PATCH 114/117] nxp: add upstream docs --- compulab/README.md | 7 ++++--- nxp/README.md | 11 +++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/compulab/README.md b/compulab/README.md index d90e7b20..eca6b6e1 100644 --- a/compulab/README.md +++ b/compulab/README.md @@ -30,9 +30,6 @@ The boot image for flashing to SD cards can be built directly from the flake: ```bash # Build boot image for UCM-iMX95 nix build github:NixOS/nixos-hardware#packages.aarch64-linux.ucm-imx95-boot - -# Or from a local checkout -nix build .#packages.aarch64-linux.ucm-imx95-boot ``` The boot image will be available at `./result/image/flash.bin`. @@ -54,3 +51,7 @@ sudo dd if=./result/image/flash.bin of=/dev/sdX bs=1k seek=32 conv=fsync - The configuration, including device-tree, kernel, and bootloader components, is optimized for the UCM-iMX95 SoM and EVK. - The generated NixOS image supports booting from SD card or eMMC, depending on the hardware configuration. - The boot components (OEI in TCM/DDR, SM, ATF, U-Boot) follow the standard NXP release layout for i.MX95 platforms. + +### Upstream Documentation +- [NXP i.MX95 EVK U-Boot Documentation](https://docs.u-boot.org/en/latest/board/nxp/imx95_evk.html) +- [CompuLab UCM-iMX95 Product Page](https://www.compulab.com/products/computer-on-modules/ucm-imx95-nxp-i-mx-95-som-system-on-module/) diff --git a/nxp/README.md b/nxp/README.md index fc8fac60..ac7804fd 100644 --- a/nxp/README.md +++ b/nxp/README.md @@ -76,3 +76,14 @@ sudo dd if=./result/image/flash.bin of=/dev/sdX bs=1k seek=33 conv=fsync **Warning:** Double-check the device path to avoid overwriting the wrong disk! +## 3. Upstream Documentation + +### U-Boot Board Documentation +- [NXP i.MX8MP EVK U-Boot Documentation](https://docs.u-boot.org/en/latest/board/nxp/imx8mp_evk.html) +- [NXP i.MX8MQ EVK U-Boot Documentation](https://docs.u-boot.org/en/latest/board/nxp/imx8mq_evk.html) +- [NXP i.MX93 11x11 EVK U-Boot Documentation](https://docs.u-boot.org/en/latest/board/nxp/imx93_11x11_evk.html) +- [NXP i.MX95 EVK U-Boot Documentation](https://docs.u-boot.org/en/latest/board/nxp/imx95_evk.html) + +### Additional Resources +- [NXP i.MX 8M Series TF-A Documentation](https://trustedfirmware-a.readthedocs.io/en/latest/plat/imx8m.html) + From eea20ba3b08ad00ec2513bc31fce8f94ee15793a Mon Sep 17 00:00:00 2001 From: Brian McGillion Date: Wed, 5 Nov 2025 13:20:53 +0400 Subject: [PATCH 115/117] system: fix the system setting for nixpkgs https://github.com/NixOS/nixpkgs/commit/90cb7876446bf1684ffe40ab7832de0ec1b92991 Signed-off-by: Brian McGillion --- compulab/ucm-imx95/modules.nix | 2 +- kobol/helios4/default.nix | 2 +- nxp/common/modules.nix | 2 +- nxp/imx8mp-evk/modules.nix | 2 +- nxp/imx8mq-evk/modules.nix | 2 +- nxp/imx93-evk/modules.nix | 2 +- olimex/teres_i/default.nix | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/compulab/ucm-imx95/modules.nix b/compulab/ucm-imx95/modules.nix index c0e8f266..9d55d0e8 100644 --- a/compulab/ucm-imx95/modules.nix +++ b/compulab/ucm-imx95/modules.nix @@ -4,7 +4,7 @@ ... }: { - nixpkgs.hostPlatform = "aarch64-linux"; + nixpkgs.hostPlatform.system = "aarch64-linux"; boot = { kernelPackages = pkgs.linuxPackagesFor (pkgs.callPackage ./bsp/ucm-imx95-linux.nix { }); diff --git a/kobol/helios4/default.nix b/kobol/helios4/default.nix index 5b4207fe..b2b67c1a 100644 --- a/kobol/helios4/default.nix +++ b/kobol/helios4/default.nix @@ -36,7 +36,7 @@ in nixpkgs.overlays = [ (import ./overlay.nix) ]; - nixpkgs.hostPlatform = "armv7l-linux"; + nixpkgs.hostPlatform.system = "armv7l-linux"; boot.initrd.availableKernelModules = [ "ahci_mvebu" ]; diff --git a/nxp/common/modules.nix b/nxp/common/modules.nix index e35eb405..2f5123fe 100644 --- a/nxp/common/modules.nix +++ b/nxp/common/modules.nix @@ -1,6 +1,6 @@ { pkgs, lib, ... }: { - nixpkgs.hostPlatform = "aarch64-linux"; + nixpkgs.hostPlatform.system = "aarch64-linux"; boot = { kernelPackages = pkgs.linuxPackagesFor (pkgs.callPackage ./bsp/linux-imx8.nix { }); diff --git a/nxp/imx8mp-evk/modules.nix b/nxp/imx8mp-evk/modules.nix index ec4e28f7..1ba039fb 100644 --- a/nxp/imx8mp-evk/modules.nix +++ b/nxp/imx8mp-evk/modules.nix @@ -4,7 +4,7 @@ ... }: { - nixpkgs.hostPlatform = "aarch64-linux"; + nixpkgs.hostPlatform.system = "aarch64-linux"; boot = { kernelPackages = pkgs.linuxPackagesFor (pkgs.callPackage ./bsp/imx8mp-linux.nix { }); diff --git a/nxp/imx8mq-evk/modules.nix b/nxp/imx8mq-evk/modules.nix index 0307d133..594eebdc 100644 --- a/nxp/imx8mq-evk/modules.nix +++ b/nxp/imx8mq-evk/modules.nix @@ -4,7 +4,7 @@ ... }: { - nixpkgs.hostPlatform = "aarch64-linux"; + nixpkgs.hostPlatform.system = "aarch64-linux"; boot = { kernelPackages = pkgs.linuxPackagesFor (pkgs.callPackage ./bsp/imx8mq-linux.nix { }); diff --git a/nxp/imx93-evk/modules.nix b/nxp/imx93-evk/modules.nix index b8939684..90fbfd83 100644 --- a/nxp/imx93-evk/modules.nix +++ b/nxp/imx93-evk/modules.nix @@ -4,7 +4,7 @@ ... }: { - nixpkgs.hostPlatform = "aarch64-linux"; + nixpkgs.hostPlatform.system = "aarch64-linux"; boot = { kernelPackages = pkgs.linuxPackagesFor (pkgs.callPackage ./bsp/imx93-linux.nix { }); diff --git a/olimex/teres_i/default.nix b/olimex/teres_i/default.nix index 4f2c97d5..eefae9a5 100644 --- a/olimex/teres_i/default.nix +++ b/olimex/teres_i/default.nix @@ -24,7 +24,7 @@ }; }; - nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; + nixpkgs.hostPlatform.system = lib.mkDefault "aarch64-linux"; powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand"; } From ae91411396f37d84850e07e7310f251b83fd3a93 Mon Sep 17 00:00:00 2001 From: Brian McGillion Date: Wed, 5 Nov 2025 16:35:23 +0400 Subject: [PATCH 116/117] imx8-evk: fix cross-compiled builds update just to fix the cross compilation. Signed-off-by: Brian McGillion --- nxp/common/bsp/imx-mkimage.nix | 8 ++++---- nxp/common/bsp/imx-optee-builder.nix | 4 ++-- nxp/imx8mp-evk/bsp/imx8mp-boot.nix | 23 ++++++++--------------- nxp/imx8mp-evk/bsp/imx8mp-firmware.nix | 2 +- 4 files changed, 15 insertions(+), 22 deletions(-) diff --git a/nxp/common/bsp/imx-mkimage.nix b/nxp/common/bsp/imx-mkimage.nix index a928b92c..1c9d8d40 100644 --- a/nxp/common/bsp/imx-mkimage.nix +++ b/nxp/common/bsp/imx-mkimage.nix @@ -16,12 +16,12 @@ pkgs.stdenv.mkDerivation rec { --replace 'CC = gcc' 'CC = clang' ''; - nativeBuildInputs = [ - clang - git + depsBuildBuild = [ + pkgs.buildPackages.stdenv.cc ]; - buildInputs = [ + nativeBuildInputs = [ + clang git glibc.static ]; diff --git a/nxp/common/bsp/imx-optee-builder.nix b/nxp/common/bsp/imx-optee-builder.nix index ffd1e787..9436b6fa 100644 --- a/nxp/common/bsp/imx-optee-builder.nix +++ b/nxp/common/bsp/imx-optee-builder.nix @@ -15,7 +15,7 @@ let inherit (pkgs.buildPackages) python3; toolchain = pkgs.stdenv.cc; binutils = pkgs.stdenv.cc.bintools.bintools_bin; - cpp = pkgs.stdenv.gcc; + cpp = pkgs.stdenv.cc; # Determine PLATFORM and PLATFORM_FLAVOR from platformFlavor # Format can be either "imx-mx93evk" (full platform string) or "mx8mpevk" (just flavor, platform is "imx") @@ -58,7 +58,7 @@ pkgs.stdenv.mkDerivation { substituteInPlace mk/gcc.mk \ --replace-fail "\$(CROSS_COMPILE_\$(sm))ar" ${binutils}/bin/${toolchain.targetPrefix}ar substituteInPlace mk/gcc.mk \ - --replace-fail "\$(CROSS_COMPILE_\$(sm))cpp"${cpp}/bin/${toolchain.targetPrefix}cpp + --replace-fail "\$(CROSS_COMPILE_\$(sm))cpp" ${cpp}/bin/${toolchain.targetPrefix}cpp ''; makeFlags = [ diff --git a/nxp/imx8mp-evk/bsp/imx8mp-boot.nix b/nxp/imx8mp-evk/bsp/imx8mp-boot.nix index a53600b9..e2005e15 100644 --- a/nxp/imx8mp-evk/bsp/imx8mp-boot.nix +++ b/nxp/imx8mp-evk/bsp/imx8mp-boot.nix @@ -2,7 +2,6 @@ pkgs, enable-tee ? true, }: -with pkgs; let fw-ver = "202006"; cp-tee = if enable-tee then "install -m 0644 ${imx8mp-optee-os}/tee.bin ./iMX8M/tee.bin" else ""; @@ -22,7 +21,7 @@ let shortRev = builtins.substring 0 8 src.rev; in { - imx8m-boot = pkgs.stdenv.mkDerivation rec { + imx8m-boot = pkgs.buildPackages.stdenv.mkDerivation { inherit src; name = "imx8mp-mkimage"; version = "lf-6.1.55-2.2.0"; @@ -30,22 +29,16 @@ in postPatch = '' substituteInPlace Makefile \ --replace 'git rev-parse --short=8 HEAD' 'echo ${shortRev}' - substituteInPlace Makefile \ - --replace 'CC = gcc' 'CC = clang' patchShebangs scripts ''; nativeBuildInputs = [ - clang - git - dtc - ]; - - buildInputs = [ - git - glibc.static - zlib - zlib.static + pkgs.buildPackages.stdenv.cc + pkgs.buildPackages.git + pkgs.buildPackages.dtc + pkgs.buildPackages.glibc.static + pkgs.buildPackages.zlib + pkgs.buildPackages.zlib.static ]; buildPhase = '' @@ -54,7 +47,7 @@ in make bin make SOC=iMX8MP mkimage_imx8 - cp -v ${pkgs.ubootTools}/bin/mkimage ./iMX8M/mkimage_uboot + cp -v ${pkgs.buildPackages.ubootTools}/bin/mkimage ./iMX8M/mkimage_uboot install -m 0644 ${imx8mp-uboot}/u-boot-spl.bin ./iMX8M/u-boot-spl.bin install -m 0644 ${imx8mp-uboot}/u-boot-nodtb.bin ./iMX8M/u-boot-nodtb.bin diff --git a/nxp/imx8mp-evk/bsp/imx8mp-firmware.nix b/nxp/imx8mp-evk/bsp/imx8mp-firmware.nix index c763d8cf..31e383e2 100644 --- a/nxp/imx8mp-evk/bsp/imx8mp-firmware.nix +++ b/nxp/imx8mp-evk/bsp/imx8mp-firmware.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { dontStrip = true; installPhase = '' - ${pkgs.bash}/bin/bash $src --auto-accept --force + ${pkgs.buildPackages.bash}/bin/bash $src --auto-accept --force mv firmware-imx-${version} $out ''; } From e60c66bd0b6a4a9404644020bbeaa1d759d13c3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 11 May 2025 09:56:29 +0200 Subject: [PATCH 117/117] replace tlp with power-profiles-daemon TLP is often no longer the best choice since firmware provides power profiles instead. That's why we are removing TLP as the default option. We may want to bring back TLP to some old hardware if it makes sense i.e. certain thinkpad modules. --- CONTRIBUTING.md | 5 +++-- asus/fa507nv/default.nix | 4 ---- common/pc/laptop/default.nix | 11 ++--------- dell/inspiron/14-5420/README.md | 3 --- framework/13-inch/common/amd.nix | 4 ---- framework/16-inch/common/amd.nix | 4 ---- gpd/win-2/default.nix | 5 ----- lenovo/ideapad/15arh05/default.nix | 5 ----- lenovo/legion/16aph8/default.nix | 4 ---- microsoft/surface/common/default.nix | 3 --- 10 files changed, 5 insertions(+), 43 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 93564142..d650a8e1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,8 +14,9 @@ For example: ```nix { lib }: { - # Using mkDefault, because the user might want to disable tlp - services.tlp.enable = lib.mkDefault true; + # Using mkDefault, because the user might want to disable power-profiles-daemon + services.power-profiles-daemon.enable = lib.mkDefault true; + # No need to use mkDefault, because the setting will merge with the user's setting boot.kernelModules = [ "tmp_smapi" ]; } diff --git a/asus/fa507nv/default.nix b/asus/fa507nv/default.nix index 43ff7133..8594bc55 100644 --- a/asus/fa507nv/default.nix +++ b/asus/fa507nv/default.nix @@ -25,10 +25,6 @@ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") [ "rtc_cmos.use_acpi_alarm=1" ]; - # AMD has better battery life with PPD over TLP: - # https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13 - services.power-profiles-daemon.enable = lib.mkDefault true; - # Adds the missing asus functionality to Linux. # https://asus-linux.org/manual/asusctl-manual/ services = { diff --git a/common/pc/laptop/default.nix b/common/pc/laptop/default.nix index abc76fa7..e9aaf03e 100644 --- a/common/pc/laptop/default.nix +++ b/common/pc/laptop/default.nix @@ -1,13 +1,6 @@ -{ config, lib, ... }: - +{ lib, config, ... }: { imports = [ ../. ]; - # Gnome 40 introduced a new way of managing power, without tlp. - # However, these 2 services clash when enabled simultaneously. - # https://github.com/NixOS/nixos-hardware/issues/260 - services.tlp.enable = lib.mkDefault ( - (lib.versionOlder (lib.versions.majorMinor lib.version) "21.05") - || !config.services.power-profiles-daemon.enable - ); + config.services.power-profiles-daemon.enable = lib.mkDefault (!config.services.tlp.enable); } diff --git a/dell/inspiron/14-5420/README.md b/dell/inspiron/14-5420/README.md index a7c5c06b..b75106a6 100644 --- a/dell/inspiron/14-5420/README.md +++ b/dell/inspiron/14-5420/README.md @@ -8,6 +8,3 @@ `fwupd` is used to receive firmware updates from vendors. This device is in its [supported devices list](https://fwupd.org/lvfs/devices/) `thermald` is used to achieve better thermal behaviour - -##### TLP -TLP is a battery power optimizer for laptops. It is enabled by default, however, since it conflicts with power-profiles-daemon which is GNOME's power management system, TLP will not be installed with if power-profiles-daemon or a recent version of GNOME is present. diff --git a/framework/13-inch/common/amd.nix b/framework/13-inch/common/amd.nix index 4a89f8da..78ad108c 100644 --- a/framework/13-inch/common/amd.nix +++ b/framework/13-inch/common/amd.nix @@ -18,8 +18,4 @@ ++ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") [ "rtc_cmos.use_acpi_alarm=1" ]; - - # AMD has better battery life with PPD over TLP: - # https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13 - services.power-profiles-daemon.enable = lib.mkDefault true; } diff --git a/framework/16-inch/common/amd.nix b/framework/16-inch/common/amd.nix index 4a89f8da..78ad108c 100644 --- a/framework/16-inch/common/amd.nix +++ b/framework/16-inch/common/amd.nix @@ -18,8 +18,4 @@ ++ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") [ "rtc_cmos.use_acpi_alarm=1" ]; - - # AMD has better battery life with PPD over TLP: - # https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13 - services.power-profiles-daemon.enable = lib.mkDefault true; } diff --git a/gpd/win-2/default.nix b/gpd/win-2/default.nix index e7247534..3a773219 100644 --- a/gpd/win-2/default.nix +++ b/gpd/win-2/default.nix @@ -10,11 +10,6 @@ "video=eDP-1:panel_orientation=right_side_up" ]; - services.tlp.enable = lib.mkDefault ( - (lib.versionOlder (lib.versions.majorMinor lib.version) "21.05") - || !config.services.power-profiles-daemon.enable - ); - # Required for grub to properly display the boot menu. boot.loader.grub.gfxmodeEfi = lib.mkDefault "720x1280x32"; diff --git a/lenovo/ideapad/15arh05/default.nix b/lenovo/ideapad/15arh05/default.nix index a4ff8df1..e13e0608 100644 --- a/lenovo/ideapad/15arh05/default.nix +++ b/lenovo/ideapad/15arh05/default.nix @@ -17,9 +17,4 @@ # Cooling management services.thermald.enable = lib.mkDefault true; - - # tlp defaults to "powersave", which doesn't exist on this laptop - services.tlp.settings = { - CPU_SCALING_GOVERNOR_ON_BAT = "schedutil"; - }; } diff --git a/lenovo/legion/16aph8/default.nix b/lenovo/legion/16aph8/default.nix index 5771d65b..c131658e 100644 --- a/lenovo/legion/16aph8/default.nix +++ b/lenovo/legion/16aph8/default.nix @@ -32,8 +32,4 @@ # Avoid issues with modesetting causing blank screen services.xserver.videoDrivers = [ "nvidia" ]; - - # AMD has better battery life with PPD over TLP: - # https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13 - services.power-profiles-daemon.enable = lib.mkDefault true; } diff --git a/microsoft/surface/common/default.nix b/microsoft/surface/common/default.nix index 1fe46fee..3d77f310 100644 --- a/microsoft/surface/common/default.nix +++ b/microsoft/surface/common/default.nix @@ -110,9 +110,6 @@ in kernelParams = mkDefault [ "mem_sleep_default=deep" ]; }; - # NOTE: Check the README before enabling TLP: - services.tlp.enable = mkDefault false; - # Needed for wifi firmware, see https://github.com/NixOS/nixos-hardware/issues/364 hardware = { enableRedistributableFirmware = mkDefault true;