fs: fat: add kbuild configuration support

Add Kconfig symbols for various configurations
supported by FAT filesystem support code.

CONFIG_SUPPORT_VFAT has been left out since its
force enabled in include/fat.h and probably
should get removed at some point.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
[trini: add select FS_FAT for CMD_FAT and SPL_FAT_SUPPORT]
Signed-off-by: Tom Rini <trini@konsulko.com>
diff --git a/cmd/Kconfig b/cmd/Kconfig
index 6f75b86..270cff6 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -1166,6 +1166,7 @@
 
 config CMD_FAT
 	bool "FAT command support"
+	select FS_FAT
 	help
 	  Support for the FAT fs
 
diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index eabb2d0..48a0fad 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -306,6 +306,7 @@
 config SPL_FAT_SUPPORT
 	bool "Support FAT filesystems"
 	depends on SPL
+	select FS_FAT
 	help
 	  Enable support for FAT and VFAT filesystems with SPL. This
 	  permits U-Boot (or Linux in Falcon mode) to be loaded from a FAT
diff --git a/fs/fat/Kconfig b/fs/fat/Kconfig
index e69de29..e7978aa 100644
--- a/fs/fat/Kconfig
+++ b/fs/fat/Kconfig
@@ -0,0 +1,24 @@
+config FS_FAT
+	bool "Enable FAT filesystem support"
+	help
+	  This provides support for reading images from File Allocation Table
+	  (FAT) filesystem. FAT filesystem is a legacy, lightweight filesystem.
+	  It is useful mainly for its wide compatibility with various operating
+	  systems. You can also enable CMD_FAT to get access to fat commands.
+
+config FAT_WRITE
+	bool "Enable FAT filesystem write support"
+	depends on FS_FAT
+	help
+	  This provides support for creating and writing new files to an
+	  existing FAT filesystem partition.
+
+config FS_FAT_MAX_CLUSTSIZE
+	int "Set maximum possible clusersize"
+	default 65536
+	depends on FS_FAT
+	help
+	  Set the maximum possible clustersize for the FAT filesytem. This
+	  is the smallest amount of disk space that can be used to hold a
+	  file. Unless you have an extremely tight memory memory constraints,
+	  leave the default.