package genconfig

configuration conf {
	include embox.arch.system(core_freq=800000000)
	include embox.arch.arm.armv7a.head
	include embox.arch.arm.armv7a.cpu_idle
	include embox.arch.arm.armlib.locore
	include embox.arch.arm.armlib.interrupt
	include embox.arch.arm.armlib.context
	include embox.arch.arm.armlib.mem_barriers
	include embox.arch.arm.armlib.static_excpt_table
	include embox.arch.arm.stackframe
	include embox.arch.arm.vfork
	include embox.arch.arm.fpu.vfpv3

	include platform.imx.platform_shutdown
	include platform.imx.cpuinfo

	include embox.kernel.cpu.bkl
	include embox.kernel.cpu.cpudata
	include embox.kernel.irq

	@Runlevel(0) include embox.driver.cache.pl310(base_addr=0x00A02000)

	@Runlevel(0) include embox.kernel.task.kernel_task
	@Runlevel(0) include embox.mem.phymem
	@Runlevel(0) include embox.arch.arm.mmu_small_page(domain_access=1)
	//@Runlevel(0) include embox.mem.vmem

	include embox.kernel.thread.core(thread_stack_size=0x200000)

	include embox.arch.arm.libarch

	@Runlevel(0) include embox.kernel.critical

	@Runlevel(0) include embox.driver.gpio.imx
	include embox.driver.interrupt.gicv1(gicd_base=0x00a01000, gicc_base=0x00a00100)
	@Runlevel(0) include embox.kernel.stack(stack_size=0x200000)

	include embox.driver.serial.imx_uart_diag(base_addr=0x02020000)
	include embox.driver.serial.imx_uart_ttyS0(base_addr=0x02020000, irq_num=58)
	@Runlevel(1) include embox.driver.diag(impl="embox__driver__serial__imx_uart_diag")

	@Runlevel(0) include embox.driver.clock.cortexa9(periph_base_addr=0x00a00000,irq_num=29)
	include embox.kernel.time.jiffies(cs_name="cortexa9_timer")

	@Runlevel(2) include embox.driver.net.fec(log_level="LOG_NONE", speed=100)
	@Runlevel(2) include embox.driver.net.loopback

	@Runlevel(2) include embox.driver.gpu.ipu_v3(log_level="LOG_ERR", base_addr=0x02600000, xres=800, yres=480)
	@Runlevel(2) include embox.driver.gpu.ldb(log_level="LOG_ERR")

	@Runlevel(1) include embox.driver.usb.class.mass_storage(log_level="LOG_ERR")
	@Runlevel(2) include embox.driver.usb.core(log_level="LOG_ERR")
	@Runlevel(2) include embox.driver.usb.hc.ehci_hcd(log_level="LOG_ERR", tt_support=1)
	@Runlevel(2) include embox.driver.usb.ci_hdrc_imx(log_level="LOG_ERR", base_addr=0x02184200, irq_num=72)
	include embox.driver.scsi(log_level="LOG_DEBUG")

	include embox.fs.syslib.file_system_none
	include embox.fs.syslib.perm_stub
	include embox.compat.posix.file_system_dvfs

	include embox.fs.driver.devfs_dvfs
	include embox.fs.driver.fat_dvfs
	include embox.fs.driver.initfs_dvfs
	@Runlevel(2) include embox.fs.rootfs_dvfs

	//include embox.driver.mmc.mmc_core(log_level="LOG_ERR")
	//include embox.driver.mmc.host.imx_usdhc(log_level="LOG_ERR",base_addr=0x02190000,hc_quantity=4)
	//include embox.driver.mmc.host.sdhci_ops(log_level="LOG_ERR")

	include embox.cmd.testing.block_dev_test

	//include embox.test.kernel.timer_test
	include embox.kernel.task.resource.errno

	include embox.mem.bitmask(page_size=1048576)
	include embox.lib.debug.whereami

	@Runlevel(2) include embox.cmd.sh.tish(prompt="%u@%h:%w%$", rich_prompt_support=1, builtin_commands="exit logout cd export mount umount")
	@Runlevel(3) include embox.init.start_script(shell_name="tish", tty_dev="ttyS0", shell_start=1, stop_on_error=true)

	@Runlevel(2) include embox.net.skbuff(amount_skb=4000)
	@Runlevel(2) include embox.net.skbuff_data(amount_skb_data=4000,data_size=1514,data_align=1,data_padto=1,ip_align=true)
	@Runlevel(2) include embox.net.skbuff_extra(amount_skb_extra=128,extra_size=10,extra_align=1,extra_padto=1)

	include embox.cmd.help
	include embox.cmd.service
	include embox.cmd.sys.env
	include embox.cmd.sys.export
	include embox.cmd.sys.shutdown

	include embox.cmd.fs.cat
	include embox.cmd.fs.cd
	include embox.cmd.fs.dd
	include embox.cmd.fs.echo
	include embox.cmd.fs.ls
	include embox.cmd.fs.mkdir
	include embox.cmd.fs.mount

	include embox.cmd.net.ifconfig
	include embox.cmd.net.httpd
	include embox.cmd.net.ping
	include embox.cmd.net.route
	include embox.cmd.net.telnetd

	include embox.cmd.testing.ticker
	include embox.cmd.testing.block_dev_test

	include embox.cmd.hw.lsusb
	include embox.cmd.hw.lsblk
	include embox.cmd.hw.partition

	@Runlevel(2) include embox.mem.static_heap(heap_size=64000000)
	@Runlevel(2) include embox.mem.heap_bm(heap_size=32000000)

	include embox.driver.spi.imx6_ecspi
	@Runlevel(1) include embox.driver.spi.imx6_ecspi1(
		base_addr=0x02008000, pins_group=1)

	include embox.compat.posix.passwd
	include embox.compat.libc.stdio.print(support_floating=0)
	//include embox.test.spi.spi_jedec_test

	include embox.driver.clk.ccm_imx6(log_level="LOG_DEBUG")

	@Runlevel(2) include embox.lib.libds
	@Runlevel(2) include embox.framework.LibFramework
	@Runlevel(2) include embox.compat.libc.all
	include embox.compat.libc.math_openlibm
	include embox.compat.libc.stdio.asprintf
	include embox.compat.posix.proc.atexit_stub

	include embox.cmd.testing.fb_devfs_access
	include embox.cmd.testing.fb_direct_access

	include embox.compat.atomic.pseudo_atomic
}
