Compare commits

...

1 Commits
i277 ... i268

Author SHA1 Message Date
Dr-Noob
27f1872915 [v1.06][ARM] Add support for Amlogic A311D (#268) 2024-08-29 19:59:07 +01:00
6 changed files with 24 additions and 0 deletions

View File

@@ -970,9 +970,15 @@ struct system_on_chip* guess_soc_from_devtree(struct system_on_chip* soc) {
DT_EQ(dt, len, soc, "apple,t6030", "M3 Pro", SOC_APPLE_M3_PRO, 3)
DT_EQ(dt, len, soc, "apple,t6031", "M3 Max", SOC_APPLE_M3_MAX, 3)
DT_EQ(dt, len, soc, "apple,t6034", "M3 Max", SOC_APPLE_M3_MAX, 3)
// TODO: Add more NXP SoCs: https://elixir.bootlin.com/linux/v6.10.6/source/arch/arm64/boot/dts/freescale
// https://github.com/Dr-Noob/cpufetch/issues/261
// https://www.nxp.com/docs/en/fact-sheet/IMX8MPLUSFS.pdf
DT_EQ(dt, len, soc, "imx8mp-nitrogen8mp", "i.MX 8M Plus", SOC_NXP_IMX8MP, 14)
// TODO: Add more Amlogic SoCs: https://elixir.bootlin.com/linux/v6.10.6/source/arch/arm64/boot/dts/amlogic
// https://github.com/Dr-Noob/cpufetch/issues/268
// https://www.amlogic.com/#Products/393/index.html
// https://wikimovel.com/index.php/Amlogic_A311D
DT_EQ(dt, len, soc, "amlogic,a311d", "A311D", SOC_AMLOGIC_A311D, 12)
DT_END(dt, len)
}

View File

@@ -384,6 +384,8 @@ enum {
SOC_AMPERE_ALTRA,
// NXP
SOC_NXP_IMX8MP,
// AMLOGIC
SOC_AMLOGIC_A311D,
// UNKNOWN
SOC_MODEL_UNKNOWN
};
@@ -402,6 +404,7 @@ inline static VENDOR get_soc_vendor_from_soc(SOC soc) {
else if(soc >= SOC_TEGRA_X1 && soc <= SOC_TEGRA_X1) return SOC_VENDOR_NVIDIA;
else if(soc >= SOC_AMPERE_ALTRA && soc <= SOC_AMPERE_ALTRA) return SOC_VENDOR_AMPERE;
else if(soc >= SOC_NXP_IMX8MP && soc <= SOC_NXP_IMX8MP) return SOC_VENDOR_NXP;
else if(soc >= SOC_AMLOGIC_A311D && soc <= SOC_AMLOGIC_A311D) return SOC_VENDOR_AMLOGIC;
return SOC_VENDOR_UNKNOWN;
}

View File

@@ -423,6 +423,16 @@ $C1##### ######### $C2############## $C3############### \
$C1##### ###### $C2###### ###### $C3#### \
$C1##### ## $C2###### ###### $C3## "
#define ASCII_AMLOGIC \
"$C1 .#####. ### ### \
$C1 ######## ### \
$C1 ####..### ########## ### ### ##### ### ### \
$C1 .## #. ### ## ## ## ### ## ## ## ## ### ## \
$C1 #### #.# ### ## ## ## ### ## ## ## ## ### ## \
$C1#########.### ## ## ## ## ### ###### ## ### \
$C1 ### \
$C1 ### "
// --------------------- LONG LOGOS ------------------------- //
#define ASCII_AMD_L \
"$C1 \
@@ -600,6 +610,7 @@ asciiL logo_sipeed = { ASCII_SIPEED, 41, 16, true, {C_BG_RED, C_BG_WH
asciiL logo_nvidia = { ASCII_NVIDIA, 45, 19, false, {C_FG_GREEN, C_FG_WHITE}, {C_FG_WHITE, C_FG_GREEN} };
asciiL logo_ampere = { ASCII_AMPERE, 50, 17, false, {C_FG_RED}, {C_FG_WHITE, C_FG_RED} };
asciiL logo_nxp = { ASCII_NXP, 55, 8, false, {C_FG_YELLOW, C_FG_CYAN, C_FG_GREEN}, {C_FG_CYAN, C_FG_WHITE} };
asciiL logo_amlogic = { ASCII_AMLOGIC, 58, 8, false, {C_FG_BLUE}, {C_FG_BLUE, C_FG_B_WHITE} };
// Long variants | ----------------------------------------------------------------------------------------------------------------|
asciiL logo_amd_l = { ASCII_AMD_L, 62, 19, true, {C_BG_WHITE, C_BG_GREEN}, {C_FG_WHITE, C_FG_GREEN} };

View File

@@ -393,6 +393,8 @@ void choose_ascii_art(struct ascii* art, struct color** cs, struct terminal* ter
art->art = &logo_ampere;
else if(art->vendor == SOC_VENDOR_NXP)
art->art = &logo_nxp;
else if(art->vendor == SOC_VENDOR_AMLOGIC)
art->art = &logo_amlogic;
else if(art->vendor == SOC_VENDOR_NVIDIA)
art->art = choose_ascii_art_aux(&logo_nvidia_l, &logo_nvidia, term, lf);
else {

View File

@@ -23,6 +23,7 @@ static char* soc_trademark_string[] = {
[SOC_VENDOR_NVIDIA] = "NVIDIA ",
[SOC_VENDOR_AMPERE] = "Ampere ",
[SOC_VENDOR_NXP] = "NXP ",
[SOC_VENDOR_AMLOGIC] = "Amlogic ",
// RISC-V
[SOC_VENDOR_SIFIVE] = "SiFive ",
[SOC_VENDOR_STARFIVE] = "StarFive ",

View File

@@ -27,6 +27,7 @@ enum {
SOC_VENDOR_NVIDIA,
SOC_VENDOR_AMPERE,
SOC_VENDOR_NXP,
SOC_VENDOR_AMLOGIC,
// RISC-V
SOC_VENDOR_SIFIVE,
SOC_VENDOR_STARFIVE,