summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Holland <[email protected]>2020-10-24 10:21:51 -0500
committerAndre Przywara <[email protected]>2020-11-17 00:42:20 +0000
commit54ac5aa17461b404ff514c0276c05693069937b6 (patch)
tree73eb7ea1ef1df22e10b37a594a15ab378515a1fc
parent467b7e52ec8920034b0d5ffb23a9ed72cd26bad3 (diff)
sunxi: board: Simplify Pine A64 DT selection logic
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 <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
-rw-r--r--board/sunxi/board.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index 078a881e572..3ea34bc7eb6 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -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);