package genconfig

configuration conf {
	include embox.arch.system(core_freq=100000000)
	include embox.arch.riscv.kernel.locore
	include embox.arch.riscv.kernel.context
	include embox.arch.riscv.libarch
	include embox.arch.riscv.vfork

	include platform.vostok.vostok_vg015_dev.platform_init

	include embox.driver.clk.niiet.k1921vg015_rcu

	@Runlevel(1) include embox.driver.interrupt.riscv_plic(base_addr=0x0C000000)


	@Runlevel(1) include embox.driver.clock.k1921vg015_tmr32
	include embox.kernel.time.jiffies(cs_name="tmr32")

	include embox.driver.serial.pl011(uartclk=50000000, use_bconf=true)
	include embox.driver.serial.pl011_diag(base_addr=0x30006000)
	include embox.driver.diag(impl="embox__driver__serial__pl011_diag")
	include embox.driver.serial.pl011_ttyS0(base_addr=0x30006000, irq_num=22)
	include embox.driver.serial.pl011_ttyS1(base_addr=0x30007000, irq_num=23)

	
	include embox.driver.flash.flash_cache_block
	include embox.driver.flash.niiet_mflash_in_chip(log_level="LOG_DEBUG", flash_size=0xC000)
	include embox.driver.flash.flash_fs

	include embox.driver.gpio.niiet_gpio


	@Runlevel(1) include embox.driver.spi.pl022_spi1(base_addr=0x20060000, irq_num=12, use_board_conf=true)
	@Runlevel(1) include embox.driver.spi.pl022_spi0(base_addr=0x20050000, irq_num=11, use_board_conf=true)
	@Runlevel(2) include embox.driver.spi.spi1_dev0(cs_port=1, cs_pin=5, cs_func=1)
	@Runlevel(2) include embox.driver.spi.spi0_dev0(cs_port=1, cs_pin=1, cs_func=1)

	@Runlevel(1) include embox.driver.i2c.niiet.vg015_i2c0(base_addr=0x30005000)

	include embox.driver.pwm.niiet_pwm0
	include embox.driver.pwm.niiet_pwm1
	include embox.driver.pwm.niiet_pwm2

	include embox.driver.tty.tty(rx_buff_sz=64, io_buff_sz=64)

	include embox.driver.periph_memory_stub

	include embox.kernel.stack(stack_size=0x3000)

	include embox.kernel.irq
	include embox.kernel.spinlock(spin_debug=false)
	include embox.kernel.critical
	
	include embox.kernel.task.multi
	include embox.kernel.task.resource.idesc_table(idesc_table_size=8)
	include embox.kernel.task.resource.sig_table(sig_table_size=20)
	include embox.kernel.task.resource.env(env_per_task=4,env_str_len=64)

	include embox.kernel.sched.strategy.priority_based

	include embox.kernel.thread.signal.siginfoq(siginfo_pool_sz=4)
	include embox.kernel.thread.thread_local_none
	include embox.kernel.thread.thread_cancel_disable
	include embox.kernel.thread.core(thread_pool_size=4, thread_stack_size=0x3000)
	include embox.kernel.thread.mutex

	@Runlevel(1) include embox.kernel.timer.sys_timer(timer_quantity=8)
	@Runlevel(1) include embox.kernel.timer.strategy.head_timer
	@Runlevel(1) include embox.kernel.time.kernel_time
	@Runlevel(1) include embox.kernel.timer.itimer(itimer_quantity=4)

	include embox.fs.rootfs_dvfs(fstype="initfs")
	include embox.fs.driver.initfs_dvfs(file_quantity=32)
	include embox.fs.driver.devfs_dvfs
	include embox.fs.driver.dfs(inode_count=4)

	include embox.net.skbuff(amount_skb=10)
	include embox.net.skbuff_data(amount_skb_data=10)
	include embox.net.sock_noxattr
	include embox.net.tcp
	include embox.net.tcp_sock

	include embox.lib.libds

	include embox.framework.LibFramework

	include embox.compat.libc.stdio.print(support_floating=0)
	include embox.compat.libc.stdio.scanf
	include embox.compat.libc.stdio.file_ops
	include embox.compat.posix.index_descriptor
	include embox.compat.posix.file_system_dvfs
	include embox.compat.libc.math_openlibm
	include embox.compat.posix.util.gethostname

	include embox.mem.heap_bm
	include embox.mem.static_heap(heap_size=0x10000) /* in SRAM_CCM */
	include embox.mem.bitmask(page_size=64)

	
	include embox.cmd.sh.shell_api(welcome_msg = "Welcome to Embox")
	
	@Runlevel(3) include embox.init.start_script(shell_name="tish",tty_dev="ttyS0")

	include embox.cmd.sh.tish
	include embox.cmd.sys.version
	include embox.cmd.help
	include embox.cmd.sys.uname

	include embox.cmd.msleep

	include embox.cmd.fs.dd
	include embox.cmd.fs.cat
	include embox.cmd.fs.ls
	include embox.cmd.fs.rm
	include embox.cmd.fs.mount
	include embox.cmd.fs.umount
	include embox.cmd.fs.stat
	include embox.cmd.fs.echo
	include embox.cmd.fs.touch
	include embox.cmd.fs.mkdir

	include embox.cmd.testing.ticker

	include embox.cmd.hardware.pin
	include embox.cmd.hw.lsblk
	include embox.cmd.hw.flash_erase
	include embox.cmd.hw.mem
	include embox.cmd.hw.pwm
	include embox.cmd.hardware.spi

	include embox.cmd.i2c_tools.i2cdetect
	include embox.cmd.i2c_tools.i2cdump
	include embox.cmd.i2c_tools.i2cget
	include embox.cmd.i2c_tools.i2cset

	include third_party.cmd.lua(luasocket_support=true)
	include third_party.lib.luasocket


}
