boards: cc1352r1_launchxl: add support for TI CC1352R LaunchPad
The TI CC1352R LaunchPad (LAUNCHXL-CC1352R1) is a development kit that features the CC1352R SoC. Signed-off-by: Brett Witherspoon <spoonb@cdspooner.com>
This commit is contained in:
parent
39855a9c90
commit
f0dc2e433d
9 changed files with 297 additions and 0 deletions
9
boards/arm/cc1352r1_launchxl/Kconfig.board
Normal file
9
boards/arm/cc1352r1_launchxl/Kconfig.board
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# Kconfig - TI CC1352R LaunchXL board
|
||||||
|
#
|
||||||
|
# Copyright (c) 2019 Brett Witherspoon
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
config BOARD_CC1352R1_LAUNCHXL
|
||||||
|
bool "TI CC1352R1 LaunchXL"
|
||||||
|
depends on SOC_CC1352R
|
12
boards/arm/cc1352r1_launchxl/Kconfig.defconfig
Normal file
12
boards/arm/cc1352r1_launchxl/Kconfig.defconfig
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# Kconfig - TI CC1352R LaunchXL board
|
||||||
|
#
|
||||||
|
# Copyright (c) 2019 Brett Witherspoon
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
if BOARD_CC1352R1_LAUNCHXL
|
||||||
|
|
||||||
|
config BOARD
|
||||||
|
default "cc1352r1_launchxl"
|
||||||
|
|
||||||
|
endif # BOARD_CC1352R1_LAUNCHXL
|
5
boards/arm/cc1352r1_launchxl/board.cmake
Normal file
5
boards/arm/cc1352r1_launchxl/board.cmake
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# Copyright (c) 2019 Brett Witherspoon
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
|
65
boards/arm/cc1352r1_launchxl/cc1352r1_launchxl.dts
Normal file
65
boards/arm/cc1352r1_launchxl/cc1352r1_launchxl.dts
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2019 Brett Witherspoon
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include <ti/cc1352r.dtsi>
|
||||||
|
|
||||||
|
#define BTN_GPIO_FLAGS (GPIO_INT_ACTIVE_LOW | GPIO_PUD_PULL_UP)
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "TI CC1352R1 LaunchXL";
|
||||||
|
compatible = "ti,launchxl-cc1352r1";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
led0 = &led0;
|
||||||
|
led1 = &led1;
|
||||||
|
sw0 = &btn0;
|
||||||
|
sw1 = &btn1;
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
zephyr,sram = &sram0;
|
||||||
|
zephyr,flash = &flash0;
|
||||||
|
zephyr,console = &uart0;
|
||||||
|
zephyr,shell-uart = &uart0;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
led0: led_0 {
|
||||||
|
gpios = <&gpio0 7 0>;
|
||||||
|
label = "Green LED";
|
||||||
|
};
|
||||||
|
led1: led_1 {
|
||||||
|
gpios = <&gpio0 6 0>;
|
||||||
|
label = "Red LED";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
btn0: btn_0 {
|
||||||
|
gpios = <&gpio0 15 BTN_GPIO_FLAGS>;
|
||||||
|
label = "Push button 1";
|
||||||
|
};
|
||||||
|
btn1: btn_1 {
|
||||||
|
gpios = <&gpio0 14 BTN_GPIO_FLAGS>;
|
||||||
|
label = "Push button 2";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&gpio0 {
|
||||||
|
status = "ok";
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
status = "ok";
|
||||||
|
current-speed = <115200>;
|
||||||
|
tx-pin = <13>;
|
||||||
|
rx-pin = <12>;
|
||||||
|
};
|
12
boards/arm/cc1352r1_launchxl/cc1352r1_launchxl.yaml
Normal file
12
boards/arm/cc1352r1_launchxl/cc1352r1_launchxl.yaml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
identifier: cc1352r1_launchxl
|
||||||
|
name: TI SimpleLink CC1352R LaunchPad
|
||||||
|
type: mcu
|
||||||
|
arch: arm
|
||||||
|
ram: 80
|
||||||
|
flash: 352
|
||||||
|
toolchain:
|
||||||
|
- zephyr
|
||||||
|
- gnuarmemb
|
||||||
|
- xtools
|
||||||
|
supported:
|
||||||
|
- gpio
|
18
boards/arm/cc1352r1_launchxl/cc1352r1_launchxl_defconfig
Normal file
18
boards/arm/cc1352r1_launchxl/cc1352r1_launchxl_defconfig
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2019 Brett Witherspoon
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
CONFIG_ARM=y
|
||||||
|
CONFIG_SOC_SERIES_CC13X2_CC26X2=y
|
||||||
|
CONFIG_SOC_CC1352R=y
|
||||||
|
CONFIG_CORTEX_M_SYSTICK=y
|
||||||
|
CONFIG_BOARD_CC1352R1_LAUNCHXL=y
|
||||||
|
|
||||||
|
CONFIG_PINMUX=y
|
||||||
|
CONFIG_GPIO=y
|
||||||
|
CONFIG_SERIAL=y
|
||||||
|
|
||||||
|
CONFIG_CONSOLE=y
|
||||||
|
CONFIG_UART_CONSOLE=y
|
BIN
boards/arm/cc1352r1_launchxl/doc/img/cc1352r1_launchxl.png
Normal file
BIN
boards/arm/cc1352r1_launchxl/doc/img/cc1352r1_launchxl.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 276 KiB |
175
boards/arm/cc1352r1_launchxl/doc/index.rst
Normal file
175
boards/arm/cc1352r1_launchxl/doc/index.rst
Normal file
|
@ -0,0 +1,175 @@
|
||||||
|
.. _cc1352r1_launchxl:
|
||||||
|
|
||||||
|
CC1352R1 LaunchXL
|
||||||
|
#################
|
||||||
|
|
||||||
|
Overview
|
||||||
|
********
|
||||||
|
|
||||||
|
The Texas Instruments CC1352R LaunchPad |trade| (LAUNCHXL-CC1352R1) is a
|
||||||
|
development kit for the SimpleLink |trade| multi-Standard CC1352R wireless MCU.
|
||||||
|
|
||||||
|
See the `TI CC1352R LaunchPad Product Page`_ for details.
|
||||||
|
|
||||||
|
.. figure:: img/cc1352r1_launchxl.png
|
||||||
|
:width: 400px
|
||||||
|
:align: center
|
||||||
|
:alt: TI CC1352R LaunchPad
|
||||||
|
|
||||||
|
Texas Instruments CC1352R LaunchPad |trade|
|
||||||
|
|
||||||
|
Hardware
|
||||||
|
********
|
||||||
|
|
||||||
|
The CC1352R LaunchPad |trade| development kit features the CC1352R wireless MCU.
|
||||||
|
The board is equipped with two LEDs, two push buttons and BoosterPack connectors
|
||||||
|
for expansion. It also includes an integrated (XDS110) debugger.
|
||||||
|
|
||||||
|
The CC13522 wireless MCU has a 48 MHz Arm |reg| Cortex |reg|-M4F SoC and an
|
||||||
|
integrated Sub-1 and 2.4 GHz transceiver supporting multiple protocols including
|
||||||
|
Bluetooth |reg| Low Energy and IEEE |reg| 802.15.4.
|
||||||
|
|
||||||
|
See the `TI CC1352R Product Page`_ for additional details.
|
||||||
|
|
||||||
|
Supported Features
|
||||||
|
==================
|
||||||
|
|
||||||
|
The CC1352R LaunchPad board configuration supports the following hardware
|
||||||
|
features:
|
||||||
|
|
||||||
|
+-----------+------------+----------------------+
|
||||||
|
| Interface | Controller | Driver/Component |
|
||||||
|
+===========+============+======================+
|
||||||
|
| GPIO | on-chip | gpio |
|
||||||
|
+-----------+------------+----------------------+
|
||||||
|
| NVIC | on-chip | arch/arm |
|
||||||
|
+-----------+------------+----------------------+
|
||||||
|
| PINMUX | on-chip | pinmux |
|
||||||
|
+-----------+------------+----------------------+
|
||||||
|
| UART | on-chip | serial |
|
||||||
|
+-----------+------------+----------------------+
|
||||||
|
|
||||||
|
Other hardware features are not supported by the Zephyr kernel.
|
||||||
|
|
||||||
|
Connections and IOs
|
||||||
|
===================
|
||||||
|
|
||||||
|
All I/O signals are accessible from the BoosterPack connectors. Pin function
|
||||||
|
aligns with the LaunchPad standard.
|
||||||
|
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| Pin | Function | Usage |
|
||||||
|
+=======+===========+=====================+
|
||||||
|
| DIO3 | GPIO | |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO4 | I2C_MSSCL | I2C SCL |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO5 | I2C_MSSDA | I2C SDA |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO6 | GPIO | Red LED |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO7 | GPIO | Green LED |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO8 | SSI0_RX | SPI MISO |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO9 | SSI0_TX | SPI MOSI |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO10 | SSI0_CLK | SPI CLK |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO11 | SSIO_CS | SPI CS |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO12 | UART0_RX | UART RXD |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO13 | UART0_TX | UART TXD |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO14 | GPIO | Button 2 |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO15 | GPIO | Button 1 |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO16 | | JTAG TDO |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO17 | | JTAG TDI |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO18 | UART0_RTS | UART RTS / JTAG SWO |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO19 | UART0_CTS | UART CTS |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO20 | GPIO | Flash CS |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO21 | GPIO | |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO22 | GPIO | |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO23 | AUX_IO | A0 |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO24 | AUX_IO | A1 |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO25 | AUX_IO | A2 |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO26 | AUX_IO | A3 |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO27 | AUX_IO | A4 |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO28 | AUX_IO | A5 |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO29 | AUX_IO | A6 |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
| DIO30 | AUX_IO | A7 |
|
||||||
|
+-------+-----------+---------------------+
|
||||||
|
|
||||||
|
Programming and Debugging
|
||||||
|
*************************
|
||||||
|
|
||||||
|
Before flashing or debugging ensure the RESET, TMS, TCK, TDO, and TDI jumpers
|
||||||
|
are in place. Also place jumpers on the the TXD and RXD signals for a serial
|
||||||
|
console using the XDS110 application serial port.
|
||||||
|
|
||||||
|
Flashing
|
||||||
|
========
|
||||||
|
|
||||||
|
Applications for the ``CC1352R 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 <tty_device> 115200
|
||||||
|
|
||||||
|
Replace :code:`<tty_device>` 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: cc1352r1_launchxl
|
||||||
|
: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: cc1352r1_launchxl
|
||||||
|
:maybe-skip-config:
|
||||||
|
:goals: debug
|
||||||
|
|
||||||
|
|
||||||
|
References
|
||||||
|
**********
|
||||||
|
|
||||||
|
CC1352R1 LaunchPad Quick Start Guide:
|
||||||
|
http://www.ti.com/lit/pdf/swru525
|
||||||
|
|
||||||
|
.. _TI CC1352R LaunchPad Product Page:
|
||||||
|
http://www.ti.com/tool/launchxl-cc1352r1
|
||||||
|
|
||||||
|
.. _TI CC1352R Product Page:
|
||||||
|
http://www.ti.com/product/cc1352r
|
1
boards/arm/cc1352r1_launchxl/support/openocd.cfg
Normal file
1
boards/arm/cc1352r1_launchxl/support/openocd.cfg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
source [find board/ti_cc13x2_launchpad.cfg]
|
Loading…
Add table
Add a link
Reference in a new issue