@@ -581,6 +581,13 @@ enum nrf_wifi_status nrf_wifi_fmac_dev_add_zep(struct nrf_wifi_drv_priv_zep *drv
581
581
582
582
unsigned int fw_ver = 0 ;
583
583
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
+
584
591
rpu_ctx_zep = & drv_priv_zep -> rpu_ctx_zep ;
585
592
586
593
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
624
631
625
632
configure_board_dep_params (& board_params );
626
633
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
+
627
646
#ifdef CONFIG_NRF70_RADIO_TEST
628
647
status = nrf_wifi_rt_fmac_dev_init (rpu_ctx_zep -> rpu_ctx ,
629
648
#ifdef CONFIG_NRF_WIFI_LOW_POWER
0 commit comments