Skip to content
Permalink
Browse files

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>
  • Loading branch information...
bwitherspoon authored and galak committed Apr 9, 2019
1 parent 39855a9 commit f0dc2e433df4554989bc623b7767e29b8db3da34
@@ -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
@@ -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
@@ -0,0 +1,5 @@
# Copyright (c) 2019 Brett Witherspoon
#
# SPDX-License-Identifier: Apache-2.0

include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
@@ -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>;
};
@@ -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
@@ -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
Binary file not shown.
@@ -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
@@ -0,0 +1 @@
source [find board/ti_cc13x2_launchpad.cfg]

0 comments on commit f0dc2e4

Please sign in to comment.
You can’t perform that action at this time.