diff --git a/flashrom.c b/flashrom.c
index 59196bc..a176319 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -193,9 +193,19 @@
 	return 0;
 }
 
+void print_supported_chips(void)
+{
+	int i;
+
+	printf("Supported ROM chips:\n\n");
+
+	for (i = 0; flashchips[i].name != NULL; i++)
+		printf("%s\n", flashchips[i].name);
+}
+
 void usage(const char *name)
 {
-	printf("usage: %s [-rwvEVfhR] [-c chipname] [-s exclude_start]\n", name);
+	printf("usage: %s [-rwvEVfLhR] [-c chipname] [-s exclude_start]\n", name);
 	printf("       [-e exclude_end] [-m [vendor:]part] [-l file.layout] [-i imagename] [file]\n");
 	printf
 	    ("   -r | --read:                      read flash and save into file\n"
@@ -210,8 +220,10 @@
 	     "   -f | --force:                     force write without checking image\n"
 	     "   -l | --layout <file.layout>:      read rom layout from file\n"
 	     "   -i | --image <name>:              only flash image name from flash layout\n"
+	     "   -L | --list-supported:            print supported devices\n"
+	     "   -h | --help:                      print this help text\n"
 	     "   -R | --version:                   print the version (release)\n"
-            "\n" " If no file is specified, then all that happens"
+	     "\n" " If no file is specified, then all that happens"
 	     " is that flash info is dumped.\n\n");
 	exit(1);
 }
@@ -245,6 +257,7 @@
 		{"force", 0, 0, 'f'},
 		{"layout", 1, 0, 'l'},
 		{"image", 1, 0, 'i'},
+		{"list-supported", 0, 0, 'L'},
 		{"help", 0, 0, 'h'},
 		{"version", 0, 0, 'R'},
 		{0, 0, 0, 0}
@@ -264,7 +277,7 @@
 	}
 
 	setbuf(stdout, NULL);
-	while ((opt = getopt_long(argc, argv, "rRwvVEfc:s:e:m:l:i:h",
+	while ((opt = getopt_long(argc, argv, "rRwvVEfc:s:e:m:l:i:Lh",
 				  long_options, &option_index)) != EOF) {
 		switch (opt) {
 		case 'r':
@@ -317,6 +330,12 @@
 			tempstr = strdup(optarg);
 			find_romentry(tempstr);
 			break;
+		case 'L':
+			print_supported_chips();
+			print_supported_chipsets();
+			print_supported_boards();
+			exit(0);
+			break;
 		case 'R':
 			print_version();
 			exit(0);
