NFIT_UUID_MAX,
 };
 
+enum nfit_fic {
+       NFIT_FIC_BYTE = 0x101, /* byte-addressable energy backed */
+       NFIT_FIC_BLK = 0x201, /* block-addressable non-energy backed */
+       NFIT_FIC_BYTEN = 0x301, /* byte-addressable non-energy backed */
+};
+
 enum {
        ND_BLK_READ_FLUSH = 1,
        ND_BLK_DCR_LATCH = 2,
 
        dcr->device_id = 0;
        dcr->revision_id = 1;
        dcr->serial_number = ~handle[0];
+       dcr->code = NFIT_FIC_BLK;
        dcr->windows = 1;
        dcr->window_size = DCR_SIZE;
        dcr->command_offset = 0;
        dcr->device_id = 0;
        dcr->revision_id = 1;
        dcr->serial_number = ~handle[1];
+       dcr->code = NFIT_FIC_BLK;
        dcr->windows = 1;
        dcr->window_size = DCR_SIZE;
        dcr->command_offset = 0;
        dcr->device_id = 0;
        dcr->revision_id = 1;
        dcr->serial_number = ~handle[2];
+       dcr->code = NFIT_FIC_BLK;
        dcr->windows = 1;
        dcr->window_size = DCR_SIZE;
        dcr->command_offset = 0;
        dcr->device_id = 0;
        dcr->revision_id = 1;
        dcr->serial_number = ~handle[3];
+       dcr->code = NFIT_FIC_BLK;
        dcr->windows = 1;
        dcr->window_size = DCR_SIZE;
        dcr->command_offset = 0;
                dcr->device_id = 0;
                dcr->revision_id = 1;
                dcr->serial_number = ~handle[4];
+               dcr->code = NFIT_FIC_BLK;
                dcr->windows = 1;
                dcr->window_size = DCR_SIZE;
                dcr->command_offset = 0;
        dcr->device_id = 0;
        dcr->revision_id = 1;
        dcr->serial_number = ~0;
-       dcr->code = 0x201;
+       dcr->code = NFIT_FIC_BYTE;
        dcr->windows = 0;
        dcr->window_size = 0;
        dcr->command_offset = 0;