Skip to content

Commit

Permalink
soc: ti: add support for new cc2340r5 soc
Browse files Browse the repository at this point in the history
Add support for CC2340R5 SOC and LP_EM_CC2340R5 board.

Datasheet: https://www.ti.com/lit/ds/symlink/cc2340r5.pdf
TRM: https://www.ti.com/lit/ug/swcu193/swcu193.pdf
Design files: https://www.ti.com/lit/zip/swrc381

Signed-off-by: Vebjorn Myklebust <[email protected]>
Signed-off-by: Lars Thalian Morstad <[email protected]>
Signed-off-by: Min Xu <[email protected]>
Signed-off-by: Masha Heller <[email protected]>
Signed-off-by: Stoyan Bogdanov <[email protected]>
Signed-off-by: Julien Panis <[email protected]>
  • Loading branch information
vmyklebust committed Sep 18, 2024
1 parent d0ae1a8 commit 66b184e
Show file tree
Hide file tree
Showing 69 changed files with 4,149 additions and 135 deletions.
119 changes: 119 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# Texas Instruments Support for Zephyr

<p align="center">
<img src="doc/images/ti_logo.png" />
</p>

The Texas Instruments Zephyr GitHub repository is the starting point for Zephyr
development on supported Texas Instruments devices. TI's Zephyr solution is
based on the Zephyr project and utilizes the same familiar environment, tools,
and dependencies.

## What is Zephyr?

The Zephyr Project is a scalable real-time operating system (RTOS) supporting
multiple hardware architectures, optimized for resource constrained devices,
and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on
resource-constrained systems: from simple embedded environmental sensors and
LED wearables to sophisticated smart watches and IoT wireless gateways.

This release of TI Zephyr is based on v3.6.0 and includes support for the following
Texas Instruments boards and devices. This release specifically adds support for
CC2340R5 and the LP_EM_CC2340R5 Launchpad.

#### Devices

- CC1352P
- CC1352R
- CC2652P
- CC2652R
- CC1352P7
- CC1352R7
- CC2652P7
- CC2652R7
- CC3220SF
- CC3235SF
- CC2340R5

#### Boards

- cc1352p1_launchxl
- cc1352p7_launchpad
- cc1352r1_launchxl
- cc26x2r1_launchxl
- cc3220sf_launchxl
- cc3235sf_launchxl
- lp_em_cc2340r5

## Getting Started

