mirror of
https://github.com/Dr-Noob/cpufetch.git
synced 2026-03-25 16:00:39 +01:00
[v1.04][RISCV] Add Lichee PI 4a SoC (#200)
This commit is contained in:
@@ -22,6 +22,7 @@ static char* soc_trademark_string[] = {
|
|||||||
// RISC-V
|
// RISC-V
|
||||||
[SOC_VENDOR_SIFIVE] = "SiFive ",
|
[SOC_VENDOR_SIFIVE] = "SiFive ",
|
||||||
[SOC_VENDOR_STARFIVE] = "StarFive ",
|
[SOC_VENDOR_STARFIVE] = "StarFive ",
|
||||||
|
[SOC_VENDOR_SIPEED] = "Sipeed ",
|
||||||
// ARM & RISC-V
|
// ARM & RISC-V
|
||||||
[SOC_VENDOR_ALLWINNER] = "Allwinner "
|
[SOC_VENDOR_ALLWINNER] = "Allwinner "
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ enum {
|
|||||||
// RISC-V
|
// RISC-V
|
||||||
SOC_VENDOR_SIFIVE,
|
SOC_VENDOR_SIFIVE,
|
||||||
SOC_VENDOR_STARFIVE,
|
SOC_VENDOR_STARFIVE,
|
||||||
|
SOC_VENDOR_SIPEED,
|
||||||
// ARM & RISC-V
|
// ARM & RISC-V
|
||||||
SOC_VENDOR_ALLWINNER
|
SOC_VENDOR_ALLWINNER
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -32,6 +32,12 @@ bool match_allwinner(char* soc_name, struct system_on_chip* soc) {
|
|||||||
SOC_END
|
SOC_END
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool match_sipeed(char* soc_name, struct system_on_chip* soc) {
|
||||||
|
SOC_START
|
||||||
|
SOC_EQ(soc_name, "light", "Lichee Pi 4A", SOC_SIPEED_LICHEEPI4A, soc, 12) // https://github.com/Dr-Noob/cpufetch/issues/200, https://sipeed.com/licheepi4a
|
||||||
|
SOC_END
|
||||||
|
}
|
||||||
|
|
||||||
struct system_on_chip* parse_soc_from_string(struct system_on_chip* soc) {
|
struct system_on_chip* parse_soc_from_string(struct system_on_chip* soc) {
|
||||||
char* raw_name = soc->raw_name;
|
char* raw_name = soc->raw_name;
|
||||||
|
|
||||||
@@ -41,7 +47,10 @@ struct system_on_chip* parse_soc_from_string(struct system_on_chip* soc) {
|
|||||||
if(match_allwinner(raw_name, soc))
|
if(match_allwinner(raw_name, soc))
|
||||||
return soc;
|
return soc;
|
||||||
|
|
||||||
match_sifive(raw_name, soc);
|
if(match_sifive(raw_name, soc))
|
||||||
|
return soc;
|
||||||
|
|
||||||
|
match_sipeed(raw_name, soc);
|
||||||
return soc;
|
return soc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ enum {
|
|||||||
SOC_STARFIVE_VF2,
|
SOC_STARFIVE_VF2,
|
||||||
// ALLWINNER
|
// ALLWINNER
|
||||||
SOC_ALLWINNER_D1H,
|
SOC_ALLWINNER_D1H,
|
||||||
|
// SIPEED
|
||||||
|
SOC_SIPEED_LICHEEPI4A,
|
||||||
// UNKNOWN
|
// UNKNOWN
|
||||||
SOC_MODEL_UNKNOWN
|
SOC_MODEL_UNKNOWN
|
||||||
};
|
};
|
||||||
@@ -19,6 +21,7 @@ inline static VENDOR get_soc_vendor_from_soc(SOC soc) {
|
|||||||
if(soc >= SOC_SIFIVE_U740 && soc <= SOC_SIFIVE_U740) return SOC_VENDOR_SIFIVE;
|
if(soc >= SOC_SIFIVE_U740 && soc <= SOC_SIFIVE_U740) return SOC_VENDOR_SIFIVE;
|
||||||
if(soc >= SOC_STARFIVE_VF2 && soc <= SOC_STARFIVE_VF2) return SOC_VENDOR_STARFIVE;
|
if(soc >= SOC_STARFIVE_VF2 && soc <= SOC_STARFIVE_VF2) return SOC_VENDOR_STARFIVE;
|
||||||
if(soc >= SOC_ALLWINNER_D1H && soc <= SOC_ALLWINNER_D1H) return SOC_VENDOR_ALLWINNER;
|
if(soc >= SOC_ALLWINNER_D1H && soc <= SOC_ALLWINNER_D1H) return SOC_VENDOR_ALLWINNER;
|
||||||
|
if(soc >= SOC_SIPEED_LICHEEPI4A && soc <= SOC_SIPEED_LICHEEPI4A) return SOC_VENDOR_SIPEED;
|
||||||
return SOC_VENDOR_UNKNOWN;
|
return SOC_VENDOR_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user