-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The QPG6200L is the industry's most reliable and robust wireless multi-standard System-on-Chip. Featuring Qorvo's ConcurrentConnect™ technology, the QPG6200L supports the latest standards for Matter (over Thread), Zigbee and Bluetooth® Low Energy in a truly concurrent way. The low-power QPG6200L enables the adoption of Matter while supporting existing Zigbee networks without tradeoffs in latency and link performance. It features ConcurrentConnect™ Technologies: * Multi-Channel capability allows operating in up to 3 IEEE 802.15.4 PANs on different channels enabling Zigbee and Matter on separate channels ensuring RF performance. * Antenna Diversity for Bluetooth Low Energy and IEEE 802.15.4 enables increased effective range and interference robustness. * Multi-Radio capability allows continuously scanning for incoming packets across Bluetooth Low Energy® and IEEE 802.15.4 protocols with no observable blind spots. The [IoT Dev Kit for QPG6200L](https://www.qorvo.com/products/p/QPG6200LDK-01) provides a complete solution for building applications for connected devices with QPG6200L
- Loading branch information
Showing
31 changed files
with
2,997 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
# | ||
# Copyright (c) 2024, The OpenThread Authors. | ||
# All rights reserved. | ||
# | ||
# Redistribution and use in source and binary forms, with or without | ||
# modification, are permitted provided that the following conditions are met: | ||
# 1. Redistributions of source code must retain the above copyright | ||
# notice, this list of conditions and the following disclaimer. | ||
# 2. Redistributions in binary form must reproduce the above copyright | ||
# notice, this list of conditions and the following disclaimer in the | ||
# documentation and/or other materials provided with the distribution. | ||
# 3. Neither the name of the copyright holder nor the | ||
# names of its contributors may be used to endorse or promote products | ||
# derived from this software without specific prior written permission. | ||
# | ||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE | ||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
# POSSIBILITY OF SUCH DAMAGE. | ||
# | ||
|
||
target_compile_definitions(ot-config INTERFACE | ||
"MBEDTLS_CONFIG_FILE=\"${SDK_DIR}/${QORVO_PLATFORM}/inc/${QORVO_PLATFORM}-mbedtls-config.h\"" | ||
) | ||
|
||
list(APPEND OT_PUBLIC_INCLUDES | ||
"${CMAKE_CURRENT_SOURCE_DIR}/crypto" | ||
) | ||
|
||
set(OT_PLATFORM_DEFINES ${OT_PLATFORM_DEFINES} PARENT_SCOPE) | ||
|
||
set(OT_PUBLIC_INCLUDES ${OT_PUBLIC_INCLUDES} PARENT_SCOPE) | ||
|
||
set(PLATFORM_SOURCES | ||
alarm.c | ||
diag.c | ||
entropy.c | ||
logging.c | ||
misc.c | ||
platform.c | ||
radio.c | ||
settings.c | ||
syscalls_stubs.c | ||
uart.c | ||
) | ||
|
||
add_library(${PLATFORM_TARGET_FTD} | ||
STATIC | ||
${PLATFORM_SOURCES} | ||
) | ||
|
||
set_target_properties(${PLATFORM_TARGET_FTD} | ||
PROPERTIES | ||
C_STANDARD 99 | ||
CXX_STANDARD 20 | ||
) | ||
|
||
target_link_libraries(${PLATFORM_TARGET_FTD} | ||
PRIVATE | ||
-lc # Required to rearrange linking order to pick up syscalls stubs for libc | ||
-Wl,--start-group | ||
${PLATFORM_DRIVER_FTD} | ||
ot-config | ||
-Wl,--end-group | ||
PUBLIC | ||
-T${SDK_DIR}/${QORVO_PLATFORM}/ld/${QORVO_PLATFORM}.ld | ||
-nostdlib | ||
-Wl,--gc-sections | ||
-Wl,-Map=$<TARGET_PROPERTY:NAME>.map,--cref | ||
) | ||
|
||
target_compile_definitions(${PLATFORM_TARGET_FTD} | ||
PUBLIC | ||
${OT_PLATFORM_DEFINES} | ||
) | ||
|
||
target_compile_options(${PLATFORM_TARGET_FTD} | ||
PRIVATE | ||
${OT_CFLAGS} | ||
) | ||
|
||
target_include_directories(${PLATFORM_TARGET_FTD} | ||
PRIVATE | ||
${OT_PUBLIC_INCLUDES} | ||
${OPENTHREAD_DIR}/examples/platforms | ||
) | ||
|
||
add_library(${PLATFORM_TARGET_MTD} | ||
STATIC | ||
${PLATFORM_SOURCES} | ||
) | ||
|
||
set_target_properties(${PLATFORM_TARGET_MTD} | ||
PROPERTIES | ||
C_STANDARD 99 | ||
CXX_STANDARD 20 | ||
) | ||
|
||
target_link_libraries(${PLATFORM_TARGET_MTD} | ||
PRIVATE | ||
-lc # Required to rearrange linking order to pick up syscalls stubs for libc | ||
-Wl,--start-group | ||
${PLATFORM_DRIVER_MTD} | ||
ot-config | ||
-Wl,--end-group | ||
PUBLIC | ||
-T${SDK_DIR}/${QORVO_PLATFORM}/ld/${QORVO_PLATFORM}.ld | ||
-nostdlib | ||
-Wl,--gc-sections | ||
-Wl,-Map=$<TARGET_PROPERTY:NAME>.map,--cref | ||
) | ||
|
||
target_compile_definitions(${PLATFORM_TARGET_MTD} | ||
PUBLIC | ||
${OT_PLATFORM_DEFINES} | ||
) | ||
|
||
target_compile_options(${PLATFORM_TARGET_MTD} | ||
PRIVATE | ||
${OT_CFLAGS} | ||
) | ||
|
||
target_include_directories(${PLATFORM_TARGET_MTD} | ||
PRIVATE | ||
${OT_PUBLIC_INCLUDES} | ||
${OPENTHREAD_DIR}/examples/platforms | ||
) | ||
|
||
target_include_directories(ot-config INTERFACE ${OT_PUBLIC_INCLUDES}) | ||
target_compile_definitions(ot-config INTERFACE ${OT_PLATFORM_DEFINES}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
/* | ||
* Copyright (c) 2024, The OpenThread Authors. | ||
* All rights reserved. | ||
* | ||
* Redistribution and use in source and binary forms, with or without | ||
* modification, are permitted provided that the following conditions are met: | ||
* 1. Redistributions of source code must retain the above copyright | ||
* notice, this list of conditions and the following disclaimer. | ||
* 2. Redistributions in binary form must reproduce the above copyright | ||
* notice, this list of conditions and the following disclaimer in the | ||
* documentation and/or other materials provided with the distribution. | ||
* 3. Neither the name of the copyright holder nor the | ||
* names of its contributors may be used to endorse or promote products | ||
* derived from this software without specific prior written permission. | ||
* | ||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE | ||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
* POSSIBILITY OF SUCH DAMAGE. | ||
*/ | ||
|
||
/** | ||
* @file | ||
* This file implements the OpenThread platform abstraction for the alarm. | ||
* | ||
*/ | ||
|
||
#include <stdbool.h> | ||
#include <stdint.h> | ||
|
||
#include "alarm_qorvo.h" | ||
#include <openthread/platform/alarm-micro.h> | ||
#include <openthread/platform/alarm-milli.h> | ||
#include <openthread/platform/diag.h> | ||
|
||
uint32_t otPlatAlarmMilliGetNow(void) | ||
{ | ||
return qorvoAlarmGetTimeMs(); | ||
} | ||
|
||
static void qorvoAlarmMilliFired(void *aInstance) | ||
{ | ||
otPlatAlarmMilliFired((otInstance *)aInstance); | ||
} | ||
|
||
void otPlatAlarmMilliStartAt(otInstance *aInstance, uint32_t t0, uint32_t dt) | ||
{ | ||
OT_UNUSED_VARIABLE(t0); | ||
|
||
qorvoAlarmStop((qorvoAlarmCallback_t)qorvoAlarmMilliFired, aInstance); | ||
qorvoAlarmMilliStart(dt, qorvoAlarmMilliFired, aInstance); | ||
} | ||
|
||
void otPlatAlarmMilliStop(otInstance *aInstance) | ||
{ | ||
qorvoAlarmStop((qorvoAlarmCallback_t)qorvoAlarmMilliFired, aInstance); | ||
} | ||
|
||
uint32_t otPlatAlarmMicroGetNow(void) | ||
{ | ||
return qorvoAlarmGetTimeUs(); | ||
} | ||
|
||
static void qorvoAlarmMicroFired(void *aInstance) | ||
{ | ||
otPlatAlarmMicroFired((otInstance *)aInstance); | ||
} | ||
|
||
void otPlatAlarmMicroStartAt(otInstance *aInstance, uint32_t t0, uint32_t dt) | ||
{ | ||
OT_UNUSED_VARIABLE(t0); | ||
|
||
qorvoAlarmStop((qorvoAlarmCallback_t)qorvoAlarmMicroFired, aInstance); | ||
qorvoAlarmMicroStart(dt, qorvoAlarmMicroFired, aInstance); | ||
} | ||
|
||
void otPlatAlarmMicroStop(otInstance *aInstance) | ||
{ | ||
qorvoAlarmStop((qorvoAlarmCallback_t)qorvoAlarmMicroFired, aInstance); | ||
} |
Oops, something went wrong.