===============================================================================
            U S E R  M A N U A L for Robust BT-WLAN coex (RBC)

 Copyright 2014-2020 NXP

===============================================================================

###############################

# Abbreviations and acronyms

###############################
RBC - Robust BT-WLAN co-existence
TMD - Time Distribute
SMPS - Spatial Multiplexing Power Save

###############################

# Default RBC modes:

###############################
1.  For systems where BT and WLAN have seperate antennas, RBC mode is
    automatically disabled in FW after detecting this from FEM cal data. e.g.
    For 1x1 Dual-Ant system and 2x2 3-Ant system RBC mode is disabled.
2.  For systems where BT and WLAN share an antenna, RBC mode is automatically
    enabled in FW after detecting this from FEM cal data.
    Default modes:
    1x1 single antenna system: TMD RBC
    2x2 2-antenna system: 1x1 SMPS RBC


#################################

# 2x2 2-antenna system RBC modes

#################################
There are three mutually exclusive RBC modes for a 2x2 system.
The default RBC mode is 1x1 SMPS RBC. The required RBC mode must be
configured before starting uAP or associating in-STA. The mode cannot be
changed dynamically when any of these connections is active. The modes are
described below:
1.  1x1 SMPS RBC mode: WLAN switches to 1x1 FEM when BT is turned on. Also,
    in-STA goes to SMPS mode w.r.t. ext-AP. When BT is turned off, WLAN
    switches back to 2x2 FEM setting and in-STA moves out of SMPS.
    uAP starts bss with only 1-stream even BT is off because it cannot
    dynamically move between 1-stream and 2-stream rates like in-STA. To start
    uAP with 2-stream, RBC mode has to be disabled.
2.  1x2 SMPS RBC mode: Similar as 1x1 SMPS RBC mode. WLAN switches to 1x2 FEM
    when BT is turned on. In this mode, it is expected that when BT is not
    actively transmitting, WLAN can receive on both the antennas to enhance
    the range. Note that 1-stream rates are used for receive and transmit.
3.  2x2 TMD RBC mode: WLAN uses 2x2 antenna setting and timeshares the antenna
    with BT.

###############################

# RBC mode select:

###############################

User can use robust_btc.conf and hostcmd to select different RBC mode:

hostcmd mode_get
hostcmd mode_timeshare
hostcmd mode_spatial
    This command is used to get/set Robust BT Coex.
    mode_get:       get the current mode
    mode_timeshare: set Robust BT Coex to timeshare mode  (default on 1x1 chips)
    mode_spatial:   set Robust BT Coex to spatial mode    (only for, and default on 2x2 chips)

    Usage:
        mlanconfig mlanX hostcmd config/robust_btc.conf mode_get
        mlanconfig mlanX hostcmd config/robust_btc.conf mode_timeshare
        mlanconfig mlanX hostcmd config/robust_btc.conf mode_spatial

hostcmd gpio_cfg
    This command is used to enable/disable GPIO cfg.
    gpio_cfg: enable/disable GPIO cfg for external bt request  (default is enable with High Polarity)

    Usage:
        mlanconfig mlanX hostcmd config/robust_btc.conf gpio_cfg

hostcmd generictime
hostcmd a2dptime
hostcmd inquirytime
hostcmd ap_generictime
hostcmd ap_a2dptime
hostcmd ap_inquirytime
        This command is used to configure the time slice of COEX (only works in timeshare mode)
        generictime:       configure the Bttime and Wlantime in Station Generic case
        a2dptime:          configure the Bttime and Wlantime in Station A2DP case
        inquirytime:       configure the Bttime and Wlantime in Station Inquiry case
        ap_generictime:    configure the Bttime and Wlantime in Ap Generic case
        ap_a2dptime:       configure the Bttime and Wlantime in Ap A2DP case
        ap_inquirytime:    configure the Bttime and Wlantime in Ap Inquiry case

    Usage:
                mlanutl mlanX hostcmd config/robust_btc.conf generictime
                mlanutl mlanX hostcmd config/robust_btc.conf a2dptime
                mlanutl mlanX hostcmd config/robust_btc.conf inquirytim
                mlanutl mlanX hostcmd config/robust_btc.conf ap_generictime
                mlanutl mlanX hostcmd config/robust_btc.conf ap_a2dptime
                mlanutl mlanX hostcmd config/robust_btc.conf ap_inquirytime

hostcmd external_coex_uart_gpio_config
       This command is used to configure the UART+GPIO external coex mode with following parameters
       Enabled:                configure the feature and ouutput on GPIO 0x08 disable, 0x07 enable
       ExtCoexHwIntWci2:       Enable UART for coex interface 0x00 disable, 0x01 enable

    Usase:
       mlanutl mlanX hostcmd config/robust_btc.conf external_coex_uart_gpio_config

