Skip to content

Commit

Permalink
simplelink: ti: Add support for Demo II
Browse files Browse the repository at this point in the history
This release of TI Zephyr is based on v3.7.0 and includes support and
maintenance for the following Texas Instruments boards and devices.

Devices
- [CC2340R5](https://www.ti.com/product/CC2340R5)

Boards
- [lp_em_cc2340r5](https://www.ti.com/tool/LP-EM-CC2340R5)

Supported Zephyr Examples
- hci_uart
- broadcaster
- observer
- scan_adv
- extended_adv/advertiser
- peripheral
- central
- peripheral_dis
- peripheral_gatt_write
- central_gatt_write

Supported Drivers:
- UART
- Watchdog
- GPIO
- SPI
- Crypto
- ADC
- I2C
- PWM
Signed-off-by: Masha Heller <[email protected]>
Signed-off-by: Lars Thalian Morstad <[email protected]>
  • Loading branch information
LarsMorstadTI committed Nov 15, 2024
1 parent 36940db commit ea816e6
Show file tree
Hide file tree
Showing 165 changed files with 16,013 additions and 4,789 deletions.
157 changes: 157 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
# 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 in the downstream repository of TI Zephyr is based on a tagged
release from the Zephyr upstream. TI has built on top of that Zephyr version
to add support for specific SimpleLink Wireless MCUs. Please see the
[Release Notes](#releases) for information about which upstream Zephyr release
this TI release is based on. Other dependency info is included there as well.

This release only contains
support for the `CC2340R5` device. The `CC32xx` and `CC13xx_CC26xx` devices are
not supported in this release. However, the Zephyr community continues to
support them in the upstream repositories.

### Devices

Supported by this release:

- [CC2340R52](https://www.ti.com/product/CC2340R5)

Beta support:

Limited testing was also performed on the `CC2340R53`, a variant of the CC2340R5
with 64kB of SRAM. Please note that some examples that require more RAM should
be run on the CC2340R53. Please see the release notes for more details.

To use this device, change [`cc2340r5.dtsi`](dts/arm/ti/cc2340r5.dtsi)
as follows:

```dts
sram0: memory@20000000 {
reg = <0x20000000 DT_SIZE_K(64)>;
};
```

Supported by the Zephyr community:

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

### Boards

Supported by this release:

- [lp_em_cc2340r5](https://www.ti.com/tool/LP-EM-CC2340R5)

Supported by the Zephyr community:

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

## 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 {tag-name} zephyrproject`
> in order to use the TI Zephyr repository.
> The `{tag-name}` changes with each release from TI.
>
> You can look up the latest tag from the following link:
> https://github.com/TexasInstruments/simplelink-zephyr/tags

## 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. Please refer to the Release Notes for
details on specific limitations and known issues.

## 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)
19 changes: 19 additions & 0 deletions boards/ti/lp_em_cc2340r5/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
if BOARD_LP_EM_CC2340R5


if BT

config ZEPHYR
bool "Bluetooth TI Controller on ZEPHYR"

help
Bluetooth TI Controller on ZEPHYR OS.
default y

config BT_LL_HEAP_SIZE
hex "LL Heap memory pool size (in bytes)"
default 0x1800

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 ea816e6

Please sign in to comment.