-
Notifications
You must be signed in to change notification settings - Fork 8.4k
Add base support to TI cc23x0 SoC #76441
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
kartben
merged 18 commits into
zephyrproject-rtos:main
from
jpanisbl:baylibre/upstream-cc23x0-base-support
Feb 4, 2025
Merged
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
4dbf0af
west.yml: Update hal_ti
jpanisbl 0c87aae
modules: simplelink: Add support for cc23x0 SoC
jpanisbl e47d9b1
soc: ti: Add support for new SoC cc23x0
vmyklebust e6ae892
boards: ti: Add support for new board lp_em_cc2340r5
vmyklebust bb8d92a
drivers: flash: Add support for cc23x0 flash
bogdanovs 2cb6357
dts: bindings: mtd: Add support for cc23x0 flash CCFG sector
jpanisbl 7040752
dts: arm: ti: cc23x0: Add flash support
bogdanovs 8cf5e8f
boards: ti: lp_em_cc2340r5: Add flash support
bogdanovs db1cfcc
drivers: pinctrl: Add support for cc23x0 pinctrl
vmyklebust d9639c2
dts: arm: ti: cc23x0: Add pinctrl support
jpanisbl 8fc80b0
drivers: timer: Add support for cc23x0 systim
vmyklebust 524298a
drivers: gpio: Add support for cc23x0 GPIO
vmyklebust b10aa5a
dts: arm: ti: cc23x0: Add GPIO support
bogdanovs 5cee38b
boards: ti: lp_em_cc2340r5: Add GPIO support
bogdanovs 0014216
boards: ti: lp_em_cc2340r5: Add leds and keys support
bogdanovs 6c59391
drivers: serial: Add support for cc23x0 UART
vmyklebust 86c472d
dts: arm: ti: cc23x0: Add UART support
bogdanovs b2b0181
boards: ti: lp_em_cc2340r5: Add UART support
bogdanovs File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | ||
|
|
||
| config BOARD_LP_EM_CC2340R5 | ||
| select SOC_CC2340R5 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| board: | ||
| name: lp_em_cc2340r5 | ||
| vendor: ti | ||
| socs: | ||
| - name: cc2340r5 | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,128 @@ | ||
| .. _lp_em_cc2340r5: | ||
|
|
||
| TI CC2340R5 Launchpad | ||
| ##################### | ||
|
|
||
| Overview | ||
| ******** | ||
|
|
||
| The Texas Instruments CC2340R5 LaunchPad |trade| (LP_EM_CC2340R5) is a | ||
| development kit for the SimpleLink |trade| multi-Standard CC2340R5 wireless MCU. | ||
|
|
||
| See the `TI CC2340R5 LaunchPad Product Page`_ for details. | ||
|
|
||
| .. figure:: img/lp_em_cc2340r5.webp | ||
| :align: center | ||
| :alt: TI CC2340R5 Launchpad | ||
|
|
||
| Texas Instruments CC2340R5 LaunchPad |trade| | ||
jpanisbl marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| Hardware | ||
| ******** | ||
|
|
||
| The CC2340R5 LaunchPad |trade| development kit features the CC2340R5 wireless MCU. | ||
| The board is equipped with two LEDs, two push buttons and BoosterPack connectors | ||
| for expansion. | ||
|
|
||
| The CC2340R5 wireless MCU has a 48 MHz Arm |reg| Cortex |reg|-M0+ SoC and an | ||
| integrated 2.4 GHz transceiver supporting multiple protocols including Bluetooth | ||
| |reg| Low Energy and IEEE |reg| 802.15.4. | ||
|
|
||
| See the `TI CC2340R5 Product Page`_ for additional details. | ||
|
|
||
| Supported Features | ||
| ================== | ||
|
|
||
| The ``lp_em_cc2340r5`` board supports the following hardware features: | ||
|
|
||
| +-----------+------------+----------------------+ | ||
| | Interface | Controller | Driver/Component | | ||
| +===========+============+======================+ | ||
| | NVIC | on-chip | arch/arm | | ||
| +-----------+------------+----------------------+ | ||
| | GPIO | on-chip | gpio | | ||
| +-----------+------------+----------------------+ | ||
| | PINMUX | on-chip | pinmux | | ||
| +-----------+------------+----------------------+ | ||
| | UART | on-chip | serial port | | ||
| +-----------+------------+----------------------+ | ||
| | SYSTIM | on-chip | system timer | | ||
| +-----------+------------+----------------------+ | ||
| | FLASH | on-chip | flash memory | | ||
| +-----------+------------+----------------------+ | ||
|
|
||
jpanisbl marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| Other hardware features have not been enabled yet for this board. | ||
|
|
||
| Connections and IOs | ||
| =================== | ||
|
|
||
| All I/O signals are accessible from the BoosterPack connectors. Pin function | ||
| aligns with the LaunchPad standard. | ||
|
|
||
| +-------+-----------+---------------------+ | ||
| | Pin | Function | Usage | | ||
| +=======+===========+=====================+ | ||
| | DIO0 | GPIO | | | ||
| +-------+-----------+---------------------+ | ||
| | DIO1 | ANALOG_IO | A4 | | ||
| +-------+-----------+---------------------+ | ||
| | DIO2 | ANALOG_IO | A3 | | ||
| +-------+-----------+---------------------+ | ||
| | DIO5 | ANALOG_IO | A5 | | ||
| +-------+-----------+---------------------+ | ||
| | DIO6 | SPI_CSN | SPI CS | | ||
| +-------+-----------+---------------------+ | ||
| | DIO7 | ANALOG_IO | A0 | | ||
| +-------+-----------+---------------------+ | ||
| | DIO8 | GPIO | | | ||
| +-------+-----------+---------------------+ | ||
| | DIO9 | GPIO | Button 2 | | ||
| +-------+-----------+---------------------+ | ||
| | DIO10 | GPIO | Button 1 | | ||
| +-------+-----------+---------------------+ | ||
| | DIO11 | SPI_CSN | SPI CS | | ||
| +-------+-----------+---------------------+ | ||
| | DIO12 | SPI_POCI | SPI POCI | | ||
| +-------+-----------+---------------------+ | ||
| | DIO13 | SPI_PICO | SPI_PICO | | ||
| +-------+-----------+---------------------+ | ||
| | DIO14 | GPIO | Red LED | | ||
| +-------+-----------+---------------------+ | ||
| | DIO15 | GPIO | Green LED | | ||
| +-------+-----------+---------------------+ | ||
| | DIO18 | SPI_CLK | SPI CLK | | ||
| +-------+-----------+---------------------+ | ||
| | DIO19 | GPIO | | | ||
| +-------+-----------+---------------------+ | ||
| | DIO20 | UART0_TX | UART TX | | ||
| +-------+-----------+---------------------+ | ||
| | DIO21 | GPIO | | | ||
| +-------+-----------+---------------------+ | ||
| | DIO22 | UART0_RX | UART RX | | ||
| +-------+-----------+---------------------+ | ||
| | DIO23 | ANALOG_IO | A8 | | ||
| +-------+-----------+---------------------+ | ||
| | DIO24 | ANALOG_IO | A7 | | ||
| +-------+-----------+---------------------+ | ||
|
|
||
| Programming and Debugging | ||
| ************************* | ||
|
|
||
| The LP_EM_CC2340R5 requires an external debug probe such as the LP-XDS110 or | ||
| LP-XDS110ET. | ||
|
|
||
| Currently there is no debug support in Zephyr for the LP_EM_CC2340R5, and the | ||
| built binaries for this target must be flashed/debugged using either Uniflash | ||
| or Code Composer Studio. | ||
|
|
||
jpanisbl marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| References | ||
| ********** | ||
|
|
||
| CC2340R5 LaunchPad Quick Start Guide: | ||
| https://www.ti.com/lit/pdf/swru588 | ||
|
|
||
| .. _TI CC2340R5 LaunchPad Product Page: | ||
| https://www.ti.com/tool/LP-EM-CC2340R5 | ||
|
|
||
| .. _TI CC2340R5 Product Page: | ||
| https://www.ti.com/product/CC2340R5 | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| /* | ||
| * Copyright (c) 2024 Texas Instruments Incorporated | ||
| * Copyright (c) 2024 BayLibre, SAS | ||
| * | ||
| * SPDX-License-Identifier: Apache-2.0 | ||
| */ | ||
|
|
||
| #include <zephyr/dt-bindings/pinctrl/cc23x0-pinctrl.h> | ||
|
|
||
| &pinctrl { | ||
| /* UART0 */ | ||
| uart0_tx_default: uart0_tx_default { | ||
| pinmux = <20 DIO20_UART0_TXD>; | ||
| bias-disable; | ||
| }; | ||
| uart0_rx_default: uart0_rx_default { | ||
| pinmux = <22 DIO22_UART0_RXD>; | ||
| bias-disable; | ||
| input-enable; | ||
| }; | ||
| }; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,75 @@ | ||
| /* | ||
| * Copyright (c) 2024 Texas Instruments Incorporated | ||
| * Copyright (c) 2024 BayLibre, SAS | ||
| * | ||
| * SPDX-License-Identifier: Apache-2.0 | ||
| */ | ||
|
|
||
| /dts-v1/; | ||
|
|
||
| #include <ti/cc2340r5.dtsi> | ||
| #include "boosterpack_connector.dtsi" | ||
| #include "lp_em_cc2340r5-pinctrl.dtsi" | ||
| #include <zephyr/dt-bindings/gpio/gpio.h> | ||
| #include <zephyr/dt-bindings/input/input-event-codes.h> | ||
|
|
||
| / { | ||
| model = "LP_EM_CC2340R5"; | ||
| compatible = "ti,lp_em_cc2340r5"; | ||
|
|
||
| chosen { | ||
| zephyr,sram = &sram0; | ||
| zephyr,flash = &flash0; | ||
| zephyr,code-partition = &slot0_partition; | ||
| zephyr,console = &uart0; | ||
| zephyr,shell-uart = &uart0; | ||
| }; | ||
|
|
||
| aliases { | ||
| led0 = &led0; | ||
| led1 = &led1; | ||
| sw0 = &btn0; | ||
| sw1 = &btn1; | ||
| }; | ||
|
|
||
| leds { | ||
| compatible = "gpio-leds"; | ||
|
|
||
| led0: led_0 { | ||
nordicjm marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; | ||
| label = "Green LED"; | ||
| }; | ||
|
|
||
| led1: led_1 { | ||
| gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>; | ||
| label = "Red LED"; | ||
| }; | ||
| }; | ||
|
|
||
| keys { | ||
| compatible = "gpio-keys"; | ||
|
|
||
| btn0: btn_0 { | ||
| gpios = <&gpio0 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; | ||
| label = "Button 1"; | ||
| zephyr,code = <INPUT_KEY_0>; | ||
| }; | ||
|
|
||
| btn1: btn_1 { | ||
| gpios = <&gpio0 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; | ||
| label = "Button 2"; | ||
| zephyr,code = <INPUT_KEY_1>; | ||
| }; | ||
| }; | ||
| }; | ||
|
|
||
| &gpio0 { | ||
| status = "okay"; | ||
| }; | ||
|
|
||
| &uart0 { | ||
| status = "okay"; | ||
| current-speed = <115200>; | ||
| pinctrl-0 = <&uart0_rx_default &uart0_tx_default>; | ||
| pinctrl-names = "default"; | ||
| }; | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| identifier: lp_em_cc2340r5 | ||
| name: TI SimpleLink CC2340R5 LaunchPad | ||
| type: mcu | ||
| arch: arm | ||
| ram: 80 | ||
| flash: 512 | ||
| toolchain: | ||
| - zephyr | ||
| - gnuarmemb | ||
| - xtools | ||
| supported: | ||
| - gpio | ||
| - uart | ||
| vendor: ti |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| # Copyright (c) 2024 Texas Instruments Incorporated | ||
| # Copyright (c) 2024 BayLibre, SAS | ||
| # | ||
| # SPDX-License-Identifier: Apache-2.0 | ||
|
|
||
| CONFIG_GPIO=y | ||
| CONFIG_SERIAL=y | ||
|
|
||
| CONFIG_CONSOLE=y | ||
| CONFIG_UART_CONSOLE=y |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| # Copyright (c) 2024 Texas Instruments Incorporated | ||
| # Copyright (c) 2024 BayLibre, SAS | ||
| # | ||
| # SPDX-License-Identifier: Apache-2.0 | ||
|
|
||
| config SOC_FLASH_CC23X0 | ||
| bool "TI SimpleLink CC23x0 flash controller driver" | ||
| default y | ||
| depends on DT_HAS_TI_CC23X0_FLASH_CONTROLLER_ENABLED | ||
| select FLASH_HAS_PAGE_LAYOUT | ||
| select FLASH_HAS_DRIVER_ENABLED | ||
| select MPU_ALLOW_FLASH_WRITE if ARM_MPU | ||
| help | ||
| Enables TI SimpleLink CC23x0 flash controller driver. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.