config BR2_TARGET_ROOTFS_JFFS2
	bool "jffs2 root filesystem"
	help
	  Build a jffs2 root filesystem

if BR2_TARGET_ROOTFS_JFFS2

choice
	prompt "Flash Type"
	default BR2_TARGET_ROOTFS_JFFS2_FLASH_128

config BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_1056
	bool "AT45 dataflash with 1056 byte pagesize"
	select BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER

config BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_528
	bool "AT45 dataflash with 528 byte pagesize"
	select BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER

config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_16K
	bool "NAND flash with 16 kB erasesize"
	select BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER

config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K
	bool "NAND flash with 128 kB erasesize"
	select BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER

config BR2_TARGET_ROOTFS_JFFS2_FLASH_128
	bool "Parallel flash with 128 kB erase size"

config BR2_TARGET_ROOTFS_JFFS2_FLASH_64
	bool "Parallel flash with 64 kB erase size"

config BR2_TARGET_ROOTFS_JFFS2_CUSTOM
	bool "Select custom erase size"

endchoice

config BR2_TARGET_ROOTFS_JFFS2_CUSTOM_EBSIZE
	hex "Erase block size"
	default 0x20000
	depends on BR2_TARGET_ROOTFS_JFFS2_CUSTOM
	help
	  Set to erase size of memory

config BR2_TARGET_ROOTFS_JFFS2_EBSIZE
	hex
	default 0x2100 if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_1056
	default 0x1080 if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_528
	default 0x4000 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_16K
	default 0x20000 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K
	default 0x20000 if BR2_TARGET_ROOTFS_JFFS2_FLASH_128
	default 0x10000 if BR2_TARGET_ROOTFS_JFFS2_FLASH_64
	default BR2_TARGET_ROOTFS_JFFS2_CUSTOM_EBSIZE if BR2_TARGET_ROOTFS_JFFS2_CUSTOM

config BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER
	bool "Do not use Cleanmarker"
	default y if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_1056
	default y if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_528
	default y if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_16K
	default y if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K
	help
	  Do not use cleanmarkers if using NAND flash or Dataflash where
	  the pagesize is not a power of 2

config BR2_TARGET_ROOTFS_JFFS2_PAD
	bool "Pad output"

config BR2_TARGET_ROOTFS_JFFS2_PADSIZE
	hex "Pad output size (0x0 = to end of EB)"
	default 0x0
	depends on BR2_TARGET_ROOTFS_JFFS2_PAD
	help
	  Set to 0x0 to pad to end of erase block.

choice
	prompt "Endianess"
	default BR2_TARGET_ROOTFS_JFFS2_BE if BR2_ENDIAN = "BIG"

config BR2_TARGET_ROOTFS_JFFS2_LE
	bool "little-endian"

config BR2_TARGET_ROOTFS_JFFS2_BE
	bool "big-endian"

endchoice

config BR2_TARGET_ROOTFS_JFFS2_SUMMARY
	bool "Produce a summarized JFFS2 image"
	help
	  A summarised image can be mounted faster if support is
	  enabled in the kernel (CONFIG_JFFS2_SUMMARY)

config BR2_TARGET_ROOTFS_JFFS2_USE_CUSTOM_PAGESIZE
	bool "Select custom virtual memory page size"
	help
	  Use a custom virtual memory page size. Note that this is not
	  related to the flash memory page size. Using this option is
	  only needed if Linux is configured to use a page size
	  different than 4kB.

config BR2_TARGET_ROOTFS_JFFS2_CUSTOM_PAGESIZE
	hex "Virtual memory page size"
	default 0x1000
	depends on BR2_TARGET_ROOTFS_JFFS2_USE_CUSTOM_PAGESIZE
	help
	  Set to virtual memory page size of target system (in bytes).
	  This value should match the virtual page size in Linux (i.e.
	  this should have the same value as the value of the PAGE_SIZE
	  macro in Linux). It is not related to the flash memory page
	  size.

endif
