diff mbox series

soc: aspeed: socinfo: Add new systems

Message ID 20210210114651.334324-1-joel@jms.id.au
State New
Headers show
Series soc: aspeed: socinfo: Add new systems | expand

Commit Message

Joel Stanley Feb. 10, 2021, 11:46 a.m. UTC
Aspeed's u-boot sdk has been updated with the SoC IDs for the AST2605
variant, as well as A2 and A3 variants of the 2600 family.

From u-boot's arch/arm/mach-aspeed/ast2600/scu_info.c:

    SOC_ID("AST2600-A0", 0x0500030305000303),
    SOC_ID("AST2600-A1", 0x0501030305010303),
    SOC_ID("AST2620-A1", 0x0501020305010203),
    SOC_ID("AST2600-A2", 0x0502030305010303),
    SOC_ID("AST2620-A2", 0x0502020305010203),
    SOC_ID("AST2605-A2", 0x0502010305010103),
    SOC_ID("AST2600-A3", 0x0503030305030303),
    SOC_ID("AST2620-A3", 0x0503020305030203),
    SOC_ID("AST2605-A3", 0x0503010305030103),

Signed-off-by: Joel Stanley <joel@jms.id.au>
---
 drivers/soc/aspeed/aspeed-socinfo.c | 33 ++++++++++++++++++++++-------
 1 file changed, 25 insertions(+), 8 deletions(-)

Comments

Andrew Jeffery Feb. 14, 2021, 11:01 p.m. UTC | #1
On Wed, 10 Feb 2021, at 22:16, Joel Stanley wrote:
> Aspeed's u-boot sdk has been updated with the SoC IDs for the AST2605
> variant, as well as A2 and A3 variants of the 2600 family.
> 
> From u-boot's arch/arm/mach-aspeed/ast2600/scu_info.c:
> 
>     SOC_ID("AST2600-A0", 0x0500030305000303),
>     SOC_ID("AST2600-A1", 0x0501030305010303),
>     SOC_ID("AST2620-A1", 0x0501020305010203),
>     SOC_ID("AST2600-A2", 0x0502030305010303),
>     SOC_ID("AST2620-A2", 0x0502020305010203),
>     SOC_ID("AST2605-A2", 0x0502010305010103),
>     SOC_ID("AST2600-A3", 0x0503030305030303),
>     SOC_ID("AST2620-A3", 0x0503020305030203),
>     SOC_ID("AST2605-A3", 0x0503010305030103),
> 
> Signed-off-by: Joel Stanley <joel@jms.id.au>

Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
diff mbox series

Patch

diff --git a/drivers/soc/aspeed/aspeed-socinfo.c b/drivers/soc/aspeed/aspeed-socinfo.c
index 773930e0cb10..e3215f826d17 100644
--- a/drivers/soc/aspeed/aspeed-socinfo.c
+++ b/drivers/soc/aspeed/aspeed-socinfo.c
@@ -25,6 +25,7 @@  static struct {
 	/* AST2600 */
 	{ "AST2600", 0x05000303 },
 	{ "AST2620", 0x05010203 },
+	{ "AST2605", 0x05030103 },
 };
 
 static const char *siliconid_to_name(u32 siliconid)
@@ -43,14 +44,30 @@  static const char *siliconid_to_name(u32 siliconid)
 static const char *siliconid_to_rev(u32 siliconid)
 {
 	unsigned int rev = (siliconid >> 16) & 0xff;
-
-	switch (rev) {
-	case 0:
-		return "A0";
-	case 1:
-		return "A1";
-	case 3:
-		return "A2";
+	unsigned int gen = (siliconid >> 24) & 0xff;
+
+	if (gen < 0x5) {
+		/* AST2500 and below */
+		switch (rev) {
+		case 0:
+			return "A0";
+		case 1:
+			return "A1";
+		case 3:
+			return "A2";
+		}
+	} else {
+		/* AST2600 */
+		switch (rev) {
+		case 0:
+			return "A0";
+		case 1:
+			return "A1";
+		case 2:
+			return "A2";
+		case 3:
+			return "A3";
+		}
 	}
 
 	return "??";