boards: ti: Create a common folder to share code between boards
This creates a common folder in order to share code between similar boards. This is mostly for the CC1352P1 and CC1352P7 launchpad which are very similar but it could be probably useful for some other boards. Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
This commit is contained in:
parent
b09972b445
commit
200e8d481f
19 changed files with 288 additions and 585 deletions
|
@ -1,4 +1,3 @@
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
zephyr_library()
|
add_subdirectory(${ZEPHYR_BASE}/boards/ti/common/ ${CMAKE_CURRENT_BINARY_DIR}/common)
|
||||||
zephyr_library_sources(board_antenna.c)
|
|
||||||
|
|
|
@ -1,16 +1,6 @@
|
||||||
# TI CC1352R LaunchXL board
|
# TI CC1352R LaunchXL board
|
||||||
|
|
||||||
# Copyright (c) 2021 Florin Stancu
|
# Copyright (c) 2024 Alexandre Bailon
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
if BOARD_CC1352P1_LAUNCHXL
|
source "boards/ti/common/Kconfig"
|
||||||
|
|
||||||
config BOARD_ANTENNA_INIT_PRIO
|
|
||||||
int "Board antenna switch initialization priority"
|
|
||||||
default 70
|
|
||||||
help
|
|
||||||
Set the priority for board init, must be greater than
|
|
||||||
KERNEL_INIT_PRIORITY_DEVICE but smaller than
|
|
||||||
IEEE802154_CC13XX_CC26XX_SUB_GHZ_INIT_PRIO.
|
|
||||||
|
|
||||||
endif # BOARD_CC1352P1_LAUNCHXL
|
|
||||||
|
|
|
@ -1,87 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2022 Vaishnav Achath
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <zephyr/dt-bindings/pinctrl/cc13xx_cc26xx-pinctrl.h>
|
|
||||||
|
|
||||||
&pinctrl {
|
|
||||||
/* UART0 */
|
|
||||||
uart0_tx_default: uart0_tx_default {
|
|
||||||
pinmux = <13 IOC_PORT_MCU_UART0_TX>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
uart0_rx_default: uart0_rx_default {
|
|
||||||
pinmux = <12 IOC_PORT_MCU_UART0_RX>;
|
|
||||||
bias-disable;
|
|
||||||
input-enable;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* I2C0 */
|
|
||||||
i2c0_scl_default: i2c0_scl_default {
|
|
||||||
pinmux = <4 IOC_PORT_MCU_I2C_MSSCL>;
|
|
||||||
bias-pull-up;
|
|
||||||
drive-open-drain;
|
|
||||||
input-enable;
|
|
||||||
};
|
|
||||||
i2c0_sda_default: i2c0_sda_default {
|
|
||||||
pinmux = <5 IOC_PORT_MCU_I2C_MSSDA>;
|
|
||||||
bias-pull-up;
|
|
||||||
drive-open-drain;
|
|
||||||
input-enable;
|
|
||||||
};
|
|
||||||
i2c0_scl_sleep: i2c0_scl_sleep {
|
|
||||||
pinmux = <4 IOC_PORT_GPIO>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
i2c0_sda_sleep: i2c0_sda_sleep {
|
|
||||||
pinmux = <5 IOC_PORT_GPIO>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* SPI0 */
|
|
||||||
spi0_sck_default: spi0_sck_default {
|
|
||||||
pinmux = <10 IOC_PORT_MCU_SSI0_CLK>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
spi0_mosi_default: spi0_mosi_default {
|
|
||||||
pinmux = <9 IOC_PORT_MCU_SSI0_TX>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
spi0_miso_default: spi0_miso_default {
|
|
||||||
pinmux = <8 IOC_PORT_MCU_SSI0_RX>;
|
|
||||||
bias-disable;
|
|
||||||
input-enable;
|
|
||||||
};
|
|
||||||
spi0_cs_default: spi0_cs_default {
|
|
||||||
pinmux = <11 IOC_PORT_MCU_SSI0_FSS>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* On-board antenna pinmux states */
|
|
||||||
board_ant_24g_off: board_ant_24g_off {
|
|
||||||
pinmux = <28 IOC_PORT_GPIO>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
board_ant_24g_on: board_ant_24g_on {
|
|
||||||
pinmux = <28 IOC_PORT_RFC_GPO0>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
board_ant_tx_pa_off: board_ant_tx_pa_off {
|
|
||||||
pinmux = <29 IOC_PORT_GPIO>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
board_ant_tx_pa_on: board_ant_tx_pa_on {
|
|
||||||
pinmux = <29 IOC_PORT_RFC_GPO3>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
board_ant_subg_off: board_ant_subg_off {
|
|
||||||
pinmux = <30 IOC_PORT_GPIO>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
board_ant_subg_on: board_ant_subg_on {
|
|
||||||
pinmux = <30 IOC_PORT_RFC_GPO0>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -7,163 +7,11 @@
|
||||||
/dts-v1/;
|
/dts-v1/;
|
||||||
|
|
||||||
#include <ti/cc1352r.dtsi>
|
#include <ti/cc1352r.dtsi>
|
||||||
#include "../cc1352r1_launchxl/boosterpack_connector.dtsi"
|
#include "../common/launchxl.dtsi"
|
||||||
#include "cc1352p1_launchxl-pinctrl.dtsi"
|
#include "../common/launchxl-flash.dtsi"
|
||||||
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
#include "../common/launchxl_sky13317.dtsi"
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "TI CC1352P1 LaunchXL";
|
model = "TI CC1352P1 LaunchXL";
|
||||||
compatible = "ti,launchxl-cc1352p1";
|
compatible = "ti,launchxl-cc1352p1";
|
||||||
|
|
||||||
aliases {
|
|
||||||
led0 = &led0;
|
|
||||||
led1 = &led1;
|
|
||||||
sw0 = &btn0;
|
|
||||||
sw1 = &btn1;
|
|
||||||
watchdog0 = &wdt0;
|
|
||||||
mcuboot-led0 = &led1;
|
|
||||||
mcuboot-button0 = &btn1;
|
|
||||||
};
|
|
||||||
|
|
||||||
chosen {
|
|
||||||
zephyr,sram = &sram0;
|
|
||||||
zephyr,flash = &flash0;
|
|
||||||
zephyr,console = &uart0;
|
|
||||||
zephyr,shell-uart = &uart0;
|
|
||||||
zephyr,ieee802154 = &ieee802154;
|
|
||||||
zephyr,code-partition = &slot0_partition;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The CC1352P LAUNCHXL has an on-board antenna switch (SKY13317-373LF) used to select the
|
|
||||||
* appropriate RF signal port based on the currently-used PHY.
|
|
||||||
*
|
|
||||||
* Truth table:
|
|
||||||
*
|
|
||||||
* Path DIO28 DIO29 DIO30
|
|
||||||
* =========== ===== ===== =====
|
|
||||||
* Off 0 0 0
|
|
||||||
* Sub-1 GHz 0 0 1 // DIO30 mux to IOC_PORT_RFC_GPO0 for auto
|
|
||||||
* 2.4 GHz 1 0 0 // DIO28 mux to IOC_PORT_RFC_GPO0 for auto
|
|
||||||
* 20 dBm TX 0 1 0 // DIO29 mux to IOC_PORT_RFC_GPO3 for auto
|
|
||||||
*/
|
|
||||||
antenna_mux0: antenna_mux0 {
|
|
||||||
compatible = "skyworks,sky13317";
|
|
||||||
status = "okay";
|
|
||||||
gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>, <&gpio0 29 GPIO_ACTIVE_HIGH>, \
|
|
||||||
<&gpio0 30 GPIO_ACTIVE_HIGH>;
|
|
||||||
pinctrl-0 = <&board_ant_24g_off &board_ant_tx_pa_off &board_ant_subg_off>;
|
|
||||||
pinctrl-1 = <&board_ant_24g_on &board_ant_tx_pa_off &board_ant_subg_off>;
|
|
||||||
pinctrl-2 = <&board_ant_24g_on &board_ant_tx_pa_on &board_ant_subg_off>;
|
|
||||||
pinctrl-3 = <&board_ant_24g_off &board_ant_tx_pa_off &board_ant_subg_on>;
|
|
||||||
pinctrl-4 = <&board_ant_24g_off &board_ant_tx_pa_on &board_ant_subg_on>;
|
|
||||||
pinctrl-names = "default", "ant_24g", "ant_24g_pa", "ant_subg", "ant_subg_pa";
|
|
||||||
};
|
|
||||||
|
|
||||||
leds {
|
|
||||||
compatible = "gpio-leds";
|
|
||||||
led0: led_0 {
|
|
||||||
gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
|
|
||||||
label = "Green LED";
|
|
||||||
};
|
|
||||||
led1: led_1 {
|
|
||||||
gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
|
|
||||||
label = "Red LED";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
keys {
|
|
||||||
compatible = "gpio-keys";
|
|
||||||
btn0: btn_0 {
|
|
||||||
gpios = <&gpio0 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
|
||||||
label = "Push button 1";
|
|
||||||
zephyr,code = <INPUT_KEY_0>;
|
|
||||||
};
|
|
||||||
btn1: btn_1 {
|
|
||||||
gpios = <&gpio0 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
|
||||||
label = "Push button 2";
|
|
||||||
zephyr,code = <INPUT_KEY_1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&flash0 {
|
|
||||||
partitions {
|
|
||||||
/* 40 KiB (0xa000) for MCUboot */
|
|
||||||
boot_partition: partition@0 {
|
|
||||||
label = "mcuboot";
|
|
||||||
reg = <0x00000000 0x0000a000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* 136 KiB (0x22000) per slot for application */
|
|
||||||
slot0_partition: partition@a000 {
|
|
||||||
label = "image-0";
|
|
||||||
reg = <0x0000a000 0x00022000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
slot1_partition: partition@2c000 {
|
|
||||||
label = "image-1";
|
|
||||||
reg = <0x0002c000 0x00022000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* 32 KiB (0x8000) for storage */
|
|
||||||
storage_partition: partition@4e000 {
|
|
||||||
label = "storage";
|
|
||||||
reg = <0x0004e000 0x00008000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* CCFG (customer configuration area) is located in uppermost
|
|
||||||
* flash sector (0x2000/8 KiB @ 0x56000), keep it unused.
|
|
||||||
*/
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&cpu0 {
|
|
||||||
clock-frequency = <48000000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
&trng {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&gpio0 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&uart0 {
|
|
||||||
status = "okay";
|
|
||||||
current-speed = <115200>;
|
|
||||||
pinctrl-0 = <&uart0_rx_default &uart0_tx_default>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
};
|
|
||||||
|
|
||||||
&i2c0 {
|
|
||||||
status = "okay";
|
|
||||||
pinctrl-0 = <&i2c0_scl_default &i2c0_sda_default>;
|
|
||||||
pinctrl-1 = <&i2c0_scl_sleep &i2c0_sda_sleep>;
|
|
||||||
pinctrl-names = "default", "sleep";
|
|
||||||
};
|
|
||||||
|
|
||||||
&spi0 {
|
|
||||||
status = "okay";
|
|
||||||
pinctrl-0 = <&spi0_sck_default &spi0_mosi_default
|
|
||||||
&spi0_miso_default &spi0_cs_default>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
cs-gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
|
|
||||||
&radio {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&ieee802154 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&ieee802154g {
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
|
|
||||||
&wdt0 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,143 +7,14 @@
|
||||||
/dts-v1/;
|
/dts-v1/;
|
||||||
|
|
||||||
#include <ti/cc1352r.dtsi>
|
#include <ti/cc1352r.dtsi>
|
||||||
#include "boosterpack_connector.dtsi"
|
#include "../common/launchxl.dtsi"
|
||||||
#include "cc1352r1_launchxl-pinctrl.dtsi"
|
#include "../common/launchxl-flash.dtsi"
|
||||||
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
|
||||||
|
|
||||||
#define BTN_GPIO_FLAGS (GPIO_ACTIVE_LOW | GPIO_PULL_UP)
|
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "TI CC1352R1 LaunchXL";
|
model = "TI CC1352R1 LaunchXL";
|
||||||
compatible = "ti,launchxl-cc1352r1";
|
compatible = "ti,launchxl-cc1352r1";
|
||||||
|
|
||||||
aliases {
|
|
||||||
led0 = &led0;
|
|
||||||
led1 = &led1;
|
|
||||||
sw0 = &btn0;
|
|
||||||
sw1 = &btn1;
|
|
||||||
watchdog0 = &wdt0;
|
|
||||||
mcuboot-led0 = &led1;
|
|
||||||
mcuboot-button0 = &btn1;
|
|
||||||
};
|
|
||||||
|
|
||||||
chosen {
|
|
||||||
zephyr,sram = &sram0;
|
|
||||||
zephyr,flash = &flash0;
|
|
||||||
zephyr,console = &uart0;
|
|
||||||
zephyr,shell-uart = &uart0;
|
|
||||||
zephyr,ieee802154 = &ieee802154;
|
|
||||||
zephyr,code-partition = &slot0_partition;
|
|
||||||
};
|
|
||||||
|
|
||||||
leds {
|
|
||||||
compatible = "gpio-leds";
|
|
||||||
led0: led_0 {
|
|
||||||
gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
|
|
||||||
label = "Green LED";
|
|
||||||
};
|
|
||||||
led1: led_1 {
|
|
||||||
gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
|
|
||||||
label = "Red LED";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
keys {
|
|
||||||
compatible = "gpio-keys";
|
|
||||||
btn0: btn_0 {
|
|
||||||
gpios = <&gpio0 15 BTN_GPIO_FLAGS>;
|
|
||||||
label = "Push button 1";
|
|
||||||
zephyr,code = <INPUT_KEY_0>;
|
|
||||||
};
|
|
||||||
btn1: btn_1 {
|
|
||||||
gpios = <&gpio0 14 BTN_GPIO_FLAGS>;
|
|
||||||
label = "Push button 2";
|
|
||||||
zephyr,code = <INPUT_KEY_1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&flash0 {
|
|
||||||
partitions {
|
|
||||||
/* 40 KiB (0xa000) for MCUboot */
|
|
||||||
boot_partition: partition@0 {
|
|
||||||
label = "mcuboot";
|
|
||||||
reg = <0x00000000 0x0000a000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* 136 KiB (0x22000) per slot for application */
|
|
||||||
slot0_partition: partition@a000 {
|
|
||||||
label = "image-0";
|
|
||||||
reg = <0x0000a000 0x00022000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
slot1_partition: partition@2c000 {
|
|
||||||
label = "image-1";
|
|
||||||
reg = <0x0002c000 0x00022000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* 32 KiB (0x8000) for storage */
|
|
||||||
storage_partition: partition@4e000 {
|
|
||||||
label = "storage";
|
|
||||||
reg = <0x0004e000 0x00008000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* CCFG (customer configuration area) is located in uppermost
|
|
||||||
* flash sector (0x2000/8 KiB @ 0x56000), keep it unused.
|
|
||||||
*/
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&cpu0 {
|
|
||||||
clock-frequency = <48000000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
&trng {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&gpio0 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&adc0 {
|
&adc0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&uart0 {
|
|
||||||
status = "okay";
|
|
||||||
current-speed = <115200>;
|
|
||||||
pinctrl-0 = <&uart0_rx_default &uart0_tx_default>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
};
|
|
||||||
|
|
||||||
&i2c0 {
|
|
||||||
status = "okay";
|
|
||||||
pinctrl-0 = <&i2c0_scl_default &i2c0_sda_default>;
|
|
||||||
pinctrl-1 = <&i2c0_scl_sleep &i2c0_sda_sleep>;
|
|
||||||
pinctrl-names = "default", "sleep";
|
|
||||||
};
|
|
||||||
|
|
||||||
&spi0 {
|
|
||||||
status = "okay";
|
|
||||||
pinctrl-0 = <&spi0_sck_default &spi0_mosi_default
|
|
||||||
&spi0_miso_default &spi0_cs_default>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
cs-gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
|
|
||||||
&radio {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&ieee802154 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&ieee802154g {
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
|
|
||||||
&wdt0 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
/dts-v1/;
|
/dts-v1/;
|
||||||
|
|
||||||
#include <ti/cc1352r.dtsi>
|
#include <ti/cc1352r.dtsi>
|
||||||
#include "../cc1352r1_launchxl/boosterpack_connector.dtsi"
|
#include "../common/boosterpack_connector.dtsi"
|
||||||
#include "cc1352r_sensortag-pinctrl.dtsi"
|
#include "cc1352r_sensortag-pinctrl.dtsi"
|
||||||
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
||||||
|
|
||||||
|
|
|
@ -1,47 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2019 Brett Witherspoon
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
boosterpack_header: connector {
|
|
||||||
compatible = "ti,boosterpack-header";
|
|
||||||
#gpio-cells = <2>;
|
|
||||||
gpio-map = <2 0 &gpio0 23 0>,
|
|
||||||
<3 0 &gpio0 2 0>,
|
|
||||||
<4 0 &gpio0 3 0>,
|
|
||||||
<5 0 &gpio0 22 0>,
|
|
||||||
<6 0 &gpio0 24 0>,
|
|
||||||
<7 0 &gpio0 10 0>,
|
|
||||||
<8 0 &gpio0 21 0>,
|
|
||||||
<9 0 &gpio0 4 0>,
|
|
||||||
<10 0 &gpio0 5 0>,
|
|
||||||
<11 0 &gpio0 15 0>,
|
|
||||||
<12 0 &gpio0 14 0>,
|
|
||||||
<13 0 &gpio0 13 0>,
|
|
||||||
<14 0 &gpio0 8 0>,
|
|
||||||
<15 0 &gpio0 9 0>,
|
|
||||||
<18 0 &gpio0 11 0>,
|
|
||||||
<19 0 &gpio0 12 0>,
|
|
||||||
<23 0 &gpio0 25 0>,
|
|
||||||
<24 0 &gpio0 26 0>,
|
|
||||||
<25 0 &gpio0 27 0>,
|
|
||||||
<26 0 &gpio0 28 0>,
|
|
||||||
<27 0 &gpio0 29 0>,
|
|
||||||
<28 0 &gpio0 30 0>,
|
|
||||||
<29 0 &gpio0 0 0>,
|
|
||||||
<30 0 &gpio0 1 0>,
|
|
||||||
<31 0 &gpio0 17 0>,
|
|
||||||
<32 0 &gpio0 16 0>,
|
|
||||||
<36 0 &gpio0 18 0>,
|
|
||||||
<37 0 &gpio0 19 0>,
|
|
||||||
<38 0 &gpio0 20 0>,
|
|
||||||
<39 0 &gpio0 6 0>,
|
|
||||||
<40 0 &gpio0 7 0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
boosterpack_i2c: &i2c0 {};
|
|
||||||
boosterpack_spi: &spi0 {};
|
|
||||||
boosterpack_serial: &uart0 {};
|
|
|
@ -17,45 +17,4 @@
|
||||||
bias-disable;
|
bias-disable;
|
||||||
input-enable;
|
input-enable;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* I2C0 */
|
|
||||||
i2c0_scl_default: i2c0_scl_default {
|
|
||||||
pinmux = <4 IOC_PORT_MCU_I2C_MSSCL>;
|
|
||||||
bias-pull-up;
|
|
||||||
drive-open-drain;
|
|
||||||
input-enable;
|
|
||||||
};
|
|
||||||
i2c0_sda_default: i2c0_sda_default {
|
|
||||||
pinmux = <5 IOC_PORT_MCU_I2C_MSSDA>;
|
|
||||||
bias-pull-up;
|
|
||||||
drive-open-drain;
|
|
||||||
input-enable;
|
|
||||||
};
|
|
||||||
i2c0_scl_sleep: i2c0_scl_sleep {
|
|
||||||
pinmux = <4 IOC_PORT_GPIO>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
i2c0_sda_sleep: i2c0_sda_sleep {
|
|
||||||
pinmux = <5 IOC_PORT_GPIO>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* SPI0 */
|
|
||||||
spi0_sck_default: spi0_sck_default {
|
|
||||||
pinmux = <10 IOC_PORT_MCU_SSI0_CLK>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
spi0_mosi_default: spi0_mosi_default {
|
|
||||||
pinmux = <9 IOC_PORT_MCU_SSI0_TX>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
spi0_miso_default: spi0_miso_default {
|
|
||||||
pinmux = <8 IOC_PORT_MCU_SSI0_RX>;
|
|
||||||
bias-disable;
|
|
||||||
input-enable;
|
|
||||||
};
|
|
||||||
spi0_cs_default: spi0_cs_default {
|
|
||||||
pinmux = <11 IOC_PORT_MCU_SSI0_FSS>;
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,131 +7,31 @@
|
||||||
/dts-v1/;
|
/dts-v1/;
|
||||||
|
|
||||||
#include <ti/cc2652r.dtsi>
|
#include <ti/cc2652r.dtsi>
|
||||||
#include "boosterpack_connector.dtsi"
|
#include "../common/launchxl.dtsi"
|
||||||
|
#include "../common/launchxl-flash.dtsi"
|
||||||
#include "cc26x2r1_launchxl-pinctrl.dtsi"
|
#include "cc26x2r1_launchxl-pinctrl.dtsi"
|
||||||
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
|
||||||
|
|
||||||
#define BTN_GPIO_FLAGS (GPIO_ACTIVE_LOW | GPIO_PULL_UP)
|
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "TI CC26x2R1 LaunchXL";
|
model = "TI CC26x2R1 LaunchXL";
|
||||||
compatible = "ti,launchxl-cc26x2r1";
|
compatible = "ti,launchxl-cc26x2r1";
|
||||||
|
|
||||||
aliases {
|
|
||||||
led0 = &led0;
|
|
||||||
led1 = &led1;
|
|
||||||
sw0 = &btn0;
|
|
||||||
sw1 = &btn1;
|
|
||||||
watchdog0 = &wdt0;
|
|
||||||
mcuboot-led0 = &led1;
|
|
||||||
mcuboot-button0 = &btn1;
|
|
||||||
};
|
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
zephyr,sram = &sram0;
|
/delete-property/ zephyr,ieee802154;
|
||||||
zephyr,flash = &flash0;
|
|
||||||
zephyr,console = &uart0;
|
|
||||||
zephyr,shell-uart = &uart0;
|
|
||||||
zephyr,code-partition = &slot0_partition;
|
|
||||||
};
|
|
||||||
|
|
||||||
leds {
|
|
||||||
compatible = "gpio-leds";
|
|
||||||
led0: led_0 {
|
|
||||||
gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
|
|
||||||
label = "Green LED";
|
|
||||||
};
|
|
||||||
led1: led_1 {
|
|
||||||
gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
|
|
||||||
label = "Red LED";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
keys {
|
|
||||||
compatible = "gpio-keys";
|
|
||||||
btn0: btn_0 {
|
|
||||||
gpios = <&gpio0 13 BTN_GPIO_FLAGS>;
|
|
||||||
label = "Push button 1";
|
|
||||||
zephyr,code = <INPUT_KEY_0>;
|
|
||||||
};
|
|
||||||
btn1: btn_1 {
|
|
||||||
gpios = <&gpio0 14 BTN_GPIO_FLAGS>;
|
|
||||||
label = "Push button 2";
|
|
||||||
zephyr,code = <INPUT_KEY_1>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&flash0 {
|
&radio {
|
||||||
partitions {
|
status = "disabled";
|
||||||
/* 40 KiB (0xa000) for MCUboot */
|
|
||||||
boot_partition: partition@0 {
|
|
||||||
label = "mcuboot";
|
|
||||||
reg = <0x00000000 0x0000a000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* 136 KiB (0x22000) per slot for application */
|
|
||||||
slot0_partition: partition@a000 {
|
|
||||||
label = "image-0";
|
|
||||||
reg = <0x0000a000 0x00022000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
slot1_partition: partition@2c000 {
|
|
||||||
label = "image-1";
|
|
||||||
reg = <0x0002c000 0x00022000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* 32 KiB (0x8000) for storage */
|
|
||||||
storage_partition: partition@4e000 {
|
|
||||||
label = "storage";
|
|
||||||
reg = <0x0004e000 0x00008000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* CCFG (customer configuration area) is located in uppermost
|
|
||||||
* flash sector (0x2000/8 KiB @ 0x56000), keep it unused.
|
|
||||||
*/
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&cpu0 {
|
&ieee802154 {
|
||||||
clock-frequency = <48000000>;
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
&trng {
|
&ieee802154g {
|
||||||
status = "okay";
|
status = "disabled";
|
||||||
};
|
|
||||||
|
|
||||||
&gpio0 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&adc0 {
|
&adc0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&uart0 {
|
|
||||||
status = "okay";
|
|
||||||
current-speed = <115200>;
|
|
||||||
pinctrl-0 = <&uart0_rx_default &uart0_tx_default>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
};
|
|
||||||
|
|
||||||
&i2c0 {
|
|
||||||
status = "okay";
|
|
||||||
pinctrl-0 = <&i2c0_scl_default &i2c0_sda_default>;
|
|
||||||
pinctrl-1 = <&i2c0_scl_sleep &i2c0_sda_sleep>;
|
|
||||||
pinctrl-names = "default", "sleep";
|
|
||||||
};
|
|
||||||
|
|
||||||
&spi0 {
|
|
||||||
status = "okay";
|
|
||||||
pinctrl-0 = <&spi0_sck_default &spi0_mosi_default
|
|
||||||
&spi0_miso_default &spi0_cs_default>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
|
|
||||||
cs-gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
|
|
||||||
&wdt0 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
4
boards/ti/common/CMakeLists.txt
Normal file
4
boards/ti/common/CMakeLists.txt
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
zephyr_library()
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_BOARD_CC1352_LP_SKY13317 board_antenna.c)
|
24
boards/ti/common/Kconfig
Normal file
24
boards/ti/common/Kconfig
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# TI CC1352R LaunchXL board
|
||||||
|
|
||||||
|
# Copyright (c) 2021 Florin Stancu
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
config BOARD_CC1352_LP_SKY13317
|
||||||
|
bool "CC1352 LP common board antenna init"
|
||||||
|
default y if DT_HAS_SKYWORKS_SKY13317_ENABLED
|
||||||
|
help
|
||||||
|
Some CC1352 boards have a SKY13317 component
|
||||||
|
to select the antenna. This enables support
|
||||||
|
for this component for the CC1352 boards using it.
|
||||||
|
|
||||||
|
if BOARD_CC1352_LP_SKY13317
|
||||||
|
|
||||||
|
config BOARD_ANTENNA_INIT_PRIO
|
||||||
|
int "Board antenna switch initialization priority"
|
||||||
|
default 70
|
||||||
|
help
|
||||||
|
Set the priority for board init, must be greater than
|
||||||
|
KERNEL_INIT_PRIORITY_DEVICE but smaller than
|
||||||
|
IEEE802154_CC13XX_CC26XX_SUB_GHZ_INIT_PRIO.
|
||||||
|
|
||||||
|
endif # BOARD_CC1352_LP_SKY13317
|
36
boards/ti/common/launchxl-flash-p7.dtsi
Normal file
36
boards/ti/common/launchxl-flash-p7.dtsi
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2024 Alexandre Bailon
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
&flash0 {
|
||||||
|
partitions {
|
||||||
|
/* 40 KiB (0xa000) for MCUboot */
|
||||||
|
boot_partition: partition@0 {
|
||||||
|
label = "mcuboot";
|
||||||
|
reg = <0x00000000 0x0000a000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 136 KiB (0x22000) per slot for application */
|
||||||
|
slot0_partition: partition@a000 {
|
||||||
|
label = "image-0";
|
||||||
|
reg = <0x0000a000 0x0004e000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
slot1_partition: partition@58000 {
|
||||||
|
label = "image-1";
|
||||||
|
reg = <0x00058000 0x0004e000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 32 KiB (0x8000) for storage */
|
||||||
|
storage_partition: partition@a6000 {
|
||||||
|
label = "storage";
|
||||||
|
reg = <0x000a6000 0x00008000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* CCFG (customer configuration area) is located in uppermost
|
||||||
|
* flash sector (0x2000/8 KiB @ 0xae000), keep it unused.
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
};
|
36
boards/ti/common/launchxl-flash.dtsi
Normal file
36
boards/ti/common/launchxl-flash.dtsi
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2021 Florin Stancu
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
&flash0 {
|
||||||
|
partitions {
|
||||||
|
/* 40 KiB (0xa000) for MCUboot */
|
||||||
|
boot_partition: partition@0 {
|
||||||
|
label = "mcuboot";
|
||||||
|
reg = <0x00000000 0x0000a000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 136 KiB (0x22000) per slot for application */
|
||||||
|
slot0_partition: partition@a000 {
|
||||||
|
label = "image-0";
|
||||||
|
reg = <0x0000a000 0x00022000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
slot1_partition: partition@2c000 {
|
||||||
|
label = "image-1";
|
||||||
|
reg = <0x0002c000 0x00022000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 32 KiB (0x8000) for storage */
|
||||||
|
storage_partition: partition@4e000 {
|
||||||
|
label = "storage";
|
||||||
|
reg = <0x0004e000 0x00008000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* CCFG (customer configuration area) is located in uppermost
|
||||||
|
* flash sector (0x2000/8 KiB @ 0x56000), keep it unused.
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
};
|
108
boards/ti/common/launchxl.dtsi
Normal file
108
boards/ti/common/launchxl.dtsi
Normal file
|
@ -0,0 +1,108 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2021 Florin Stancu
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "boosterpack_connector.dtsi"
|
||||||
|
#include "launchxl-pinctrl.dtsi"
|
||||||
|
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
||||||
|
|
||||||
|
#define BTN_GPIO_FLAGS (GPIO_ACTIVE_LOW | GPIO_PULL_UP)
|
||||||
|
|
||||||
|
/ {
|
||||||
|
aliases {
|
||||||
|
led0 = &led0;
|
||||||
|
led1 = &led1;
|
||||||
|
sw0 = &btn0;
|
||||||
|
sw1 = &btn1;
|
||||||
|
watchdog0 = &wdt0;
|
||||||
|
mcuboot-led0 = &led1;
|
||||||
|
mcuboot-button0 = &btn1;
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
zephyr,sram = &sram0;
|
||||||
|
zephyr,flash = &flash0;
|
||||||
|
zephyr,console = &uart0;
|
||||||
|
zephyr,shell-uart = &uart0;
|
||||||
|
zephyr,ieee802154 = &ieee802154;
|
||||||
|
zephyr,code-partition = &slot0_partition;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
led0: led_0 {
|
||||||
|
gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "Green LED";
|
||||||
|
};
|
||||||
|
led1: led_1 {
|
||||||
|
gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "Red LED";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
btn0: btn_0 {
|
||||||
|
gpios = <&gpio0 15 BTN_GPIO_FLAGS>;
|
||||||
|
label = "Push button 1";
|
||||||
|
zephyr,code = <INPUT_KEY_0>;
|
||||||
|
};
|
||||||
|
btn1: btn_1 {
|
||||||
|
gpios = <&gpio0 14 BTN_GPIO_FLAGS>;
|
||||||
|
label = "Push button 2";
|
||||||
|
zephyr,code = <INPUT_KEY_1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&cpu0 {
|
||||||
|
clock-frequency = <48000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&trng {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&gpio0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
status = "okay";
|
||||||
|
current-speed = <115200>;
|
||||||
|
pinctrl-0 = <&uart0_rx_default &uart0_tx_default>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
status = "okay";
|
||||||
|
pinctrl-0 = <&i2c0_scl_default &i2c0_sda_default>;
|
||||||
|
pinctrl-1 = <&i2c0_scl_sleep &i2c0_sda_sleep>;
|
||||||
|
pinctrl-names = "default", "sleep";
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi0 {
|
||||||
|
status = "okay";
|
||||||
|
pinctrl-0 = <&spi0_sck_default &spi0_mosi_default
|
||||||
|
&spi0_miso_default &spi0_cs_default>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
cs-gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&radio {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ieee802154 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ieee802154g {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&wdt0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
61
boards/ti/common/launchxl_sky13317.dtsi
Normal file
61
boards/ti/common/launchxl_sky13317.dtsi
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2021 Florin Stancu
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/ {
|
||||||
|
/**
|
||||||
|
* The CC1352P LAUNCHXL has an on-board antenna switch (SKY13317-373LF) used to select the
|
||||||
|
* appropriate RF signal port based on the currently-used PHY.
|
||||||
|
*
|
||||||
|
* Truth table:
|
||||||
|
*
|
||||||
|
* Path DIO28 DIO29 DIO30
|
||||||
|
* =========== ===== ===== =====
|
||||||
|
* Off 0 0 0
|
||||||
|
* Sub-1 GHz 0 0 1 // DIO30 mux to IOC_PORT_RFC_GPO0 for auto
|
||||||
|
* 2.4 GHz 1 0 0 // DIO28 mux to IOC_PORT_RFC_GPO0 for auto
|
||||||
|
* 20 dBm TX 0 1 0 // DIO29 mux to IOC_PORT_RFC_GPO3 for auto
|
||||||
|
*/
|
||||||
|
antenna_mux0: antenna_mux0 {
|
||||||
|
compatible = "skyworks,sky13317";
|
||||||
|
status = "okay";
|
||||||
|
gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>, <&gpio0 29 GPIO_ACTIVE_HIGH>, \
|
||||||
|
<&gpio0 30 GPIO_ACTIVE_HIGH>;
|
||||||
|
pinctrl-0 = <&board_ant_24g_off &board_ant_tx_pa_off &board_ant_subg_off>;
|
||||||
|
pinctrl-1 = <&board_ant_24g_on &board_ant_tx_pa_off &board_ant_subg_off>;
|
||||||
|
pinctrl-2 = <&board_ant_24g_on &board_ant_tx_pa_on &board_ant_subg_off>;
|
||||||
|
pinctrl-3 = <&board_ant_24g_off &board_ant_tx_pa_off &board_ant_subg_on>;
|
||||||
|
pinctrl-4 = <&board_ant_24g_off &board_ant_tx_pa_on &board_ant_subg_on>;
|
||||||
|
pinctrl-names = "default", "ant_24g", "ant_24g_pa", "ant_subg", "ant_subg_pa";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&pinctrl {
|
||||||
|
/* On-board antenna pinmux states */
|
||||||
|
board_ant_24g_off: board_ant_24g_off {
|
||||||
|
pinmux = <28 IOC_PORT_GPIO>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
board_ant_24g_on: board_ant_24g_on {
|
||||||
|
pinmux = <28 IOC_PORT_RFC_GPO0>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
board_ant_tx_pa_off: board_ant_tx_pa_off {
|
||||||
|
pinmux = <29 IOC_PORT_GPIO>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
board_ant_tx_pa_on: board_ant_tx_pa_on {
|
||||||
|
pinmux = <29 IOC_PORT_RFC_GPO3>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
board_ant_subg_off: board_ant_subg_off {
|
||||||
|
pinmux = <30 IOC_PORT_GPIO>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
board_ant_subg_on: board_ant_subg_on {
|
||||||
|
pinmux = <30 IOC_PORT_RFC_GPO0>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
};
|
1
boards/ti/common/support/openocd.cfg
Normal file
1
boards/ti/common/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