#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#

if ARCH_BOARD_NUCLEO_144

config STM32_ROMFS
	bool "Automount baked-in ROMFS image"
	default n
	depends on FS_ROMFS
	---help---
		Select STM32_ROMFS_IMAGEFILE, STM32_ROMFS_DEV_MINOR, STM32_ROMFS_MOUNTPOINT

config STM32_ROMFS_DEV_MINOR
	int "Minor for the block device backing the data"
	depends on STM32_ROMFS
	default 64

config STM32_ROMFS_MOUNTPOINT
	string "Mountpoint of the custom romfs image"
	depends on STM32_ROMFS
	default "/rom"

config STM32_ROMFS_IMAGEFILE
	string "ROMFS image file to include into build"
	depends on STM32_ROMFS
	default "../../../rom.img"

choice
	prompt "Select Console wiring."
	default NUCLEO_CONSOLE_ARDUINO
	---help---
		Select where you will connect the console.

		Virtual COM Port:

		Advantage: Use the ST-Link as a console. No Extra wiring
		needed.

		Disadvantage: Not the best choice for initial bring up.

		ARDUINO Connector:

		Advantage: You have a shield so it is easy.

		Disadvantage: You loose the use of the
		other functions on PC6, PC7

				STM32F7
			ARDUINO  FUNCTION  GPIO
			-- ----- --------- ----
			DO RX    USART6_RX PG9
			D1 TX    USART6_TX PG14
			-- ----- --------- ---

					OR

		Morpho Connector:

				STM32F7
			MORPHO   FUNCTION  GPIO
			-------- --------- -----
			CN12-64  UART8_RX  PE0
			CN11-61  UART8_TX  PE1
			-------- --------- -----

					OR

		Morpho Connector UART4:

				STM32F7
			MORPHO   FUNCTION  GPIO
			-------- --------- -----
			CN11-30  UART4_RX  PA0
			CN11-28  UART4_TX  PA1
			-------- --------- -----
			Note: SB13 must be removed to disable Ethernet.

config NUCLEO_CONSOLE_ARDUINO
	bool "Arduino Connector"
	select STM32F7_USART6
	select USART6_SERIALDRIVER

config NUCLEO_CONSOLE_VIRTUAL
	bool "Virtual Comport"
	select STM32F7_USART3
	select USART3_SERIALDRIVER

config NUCLEO_CONSOLE_MORPHO
	bool "Morpho Connector"
	select STM32F7_UART8
	select UART8_SERIALDRIVER

config NUCLEO_CONSOLE_MORPHO_UART4
	bool "Morpho Connector UART4"
	select STM32F7_UART4
	select UART4_SERIALDRIVER

config NUCLEO_CONSOLE_NONE
	bool "No Console"

endchoice # "Select Console wiring"

config NUCLEO_SPI_TEST
	bool "Enable SPI test"
	default n
	---help---
		Enable Spi test - initialize and configure SPI to send
		NUCLEO_SPI_TEST_MESSAGE text. The text is sent on the
		selected SPI Buses with the configured parameters.
		Note the CS lines will not be asserted.

if NUCLEO_SPI_TEST

config NUCLEO_SPI_TEST_MESSAGE
	string "Text to Send on SPI Bus(es)"
	default "Hello World"
	depends on NUCLEO_SPI_TEST
	---help---
		Text to sent on SPI bus(es)

config NUCLEO_SPI1_TEST
	bool "Test SPI bus 1"
	default n
	depends on NUCLEO_SPI_TEST
	---help---
		Enable Spi test - on SPI BUS 1

if NUCLEO_SPI1_TEST

config NUCLEO_SPI1_TEST_FREQ
	int "SPI 1 Clock Freq in Hz"
	default 1000000
	depends on NUCLEO_SPI1_TEST
	---help---
		Sets SPI 1 Clock Freq

config NUCLEO_SPI1_TEST_BITS
	int "SPI 1 number of bits"
	default 8
	depends on NUCLEO_SPI1_TEST
	---help---
		Sets SPI 1 bit length

