util/spd_tools: Sort platforms_manifest entries by set number

Ensure that the order of entries in each platform manifest is consistent
every time spd_gen is run.

BUG=b:191776301
TEST=Run spd_gen for lp4x and ddr4, check that the manifests are
unchanged.

Change-Id: I7bfea65c8fc781df80a8725c0cf20c7547c857e8
Signed-off-by: Reka Norman <rekanorman@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/57773
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
diff --git a/util/spd_tools/src/spd_gen/spd_gen.go b/util/spd_tools/src/spd_gen/spd_gen.go
index eb37751..57b428b 100644
--- a/util/spd_tools/src/spd_gen/spd_gen.go
+++ b/util/spd_tools/src/spd_gen/spd_gen.go
@@ -10,6 +10,7 @@
 	"path/filepath"
 	"reflect"
 	"regexp"
+	"sort"
 	"strings"
 )
 
@@ -191,9 +192,15 @@
 
 	s += getGeneratedString()
 
-	for index, arr := range setMap {
-		for _, item := range arr {
-			s += fmt.Sprintf("%s,set-%d\n", platformNames[item], index)
+	var setNumbers []int
+	for k, _ := range setMap {
+		setNumbers = append(setNumbers, k)
+	}
+	sort.Ints(setNumbers)
+
+	for _, num := range setNumbers {
+		for _, item := range setMap[num] {
+			s += fmt.Sprintf("%s,set-%d\n", platformNames[item], num)
 		}
 	}