Browse Source

Merge branch 'CR_3910_Modify_cpu_vol_mason.huo' into 'jh7110-master'

CR_3910  Modify cpu voltage set commands

See merge request sdk/u-boot!49
andy.hu 1 year ago
parent
commit
14d90726c4
2 changed files with 30 additions and 18 deletions
  1. 11 7
      board/starfive/evb/starfive_evb.c
  2. 19 11
      include/configs/starfive-evb.h

+ 11 - 7
board/starfive/evb/starfive_evb.c

@@ -27,12 +27,14 @@ enum chip_type_t {
 };
 
 enum cpu_voltage_type_t {
-	CPU_VOL_1020 = 0x0e,
-	CPU_VOL_1040 = 0xff,
-	CPU_VOL_1060 = 0xf0,
-	CPU_VOL_1080 = 0xf1,
-	CPU_VOL_1100 = 0xf2,
+	CPU_VOL_1020 = 0xef0,
+	CPU_VOL_1040 = 0xfff,
+	CPU_VOL_1060 = 0xff0,
+	CPU_VOL_1080 = 0xfe0,
+	CPU_VOL_1100 = 0xf80,
+	CPU_VOL_1120 = 0xf00,
 };
+#define CPU_VOL_MASK	0xfff
 
 #define SYS_CLOCK_ENABLE(clk) \
 	setbits_le32(SYS_CRG_BASE + clk, CLK_ENABLE_MASK)
@@ -212,8 +214,10 @@ static void get_cpu_voltage_type(struct udevice *dev)
 	if (ret != sizeof(buf))
 		printf("%s: error reading CPU vol from OTP\n", __func__);
 	else {
-		buf = 0x0e;
-		switch ((buf & 0xff)) {
+		switch ((buf & CPU_VOL_MASK)) {
+		case CPU_VOL_1120:
+			env_set("cpu_max_vol", "1120000");
+			break;
 		case CPU_VOL_1100:
 			env_set("cpu_max_vol", "1100000");
 			break;

+ 19 - 11
include/configs/starfive-evb.h

@@ -120,20 +120,27 @@
 	"cpu_vol_1100_set=" 			\
 	"fdt set /opp-table-0/opp-1500000000 opp-microvolt <1100000>;\0"
 
+#define CPU_VOL_1120_SET \
+	"cpu_vol_1120_set=" 			\
+	"fdt set /opp-table-0/opp-1500000000 opp-microvolt <1120000>;\0"
+
 #define CPU_VOL_SET	\
-	"cpu_vol_set="				\
-	"if test ${cpu_max_vol} = 1100000; then "	\
-		"run cpu_vol_1100_set;"			\
-	"elif test ${cpu_max_vol} = 1080000; then "	\
-		"run cpu_vol_1080_set;"			\
-	"elif test ${cpu_max_vol} = 1060000; then "	\
-		"run cpu_vol_1060_set;"			\
-	"elif test ${cpu_max_vol} = 1020000; then "	\
-		"run cpu_vol_1020_set;"			\
-	"else "						\
-		"run cpu_vol_1040_set;"			\
+	"cpu_vol_set="					\
+	"if test ${cpu_max_vol} = 1120000; then "	\
+		"run cpu_vol_1120_set;"			\
+	"elif test ${cpu_max_vol} = 1100000; then " 	\
+		"run cpu_vol_1100_set;" 		\
+	"elif test ${cpu_max_vol} = 1080000; then " 	\
+		"run cpu_vol_1080_set;" 		\
+	"elif test ${cpu_max_vol} = 1060000; then " 	\
+		"run cpu_vol_1060_set;" 		\
+	"elif test ${cpu_max_vol} = 1020000; then " 	\
+		"run cpu_vol_1020_set;" 		\
+	"else " 					\
+		"run cpu_vol_1040_set;" 		\
 	"fi; \0"
 
+
 #define CHIPA_GMAC_SET \
 	"chipa_gmac_set="	\
 	"fdt set /soc/ethernet@16030000/ethernet-phy@0 tx_inverted_10 <0x1>;"	\
@@ -174,6 +181,7 @@
 	CPU_VOL_1060_SET				\
 	CPU_VOL_1080_SET				\
 	CPU_VOL_1100_SET				\
+	CPU_VOL_1120_SET				\
 	CPU_VOL_SET					\
 	"type_guid_gpt_loader1=" TYPE_GUID_LOADER1 "\0" \
 	"type_guid_gpt_loader2=" TYPE_GUID_LOADER2 "\0" \