diff --git a/src/flash/cfi.c b/src/flash/cfi.c
index c52933854ebe6bd00cb14fc7f5da247cb9c54bf1..902b7125645ffa36abcb280fbfefa02b8ac45b1b 100644
--- a/src/flash/cfi.c
+++ b/src/flash/cfi.c
@@ -89,6 +89,7 @@ cfi_fixup_t cfi_jedec_fixups[] = {
 	{CFI_MFR_SST, 0x00D5, cfi_fixup_non_cfi, NULL},
 	{CFI_MFR_SST, 0x00D6, cfi_fixup_non_cfi, NULL},
 	{CFI_MFR_SST, 0x00D7, cfi_fixup_non_cfi, NULL},
+	{CFI_MFR_SST, 0x2780, cfi_fixup_non_cfi, NULL},
 	{CFI_MFR_ST, 0x00D5, cfi_fixup_non_cfi, NULL},
 	{CFI_MFR_ST, 0x00D6, cfi_fixup_non_cfi, NULL},
 	{CFI_MFR_AMD, 0x2223, cfi_fixup_non_cfi, NULL},
@@ -102,6 +103,7 @@ cfi_fixup_t cfi_0002_fixups[] = {
 	{CFI_MFR_SST, 0x00D5, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
 	{CFI_MFR_SST, 0x00D6, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
 	{CFI_MFR_SST, 0x00D7, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
+	{CFI_MFR_SST, 0x2780, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
 	{CFI_MFR_ATMEL, 0x00C8, cfi_fixup_atmel_reversed_erase_regions, NULL},
 	{CFI_MFR_ANY, CFI_ID_ANY, cfi_fixup_0002_erase_regions, NULL},
 	{0, 0, NULL, NULL}
@@ -590,7 +592,8 @@ int cfi_intel_info(struct flash_bank_s *bank, char *buf, int buf_size)
 
 int cfi_register_commands(struct command_context_s *cmd_ctx)
 {
-	/*command_t *cfi_cmd = */register_command(cmd_ctx, NULL, "cfi", NULL, COMMAND_ANY, NULL);
+	/*command_t *cfi_cmd = */
+	register_command(cmd_ctx, NULL, "cfi", NULL, COMMAND_ANY, "flash bank cfi <base> <size> <chip_width> <bus_width> <targetNum> [jedec_probe/x16_as_x8]");
 	/*
 	register_command(cmd_ctx, cfi_cmd, "part_id", cfi_handle_part_id_command, COMMAND_EXEC,
 					 "print part id of cfi flash bank <num>");
diff --git a/src/flash/non_cfi.c b/src/flash/non_cfi.c
index d80f37843c65c365762fe6207dfafcf8a7c5905b..dbb02b0ca627dfa61ae1c4fec9e11e7acff77340 100644
--- a/src/flash/non_cfi.c
+++ b/src/flash/non_cfi.c
@@ -87,6 +87,20 @@ non_cfi_t non_cfi_flashes[] = {
 			0x00000000
 		}
 	},
+	{
+		.mfr = CFI_MFR_SST,
+		.id = 0x2780,
+		.pri_id = 0x02,
+		.dev_size = 0x13,			/* 2^19 = 512KB */
+		.interface_desc = 0x2,		/* x8 or x16 device */
+		.max_buf_write_size = 0x0,
+		.num_erase_regions = 1,
+		.erase_region_info =
+		{
+			0x0010007f,
+			0x00000000
+		}
+	},
 	{
 		.mfr = CFI_MFR_ST,
 		.id = 0xd6,					/* ST29F400BB */
@@ -241,3 +255,4 @@ void cfi_fixup_non_cfi(flash_bank_t *bank, void *param)
 	}
 }
 
+