#define MACH_LEMOTE_ML2F7      3
 #define MACH_LEMOTE_YL2F89     4
 #define MACH_DEXXON_GDIUM2F10  5
-#define MACH_LOONGSON_END      6
+#define MACH_LEMOTE_NAS        6
+#define MACH_LOONGSON_END      7
 
 extern char *system_type;
 const char *get_system_type(void);
 
        [MACH_LEMOTE_ML2F7]             "lemote-mengloong-2f-7inches",
        [MACH_LEMOTE_YL2F89]            "lemote-yeeloong-2f-8.9inches",
        [MACH_DEXXON_GDIUM2F10]         "dexxon-gidum-2f-10inches",
+       [MACH_LEMOTE_NAS]               "lemote-nas-2f",
        [MACH_LOONGSON_END]             NULL,
 };
 
 
        [MACH_LEMOTE_ML2F7]             {PORT_M(3), {} },
        [MACH_LEMOTE_YL2F89]            {PORT_M(3), {} },
        [MACH_DEXXON_GDIUM2F10]         {PORT_M(3), {} },
+       [MACH_LEMOTE_NAS]               {PORT_M(3), {} },
        [MACH_LOONGSON_END]             {},
 };
 
 
        [MACH_LEMOTE_ML2F7]     (LOONGSON_LIO1_BASE + 0x3f8),
        [MACH_LEMOTE_YL2F89]    (LOONGSON_LIO1_BASE + 0x3f8),
        [MACH_DEXXON_GDIUM2F10] (LOONGSON_LIO1_BASE + 0x3f8),
+       [MACH_LEMOTE_NAS]       (LOONGSON_LIO1_BASE + 0x3f8),
        [MACH_LOONGSON_END]     0,
 };
 EXPORT_SYMBOL(uart8250_base);
 
 {
        switch (mips_machtype) {
        case MACH_LEMOTE_FL2F:
+       case MACH_LEMOTE_NAS:
                fl2f_reboot();
                break;
        case MACH_LEMOTE_ML2F7:
 {
        switch (mips_machtype) {
        case MACH_LEMOTE_FL2F:
+       case MACH_LEMOTE_NAS:
                fl2f_shutdown();
                break;
        case MACH_LEMOTE_ML2F7: