From d144a2a80b6ab9f6dbb144979d3f2f543fb1ce87 Mon Sep 17 00:00:00 2001 From: Petro Karashchenko Date: Wed, 22 May 2024 14:27:26 +0200 Subject: [PATCH] arch/arm/samv7: enforce compilation error for incompatible configuration options Signed-off-by: Petro Karashchenko --- arch/arm/src/samv7/sam_gpio.c | 7 ++++++- arch/arm/src/samv7/sam_lowputc.c | 16 ---------------- .../samv7/same70-xplained/configs/adc/defconfig | 1 + .../samv7/same70-xplained/configs/can/defconfig | 1 + .../configs/mcuboot-loader/defconfig | 1 + .../configs/mcuboot-slot-confirm/defconfig | 1 + .../same70-xplained/configs/netnsh/defconfig | 1 + .../samv7/same70-xplained/configs/nsh/defconfig | 1 + .../samv7/same70-xplained/configs/pwm/defconfig | 1 + .../same70-xplained/configs/pysim/defconfig | 1 + .../same70-xplained/configs/twm4nx/defconfig | 1 + .../arm/samv7/samv71-xult/configs/knsh/defconfig | 1 + .../samv71-xult/configs/mcuboot-loader/defconfig | 1 + .../configs/mcuboot-slot-confirm/defconfig | 1 + .../configs/mcuboot-swap-test/defconfig | 1 + .../configs/mcuboot-update-agent/defconfig | 1 + .../samv7/samv71-xult/configs/module/defconfig | 1 + .../configs/mrf24j40-starhub/defconfig | 1 + .../samv7/samv71-xult/configs/mxtxplnd/defconfig | 1 + .../samv7/samv71-xult/configs/netnsh/defconfig | 1 + .../arm/samv7/samv71-xult/configs/nsh/defconfig | 1 + .../arm/samv7/samv71-xult/configs/nxwm/defconfig | 1 + .../arm/samv7/samv71-xult/configs/vnc/defconfig | 1 + .../samv7/samv71-xult/configs/vnxwm/defconfig | 1 + 24 files changed, 28 insertions(+), 17 deletions(-) diff --git a/arch/arm/src/samv7/sam_gpio.c b/arch/arm/src/samv7/sam_gpio.c index b88b72eee2..b7fd6940ba 100644 --- a/arch/arm/src/samv7/sam_gpio.c +++ b/arch/arm/src/samv7/sam_gpio.c @@ -42,6 +42,11 @@ * Pre-processor Definitions ****************************************************************************/ +#if defined(CONFIG_SAMV7_JTAG_FULL_ENABLE) && defined(CONFIG_SAMV7_USART1) +# error CONFIG_SAMV7_JTAG_FULL_ENABLE is incompatible with CONFIG_SAMV7_USART1. +# error The SYSIO Pin4 must be bound to PB4 to use USART1 +#endif + #if !defined(CONFIG_SAMV7_ERASE_ENABLE) || \ !defined(CONFIG_SAMV7_JTAG_FULL_ENABLE) # if defined(CONFIG_SAMV7_ERASE_DISABLE) @@ -51,7 +56,7 @@ # endif # if defined(CONFIG_SAMV7_JTAG_DISABLE) # define SYSIO_BITS (MATRIX_CCFG_SYSIO_SYSIO4 | MATRIX_CCFG_SYSIO_SYSIO5 | \ - MATRIX_CCFG_SYSIO_SYSIO6 | MATRIX_CCFG_SYSIO_SYSIO7) + MATRIX_CCFG_SYSIO_SYSIO6 | MATRIX_CCFG_SYSIO_SYSIO7) # endif # if defined(CONFIG_SAMV7_JTAG_FULL_SW_ENABLE) # define SYSIO_BITS MATRIX_CCFG_SYSIO_SYSIO4 diff --git a/arch/arm/src/samv7/sam_lowputc.c b/arch/arm/src/samv7/sam_lowputc.c index e0e55fd83e..afbd732037 100644 --- a/arch/arm/src/samv7/sam_lowputc.c +++ b/arch/arm/src/samv7/sam_lowputc.c @@ -241,9 +241,6 @@ void sam_lowsetup(void) uint64_t divb3; uint32_t intpart; uint32_t fracpart; -#endif -#if (defined(HAVE_SERIAL_CONSOLE) && !defined(CONFIG_SUPPRESS_UART_CONFIG)) || \ - defined(CONFIG_SAMV7_USART1) uint32_t regval; #endif @@ -322,19 +319,6 @@ void sam_lowsetup(void) sam_configgpio(GPIO_USART1_RTS); # endif - /* To use the USART1 as an USART, the SYSIO Pin4 must be bound to PB4 - * instead of TDI - */ - -# if defined(CONFIG_SAMV7_JTAG_FULL_ENABLE) -# warning CONFIG_SAMV7_JTAG_FULL_ENABLE is incompatible with CONFIG_SAMV7_USART1. -# warning The SYSIO Pin4 must be bound to PB4 to use USART1 -# endif - - regval = getreg32(SAM_MATRIX_CCFG_SYSIO); - regval |= MATRIX_CCFG_SYSIO_SYSIO4; - putreg32(regval, SAM_MATRIX_CCFG_SYSIO); - #endif #ifdef CONFIG_USART2_SERIALDRIVER diff --git a/boards/arm/samv7/same70-xplained/configs/adc/defconfig b/boards/arm/samv7/same70-xplained/configs/adc/defconfig index 153b38d4f4..b0e2a12a9a 100644 --- a/boards/arm/samv7/same70-xplained/configs/adc/defconfig +++ b/boards/arm/samv7/same70-xplained/configs/adc/defconfig @@ -69,6 +69,7 @@ CONFIG_SAMV7_GPIOA_IRQ=y CONFIG_SAMV7_GPIOC_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_SDRAMC=y CONFIG_SAMV7_SDRAMSIZE=2097152 CONFIG_SAMV7_TC0=y diff --git a/boards/arm/samv7/same70-xplained/configs/can/defconfig b/boards/arm/samv7/same70-xplained/configs/can/defconfig index b02e40e562..866bf0c409 100644 --- a/boards/arm/samv7/same70-xplained/configs/can/defconfig +++ b/boards/arm/samv7/same70-xplained/configs/can/defconfig @@ -62,6 +62,7 @@ CONFIG_SAMV7_GPIOA_IRQ=y CONFIG_SAMV7_GPIOC_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_MCAN0=y CONFIG_SAMV7_SDRAMC=y CONFIG_SAMV7_SDRAMSIZE=2097152 diff --git a/boards/arm/samv7/same70-xplained/configs/mcuboot-loader/defconfig b/boards/arm/samv7/same70-xplained/configs/mcuboot-loader/defconfig index 187b59a5ae..4628f97f3f 100644 --- a/boards/arm/samv7/same70-xplained/configs/mcuboot-loader/defconfig +++ b/boards/arm/samv7/same70-xplained/configs/mcuboot-loader/defconfig @@ -63,6 +63,7 @@ CONFIG_SAMV7_GPIOA_IRQ=y CONFIG_SAMV7_GPIOC_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_SDRAMC=y CONFIG_SAMV7_SDRAMSIZE=2097152 CONFIG_SAMV7_TWIHS0=y diff --git a/boards/arm/samv7/same70-xplained/configs/mcuboot-slot-confirm/defconfig b/boards/arm/samv7/same70-xplained/configs/mcuboot-slot-confirm/defconfig index 250dd4fc60..5042a8ef83 100644 --- a/boards/arm/samv7/same70-xplained/configs/mcuboot-slot-confirm/defconfig +++ b/boards/arm/samv7/same70-xplained/configs/mcuboot-slot-confirm/defconfig @@ -61,6 +61,7 @@ CONFIG_SAMV7_GPIOA_IRQ=y CONFIG_SAMV7_GPIOC_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_SDRAMC=y CONFIG_SAMV7_SDRAMSIZE=2097152 CONFIG_SAMV7_TWIHS0=y diff --git a/boards/arm/samv7/same70-xplained/configs/netnsh/defconfig b/boards/arm/samv7/same70-xplained/configs/netnsh/defconfig index d04c2718b5..5717c6d057 100644 --- a/boards/arm/samv7/same70-xplained/configs/netnsh/defconfig +++ b/boards/arm/samv7/same70-xplained/configs/netnsh/defconfig @@ -92,6 +92,7 @@ CONFIG_SAMV7_GPIOA_IRQ=y CONFIG_SAMV7_GPIOC_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_TWIHS0=y CONFIG_SAMV7_USART1=y CONFIG_SAMV7_XDMAC=y diff --git a/boards/arm/samv7/same70-xplained/configs/nsh/defconfig b/boards/arm/samv7/same70-xplained/configs/nsh/defconfig index 5b580bdbed..099d0838dc 100644 --- a/boards/arm/samv7/same70-xplained/configs/nsh/defconfig +++ b/boards/arm/samv7/same70-xplained/configs/nsh/defconfig @@ -62,6 +62,7 @@ CONFIG_SAMV7_GPIOA_IRQ=y CONFIG_SAMV7_GPIOC_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_SDRAMC=y CONFIG_SAMV7_SDRAMSIZE=2097152 CONFIG_SAMV7_TWIHS0=y diff --git a/boards/arm/samv7/same70-xplained/configs/pwm/defconfig b/boards/arm/samv7/same70-xplained/configs/pwm/defconfig index eb9ce3f57c..fca9ee6b7b 100644 --- a/boards/arm/samv7/same70-xplained/configs/pwm/defconfig +++ b/boards/arm/samv7/same70-xplained/configs/pwm/defconfig @@ -67,6 +67,7 @@ CONFIG_SAMV7_GPIOA_IRQ=y CONFIG_SAMV7_GPIOC_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_PWM0=y CONFIG_SAMV7_PWM0_CH0=y CONFIG_SAMV7_PWM0_CH1=y diff --git a/boards/arm/samv7/same70-xplained/configs/pysim/defconfig b/boards/arm/samv7/same70-xplained/configs/pysim/defconfig index 42a080419f..40cfc06c99 100644 --- a/boards/arm/samv7/same70-xplained/configs/pysim/defconfig +++ b/boards/arm/samv7/same70-xplained/configs/pysim/defconfig @@ -129,6 +129,7 @@ CONFIG_SAMV7_GPIOA_IRQ=y CONFIG_SAMV7_GPIOC_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_PWM0=y CONFIG_SAMV7_PWM0_CH0=y CONFIG_SAMV7_PWM0_CH1=y diff --git a/boards/arm/samv7/same70-xplained/configs/twm4nx/defconfig b/boards/arm/samv7/same70-xplained/configs/twm4nx/defconfig index 5a3dfb7ebc..27af153d1e 100644 --- a/boards/arm/samv7/same70-xplained/configs/twm4nx/defconfig +++ b/boards/arm/samv7/same70-xplained/configs/twm4nx/defconfig @@ -103,6 +103,7 @@ CONFIG_SAMV7_GPIOA_IRQ=y CONFIG_SAMV7_GPIOC_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_SDRAMC=y CONFIG_SAMV7_SDRAMSIZE=2097152 CONFIG_SAMV7_TWIHS0=y diff --git a/boards/arm/samv7/samv71-xult/configs/knsh/defconfig b/boards/arm/samv7/samv71-xult/configs/knsh/defconfig index 92969a9209..75541c9a99 100644 --- a/boards/arm/samv7/samv71-xult/configs/knsh/defconfig +++ b/boards/arm/samv7/samv71-xult/configs/knsh/defconfig @@ -67,6 +67,7 @@ CONFIG_SAMV7_GPIOB_IRQ=y CONFIG_SAMV7_GPIOD_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_SDRAMC=y CONFIG_SAMV7_SDRAMSIZE=2097152 CONFIG_SAMV7_TWIHS0=y diff --git a/boards/arm/samv7/samv71-xult/configs/mcuboot-loader/defconfig b/boards/arm/samv7/samv71-xult/configs/mcuboot-loader/defconfig index 261adc2232..69c522b89b 100644 --- a/boards/arm/samv7/samv71-xult/configs/mcuboot-loader/defconfig +++ b/boards/arm/samv7/samv71-xult/configs/mcuboot-loader/defconfig @@ -48,6 +48,7 @@ CONFIG_SAMV7_GPIOA_IRQ=y CONFIG_SAMV7_GPIOB_IRQ=y CONFIG_SAMV7_GPIOD_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_SYSTEMRESET=y CONFIG_SAMV7_USART1=y CONFIG_SAMV7_XDMAC=y diff --git a/boards/arm/samv7/samv71-xult/configs/mcuboot-slot-confirm/defconfig b/boards/arm/samv7/samv71-xult/configs/mcuboot-slot-confirm/defconfig index 01dfbef322..fff10ddb56 100644 --- a/boards/arm/samv7/samv71-xult/configs/mcuboot-slot-confirm/defconfig +++ b/boards/arm/samv7/samv71-xult/configs/mcuboot-slot-confirm/defconfig @@ -48,6 +48,7 @@ CONFIG_SAMV7_GPIOA_IRQ=y CONFIG_SAMV7_GPIOB_IRQ=y CONFIG_SAMV7_GPIOD_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_SYSTEMRESET=y CONFIG_SAMV7_USART1=y CONFIG_SAMV7_XDMAC=y diff --git a/boards/arm/samv7/samv71-xult/configs/mcuboot-swap-test/defconfig b/boards/arm/samv7/samv71-xult/configs/mcuboot-swap-test/defconfig index b3389d0e5d..96b6f4aeb7 100644 --- a/boards/arm/samv7/samv71-xult/configs/mcuboot-swap-test/defconfig +++ b/boards/arm/samv7/samv71-xult/configs/mcuboot-swap-test/defconfig @@ -48,6 +48,7 @@ CONFIG_SAMV7_GPIOA_IRQ=y CONFIG_SAMV7_GPIOB_IRQ=y CONFIG_SAMV7_GPIOD_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_SYSTEMRESET=y CONFIG_SAMV7_USART1=y CONFIG_SAMV7_XDMAC=y diff --git a/boards/arm/samv7/samv71-xult/configs/mcuboot-update-agent/defconfig b/boards/arm/samv7/samv71-xult/configs/mcuboot-update-agent/defconfig index ad3d801a6b..6d8b0b7ce2 100644 --- a/boards/arm/samv7/samv71-xult/configs/mcuboot-update-agent/defconfig +++ b/boards/arm/samv7/samv71-xult/configs/mcuboot-update-agent/defconfig @@ -102,6 +102,7 @@ CONFIG_SAMV7_GPIOB_IRQ=y CONFIG_SAMV7_GPIOD_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_SYSTEMRESET=y CONFIG_SAMV7_TWIHS0=y CONFIG_SAMV7_USART1=y diff --git a/boards/arm/samv7/samv71-xult/configs/module/defconfig b/boards/arm/samv7/samv71-xult/configs/module/defconfig index ce8d367614..a645fc3ca7 100644 --- a/boards/arm/samv7/samv71-xult/configs/module/defconfig +++ b/boards/arm/samv7/samv71-xult/configs/module/defconfig @@ -54,6 +54,7 @@ CONFIG_SAMV7_GPIOA_IRQ=y CONFIG_SAMV7_GPIOB_IRQ=y CONFIG_SAMV7_GPIOD_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_USART1=y CONFIG_SAMV7_XDMAC=y CONFIG_SCHED_HPWORK=y diff --git a/boards/arm/samv7/samv71-xult/configs/mrf24j40-starhub/defconfig b/boards/arm/samv7/samv71-xult/configs/mrf24j40-starhub/defconfig index ff629eaa75..73ad408215 100644 --- a/boards/arm/samv7/samv71-xult/configs/mrf24j40-starhub/defconfig +++ b/boards/arm/samv7/samv71-xult/configs/mrf24j40-starhub/defconfig @@ -116,6 +116,7 @@ CONFIG_SAMV7_GPIOB_IRQ=y CONFIG_SAMV7_GPIOD_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_SPI0=y CONFIG_SAMV7_USART1=y CONFIG_SAMV7_XDMAC=y diff --git a/boards/arm/samv7/samv71-xult/configs/mxtxplnd/defconfig b/boards/arm/samv7/samv71-xult/configs/mxtxplnd/defconfig index 492d5ce145..3cf64f2832 100644 --- a/boards/arm/samv7/samv71-xult/configs/mxtxplnd/defconfig +++ b/boards/arm/samv7/samv71-xult/configs/mxtxplnd/defconfig @@ -75,6 +75,7 @@ CONFIG_SAMV7_GPIOB_IRQ=y CONFIG_SAMV7_GPIOD_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_SMC=y CONFIG_SAMV7_TWIHS0=y CONFIG_SAMV7_USART1=y diff --git a/boards/arm/samv7/samv71-xult/configs/netnsh/defconfig b/boards/arm/samv7/samv71-xult/configs/netnsh/defconfig index b3a22cbef5..3c268ef02b 100644 --- a/boards/arm/samv7/samv71-xult/configs/netnsh/defconfig +++ b/boards/arm/samv7/samv71-xult/configs/netnsh/defconfig @@ -92,6 +92,7 @@ CONFIG_SAMV7_GPIOB_IRQ=y CONFIG_SAMV7_GPIOD_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_TWIHS0=y CONFIG_SAMV7_USART1=y CONFIG_SAMV7_XDMAC=y diff --git a/boards/arm/samv7/samv71-xult/configs/nsh/defconfig b/boards/arm/samv7/samv71-xult/configs/nsh/defconfig index 13e2cfe007..9b0ca0d34c 100644 --- a/boards/arm/samv7/samv71-xult/configs/nsh/defconfig +++ b/boards/arm/samv7/samv71-xult/configs/nsh/defconfig @@ -64,6 +64,7 @@ CONFIG_SAMV7_GPIOB_IRQ=y CONFIG_SAMV7_GPIOD_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_SDRAMC=y CONFIG_SAMV7_SDRAMSIZE=2097152 CONFIG_SAMV7_TWIHS0=y diff --git a/boards/arm/samv7/samv71-xult/configs/nxwm/defconfig b/boards/arm/samv7/samv71-xult/configs/nxwm/defconfig index 48ccb4df2f..729b503668 100644 --- a/boards/arm/samv7/samv71-xult/configs/nxwm/defconfig +++ b/boards/arm/samv7/samv71-xult/configs/nxwm/defconfig @@ -110,6 +110,7 @@ CONFIG_SAMV7_GPIOB_IRQ=y CONFIG_SAMV7_GPIOD_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_SMC=y CONFIG_SAMV7_TWIHS0=y CONFIG_SAMV7_USART1=y diff --git a/boards/arm/samv7/samv71-xult/configs/vnc/defconfig b/boards/arm/samv7/samv71-xult/configs/vnc/defconfig index 8aa2fa8388..1c3d3cca44 100644 --- a/boards/arm/samv7/samv71-xult/configs/vnc/defconfig +++ b/boards/arm/samv7/samv71-xult/configs/vnc/defconfig @@ -102,6 +102,7 @@ CONFIG_SAMV7_GPIOB_IRQ=y CONFIG_SAMV7_GPIOD_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_TWIHS0=y CONFIG_SAMV7_USART1=y CONFIG_SAMV7_XDMAC=y diff --git a/boards/arm/samv7/samv71-xult/configs/vnxwm/defconfig b/boards/arm/samv7/samv71-xult/configs/vnxwm/defconfig index e53e18f1e3..fbc85f3a5f 100644 --- a/boards/arm/samv7/samv71-xult/configs/vnxwm/defconfig +++ b/boards/arm/samv7/samv71-xult/configs/vnxwm/defconfig @@ -132,6 +132,7 @@ CONFIG_SAMV7_GPIOB_IRQ=y CONFIG_SAMV7_GPIOD_IRQ=y CONFIG_SAMV7_GPIO_IRQ=y CONFIG_SAMV7_HSMCI0=y +CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y CONFIG_SAMV7_TWIHS0=y CONFIG_SAMV7_USART1=y CONFIG_SAMV7_XDMAC=y