You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
361 lines
4.8 KiB
361 lines
4.8 KiB
/* |
|
* Copyright (c) 2017 Intel Corporation |
|
* |
|
* SPDX-License-Identifier: Apache-2.0 |
|
*/ |
|
|
|
#ifndef ZEPHYR_DRIVERS_IEEE802154_IEEE802154_CC1200_RF_H_ |
|
#define ZEPHYR_DRIVERS_IEEE802154_IEEE802154_CC1200_RF_H_ |
|
|
|
#include <zephyr/drivers/ieee802154/cc1200.h> |
|
|
|
#define CC1200_RF_NON_EXT_SPACE_REGS 42 |
|
#define CC1200_RF_EXT_SPACE_REGS 58 |
|
|
|
/* About PKTCFGn from Kconfig: |
|
* CONFIG_IEEE802154_CC1200_PKTCFG0 LENGTH_VAR_1 |
|
* CONFIG_IEEE802154_CC1200_PKTCFG1 (APPEND_STATUS | CRC_FFFF | ADDR_NO_CHK) |
|
* We do not enable 802.15.4g mode yet: |
|
* CONFIG_IEEE802154_CC1200_PKTCFG2 (PKT_FORMAT_NORMAL_MODE | CCA_ALWAYS_CLEAR) |
|
**/ |
|
|
|
#ifdef CONFIG_IEEE802154_CC1200_RF_PRESET |
|
|
|
#if defined(CONFIG_IEEE802154_CC1200_RF_SET_0) |
|
|
|
#define IEEE802154_CC1200_CHANNEL_LIMIT 33 |
|
|
|
const struct cc1200_rf_registers_set cc1200_rf_settings = { |
|
.chan_center_freq0 = 863125, |
|
.channel_spacing = 2000, /* 200 KHz */ |
|
.registers = { |
|
0x6F, /* SYNC3 */ |
|
0x4E, |
|
0x90, |
|
0x4E, |
|
0xE5, |
|
0x23, |
|
0x47, |
|
0x0B, |
|
0x56, |
|
0x19, /* 0x14 */ |
|
0xBA, |
|
0xC8, |
|
0x84, |
|
0x42, |
|
0x05, |
|
0x94, |
|
0x7A, |
|
0xE1, |
|
0x27, |
|
CONFIG_IEEE802154_CC1200_CCA_THRESHOLD, |
|
CONFIG_IEEE802154_CC1200_RSSI_OFFSET, |
|
0xB1, |
|
0x20, |
|
0x11, |
|
0x90, |
|
0x00, |
|
0x00, |
|
CONFIG_IEEE802154_CC1200_SETTLING_CFG, |
|
0x12, |
|
0x08, |
|
0x21, |
|
0x00, |
|
0x00, |
|
0x00, |
|
CONFIG_IEEE802154_CC1200_PKTCFG2, |
|
CONFIG_IEEE802154_CC1200_PKTCFG1, |
|
CONFIG_IEEE802154_CC1200_PKTCFG0, |
|
CONFIG_IEEE802154_CC1200_RFEND_CFG1, |
|
CONFIG_IEEE802154_CC1200_RFEND_CFG0, |
|
0x7F, |
|
0x56, |
|
0x0F, /* ASK_CFG */ |
|
0x18, /* IF_MIX_CFG */ |
|
0x20, |
|
0x03, |
|
0x00, |
|
0x00, |
|
0x02, |
|
0x01, |
|
0x00, |
|
0x00, |
|
0x00, |
|
0x00, |
|
0x00, |
|
0x56, |
|
0xCC, |
|
0xCC, |
|
0x02, |
|
0xEE, |
|
0x10, |
|
0x04, |
|
0x50, |
|
0x00, |
|
0x20, |
|
0x40, |
|
0x0E, |
|
0x28, |
|
0x03, |
|
0x00, |
|
0x33, |
|
0xF7, |
|
0x0F, |
|
0x00, |
|
0x00, |
|
0x6E, |
|
0x1C, |
|
0xAC, |
|
0x14, |
|
0x00, |
|
0x00, |
|
0x00, |
|
0xB5, |
|
0x00, |
|
0x02, |
|
0x00, |
|
0x00, |
|
0x10, |
|
0x00, |
|
0x00, |
|
0x05, |
|
0x01, |
|
0x01, |
|
0x0E, |
|
0xA0, |
|
0x03, |
|
0x04, |
|
0x03, |
|
0x00, |
|
0x00, |
|
0x00, /* PA_CFG3 */ |
|
} |
|
}; |
|
|
|
#elif defined(CONFIG_IEEE802154_CC1200_RF_SET_1) |
|
|
|
#define IEEE802154_CC1200_CHANNEL_LIMIT 38 |
|
|
|
const struct cc1200_rf_registers_set cc1200_rf_settings = { |
|
.chan_center_freq0 = 920600, |
|
.channel_spacing = 2000, /* 200 KHz */ |
|
.registers = { |
|
0x6F, /* SYNC3 */ |
|
0x4E, |
|
0x90, |
|
0x4E, |
|
0xE5, |
|
0x23, |
|
0x47, |
|
0x0B, |
|
0x56, |
|
0x14, |
|
0xBA, |
|
0xC8, |
|
0x84, |
|
0x42, |
|
0x05, |
|
0x94, |
|
0x7A, |
|
0xE1, |
|
0x27, |
|
CONFIG_IEEE802154_CC1200_CCA_THRESHOLD, |
|
CONFIG_IEEE802154_CC1200_RSSI_OFFSET, |
|
0xB1, |
|
0x20, |
|
0x11, |
|
0x90, |
|
0x00, |
|
0x00, |
|
CONFIG_IEEE802154_CC1200_SETTLING_CFG, |
|
0x12, |
|
0x08, |
|
0x21, |
|
0x00, |
|
0x00, |
|
0x00, |
|
CONFIG_IEEE802154_CC1200_PKTCFG2, |
|
CONFIG_IEEE802154_CC1200_PKTCFG1, |
|
CONFIG_IEEE802154_CC1200_PKTCFG0, |
|
CONFIG_IEEE802154_CC1200_RFEND_CFG1, |
|
CONFIG_IEEE802154_CC1200_RFEND_CFG0 |
|
0x7F, |
|
0x56, |
|
0x0F, /* ASK_CFG */ |
|
0x18, /* IF_MIX_CFG */ |
|
0x20, |
|
0x03, |
|
0x00, |
|
0x00, |
|
0x02, |
|
0x01, |
|
0x00, |
|
0x00, |
|
0x00, |
|
0x00, |
|
0x00, |
|
0x5C, |
|
0x0F, |
|
0x5C, |
|
0x02, |
|
0xEE, |
|
0x10, |
|
0x04, |
|
0x55, |
|
0x00, |
|
0x20, |
|
0x40, |
|
0x0E, |
|
0x28, |
|
0x03, |
|
0x00, |
|
0x33, |
|
0xFF, |
|
0x17, |
|
0x00, |
|
0x00, |
|
0x6E, |
|
0x1C, |
|
0xAC, |
|
0x14, |
|
0x00, |
|
0x00, |
|
0x00, |
|
0xB5, |
|
0x00, |
|
0x02, |
|
0x00, |
|
0x00, |
|
0x10, |
|
0x00, |
|
0x00, |
|
0x05, |
|
0x01, |
|
0x01, |
|
0x0E, |
|
0xA0, |
|
0x03, |
|
0x04, |
|
0x03, |
|
0x00, |
|
0x00, |
|
0x00, /* PA_CFG3 */ |
|
} |
|
}; |
|
|
|
#elif defined(CONFIG_IEEE802154_CC1200_RF_SET_2) |
|
|
|
#define IEEE802154_CC1200_CHANNEL_LIMIT 14 |
|
|
|
const struct cc1200_rf_registers_set cc1200_rf_settings = { |
|
.chan_center_freq0 = 433164, |
|
.channel_spacing = 2000, /* 200 KHz */ |
|
.registers = { |
|
0x6F, /* SYNC3 */ |
|
0x4E, |
|
0x90, |
|
0x4E, |
|
0xE5, |
|
0x23, |
|
0x47, |
|
0x0B, |
|
0x56, |
|
0x14, |
|
0xBA, |
|
0xC8, |
|
0x84, |
|
0x42, |
|
0x05, |
|
0x94, |
|
0x7A, |
|
0xE1, |
|
0x27, |
|
CONFIG_IEEE802154_CC1200_CCA_THRESHOLD, |
|
CONFIG_IEEE802154_CC1200_RSSI_OFFSET, |
|
0xB1, |
|
0x20, |
|
0x11, |
|
0x90, |
|
0x00, |
|
0x00, |
|
CONFIG_IEEE802154_CC1200_SETTLING_CFG, |
|
0x14, |
|
0x08, |
|
0x21, |
|
0x00, |
|
0x00, |
|
0x00, |
|
CONFIG_IEEE802154_CC1200_PKTCFG2, |
|
CONFIG_IEEE802154_CC1200_PKTCFG1, |
|
CONFIG_IEEE802154_CC1200_PKTCFG0, |
|
CONFIG_IEEE802154_CC1200_RFEND_CFG1, |
|
CONFIG_IEEE802154_CC1200_RFEND_CFG0, |
|
0x7F, |
|
0x56, |
|
0x0F, /* ASK_CFG */ |
|
0x18, /* IF_MIX_CFG */ |
|
0x20, |
|
0x03, |
|
0x00, |
|
0x00, |
|
0x02, |
|
0x01, |
|
0x00, |
|
0x00, |
|
0x00, |
|
0x00, |
|
0x00, |
|
0x56, |
|
0xCC, |
|
0xCC, |
|
0x02, |
|
0xEE, |
|
0x10, |
|
0x04, |
|
0x50, |
|
0x00, |
|
0x20, |
|
0x40, |
|
0x0E, |
|
0x28, |
|
0x03, |
|
0x00, |
|
0x33, |
|
0xF7, |
|
0x0F, |
|
0x00, |
|
0x00, |
|
0x6E, |
|
0x1C, |
|
0xAC, |
|
0x14, |
|
0x00, |
|
0x00, |
|
0x00, |
|
0xB5, |
|
0x00, |
|
0x02, |
|
0x00, |
|
0x00, |
|
0x10, |
|
0x00, |
|
0x00, |
|
0x05, |
|
0x01, |
|
0x01, |
|
0x0E, |
|
0xA0, |
|
0x03, |
|
0x04, |
|
0x03, |
|
0x00, |
|
0x00, |
|
0x00, /* PA_CFG3 */ |
|
} |
|
}; |
|
|
|
#endif /* CONFIG_IEEE802154_CC1200_RF_SET_n */ |
|
|
|
#endif /* CONFIG_IEEE802154_CC1200_RF_PRESET */ |
|
|
|
#endif /* ZEPHYR_DRIVERS_IEEE802154_IEEE802154_CC1200_RF_H_ */
|
|
|