From 988e4cf77094fcabaf9a10ad94102d1e4522d0f6 Mon Sep 17 00:00:00 2001 From: Alexandre Bailon Date: Fri, 12 Apr 2024 21:15:13 +0200 Subject: [PATCH] boards: ti: Add support of CC1352P7 Launchpad This adds support of CC1352P7 Lauchpad. This based on the CC1352R1 LaunchXL. Signed-off-by: Alexandre Bailon --- boards/ti/cc1352p7_launchpad/CMakeLists.txt | 3 + boards/ti/cc1352p7_launchpad/Kconfig | 6 + .../ti/cc1352p7_launchpad/Kconfig.cc1352p7_lp | 7 + boards/ti/cc1352p7_launchpad/board.cmake | 5 + boards/ti/cc1352p7_launchpad/board.yml | 5 + boards/ti/cc1352p7_launchpad/cc1352p7_lp.dts | 17 ++ boards/ti/cc1352p7_launchpad/cc1352p7_lp.yaml | 17 ++ .../cc1352p7_launchpad/cc1352p7_lp_defconfig | 24 ++ .../doc/img/lp-cc1352p7-top.jpg | Bin 0 -> 49983 bytes boards/ti/cc1352p7_launchpad/doc/index.rst | 248 ++++++++++++++++++ .../ti/cc1352p7_launchpad/support/openocd.cfg | 1 + 11 files changed, 333 insertions(+) create mode 100644 boards/ti/cc1352p7_launchpad/CMakeLists.txt create mode 100644 boards/ti/cc1352p7_launchpad/Kconfig create mode 100644 boards/ti/cc1352p7_launchpad/Kconfig.cc1352p7_lp create mode 100644 boards/ti/cc1352p7_launchpad/board.cmake create mode 100644 boards/ti/cc1352p7_launchpad/board.yml create mode 100644 boards/ti/cc1352p7_launchpad/cc1352p7_lp.dts create mode 100644 boards/ti/cc1352p7_launchpad/cc1352p7_lp.yaml create mode 100644 boards/ti/cc1352p7_launchpad/cc1352p7_lp_defconfig create mode 100644 boards/ti/cc1352p7_launchpad/doc/img/lp-cc1352p7-top.jpg create mode 100644 boards/ti/cc1352p7_launchpad/doc/index.rst create mode 100644 boards/ti/cc1352p7_launchpad/support/openocd.cfg diff --git a/boards/ti/cc1352p7_launchpad/CMakeLists.txt b/boards/ti/cc1352p7_launchpad/CMakeLists.txt new file mode 100644 index 00000000000000..1b2a7b60199cd5 --- /dev/null +++ b/boards/ti/cc1352p7_launchpad/CMakeLists.txt @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: Apache-2.0 + +add_subdirectory(${ZEPHYR_BASE}/boards/ti/common/ ${CMAKE_CURRENT_BINARY_DIR}/common) diff --git a/boards/ti/cc1352p7_launchpad/Kconfig b/boards/ti/cc1352p7_launchpad/Kconfig new file mode 100644 index 00000000000000..3042bf1555e507 --- /dev/null +++ b/boards/ti/cc1352p7_launchpad/Kconfig @@ -0,0 +1,6 @@ +# TI CC1352P7 LaunchPad board + +# Copyright (c) 2024 Alexandre Bailon +# SPDX-License-Identifier: Apache-2.0 + +source "boards/ti/common/Kconfig" diff --git a/boards/ti/cc1352p7_launchpad/Kconfig.cc1352p7_lp b/boards/ti/cc1352p7_launchpad/Kconfig.cc1352p7_lp new file mode 100644 index 00000000000000..4e8de72e94158f --- /dev/null +++ b/boards/ti/cc1352p7_launchpad/Kconfig.cc1352p7_lp @@ -0,0 +1,7 @@ +# TI CC1352P7 LaunchPad board + +# Copyright (c) 2024 Alexandre Bailon +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_CC1352P7_LP + select SOC_CC1352P7 diff --git a/boards/ti/cc1352p7_launchpad/board.cmake b/boards/ti/cc1352p7_launchpad/board.cmake new file mode 100644 index 00000000000000..1c43704148600c --- /dev/null +++ b/boards/ti/cc1352p7_launchpad/board.cmake @@ -0,0 +1,5 @@ +# Copyright (c) 2021 Florin Stancu +# +# SPDX-License-Identifier: Apache-2.0 + +include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake) diff --git a/boards/ti/cc1352p7_launchpad/board.yml b/boards/ti/cc1352p7_launchpad/board.yml new file mode 100644 index 00000000000000..0e97ad4ff4358f --- /dev/null +++ b/boards/ti/cc1352p7_launchpad/board.yml @@ -0,0 +1,5 @@ +board: + name: cc1352p7_lp + vendor: ti + socs: + - name: cc1352p7 diff --git a/boards/ti/cc1352p7_launchpad/cc1352p7_lp.dts b/boards/ti/cc1352p7_launchpad/cc1352p7_lp.dts new file mode 100644 index 00000000000000..51ad1b2ba66fcc --- /dev/null +++ b/boards/ti/cc1352p7_launchpad/cc1352p7_lp.dts @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2024 Alexandre Bailon + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; + +#include +#include "../common/launchxl.dtsi" +#include "../common/launchxl-flash-p7.dtsi" +#include "../common/launchxl_sky13317.dtsi" + +/ { + model = "TI CC1352P7 LaunchPad"; + compatible = "ti,lp-cc1352p7"; +}; diff --git a/boards/ti/cc1352p7_launchpad/cc1352p7_lp.yaml b/boards/ti/cc1352p7_launchpad/cc1352p7_lp.yaml new file mode 100644 index 00000000000000..fe3a834ebcf48c --- /dev/null +++ b/boards/ti/cc1352p7_launchpad/cc1352p7_lp.yaml @@ -0,0 +1,17 @@ +identifier: cc1352p7_lp +name: TI SimpleLink CC1352P7 LaunchPad +type: mcu +arch: arm +ram: 144 +flash: 704 +toolchain: + - zephyr + - gnuarmemb + - xtools +supported: + - gpio + - i2c + - spi + - watchdog + - hwinfo +vendor: ti diff --git a/boards/ti/cc1352p7_launchpad/cc1352p7_lp_defconfig b/boards/ti/cc1352p7_launchpad/cc1352p7_lp_defconfig new file mode 100644 index 00000000000000..42ca455ed33026 --- /dev/null +++ b/boards/ti/cc1352p7_launchpad/cc1352p7_lp_defconfig @@ -0,0 +1,24 @@ +# +# Copyright (c) 2021 Florin Stancu +# +# SPDX-License-Identifier: Apache-2.0 +# + +CONFIG_BUILD_OUTPUT_HEX=y +# custom callback for the antenna switch +CONFIG_CC13X2_CC26X2_HAS_CUSTOM_RF_HWATTRS=y + +CONFIG_CC13X2_CC26X2_BOOTLOADER_ENABLE=y +CONFIG_CC13X2_CC26X2_BOOTLOADER_BACKDOOR_ENABLE=y +CONFIG_CC13X2_CC26X2_BOOTLOADER_BACKDOOR_PIN=15 + +# Enable MPU and hardware stack protection +CONFIG_ARM_MPU=y +CONFIG_HW_STACK_PROTECTION=y + +CONFIG_PINCTRL=y +CONFIG_GPIO=y +CONFIG_SERIAL=y + +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y diff --git a/boards/ti/cc1352p7_launchpad/doc/img/lp-cc1352p7-top.jpg b/boards/ti/cc1352p7_launchpad/doc/img/lp-cc1352p7-top.jpg new file mode 100644 index 0000000000000000000000000000000000000000..196b7a8e6d53b3f3f193262b8f454bc50fef726c GIT binary patch literal 49983 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 + + Note that the emulation package install may place the xdsdfu utility + in ``/ccs_base/common/uscif/xds110/``. + +#. Install OpenOCD + + You can obtain OpenOCD by following these + :ref:`installing the latest Zephyr SDK instructions `. + + After the installation, add the directory containing the OpenOCD executable + to your environment's PATH variable. For example, use this command in Linux: + + .. code-block:: console + + export PATH=$ZEPHYR_SDK_INSTALL_DIR/sysroots/x86_64-pokysdk-linux/usr/bin/openocd:$PATH + +Flashing +======== + +Applications for the ``CC1352P7 LaunchPad`` board configuration can be built and +flashed in the usual way (see :ref:`build_an_application` and +:ref:`application_run` for more details). + +Here is an example for the :ref:`hello_world` application. + +First, run your favorite terminal program to listen for output. + +.. code-block:: console + + $ screen 115200 + +Replace :code:`` with the port where the XDS110 application +serial device can be found. For example, :code:`/dev/ttyACM0`. + +Then build and flash the application in the usual way. + +.. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: cc1352p7_lp + :goals: build flash + +Debugging +========= + +You can debug an application in the usual way. Here is an example for the +:ref:`hello_world` application. + +.. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: cc1352p7_lp + :maybe-skip-config: + :goals: debug + +Bootloader +========== + +The ROM bootloader on CC13x2x7 and CC26x2x7 devices is enabled by default. The +bootloader will start if there is no valid application image in flash or the +so-called backdoor is enabled (via option +:kconfig:option:`CONFIG_CC13X2_CC26X2_BOOTLOADER_BACKDOOR_ENABLE`) and BTN-1 is held +down during reset. See the bootloader documentation in chapter 10 of the `TI +CC13x2x7 / CC26x2x7 Technical Reference Manual`_ for additional information. + +Power Management and UART +========================= + +System and device power management are supported on this platform, and +can be enabled via the standard Kconfig options in Zephyr, such as +:kconfig:option:`CONFIG_PM`, :kconfig:option:`CONFIG_PM_DEVICE`. + +When system power management is turned on (CONFIG_PM=y), +sleep state 2 (standby mode) is allowed, and polling is used to retrieve input +by calling uart_poll_in(), it is possible for characters to be missed if the +system enters standby mode between calls to uart_poll_in(). This is because +the UART is inactive while the system is in standby mode. The workaround is to +disable sleep state 2 while polling: + +.. code-block:: c + + pm_policy_state_lock_get(PM_STATE_STANDBY, PM_ALL_SUBSTATES); + + pm_policy_state_lock_put(PM_STATE_STANDBY, PM_ALL_SUBSTATES); + + +References +********** + +CC1352P7 LaunchPad Quick Start Guide: + https://www.ti.com/lit/pdf/swru573 + +.. _TI CC1352P7 LaunchPad Product Page: + https://www.ti.com/tool/LP-CC1352P7 + +.. _TI CC1352P7 Product Page: + https://www.ti.com/product/CC1352P7 + +.. _TI CC13x2x7 / CC26x2x7 Technical Reference Manual: + https://www.ti.com/lit/ug/swcu192/swcu192.pdf + +.. _XDS-110 emulation package: + http://processors.wiki.ti.com/index.php/XDS_Emulation_Software_Package#XDS_Emulation_Software_.28emupack.29_Download diff --git a/boards/ti/cc1352p7_launchpad/support/openocd.cfg b/boards/ti/cc1352p7_launchpad/support/openocd.cfg new file mode 100644 index 00000000000000..8be969b1819bde --- /dev/null +++ b/boards/ti/cc1352p7_launchpad/support/openocd.cfg @@ -0,0 +1 @@ +source [find board/ti_cc26x2x7_launchpad.cfg]