@@ -582,6 +582,13 @@ enum nrf_wifi_status nrf_wifi_fmac_dev_add_zep(struct nrf_wifi_drv_priv_zep *drv
582
582
583
583
unsigned int fw_ver = 0 ;
584
584
585
+ #if defined(CONFIG_NRF70_SR_COEX_SLEEP_CTRL_GPIO_CTRL ) && \
586
+ defined(CONFIG_NRF70_SYSTEM_MODE )
587
+ unsigned int alt_swctrl1_function_bt_coex_status1 =
588
+ (~CONFIG_NRF70_SR_COEX_SWCTRL1_OUTPUT ) & 0x1 ;
589
+ unsigned int invert_bt_coex_grant_output = CONFIG_NRF70_SR_COEX_BT_GRANT_ACTIVE_LOW ;
590
+ #endif /* CONFIG_NRF70_SR_COEX_SLEEP_CTRL_GPIO_CTRL && CONFIG_NRF70_SYSTEM_MODE */
591
+
585
592
rpu_ctx_zep = & drv_priv_zep -> rpu_ctx_zep ;
586
593
587
594
rpu_ctx_zep -> drv_priv_zep = drv_priv_zep ;
@@ -625,6 +632,18 @@ enum nrf_wifi_status nrf_wifi_fmac_dev_add_zep(struct nrf_wifi_drv_priv_zep *drv
625
632
626
633
configure_board_dep_params (& board_params );
627
634
635
+ #if defined(CONFIG_NRF70_SR_COEX_SLEEP_CTRL_GPIO_CTRL ) && \
636
+ defined(CONFIG_NRF70_SYSTEM_MODE )
637
+ LOG_INF ("Configuring SLEEP CTRL GPIO control register\n" );
638
+ status = nrf_wifi_coex_config_sleep_ctrl_gpio_ctrl (rpu_ctx_zep -> rpu_ctx ,
639
+ alt_swctrl1_function_bt_coex_status1 ,
640
+ invert_bt_coex_grant_output );
641
+ if (status != NRF_WIFI_STATUS_SUCCESS ) {
642
+ LOG_ERR ("%s: Failed to configure GPIO control register" , __func__ );
643
+ goto err ;
644
+ }
645
+ #endif /* CONFIG_NRF70_SR_COEX_SLEEP_CTRL_GPIO_CTRL && CONFIG_NRF70_SYSTEM_MODE */
646
+
628
647
#ifdef CONFIG_NRF70_RADIO_TEST
629
648
status = nrf_wifi_rt_fmac_dev_init (rpu_ctx_zep -> rpu_ctx ,
630
649
#ifdef CONFIG_NRF_WIFI_LOW_POWER
0 commit comments