]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
sunxi: board: Simplify Pine A64 DT selection logic
authorSamuel Holland <samuel@sholland.org>
Sat, 24 Oct 2020 15:21:51 +0000 (10:21 -0500)
committerAndre Przywara <andre.przywara@arm.com>
Tue, 17 Nov 2020 00:42:20 +0000 (00:42 +0000)
Instead of using an entirely separate matching algorithm, simply update
the name of the DT we want to match. Enabling this logic does not depend
on the FIT config name, only on the initial guess of the board name.

Importantly, the initial guess must be "sun50i-a64-pine64-plus", because
otherwise the logic would trigger when "sun50i-a64-pine64-lts" was
written to the SPL header.

Acked-by: Maxime Ripard <mripard@kernel.org>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
board/sunxi/board.c

index 078a881e5727b006059e7bd39a61fd82602ed5aa..3ea34bc7eb669a2425894d537940f82a8cc71490 100644 (file)
@@ -916,14 +916,10 @@ int board_fit_config_name_match(const char *name)
                return 0;
        }
 #ifdef CONFIG_PINE64_DT_SELECTION
-/* Differentiate the two Pine64 board DTs by their DRAM size. */
-       if (strstr(name, "-pine64") && strstr(best_dt_name, "-pine64")) {
-               if ((gd->ram_size > 512 * 1024 * 1024))
-                       return !strstr(name, "plus");
-               else
-                       return !!strstr(name, "plus");
-       } else {
-               return strcmp(name, best_dt_name);
+       if (strstr(best_dt_name, "-pine64-plus")) {
+               /* Differentiate the Pine A64 boards by their DRAM size. */
+               if ((gd->ram_size == 512 * 1024 * 1024))
+                       best_dt_name = "sun50i-a64-pine64";
        }
 #endif
        return strcmp(name, best_dt_name);