Antenna diversity and Thread

NCS 3.0.1

nrf52840

nrf21540

I have read several tickets regarding antenna diversity and BLE.  It does not seem to be supported for BLE.  What about Thread?

  I have read https://nrfconnectdocs.nordicsemi.com/ncs/3.0.1/nrfxlib/nrf_802154/doc/antenna_diversity.html , which describes the antenna diversity module.

It sounds like antenna diversity is handled by the radio driver..  Is that correct?  

Do I need to select an antenna in the application? or will the driver choose the best one?

dts

	nrf_radio_fem: nrf21540_fem {
		compatible = "nordic,nrf21540-fem";
		tx-en-gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
		rx-en-gpios = <&gpio0 19 GPIO_ACTIVE_HIGH>;
		pdn-gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
		ant-sel-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
		mode-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
		spi-if = <&nrf_radio_fem_spi>;
		supply-voltage-mv = <3000>;
	};
	
	fem_spi: &spi3 {
	status = "okay";
	pinctrl-0 = <&spi3_default_alt>;
	pinctrl-1 = <&spi3_sleep_alt>;
	pinctrl-names = "default", "sleep";
	cs-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
	nrf_radio_fem_spi: nrf21540_fem_spi@0 {
		compatible = "nordic,nrf21540-fem-spi";
		status = "okay";
		reg = <0>;
		spi-max-frequency = <8000000>;
	};
};

snippet: fem.conf

CONFIG_MPSL=y
CONFIG_MPSL_FEM=y
CONFIG_MPSL_FEM_NRF21540_GPIO=y
CONFIG_MPSL_FEM_NRF21540_GPIO_SPI=y
CONFIG_MPSL_FEM_NRF21540_TX_GAIN_DB=10
CONFIG_MPSL_FEM_NRF21540_TX_GAIN_DB_POUTA=20
CONFIG_MPSL_FEM_NRF21540_TX_GAIN_DB_POUTB=10
CONFIG_BT_CTLR_TX_PWR_ANTENNA=22

CONFIG_MPSL_FEM_NRF21540_RUNTIME_PA_GAIN_CONTROL=y

According to the ai answer to this, antenna diversity is supported for Thread.  It suggested that there KConfig options for enabling it, but I can't find any.  The documentation doesn't mention anyu.  Is it enough to enable ant-sel in the dts?  or do I need a KConfig setting?

Mary

Related