// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
// If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
// Copyright (C) LibreHardwareMonitor and Contributors.
// Partial Copyright (C) Michael Möller <mmoeller@openhardwaremonitor.org> and Contributors.
// All Rights Reserved.

// ReSharper disable InconsistentNaming

using System.Diagnostics.CodeAnalysis;

namespace LibreHardwareMonitor.Hardware.Motherboard;

#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
/// <summary>
/// Known motherboard models detected/recognized by LibreHardwareMonitor.
/// </summary>
[SuppressMessage("ReSharper", "IdentifierTypo")]
[SuppressMessage("ReSharper", "CommentTypo")]
public enum Model
{
    // ASRock
    _880GMH_USB3,
    A320M_HDV,
    AB350_Pro4,
    AB350M,
    AB350M_HDV,
    AB350M_Pro4,
    AOD790GX_128M,
    B450_Pro4,
    B450_Steel_Legend,
    B450M_Pro4,
    B450M_Pro4_R2_0,
    B550M_Pro4,
    B450M_Steel_Legend,
    B85M_DGS,
    Fatal1ty_AB350_Gaming_K4,
    P55_Deluxe,
    X399_Phantom_Gaming_6,
    Z77Pro4M,
    X570_Pro4,
    X570_Taichi,
    X570_Phantom_Gaming_ITX,
    Z690_Extreme,
    Z690_Steel_Legend,
    Z790_Pro_RS,
    X570_Phantom_Gaming_4,
    Z790_Taichi,
    Z790_Nova_WiFi,
    B650M_C,
    H61M_DGS,
    B850M_STEEL_LEGEND_WIFI,
    X870E_TAICHI,
    X870E_NOVA_WIFI,

    // ASUS
    CROSSHAIR_III_FORMULA,
    ROG_CROSSHAIR_VIII_HERO,
    ROG_CROSSHAIR_VIII_HERO_WIFI,
    ROG_CROSSHAIR_VIII_DARK_HERO,
    ROG_CROSSHAIR_VIII_FORMULA,
    ROG_CROSSHAIR_VIII_IMPACT,
    ROG_STRIX_X470_I,
    ROG_CROSSHAIR_X670E_EXTREME,
    ROG_CROSSHAIR_X670E_HERO,
    ROG_CROSSHAIR_X670E_GENE,
    ROG_STRIX_X670E_A_GAMING_WIFI,
    ROG_STRIX_X670E_E_GAMING_WIFI,
    ROG_STRIX_X670E_F_GAMING_WIFI,
    PROART_X670E_CREATOR_WIFI,
    ROG_STRIX_X570_E_GAMING,
    ROG_STRIX_X570_E_GAMING_WIFI_II,
    ROG_STRIX_X570_F_GAMING,
    ROG_STRIX_X570_I_GAMING,
    ROG_STRIX_B550_E_GAMING,
    ROG_STRIX_B550_F_GAMING_WIFI,
    ROG_STRIX_B550_I_GAMING,
    ROG_STRIX_B760_I_GAMING_WIFI,
    ROG_STRIX_Z390_E_GAMING,
    ROG_STRIX_Z390_F_GAMING,
    ROG_STRIX_Z390_I_GAMING,
    ROG_STRIX_Z690_A_GAMING_WIFI_D4,
    ROG_STRIX_Z690_G_GAMING_WIFI,
    ROG_STRIX_B850_E_GAMING_WIFI,
    ROG_STRIX_B850_I_GAMING_WIFI,
    ROG_MAXIMUS_XI_FORMULA,
    ROG_MAXIMUS_XII_Z490_FORMULA,
    ROG_MAXIMUS_X_HERO_WIFI_AC,
    ROG_MAXIMUS_Z690_FORMULA,
    ROG_MAXIMUS_Z690_HERO,
    ROG_MAXIMUS_Z690_EXTREME_GLACIAL,
    ROG_STRIX_Z790_I_GAMING_WIFI,
    ROG_STRIX_Z790_E_GAMING_WIFI,
    ROG_STRIX_Z790_E_GAMING_WIFI_II,
    M2N_SLI_Deluxe,
    M4A79XTD_EVO,
    P5W_DH_Deluxe,
    P6T,
    P6X58D_E,
    P8P67,
    P8P67_EVO,
    P8P67_M_PRO,
    P8P67_PRO,
    P8Z77_V,
    P9X79,
    PRIME_B650_PLUS,
    PRIME_X370_PRO,
    PRIME_X470_PRO,
    PRIME_X570_PRO,
    PROART_X570_CREATOR_WIFI,
    PRO_WS_X570_ACE,
    RAMPAGE_EXTREME,
    RAMPAGE_II_GENE,
    ROG_MAXIMUS_X_APEX,
    ROG_ZENITH_EXTREME,
    ROG_ZENITH_II_EXTREME,
    TUF_X470_PLUS_GAMING,
    TUF_GAMING_X870_PLUS_WIFI,
    Z170_A,
    Z170_PRO_GAMING,
    B150M_C,
    B150M_C_D3,
    TUF_GAMING_X570_PLUS_WIFI,
    TUF_GAMING_B550M_PLUS_WIFI,
    TUF_GAMING_B760M_PLUS_WIFI_D4,
    ROG_MAXIMUS_Z790_HERO,
    ROG_MAXIMUS_Z790_DARK_HERO,
    PRIME_Z690_A,
    ROG_MAXIMUS_Z790_FORMULA,
    ROG_MAXIMUS_XII_HERO_WIFI,
    ROG_STRIX_X870_I_GAMING_WIFI,
    PRIME_X870_P,
    ROG_CROSSHAIR_X870E_APEX,
    ROG_CROSSHAIR_X870E_HERO,
    ROG_CROSSHAIR_X870E_DARK_HERO,
    ROG_STRIX_X870E_E_GAMING_WIFI,
    PROART_X870E_CREATOR_WIFI,
    PROART_B760_CREATOR_D4,
    TUF_GAMING_B450_PLUS_II,
    TUF_GAMING_B850M_PLUS_II,