choice
	prompt "SPI BUS 1 Clock Mode"
	default NUCLEO_SPI1_TEST_MODE3
	---help---
		Sets SPI 1 clock mode

config NUCLEO_SPI1_TEST_MODE0
	bool "CPOL=0 CPHA=0"

config NUCLEO_SPI1_TEST_MODE1
	bool "CPOL=0 CPHA=1"

config NUCLEO_SPI1_TEST_MODE2
	bool "CPOL=1 CPHA=0"

config NUCLEO_SPI1_TEST_MODE3
	bool "CPOL=1 CPHA=1"

endchoice # "SPI BUS 1 Clock Mode"

endif # NUCLEO_SPI1_TEST

config NUCLEO_SPI2_TEST
	bool "Test SPI bus 2"
	default n
	depends on NUCLEO_SPI_TEST
	---help---
		Enable Spi test - on SPI BUS 2

if NUCLEO_SPI2_TEST

config NUCLEO_SPI2_TEST_FREQ
	int "SPI 2 Clock Freq in Hz"
	default 12000000
	depends on NUCLEO_SPI2_TEST
	---help---
		Sets SPI 2 Clock Freq

config NUCLEO_SPI2_TEST_BITS
	int "SPI 2 number of bits"
	default 8
	depends on NUCLEO_SPI2_TEST
	---help---
		Sets SPI 2 bit length

choice
	prompt "SPI BUS 2 Clock Mode"
	default NUCLEO_SPI2_TEST_MODE3
	---help---
		Sets SPI 2 clock mode

config NUCLEO_SPI2_TEST_MODE0
	bool "CPOL=0 CPHA=0"

config NUCLEO_SPI2_TEST_MODE1
	bool "CPOL=0 CPHA=1"

config NUCLEO_SPI2_TEST_MODE2
	bool "CPOL=1 CPHA=0"

config NUCLEO_SPI2_TEST_MODE3
	bool "CPOL=1 CPHA=1"

endchoice # "SPI BUS 2 Clock Mode"

endif # NUCLEO_SPI2_TEST

config NUCLEO_SPI3_TEST
	bool "Test SPI bus 3"
	default n
	depends on NUCLEO_SPI_TEST
	---help---
		Enable Spi test - on SPI BUS 3

if NUCLEO_SPI3_TEST

config NUCLEO_SPI3_TEST_FREQ
	int "SPI 3 Clock Freq in Hz"
	default 40000000
	depends on NUCLEO_SPI3_TEST
	---help---
		Sets SPI 3 Clock Freq

config NUCLEO_SPI3_TEST_BITS
	int "SPI 3 number of bits"
	default 8
	depends on NUCLEO_SPI3_TEST
	---help---
		Sets SPI 3 bit length

choice
	prompt "SPI BUS 3 Clock Mode"
	default NUCLEO_SPI3_TEST_MODE3
	---help---
		Sets SPI 3 clock mode

config NUCLEO_SPI3_TEST_MODE0
	bool "CPOL=0 CPHA=0"

config NUCLEO_SPI3_TEST_MODE1
	bool "CPOL=0 CPHA=1"

config NUCLEO_SPI3_TEST_MODE2
	bool "CPOL=1 CPHA=0"

config NUCLEO_SPI3_TEST_MODE3
	bool "CPOL=1 CPHA=1"

endchoice # "SPI BUS 3 Clock Mode"

endif # NUCLEO_SPI3_TEST
endif # NUCLEO_SPI_TEST

choice
	prompt "CAN1 pins selection"
	default NUCLEO_CAN1_MAP_PD0PD1
	depends on STM32F7_CAN1

config NUCLEO_144_CAN1_MAP_D14D15
	bool "CAN1_TX=D14 CAN1_RX=D15"

config NUCLEO_CAN1_MAP_PD0PD1
	bool "CAN1_RX=PD0 CAN1_TX=PD1"

endchoice # CAN1 pins selection

endif # ARCH_BOARD_NUCLEO_144
