# LEGO MINDSTORMS EV3 can boot from a 16MB flash or from a microSD card.
# The U-Boot bootloader from the flash is always used, even when booting
# from a microSD card.

# The Flash image

flash nor-16M-256 {
	pebsize = 4K
	numpebs = 4K
	minimum-io-unit-size = 256
}

image flash.bin {
	flash {
	}
	flashtype = "nor-16M-256"

	partition uboot {
		image = "u-boot.bin"
		size = 256K
	}

	partition dtb {
		image = "da850-lego-ev3.dtb"
		offset = 256K
		size = 64K
	}

	partition uimage {
		image = "uImage"
		offset = 320K
		size = 4M
	}

	partition rootfs {
		image = "rootfs.squashfs"
		offset = 4416K # 4M + 320KB
		size = 10M
	}
}

# The SD card image

image boot.vfat {
	vfat {
		file uImage {
			image = "uImage"
		}

		file da850-lego-ev3.dtb {
			image = "da850-lego-ev3.dtb"
		}
	}

	size = 16M
}

image sdcard.img {
	hdimage {
	}

	partition boot {
		partition-type = 0xC
		bootable = "true"
		image = "boot.vfat"
		offset = 4M
	}

	partition rootfs {
		partition-type = 0x83
		image = "rootfs.ext2"
	}
}