    //BIOSTAR
    B660GTN,
    X670E_Valkyrie,

    // DFI
    LP_BI_P45_T2RS_Elite,
    LP_DK_P55_T3EH9,

    // ECS
    A890GXM_A,

    // MSI
    B350_Gaming_Plus,
    B360M_PRO_VDH,
    B450A_PRO,
    B550A_PRO,
    B650M_Gaming_Plus_Wifi,
    Z270_PC_MATE,
    Z77_MS7751,
    Z68_MS7672,
    X570_Gaming_Plus,
    X570_MS7C35,
    B850M_MORTAR,
    B850M_MORTAR_WIFI,
    B850_GAMING_PLUS_WIFI,
    B850_GAMING_PLUS_WIFI6E,
    B850_GAMING_PLUS_WIFI_PZ,
    B850M_GAMING_PLUS_WIFI,
    B850M_GAMING_PLUS_WIFI6E,
    B840P_PRO_WIFI,
    B840M_GAMING_PLUS_WIFI6E,
    B850_TOMAHAWK_WIFI,
    B850_TOMAHAWK_MAX_WIFI,
    B650M_PROJECT_ZERO,
    B850P_PRO_WIFI,
    B850MA_PRO_WIFI,
    B850MA_PRO_WIFI_PZ,
    B850MP_PRO_WIFI,
    B850_EDGE_TI_WIFI,
    B850I_EDGE_TI_WIFI,
    B850MPOWER,
    X870_GAMING_PLUS_WIFI,
    X870E_GAMING_PLUS_WIFI,
    X870_TOMAHAWK_WIFI,
    X870E_TOMAHAWK_WIFI,
    X870E_TOMAHAWK_MAX_WIFI_PZ,
    X870E_GODLIKE,
    X870P_PRO_WIFI,
    X870EP_PRO_WIFI,
    X870E_CARBON_WIFI,
    X870E_EDGE_TI_WIFI,
    X870E_ACE_MAX,
    Z790_GODLIKE_MAX,
    Z890_ACE,
    Z890_TOMAHAWK_WIFI,
    Z890_CARBON_WIFI,
    Z890_EDGE_TI_WIFI,
    Z890_UNIFY_X,
    Z890I_EDGE_TI_WIFI,
    Z890P_PRO_WIFI,
    Z890A_PRO_WIFI,
    Z890S_PRO_WIFI,
    Z890_GAMING_PLUS_WIFI,
    Z890S_PRO_WIFI_PROJECT_ZERO,
    B850S_PRO_WIFI6E,
    Z390_GAMING_EDGE_AC,

    // EVGA
    X58_SLI_Classified,
    X58_3X_SLI,

    // Gigabyte
    _965P_S3,
    _970A_DS3P,
    _970A_UD3,
    AB350_Gaming_3,
    AX370_Gaming_5,
    AX370_Gaming_K7,
    A320M_S2H_CF,
    B360M_H,
    B360_AORUS_GAMING_3_WIFI_CF,
    B550_AORUS_MASTER,
    B550_AORUS_PRO,
    B550_AORUS_PRO_AC,
    B550_AORUS_PRO_AX,
    B550_VISION_D,
    B550_AORUS_ELITE,
    B550_AORUS_ELITE_AX,
    B550_GAMING_X,
    B550_UD_AC,
    B550M_AORUS_PRO,
    B550M_AORUS_PRO_AX,
    B550M_AORUS_ELITE,
    B550M_GAMING,
    B550M_DS3H,
    B550M_DS3H_AC,
    B550M_S2H,
    B550M_H,
    B550I_AORUS_PRO_AX,
    B560M_AORUS_ELITE,
    B560M_AORUS_PRO,
    B560M_AORUS_PRO_AX,
    B560I_AORUS_PRO_AX,
    B650_EAGLE_AX,
    B660_DS3H_DDR4,
    B660_DS3H_AC_DDR4,
    B660M_DS3H_AX_DDR4,
    EP45_DS3R,
    EP45_UD3R,
    EX58_EXTREME,
    EX58_UD3R,
    G41M_COMBO,
    G41MT_S2,
    G41MT_S2P,
    H55_USB3,
    H55N_USB3,
    H61M_DS2_REV_1_2,
    H61M_USB3_B3_REV_2_0,
    H67A_UD3H_B3,
    H67A_USB3_B3,
    H97_D3H,
    H81M_HD3,
    B75M_D3H,
    MA770T_UD3,
    MA770T_UD3P,
    MA785GM_US2H,
    MA785GMT_UD2H,
    MA78LM_S2H,
    MA790X_UD3P,
    MA790X_DS4,
    P35_DS3,
    P35_DS3L,
    P55_UD4,
    P55A_UD3,
    P55M_UD4,
    P67A_UD3_B3,
    P67A_UD3R_B3,
    P67A_UD4_B3,
    P8Z68_V_PRO,
    X38_DS5,
    X399_AORUS_Gaming_7,
    X58A_UD3R,
    X79_UD3,
    Z390_AORUS_ULTRA,
    Z390_AORUS_PRO,
    Z390_M_GAMING,
    Z390_UD,
    Z68A_D3H_B3,
    Z68AP_D3,
    Z68X_UD3H_B3,
    Z68X_UD7_B3,
    Z68XP_UD3R,
    Z690_AORUS_PRO,
    Z690_AORUS_ULTRA,
    Z690_AORUS_MASTER,
    Z690_GAMING_X_DDR4,
    Z790_AORUS_PRO_X,
    Z790_UD,
    Z790_UD_AC,
    Z790_GAMING_X,
    Z790_GAMING_X_AX,
    Z170N_WIFI,
    B450_AORUS_M,
    B450_AORUS_PRO,
    B450_GAMING_X,
    B450_AORUS_ELITE,
    B450M_AORUS_ELITE,
    B450M_GAMING,
    B450_I_AORUS_PRO_WIFI,
    B450M_DS3H,
    B450M_S2H,
    B450M_H,
    B450M_K,
    X470_AORUS_GAMING_7_WIFI,
    X570_AORUS_MASTER,
    X570_AORUS_PRO,
    X570_GAMING_X,
    X570_AORUS_ULTRA,
    B650_AORUS_ELITE,
    B650_AORUS_ELITE_AX,
    B650_AORUS_ELITE_V2,
    B650_AORUS_ELITE_AX_V2,
    B650_AORUS_ELITE_AX_ICE,
    B650_GAMING_X_AX,
    B650E_AORUS_ELITE_AX_ICE,
    B650M_AORUS_PRO,
    B650M_AORUS_PRO_AX,
    B650M_AORUS_ELITE,
    B650M_AORUS_ELITE_AX,
    B650I_AX,
    X670E_AORUS_XTREME,
    X870E_AORUS_PRO,
    X870E_AORUS_PRO_ICE,
    X870E_AORUS_XTREME_AI_TOP,
    X870_AORUS_ELITE_WIFI7,
    X870_AORUS_ELITE_WIFI7_ICE,
    X670_AORUS_ELITE_AX,

    // Shuttle
    FH67,

    //Supermicro
    X11SWN_E,

    // Framework
    FRANBMCP03, // Intel Core i5-1135G7
    FRANBMCP06, // Intel Core i7-1165G7
    FRANBMCP08, // Intel Core i7-1185G7
    FRANBMCP0A, // Intel Core i5-1135G7
    FRANBMCP0B, // Intel Core i7-1165G7
    FRANBMCP0C, // Intel Core i7-1185G7
    FRANGACP04, // Intel Core i5-1240P
    FRANGACP06, // Intel Core i7-1260P
    FRANGACP08, // Intel Core i7-1280P
    FRANMACP04, // Intel Core i5-1240P
    FRANMACP06, // Intel Core i7-1260P
    FRANMACP08, // Intel Core i7-1280P
    FRANMBCP04, // Intel Core i5-1240P Chromebook?
    FRANMCCP04, // Intel Core i5-1340P
    FRANMCCP06, // Intel Core i7-1360P
    FRANMCCP07, // Intel Core i7-1370P
    FRANMDCP05, // FW13 AMD Ryzen 5 7640U
    FRANMDCP07, // FW13 AMD Ryzen 7 7840U
    FRANMECP02, // FW13 Intel Core Ultra 5 125H
    FRANMECP05, // FW13 Intel Core Ultra 7 155H
    FRANMECP06, // FW13 Intel Core Ultra 7 165H
    FRANMZCP07, // FW16 AMD Ryzen 7 7840HS
    FRANMZCP09, // FW16 AMD Ryzen 9 7940HS
    FRANMFCP02, // Desktop AMD RYZEN AI MAX 385
    FRANMFCP04, // Desktop AMD RYZEN AI MAX+ 395
    FRANMFCP06, // Desktop AMD RYZEN AI MAX+ 395
    FRAPMACP03, // FW12 Intel Core i3-1315U
    FRAPMACP05, // FW12 Intel Core i5-1334U
    FRANMGCP05, // FW13 AMD Ryzen AI 5 340
    FRANMGCP07, // FW13 AMD Ryzen AI 7 350
    FRANMGCP09, // FW13 AMD Ryzen AI 9 HX 370

    // Unknown
    Unknown
}
