zephyr/dts/bindings/ieee802154/atmel,rf2xx.yaml

128 lines
4.8 KiB
YAML

# Copyright (c) 2019-2020 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
description: ATMEL AT86RF2xx 802.15.4 wireless transceiver
compatible: "atmel,rf2xx"
include: spi-device.yaml
properties:
irq-gpios:
type: phandle-array
required: true
reset-gpios:
type: phandle-array
required: true
slptr-gpios:
type: phandle-array
required: true
description: |
Multi-functional pin that controls sleep, deep sleep, transmit
start and receive states
dig2-gpios:
type: phandle-array
description: RX and TX Frame Time Stamping(TX_ARET)
clkm-gpios:
type: phandle-array
description: Master clock signal output
local-mac-address:
type: uint8-array
description: |
Specifies the MAC address that was assigned to the network
device
channel-page:
type: int
enum:
- 0
- 2
- 5
description: |
Selects Channel Page accordingly with IEEE 802.15.4 standard. The Page 0
is used in both Sub-Giga and 2.4GHz. It allows select channels 0-10 in
Sub-Giga band (0: BPSK-20, 1-10: BPSK-40) and 11-26 in 2.4GHz band
(11-26: O-QPSK-250). Channel 2 is for Sub-Giga and selects
(0: OQPSK-SIN-RC-100, 1-10: OQPSK-SIN-250). Channel 5 is for Sub-Giga
(JAPAN) and selects (0-3: OQPSK-RC-250) .
0: Page 0 - BPSK-20 [0], BPSK-40 [1-10], O-QPSK-250 [11-26].
2: Page 2 - OQPSK-SIN-RC-100 [0], OQPSK-SIN-250 [1-10].
5: Page 5 - OQPSK-RC-250 [0-3].
tx-pwr-table:
type: uint8-array
default: [0x00]
description: |
This is the Transmission Power Mapping Table array used to comply with
local regulations. By default this value set an output power above 0dBm
for all transceivers. This property must be used with tx-pwr-min and
tx-pwr-max for normal operations. The number of elements is defined by
the size of the tx-pwr-table array property. The max entry value for
2.4GHz is 0x0f and 0xff for Sub-Giga. See PHY_TX_PWR at datasheet for
more details.
The output power is determined by following formula:
linear_step = (tx-pwr-max - tx-pwr-min)
/ (sizeof(tx-pwr-table) - 1.0);
table_index = abs((value_in_dbm - tx-pwr-max) / linear_step);
output_power = tx-pwr-table[table_index];
Using AT86RF233 as example without external PA. By the datasheet the
tx-pwr-min = -17 dBm and tx-pwr-max = +4 dBm. Using 48 elements in the
tx-pwr-table array. The table array is filled from higher to lower power.
tx-pwr-min = [01 11]; /* -17.0 dBm */
tx-pwr-max = [00 04]; /* 4.0 dBm */
tx-pwr-table = [00 01 03 04 05 05 06 06
07 07 07 08 08 09 09 0a
0a 0a 0b 0b 0b 0b 0c 0c
0c 0c 0d 0d 0d 0d 0d 0d
0d 0d 0e 0e 0e 0e 0e 0e
0e 0e 0e 0e 0e 0e 0f 0f];
The values in the table are filled based on table 9-9 [TX Output Power]
using the linear step in dBm as:
linear_step = (4 - (-17)) / (48 - 1) => ~0.45 dBm
Assuming that user wants set 0 dBm as output power:
table_index = abs((0 - 4) / 0.45) => 8.95 ( round to 9 )
output_power = tx-pwr-table[9] => 0x07 ( 0 dBm as table 9-9 )
Note when tx-pwr-min is [0x00, 0x00] and tx-pwr-max is [0x00, 0x00]
the linear step is zero. This means that table_index will be always the
first element of the tx-pwr-table array, which is 0x00 by default. This
is defined as general case when user not define any tx-pwr-* entries. It
sets the transceiver to use always a value above 0 dBm as output power.
tx-pwr-min:
type: uint8-array
default: [0x00, 0x00]
description: |
This value represent minimum normalized value in dBm for the transceiver
output power. This property must be used when tx-pwr-table is defined.
The value is represented by two entries where first element represents
the signal indication [0x00-positive, 0x01-negative] and second element
is the minimal value in dBm for the transceiver output power. By default,
the combination of tx-pwr-min as [0x00, 0x00] and tx-pwr-max as [0x00,
0x00] will create a fixed transmission power.
tx-pwr-max:
type: uint8-array
default: [0x00, 0x00]
description: |
This value represent maximum normalized value in dBm for the transceiver
output power. This property must be used when tx-pwr-table is defined.
The value is represented by two entries where first element represents
the signal indication [ 0x00-positive] and second element is the maximum
value in dBm for the transceiver output power. By default, the
combination of tx-pwr-max as [0x00, 0x00] and tx-pwr-min as [0x00,
0x00] will create a fixed transmission power.