From a6612d8e1ad847e8d264058d8a37a46b83f918dc Mon Sep 17 00:00:00 2001 From: digitalLumberjack Date: Sat, 13 Jul 2024 14:49:01 +0200 Subject: [PATCH 01/20] chore(beta): add union merge for RELEASE-NOTES.md --- .gitattributes | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..7c4705ccf3 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +RELEASE-NOTES.md merge=union -- GitLab From ef91c2a95403b6833b5cd373ef0cdc2703a724f2 Mon Sep 17 00:00:00 2001 From: Bkg2k Date: Sun, 7 Jul 2024 07:49:44 +0200 Subject: [PATCH 02/20] fix(core): fix dat files for flycast & flycast-next --- ...ave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat} | 0 ...ave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt} | 0 ...ave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst} | 0 ...ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers} | 0 ...92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original} | 0 ...omi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat} | 0 ...omi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt} | 0 ...omi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst} | 0 ...ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers} | 0 ...92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original} | 0 ...mi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat} | 0 ...mi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt} | 0 ...mi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst} | 0 ...ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers} | 0 ...92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original} | 0 ...igd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat} | 0 ...igd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt} | 0 ...igd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst} | 0 ...ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers} | 0 ...92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original} | 0 package/libretro-flycast-next/libretro-flycast-next.mk | 8 ++++---- package/recalbox-romfs2/systems/atomiswave/system.ini | 2 +- package/recalbox-romfs2/systems/naomi/system.ini | 2 +- package/recalbox-romfs2/systems/naomi2/system.ini | 2 +- package/recalbox-romfs2/systems/naomigd/system.ini | 2 +- 25 files changed, 8 insertions(+), 8 deletions(-) rename package/arcade-dats/precompiled/{atomiswave-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat => atomiswave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat} (100%) rename package/arcade-dats/precompiled/{atomiswave-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt => atomiswave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt} (100%) rename package/arcade-dats/precompiled/{atomiswave-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst => atomiswave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst} (100%) rename package/arcade-dats/precompiled/{atomiswave-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers => atomiswave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers} (100%) rename package/arcade-dats/precompiled/{atomiswave-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original => atomiswave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original} (100%) rename package/arcade-dats/precompiled/{naomi-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat => naomi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat} (100%) rename package/arcade-dats/precompiled/{naomi-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt => naomi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt} (100%) rename package/arcade-dats/precompiled/{naomi-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst => naomi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst} (100%) rename package/arcade-dats/precompiled/{naomi-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers => naomi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers} (100%) rename package/arcade-dats/precompiled/{naomi-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original => naomi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original} (100%) rename package/arcade-dats/precompiled/{naomi2-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat => naomi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat} (100%) rename package/arcade-dats/precompiled/{naomi2-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt => naomi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt} (100%) rename package/arcade-dats/precompiled/{naomi2-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst => naomi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst} (100%) rename package/arcade-dats/precompiled/{naomi2-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers => naomi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers} (100%) rename package/arcade-dats/precompiled/{naomi2-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original => naomi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original} (100%) rename package/arcade-dats/precompiled/{naomigd-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat => naomigd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat} (100%) rename package/arcade-dats/precompiled/{naomigd-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt => naomigd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt} (100%) rename package/arcade-dats/precompiled/{naomigd-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst => naomigd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst} (100%) rename package/arcade-dats/precompiled/{naomigd-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers => naomigd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers} (100%) rename package/arcade-dats/precompiled/{naomigd-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original => naomigd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original} (100%) diff --git a/package/arcade-dats/precompiled/atomiswave-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat b/package/arcade-dats/precompiled/atomiswave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat similarity index 100% rename from package/arcade-dats/precompiled/atomiswave-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat rename to package/arcade-dats/precompiled/atomiswave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat diff --git a/package/arcade-dats/precompiled/atomiswave-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt b/package/arcade-dats/precompiled/atomiswave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt similarity index 100% rename from package/arcade-dats/precompiled/atomiswave-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt rename to package/arcade-dats/precompiled/atomiswave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt diff --git a/package/arcade-dats/precompiled/atomiswave-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst b/package/arcade-dats/precompiled/atomiswave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst similarity index 100% rename from package/arcade-dats/precompiled/atomiswave-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst rename to package/arcade-dats/precompiled/atomiswave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst diff --git a/package/arcade-dats/precompiled/atomiswave-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers b/package/arcade-dats/precompiled/atomiswave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers similarity index 100% rename from package/arcade-dats/precompiled/atomiswave-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers rename to package/arcade-dats/precompiled/atomiswave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers diff --git a/package/arcade-dats/precompiled/atomiswave-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original b/package/arcade-dats/precompiled/atomiswave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original similarity index 100% rename from package/arcade-dats/precompiled/atomiswave-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original rename to package/arcade-dats/precompiled/atomiswave-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original diff --git a/package/arcade-dats/precompiled/naomi-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat b/package/arcade-dats/precompiled/naomi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat similarity index 100% rename from package/arcade-dats/precompiled/naomi-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat rename to package/arcade-dats/precompiled/naomi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat diff --git a/package/arcade-dats/precompiled/naomi-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt b/package/arcade-dats/precompiled/naomi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt similarity index 100% rename from package/arcade-dats/precompiled/naomi-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt rename to package/arcade-dats/precompiled/naomi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt diff --git a/package/arcade-dats/precompiled/naomi-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst b/package/arcade-dats/precompiled/naomi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst similarity index 100% rename from package/arcade-dats/precompiled/naomi-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst rename to package/arcade-dats/precompiled/naomi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst diff --git a/package/arcade-dats/precompiled/naomi-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers b/package/arcade-dats/precompiled/naomi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers similarity index 100% rename from package/arcade-dats/precompiled/naomi-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers rename to package/arcade-dats/precompiled/naomi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers diff --git a/package/arcade-dats/precompiled/naomi-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original b/package/arcade-dats/precompiled/naomi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original similarity index 100% rename from package/arcade-dats/precompiled/naomi-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original rename to package/arcade-dats/precompiled/naomi-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original diff --git a/package/arcade-dats/precompiled/naomi2-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat b/package/arcade-dats/precompiled/naomi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat similarity index 100% rename from package/arcade-dats/precompiled/naomi2-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat rename to package/arcade-dats/precompiled/naomi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat diff --git a/package/arcade-dats/precompiled/naomi2-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt b/package/arcade-dats/precompiled/naomi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt similarity index 100% rename from package/arcade-dats/precompiled/naomi2-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt rename to package/arcade-dats/precompiled/naomi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt diff --git a/package/arcade-dats/precompiled/naomi2-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst b/package/arcade-dats/precompiled/naomi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst similarity index 100% rename from package/arcade-dats/precompiled/naomi2-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst rename to package/arcade-dats/precompiled/naomi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst diff --git a/package/arcade-dats/precompiled/naomi2-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers b/package/arcade-dats/precompiled/naomi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers similarity index 100% rename from package/arcade-dats/precompiled/naomi2-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers rename to package/arcade-dats/precompiled/naomi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers diff --git a/package/arcade-dats/precompiled/naomi2-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original b/package/arcade-dats/precompiled/naomi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original similarity index 100% rename from package/arcade-dats/precompiled/naomi2-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original rename to package/arcade-dats/precompiled/naomi2-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original diff --git a/package/arcade-dats/precompiled/naomigd-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat b/package/arcade-dats/precompiled/naomigd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat similarity index 100% rename from package/arcade-dats/precompiled/naomigd-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat rename to package/arcade-dats/precompiled/naomigd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.dat diff --git a/package/arcade-dats/precompiled/naomigd-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt b/package/arcade-dats/precompiled/naomigd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt similarity index 100% rename from package/arcade-dats/precompiled/naomigd-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt rename to package/arcade-dats/precompiled/naomigd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.fdt diff --git a/package/arcade-dats/precompiled/naomigd-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst b/package/arcade-dats/precompiled/naomigd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst similarity index 100% rename from package/arcade-dats/precompiled/naomigd-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst rename to package/arcade-dats/precompiled/naomigd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst diff --git a/package/arcade-dats/precompiled/naomigd-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers b/package/arcade-dats/precompiled/naomigd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers similarity index 100% rename from package/arcade-dats/precompiled/naomigd-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers rename to package/arcade-dats/precompiled/naomigd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.manufacturers diff --git a/package/arcade-dats/precompiled/naomigd-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original b/package/arcade-dats/precompiled/naomigd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original similarity index 100% rename from package/arcade-dats/precompiled/naomigd-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original rename to package/arcade-dats/precompiled/naomigd-next-92a10ba0f0a5ca0d1ec9498962002f4cdcc8e7f6.lst.original diff --git a/package/libretro-flycast-next/libretro-flycast-next.mk b/package/libretro-flycast-next/libretro-flycast-next.mk index e73277f192..dfe43bb38c 100644 --- a/package/libretro-flycast-next/libretro-flycast-next.mk +++ b/package/libretro-flycast-next/libretro-flycast-next.mk @@ -38,10 +38,10 @@ endif LIBRETRO_FLYCAST_NEXT_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(COMPILER_COMMONS_CXXFLAGS_EXE) $(LIBRETRO_FLYCAST_NEXT_SIDE_LIBS)" define LIBRETRO_FLYCAST_NEXT_INSTALL_TARGET_CMDS - $(call InstallArcadeFiles,libretro,naomi,$(LIBRETRO_FLYCAST_NEXT_VERSION)) - $(call InstallArcadeFiles,libretro,naomi2,$(LIBRETRO_FLYCAST_NEXT_VERSION)) - $(call InstallArcadeFiles,libretro,naomigd,$(LIBRETRO_FLYCAST_NEXT_VERSION)) - $(call InstallArcadeFiles,libretro,atomiswave,$(LIBRETRO_FLYCAST_NEXT_VERSION)) + $(call InstallArcadeFiles,libretro,naomi-next,$(LIBRETRO_FLYCAST_NEXT_VERSION)) + $(call InstallArcadeFiles,libretro,naomi2-next,$(LIBRETRO_FLYCAST_NEXT_VERSION)) + $(call InstallArcadeFiles,libretro,naomigd-next,$(LIBRETRO_FLYCAST_NEXT_VERSION)) + $(call InstallArcadeFiles,libretro,atomiswave-next,$(LIBRETRO_FLYCAST_NEXT_VERSION)) $(INSTALL) -D $(@D)/flycast_libretro.so \ $(TARGET_DIR)/usr/lib/libretro/flycast-next_libretro.so diff --git a/package/recalbox-romfs2/systems/atomiswave/system.ini b/package/recalbox-romfs2/systems/atomiswave/system.ini index d552104671..85f416e63b 100644 --- a/package/recalbox-romfs2/systems/atomiswave/system.ini +++ b/package/recalbox-romfs2/systems/atomiswave/system.ini @@ -70,5 +70,5 @@ softpatching = 0 compatibility = high speed = high crt.available = 1 -arcade.file = atomiswave.lst +arcade.file = atomiswave-next.lst arcade.ignore = diff --git a/package/recalbox-romfs2/systems/naomi/system.ini b/package/recalbox-romfs2/systems/naomi/system.ini index 175d2c1bab..e4ed2c51d4 100644 --- a/package/recalbox-romfs2/systems/naomi/system.ini +++ b/package/recalbox-romfs2/systems/naomi/system.ini @@ -64,5 +64,5 @@ softpatching = 0 compatibility = high speed = high crt.available = 1 -arcade.file = naomi.lst +arcade.file = naomi-next.lst arcade.ignore = diff --git a/package/recalbox-romfs2/systems/naomi2/system.ini b/package/recalbox-romfs2/systems/naomi2/system.ini index 738a10b4a7..bf31a91924 100644 --- a/package/recalbox-romfs2/systems/naomi2/system.ini +++ b/package/recalbox-romfs2/systems/naomi2/system.ini @@ -58,6 +58,6 @@ netplay = 0 softpatching = 0 compatibility = high speed = high -arcade.file = naomi2.lst +arcade.file = naomi2-next.lst arcade.ignore = crt.available = 1 \ No newline at end of file diff --git a/package/recalbox-romfs2/systems/naomigd/system.ini b/package/recalbox-romfs2/systems/naomigd/system.ini index 6a83a313e7..fda93810a3 100644 --- a/package/recalbox-romfs2/systems/naomigd/system.ini +++ b/package/recalbox-romfs2/systems/naomigd/system.ini @@ -50,7 +50,7 @@ softpatching = 0 compatibility = high speed = high crt.available = 1 -arcade.file = naomigd.lst +arcade.file = naomigd-next.lst arcade.ignore = [core.1] -- GitLab From 8da7f6e8a854d084c46ee3083daf78ee3baba866 Mon Sep 17 00:00:00 2001 From: Bkg2k Date: Sun, 7 Jul 2024 13:03:58 +0200 Subject: [PATCH 03/20] fix(frontend): fix scraper not saving xmls when scraping virtual systems --- projects/frontend/es-app/src/guis/GuiScraperRun.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/projects/frontend/es-app/src/guis/GuiScraperRun.cpp b/projects/frontend/es-app/src/guis/GuiScraperRun.cpp index 1ac42df781..ce66b3079a 100644 --- a/projects/frontend/es-app/src/guis/GuiScraperRun.cpp +++ b/projects/frontend/es-app/src/guis/GuiScraperRun.cpp @@ -147,8 +147,7 @@ void GuiScraperRun::finish() { mScraper->Abort(true); Terminate(); - for(const auto& systemData : mSearchQueue) - systemData->UpdateGamelistXml(); + mSystemManager.UpdateAllGameLists(); mWindow.CloseAll(); /*switch(mResult) { -- GitLab From c4d557858bb1a8b6c24c680cd67770fee963e1b0 Mon Sep 17 00:00:00 2001 From: Bkg2k Date: Tue, 9 Jul 2024 08:35:43 +0200 Subject: [PATCH 04/20] fix(frontend): fix multiple update popups --- projects/frontend/es-app/src/Upgrade.cpp | 12 ++------ projects/frontend/es-app/src/Upgrade.h | 36 ++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/projects/frontend/es-app/src/Upgrade.cpp b/projects/frontend/es-app/src/Upgrade.cpp index e3ed67e543..70faca6c25 100755 --- a/projects/frontend/es-app/src/Upgrade.cpp +++ b/projects/frontend/es-app/src/Upgrade.cpp @@ -13,8 +13,6 @@ #include "RecalboxConf.h" #include "utils/locale/LocaleHelper.h" #include "recalbox/RecalboxSystem.h" -#include "guis/GuiMsgBox.h" -#include "guis/GuiMsgBoxScroll.h" #include "guis/GuiUpdateRecalbox.h" #include #include @@ -25,6 +23,8 @@ String Upgrade::mLocalVersion; String Upgrade::mRemoteReleaseNote; String Upgrade::mLocalReleaseNote; +Upgrade::UpdatePopup* Upgrade::UpdatePopup::mInstance = nullptr; + Upgrade::Upgrade(WindowManager& window) : mWindow(window) , mSender(*this) @@ -120,13 +120,7 @@ void Upgrade::ReceiveSyncMessage() // Messagebox if (!mMessageBoxMessage.empty()) - { - //mWindow.displayScrollMessage(_("AN UPDATE IS AVAILABLE FOR YOUR RECALBOX"), mMessageBoxMessage, false); - Gui* gui = new GuiMsgBoxScroll(mWindow, _("AN UPDATE IS AVAILABLE FOR YOUR RECALBOX"), mMessageBoxMessage, _("LATER"), nullptr, _("UPDATE NOW"), - [this] { mWindow.pushGui(new GuiUpdateRecalbox(mWindow, TarUrl(), ImageUrl(), HashUrl(), NewVersion())); }, - String::Empty, nullptr, TextAlignment::Left); - mWindow.pushGui(gui); - } + UpdatePopup::Show(&mWindow, mMessageBoxMessage); } String Upgrade::GetDomainName() diff --git a/projects/frontend/es-app/src/Upgrade.h b/projects/frontend/es-app/src/Upgrade.h index 2b9e41ce6f..742e5548dc 100644 --- a/projects/frontend/es-app/src/Upgrade.h +++ b/projects/frontend/es-app/src/Upgrade.h @@ -4,6 +4,10 @@ #include #include #include +#include +#include +#include +#include "utils/locale/LocaleHelper.h" // Forward declaration class WindowManager; @@ -90,6 +94,38 @@ class Upgrade: private Thread static bool NetworkReady() { return !GetDomainName().empty(); } private: + class UpdatePopup : public GuiMsgBoxScroll + { + public: + //! Build & show the popup if it does not already exists + static void Show(WindowManager* window, const String& message) + { + if (mInstance == nullptr) + { + mInstance = new UpdatePopup(window, message); + window->pushGui(mInstance); + } + } + + /// Destructor - remove unique instance + ~UpdatePopup() { mInstance = nullptr; } + + private: + //! Static unitary instance + static UpdatePopup* mInstance; + + //! Launch update window + static void LaunchUpdate(WindowManager* window) + { + window->pushGui(new GuiUpdateRecalbox(*window, TarUrl(), ImageUrl(), HashUrl(), NewVersion())); + } + + //! Default constructor + UpdatePopup(WindowManager* window, const String& message) + : GuiMsgBoxScroll(*window, _("AN UPDATE IS AVAILABLE FOR YOUR RECALBOX"), message, _("LATER"), nullptr, _("UPDATE NOW"), + std::bind(UpdatePopup::LaunchUpdate, window), String::Empty, nullptr, TextAlignment::Left) {} + }; + //! Release DNS static constexpr const char* sUpgradeDNS = ".download.recalbox.com"; -- GitLab From ae7e3cb9ee532c7cded6db36681c5db3fac9dc56 Mon Sep 17 00:00:00 2001 From: Bkg2k Date: Tue, 9 Jul 2024 08:42:32 +0200 Subject: [PATCH 05/20] fix(frontend): do not check update immediately when relaunched --- projects/frontend/es-app/src/MainRunner.cpp | 2 +- projects/frontend/es-app/src/Upgrade.cpp | 5 +++-- projects/frontend/es-app/src/Upgrade.h | 5 ++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/projects/frontend/es-app/src/MainRunner.cpp b/projects/frontend/es-app/src/MainRunner.cpp index df40effb0d..7727f1cde4 100644 --- a/projects/frontend/es-app/src/MainRunner.cpp +++ b/projects/frontend/es-app/src/MainRunner.cpp @@ -172,7 +172,7 @@ MainRunner::ExitState MainRunner::Run() // Start update thread { LOG(LogDebug) << "[MainRunner] Launching Network thread"; } - Upgrade networkThread(window); + Upgrade networkThread(window, mRunCount == 0); // Start the socket server { LOG(LogDebug) << "[MainRunner] Launching Command thread"; } CommandThread commandThread(systemManager); diff --git a/projects/frontend/es-app/src/Upgrade.cpp b/projects/frontend/es-app/src/Upgrade.cpp index 70faca6c25..f40d768aa5 100755 --- a/projects/frontend/es-app/src/Upgrade.cpp +++ b/projects/frontend/es-app/src/Upgrade.cpp @@ -25,9 +25,10 @@ String Upgrade::mLocalReleaseNote; Upgrade::UpdatePopup* Upgrade::UpdatePopup::mInstance = nullptr; -Upgrade::Upgrade(WindowManager& window) +Upgrade::Upgrade(WindowManager& window, bool firstRun) : mWindow(window) , mSender(*this) + , mFirstRun(firstRun) { Thread::Start("Upgrade"); } @@ -46,7 +47,7 @@ void Upgrade::Run() PatronInfo::Instance().WaitForAuthentication(*this); // First check at 15s - int waitForSeconds = 15; + int waitForSeconds = mFirstRun ? 15 : 3600; while (IsRunning()) { if (mSignal.WaitSignal(waitForSeconds * 1000LL)) return; diff --git a/projects/frontend/es-app/src/Upgrade.h b/projects/frontend/es-app/src/Upgrade.h index 742e5548dc..0423f1eb3b 100644 --- a/projects/frontend/es-app/src/Upgrade.h +++ b/projects/frontend/es-app/src/Upgrade.h @@ -28,8 +28,9 @@ class Upgrade: private Thread /*! * @brief Constructor * @param window main Window + * @param firstRun True if the front end just lauched, false otherwise */ - explicit Upgrade(WindowManager& window); + explicit Upgrade(WindowManager& window, bool firstRun); /*! * @brief Destructor @@ -157,6 +158,8 @@ class Upgrade: private Thread static String mRemoteReleaseNote; //! Local version static String mLocalReleaseNote; + //! First run? + bool mFirstRun; /* * Thread implementation -- GitLab From a3afecd9b51f34eedb1e599e2d40a14f8c6c07d4 Mon Sep 17 00:00:00 2001 From: Bkg2k Date: Tue, 9 Jul 2024 08:51:40 +0200 Subject: [PATCH 06/20] fix(frontend): do not autoscrape when the scraper runs in background --- projects/frontend/es-app/src/guis/GuiScraperRun.h | 1 + .../es-app/src/views/gamelist/DetailedGameListView.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/projects/frontend/es-app/src/guis/GuiScraperRun.h b/projects/frontend/es-app/src/guis/GuiScraperRun.h index 6160c57806..bcb3abbc48 100644 --- a/projects/frontend/es-app/src/guis/GuiScraperRun.h +++ b/projects/frontend/es-app/src/guis/GuiScraperRun.h @@ -8,6 +8,7 @@ #include #include "components/ProgressBarComponent.h" #include +#include class ScraperSearchComponent; class TextComponent; diff --git a/projects/frontend/es-app/src/views/gamelist/DetailedGameListView.cpp b/projects/frontend/es-app/src/views/gamelist/DetailedGameListView.cpp index d2609925d3..efeb6eb0e6 100755 --- a/projects/frontend/es-app/src/views/gamelist/DetailedGameListView.cpp +++ b/projects/frontend/es-app/src/views/gamelist/DetailedGameListView.cpp @@ -4,6 +4,7 @@ #include "animations/LambdaAnimation.h" #include "scraping/ScraperSeamless.h" #include "recalbox/RecalboxStorageWatcher.h" +#include "guis/GuiScraperRun.h" DetailedGameListView::DetailedGameListView(WindowManager&window, SystemManager& systemManager, SystemData& system, const IGlobalVariableResolver& resolver, FlagCaches& flagCache) : ISimpleGameListView(window, systemManager, system, resolver, flagCache) @@ -597,7 +598,7 @@ void DetailedGameListView::Update(int deltatime) if (mList.isScrolling()) mVideo.setVideo(Path::Empty); - if (!mSystem.IsScreenshots()) + if (!mSystem.IsScreenshots() && !GuiScraperRun::IsRunning()) { // Need busy animation? ScraperSeamless& scraper = ScraperSeamless::Instance(); -- GitLab From 5e06b47a8a16257d2364b0f7b0221a0f555d08b0 Mon Sep 17 00:00:00 2001 From: Bkg2k Date: Mon, 15 Jul 2024 16:28:15 +0200 Subject: [PATCH 07/20] fix(frontend): close scraper & save gamelists on shutdown/reboot --- projects/frontend/es-app/src/MainRunner.cpp | 2 ++ .../es-app/src/guis/GuiScraperRun.cpp | 23 +++++++++++++++---- .../frontend/es-app/src/guis/GuiScraperRun.h | 11 ++++++--- 3 files changed, 28 insertions(+), 8 deletions(-) diff --git a/projects/frontend/es-app/src/MainRunner.cpp b/projects/frontend/es-app/src/MainRunner.cpp index 7727f1cde4..5202d1d1e4 100644 --- a/projects/frontend/es-app/src/MainRunner.cpp +++ b/projects/frontend/es-app/src/MainRunner.cpp @@ -38,6 +38,7 @@ #include #include #include +#include MainRunner::ExitState MainRunner::sRequestedExitState = MainRunner::ExitState::Quit; bool MainRunner::sQuitRequested = false; @@ -212,6 +213,7 @@ MainRunner::ExitState MainRunner::Run() // Main SDL loop exitState = MainLoop(window, systemManager, fileNotifier, mSyncMessageFactory); + GuiScraperRun::Abort(); ResetExitState(); fileNotifier.ResetEventNotifier(); DeleteReadyFlagFile(); diff --git a/projects/frontend/es-app/src/guis/GuiScraperRun.cpp b/projects/frontend/es-app/src/guis/GuiScraperRun.cpp index ce66b3079a..4ad79bf607 100644 --- a/projects/frontend/es-app/src/guis/GuiScraperRun.cpp +++ b/projects/frontend/es-app/src/guis/GuiScraperRun.cpp @@ -43,10 +43,22 @@ void GuiScraperRun::Hide(WindowManager& window) } } -void GuiScraperRun::Terminate() +void GuiScraperRun::Abort() { if (sInstance != nullptr) + { + sInstance->TerminateScraping(); + TerminateGui(); + } +} + +void GuiScraperRun::TerminateGui() +{ + if (sInstance != nullptr) + { + Show(sInstance->mWindow); sInstance->Close(); + } sInstance = nullptr; } @@ -109,7 +121,8 @@ GuiScraperRun::GuiScraperRun(WindowManager& window, SystemManager& systemManager std::vector> buttons { - mButton = std::make_shared(mWindow, _("STOP"), _("stop (progress saved)"), std::bind(&GuiScraperRun::finish, this)), + mButton = std::make_shared(mWindow, _("STOP"), _("stop (progress saved)"), std::bind( + &GuiScraperRun::TerminateScraping, this)), mRunInBgButton = std::make_shared(mWindow, _("RUN IN BACKGROUND"), _("RUN IN BACKGROUND"), [this] { GuiScraperRun::Hide(mWindow); }) }; mButtonGrid = MenuComponent::MakeButtonGrid(mWindow, buttons); @@ -143,10 +156,10 @@ void GuiScraperRun::onSizeChanged() mGrid.setSize(mSize); } -void GuiScraperRun::finish() +void GuiScraperRun::TerminateScraping() { mScraper->Abort(true); - Terminate(); + TerminateGui(); mSystemManager.UpdateAllGameLists(); mWindow.CloseAll(); /*switch(mResult) @@ -319,7 +332,7 @@ void GuiScraperRun::ScrapingComplete(ScrapeResult reason, MetadataType changedMe if (mWindow.InfoPopupIsShown(&mPopup) || mLowResolution) { String text = mLowResolution ? _("Your scraping session completed!") : _("Your scraping session completed. Press OK to show the results."); - GuiMsgBox* msgBox = new GuiMsgBox(mWindow, text, _("OK"), [this] { if (mLowResolution) Terminate(); else Show(mWindow); mButtonGrid->resetCursor(); }); + GuiMsgBox* msgBox = new GuiMsgBox(mWindow, text, _("OK"), [this] { if (mLowResolution) TerminateGui(); else Show(mWindow); mButtonGrid->resetCursor(); }); mWindow.pushGui(msgBox); } } diff --git a/projects/frontend/es-app/src/guis/GuiScraperRun.h b/projects/frontend/es-app/src/guis/GuiScraperRun.h index bcb3abbc48..a7cc727040 100644 --- a/projects/frontend/es-app/src/guis/GuiScraperRun.h +++ b/projects/frontend/es-app/src/guis/GuiScraperRun.h @@ -46,10 +46,15 @@ class GuiScraperRun : public Gui static bool IsRunning() { return sInstance != nullptr; } /*! - * @brief Terminate the running instance + * @brief Abort scraping immediately + */ + static void Abort(); + + /*! + * @brief TerminateGui the running instance * @param window Window manager */ - static void Terminate(); + static void TerminateGui(); //! Destructor ~GuiScraperRun() override = default; @@ -68,7 +73,7 @@ class GuiScraperRun : public Gui */ GuiScraperRun(WindowManager& window, SystemManager& systemManager, const SystemManager::List& systems, ScrapingMethod method, IScraperEngineFreezer* freezer, bool lowResolution); - void finish(); + void TerminateScraping(); //! Instance static GuiScraperRun* sInstance; -- GitLab From bb979f647f443d69e079127b83bd95a9bec1580d Mon Sep 17 00:00:00 2001 From: Bkg2k Date: Sat, 13 Jul 2024 14:03:06 +0200 Subject: [PATCH 08/20] feat: update release notes --- RELEASE-NOTES.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 7b0e96e898..a753e2a260 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -5,6 +5,17 @@ The text, located between the first `## Version XXX` and the second one, will ap as release notes for end user on a Recalbox upgrade. +## Version 9.2.2-Pulstar + +### Fixes +- Fix data files, and game recognition in systems using Flycast & Flycast-Next cores +- Fix scraper not saving all gamelists when scraping virtual systems +- Fix multiple update pop when exiting screensaver +- Fix immediate update check after relaunching the interface +- Fix crash/freeze with auto-scraper conflicting with background scraping +- Fix blocked reboot/shutdown when scraping in background (save gamelists also) + + ## Version 9.2.2-Pulstar ### Fixes -- GitLab From e66368ec0b7414252817c4a1548a42ea818ce02a Mon Sep 17 00:00:00 2001 From: Adrien Beudin Date: Tue, 2 Jul 2024 15:06:35 +0200 Subject: [PATCH 09/20] fix: reduce volume for flycast core --- RELEASE-NOTES.md | 5 +++++ .../configgen/generators/libretro/libretroGenerator.py | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index a753e2a260..4ab1fb2bcd 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -5,6 +5,11 @@ The text, located between the first `## Version XXX` and the second one, will ap as release notes for end user on a Recalbox upgrade. +## Version 9.2.3-Pulstar + +### Fixes +- Fix volume level for flycast core (atomiswave, naomi, naomicd, naomi2) + ## Version 9.2.2-Pulstar ### Fixes diff --git a/projects/configgen/configgen/generators/libretro/libretroGenerator.py b/projects/configgen/configgen/generators/libretro/libretroGenerator.py index 6b105bc905..6f55d03c09 100644 --- a/projects/configgen/configgen/generators/libretro/libretroGenerator.py +++ b/projects/configgen/configgen/generators/libretro/libretroGenerator.py @@ -435,6 +435,12 @@ class LibretroGenerator(Generator): retroarchConfig.setString(option[0], option[1]) retroarchConfig.saveFile() + if system.Core == "flycast" or system.Core == "flycast-next": + retroarchConfig.setString("audio_volume", "-2.0") + else: + retroarchConfig.setString("audio_volume", "0.0") + retroarchConfig.saveFile() + commandArgs = configuration.getCommandLineArguments(retroarchConfig, coreConfig) return configuration.getRetroarchConfigurationFileName(), \ -- GitLab From 9315983d95a64c56de0060f3f8fe380a93d64711 Mon Sep 17 00:00:00 2001 From: digitalLumberjack Date: Sat, 13 Jul 2024 14:50:41 +0200 Subject: [PATCH 10/20] feat: release notes 9.2.3 --- RELEASE-NOTES.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 4ab1fb2bcd..31a602e3a6 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -7,12 +7,7 @@ as release notes for end user on a Recalbox upgrade. ## Version 9.2.3-Pulstar -### Fixes - Fix volume level for flycast core (atomiswave, naomi, naomicd, naomi2) - -## Version 9.2.2-Pulstar - -### Fixes - Fix data files, and game recognition in systems using Flycast & Flycast-Next cores - Fix scraper not saving all gamelists when scraping virtual systems - Fix multiple update pop when exiting screensaver -- GitLab From 03187230700bec357f7bca3d4f8775e8444099ab Mon Sep 17 00:00:00 2001 From: digitalLumberjack Date: Tue, 27 Aug 2024 10:04:15 +0200 Subject: [PATCH 11/20] feat: bump raspberry pi kernel to 6.6.47 --- .../6.6/i2c-read-timeout-set-to-50ms.patch | 27 ++++ .../6.6/linux-wiimote-abs-not-hat.patch | 53 +++++++ .../6.6/usbhid-max-quirks.patch | 13 ++ ...g => kernel-6.6-defconfig-fragment.config} | 0 ...t-add-piboy-dmg-panel-for-kms-driver.patch | 130 ++++++++++++++++++ ...o-a030vvn01-dpi-panel-for-kms-driver.patch | 124 +++++++++++++++++ .../6.6/0003-linux-usb-hid-input-xinmo.patch | 40 ++++++ .../0004-linux-usb-xinmo20pins-support.patch | 24 ++++ .../0005-linux-vc4-dpi-enable-interlace.patch | 26 ++++ ...d-roundup-ability-to-the-clock-divis.patch | 58 ++++++++ ...oflag-gpi2w-dpi-panel-for-kms-driver.patch | 124 +++++++++++++++++ configs/recalbox-rpi1_defconfig | 8 +- configs/recalbox-rpi3_defconfig | 8 +- configs/recalbox-rpi4_64_defconfig | 6 +- configs/recalbox-rpi5_64_defconfig | 8 +- configs/recalbox-rpizero2_defconfig | 6 +- configs/recalbox-rpizero2legacy_defconfig | 6 +- custom/package/rpi-firmware/rpi-firmware.hash | 2 +- .../rpi-firmware/rpi-firmware.hash.patch | 4 +- custom/package/rpi-firmware/rpi-firmware.mk | 2 +- .../rpi-firmware/rpi-firmware.mk.patch | 4 +- 21 files changed, 646 insertions(+), 27 deletions(-) create mode 100644 board/recalbox/kernel_patches/6.6/i2c-read-timeout-set-to-50ms.patch create mode 100644 board/recalbox/kernel_patches/6.6/linux-wiimote-abs-not-hat.patch create mode 100644 board/recalbox/kernel_patches/6.6/usbhid-max-quirks.patch rename board/recalbox/rpi/{kernel-6.1-defconfig-fragment.config => kernel-6.6-defconfig-fragment.config} (100%) create mode 100644 board/recalbox/rpi/kernel_patches/6.6/0001-feat-add-piboy-dmg-panel-for-kms-driver.patch create mode 100644 board/recalbox/rpi/kernel_patches/6.6/0002-feat-add-auo-a030vvn01-dpi-panel-for-kms-driver.patch create mode 100644 board/recalbox/rpi/kernel_patches/6.6/0003-linux-usb-hid-input-xinmo.patch create mode 100644 board/recalbox/rpi/kernel_patches/6.6/0004-linux-usb-xinmo20pins-support.patch create mode 100644 board/recalbox/rpi/kernel_patches/6.6/0005-linux-vc4-dpi-enable-interlace.patch create mode 100644 board/recalbox/rpi/kernel_patches/6.6/0006-linux-bcm-clk-add-roundup-ability-to-the-clock-divis.patch create mode 100644 board/recalbox/rpi/kernel_patches/6.6/0007-feat-add-retroflag-gpi2w-dpi-panel-for-kms-driver.patch diff --git a/board/recalbox/kernel_patches/6.6/i2c-read-timeout-set-to-50ms.patch b/board/recalbox/kernel_patches/6.6/i2c-read-timeout-set-to-50ms.patch new file mode 100644 index 0000000000..5eea1311ca --- /dev/null +++ b/board/recalbox/kernel_patches/6.6/i2c-read-timeout-set-to-50ms.patch @@ -0,0 +1,27 @@ +diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c +index 7408e2c136b0..aa46ddfcfaa7 100644 +--- a/drivers/i2c/busses/i2c-bcm2835.c ++++ b/drivers/i2c/busses/i2c-bcm2835.c +@@ -525,6 +525,7 @@ static int bcm2835_i2c_probe(struct platform_device *pdev) + struct i2c_adapter *adap; + struct clk *mclk; + u32 bus_clk_rate; ++ u32 read_timeout; + + i2c_dev = devm_kzalloc(&pdev->dev, sizeof(*i2c_dev), GFP_KERNEL); + if (!i2c_dev) +@@ -594,6 +595,14 @@ static int bcm2835_i2c_probe(struct platform_device *pdev) + adap->dev.of_node = pdev->dev.of_node; + adap->quirks = of_device_get_match_data(&pdev->dev); + ++ ++ ret = of_property_read_u32(pdev->dev.of_node, "read-timeout-ms", ++ &read_timeout); ++ if (ret >= 0) { ++ dev_info(&pdev->dev, ++ "Setting i2c read timeout to %u ms\n", read_timeout); ++ adap->timeout = msecs_to_jiffies(read_timeout); ++ } + /* + * Disable the hardware clock stretching timeout. SMBUS + * specifies a limit for how long the device can stretch the diff --git a/board/recalbox/kernel_patches/6.6/linux-wiimote-abs-not-hat.patch b/board/recalbox/kernel_patches/6.6/linux-wiimote-abs-not-hat.patch new file mode 100644 index 0000000000..587f2a1d06 --- /dev/null +++ b/board/recalbox/kernel_patches/6.6/linux-wiimote-abs-not-hat.patch @@ -0,0 +1,53 @@ +diff --git a/drivers/hid/hid-wiimote-modules.c b/drivers/hid/hid-wiimote-modules.c +index 4390eee..76ed60b 100644 +--- a/drivers/hid/hid-wiimote-modules.c ++++ b/drivers/hid/hid-wiimote-modules.c +@@ -1126,12 +1126,12 @@ + rt <<= 1; + lt <<= 1; + +- input_report_abs(wdata->extension.input, ABS_HAT1X, lx); +- input_report_abs(wdata->extension.input, ABS_HAT1Y, ly); +- input_report_abs(wdata->extension.input, ABS_HAT2X, rx - 0x20); +- input_report_abs(wdata->extension.input, ABS_HAT2Y, ry - 0x20); +- input_report_abs(wdata->extension.input, ABS_HAT3X, rt); +- input_report_abs(wdata->extension.input, ABS_HAT3Y, lt); ++ input_report_abs(wdata->extension.input, ABS_HAT0X, lx); ++ input_report_abs(wdata->extension.input, ABS_HAT0Y, ly); ++ input_report_abs(wdata->extension.input, ABS_HAT1X, rx - 0x20); ++ input_report_abs(wdata->extension.input, ABS_HAT1Y, ry - 0x20); ++ input_report_abs(wdata->extension.input, ABS_HAT2X, rt); ++ input_report_abs(wdata->extension.input, ABS_HAT2Y, lt); + + input_report_key(wdata->extension.input, + wiimod_classic_map[WIIMOD_CLASSIC_KEY_LT], +@@ -1228,12 +1228,16 @@ static int wiimod_classic_probe(const struct wiimod_ops *ops, + wdata->extension.input->keybit); + + set_bit(EV_ABS, wdata->extension.input->evbit); ++ set_bit(ABS_HAT0X, wdata->extension.input->absbit); ++ set_bit(ABS_HAT0Y, wdata->extension.input->absbit); + set_bit(ABS_HAT1X, wdata->extension.input->absbit); + set_bit(ABS_HAT1Y, wdata->extension.input->absbit); + set_bit(ABS_HAT2X, wdata->extension.input->absbit); + set_bit(ABS_HAT2Y, wdata->extension.input->absbit); +- set_bit(ABS_HAT3X, wdata->extension.input->absbit); +- set_bit(ABS_HAT3Y, wdata->extension.input->absbit); ++ input_set_abs_params(wdata->extension.input, ++ ABS_HAT0X, -30, 30, 1, 1); ++ input_set_abs_params(wdata->extension.input, ++ ABS_HAT0Y, -30, 30, 1, 1); + input_set_abs_params(wdata->extension.input, + ABS_HAT1X, -30, 30, 1, 1); + input_set_abs_params(wdata->extension.input, +@@ -1242,10 +1246,6 @@ static int wiimod_classic_probe(const struct wiimod_ops *ops, + ABS_HAT2X, -30, 30, 1, 1); + input_set_abs_params(wdata->extension.input, + ABS_HAT2Y, -30, 30, 1, 1); +- input_set_abs_params(wdata->extension.input, +- ABS_HAT3X, -30, 30, 1, 1); +- input_set_abs_params(wdata->extension.input, +- ABS_HAT3Y, -30, 30, 1, 1); + + ret = input_register_device(wdata->extension.input); + if (ret) diff --git a/board/recalbox/kernel_patches/6.6/usbhid-max-quirks.patch b/board/recalbox/kernel_patches/6.6/usbhid-max-quirks.patch new file mode 100644 index 0000000000..6ea08d3ffe --- /dev/null +++ b/board/recalbox/kernel_patches/6.6/usbhid-max-quirks.patch @@ -0,0 +1,13 @@ +diff --git a/include/linux/hid.h b/include/linux/hid.h +index 251a1d3..e15f38f 100644 +--- a/include/linux/hid.h ++++ b/include/linux/hid.h +@@ -305,7 +305,7 @@ struct hid_item { + /* + * Increase this if you need to configure more HID quirks at module load time + */ +-#define MAX_USBHID_BOOT_QUIRKS 4 ++#define MAX_USBHID_BOOT_QUIRKS 40 + + #define HID_QUIRK_INVERT 0x00000001 + #define HID_QUIRK_NOTOUCH 0x00000002 diff --git a/board/recalbox/rpi/kernel-6.1-defconfig-fragment.config b/board/recalbox/rpi/kernel-6.6-defconfig-fragment.config similarity index 100% rename from board/recalbox/rpi/kernel-6.1-defconfig-fragment.config rename to board/recalbox/rpi/kernel-6.6-defconfig-fragment.config diff --git a/board/recalbox/rpi/kernel_patches/6.6/0001-feat-add-piboy-dmg-panel-for-kms-driver.patch b/board/recalbox/rpi/kernel_patches/6.6/0001-feat-add-piboy-dmg-panel-for-kms-driver.patch new file mode 100644 index 0000000000..08f51ad02e --- /dev/null +++ b/board/recalbox/rpi/kernel_patches/6.6/0001-feat-add-piboy-dmg-panel-for-kms-driver.patch @@ -0,0 +1,130 @@ +From 6ddecf9eb83ca5685e68cecea6910b87060e6b7e Mon Sep 17 00:00:00 2001 +From: David Barbion +Date: Thu, 9 Dec 2021 22:48:17 +0100 +Subject: [PATCH 1/8] feat: add piboy dmg panel for kms driver + +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + .../overlays/vc4-kms-dpi-piboydmg-overlay.dts | 44 +++++++++++++++++++ + drivers/gpu/drm/panel/panel-simple.c | 35 +++++++++++++++ + 3 files changed, 80 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/vc4-kms-dpi-piboydmg-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index bdd02b8c6f0f..84b38d631576 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -301,6 +301,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + vc4-kms-dpi-hyperpixel4.dtbo \ + vc4-kms-dpi-hyperpixel4sq.dtbo \ + vc4-kms-dpi-panel.dtbo \ ++ vc4-kms-dpi-piboydmg.dtbo \ + vc4-kms-dsi-7inch.dtbo \ + vc4-kms-dsi-generic.dtbo \ + vc4-kms-dsi-ili9881-5inch.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/vc4-kms-dpi-piboydmg-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-dpi-piboydmg-overlay.dts +new file mode 100644 +index 000000000000..a4e727dda7d7 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/vc4-kms-dpi-piboydmg-overlay.dts +@@ -0,0 +1,44 @@ ++/* ++ * vc4-kms-dpi-piboydmg-overlay.dts ++ */ ++ ++/dts-v1/; ++/plugin/; ++ ++#include ++#include ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target-path = "/"; ++ __overlay__ { ++ panel: panel { ++ compatible = "xpi,piboydmg", "simple-panel"; ++ ++ port { ++ panel_in: endpoint { ++ remote-endpoint = <&dpi_out>; ++ }; ++ }; ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&dpi>; ++ __overlay__ { ++ status = "okay"; ++ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&dpi_18bit_cpadhi_gpio0>; ++ ++ port { ++ dpi_out: endpoint { ++ remote-endpoint = <&panel_in>; ++ }; ++ }; ++ }; ++ }; ++}; +diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c +index 035ee7a2f8a0..db5fae3fde9a 100644 +--- a/drivers/gpu/drm/panel/panel-simple.c ++++ b/drivers/gpu/drm/panel/panel-simple.c +@@ -2228,6 +2228,38 @@ static const struct panel_desc innolux_at043tn24 = { + .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, + }; + ++static const struct display_timing xpi_piboydmg_timing = { ++ .pixelclock = { 32000000, 32000000, 32200000}, ++ .hactive = { 640, 640, 640 }, ++ .hfront_porch = { 130, 80, 30 }, ++ .hback_porch = { 130, 80, 30 }, ++ .hsync_len = { 130, 80, 30}, ++ .vactive = { 480, 480, 480 }, ++ .vfront_porch = { 13, 13, 13}, ++ .vback_porch = { 13, 13, 13 }, ++ .vsync_len = { 13, 13, 13 }, ++ .flags = DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PHSYNC, ++}; ++ ++static const struct panel_desc xpi_piboydmg = { ++ .timings = &xpi_piboydmg_timing, ++ .num_timings = 1, ++ .bpc = 6, ++ .size = { ++ .width = 112, ++ .height = 84, ++ }, ++ .delay = { ++ .prepare = 50, ++ .enable = 200, ++ .disable = 110, ++ .unprepare = 200, ++ }, ++ .bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI, ++ .bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE, ++ .connector_type = DRM_MODE_CONNECTOR_DPI, ++}; ++ + static const struct display_timing innolux_at056tn53v1_timing = { + .pixelclock = { 39700000, 39700000, 39700000}, + .hactive = { 640, 640, 640 }, +@@ -4366,6 +4398,9 @@ static const struct of_device_id platform_of_match[] = { + }, { + .compatible = "innolux,at043tn24", + .data = &innolux_at043tn24, ++ }, { ++ .compatible = "xpi,piboydmg", ++ .data = &xpi_piboydmg, + }, { + .compatible = "innolux,at056tn53v1", + .data = &innolux_at056tn53v1, +-- +2.44.0 + diff --git a/board/recalbox/rpi/kernel_patches/6.6/0002-feat-add-auo-a030vvn01-dpi-panel-for-kms-driver.patch b/board/recalbox/rpi/kernel_patches/6.6/0002-feat-add-auo-a030vvn01-dpi-panel-for-kms-driver.patch new file mode 100644 index 0000000000..ea302f3711 --- /dev/null +++ b/board/recalbox/rpi/kernel_patches/6.6/0002-feat-add-auo-a030vvn01-dpi-panel-for-kms-driver.patch @@ -0,0 +1,124 @@ +From c22a1ed65525b51a68f9a8b81c729bf997d3005c Mon Sep 17 00:00:00 2001 +From: David Barbion +Date: Tue, 25 Jan 2022 23:05:52 +0100 +Subject: [PATCH 2/8] feat: add auo a030vvn01 dpi panel for kms driver + +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + .../vc4-kms-dpi-a030vvn01-0-overlay.dts | 44 +++++++++++++++++++ + drivers/gpu/drm/panel/panel-simple.c | 29 ++++++++++++ + 3 files changed, 74 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/vc4-kms-dpi-a030vvn01-0-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 84b38d631576..6975e3c89f62 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -302,6 +302,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + vc4-kms-dpi-hyperpixel4sq.dtbo \ + vc4-kms-dpi-panel.dtbo \ + vc4-kms-dpi-piboydmg.dtbo \ ++ vc4-kms-dpi-a030vvn01-0.dtbo \ + vc4-kms-dsi-7inch.dtbo \ + vc4-kms-dsi-generic.dtbo \ + vc4-kms-dsi-ili9881-5inch.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/vc4-kms-dpi-a030vvn01-0-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-dpi-a030vvn01-0-overlay.dts +new file mode 100644 +index 000000000000..677e21114e3b +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/vc4-kms-dpi-a030vvn01-0-overlay.dts +@@ -0,0 +1,44 @@ ++/* ++ * vc4-kms-dpi-a030vvn01-1-overlay.dts ++ */ ++ ++/dts-v1/; ++/plugin/; ++ ++#include ++#include ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target-path = "/"; ++ __overlay__ { ++ panel: panel { ++ compatible = "auo,a030vvn01", "simple-panel"; ++ ++ port { ++ panel_in: endpoint { ++ remote-endpoint = <&dpi_out>; ++ }; ++ }; ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&dpi>; ++ __overlay__ { ++ status = "okay"; ++ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&dpi_18bit_cpadhi_gpio0>; ++ ++ port { ++ dpi_out: endpoint { ++ remote-endpoint = <&panel_in>; ++ }; ++ }; ++ }; ++ }; ++}; +diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c +index db5fae3fde9a..9c9c86b0485e 100644 +--- a/drivers/gpu/drm/panel/panel-simple.c ++++ b/drivers/gpu/drm/panel/panel-simple.c +@@ -2260,6 +2260,32 @@ static const struct panel_desc xpi_piboydmg = { + .connector_type = DRM_MODE_CONNECTOR_DPI, + }; + ++static const struct display_timing auo_a030vvn01_timing = { ++ .pixelclock = { 19750000, 24000000, 28220000}, ++ .hactive = { 640, 640, 640 }, ++ .hfront_porch = { 20, 41, 50 }, ++ .hback_porch = { 19, 41, 50 }, ++ .hsync_len = { 1, 40, 50}, ++ .vactive = { 480, 480, 480 }, ++ .vfront_porch = { 1, 18, 30}, ++ .vback_porch = { 2, 18, 32 }, ++ .vsync_len = { 1, 9, 18 }, ++ .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, ++}; ++ ++static const struct panel_desc auo_a030vvn01 = { ++ .timings = &auo_a030vvn01_timing, ++ .num_timings = 1, ++ .bpc = 6, ++ .size = { ++ .width = 60, ++ .height = 45, ++ }, ++ .bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI, ++ .bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE, ++ .connector_type = DRM_MODE_CONNECTOR_DPI, ++}; ++ + static const struct display_timing innolux_at056tn53v1_timing = { + .pixelclock = { 39700000, 39700000, 39700000}, + .hactive = { 640, 640, 640 }, +@@ -4401,6 +4427,9 @@ static const struct of_device_id platform_of_match[] = { + }, { + .compatible = "xpi,piboydmg", + .data = &xpi_piboydmg, ++ }, { ++ .compatible = "auo,a030vvn01", ++ .data = &auo_a030vvn01, + }, { + .compatible = "innolux,at056tn53v1", + .data = &innolux_at056tn53v1, +-- +2.44.0 + diff --git a/board/recalbox/rpi/kernel_patches/6.6/0003-linux-usb-hid-input-xinmo.patch b/board/recalbox/rpi/kernel_patches/6.6/0003-linux-usb-hid-input-xinmo.patch new file mode 100644 index 0000000000..b6fd735202 --- /dev/null +++ b/board/recalbox/rpi/kernel_patches/6.6/0003-linux-usb-hid-input-xinmo.patch @@ -0,0 +1,40 @@ +From 99d67e097a1e7855b1d255a86bba2e70bc4d9fa6 Mon Sep 17 00:00:00 2001 +From: David Barbion +Date: Fri, 18 Feb 2022 22:23:31 +0100 +Subject: [PATCH 3/8] linux usb hid input xinmo + +--- + drivers/hid/hid-input.c | 10 ++-------- + 1 file changed, 2 insertions(+), 8 deletions(-) + +diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c +index c8b20d44b147..b28f50572bc7 100644 +--- a/drivers/hid/hid-input.c ++++ b/drivers/hid/hid-input.c +@@ -874,14 +874,6 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel + + switch (usage->hid) { + /* These usage IDs map directly to the usage codes. */ +- case HID_GD_X: case HID_GD_Y: case HID_GD_Z: +- case HID_GD_RX: case HID_GD_RY: case HID_GD_RZ: +- if (field->flags & HID_MAIN_ITEM_RELATIVE) +- map_rel(usage->hid & 0xf); +- else +- map_abs_clear(usage->hid & 0xf); +- break; +- + case HID_GD_WHEEL: + if (field->flags & HID_MAIN_ITEM_RELATIVE) { + set_bit(REL_WHEEL, input->relbit); +@@ -890,6 +882,8 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel + map_abs(usage->hid & 0xf); + } + break; ++ case HID_GD_X: case HID_GD_Y: case HID_GD_Z: ++ case HID_GD_RX: case HID_GD_RY: case HID_GD_RZ: + case HID_GD_SLIDER: case HID_GD_DIAL: + if (field->flags & HID_MAIN_ITEM_RELATIVE) + map_rel(usage->hid & 0xf); +-- +2.44.0 + diff --git a/board/recalbox/rpi/kernel_patches/6.6/0004-linux-usb-xinmo20pins-support.patch b/board/recalbox/rpi/kernel_patches/6.6/0004-linux-usb-xinmo20pins-support.patch new file mode 100644 index 0000000000..873cd9c740 --- /dev/null +++ b/board/recalbox/rpi/kernel_patches/6.6/0004-linux-usb-xinmo20pins-support.patch @@ -0,0 +1,24 @@ +From aa501a43ae6312be0a934c2c7f4fe70adf8aa957 Mon Sep 17 00:00:00 2001 +From: David Barbion +Date: Fri, 18 Feb 2022 22:23:52 +0100 +Subject: [PATCH 4/8] linux usb xinmo20pins support + +--- + drivers/hid/hid-quirks.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c +index 1d1949d62dfa..346cf5df550e 100644 +--- a/drivers/hid/hid-quirks.c ++++ b/drivers/hid/hid-quirks.c +@@ -209,6 +209,7 @@ static const struct hid_device_id hid_quirks[] = { + { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD2, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, + { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, + { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT }, ++ { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_THT_2P_ARCADE), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, + { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_GROUP_AUDIO), HID_QUIRK_NOGET }, + { HID_USB_DEVICE(USB_VENDOR_ID_XENTA, USB_DEVICE_ID_AIRMOUSE_MX3), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE }, + +-- +2.44.0 + diff --git a/board/recalbox/rpi/kernel_patches/6.6/0005-linux-vc4-dpi-enable-interlace.patch b/board/recalbox/rpi/kernel_patches/6.6/0005-linux-vc4-dpi-enable-interlace.patch new file mode 100644 index 0000000000..42e45212f7 --- /dev/null +++ b/board/recalbox/rpi/kernel_patches/6.6/0005-linux-vc4-dpi-enable-interlace.patch @@ -0,0 +1,26 @@ +From 1b00276a429370c3d093f90e5f16dda93b8b58bf Mon Sep 17 00:00:00 2001 +From: David Barbion +Date: Fri, 18 Feb 2022 22:29:04 +0100 +Subject: [PATCH 5/8] linux vc4 dpi enable interlace + +--- + drivers/gpu/drm/vc4/vc4_dpi.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_dpi.c b/drivers/gpu/drm/vc4/vc4_dpi.c +index 39152e755a13..ca58f74e8b51 100644 +--- a/drivers/gpu/drm/vc4/vc4_dpi.c ++++ b/drivers/gpu/drm/vc4/vc4_dpi.c +@@ -248,9 +248,6 @@ static void vc4_dpi_encoder_enable(struct drm_encoder *encoder) + static enum drm_mode_status vc4_dpi_encoder_mode_valid(struct drm_encoder *encoder, + const struct drm_display_mode *mode) + { +- if (mode->flags & DRM_MODE_FLAG_INTERLACE) +- return MODE_NO_INTERLACE; +- + return MODE_OK; + } + +-- +2.44.0 + diff --git a/board/recalbox/rpi/kernel_patches/6.6/0006-linux-bcm-clk-add-roundup-ability-to-the-clock-divis.patch b/board/recalbox/rpi/kernel_patches/6.6/0006-linux-bcm-clk-add-roundup-ability-to-the-clock-divis.patch new file mode 100644 index 0000000000..c5821d0ab6 --- /dev/null +++ b/board/recalbox/rpi/kernel_patches/6.6/0006-linux-bcm-clk-add-roundup-ability-to-the-clock-divis.patch @@ -0,0 +1,58 @@ +From 0ebcd5ddb1910ff45431796a3bd956b58a74adff Mon Sep 17 00:00:00 2001 +From: digitalLumberjack +Date: Fri, 10 Jun 2022 22:03:03 +0200 +Subject: [PATCH 6/8] linux bcm clk add roundup ability to the clock divisor + +The commit reverted the round up ability for the bcm clock divisor. + +It made clocks for low definitons having bad calculation. +--- + drivers/clk/bcm/clk-bcm2835.c | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c +index eecb2daa423f..e9a824175e37 100644 +--- a/drivers/clk/bcm/clk-bcm2835.c ++++ b/drivers/clk/bcm/clk-bcm2835.c +@@ -941,7 +941,8 @@ static int bcm2835_clock_is_on(struct clk_hw *hw) + + static u32 bcm2835_clock_choose_div(struct clk_hw *hw, + unsigned long rate, +- unsigned long parent_rate) ++ unsigned long parent_rate, ++ bool round_up) + { + struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); + const struct bcm2835_clock_data *data = clock->data; +@@ -952,6 +953,10 @@ static u32 bcm2835_clock_choose_div(struct clk_hw *hw, + + do_div(temp, rate); + div = temp; ++ ++ /* Round up and mask off the unused bits */ ++ if (round_up && ((div & unused_frac_mask) != 0 || do_div(temp, rate) != 0)) ++ div += unused_frac_mask + 1; + div &= ~unused_frac_mask; + + /* different clamping limits apply for a mash clock */ +@@ -1135,7 +1140,7 @@ static int bcm2835_clock_set_rate_and_parent(struct clk_hw *hw, + struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); + struct bcm2835_cprman *cprman = clock->cprman; + const struct bcm2835_clock_data *data = clock->data; +- u32 div = bcm2835_clock_choose_div(hw, rate, parent_rate); ++ u32 div = bcm2835_clock_choose_div(hw, rate, parent_rate, false); + u32 ctl; + + spin_lock(&cprman->regs_lock); +@@ -1201,7 +1206,7 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, + + if (!(BIT(parent_idx) & data->set_rate_parent)) { + *prate = clk_hw_get_rate(parent); +- *div = bcm2835_clock_choose_div(hw, rate, *prate); ++ *div = bcm2835_clock_choose_div(hw, rate, *prate, true); + + *avgrate = bcm2835_clock_rate_from_divisor(clock, *prate, *div); + +-- +2.44.0 + diff --git a/board/recalbox/rpi/kernel_patches/6.6/0007-feat-add-retroflag-gpi2w-dpi-panel-for-kms-driver.patch b/board/recalbox/rpi/kernel_patches/6.6/0007-feat-add-retroflag-gpi2w-dpi-panel-for-kms-driver.patch new file mode 100644 index 0000000000..e1200d0b8b --- /dev/null +++ b/board/recalbox/rpi/kernel_patches/6.6/0007-feat-add-retroflag-gpi2w-dpi-panel-for-kms-driver.patch @@ -0,0 +1,124 @@ +From 4cd6d5b255965c95b1682d2c4cc3c75d285e29cf Mon Sep 17 00:00:00 2001 +From: David Barbion +Date: Fri, 6 Jan 2023 21:04:11 +0100 +Subject: [PATCH 7/8] feat: add retroflag gpi2w dpi panel for kms driver + +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + .../vc4-kms-dpi-retroflag-gpi2w-overlay.dts | 44 +++++++++++++++++++ + drivers/gpu/drm/panel/panel-simple.c | 29 ++++++++++++ + 3 files changed, 74 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/vc4-kms-dpi-retroflag-gpi2w-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 6975e3c89f62..c309bd6b413d 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -303,6 +303,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + vc4-kms-dpi-panel.dtbo \ + vc4-kms-dpi-piboydmg.dtbo \ + vc4-kms-dpi-a030vvn01-0.dtbo \ ++ vc4-kms-dpi-retroflag-gpi2w.dtbo \ + vc4-kms-dsi-7inch.dtbo \ + vc4-kms-dsi-generic.dtbo \ + vc4-kms-dsi-ili9881-5inch.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/vc4-kms-dpi-retroflag-gpi2w-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-dpi-retroflag-gpi2w-overlay.dts +new file mode 100644 +index 000000000000..473a9f812087 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/vc4-kms-dpi-retroflag-gpi2w-overlay.dts +@@ -0,0 +1,44 @@ ++/* ++ * vc4-kms-dpi-a030vvn01-1-overlay.dts ++ */ ++ ++/dts-v1/; ++/plugin/; ++ ++#include ++#include ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target-path = "/"; ++ __overlay__ { ++ panel: panel { ++ compatible = "retroflag,gpi2w", "simple-panel"; ++ ++ port { ++ panel_in: endpoint { ++ remote-endpoint = <&dpi_out>; ++ }; ++ }; ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&dpi>; ++ __overlay__ { ++ status = "okay"; ++ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&dpi_18bit_cpadhi_gpio0>; ++ ++ port { ++ dpi_out: endpoint { ++ remote-endpoint = <&panel_in>; ++ }; ++ }; ++ }; ++ }; ++}; +diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c +index 9c9c86b0485e..fa8d53e90a0a 100644 +--- a/drivers/gpu/drm/panel/panel-simple.c ++++ b/drivers/gpu/drm/panel/panel-simple.c +@@ -2286,6 +2286,32 @@ static const struct panel_desc auo_a030vvn01 = { + .connector_type = DRM_MODE_CONNECTOR_DPI, + }; + ++static const struct display_timing retroflag_gpi2w_timing = { ++ .pixelclock = { 19200000, 19200000, 19200000}, ++ .hactive = { 640, 640, 640 }, ++ .hfront_porch = { 1, 1, 1 }, ++ .hback_porch = { 20, 20, 20 }, ++ .hsync_len = { 1, 1, 1}, ++ .vactive = { 480, 480, 480 }, ++ .vfront_porch = { 1, 1, 1}, ++ .vback_porch = { 2, 2, 2 }, ++ .vsync_len = { 1, 1, 1 }, ++ .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, ++}; ++ ++static const struct panel_desc retroflag_gpi2w = { ++ .timings = &retroflag_gpi2w_timing, ++ .num_timings = 1, ++ .bpc = 6, ++ .size = { ++ .width = 60, ++ .height = 45, ++ }, ++ .bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI, ++ .bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE, ++ .connector_type = DRM_MODE_CONNECTOR_DPI, ++}; ++ + static const struct display_timing innolux_at056tn53v1_timing = { + .pixelclock = { 39700000, 39700000, 39700000}, + .hactive = { 640, 640, 640 }, +@@ -4430,6 +4456,9 @@ static const struct of_device_id platform_of_match[] = { + }, { + .compatible = "auo,a030vvn01", + .data = &auo_a030vvn01, ++ }, { ++ .compatible = "retroflag,gpi2w", ++ .data = &retroflag_gpi2w, + }, { + .compatible = "innolux,at056tn53v1", + .data = &innolux_at056tn53v1, +-- +2.44.0 + diff --git a/configs/recalbox-rpi1_defconfig b/configs/recalbox-rpi1_defconfig index 2560f9e581..915dff9d07 100644 --- a/configs/recalbox-rpi1_defconfig +++ b/configs/recalbox-rpi1_defconfig @@ -29,12 +29,12 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/recal BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/copy-recalbox-archives.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,d02bd251d7f85e3aec02e5752df2f44a35961360)/linux-d02bd251d7f85e3aec02e5752df2f44a35961360.tar.gz" -BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/kernel_patches/6.1 $(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel_patches/6.1" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,ba0f2212e0e100ee16bdde76b7efca6bb8ee9446)/linux-ba0f2212e0e100ee16bdde76b7efca6bb8ee9446.tar.gz" +BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/kernel_patches/6.6 $(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel_patches/6.6" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel-6.1-defconfig-fragment.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel-6.6-defconfig-fragment.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-b bcm2708-rpi-b-plus bcm2708-rpi-cm bcm2708-rpi-zero-w" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2708-rpi-b broadcom/bcm2708-rpi-b-plus broadcom/bcm2708-rpi-cm broadcom/bcm2708-rpi-zero broadcom/bcm2708-rpi-zero-w" BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y BR2_LINUX_KERNEL_DTS_INSTALL_OVERLAYS=y BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/busybox.custom.config" diff --git a/configs/recalbox-rpi3_defconfig b/configs/recalbox-rpi3_defconfig index 426d221703..d4ce6873d3 100644 --- a/configs/recalbox-rpi3_defconfig +++ b/configs/recalbox-rpi3_defconfig @@ -30,12 +30,12 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/recal BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/copy-recalbox-archives.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,d02bd251d7f85e3aec02e5752df2f44a35961360)/linux-d02bd251d7f85e3aec02e5752df2f44a35961360.tar.gz" -BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/kernel_patches/6.1 $(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel_patches/6.1" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,ba0f2212e0e100ee16bdde76b7efca6bb8ee9446)/linux-ba0f2212e0e100ee16bdde76b7efca6bb8ee9446.tar.gz" +BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/kernel_patches/6.6 $(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel_patches/6.6" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel-6.1-defconfig-fragment.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel-6.6-defconfig-fragment.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b bcm2710-rpi-3-b-plus bcm2710-rpi-cm3 bcm2710-rpi-zero-2 bcm2710-rpi-zero-2-w" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-3-b-plus broadcom/bcm2710-rpi-cm3 broadcom/bcm2710-rpi-zero-2 broadcom/bcm2710-rpi-zero-2-w" BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y BR2_LINUX_KERNEL_DTS_INSTALL_OVERLAYS=y BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/busybox.custom.config" diff --git a/configs/recalbox-rpi4_64_defconfig b/configs/recalbox-rpi4_64_defconfig index 615e45d80e..2f8a908a27 100644 --- a/configs/recalbox-rpi4_64_defconfig +++ b/configs/recalbox-rpi4_64_defconfig @@ -29,10 +29,10 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/recal BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/copy-recalbox-archives.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,d02bd251d7f85e3aec02e5752df2f44a35961360)/linux-d02bd251d7f85e3aec02e5752df2f44a35961360.tar.gz" -BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/kernel_patches/6.1 $(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel_patches/6.1" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,ba0f2212e0e100ee16bdde76b7efca6bb8ee9446)/linux-ba0f2212e0e100ee16bdde76b7efca6bb8ee9446.tar.gz" +BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/kernel_patches/6.6 $(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel_patches/6.6" BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel-6.1-defconfig-fragment.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel-6.6-defconfig-fragment.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b broadcom/bcm2711-rpi-400 broadcom/bcm2711-rpi-cm4" BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y diff --git a/configs/recalbox-rpi5_64_defconfig b/configs/recalbox-rpi5_64_defconfig index 52f1236378..c2aa1192b5 100644 --- a/configs/recalbox-rpi5_64_defconfig +++ b/configs/recalbox-rpi5_64_defconfig @@ -30,12 +30,12 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/recal BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/copy-recalbox-archives.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,d02bd251d7f85e3aec02e5752df2f44a35961360)/linux-d02bd251d7f85e3aec02e5752df2f44a35961360.tar.gz" -BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/kernel_patches/6.1 $(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel_patches/6.1" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,ba0f2212e0e100ee16bdde76b7efca6bb8ee9446)/linux-ba0f2212e0e100ee16bdde76b7efca6bb8ee9446.tar.gz" +BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/kernel_patches/6.6 $(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel_patches/6.6" BR2_LINUX_KERNEL_DEFCONFIG="bcm2712" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel-6.1-defconfig-fragment.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel-6.6-defconfig-fragment.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2712-rpi-5-b" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2712-rpi-5-b broadcom/bcm2712d0-rpi-5-b" BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y BR2_LINUX_KERNEL_DTS_INSTALL_OVERLAYS=y BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/busybox.custom.config" diff --git a/configs/recalbox-rpizero2_defconfig b/configs/recalbox-rpizero2_defconfig index bd913c88b4..7c74a32f23 100644 --- a/configs/recalbox-rpizero2_defconfig +++ b/configs/recalbox-rpizero2_defconfig @@ -30,10 +30,10 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/recal BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/copy-recalbox-archives.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,d02bd251d7f85e3aec02e5752df2f44a35961360)/linux-d02bd251d7f85e3aec02e5752df2f44a35961360.tar.gz" -BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/kernel_patches/6.1 $(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel_patches/6.1" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,ba0f2212e0e100ee16bdde76b7efca6bb8ee9446)/linux-ba0f2212e0e100ee16bdde76b7efca6bb8ee9446.tar.gz" +BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/kernel_patches/6.6 $(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel_patches/6.6" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel-6.1-defconfig-fragment.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel-6.6-defconfig-fragment.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-zero-2 bcm2710-rpi-zero-2-w" BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y diff --git a/configs/recalbox-rpizero2legacy_defconfig b/configs/recalbox-rpizero2legacy_defconfig index ce874b3b28..86a0fcd796 100644 --- a/configs/recalbox-rpizero2legacy_defconfig +++ b/configs/recalbox-rpizero2legacy_defconfig @@ -30,10 +30,10 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/recal BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/copy-recalbox-archives.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,d02bd251d7f85e3aec02e5752df2f44a35961360)/linux-d02bd251d7f85e3aec02e5752df2f44a35961360.tar.gz" -BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/kernel_patches/6.1 $(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel_patches/6.1" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,ba0f2212e0e100ee16bdde76b7efca6bb8ee9446)/linux-ba0f2212e0e100ee16bdde76b7efca6bb8ee9446.tar.gz" +BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/kernel_patches/6.6 $(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel_patches/6.6" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel-6.1-defconfig-fragment.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_RECALBOX_PATH)/board/recalbox/rpi/kernel-6.6-defconfig-fragment.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b bcm2710-rpi-3-b-plus bcm2710-rpi-cm3 bcm2710-rpi-zero-2 bcm2710-rpi-zero-2-w" BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y diff --git a/custom/package/rpi-firmware/rpi-firmware.hash b/custom/package/rpi-firmware/rpi-firmware.hash index 778f9e3400..c064e842d9 100644 --- a/custom/package/rpi-firmware/rpi-firmware.hash +++ b/custom/package/rpi-firmware/rpi-firmware.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 583f11eb4b0c4f2673e4a90519013f654aeddd018c03604c8c1b933651602edb rpi-firmware-7273369aded28c56937cda2ec8e305f86eaa1203.tar.gz +sha256 c6e50e82cad762db775db1aa0f279164e7d513689a4005d8d11ebe467da905a4 rpi-firmware-6c7d1719966f459ab0349c8af32f0c774c696234.tar.gz sha256 c7283ff51f863d93a275c66e3b4cb08021a5dd4d8c1e7acc47d872fbe52d3d6b boot/LICENCE.broadcom diff --git a/custom/package/rpi-firmware/rpi-firmware.hash.patch b/custom/package/rpi-firmware/rpi-firmware.hash.patch index f147a134bb..bfdc3600fd 100644 --- a/custom/package/rpi-firmware/rpi-firmware.hash.patch +++ b/custom/package/rpi-firmware/rpi-firmware.hash.patch @@ -1,9 +1,9 @@ diff --git a/package/rpi-firmware/rpi-firmware.hash b/package/rpi-firmware/rpi-firmware.hash -index ec13115f3b..778f9e3400 100644 +index ec13115f3b..c064e842d9 100644 --- a/package/rpi-firmware/rpi-firmware.hash +++ b/package/rpi-firmware/rpi-firmware.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 33aea2cb9c3be94c3dd6a96fbb3443eee5af1dc5fc9140e1fadc50832983064e rpi-firmware-3f20b832b27cd730deb6419b570f31a98167eef6.tar.gz -+sha256 583f11eb4b0c4f2673e4a90519013f654aeddd018c03604c8c1b933651602edb rpi-firmware-7273369aded28c56937cda2ec8e305f86eaa1203.tar.gz ++sha256 c6e50e82cad762db775db1aa0f279164e7d513689a4005d8d11ebe467da905a4 rpi-firmware-6c7d1719966f459ab0349c8af32f0c774c696234.tar.gz sha256 c7283ff51f863d93a275c66e3b4cb08021a5dd4d8c1e7acc47d872fbe52d3d6b boot/LICENCE.broadcom diff --git a/custom/package/rpi-firmware/rpi-firmware.mk b/custom/package/rpi-firmware/rpi-firmware.mk index fbc7e43aae..fce789325f 100644 --- a/custom/package/rpi-firmware/rpi-firmware.mk +++ b/custom/package/rpi-firmware/rpi-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_FIRMWARE_VERSION = 7273369aded28c56937cda2ec8e305f86eaa1203 +RPI_FIRMWARE_VERSION = 6c7d1719966f459ab0349c8af32f0c774c696234 RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom diff --git a/custom/package/rpi-firmware/rpi-firmware.mk.patch b/custom/package/rpi-firmware/rpi-firmware.mk.patch index 0ca80ac0e2..32267227bb 100644 --- a/custom/package/rpi-firmware/rpi-firmware.mk.patch +++ b/custom/package/rpi-firmware/rpi-firmware.mk.patch @@ -1,5 +1,5 @@ diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk -index 53d6d8ca06..fbc7e43aae 100644 +index 53d6d8ca06..fce789325f 100644 --- a/package/rpi-firmware/rpi-firmware.mk +++ b/package/rpi-firmware/rpi-firmware.mk @@ -4,7 +4,7 @@ @@ -7,7 +7,7 @@ index 53d6d8ca06..fbc7e43aae 100644 ################################################################################ -RPI_FIRMWARE_VERSION = 3f20b832b27cd730deb6419b570f31a98167eef6 -+RPI_FIRMWARE_VERSION = 7273369aded28c56937cda2ec8e305f86eaa1203 ++RPI_FIRMWARE_VERSION = 6c7d1719966f459ab0349c8af32f0c774c696234 RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom -- GitLab From 3ddcd7a006bb920302916db4f85b1ef899857529 Mon Sep 17 00:00:00 2001 From: digitalLumberjack Date: Thu, 4 Apr 2024 19:04:30 +0200 Subject: [PATCH 12/20] feat(system): rgbjamma: adapt driver to kernel 6.6 --- package/recalbox-rgb-jamma/S03rrgbjamma | 6 +- .../recalbox-rgb-jamma/recalbox_rgb_jamma.mk | 4 - projects/recalbox-rgb-dual/recalboxrgbdual.c | 1 + projects/recalbox-rgb-jamma/Makefile | 2 +- .../recalboxrgbjamma-v1-overlay.dts | 194 -- .../recalboxrgbjamma-v2-overlay.dts | 194 -- .../recalbox-rgb-jamma/recalboxrgbjamma-v2.c | 1598 ---------------- .../recalboxrgbjamma-v3-overlay.dts | 213 --- .../recalbox-rgb-jamma/recalboxrgbjamma-v3.c | 1622 ----------------- .../recalboxrgbjamma-v4-overlay.dts | 197 -- .../recalbox-rgb-jamma/recalboxrgbjamma.c | 64 +- 11 files changed, 29 insertions(+), 4066 deletions(-) delete mode 100644 projects/recalbox-rgb-jamma/recalboxrgbjamma-v1-overlay.dts delete mode 100644 projects/recalbox-rgb-jamma/recalboxrgbjamma-v2-overlay.dts delete mode 100644 projects/recalbox-rgb-jamma/recalboxrgbjamma-v2.c delete mode 100644 projects/recalbox-rgb-jamma/recalboxrgbjamma-v3-overlay.dts delete mode 100644 projects/recalbox-rgb-jamma/recalboxrgbjamma-v3.c delete mode 100644 projects/recalbox-rgb-jamma/recalboxrgbjamma-v4-overlay.dts diff --git a/package/recalbox-rgb-jamma/S03rrgbjamma b/package/recalbox-rgb-jamma/S03rrgbjamma index 17c71f95ef..10ca7f7c73 100644 --- a/package/recalbox-rgb-jamma/S03rrgbjamma +++ b/package/recalbox-rgb-jamma/S03rrgbjamma @@ -22,11 +22,7 @@ if test "$1" == "start"; then modprobe i2c-dev dtoverlay "i2c0custom${board}" res="$(i2cdetect -y "${i2c}" 36 39 | grep '20:')" - if echo "$res" | grep -q -e "24 25 -- --"; then - adapter="recalboxrgbjamma-v2" - elif echo "$res" | grep -q -e "24 25 -- 27"; then - adapter="recalboxrgbjamma-v3" - elif echo "$res" | grep -q -e "24 25 26 27"; then + if echo "$res" | grep -q -e "24 25 26 27"; then adapter="recalboxrgbjamma" fi dtoverlay -r "i2c0custom${board}" diff --git a/package/recalbox-rgb-jamma/recalbox_rgb_jamma.mk b/package/recalbox-rgb-jamma/recalbox_rgb_jamma.mk index 764b618df8..339a3ad0c4 100644 --- a/package/recalbox-rgb-jamma/recalbox_rgb_jamma.mk +++ b/package/recalbox-rgb-jamma/recalbox_rgb_jamma.mk @@ -27,8 +27,6 @@ define RECALBOX_RGB_JAMMA_BUILD_CMDS $(HOST_DIR)/bin/linux-dtc $(@D)/recalboxrgbjamma-pi5-overlay.dts -o $(@D)/recalboxrgbjamma-pi5.dtbo $(HOST_DIR)/bin/linux-dtc $(@D)/i2c0custom-pi5-overlay.dts -o $(@D)/i2c0custom-pi5.dtbo $(HOST_DIR)/bin/linux-dtc $(@D)/i2c0custom-overlay.dts -o $(@D)/i2c0custom.dtbo - $(HOST_DIR)/bin/linux-dtc $(@D)/recalboxrgbjamma-v2-overlay.dts -o $(@D)/recalboxrgbjamma-v2.dtbo - $(HOST_DIR)/bin/linux-dtc $(@D)/recalboxrgbjamma-v3-overlay.dts -o $(@D)/recalboxrgbjamma-v3.dtbo CFLAGS="$(TARGET_CFLAGS) $(COMPILER_COMMONS_CFLAGS_SO)" CROSS_DIR="$(STAGING_DIR)" \ CXXFLAGS="$(TARGET_CXXFLAGS) $(COMPILER_COMMONS_CXXFLAGS_SO) -std=c++11" \ LDFLAGS="$(TARGET_LDFLAGS) $(COMPILER_COMMONS_LDFLAGS_SO)" \ @@ -41,8 +39,6 @@ define RECALBOX_RGB_JAMMA_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0644 $(@D)/i2c0custom-pi5.dtbo $(BINARIES_DIR)/rpi-firmware/overlays/i2c0custom-pi5.dtbo $(INSTALL) -D -m 0644 $(@D)/i2c0custom.dtbo $(BINARIES_DIR)/rpi-firmware/overlays/i2c0custom.dtbo $(INSTALL) -D -m 0644 $(@D)/recalboxrgbjamma-pi5.dtbo $(BINARIES_DIR)/rpi-firmware/overlays/recalboxrgbjamma-pi5.dtbo - $(INSTALL) -D -m 0644 $(@D)/recalboxrgbjamma-v2.dtbo $(BINARIES_DIR)/rpi-firmware/overlays/recalboxrgbjamma-v2.dtbo - $(INSTALL) -D -m 0644 $(@D)/recalboxrgbjamma-v3.dtbo $(BINARIES_DIR)/rpi-firmware/overlays/recalboxrgbjamma-v3.dtbo $(INSTALL) -D -m 0744 $(RECALBOX_RGB_JAMMA_PKGDIR)/S03rrgbjamma $(TARGET_DIR)/etc/init.d/ $(INSTALL) -D -m 0744 $(@D)/screen/recalboxrgbjamma_screen $(TARGET_DIR)/usr/bin/recalboxrgbjamma_screen diff --git a/projects/recalbox-rgb-dual/recalboxrgbdual.c b/projects/recalbox-rgb-dual/recalboxrgbdual.c index 8adc78d68d..edc61ae549 100644 --- a/projects/recalbox-rgb-dual/recalboxrgbdual.c +++ b/projects/recalbox-rgb-dual/recalboxrgbdual.c @@ -14,6 +14,7 @@ #include #include #include +#include #include