config BR2_TARGET_ROOTFS_JFFS2
	bool "jffs2 root filesystem"
	select BR2_HOST_FAKEROOT
	select BR2_PACKAGE_MTD
	help
	  Build a jffs2 root filesystem

choice
	prompt "Memory Type"
	default BR2_TARGET_ROOTFS_JFFS2_FLASH_128
	depends on BR2_TARGET_ROOTFS_JFFS2

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

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

config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K
	bool "NAND flash with 2kB Page and 128 kB erasesize"
	depends on BR2_TARGET_ROOTFS_JFFS2
	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"
	depends on BR2_TARGET_ROOTFS_JFFS2

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

config BR2_TARGET_ROOTFS_JFFS2_CUSTOM
	bool "Select custom page and erase size"
	depends on BR2_TARGET_ROOTFS_JFFS2

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
	depends on BR2_TARGET_ROOTFS_JFFS2
	default 0x420 if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_1056
	default 0x210 if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_528
	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
	depends on BR2_TARGET_ROOTFS_JFFS2
	default 0x2100 if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_1056
	default 0x1080 if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_528
	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"
	depends on BR2_TARGET_ROOTFS_JFFS2
	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_2K_128K
	help
	  Do not use cleanmarkers if using NAND flash or Dataflash where
	  the pagesize is not a power of 2

config BR2_JFFS2_TARGET_SREC
	bool "RootFS in SREC file formet"
	depends on BR2_TARGET_ROOTFS_JFFS2

config BR2_TARGET_ROOTFS_JFFS2_PAD
	bool "Pad output"
	depends on BR2_TARGET_ROOTFS_JFFS2

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_LE
	depends on BR2_TARGET_ROOTFS_JFFS2

config BR2_TARGET_ROOTFS_JFFS2_LE
	bool "little-endian"
	depends on BR2_TARGET_ROOTFS_JFFS2

config BR2_TARGET_ROOTFS_JFFS2_BE
	bool "big-endian"
	depends on BR2_TARGET_ROOTFS_JFFS2

endchoice

config BR2_TARGET_ROOTFS_JFFS2_SQUASH
	bool "Make all files be owned by root"
	depends on BR2_TARGET_ROOTFS_JFFS2

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

config BR2_TARGET_ROOTFS_JFFS2_OUTPUT
	string "Output File"
	depends on BR2_TARGET_ROOTFS_JFFS2
	default "$(IMAGE).jffs2"

config BR2_TARGET_ROOTFS_JFFS2_COPYTO
	string "also copy the image to..."
	depends on BR2_TARGET_ROOTFS_JFFS2
	default ""
	help
	  Copies the resulting image to a secondary location.

