RESET_TYPE_WATCHDOG     = 2,
        RESET_TYPE_SOFTWARE     = 3,
        RESET_TYPE_USER         = 4,
+       RESET_TYPE_CPU_FAIL     = 6,
+       RESET_TYPE_XTAL_FAIL    = 7,
+       RESET_TYPE_ULP2         = 8,
 };
 
 static void __iomem *at91_ramc_base[2], *at91_rstc_base;
        case RESET_TYPE_USER:
                reason = "user reset";
                break;
+       case RESET_TYPE_CPU_FAIL:
+               reason = "CPU clock failure detection";
+               break;
+       case RESET_TYPE_XTAL_FAIL:
+               reason = "32.768 kHz crystal failure detection";
+               break;
+       case RESET_TYPE_ULP2:
+               reason = "ULP2 reset";
+               break;
        default:
                reason = "unknown reset";
                break;
        { .compatible = "atmel,at91sam9g45-rstc", .data = at91sam9g45_restart },
        { .compatible = "atmel,sama5d3-rstc", .data = sama5d3_restart },
        { .compatible = "atmel,samx7-rstc", .data = samx7_restart },
+       { .compatible = "microchip,sam9x60-rstc", .data = samx7_restart },
        { /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, at91_reset_of_match);