static int cppc_state = AMD_PSTATE_UNDEFINED;
 static bool cppc_enabled;
 static bool amd_pstate_prefcore = true;
+static struct quirk_entry *quirks;
 
 /*
  * AMD Energy Preference Performance (EPP)
 
 typedef int (*cppc_mode_transition_fn)(int);
 
+static struct quirk_entry quirk_amd_7k62 = {
+       .nominal_freq = 2600,
+       .lowest_freq = 550,
+};
+
+static int __init dmi_matched_7k62_bios_bug(const struct dmi_system_id *dmi)
+{
+       /**
+        * match the broken bios for family 17h processor support CPPC V2
+        * broken BIOS lack of nominal_freq and lowest_freq capabilities
+        * definition in ACPI tables
+        */
+       if (boot_cpu_has(X86_FEATURE_ZEN2)) {
+               quirks = dmi->driver_data;
+               pr_info("Overriding nominal and lowest frequencies for %s\n", dmi->ident);
+               return 1;
+       }
+
+       return 0;
+}
+
+static const struct dmi_system_id amd_pstate_quirks_table[] __initconst = {
+       {
+               .callback = dmi_matched_7k62_bios_bug,
+               .ident = "AMD EPYC 7K62",
+               .matches = {
+                       DMI_MATCH(DMI_BIOS_VERSION, "5.14"),
+                       DMI_MATCH(DMI_BIOS_RELEASE, "12/12/2019"),
+               },
+               .driver_data = &quirk_amd_7k62,
+       },
+       {}
+};
+MODULE_DEVICE_TABLE(dmi, amd_pstate_quirks_table);
+
 static inline int get_mode_idx_from_str(const char *str, size_t size)
 {
        int i;
        if (ret)
                return ret;
 
-       min_freq = cppc_perf.lowest_freq * 1000;
-       nominal_freq = cppc_perf.nominal_freq;
+       if (quirks && quirks->lowest_freq)
+               min_freq = quirks->lowest_freq * 1000;
+       else
+               min_freq = cppc_perf.lowest_freq * 1000;
+
+       if (quirks && quirks->nominal_freq)
+               nominal_freq = quirks->nominal_freq ;
+       else
+               nominal_freq = cppc_perf.nominal_freq;
+
        nominal_perf = READ_ONCE(cpudata->nominal_perf);
 
        highest_perf = READ_ONCE(cpudata->highest_perf);
        if (cpufreq_get_current_driver())
                return -EEXIST;
 
+       quirks = NULL;
+
+       /* check if this machine need CPPC quirks */
+       dmi_check_system(amd_pstate_quirks_table);
+
        switch (cppc_state) {
        case AMD_PSTATE_UNDEFINED:
                /* Disable on the following configs by default: