138 lines
4.7 KiB
YAML
138 lines
4.7 KiB
YAML
# Copyright (c) 2020, 2021 Nordic Semiconductor ASA
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
|
description: |
|
|
This is a representation of the nRF21540 Radio Front-End module.
|
|
|
|
See the "nordic,nrf21540-fem-spi" binding to configure the SPI
|
|
interface. The SPI interface should be configured as a child node
|
|
of the SPI bus you have connected to the FEM. Then you "connect"
|
|
the FEM and SPI configurations using the spi-if property.
|
|
|
|
Here is an example nRF21540 configuration with a SPI interface
|
|
selected, using the SPIM0 peripheral found on several nRF5 SoCs:
|
|
|
|
&spi0 {
|
|
compatible = "nordic,nrf-spim";
|
|
status = "okay";
|
|
cs-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
|
|
/* ... MISO/MOSI/SCK pin configuration goes here ... */
|
|
|
|
my_spi_if: nrf21540-spi@0 {
|
|
compatible = "nordic,nrf21540-fem-spi";
|
|
reg = <0>;
|
|
spi-max-frequency = <8000000>;
|
|
};
|
|
};
|
|
|
|
nrf_radio_fem: nrf21540 {
|
|
compatible = "nordic,nrf21540-fem";
|
|
tx-en-gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
|
|
rx-en-gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
|
|
spi-if = <&my_spi_if>;
|
|
pdn-gpios = <...>;
|
|
ant-sel-gpios = <...>;
|
|
mode-gpios = <...>;
|
|
/* ... other nRF21540 properties go here ... */
|
|
};
|
|
|
|
&radio {
|
|
fem = <&nrf_radio_fem>;
|
|
};
|
|
|
|
In the above example, the nRF21540 is configured for use with:
|
|
|
|
- TX_EN on P0.2 (from 'tx-en-gpios')
|
|
- RX_EN on P0.5 (from 'rx-en-gpios')
|
|
- SPI communication via SPIM0 (the bus, or parent node, of
|
|
the 'my_spi_if' node
|
|
- CSN on P1.3 (from index 0 in the bus node's 'cs-gpios' property)
|
|
|
|
You must perform any additional required SPI pin configuration
|
|
(nRF21540 MISO, MOSI, and SCK pins) within the SPI bus node
|
|
('spi0' in the above example). See your SPI node's binding for
|
|
details on these pin mux properties. You can use any SPI node
|
|
available in your SoC's devicetree.
|
|
|
|
Configure any other nRF21540 pins as needed using 'pdn-gpios',
|
|
'ant-sel-gpios', and 'mode-gpios' properties. If unsure about the
|
|
format, use 'tx-en-gpios' as an example.
|
|
|
|
Finally, the nRF5 SoC's radio peripheral is set up for use with
|
|
the nRF21540 via the 'fem' property in the 'radio' node.
|
|
|
|
compatible: "nordic,nrf21540-fem"
|
|
|
|
include: base.yaml
|
|
|
|
properties:
|
|
tx-en-gpios:
|
|
type: phandle-array
|
|
required: false
|
|
description: |
|
|
GPIO of the SOC controlling TX_EN pin of the nRF21540
|
|
rx-en-gpios:
|
|
type: phandle-array
|
|
required: false
|
|
description: |
|
|
GPIO of the SOC controlling RX_EN pin of the nRF21540
|
|
pdn-gpios:
|
|
type: phandle-array
|
|
required: false
|
|
description: |
|
|
GPIO of the SOC controlling PDN pin of the nRF21540
|
|
ant-sel-gpios:
|
|
type: phandle-array
|
|
required: false
|
|
description: |
|
|
GPIO of the SOC controlling ANT-SEL pin of the nRF21540
|
|
mode-gpios:
|
|
type: phandle-array
|
|
required: false
|
|
description: |
|
|
GPIO of the SOC controlling MODE pin of the nRF21540
|
|
spi-if:
|
|
type: phandle
|
|
required: false
|
|
description: |
|
|
Reference to the nordic,nrf21540-fem-spi SPI bus interface.
|
|
|
|
This must be present to support SPI control of the FEM.
|
|
tx-en-settle-time-us:
|
|
type: int
|
|
default: 11
|
|
description: |
|
|
Settling time in microseconds from state PG to TX.
|
|
|
|
Default value is based on Table 6 of the nRF21540 Product
|
|
Specification (v1.0), and can be overridden for tuned
|
|
configurations.
|
|
rx-en-settle-time-us:
|
|
type: int
|
|
default: 11
|
|
description: |
|
|
Settling time in microseconds from state PG to RX.
|
|
|
|
Default value is based on Table 6 of the nRF21540 Product
|
|
Specification (v1.0), and can be overridden for tuned
|
|
configurations.
|
|
pdn-settle-time-us:
|
|
type: int
|
|
default: 18
|
|
description: |
|
|
Settling time in microseconds from state PD to PG.
|
|
|
|
Default value is based on Table 6 of the nRF21540 Product
|
|
Specification (v1.0), and can be overridden for tuned
|
|
configurations.
|
|
trx-hold-time-us:
|
|
type: int
|
|
default: 3
|
|
description: |
|
|
Power-off time in microseconds when changing from RX or TX to PG.
|
|
|
|
Default value is based on Table 6 of the nRF21540 Product
|
|
Specification (v1.0), and can be overridden for tuned
|
|
configurations.
|