package embox.driver.audio

@BuildDepends(third_party.bsp.st_bsp_api)
module stm32f4_discovery {
	option string log_level="LOG_ERR"

	option number volume = 70
	option number audio_buf_len = 512

	option number audio_out_dma_irq = 47
	option number audio_in_dma_irq  = 14

	@IncludeExport(path="drivers/audio", target_name="stm32f4_audio.h")
	source "stm32f4_discovery_audio.h"

	source "stm32_audio_f4.c",
			"stm32f4_discovery_audio.c"

	depends embox.driver.audio.portaudio_lib
	depends embox.driver.audio.audio_dev

	depends third_party.bsp.st_bsp_api
}

@BuildDepends(third_party.bsp.st_bsp_api)
module stm32f746g_discovery {
	option string log_level="LOG_ERR"
	option number volume = 70
	option number audio_buf_len = 4096
	option number audio_out_dma_irq = 60
	option number audio_in_dma_irq  = 70

	@IncludeExport(path="drivers/audio", target_name="stm32f7_audio.h")
	source "stm32f746g_discovery_audio.h"

	source "stm32_audio_f7.c",
			"stm32f746g_discovery_audio.c"

	depends embox.driver.audio.portaudio_lib
	depends embox.driver.audio.audio_dev

	depends third_party.bsp.st_bsp_api
	depends third_party.bsp.stmf7cube.stm32f7_discovery_components
}

@BuildDepends(third_party.bsp.st_bsp_api)
module stm32f769i_discovery {
	option string log_level="LOG_ERR"
	option number volume = 70
	option number audio_buf_len = 4096
	option number audio_out_dma_irq      = 57
	option number dfsdm_top_left_irq     = 56
	option number dfsdm_top_right_irq    = 68
	option number dfsdm_bottom_left_irq  = 69
	option number dfsdm_bottom_right_irq = 70

	@IncludeExport(path="drivers/audio", target_name="stm32f7_audio.h")
	source "stm32f769i_discovery_audio.h"

	source "stm32_audio_f7.c",
			"stm32f769i_discovery_audio.c"

	depends embox.driver.audio.portaudio_lib
	depends embox.driver.audio.audio_dev

	depends third_party.bsp.st_bsp_api
	depends third_party.bsp.stmf7cube.stm32f7_discovery_components
}

@BuildDepends(third_party.bsp.st_bsp_api)
module stm32h745i_discovery {
	option string log_level="LOG_ERR"

	option number volume = 70

	option number audio_buf_len = 4096
	option number audio_out_dma_irq = 57
	option number audio_in_dma_irq  = 60
	option number audio_in_pdm_dma_irq  = 130

	@IncludeExport(path="drivers/audio", target_name="stm32h7_audio.h")
	source "stm32h745i_discovery_audio.h"

	source "stm32_audio_h7.c",
			"stm32h745i_discovery_audio.c"

	depends embox.driver.audio.portaudio_lib
	depends embox.driver.audio.audio_dev

	depends third_party.bsp.st_bsp_api
	depends third_party.bsp.stmh7cube.stm32h7_discovery_components
}

@BuildDepends(third_party.bsp.st_bsp_api)
module stm32h7_common {
	option string log_level="LOG_ERR"

	option number volume = 70
	option number audio_buf_len = 4096

	source "stm32_audio_h7.c"

	depends embox.driver.audio.portaudio_lib
	depends embox.driver.audio.audio_dev

	depends third_party.bsp.st_bsp_api
}

