@@ -581,6 +581,13 @@ enum nrf_wifi_status nrf_wifi_fmac_dev_add_zep(struct nrf_wifi_drv_priv_zep *drv
581581
582582 unsigned int fw_ver = 0 ;
583583
584+ #if defined(CONFIG_NRF70_SR_COEX_SLEEP_CTRL_GPIO_CTRL ) && \
585+ defined(CONFIG_NRF70_SYSTEM_MODE )
586+ unsigned int alt_swctrl1_function_bt_coex_status1 =
587+ (~CONFIG_NRF70_SR_COEX_SWCTRL1_OUTPUT ) & 0x1 ;
588+ unsigned int invert_bt_coex_grant_output = CONFIG_NRF70_SR_COEX_BT_GRANT_ACTIVE_LOW ;
589+ #endif /* CONFIG_NRF70_SR_COEX_SLEEP_CTRL_GPIO_CTRL && CONFIG_NRF70_SYSTEM_MODE */
590+
584591 rpu_ctx_zep = & drv_priv_zep -> rpu_ctx_zep ;
585592
586593 rpu_ctx_zep -> drv_priv_zep = drv_priv_zep ;
@@ -624,6 +631,18 @@ enum nrf_wifi_status nrf_wifi_fmac_dev_add_zep(struct nrf_wifi_drv_priv_zep *drv
624631
625632 configure_board_dep_params (& board_params );
626633
634+ #if defined(CONFIG_NRF70_SR_COEX_SLEEP_CTRL_GPIO_CTRL ) && \
635+ defined(CONFIG_NRF70_SYSTEM_MODE )
636+ LOG_INF ("Configuring SLEEP CTRL GPIO control register\n" );
637+ status = nrf_wifi_coex_config_sleep_ctrl_gpio_ctrl (rpu_ctx_zep -> rpu_ctx ,
638+ alt_swctrl1_function_bt_coex_status1 ,
639+ invert_bt_coex_grant_output );
640+ if (status != NRF_WIFI_STATUS_SUCCESS ) {
641+ LOG_ERR ("%s: Failed to configure GPIO control register" , __func__ );
642+ goto err ;
643+ }
644+ #endif /* CONFIG_NRF70_SR_COEX_SLEEP_CTRL_GPIO_CTRL && CONFIG_NRF70_SYSTEM_MODE */
645+
627646#ifdef CONFIG_NRF70_RADIO_TEST
628647 status = nrf_wifi_rt_fmac_dev_init (rpu_ctx_zep -> rpu_ctx ,
629648#ifdef CONFIG_NRF_WIFI_LOW_POWER
0 commit comments