@@ -257,6 +257,14 @@ menu "ESP-Hosted config"
257257
258258 menu "Host SPI GPIOs Config"
259259
260+ config ESP_HOSTED_SPI_RESET_SLAVE_USING_CALLBACK
261+ bool "Reset slave using callback function"
262+ default n
263+ help
264+ Select this option if you want to reset the slave device using a callback function instead of using a GPIO pin.
265+ This is useful if the reset line of the slave device is not connected to a GPIO pin of the host device.
266+ The callback function should be defined as int hosted_reset_slave_callback(void); in user code.
267+
260268 choice ESP_HOSTED_SPI_HANDSHAKE_GPIO_CONFIG
261269 bool "Handshake GPIO Config"
262270 default ESP_HOSTED_HS_ACTIVE_HIGH
@@ -278,6 +286,7 @@ menu "ESP-Hosted config"
278286 endchoice
279287
280288 choice ESP_HOSTED_SPI_RESET_GPIO_CONFIG
289+ depends on !ESP_HOSTED_SPI_RESET_SLAVE_USING_CALLBACK
281290 bool "Reset GPIO Config"
282291 default ESP_HOSTED_SPI_RESET_ACTIVE_HIGH
283292 help
@@ -563,6 +572,7 @@ menu "ESP-Hosted config"
563572 default 100
564573
565574 config ESP_HOSTED_SPI_GPIO_RESET_SLAVE
575+ depends on !ESP_HOSTED_SPI_RESET_SLAVE_USING_CALLBACK
566576 int "GPIO pin for Resetting slave ESP"
567577 default 54 if ESP_HOSTED_P4_C5_CORE_BOARD || ESP_HOSTED_P4_C6_CORE_BOARD || ESP_HOSTED_P4_C61_CORE_BOARD
568578 default 9 if ESP32P4_EYE_C6_BOARD
@@ -640,7 +650,16 @@ ESP32XX_SPI_CLK_FREQ_RANGE_MAX := 40
640650 menu "Hosted SDIO Configuration"
641651 depends on ESP_HOSTED_SDIO_HOST_INTERFACE
642652
653+ config ESP_HOSTED_SDIO_RESET_SLAVE_USING_CALLBACK
654+ bool "Reset slave using callback function"
655+ default n
656+ help
657+ Select this option if you want to reset the slave device using a callback function instead of using a GPIO pin.
658+ This is useful if the reset line of the slave device is not connected to a GPIO pin of the host device.
659+ The callback function should be defined as int hosted_reset_slave_callback(void); in user code.
660+
643661 choice ESP_HOSTED_SDIO_RESET_GPIO_CONFIG
662+ depends on !ESP_HOSTED_SDIO_RESET_SLAVE_USING_CALLBACK
644663 bool "RESET GPIO Config"
645664 default ESP_HOSTED_SDIO_RESET_ACTIVE_HIGH
646665 help
@@ -1048,6 +1067,7 @@ ESP32XX_SDIO_CLK_FREQ_KHZ_RANGE_MAX := 50000
10481067 endif
10491068
10501069 config ESP_HOSTED_SDIO_GPIO_RESET_SLAVE
1070+ depends on !ESP_HOSTED_SDIO_RESET_SLAVE_USING_CALLBACK
10511071 int "GPIO pin for Resetting slave ESP"
10521072 default 9 if ESP32P4_EYE_C6_BOARD
10531073 default 54 if IDF_TARGET_ESP32P4
@@ -1156,7 +1176,16 @@ ESP32XX_SDIO_CLK_FREQ_KHZ_RANGE_MAX := 50000
11561176 default 4 if ESP_HOSTED_SPI_HD_PRIV_INTERFACE_4_DATA_LINES
11571177 default 2 if ESP_HOSTED_SPI_HD_PRIV_INTERFACE_2_DATA_LINES
11581178
1179+ config ESP_HOSTED_SPI_HD_RESET_SLAVE_USING_CALLBACK
1180+ bool "Reset slave using callback function"
1181+ default n
1182+ help
1183+ Select this option if you want to reset the slave device using a callback function instead of using a GPIO pin.
1184+ This is useful if the reset line of the slave device is not connected to a GPIO pin of the host device.
1185+ The callback function should be defined as int hosted_reset_slave_callback(void); in user code.
1186+
11591187 choice ESP_HOSTED_SPI_HD_RESET_GPIO_CONFIG
1188+ depends on !ESP_HOSTED_SPI_HD_RESET_SLAVE_USING_CALLBACK
11601189 bool "RESET GPIO Config"
11611190 default ESP_HOSTED_SPI_HD_RESET_ACTIVE_HIGH
11621191 help
@@ -1432,6 +1461,7 @@ ESP32XX_SDIO_CLK_FREQ_KHZ_RANGE_MAX := 50000
14321461 default 100
14331462
14341463 config ESP_HOSTED_SPI_HD_GPIO_RESET_SLAVE
1464+ depends on !ESP_HOSTED_SPI_HD_RESET_SLAVE_USING_CALLBACK
14351465 int "GPIO pin for Resetting slave ESP"
14361466 default 54 if ESP_HOSTED_P4_C5_CORE_BOARD || ESP_HOSTED_P4_C6_CORE_BOARD || ESP_HOSTED_P4_C61_CORE_BOARD
14371467 default 9 if ESP32P4_EYE_C6_BOARD
@@ -1495,7 +1525,16 @@ ESP32XX_SPI_HD_CLK_FREQ_RANGE_MAX := 40
14951525 menu "UART Configuration"
14961526 depends on ESP_HOSTED_UART_HOST_INTERFACE
14971527
1528+ config ESP_HOSTED_UART_RESET_SLAVE_USING_CALLBACK
1529+ bool "Reset slave using callback function"
1530+ default n
1531+ help
1532+ Select this option if you want to reset the slave device using a callback function instead of using a GPIO pin.
1533+ This is useful if the reset line of the slave device is not connected to a GPIO pin of the host device.
1534+ The callback function should be defined as int hosted_reset_slave_callback(void); in user code.
1535+
14981536 choice ESP_HOSTED_UART_RESET_GPIO_CONFIG
1537+ depends on !ESP_HOSTED_UART_RESET_SLAVE_USING_CALLBACK
14991538 bool "RESET GPIO Config"
15001539 default ESP_HOSTED_UART_RESET_ACTIVE_HIGH
15011540 help
@@ -1637,6 +1676,7 @@ ESP32XX_SPI_HD_CLK_FREQ_RANGE_MAX := 40
16371676 default 2 if ESP_HOSTED_UART_PRIV_STOP_BITS_2
16381677
16391678 config ESP_HOSTED_UART_GPIO_RESET_SLAVE
1679+ depends on !ESP_HOSTED_UART_RESET_SLAVE_USING_CALLBACK
16401680 int "GPIO pin for Resetting slave ESP"
16411681 default 54 if ESP_HOSTED_P4_C5_CORE_BOARD || ESP_HOSTED_P4_C6_CORE_BOARD || ESP_HOSTED_P4_C61_CORE_BOARD
16421682 default 9 if ESP32P4_EYE_C6_BOARD
@@ -1722,6 +1762,11 @@ ESP32XX_SPI_HD_CLK_FREQ_RANGE_MAX := 40
17221762 default n if ESP_HOSTED_SDIO_RESET_ACTIVE_HIGH || ESP_HOSTED_SPI_RESET_ACTIVE_HIGH || ESP_HOSTED_SPI_HD_RESET_ACTIVE_HIGH || ESP_HOSTED_UART_RESET_ACTIVE_HIGH
17231763 default y if ESP_HOSTED_SDIO_RESET_ACTIVE_LOW || ESP_HOSTED_SPI_RESET_ACTIVE_LOW || ESP_HOSTED_SPI_HD_RESET_ACTIVE_LOW || ESP_HOSTED_UART_RESET_ACTIVE_LOW
17241764
1765+ config ESP_HOSTED_RESET_SLAVE_USING_CALLBACK
1766+ bool
1767+ default n if !ESP_HOSTED_SPI_RESET_SLAVE_USING_CALLBACK && !ESP_HOSTED_SDIO_RESET_SLAVE_USING_CALLBACK && !ESP_HOSTED_SPI_HD_RESET_SLAVE_USING_CALLBACK && !ESP_HOSTED_UART_RESET_SLAVE_USING_CALLBACK
1768+ default y if ESP_HOSTED_SPI_RESET_SLAVE_USING_CALLBACK || ESP_HOSTED_SDIO_RESET_SLAVE_USING_CALLBACK || ESP_HOSTED_SPI_HD_RESET_SLAVE_USING_CALLBACK || ESP_HOSTED_UART_RESET_SLAVE_USING_CALLBACK
1769+
17251770 menu "Bluetooth Support"
17261771
17271772 comment "Following options must be set before this option can be enabled"
0 commit comments