For getting started, please refer to the [Upstream Zephyr Readme](https://github.com/zephyrproject-rtos/zephyr/blob/main/README.rst)
for the Zephyr project and follow the same getting-started guide for setting up
the environment and building your first application.

> **_NOTE:_** When running `west init` in the getting-started guide it's
> important to instead run `west init -m https://github.com/TexasInstruments/simplelink-zephyr -mr v3.6.0-d0ae1a8b105-ti-8.20.00_ea zephyrproject`
> in order to use the TI Zephyr repository.
## Tools support

Currently the XDS110 debugger supplied with TI Launchpads is not natively
supported in the `west` Zephyr tool for all devices. In order to flash/debug the
CC2340R5 device with `west`, only [JLink](https://www.segger.com/downloads/jlink/)
is available. The recommended version to use is V7.94f which has been used for
validation. Note that it is also possible to build an application in Zephyr
targeting CC2340R5, and to use [Code Composer Studio](https://www.ti.com/tool/CCSTUDIO)
to both flash and debug the application using the XDS110 debugger.

## Versioning

TI will tag each release with the following format: {upstream-tag}-ti-M.mm.pp(\_optional-qualifier)

This tag can be broken down into 4 components:

- upstream-tag: This is the tag or commit of the [Zephyr](https://github.com/zephyrproject-rtos/zephyr)
repo that the TI release is based on
- -ti-: Separator
- TI release version: This is TI's version on top of the upstream Zephyr
version. The version scheme is explained below.
- Qualifier. The qualifier keyword is described below.

### TI Versioning Scheme

The TI version follows a version format, M.mm.pp, where:

- M is a 1 digit major number,
- mm is a 2 digit minor number,
- pp is a 2 digit patch number.

M.mm will follow TI's SimpleLink SDK version and is an indicator that the TI
added content is based on the SimpleLink SDK with matching M.mm.

### Qualifier

Tags that are appended with \_ea are for demo only and are beta quality, while
tags without the \_ea keyword should be treated as production worthy releases.

## Releases

All releases will be tagged using the version format above. Release notes are
provided in the form of GitHub's release notices. Read the release notes for
your selected version here:

https://github.com/TexasInstruments/simplelink-zephyr/releases/

#### Disclaimer

This release is provided as-is and should be considered Beta quality. This
product is meant for demonstration purposes only.

## Need help?

- For technical support with TI Zephyr, including bugs and feature requests -
submit a ticket to [TI's Wireless Connectivity E2E forum](https://e2e.ti.com/support/wireless-connectivity/)
> **_NOTE:_** Please do not use the Github issue tracker for this project.
Additionally, we welcome any feedback that you can give to improve the
documentation!
112 changes: 0 additions & 112 deletions README.rst

This file was deleted.

7 changes: 7 additions & 0 deletions boards/arm/lp_em_cc2340r5/board.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Copyright (c) 2024 Texas Instruments Incorporated
# Copyright (c) 2024 BayLibre, SAS
#
# SPDX-License-Identifier: Apache-2.0

board_runner_args(jlink "--device=CC2340R5")
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
22 changes: 22 additions & 0 deletions boards/ti/lp_em_cc2340r5/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
if BOARD_LP_EM_CC2340R5

config BT_CTLR
default BT

if BT
config ZEPHYR
bool "Bluetooth TI Controller on ZEPHYR"

select BT_CTLR_ADV_EXT_SUPPORT
select BT_CTLR_CHAN_SEL_2_SUPPORT
select BT_CTLR_DTM_HCI_SUPPORT

help
Bluetooth TI Controller on ZEPHYR OS.
default y

config BT_HOST_CRYPTO
default y if !BT_HCI_RAW
endif # BT

endif # BOARD_LP_EM_CC2340R5
11 changes: 11 additions & 0 deletions boards/ti/lp_em_cc2340r5/Kconfig.lp_em_cc2340r5
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Copyright (c) 2024 Texas Instruments Incorporated
# Copyright (c) 2024 BayLibre, SAS
#
# SPDX-License-Identifier: Apache-2.0

config BOARD_LP_EM_CC2340R5
select SOC_CC2340R5

config BOARD_USE_LF_XOSC
bool "Use external low-frequency crystal"
default y
7 changes: 7 additions & 0 deletions boards/ti/lp_em_cc2340r5/board.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Copyright (c) 2024 Texas Instruments Incorporated
# Copyright (c) 2024 BayLibre, SAS
#
# SPDX-License-Identifier: Apache-2.0

board_runner_args(jlink "--device=CC2340R5")
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
5 changes: 5 additions & 0 deletions boards/ti/lp_em_cc2340r5/board.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
board:
name: lp_em_cc2340r5
vendor: ti
socs:
- name: cc2340r5
39 changes: 39 additions & 0 deletions boards/ti/lp_em_cc2340r5/boosterpack_connector.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
* Copyright (c) 2024 Texas Instruments Incorporated
* Copyright (c) 2024 BayLibre, SAS
*
* SPDX-License-Identifier: Apache-2.0
*/

/ {
boosterpack_header: connector {
compatible = "ti,boosterpack-header";
#gpio-cells = <2>;
gpio-map = <3 0 &gpio0 22 0>,
<4 0 &gpio0 20 0>,
<7 0 &gpio0 18 0>,
<8 0 &gpio0 3 0>,
<9 0 &gpio0 24 0>,
<10 0 &gpio0 0 0>,

<12 0 &gpio0 9 0>,
<13 0 &gpio0 10 0>,
<14 0 &gpio0 12 0>,
<15 0 &gpio0 13 0>,
<17 0 &gpio0 19 0>,
<18 0 &gpio0 11 0>,

<23 0 &gpio0 23 0>,
<24 0 &gpio0 25 0>,
<25 0 &gpio0 1 0>,
<26 0 &gpio0 2 0>,
<27 0 &gpio0 5 0>,
<28 0 &gpio0 7 0>,

<36 0 &gpio0 8 0>,
<37 0 &gpio0 21 0>,
<38 0 &gpio0 6 0>,
<39 0 &gpio0 14 0>,
<40 0 &gpio0 15 0>;
};
};
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 66b184e

Please sign in to comment.