Add support for RW61X in MCUX-SDK
Enable support for the highly integrated NXP triradio solution "RW612", designed for a broad array of applications, including, but not limited to: connected smart home devices, gaming controllers, enterprise and industrial automation, smart accessories, and "smart energy". Signed-off-by: Declan Snyder <declan.snyder@nxp.com> Co-authored-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
This commit is contained in:
parent
ac24626660
commit
259bc153dd
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -47,7 +47,7 @@ zephyr_compile_definitions(${MCUX_CPU})
|
|||
# practice, drilling down like this avoids the need for repetitive
|
||||
# build scripts for every mcux device.
|
||||
zephyr_library_sources(mcux-sdk/devices/${MCUX_DEVICE_PATH}/drivers/fsl_clock.c)
|
||||
if (${MCUX_DEVICE} MATCHES "LPC|MIMXRT6|MIMXRT5")
|
||||
if (${MCUX_DEVICE} MATCHES "LPC|MIMXRT6|MIMXRT5|RW6")
|
||||
zephyr_library_sources(mcux-sdk/devices/${MCUX_DEVICE_PATH}/drivers/fsl_power.c)
|
||||
zephyr_library_sources(mcux-sdk/devices/${MCUX_DEVICE_PATH}/drivers/fsl_reset.c)
|
||||
endif()
|
||||
|
|
|
@ -68,3 +68,4 @@ Patch List:
|
|||
- All *.a binary archive files. Files are still present in the SDK github repo but are not allowed in Zephyr Project
|
||||
- mcux-sdk\manifests
|
||||
- mcux-sdk\docs
|
||||
4. Add RW61X device_system.cmake
|
||||
|
|
|
@ -218,7 +218,7 @@ include_driver_ifdef(CONFIG_DMA_NXP_EDMA edma_rev2 driver_edma_rev2)
|
|||
|
||||
if ((${MCUX_DEVICE} MATCHES "MIMXRT1[0-9][0-9][0-9]") AND (NOT (CONFIG_SOC_MIMXRT1166_CM4 OR CONFIG_SOC_MIMXRT1176_CM4)))
|
||||
include_driver_ifdef(CONFIG_HAS_MCUX_CACHE cache/armv7-m7 driver_cache_armv7_m7)
|
||||
elseif(${MCUX_DEVICE} MATCHES "MIMXRT(5|6)")
|
||||
elseif((${MCUX_DEVICE} MATCHES "MIMXRT(5|6)") OR (${MCUX_DEVICE} MATCHES "RW61"))
|
||||
include_driver_ifdef(CONFIG_HAS_MCUX_CACHE cache/cache64 driver_cache_cache64)
|
||||
elseif((${MCUX_DEVICE} MATCHES "MK(28|66)") OR (${MCUX_DEVICE} MATCHES "MKE(14|16|18)") OR (CONFIG_SOC_MIMXRT1166_CM4) OR (CONFIG_SOC_MIMXRT1176_CM4))
|
||||
include_driver_ifdef(CONFIG_HAS_MCUX_CACHE cache/lmem driver_cache_lmem)
|
||||
|
@ -233,6 +233,14 @@ elseif (${MCUX_DEVICE} MATCHES "MIMXRT10[0-9][0-9]")
|
|||
include_driver_ifdef(CONFIG_PM_MCUX_PMU pmu driver_pmu)
|
||||
endif()
|
||||
|
||||
if((${MCUX_DEVICE} MATCHES "RW61") AND (NOT DEFINED CONFIG_MINIMAL_LIBC))
|
||||
# Whenever building for RW61x without minimal LIBC, use optimized memcpy.
|
||||
# This will avoid issues with unaligned access to peripheral RAM regions
|
||||
# caused by the memcpy implmentation in newlib
|
||||
zephyr_library_sources(${CMAKE_CURRENT_LIST_DIR}/mcux-sdk/utilities/misc_utilities/fsl_memcpy.S)
|
||||
endif()
|
||||
|
||||
|
||||
if("${CONFIG_SOC_FAMILY}" STREQUAL "nxp_kinetis")
|
||||
|
||||
include_driver_ifdef(CONFIG_SOC_FLASH_MCUX flash driver_flash)
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
#Description: device_system; user_visible: False
|
||||
include_guard(GLOBAL)
|
||||
message("device_system component is included.")
|
||||
|
||||
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
|
||||
${CMAKE_CURRENT_LIST_DIR}/system_RW610.c
|
||||
)
|
||||
|
||||
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
|
||||
${CMAKE_CURRENT_LIST_DIR}/.
|
||||
)
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
#Description: device_system; user_visible: False
|
||||
include_guard(GLOBAL)
|
||||
message("device_system component is included.")
|
||||
|
||||
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
|
||||
${CMAKE_CURRENT_LIST_DIR}/system_RW612.c
|
||||
)
|
||||
|
||||
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
|
||||
${CMAKE_CURRENT_LIST_DIR}/.
|
||||
)
|
||||
|
||||
|
Loading…
Reference in New Issue