vrmay23 commented on code in PR #18397:
URL: https://github.com/apache/nuttx/pull/18397#discussion_r2809981785


##########
boards/arm/stm32h7/nucleo-h753zi/Kconfig:
##########
@@ -0,0 +1,1285 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+menu "Board Clock Configuration"
+
+choice
+       prompt "HSE clock source"
+       default NUCLEO_H753ZI_HSE_8MHZ
+       help
+               Select the HSE clock source for the Nucleo-H753ZI board.
+               8 MHz: ST-LINK MCO (default, no hardware modification)
+               25 MHz: External crystal X3 (requires hardware modification)
+
+config NUCLEO_H753ZI_HSE_8MHZ
+       bool "8 MHz from ST-LINK MCO"
+       help
+               Default Nucleo-H753ZI configuration.
+               Uses 8 MHz clock from ST-LINK MCO output (PH0-OSC_IN).
+               Solder Bridge Configuration:
+               SB45=ON, SB44=OFF, SB46=OFF, SB3=OFF, SB4=OFF
+               This is the factory default - no hardware changes needed.
+               System clocks with 8 MHz HSE:
+               - SYSCLK: 400 MHz
+               - HCLK: 200 MHz
+               - APB1/2/3/4: 100 MHz
+               - FDCAN: 25 MHz (via PLL2Q)
+
+config NUCLEO_H753ZI_HSE_25MHZ
+       bool "25 MHz external crystal X3"
+       help
+               Uses 25 MHz external crystal on X3 footprint.
+               Solder Bridge Configuration:
+               SB3=ON, SB4=ON, SB45=OFF, SB44=OFF, SB46=OFF
+               WARNING: Requires hardware modification:
+               - Install 25 MHz crystal at X3 footprint
+               - Reconfigure solder bridges as indicated above
+               System clocks with 25 MHz HSE:
+               - SYSCLK: 400 MHz
+               - HCLK: 200 MHz
+               - APB1/2/3/4: 100 MHz
+               - FDCAN: 25 MHz (direct from HSE)
+
+endchoice
+
+config STM32H7_BOARD_HSE_FREQUENCY
+       int
+       default 8000000 if NUCLEO_H753ZI_HSE_8MHZ
+       default 25000000 if NUCLEO_H753ZI_HSE_25MHZ
+       depends on STM32H7_HSE
+
+endmenu
+
+config NUCLEO_H753ZI_GPIO_DRIVER
+       bool "Enable Nucleo H753ZI board GPIO driver"
+       default n
+       select DEV_GPIO
+       help
+               This option enables the low-level GPIO driver for the
+               Nucleo H753ZI board. Other features like buttons or LEDs
+               will depend on this driver.
+
+choice
+       prompt "LED Control Mode"
+       default NUCLEO_H753ZI_LEDS_AUTO
+       help
+               Select how the onboard LEDs should be controlled.
+
+config NUCLEO_H753ZI_LEDS_AUTO
+       bool "Automatic LEDs (Kernel controlled)"
+       help
+               LEDs are automatically controlled by the kernel to indicate
+               system status (boot stages, interrupts, panics, etc.).
+               The LEDs will show:
+               - GREEN: System ready, signals
+               - ORANGE: Heap allocation, IRQs
+               - RED: Assertions, panics, idle
+               NOTE: You still need to manually enable:
+               Board Selection -> Board LED Status support
+
+config NUCLEO_H753ZI_LEDS_USER
+       bool "User-controlled LEDs"
+       select USERLED
+       select USERLED_LOWER
+       select BOARD_LATE_INITIALIZE
+       help
+               LEDs are controlled by user applications via /dev/userleds.
+               Applications can turn individual LEDs on/off as needed.
+               Kernel status indication is disabled.
+               NOTE: You must manually disable:
+               Board Selection -> Board LED Status support (to avoid
+               conflicts)
+
+config NUCLEO_H753ZI_LEDS_DISABLED
+       bool "LEDs disabled"
+       help
+               LED functionality is completely disabled to save resources.
+               NOTE: You should manually disable:
+               Board Selection -> Board LED Status support
+
+endchoice
+
+menu "Button Configuration"
+
+config NUCLEO_H753ZI_BUTTON_SUPPORT
+       bool "Enable button support"
+       default n
+       select ARCH_BUTTONS
+       help
+               Enable GPIO button support for the Nucleo-H753ZI board.
+
+config NUCLEO_H753ZI_BUTTON_COUNT
+       int "Number of buttons"
+       depends on NUCLEO_H753ZI_BUTTON_SUPPORT
+       default 1
+       range 1 32
+       help
+               Total number of buttons to configure (1-32).
+               The STM32H7 button driver supports up to 32 buttons using
+               a 32-bit bitmask for button states.
+
+config NUCLEO_H753ZI_BUTTON_BUILTIN
+       bool "Include built-in user button (PC13)"
+       depends on NUCLEO_H753ZI_BUTTON_SUPPORT
+       default y
+       help
+               Include the built-in blue user button connected to PC13.
+               This button will always be assigned as button index 0.
+               If enabled, you need (BUTTON_COUNT - 1) additional pins.
+               If disabled, you need exactly BUTTON_COUNT pins.
+
+config NUCLEO_H753ZI_BUTTON_PINS
+       string "Button GPIO pin list"
+       depends on NUCLEO_H753ZI_BUTTON_SUPPORT
+       default ""
+       help
+               Comma-separated list of GPIO pins for buttons.
+               Format: PORT+PIN (e.g., "PF15,PG14,PG9,PE0,PA0,PB12")
+               Number of pins required:
+               - With built-in: (BUTTON_COUNT - 1) pins
+               - Without built-in: BUTTON_COUNT pins
+               Example for 5 buttons with built-in enabled:
+               "PF15,PG14,PG9,PE0"
+               Common Nucleo-H753ZI pins:
+               Arduino Headers: PF15(D2), PG14(D1), PG9(D0), PE0(D34)
+               Morpho Headers: PA0-PA15, PB0-PB15, PC0-PC15, PD0-PD15,
+                               PE0-PE15, PF0-PF15, PG0-PG15, PH0-PH1
+               Note: All buttons assume pull-down resistor configuration.
+
+config NUCLEO_H753ZI_BUTTON_VALIDATION
+       bool "Validate pin configuration at compile time"
+       depends on NUCLEO_H753ZI_BUTTON_SUPPORT
+       default y
+       help
+               Perform compile-time validation of GPIO pin assignments.
+
+endmenu
+
+menu "SPI Configuration"
+       depends on STM32H7_SPI
+
+comment "SPI interfaces now use per-sensor CS registration system"
+comment "No CS pins configured at SPI level - sensors register their own CS 
pins"
+
+if STM32H7_SPI1
+
+menu "SPI1 Configuration"
+
+config NUCLEO_H753ZI_SPI1_ENABLE
+       bool "Enable SPI1"
+       default n
+       help
+               Enable SPI1 with configurable pins.
+               CS pins are now registered per-sensor.
+
+choice
+       prompt "SPI1 Pin Set"
+       depends on NUCLEO_H753ZI_SPI1_ENABLE
+       default NUCLEO_H753ZI_SPI1_PINSET_1
+       help
+               Select which set of pins to use for SPI1.
+               Choose based on availability and board layout.
+
+config NUCLEO_H753ZI_SPI1_PINSET_1
+       bool "Pin Set 1: PA5(SCK), PA6(MISO), PA7(MOSI)"
+       help
+               SPI1 Pin Set 1 (Arduino SPI connector compatible):
+               - SCK: PA5 (D13 - Arduino SCK)
+               - MISO: PA6 (D12 - Arduino MISO)
+               - MOSI: PA7 (D11 - Arduino MOSI)
+               This is the standard Arduino SPI pinout.
+
+config NUCLEO_H753ZI_SPI1_PINSET_2
+       bool "Pin Set 2: PB3(SCK), PB4(MISO), PB5(MOSI)"
+       help
+               SPI1 Pin Set 2:
+               - SCK: PB3
+               - MISO: PB4
+               - MOSI: PB5
+
+config NUCLEO_H753ZI_SPI1_PINSET_3
+       bool "Pin Set 3: PG11(SCK), PG9(MISO), PD7(MOSI)"
+       help
+               SPI1 Pin Set 3:
+               - SCK: PG11
+               - MISO: PG9
+               - MOSI: PD7
+
+endchoice
+
+endmenu
+
+endif
+
+if STM32H7_SPI2
+
+menu "SPI2 Configuration"
+
+config NUCLEO_H753ZI_SPI2_ENABLE
+       bool "Enable SPI2"
+       default n
+       help
+               Enable SPI2 with configurable pins.
+               CS pins are now registered per-sensor.
+
+choice
+       prompt "SPI2 Pin Set"
+       depends on NUCLEO_H753ZI_SPI2_ENABLE
+       default NUCLEO_H753ZI_SPI2_PINSET_1
+       help
+               Select which set of pins to use for SPI2.
+
+config NUCLEO_H753ZI_SPI2_PINSET_1
+       bool "Pin Set 1: PB13(SCK), PB14(MISO), PB15(MOSI)"
+       help
+               SPI2 Pin Set 1:
+               - SCK: PB13
+               - MISO: PB14
+               - MOSI: PB15
+
+config NUCLEO_H753ZI_SPI2_PINSET_2
+       bool "Pin Set 2: PA12(SCK), PC2(MISO), PC1(MOSI)"
+       help
+               SPI2 Pin Set 2:
+               - SCK: PA12
+               - MISO: PC2
+               - MOSI: PC1
+
+config NUCLEO_H753ZI_SPI2_PINSET_3
+       bool "Pin Set 3: PD3(SCK), PC2(MISO), PC3(MOSI)"
+       help
+               SPI2 Pin Set 3:
+               - SCK: PD3
+               - MISO: PC2
+               - MOSI: PC3
+
+endchoice
+
+endmenu
+
+endif
+
+if STM32H7_SPI3
+
+menu "SPI3 Configuration"
+
+config NUCLEO_H753ZI_SPI3_ENABLE
+       bool "Enable SPI3"
+       default n
+       help
+               Enable SPI3 with configurable pins.
+               CS pins are now registered per-sensor.
+
+choice
+       prompt "SPI3 Pin Set"
+       depends on NUCLEO_H753ZI_SPI3_ENABLE
+       default NUCLEO_H753ZI_SPI3_PINSET_1
+       help
+               Select which set of pins to use for SPI3.
+
+config NUCLEO_H753ZI_SPI3_PINSET_1
+       bool "Pin Set 1: PC10(SCK), PC11(MISO), PC12(MOSI)"
+       help
+               SPI3 Pin Set 1:
+               - SCK: PC10
+               - MISO: PC11
+               - MOSI: PC12
+
+config NUCLEO_H753ZI_SPI3_PINSET_2
+       bool "Pin Set 2: PB3(SCK), PB4(MISO), PB5(MOSI)"
+       help
+               SPI3 Pin Set 2:
+               - SCK: PB3
+               - MISO: PB4
+               - MOSI: PB5
+
+endchoice
+
+endmenu
+
+endif
+
+if STM32H7_SPI4
+
+menu "SPI4 Configuration"
+
+config NUCLEO_H753ZI_SPI4_ENABLE
+       bool "Enable SPI4"
+       default n
+       help
+               Enable SPI4 with configurable pins.
+               CS pins are now registered per-sensor.
+
+choice
+       prompt "SPI4 Pin Set"
+       depends on NUCLEO_H753ZI_SPI4_ENABLE
+       default NUCLEO_H753ZI_SPI4_PINSET_1
+       help
+               Select which set of pins to use for SPI4.
+
+config NUCLEO_H753ZI_SPI4_PINSET_1
+       bool "Pin Set 1: PE12(SCK), PE13(MISO), PE14(MOSI)"
+       help
+               SPI4 Pin Set 1:
+               - SCK: PE12
+               - MISO: PE13
+               - MOSI: PE14
+
+config NUCLEO_H753ZI_SPI4_PINSET_2
+       bool "Pin Set 2: PE2(SCK), PE5(MISO), PE6(MOSI)"
+       help
+               SPI4 Pin Set 2:
+               - SCK: PE2
+               - MISO: PE5
+               - MOSI: PE6
+
+endchoice
+
+endmenu
+
+endif
+
+if STM32H7_SPI5
+
+menu "SPI5 Configuration"
+
+config NUCLEO_H753ZI_SPI5_ENABLE
+       bool "Enable SPI5"
+       default n
+       help
+               Enable SPI5 with configurable pins.
+               CS pins are now registered per-sensor.
+
+choice
+       prompt "SPI5 Pin Set"
+       depends on NUCLEO_H753ZI_SPI5_ENABLE
+       default NUCLEO_H753ZI_SPI5_PINSET_1
+       help
+               Select which set of pins to use for SPI5.
+
+config NUCLEO_H753ZI_SPI5_PINSET_1
+       bool "Pin Set 1: PF7(SCK), PF8(MISO), PF9(MOSI)"
+       help
+               SPI5 Pin Set 1:
+               - SCK: PF7
+               - MISO: PF8
+               - MOSI: PF9
+
+config NUCLEO_H753ZI_SPI5_PINSET_2
+       bool "Pin Set 2: PK0(SCK), PJ11(MISO), PJ10(MOSI)"
+       help
+               SPI5 Pin Set 2:
+               - SCK: PK0
+               - MISO: PJ11
+               - MOSI: PJ10
+
+endchoice
+
+endmenu
+
+endif
+
+if STM32H7_SPI6
+
+menu "SPI6 Configuration"
+
+config NUCLEO_H753ZI_SPI6_ENABLE
+       bool "Enable SPI6"
+       default n
+       help
+               Enable SPI6 with configurable pins.
+               CS pins are now registered per-sensor.
+
+choice
+       prompt "SPI6 Pin Set"
+       depends on NUCLEO_H753ZI_SPI6_ENABLE
+       default NUCLEO_H753ZI_SPI6_PINSET_1
+       help
+               Select which set of pins to use for SPI6.
+
+config NUCLEO_H753ZI_SPI6_PINSET_1
+       bool "Pin Set 1: PG13(SCK), PG12(MISO), PG14(MOSI)"
+       help
+               SPI6 Pin Set 1:
+               - SCK: PG13
+               - MISO: PG12
+               - MOSI: PG14
+
+config NUCLEO_H753ZI_SPI6_PINSET_2
+       bool "Pin Set 2: PA5(SCK), PA6(MISO), PA7(MOSI)"
+       help
+               SPI6 Pin Set 2:
+               - SCK: PA5
+               - MISO: PA6
+               - MOSI: PA7
+
+endchoice
+
+endmenu
+
+endif
+
+endmenu
+
+menu "I2C Configuration"
+       depends on STM32H7_I2C
+
+config NUCLEO_H753ZI_I2C1_ENABLE
+       bool "Enable I2C1"
+       default n
+       depends on STM32H7_I2C1
+       help
+               Enable I2C1 bus with configurable pinset selection.
+
+if NUCLEO_H753ZI_I2C1_ENABLE
+
+choice
+       prompt "I2C1 Pin Set"
+       default NUCLEO_H753ZI_I2C1_PINSET_1
+       help
+               Select which pins to use for I2C1 SCL/SDA signals.
+
+config NUCLEO_H753ZI_I2C1_PINSET_1
+       bool "Pin Set 1: PB6(SCL), PB7(SDA) - AF4"
+       help
+               I2C1 Pin Set 1 (Arduino D10/D9):
+               - SCL: PB6 (CN7-13, D10) - AF4
+               - SDA: PB7 (CN7-21, D9) - AF4
+               This is the default Arduino-compatible pinout.
+               WARNING: Conflicts with I2C4 Pinset 4 (same pins, AF6).
+
+config NUCLEO_H753ZI_I2C1_PINSET_2
+       bool "Pin Set 2: PB8(SCL), PB9(SDA) - AF4"
+       help
+               I2C1 Pin Set 2 (Morpho):
+               - SCL: PB8 (CN7-2) - AF4
+               - SDA: PB9 (CN7-4) - AF4
+               WARNING: Conflicts with I2C4 Pinset 5 (same pins, AF6).
+
+endchoice
+
+config NUCLEO_H753ZI_I2C1_DEFAULT_FREQUENCY
+       int "I2C1 Default Bus Frequency (Hz)"
+       default 100000
+       range 10000 1000000
+       help
+               Default I2C1 bus frequency.
+               Individual devices can override this.
+               Standard speeds:
+               - 100000 (100 kHz): Standard mode
+               - 400000 (400 kHz): Fast mode
+               - 1000000 (1 MHz): Fast mode plus
+
+endif
+
+config NUCLEO_H753ZI_I2C2_ENABLE
+       bool "Enable I2C2"
+       default n
+       depends on STM32H7_I2C2
+       help
+               Enable I2C2 bus with configurable pinset selection.
+
+if NUCLEO_H753ZI_I2C2_ENABLE
+
+choice
+       prompt "I2C2 Pin Set"
+       default NUCLEO_H753ZI_I2C2_PINSET_1
+       help
+               Select which pins to use for I2C2 SCL/SDA signals.
+
+config NUCLEO_H753ZI_I2C2_PINSET_1
+       bool "Pin Set 1: PB10(SCL), PB11(SDA) - AF4"
+       help
+               I2C2 Pin Set 1:
+               - SCL: PB10 - AF4
+               - SDA: PB11 - AF4
+
+config NUCLEO_H753ZI_I2C2_PINSET_2
+       bool "Pin Set 2: PF1(SCL), PF0(SDA) - AF4"
+       help
+               I2C2 Pin Set 2:
+               - SCL: PF1 - AF4
+               - SDA: PF0 - AF4
+
+config NUCLEO_H753ZI_I2C2_PINSET_3
+       bool "Pin Set 3: PH4(SCL), PH5(SDA) - AF4"
+       help
+               I2C2 Pin Set 3:
+               - SCL: PH4 - AF4
+               - SDA: PH5 - AF4
+
+endchoice
+
+config NUCLEO_H753ZI_I2C2_DEFAULT_FREQUENCY
+       int "I2C2 Default Bus Frequency (Hz)"
+       default 100000
+       range 10000 1000000
+
+endif
+
+config NUCLEO_H753ZI_I2C3_ENABLE
+       bool "Enable I2C3"
+       default n
+       depends on STM32H7_I2C3
+       help
+               Enable I2C3 bus with configurable pinset selection.
+
+if NUCLEO_H753ZI_I2C3_ENABLE
+
+choice
+       prompt "I2C3 Pin Set"
+       default NUCLEO_H753ZI_I2C3_PINSET_1
+       help
+               Select which pins to use for I2C3 SCL/SDA signals.
+
+config NUCLEO_H753ZI_I2C3_PINSET_1
+       bool "Pin Set 1: PA8(SCL), PC9(SDA) - AF4"
+       help
+               I2C3 Pin Set 1:
+               - SCL: PA8 - AF4
+               - SDA: PC9 - AF4
+
+config NUCLEO_H753ZI_I2C3_PINSET_2
+       bool "Pin Set 2: PH7(SCL), PH8(SDA) - AF4"
+       help
+               I2C3 Pin Set 2:
+               - SCL: PH7 - AF4
+               - SDA: PH8 - AF4
+
+endchoice
+
+config NUCLEO_H753ZI_I2C3_DEFAULT_FREQUENCY
+       int "I2C3 Default Bus Frequency (Hz)"
+       default 100000
+       range 10000 1000000
+
+endif
+
+config NUCLEO_H753ZI_I2C4_ENABLE
+       bool "Enable I2C4"
+       default n
+       depends on STM32H7_I2C4
+       help
+               Enable I2C4 bus with configurable pinset selection.
+
+if NUCLEO_H753ZI_I2C4_ENABLE
+
+choice
+       prompt "I2C4 Pin Set"
+       default NUCLEO_H753ZI_I2C4_PINSET_1
+       help
+               Select which pins to use for I2C4 SCL/SDA signals.
+
+config NUCLEO_H753ZI_I2C4_PINSET_1
+       bool "Pin Set 1: PD12(SCL), PD13(SDA) - AF4"
+       help
+               I2C4 Pin Set 1:
+               - SCL: PD12 - AF4
+               - SDA: PD13 - AF4
+
+config NUCLEO_H753ZI_I2C4_PINSET_2
+       bool "Pin Set 2: PF14(SCL), PF15(SDA) - AF4"
+       help
+               I2C4 Pin Set 2:
+               - SCL: PF14 - AF4
+               - SDA: PF15 - AF4
+
+config NUCLEO_H753ZI_I2C4_PINSET_3
+       bool "Pin Set 3: PH11(SCL), PH12(SDA) - AF4"
+       help
+               I2C4 Pin Set 3:
+               - SCL: PH11 - AF4
+               - SDA: PH12 - AF4
+
+config NUCLEO_H753ZI_I2C4_PINSET_4
+       bool "Pin Set 4: PB6(SCL), PB7(SDA) - AF6"
+       depends on !NUCLEO_H753ZI_I2C1_PINSET_1
+       help
+               I2C4 Pin Set 4 (Alternate Function 6):
+               - SCL: PB6 - AF6
+               - SDA: PB7 - AF6
+               WARNING: These are the same physical pins as I2C1 Pinset 1.
+               Cannot use both I2C1 Pinset 1 (AF4) and I2C4 Pinset 4 (AF6).
+               OK to use with I2C1 Pinset 2 (different pins).
+
+config NUCLEO_H753ZI_I2C4_PINSET_5
+       bool "Pin Set 5: PB8(SCL), PB9(SDA) - AF6"
+       depends on !NUCLEO_H753ZI_I2C1_PINSET_2
+       help
+               I2C4 Pin Set 5 (Alternate Function 6):
+               - SCL: PB8 - AF6
+               - SDA: PB9 - AF6
+               WARNING: These are the same physical pins as I2C1 Pinset 2.
+               Cannot use both I2C1 Pinset 2 (AF4) and I2C4 Pinset 5 (AF6).
+               OK to use with I2C1 Pinset 1 (different pins).
+
+endchoice
+
+config NUCLEO_H753ZI_I2C4_DEFAULT_FREQUENCY
+       int "I2C4 Default Bus Frequency (Hz)"
+       default 100000
+       range 10000 1000000
+
+endif
+
+endmenu
+
+menu "SPI MODULES"
+       depends on STM32H7_SPI
+
+menu "MFRC522 RFID Reader Configuration"
+       depends on CL_MFRC522
+
+config NUCLEO_H753ZI_MFRC522_ENABLE
+       bool "Enable MFRC522 RFID Reader"
+       default n
+       help
+               Enable MFRC522 13.56 MHz RFID reader with configurable SPI bus,
+               CS pin, and optional IRQ support.
+
+if NUCLEO_H753ZI_MFRC522_ENABLE
+
+choice
+       prompt "MFRC522 SPI Bus"
+       help
+               Select which SPI bus the MFRC522 is connected to.
+
+config NUCLEO_H753ZI_MFRC522_SPI1
+       bool "Use SPI1"
+       depends on NUCLEO_H753ZI_SPI1_ENABLE
+
+config NUCLEO_H753ZI_MFRC522_SPI2
+       bool "Use SPI2"
+       depends on NUCLEO_H753ZI_SPI2_ENABLE
+
+config NUCLEO_H753ZI_MFRC522_SPI3
+       bool "Use SPI3"
+       depends on NUCLEO_H753ZI_SPI3_ENABLE
+
+config NUCLEO_H753ZI_MFRC522_SPI4
+       bool "Use SPI4"
+       depends on NUCLEO_H753ZI_SPI4_ENABLE
+
+config NUCLEO_H753ZI_MFRC522_SPI5
+       bool "Use SPI5"
+       depends on NUCLEO_H753ZI_SPI5_ENABLE
+
+config NUCLEO_H753ZI_MFRC522_SPI6
+       bool "Use SPI6"
+       depends on NUCLEO_H753ZI_SPI6_ENABLE
+
+endchoice
+
+config NUCLEO_H753ZI_MFRC522_SPI_BUS
+       int
+       default 1 if NUCLEO_H753ZI_MFRC522_SPI1
+       default 2 if NUCLEO_H753ZI_MFRC522_SPI2
+       default 3 if NUCLEO_H753ZI_MFRC522_SPI3
+       default 4 if NUCLEO_H753ZI_MFRC522_SPI4
+       default 5 if NUCLEO_H753ZI_MFRC522_SPI5
+       default 6 if NUCLEO_H753ZI_MFRC522_SPI6
+
+config NUCLEO_H753ZI_MFRC522_DEVID
+       int "MFRC522 Device ID"
+       range 0 15
+       default 0
+       help
+               Device ID for MFRC522 within the selected SPI bus.
+               Range: 0-15 for each SPI bus.
+               This ID will be used to register the CS pin.
+
+config NUCLEO_H753ZI_MFRC522_CS_PIN
+       string "CS (Chip Select) GPIO Pin"
+       default "PA4"
+       help
+               GPIO pin for MFRC522 Chip Select.
+               Format: PORT+PIN (e.g., "PA4", "PB0", "PC5")
+               Common available pins:
+               - Arduino Headers: PF15(D2), PG14(D1), PG9(D0), PE0(D34)
+               - Morpho Headers: PA0-PA15, PB0-PB15, PC0-PC15, PD0-PD15,
+                                 PE0-PE15, PF0-PF15, PG0-PG15, PH0-PH1
+               Avoid pins already used by selected SPI MISO/MOSI/SCK.
+
+choice
+       prompt "CS Pin Active Level"
+       default NUCLEO_H753ZI_MFRC522_CS_ACTIVE_LOW
+       help
+               Select whether the CS pin is active low or active high.
+
+config NUCLEO_H753ZI_MFRC522_CS_ACTIVE_LOW
+       bool "Active Low (standard)"
+       help
+               CS pin is active low (0V = selected, 3.3V = deselected).
+               This is the standard for MFRC522.
+
+config NUCLEO_H753ZI_MFRC522_CS_ACTIVE_HIGH
+       bool "Active High"
+       help
+               CS pin is active high (3.3V = selected, 0V = deselected).
+               Use only if your hardware requires it.
+
+endchoice
+
+config NUCLEO_H753ZI_MFRC522_IRQ_ENABLE
+       bool "Enable IRQ support"
+       default n
+       help
+               Enable interrupt-driven operation for MFRC522.
+               Allows the reader to signal when a card is detected.
+
+config NUCLEO_H753ZI_MFRC522_IRQ_PIN
+       string "IRQ GPIO Pin"
+       depends on NUCLEO_H753ZI_MFRC522_IRQ_ENABLE
+       default "PF2"
+       help
+               GPIO pin for MFRC522 interrupt signal.
+               Format: PORT+PIN (e.g., "PF2", "PE1", "PA3")
+               This pin should be connected to the MFRC522's IRQ output.
+               Choose a pin that supports external interrupts.
+               Common interrupt-capable pins:
+               - Arduino Headers: PF15(D2), PG14(D1), PG9(D0)
+               - Morpho Headers: Most PA/PB/PC/PD/PE/PF/PG pins
+               Avoid pins already used by SPI or CS.
+
+choice
+       prompt "IRQ Trigger Type"
+       depends on NUCLEO_H753ZI_MFRC522_IRQ_ENABLE
+       default NUCLEO_H753ZI_MFRC522_IRQ_FALLING_EDGE
+       help
+               Select the interrupt trigger type for MFRC522.
+
+config NUCLEO_H753ZI_MFRC522_IRQ_FALLING_EDGE
+       bool "Falling Edge"
+       help
+               Trigger interrupt on falling edge (3.3V to 0V transition).
+               This is the default for MFRC522.
+
+config NUCLEO_H753ZI_MFRC522_IRQ_RISING_EDGE
+       bool "Rising Edge"
+       help
+               Trigger interrupt on rising edge (0V to 3.3V transition).
+
+config NUCLEO_H753ZI_MFRC522_IRQ_BOTH_EDGES
+       bool "Both Edges"
+       help
+               Trigger interrupt on both rising and falling edges.
+
+endchoice
+
+endif
+
+endmenu
+
+menu "ST7796 LCD Display Configuration"
+       depends on LCD_ST7796
+
+config NUCLEO_H753ZI_ST7796_ENABLE
+       bool "Enable ST7796 LCD Display"
+       default n
+       select SPI_CMDDATA
+       help
+               Enable ST7796 3.5" IPS LCD display (320x480) with configurable
+               SPI bus, CS pin, DC pin, RESET pin, and LED backlight pin.
+
+if NUCLEO_H753ZI_ST7796_ENABLE
+
+choice
+       prompt "ST7796 SPI Bus"
+       help
+               Select which SPI bus the ST7796 is connected to.
+
+config NUCLEO_H753ZI_ST7796_SPI1
+       bool "Use SPI1"
+       depends on NUCLEO_H753ZI_SPI1_ENABLE
+
+config NUCLEO_H753ZI_ST7796_SPI2
+       bool "Use SPI2"
+       depends on NUCLEO_H753ZI_SPI2_ENABLE
+
+config NUCLEO_H753ZI_ST7796_SPI3
+       bool "Use SPI3"
+       depends on NUCLEO_H753ZI_SPI3_ENABLE
+
+config NUCLEO_H753ZI_ST7796_SPI4
+       bool "Use SPI4"
+       depends on NUCLEO_H753ZI_SPI4_ENABLE
+
+config NUCLEO_H753ZI_ST7796_SPI5
+       bool "Use SPI5"
+       depends on NUCLEO_H753ZI_SPI5_ENABLE
+
+config NUCLEO_H753ZI_ST7796_SPI6
+       bool "Use SPI6"
+       depends on NUCLEO_H753ZI_SPI6_ENABLE
+
+endchoice
+
+config NUCLEO_H753ZI_ST7796_SPI_BUS
+       int
+       default 1 if NUCLEO_H753ZI_ST7796_SPI1
+       default 2 if NUCLEO_H753ZI_ST7796_SPI2
+       default 3 if NUCLEO_H753ZI_ST7796_SPI3
+       default 4 if NUCLEO_H753ZI_ST7796_SPI4
+       default 5 if NUCLEO_H753ZI_ST7796_SPI5
+       default 6 if NUCLEO_H753ZI_ST7796_SPI6
+
+config NUCLEO_H753ZI_ST7796_DEVID
+       int "ST7796 Device ID"
+       range 0 15
+       default 0
+       help
+               Device ID for ST7796 within the selected SPI bus.
+               Range: 0-15 for each SPI bus.
+               This ID will be used to register the CS pin.
+
+menu "ST7796 Pin Configuration"
+
+config NUCLEO_H753ZI_ST7796_CS_PIN
+       string "CS (Chip Select) GPIO Pin"
+       default "PA4"

Review Comment:
   Why not? Clear best solution from my view. It saved me (and some friends) 
many times when using this approach.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to