| /* |
| * 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_ */ |