diff --git a/flake.nix b/flake.nix index 1c2c3f5..ee7fce7 100644 --- a/flake.nix +++ b/flake.nix @@ -100,11 +100,11 @@ nixpkgs.config.allowUnfree = true; boot.loader.raspberry-pi.bootloader = "kernel"; } - # Kernel patch: BURST-only (remove SYNC_PULSE) + # Kernel patch: VIDEO only (no BURST, no SYNC_PULSE) ({ lib, ... }: { boot.kernelPatches = [{ - name = "panel-cwu50-remove-sync-pulse"; - patch = ./patches/0008-panel-cwu50-remove-sync-pulse.patch; + name = "panel-cwu50-no-burst-no-sync-pulse"; + patch = ./patches/0008-panel-cwu50-no-burst-no-sync-pulse.patch; }]; }) nixos-raspberrypi.nixosModules.nixpkgs-rpi diff --git a/patches/0008-panel-cwu50-no-burst-no-sync-pulse.patch b/patches/0008-panel-cwu50-no-burst-no-sync-pulse.patch new file mode 100644 index 0000000..3fd90a1 --- /dev/null +++ b/patches/0008-panel-cwu50-no-burst-no-sync-pulse.patch @@ -0,0 +1,11 @@ +--- a/drivers/gpu/drm/panel/panel-cwu50.c ++++ b/drivers/gpu/drm/panel/panel-cwu50.c +@@ -622,7 +622,7 @@ static int cwu50_probe(struct mipi_dsi_device *dsi) + + dsi->lanes = 4; + dsi->format = MIPI_DSI_FMT_RGB888; +- dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_VIDEO_SYNC_PULSE; ++ dsi->mode_flags = MIPI_DSI_MODE_VIDEO; + + ctx->id_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_IN); + if (IS_ERR(ctx->id_gpio)) {