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_512_16K
	bool "NAND flash with 512B Page and 16 kB erasesize"
	select BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER

config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K
	bool "NAND flash with 2kB Page and 128 kB erasesize"
	select BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER

config BR2_TARGET_ROOTFS_JFFS2_FLASH_128
	bool "Parallel flash with 4 kB pagesize and 128 kB erase size"

config BR2_TARGET_ROOTFS_JFFS2_FLASH_64
	bool "Parallel flash with 4 kB pagesize and 64 kB erase size"

config BR2_TARGET_ROOTFS_JFFS2_CUSTOM
	bool "Select custom page and erase size"

endchoice

config BR2_TARGET_ROOTFS_JFFS2_CUSTOM_PAGESIZE
	hex "Page Size"
	depends on BR2_TARGET_ROOTFS_JFFS2_CUSTOM
	default 0x1000
	help
	  Set to pagesize of memory

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

config BR2_TARGET_ROOTFS_JFFS2_PAGESIZE
	hex
	default 0x420 if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_1056
	default 0x210 if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_528
	default 0x200 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K
	default 0x800 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K
	default 0x1000 if BR2_TARGET_ROOTFS_JFFS2_FLASH_128
	default 0x1000 if BR2_TARGET_ROOTFS_JFFS2_FLASH_64
	default $(BR2_TARGET_ROOTFS_JFFS2_CUSTOM_PAGESIZE) if BR2_TARGET_ROOTFS_JFFS2_CUSTOM

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_512_16K
	default 0x20000 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_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_512_16K
	default y if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_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)"
	depends on BR2_TARGET_ROOTFS_JFFS2_PAD
	default 0x0
	help
	  Set to 0x0 to pad to end of erase block.

choice
	prompt "Endianess"
	default BR2_TARGET_ROOTFS_JFFS2_BE if BR2_armeb || \
			BR2_avr32 || BR2_m68k || BR2_mips || \
			BR2_powerpc || BR2_sh2 || BR2_sh2a || \
			BR2_sh3eb || BR2_sh4eb || BR2_sh4aeb || BR2_sparc

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)

endif
