diff --git a/hosts/modules/hal/pine64.nix b/hosts/modules/hal/pine64.nix index 3f5285e9e..3dd650383 100644 --- a/hosts/modules/hal/pine64.nix +++ b/hosts/modules/hal/pine64.nix @@ -8,6 +8,9 @@ in }; config = lib.mkIf cfg.enable { + # kernel compat (2024/08/31: b9cd911c) + # - linux-postmarketos-allwinner: it's my daily driver + # - default, i.e. mainline 6.10.7: WiFi works, charging works, but no display # kernel compatibility (2024/05/22: 03dab630) # - linux-megous: boots to ssh, desktop # - camera apps: megapixels (no cameras found), snapshot (no cameras found) @@ -16,9 +19,10 @@ in # - linux-megous.override { withMegiPinephoneConfig = true; }: NO SSH, NO SIGNS OF LIFE # - linux-megous.override { withFullConfig = false; }: boots to ssh, no desktop # - boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux-postmarketos-allwinner.override { - withModemPower = true; - }); + # boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux-postmarketos-allwinner.override { + # withModemPower = true; + # }); + # # boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux-megous; # boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux-megous.override { # withFullConfig = false; @@ -29,6 +33,336 @@ in # boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux-manjaro; # boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux_latest; + # boot.kernelPatches = let + # armbianRef = "0a18ec690e423ffb25f66d39c09c0618f768e82d"; # 2024-08-31 + # armbianMegous = { name, hash ? "" }: { + # # Armbian imported some 200+ patches from megi's repo; that's a convenient place to grab them from. + # # patch name is just the commit message w/ symbols replaced to `-`. + # # patch ordering is here: + # inherit name; + # patch = pkgs.fetchurl { + # url = "https://github.com/armbian/build/raw/${armbianRef}/patch/kernel/archive/sunxi-6.10/patches.megous/${name}.patch"; + # # url = "https://raw.githubusercontent.com/armbian/build/${armbianRef}/patch/kernel/archive/sunxi-6.10/patches.megous/${name}.patch"; + # inherit hash; + # }; + # }; + # in [ + # # { + # # # "ANX7688 is rather criticial piece on PinePhone, there's no display and no battery charging without it." + # # name = "usb: typec: anx7688: Add driver for ANX7688 USB-C HDMI bridge"; + # # patch = pkgs.fetchurl { + # # url = "https://patchwork.kernel.org/project/linux-usb/patch/ZhPM4XU8ttsFftBd@duo.ucw.cz/raw/"; + # # hash = "sha256-oEA52kZfPQffDdyjfZEizfavGEuYigrBZjDOdbf0wNs="; + # # # url = "https://lore.kernel.org/lkml/Zh4o5Rw+tP9TSIVQ@kuha.fi.intel.com/t.mbox.gz"; + # # # hash = "sha256-4MgECUnVQ5C8P2xc2uyUojAPMBCPJTTwuNrxtty0jxo="; + # # }; + # # } + + # # un-ordered + # # (armbianMegous { name = "phy-allwinner-sun4i-usb-Add-support-for-usb_role_switch"; }) + # # (armbianMegous { name = "regulator-axp20x-Add-support-for-vin-supply-for-drivevbus"; }) + # # (armbianMegous { name = "drm-bridge-dw-hdmi-Allow-to-accept-HPD-status-from-other-driver"; }) + # # (armbianMegous { name = "drm-bridge-dw-hdmi-Report-HDMI-hotplug-events"; }) + # # (armbianMegous { name = "regulator-axp20x-Turn-N_VBUSEN-to-input-on-x-powers-sense-vbus-"; hash = "sha256-lnlLZ/MOukkRCgfXGCj1jepQesl2dbaBOpstOXVLh20="; }) # 2020-06-09 22:00:36 +0200 + # # (armbianMegous { name = "arm64-dts-allwinner-a64-Enable-hdmi-sound-card-on-boards-with-h"; }) # 2021-05-09 10:42:16 +0200 + + # # ordering of the below is important because they all touch arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi + # #vvv ordered by commit vvv + # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Add-front-back-cameras"; hash = "sha256-eOlVbePZ3JhrjQhZ1DucfaNfgUjnMYc46WgbvFFM5Tk="; }) # 2020-04-08 14:13:08 +0200 + # # Add Type C Support ... adds anx7688 to the device tree; necessary for display power-on + # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Add-Type-C-support-for-all-PP-va"; hash = "sha256-W025uQlRpdfdfusbe9WUixEP/UyhzONUR/inxD/YxHo="; }) # 2020-07-08 00:58:16 +0200 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Add-modem-power-manager"; hash = "sha256-7sWfDW59ClLNI++8utGVK2IBSDBLhrZeMwBGf3tmWYQ="; }) # 2020-07-08 01:00:48 +0200 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Add-detailed-OCV-to-capactiy-con"; hash = "sha256-9cgQT96XMtb7tH9YNbBfgtJpC59wu6x/kNderj/GuNU="; }) # 2020-09-28 04:35:13 +0200 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Shorten-post-power-on-delay-on-m"; hash = "sha256-kOnFQmoEniIzKOOPnPssA423oMYCd6UaxftqXhd+fhE=" }) # 2020-02-06 04:58:32 +0100 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Add-mount-matrix-for-acceleromet"; hash = "sha256-GLMMZJmf88ydGvnSqdjKia0yd6op54EEahNd6rug0Jg="; }) # 2020-09-08 15:31:26 +0200 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Add-support-for-Bluetooth-audio"; hash = "sha256-xtNGS2bhs4F5+4xIaDTlDJKebiM/Wz/BV684MMF/kkE="; }) # 2020-02-06 23:49:27 -0600 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Add-support-for-modem-audio"; hash = "sha256-YRJmtweDkTsvMrtCQtF5Ih2Wb6E+AuSdOSUZBpoHRco="; }) # 2020-02-05 23:14:27 -0600 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Bump-I2C-frequency-to-400kHz"; hash = "sha256-HhFUkO89CfqpftXkpMdUyrRC5zA+yelx8GCaW1gGueQ="; }) # 2020-11-30 06:14:07 +0100 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Add-interrupt-pin-for-WiFi"; hash = "sha256-vTB3/JHr3SHa10JUbpNgFakA1fkeLGJ6/GZqofta1bY="; }) # 2021-01-17 23:06:03 +0100 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Power-off-the-touch-controller-i"; hash = "sha256-QBPadt1E2HnsIYOXe0acls6op4O7vx+Aqpyk/ZdQKXk="; }) # 2021-04-25 03:17:39 +0200 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Don-t-make-lradc-keys-a-wakeup-s"; hash = "sha256-2HgsHpbPzgtOziYwyNJkLhBoHGfveD0nnQZmSs37Mfc="; }) # 2021-04-26 01:31:27 +0200 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Set-minimum-backlight-duty-cycle"; hash = "sha256-EWNtVe5SPiWroDD32T4ONCDC3ORaYdX+zU2WKIqtAA4="; }) # 2021-06-07 20:23:52 +0200 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Add-supply-for-i2c-bus-to-anx768"; hash = "sha256-spmNs0IH228zEiDNL0rmW2yQ7sEWmDiEwMqWmcYQlvA="; }) # 2021-10-18 17:41:25 +0200 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Workaround-broken-HDMI-HPD-signa"; hash = "sha256-ETUvHVStAVhZdnaq9tBKFAKO9UzpMGnJo/bgfqvkqyY="; }) # 2021-10-26 01:25:46 +0200 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Add-AF8133J-to-PinePhone"; hash = "sha256-Xflyx0q4dU23G/jIbD9REtiIU2PDrfQL7NlohKKr6NA="; }) # 2021-03-18 20:22:05 +0800 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Add-mount-matrix-for-PinePhone-m"; hash = "sha256-GCHuSL7YzI31ScbBr0r74A5/R4swCcc9VuggzSHCtTU="; }) # 2021-07-14 07:17:18 +0900 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Add-support-for-Pinephone-keyboa"; hash = "sha256-71kdztifUauB+I0Mh0jx14kHGSQLkvrbSofer0DUEkg="; }) # 2022-01-21 23:28:48 +0100 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Enable-Pinephone-Keyboard-power-"; hash = "sha256-XDChPJWrOkosQ+D1BG7UWG6Qm3YUi/QPPiOeNWM8KXA="; }) # 2022-04-16 02:12:06 +0200 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Add-support-for-Pinephone-1.2-be"; hash = "sha256-LY5mJVaIcOvMl7kfRdYVxHyvd9FeeBnLBUoM8jodFu4="; }) # 2022-11-10 20:11:10 +0100 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Add-power-supply-to-stk3311"; hash = "sha256-i33JvKCVOiwpCmetA6WnYxDWjj3xE0ZJ1DQIY+NF5QU="; }) # 2023-05-20 16:58:11 +0200 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Add-reboot-mode-driver"; hash = "sha256-KJwQ2qPu0Aub1Vb+rkcFLA1lETLGeCc7T2KC7ffdnqs="; }) # 2021-02-15 17:45:13 +0100 + # # (armbianMegous { name = "arm64-dts-sun50i-a64-pinephone-Use-newer-jack-detection-impleme"; hash = "sha256-nXQndVbEhxstLqTnTqYc/aMzRtdOUDeResobM6zSUGw="; }) # 2024-02-23 01:53:14 +0100 + # # (armbianMegous { name = "arm64-dts-sun50-a64-pinephone-Define-jack-pins-in-DT"; hash = "sha256-4TGa2ZceqGqsr34VRTuEEgvICt4H3HEAsZWbY9SJDUU="; }) # 2024-05-14 10:47:05 +0200 + # (armbianMegous { name = "arm64-dts-allwinner-a64-Add-hdmi-sound-card"; hash = "sha256-gMNdNgvuoettAPX8aGaIMDooXt7gk1s3NLk0jHk8nqU="; }) # 2021-05-09 10:39:56 +0200 + # (armbianMegous { name = "usb-typec-anx7688-Add-driver-for-ANX7688-USB-C-HDMI-bridge"; hash = "sha256-CSWcCF+TzIpKoG1IpXpyuIu+NKNrREHvIkKH+jHnHxE="; }) # 2020-02-13 15:37:25 +0100 + # (armbianMegous { name = "usb-typec-anx7688-Port-to-Linux-6.9"; hash = "sha256-jMa+RA0ZEKYfPbsNAEoBhPBf+o+iImzncM3QnfDdP74="; }) # 2024-03-15 23:05:10 +0100 + # (armbianMegous { name = "usb-typec-anx7688-Port-to-Linux-6.10"; hash = "sha256-rtem3ibZq1HxDIptlzioXwX6HjC01qfC0rYIrrGvEx4="; }) # 2024-07-05 23:25:25 +0200 + # # (armbianMegous { name = ""; }) + # ]; + + # megi's patches apply cleanly, but fails to compile without tweaking config (e.g. CONFIG_FB_SUN5I_EINK=n) + # boot.kernelPatches = pkgs.armbian-build.patches.megous.series; + + boot.kernelPatches = with pkgs.armbian-build.patches.megous; [ + # byName."media-ov5640-Experiment-Try-to-disable-denoising-sharpening" + # byName."media-ov5640-Sleep-after-poweroff-to-ensure-next-poweron-is-not" + # byName."media-ov5640-Don-t-powerup-the-sensor-during-driver-probe" + # byName."media-ov5640-set-default-ae-target-lower" + # byName."media-ov5640-Improve-error-reporting" + # byName."media-ov5640-Implement-autofocus" + # byName."media-ov5640-Improve-firmware-load-time" + # byName."media-ov5640-Fix-focus-commands-blocking-until-complete" + # byName."media-ov5640-Add-read-only-property-for-vblank" + # byName."media-ov5640-use-pm_runtime_force_suspend-resume-for-system-sus" + # byName."media-sun6i-csi-capture-Use-subdev-operation-to-access-bridge-f" + # byName."media-sun6i-csi-subdev-Use-subdev-active-state-to-store-active-" + # byName."media-sun6i-csi-merge-sun6i_csi_formats-and-sun6i_csi_formats_m" + # byName."media-sun6i-csi-add-V4L2_CAP_IO_MC-capability" + # byName."media-sun6i-csi-implement-vidioc_enum_framesizes" + # byName."media-sun6i-csi-Add-multicamera-support-for-parallel-bus" + # byName."nfc-pn544-Add-support-for-VBAT-PVDD-regulators" + # byName."bluetooth-bcm-Restore-drive_rts_on_open-true-behavior-on-bcm207" + # byName."mmc-add-delay-after-power-class-selection" + # byName."ARM-dts-sun8i-a83t-tbs-a711-Add-PN544-NFC-support" + # byName."ARM-dts-sun8i-a83t-tbs-a711-Add-powerup-down-support-for-the-3G" + # byName."ARM-dts-sun8i-a83t-Add-cedrus-video-codec-support-to-A83T-untes" + # byName."ARM-dts-suni-a83t-Add-i2s0-pins" + # byName."ARM-dts-sun8i-a83t-tbs-a711-Add-sound-support-via-AC100-codec" + # byName."ARM-dts-sun8i-a83t-tbs-a711-Add-regulators-to-the-accelerometer" + # byName."ARM-dts-sun8i-a83t-tbs-a711-Add-camera-sensors-HM5065-GC2145" + # byName."ARM-dts-sun8i-a83t-tbs-a711-Add-flash-led-support" + # byName."dt-bindings-input-gpio-vibrator-Don-t-require-enable-gpios" + # byName."input-gpio-vibra-Allow-to-use-vcc-supply-alone-to-control-the-v" + # byName."ARM-dts-sun8i-a83t-tbs-a711-Add-support-for-the-vibrator-motor" + # byName."ARM-dts-sun8i-a83t-tbs-a711-Increase-voltage-on-the-vibrator" + # byName."dt-bindings-leds-Add-a-binding-for-AXP813-charger-led" + # byName."leds-axp20x-Support-charger-LED-on-AXP20x-like-PMICs" + # byName."ARM-dts-axp813-Add-charger-LED" + # byName."ARM-dts-sun8i-a83t-tbs-a711-Enable-charging-LED" + # byName."MAINTAINERS-Add-entry-for-Himax-HM5065" + # byName."dt-bindings-media-Add-bindings-for-Himax-HM5065-camera-sensor" + # byName."hm5065-yaml-bindings-wip" + # byName."media-hm5065-Add-subdev-driver-for-Himax-HM5065-camera-sensor" + # byName."media-i2c-gc2145-Move-upstream-driver-out-of-the-way" + # byName."media-gc2145-Galaxycore-camera-module-driver" + # byName."media-gc2145-Added-BGGR-bayer-mode" + # byName."media-gc2145-Disable-debug-output" + # byName."media-gc2145-Add-PIXEL_RATE-HBLANK-and-VBLANK-controls" + # byName."media-gc2145-implement-system-suspend" + # byName."media-gc2145-fix-white-balance-colors" + # byName."media-i2c-gc2145-Parse-and-register-properties" + # byName."mailbox-Allow-to-run-mailbox-while-timekeeping-is-suspended" + # byName."ARM-sunxi-Add-experimental-suspend-to-memory-implementation-for" + # byName."ARM-sunxi-sunxi_cpu0_hotplug_support_set-is-not-supported-on-A8" + # byName."firmware-scpi-Add-support-for-sending-a-SCPI_CMD_SET_SYS_PWR_ST" + # byName."ARM-sunxi-Use-SCPI-to-send-suspend-message-to-SCP-on-A83T" + # byName."gnss-ubx-Send-soft-powerdown-message-on-suspend" + # byName."clk-sunxi-ng-Export-CLK_DRAM-for-devfreq" + # byName."ARM-dts-sun8i-a83t-Add-MBUS-node" + # byName."clk-sunxi-ng-Set-maximum-P-and-M-factors-to-1-for-H3-pll-cpux-c" + # byName."clk-sunxi-ng-Don-t-use-CPU-PLL-gating-and-CPUX-reparenting-to-H" + # byName."ARM-dts-sun8i-h3-Use-my-own-more-aggressive-OPPs-on-H3" + # byName."arm64-dts-sun50i-h5-Use-my-own-more-aggressive-OPPs-on-H5" + # byName."ARM-dts-sun8i-h3-orange-pi-pc-Increase-max-CPUX-voltage-to-1.4V" + # byName."ARM-dts-sun8i-a83t-Improve-CPU-OPP-tables-go-up-to-1.8GHz" + # byName."cpufreq-sun50i-Show-detected-CPU-bin-for-easier-debugging" + # byName."net-stmmac-sun8i-Use-devm_regulator_get-for-PHY-regulator" + # byName."net-stmmac-sun8i-Rename-PHY-regulator-variable-to-regulator_phy" + # byName."net-stmmac-sun8i-Add-support-for-enabling-a-regulator-for-PHY-I" + # byName."arm64-dts-allwinner-orange-pi-3-Enable-ethernet" + # byName."input-cyttsp4-De-obfuscate-platform-data-for-keys" + # byName."input-cyttsp4-Remove-useless-indirection-with-driver-platform-d" + # byName."input-cyttsp4-Remove-unused-enable_vkeys" + # byName."input-cyttsp4-De-obfuscate-MT-signals-setup-platform-data" + # byName."input-cyttsp4-Clear-the-ids-buffer-in-a-saner-way" + # byName."input-cyttsp4-ENOSYS-error-is-ok-when-powering-up" + # byName."input-cyttsp4-Faster-recovery-from-failed-wakeup-HACK" + # byName."input-cyttsp4-Use-i2c-spi-names-directly-in-the-driver" + # byName."input-cyttsp4-Port-the-driver-to-use-device-properties" + # byName."input-cyttsp4-Restart-on-wakeup-wakeup-by-I2C-read-doesn-t-work" + # byName."input-cyttsp4-Fix-warnings" + # byName."input-cyttsp4-Make-the-driver-not-hog-the-system-s-workqueue" + # byName."input-cyttsp4-Fix-probe-oops" + # byName."video-fbdev-eInk-display-driver-for-A13-based-PocketBooks" + # byName."regulator-Add-simple-driver-for-enabling-a-regulator-from-users" + # byName."regulator-tp65185x-Add-tp65185x-eInk-panel-regulator-driver" + # byName."regulator-tp65185-Add-hwmon-device-for-reading-temperature" + # byName."iio-adc-sun4i-gpadc-iio-Allow-to-use-sun5i-a13-gpadc-iio-from-D" + # byName."mtd-spi-nor-Add-vdd-regulator-support" + # byName."ARM-dts-sun5i-Add-soc-handle" + # byName."ARM-dts-sun5i-Add-PocketBook-Touch-Lux-3-display-ctp-support" + # byName."ARM-dts-sun5i-a13-pocketbook-touch-lux-3-Add-RTC-clock-cells" + byName."arm64-dts-sun50i-a64-pinephone-Add-front-back-cameras" + byName."arm64-dts-sun50i-a64-pinephone-Add-Type-C-support-for-all-PP-va" + # byName."arm64-dts-sun50i-a64-pinephone-Add-modem-power-manager" + # byName."arm64-dts-sun50i-a64-pinephone-Fix-BH-modem-manager-behavior" + # byName."arm64-dts-sun50i-a64-pinephone-Add-detailed-OCV-to-capactiy-con" + # byName."arm64-dts-sun50i-a64-pinephone-Shorten-post-power-on-delay-on-m" + # byName."arm64-dts-sun50i-a64-pinephone-Add-mount-matrix-for-acceleromet" + # byName."arm64-dts-sun50i-a64-pinephone-Add-support-for-Bluetooth-audio" + # byName."arm64-dts-sun50i-a64-pinephone-Enable-internal-HMIC-bias" + # byName."arm64-dts-sun50i-a64-pinephone-Add-support-for-modem-audio" + # byName."arm64-dts-sun50i-a64-pinephone-Bump-I2C-frequency-to-400kHz" + # byName."arm64-dts-sun50i-a64-pinephone-Add-interrupt-pin-for-WiFi" + # byName."arm64-dts-sun50i-a64-pinephone-Power-off-the-touch-controller-i" + # byName."arm64-dts-sun50i-a64-pinephone-Don-t-make-lradc-keys-a-wakeup-s" + # byName."arm64-dts-sun50i-a64-pinephone-Set-minimum-backlight-duty-cycle" + # byName."arm64-dts-sun50i-a64-pinephone-Add-supply-for-i2c-bus-to-anx768" + # byName."arm64-dts-sun50i-a64-pinephone-Workaround-broken-HDMI-HPD-signa" + # byName."arm64-dts-sun50i-a64-pinephone-Add-AF8133J-to-PinePhone" + # byName."arm64-dts-sun50i-a64-pinephone-Add-mount-matrix-for-PinePhone-m" + # byName."arm64-dts-sun50i-a64-pinephone-Add-support-for-Pinephone-keyboa" + # byName."arm64-dts-sun50i-a64-pinephone-Enable-Pinephone-Keyboard-power-" + # byName."arm64-dts-sun50i-a64-pinephone-Add-support-for-Pinephone-1.2-be" + # byName."arm64-dts-sun50i-a64-pinephone-Add-power-supply-to-stk3311" + # byName."arm64-dts-sun50i-a64-pinephone-Add-reboot-mode-driver" + # byName."arm64-dts-sun50i-a64-pinephone-Use-newer-jack-detection-impleme" + # byName."arm64-dts-sun50-a64-pinephone-Define-jack-pins-in-DT" + # byName."dt-bindings-sound-Add-jack-type-property-to-sun8i-a33-codec" + # byName."ASoC-sun8i-codec-Allow-the-jack-type-to-be-set-via-device-tree" + # byName."ASoC-sun8i-codec-define-button-keycodes" + # byName."ASoC-sun8i-codec-Add-debug-output-for-jack-detection" + # byName."ASoC-sun8i-codec-Set-jack_type-from-DT-in-probe" + # byName."ASoC-simple-card-Allow-to-define-pins-for-aux-jack-devices" + # byName."clk-sunxi-ng-a64-Increase-PLL_AUDIO-base-frequency" + # byName."dt-bindings-mfd-Add-codec-related-properties-to-AC100-PMIC" + # byName."sound-soc-ac100-codec-Support-analog-part-of-X-Powers-AC100-cod" + # byName."sound-soc-sun8i-codec-Add-support-for-digital-part-of-the-AC100" + # byName."ASoC-ec25-New-codec-driver-for-the-EC25-modem" + # byName."ASOC-sun9i-hdmi-audio-Initial-implementation" + # byName."ARM-dts-sunxi-h3-h5-Add-hdmi-sound-card" + # byName."ARM-dts-sun8i-h3-Enable-hdmi-sound-card-on-boards-with-hdmi" + # byName."ARM-dts-sun8i-h2-plus-bananapi-m2-zero-Enable-HDMI-audio" + # byName."ARM-dts-sun8i-a83t-Add-hdmi-sound-card" + # byName."ARM-dts-sun8i-a83t-Enable-hdmi-sound-card-on-boards-with-hdmi" + # byName."ARM-dts-sun8i-r40-Add-hdmi-sound-card" + # byName."ARM-dts-sun8i-r40-bananapi-m2-ultra-Enable-HDMI-audio" + # byName."ARM-dts-sun8i-v40-bananapi-m2-berry-Enable-HDMI-audio" + # byName."arm64-dts-allwinner-h6-Add-hdmi-sound-card" + # byName."arm64-dts-allwinner-h6-Enable-hdmi-sound-card-on-boards-with-hd" + byName."arm64-dts-allwinner-a64-Add-hdmi-sound-card" + # byName."arm64-dts-allwinner-a64-Enable-hdmi-sound-card-on-boards-with-h" + # byName."arm64-dts-allwinner-h5-Enable-hdmi-sound-card-on-boards-with-hd" + # byName."arm64-dts-sun50i-a64-Set-fifo-size-for-uarts" + # byName."ARM-dts-sun8i-a83t-Set-fifo-size-for-uarts" + # byName."Mark-some-slow-drivers-for-async-probe-with-PROBE_PREFER_ASYNCH" + # byName."arm64-xor-Select-32regs-without-benchmark-to-speed-up-boot" + # byName."clk-Implement-protected-clocks-for-all-OF-clock-providers" + # byName."Revert-clk-qcom-Support-protected-clocks-property" + # byName."ARM-dts-sunxi-a83t-Protect-SCP-clocks" + # byName."ARM-dts-sunxi-h3-h5-Protect-SCP-clocks" + # byName."arm64-dts-allwinner-a64-Protect-SCP-clocks" + # byName."arm64-dts-allwinner-h6-Protect-SCP-clocks" + # byName."bus-sunxi-rsb-Always-check-register-address-validity" + # byName."firmware-arm_scpi-Support-unidirectional-mailbox-channels" + # byName."ARM-dts-sunxi-a83t-Add-SCPI-protocol" + # byName."ARM-dts-sunxi-h3-h5-Add-SCPI-protocol" + # byName."arm64-dts-allwinner-a64-Add-SCPI-protocol" + # byName."arm64-dts-allwinner-h6-Add-SCPI-protocol" + # byName."ARM-dts-sun8i-a83t-tbs-a711-Give-Linux-more-privileges-over-SCP" + # byName."rtc-sun6i-Allow-RTC-wakeup-after-shutdown" + # byName."misc-modem-power-Power-manager-for-modems" + # byName."ARM-dts-sun8i-a83t-Add-missing-GPU-trip-point" + # byName."arm64-dts-sun50i-h5-Add-missing-GPU-trip-point" + # byName."arm64-dts-sun50i-a64-Add-missing-trip-points-for-GPU" + # byName."arm64-dts-allwinner-a64-Fix-LRADC-compatible" + # byName."ASoC-codec-es8316-DAC-Soft-Ramp-Rate-is-just-a-2-bit-control" + # byName."spi-rockchip-Fix-runtime-PM-and-other-issues" + # byName."spi-fixes" + # byName."media-cedrus-Fix-failure-to-clean-up-hardware-on-probe-failure" + # byName."ASoC-rockchip-Fix-doubling-of-playback-speed-after-system-sleep" + # byName."usb-musb-sunxi-Avoid-enabling-host-side-code-on-SoCs-where-it-s" + # byName."arm64-dts-allwinner-Enforce-consistent-MMC-numbering" + # byName."ARM-dts-sunxi-Add-aliases-for-MMC" + # byName."drm-rockchip-Fix-panic-on-reboot-when-DRM-device-fails-to-bind" + # byName."usb-gadget-Fix-dangling-pointer-in-netdev-private-data" + # byName."Fix-for-usb-gadget-on-PP" + # byName."mmc-dw-mmc-rockchip-fix-sdmmc-after-soft-reboot" + # byName."Revert-drm-sun4i-lvds-Invert-the-LVDS-polarity" + # byName."of-property-fw_devlink-Support-allwinner-sram-links" + # byName."arm64-dts-rockchip-rk356x-Fix-PCIe-register-map-and-ranges" + # byName."Fix-intptr_t-typedef" + # byName."mmc-sunxi-mmc-Remove-runtime-PM" + # byName."pci-Workaround-ITS-timeouts-on-poweroff-reboot-on-Orange-Pi-5-P" + # byName."usb-serial-option-add-reset_resume-callback-for-WWAN-devices" + # byName."media-rkisp1-Adapt-to-different-SoCs-having-different-size-limi" + # byName."media-ov5648-Fix-call-to-pm_runtime_set_suspended" + # byName."drm-rockchip-dw-mipi-dsi-rockchip-Fix-ISP1-PHY-initialization" + # byName."drm-rockchip-dw-mipi-dsi-rockchip-Restore-DPHY-config-on-resume" + # byName."bluetooth-h5-Don-t-re-initialize-rtl8723cs-on-resume" + # byName."drm-sun4i-Unify-sun8i_-_layer-structs" + # byName."drm-sun4i-Add-more-parameters-to-sunxi_engine-commit-callback" + # byName."drm-sun4i-Fix-layer-zpos-change-atomic-modesetting" + # byName."drm-sun4i-drm-Change-update_bits-to-write" + # byName."drm-sun4i-Mark-one-of-the-UI-planes-as-a-cursor-one" + # byName."drm-sun4i-Implement-gamma-correction" + # byName."drm-panel-st7703-Fix-xbd599-timings-to-make-refresh-rate-exactl" + # byName."drm-sun4i-Support-taking-over-display-pipeline-state-from-p-boo" + # byName."video-pwm_bl-Allow-to-change-lth_brightness-via-sysfs" + # byName."clk-sunxi-ng-sun50i-a64-Switch-parent-of-MIPI-DSI-to-periph0-1x" + # byName."drm-sun4i-tcon-Support-keeping-dclk-rate-upon-ancestor-clock-ch" + # byName."phy-allwinner-sun4i-usb-Add-support-for-usb_role_switch" + # byName."regulator-axp20x-Add-support-for-vin-supply-for-drivevbus" + # byName."regulator-axp20x-Turn-N_VBUSEN-to-input-on-x-powers-sense-vbus-" + # byName."drm-bridge-dw-hdmi-Allow-to-accept-HPD-status-from-other-driver" + # byName."drm-bridge-dw-hdmi-Report-HDMI-hotplug-events" + byName."usb-typec-anx7688-Add-driver-for-ANX7688-USB-C-HDMI-bridge" + byName."usb-typec-anx7688-Port-to-Linux-6.9" + byName."usb-typec-anx7688-Port-to-Linux-6.10" + # byName."dt-bindings-axp20x-adc-allow-to-use-TS-pin-as-GPADC" + # byName."iio-adc-axp20x_adc-allow-to-set-TS-pin-to-GPADC-mode" + # byName."power-axp20x_battery-Allow-to-set-target-voltage-to-4.35V" + # byName."power-supply-axp20x_battery-Add-support-for-reporting-OCV" + # byName."regulator-axp20x-Enable-over-temperature-protection-and-16s-res" + # byName."power-supply-axp20x_battery-Setup-thermal-regulation-experiment" + # byName."power-supply-axp20x_battery-Fix-charging-done-detection" + # byName."mfd-axp20x-Add-battery-IRQ-resources" + # byName."power-supply-axp20x_battery-Send-uevents-for-status-changes" + # byName."power-supply-axp20x_battery-Monitor-battery-health" + # byName."power-supply-axp20x-usb-power-Change-Vbus-hold-voltage-to-4.5V" + # byName."power-axp803-Add-interrupts-for-low-battery-power-condition" + # byName."power-supply-axp20x-battery-Support-POWER_SUPPLY_PROP_CHARGE_BE" + # byName."power-supply-axp20x-battery-Enable-poweron-by-RTC-alarm" + # byName."power-supply-axp20x-battery-Add-support-for-POWER_SUPPLY_PROP_E" + # byName."power-supply-Add-support-for-USB_BC_ENABLED-and-USB_DCP_INPUT_C" + # byName."power-supply-axp20x-usb-power-Add-missing-interrupts" + # byName."sunxi-Use-dev_err_probe-to-handle-EPROBE_DEFER-errors" + # byName."thermal-sun8i-Be-loud-when-probe-fails" + # byName."i2c-mv64xxx-Don-t-make-a-fuss-when-pinctrl-recovery-state-is-no" + # byName."iio-st_sensors-Don-t-report-error-when-the-device-is-not-presen" + # byName."opp-core-Avoid-confusing-error-when-no-regulator-is-defined-in-" + # byName."rtc-Print-which-error-caused-RTC-read-failure" + # byName."arm64-dts-allwinner-a64-pinetab-add-front-camera" + # byName."arm64-allwinner-dts-a64-enable-K101-IM2BYL02-panel-for-PineTab" + # byName."arm64-dts-sun50i-a64-pinetab-Name-sound-card-PineTab" + # byName."arm64-dts-sun50i-a64-pinetab-Add-accelerometer" + # byName."arm64-dts-sun50i-a64-pinetab-enable-RTL8723CS-bluetooth" + # byName."usb-typec-fusb302-Slightly-increase-wait-time-for-BC1.2-result" + # byName."usb-typec-fusb302-Set-the-current-before-enabling-pullups" + # byName."usb-typec-fusb302-Extend-debugging-interface-with-driver-state-" + # byName."usb-typec-fusb302-Retry-reading-of-CC-pins-status-if-activity-i" + # byName."usb-typec-fusb302-More-useful-of-logging-status-on-interrupt" + # byName."usb-typec-fusb302-Update-VBUS-state-even-if-VBUS-interrupt-is-n" + # byName."usb-typec-fusb302-Add-OF-extcon-support" + # byName."usb-typec-fusb302-Fix-register-definitions" + # byName."usb-typec-fusb302-Clear-interrupts-before-we-start-toggling" + # byName."usb-typec-typec-extcon-Add-typec-extcon-bridge-driver" + # byName."usb-typec-typec-extcon-Enable-debugging-for-now" + # byName."usb-typec-typec-extcon-Allow-to-force-reset-on-each-mux-change" + # byName."Revert-usb-typec-tcpm-unregister-existing-source-caps-before-re" + # byName."usb-typec-altmodes-displayport-Respect-DP_CAP_RECEPTACLE-bit" + # byName."usb-typec-tcpm-Unregister-altmodes-before-registering-new-ones" + # byName."usb-typec-tcpm-Fix-PD-devices-capabilities-registration" + # byName."usb-typec-tcpm-Improve-logs" + # byName."Make-microbuttons-on-Orange-Pi-PC-and-PC-2-work-as-power-off-bu" + # byName."Add-support-for-my-private-Sapomat-device" + # byName."ARM-dts-sun8i-h3-orange-pi-one-Enable-all-gpio-header-UARTs" + # byName."mtd-spi-nor-Add-Alliance-memory-support" + # byName."Add-README.md-with-information-and-u-boot-patches" + # byName."Defconfigs-for-all-my-devices" + # byName."Update-defconfigs" + ]; + # nixpkgs.hostPlatform.linux-kernel becomes stdenv.hostPlatform.linux-kernel # ^ but only if using flakes (or rather, if *not* using `nixpkgs.nixos` to construct the host config) # nixpkgs.hostPlatform.linux-kernel = { @@ -255,7 +589,7 @@ in # rtl_bt = false probably means no bluetooth connectivity. # N.B.: DON'T RE-ENABLE without first confirming that wake-on-lan works during suspend (rtcwake). # it seems the rtl_bt stuff ("bluetooth coexist") might make wake-on-LAN radically more flaky. - # rtl_bt = false; + rtl_bt = false; }) ];