cpu: Add support for microcode version and CPU ID

Some CPUs use microcode and each core can have a different version of
microcode loaded. Also some CPUs support the concept of an integer ID used
for identification purposes. Add support for these in the CPU uclass.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
diff --git a/cmd/cpu.c b/cmd/cpu.c
index b4af64f5..bc4dc5c 100644
--- a/cmd/cpu.c
+++ b/cmd/cpu.c
@@ -14,6 +14,7 @@
 static const char *cpu_feature_name[CPU_FEAT_COUNT] = {
 	"L1 cache",
 	"MMU",
+	"Microcode",
 };
 
 static int print_cpu_list(bool detail)
@@ -58,6 +59,12 @@
 			}
 		}
 		printf("\n");
+		if (info.features & (1 << CPU_FEAT_UCODE)) {
+			printf("\tMicrocode version %#x\n",
+			       plat->ucode_version);
+		}
+		if (info.features & (1 << CPU_FEAT_DEVICE_ID))
+			printf("\tDevice ID %#lx\n", plat->device_id);
 	}
 
 	return 0;