Skip to content

Commit b43096d

Browse files
telink: Add Telink TLx boards
Added Telink TLx board: - tl3218 Board is using RISC-V core refers SOC family telink_tlx: - telink_tl321x - telink_tl721x Signed-off-by: Andrii Bilynskyi <andrii.bilynskyi@telink-semi.com>
1 parent 5c515ed commit b43096d

File tree

133 files changed

+12467
-26
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+12467
-26
lines changed
+142
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
# Copyright (c) 2024 Telink Semiconductor
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
name: Telink TL321x build examples
5+
6+
on: pull_request
7+
8+
jobs:
9+
telink_build_examples:
10+
runs-on: ubuntu-latest
11+
name: Telink build examples
12+
env:
13+
ZEPHYR_SDK_VERSION: 0.16.8
14+
steps:
15+
16+
- name: Install dependencies
17+
run: |
18+
sudo apt update
19+
sudo apt install -y --no-install-recommends libdigest-sha-perl cmake python3 ninja-build
20+
21+
- name: Setup Zephyr toolchain
22+
run: |
23+
mkdir ~/zephyr_sdk
24+
wget -q -P ~/zephyr_sdk https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v"${ZEPHYR_SDK_VERSION}"/zephyr-sdk-"${ZEPHYR_SDK_VERSION}"_linux-x86_64.tar.xz
25+
(cd ~/zephyr_sdk && wget -O - https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v"${ZEPHYR_SDK_VERSION}"/sha256.sum | shasum --check --ignore-missing)
26+
tar xf ~/zephyr_sdk/zephyr-sdk-"${ZEPHYR_SDK_VERSION}"_linux-x86_64.tar.xz -C ~/zephyr_sdk
27+
(cd ~/zephyr_sdk/zephyr-sdk-"${ZEPHYR_SDK_VERSION}" && ./setup.sh -t riscv64-zephyr-elf -c)
28+
29+
- name: Checkout Zephyr
30+
uses: actions/checkout@v3
31+
with:
32+
ref: ${{ github.event.pull_request.head.sha }}
33+
fetch-depth: 0
34+
35+
- name: West setup
36+
run: |
37+
pip install west
38+
cd ..
39+
west init -l zephyr
40+
west update
41+
west blobs fetch hal_telink
42+
west zephyr-export
43+
pip install -r zephyr/scripts/requirements.txt
44+
45+
- name: Build TL321x samples/basic/blinky
46+
run: |
47+
cd ..
48+
west build -b tl3218 -d build_blinky_tl3218 zephyr/samples/basic/blinky -- -DCONFIG_COMPILER_WARNINGS_AS_ERRORS=y
49+
50+
- name: Build TL321x samples/hello_world
51+
run: |
52+
cd ..
53+
west build -b tl3218 -d build_hello_tl3218 zephyr/samples/hello_world -- -DCONFIG_COMPILER_WARNINGS_AS_ERRORS=y
54+
55+
- name: Build TL321x samples/basic/button
56+
run: |
57+
cd ..
58+
west build -b tl3218 -d build_button_tl3218 zephyr/samples/basic/button -- -DCONFIG_COMPILER_WARNINGS_AS_ERRORS=y
59+
60+
- name: Build TL321x samples/sensor/sht3xd
61+
run: |
62+
cd ..
63+
west build -b tl3218 -d build_sht3xd_tl3218 zephyr/samples/sensor/sht3xd -- -DCONFIG_COMPILER_WARNINGS_AS_ERRORS=y
64+
65+
- name: Build TL321x samples/drivers/adc
66+
run: |
67+
cd ..
68+
west build -b tl3218 -d build_adc_tl3218 zephyr/samples/drivers/adc/adc_dt -- -DCONFIG_COMPILER_WARNINGS_AS_ERRORS=y
69+
70+
- name: Build TL321x samples/drivers/watchdog
71+
run: |
72+
cd ..
73+
west build -b tl3218 -d build_watchdog_tl3218 zephyr/samples/drivers/watchdog -- -DCONFIG_COMPILER_WARNINGS_AS_ERRORS=y
74+
75+
- name: Build TL321x tests/drivers/flash/common
76+
run: |
77+
cd ..
78+
west build -b tl3218 -d build_tests_flash_tl3218 zephyr/tests/drivers/flash/common -- -DCONFIG_COMPILER_WARNINGS_AS_ERRORS=y
79+
80+
- name: Build TL321x samples/drivers/spi_flash
81+
run: |
82+
cd ..
83+
west build -b tl3218 -d build_spi_flash_tl3218 zephyr/samples/drivers/spi_flash -- -DCONFIG_COMPILER_WARNINGS_AS_ERRORS=y
84+
85+
- name: Build TL321x samples/basic/fade_led/
86+
run: |
87+
cd ..
88+
west build -b tl3218 -d build_fade_tl3218 zephyr/samples/basic/fade_led -- -DCONFIG_COMPILER_WARNINGS_AS_ERRORS=y
89+
90+
- name: Build TL321x bluetooth/peripheral_ht
91+
run: |
92+
cd ..
93+
west build -b tl3218 -d build_peripheral_ht_tl3218 zephyr/samples/bluetooth/peripheral_ht -- -DCONFIG_COMPILER_WARNINGS_AS_ERRORS=y
94+
95+
- name: Build TL321x net/openthread/cli
96+
run: |
97+
cd ..
98+
west build -b tl3218 -d build_ot_cli_tl3218 zephyr/samples/net/openthread/cli -- -DCONFIG_COMPILER_WARNINGS_AS_ERRORS=y
99+
100+
- name: Build TL321x net/openthread/coprocessor in RCP configuration with UART interface
101+
run: |
102+
cd ..
103+
west build -b tl3218 -d build_ot_coprocessor_rcp_uart_tl3218 zephyr/samples/net/openthread/coprocessor -- -DOVERLAY_CONFIG=overlay-rcp.conf
104+
105+
- name: Build TL321x subsys/usb/console for USB driver
106+
run: |
107+
cd ..
108+
west build -b tl3218 -d build_usb_console_tl3218 zephyr/samples/subsys/usb/console -- -DCONFIG_COMPILER_WARNINGS_AS_ERRORS=y
109+
110+
- name: Build TL321X crypto/mbedtls
111+
run: |
112+
cd ..
113+
west build -b tl3218 -d build_crypto_mbedtls_tl3218 zephyr/tests/crypto/mbedtls -- -DCONFIG_COMPILER_WARNINGS_AS_ERRORS=y -DCONFIG_MBEDTLS_ECP_C=y -DCONFIG_MBEDTLS_ECP_ALL_ENABLED=y
114+
115+
- name: Build TL321X bootloader/mcuboot/boot for compressed LZMA image
116+
run: |
117+
cd ..
118+
west build -b tl3218 -d build_mcuboot_tl3218_lzma bootloader/mcuboot/boot/zephyr -- -DCONFIG_COMPILER_WARNINGS_AS_ERRORS=y -DCONFIG_COMPRESS_LZMA=y -DCONFIG_BOOT_UPGRADE_ONLY=y
119+
120+
- name: Collect artifacts
121+
run: |
122+
mkdir telink_build_artifacts
123+
cp ../build_blinky_tl3218/zephyr/zephyr.bin telink_build_artifacts/tl3218_blinky.bin
124+
cp ../build_hello_tl3218/zephyr/zephyr.bin telink_build_artifacts/tl3218_hello_world.bin
125+
cp ../build_button_tl3218/zephyr/zephyr.bin telink_build_artifacts/tl3218_button.bin
126+
cp ../build_sht3xd_tl3218/zephyr/zephyr.bin telink_build_artifacts/tl3218_sht3xd.bin
127+
cp ../build_adc_tl3218/zephyr/zephyr.bin telink_build_artifacts/tl3218_adc.bin
128+
cp ../build_watchdog_tl3218/zephyr/zephyr.bin telink_build_artifacts/tl3218_watchdog.bin
129+
cp ../build_tests_flash_tl3218/zephyr/zephyr.bin telink_build_artifacts/tl3218_tests_flash.bin
130+
cp ../build_spi_flash_tl3218/zephyr/zephyr.bin telink_build_artifacts/tl3218_spi_flash.bin
131+
cp ../build_fade_tl3218/zephyr/zephyr.bin telink_build_artifacts/tl3218_tests_pwm.bin
132+
cp ../build_peripheral_ht_tl3218/zephyr/zephyr.bin telink_build_artifacts/tl3218_peripheral_ht.bin
133+
cp ../build_ot_cli_tl3218/zephyr/zephyr.bin telink_build_artifacts/tl3218_ot_cli.bin
134+
cp ../build_ot_coprocessor_rcp_uart_tl3218/zephyr/zephyr.bin telink_build_artifacts/tl3218_ot_coprocessor_rcp_uart.bin
135+
cp ../build_usb_console_tl3218/zephyr/zephyr.bin telink_build_artifacts/tl3218_usb_console.bin
136+
cp ../build_crypto_mbedtls_tl3218/zephyr/zephyr.bin telink_build_artifacts/tl3218_mbedtls.bin
137+
138+
- name: Publish artifacts
139+
uses: actions/upload-artifact@v3
140+
with:
141+
path: |
142+
telink_build_artifacts/*

CODEOWNERS

+30
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@
156156
/drivers/adc/adc_rpi_pico.c @soburi
157157
/drivers/adc/*ads114s0x* @benediktibk
158158
/drivers/adc/*b9x* @andy-liu-telink
159+
/drivers/adc/*tlx* @andy-liu-telink
159160
/drivers/adc/*w91* @andy-liu-telink
160161
/drivers/adc/*max11102_17* @benediktibk
161162
/drivers/adc/*kb1200* @ene-steven
@@ -166,6 +167,7 @@
166167
/drivers/bbram/* @yperess @sjg20 @jackrosenthal
167168
/drivers/bluetooth/ @alwa-nordic @jhedberg @Vudentz
168169
/drivers/bluetooth/hci/*b9x* @andy-liu-telink
170+
/drivers/bluetooth/hci/*tlx* @andy-liu-telink
169171
/drivers/bluetooth/hci/*w91* @andy-liu-telink
170172
/drivers/bluetooth/hci/hci_esp32.c @sylvioalves
171173
/drivers/can/*mcp2515* @karstenkoenig
@@ -204,6 +206,7 @@
204206
/drivers/dma/*xmc4xxx* @talih0
205207
/drivers/eeprom/eeprom_stm32.c @KwonTae-young
206208
/drivers/entropy/*b9x* @andy-liu-telink
209+
/drivers/entropy/*tlx* @andy-liu-telink
207210
/drivers/entropy/*w91* @andy-liu-telink
208211
/drivers/entropy/*bt_hci* @JordanYates
209212
/drivers/entropy/*rv32m1* @dleach02
@@ -222,13 +225,15 @@
222225
/drivers/mdio/*adin2111* @GeorgeCGV
223226
/drivers/flash/*stm32_qspi* @lmajewski
224227
/drivers/flash/*b9x* @andy-liu-telink
228+
/drivers/flash/*tlx* @andy-liu-telink
225229
/drivers/flash/*w91* @andy-liu-telink
226230
/drivers/flash/*cadence* @ngboonkhai
227231
/drivers/flash/*cc13xx_cc26xx* @pepe2k
228232
/drivers/flash/*nrf* @de-nordic
229233
/drivers/flash/*esp32* @sylvioalves
230234
/drivers/flash/flash_cadence_nand* @nbalabak
231235
/drivers/gpio/*b9x* @andy-liu-telink
236+
/drivers/gpio/*tlx* @andy-liu-telink
232237
/drivers/gpio/*w91* @andy-liu-telink
233238
/drivers/gpio/*lmp90xxx* @henrikbrixandersen
234239
/drivers/gpio/*nct38xx* @MulinChao @ChiHuaL
@@ -244,6 +249,7 @@
244249
/drivers/gpio/gpio_altera_pio.c @shilinte
245250
/drivers/gpio/gpio_ad559x.c @bbilas
246251
/drivers/hwinfo/*b9x* @andy-liu-telink
252+
/drivers/hwinfo/*tlx* @andy-liu-telink
247253
/drivers/hwinfo/*w91* @andy-liu-telink
248254
/drivers/i2c/i2c_common.c @sjg20
249255
/drivers/i2c/i2c_emul.c @sjg20
@@ -262,6 +268,7 @@
262268
/drivers/i3c/i3c_cdns.c @XenuIsWatching
263269
/drivers/ieee802154/ @rlubos @tbursztyka @jukkar @fgrandel
264270
/drivers/ieee802154/*b9x* @andy-liu-telink
271+
/drivers/ieee802154/*tlx* @andy-liu-telink
265272
/drivers/ieee802154/ieee802154_nrf5* @ankuns
266273
/drivers/ieee802154/ieee802154_rf2xx* @tbursztyka @nandojve
267274
/drivers/ieee802154/ieee802154_cc13xx* @bwitherspoon @cfriedt @vaishnavachath
@@ -292,6 +299,7 @@
292299
/drivers/modem/Kconfig.hl7800 @rerickson1
293300
/drivers/modem/Kconfig.simcom-sim7080 @lgehreke
294301
/drivers/pinctrl/*b9x* @andy-liu-telink
302+
/drivers/pinctrl/*tlx* @andy-liu-telink
295303
/drivers/pinctrl/*w91* @andy-liu-telink
296304
/drivers/pinctrl/*esp32* @sylvioalves
297305
/drivers/pinctrl/*it8xxx2* @ite
@@ -301,6 +309,7 @@
301309
/drivers/ps2/*xec* @franciscomunoz @sjvasanth1
302310
/drivers/ps2/*npcx* @MulinChao @ChiHuaL
303311
/drivers/pwm/*b9x* @andy-liu-telink
312+
/drivers/pwm/*tlx* @andy-liu-telink
304313
/drivers/pwm/*w91* @andy-liu-telink
305314
/drivers/pwm/*pca9685* @nixward
306315
/drivers/pwm/*rpi_pico* @burumaj
@@ -338,6 +347,7 @@
338347
/drivers/sensor/veaa_x_3/ @jeppenodgaard @MaureenHelm
339348
/drivers/sensor/ene_tack_kb1200/ @ene-steven
340349
/drivers/serial/*b9x* @andy-liu-telink
350+
/drivers/serial/*tlx* @andy-liu-telink
341351
/drivers/serial/*w91* @andy-liu-telink
342352
/drivers/serial/uart_altera_jtag.c @nashif @gohshunjing
343353
/drivers/serial/uart_altera.c @gohshunjing
@@ -365,6 +375,7 @@
365375
/drivers/disk/sdmmc_stm32.c @anthonybrandon
366376
/drivers/ptp_clock/ @tbursztyka @jukkar
367377
/drivers/spi/*b9x* @andy-liu-telink
378+
/drivers/spi/*tlx* @andy-liu-telink
368379
/drivers/spi/*w91* @andy-liu-telink
369380
/drivers/spi/spi_rv32m1_lpspi* @karstenkoenig
370381
/drivers/spi/*esp32* @sylvioalves
@@ -389,8 +400,10 @@
389400
/drivers/timer/*nrf_rtc* @anangl
390401
/drivers/timer/*hpet* @dcpleung
391402
/drivers/usb/device/*b9x* @andy-liu-telink
403+
/drivers/usb/device/*tlx* @andy-liu-telink
392404
/drivers/usb/device/usb_dc_stm32.c @ydamigos @loicpoulain
393405
/drivers/i2c/*b9x* @andy-liu-telink
406+
/drivers/i2c/*tlx* @andy-liu-telink
394407
/drivers/i2c/*w91* @andy-liu-telink
395408
/drivers/i2c/i2c_ll_stm32* @ydamigos
396409
/drivers/i2c/i2c_rv32m1_lpi2c* @henrikbrixandersen
@@ -399,6 +412,7 @@
399412
/drivers/i2c/*tca954x* @kurddt
400413
/drivers/*/*xec* @franciscomunoz @albertofloyd @sjvasanth1
401414
/drivers/watchdog/*b9x* @andy-liu-telink
415+
/drivers/watchdog/*tlx* @andy-liu-telink
402416
/drivers/watchdog/*w91* @andy-liu-telink
403417
/drivers/watchdog/*gecko* @oanerer
404418
/drivers/watchdog/*sifive* @katsuster
@@ -454,6 +468,7 @@
454468
/dts/riscv/openisa/rv32m1* @dleach02
455469
/dts/riscv/starfive/ @rajnesh-kanwal @pfarwsi
456470
/dts/riscv/telink/*b9x* @andy-liu-telink
471+
/dts/riscv/telink/*tlx* @andy-liu-telink
457472
/dts/riscv/telink/*w91* @andy-liu-telink
458473
/dts/riscv/andes/andes_v5* @cwshu @kevinwang821020 @jimmyzhe
459474
/dts/riscv/niosv/ @sweeaun
@@ -467,34 +482,49 @@
467482
/dts/xtensa/espressif/ @sylvioalves
468483
/dts/xtensa/nxp/ @iuliana-prodan @dbaluta
469484
/dts/bindings/adc/*b9x* @andy-liu-telink
485+
/dts/bindings/adc/*tlx* @andy-liu-telink
470486
/dts/bindings/adc/*w91* @andy-liu-telink
471487
/dts/bindings/bluetooth/*b9x* @andy-liu-telink
488+
/dts/bindings/bluetooth/*tlx* @andy-liu-telink
472489
/dts/bindings/bluetooth/*w91* @andy-liu-telink
473490
/dts/bindings/can/ @alexanderwachter @henrikbrixandersen
474491
/dts/bindings/cpu/*b9x* @andy-liu-telink
492+
/dts/bindings/cpu/*tlx* @andy-liu-telink
475493
/dts/bindings/cpu/*w91* @andy-liu-telink
476494
/dts/bindings/i2c/zephyr*i2c-emul*.yaml @sjg20
477495
/dts/bindings/flash_controller/*b9x* @andy-liu-telink
496+
/dts/bindings/flash_controller/*tlx* @andy-liu-telink
478497
/dts/bindings/flash_controller/*w91* @andy-liu-telink
479498
/dts/bindings/gpio/*b9x* @andy-liu-telink
499+
/dts/bindings/gpio/*tlx* @andy-liu-telink
480500
/dts/bindings/gpio/*w91* @andy-liu-telink
481501
/dts/bindings/i2c/*b9x* @andy-liu-telink
502+
/dts/bindings/i2c/*tlx* @andy-liu-telink
482503
/dts/bindings/i2c/*w91* @andy-liu-telink
483504
/dts/bindings/ieee802154/*b9x* @andy-liu-telink
505+
/dts/bindings/ieee802154/*tlx* @andy-liu-telink
484506
/dts/bindings/pinctrl/*b9x* @andy-liu-telink
507+
/dts/bindings/pinctrl/*tlx* @andy-liu-telink
485508
/dts/bindings/pinctrl/*w91* @andy-liu-telink
486509
/dts/bindings/power/*b9x* @andy-liu-telink
510+
/dts/bindings/power/*tlx* @andy-liu-telink
487511
/dts/bindings/pwm/*b9x* @andy-liu-telink
512+
/dts/bindings/pwm/*tlx* @andy-liu-telink
488513
/dts/bindings/pwm/*w91* @andy-liu-telink
489514
/dts/bindings/rng/*b9x* @andy-liu-telink
515+
/dts/bindings/rng/*tlx* @andy-liu-telink
490516
/dts/bindings/rng/*w91* @andy-liu-telink
491517
/dts/bindings/serial/*b9x* @andy-liu-telink
518+
/dts/bindings/serial/*tlx* @andy-liu-telink
492519
/dts/bindings/serial/*w91* @andy-liu-telink
493520
/dts/bindings/spi/*b9x* @andy-liu-telink
521+
/dts/bindings/spi/*tlx* @andy-liu-telink
494522
/dts/bindings/spi/*w91* @andy-liu-telink
495523
/dts/bindings/timer/telink* @andy-liu-telink
496524
/dts/bindings/usb/*b9x* @andy-liu-telink
525+
/dts/bindings/usb/*tlx* @andy-liu-telink
497526
/dts/bindings/watchdog/*b9x* @andy-liu-telink
527+
/dts/bindings/watchdog/*tlx* @andy-liu-telink
498528
/dts/bindings/watchdog/*w91* @andy-liu-telink
499529
/dts/bindings/adc/st*stm32-adc.yaml @cybertale
500530
/dts/bindings/adc/*ads114s08.yaml @benediktibk
+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Copyright (c) 2024 Telink Semiconductor
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if BOARD_TL3218 || BOARD_TL3218_RETENTION
5+
6+
config SOC_FLASH_TELINK_TLX
7+
bool
8+
default y if FLASH
9+
10+
if BT
11+
12+
config BT_HCI_ACL_FLOW_CONTROL
13+
bool
14+
default n
15+
16+
endif # BT
17+
18+
# Workaround for not being able to have commas in macro arguments
19+
DT_CHOSEN_Z_CODE_PARTITION := zephyr,code-partition
20+
21+
config FLASH_LOAD_OFFSET
22+
hex
23+
default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_CODE_PARTITION)) if USE_DT_CODE_PARTITION
24+
25+
if MCUBOOT
26+
27+
config MCUBOOT_ACTION_HOOKS
28+
bool
29+
default y
30+
31+
config IMG_BLOCK_BUF_SIZE
32+
int
33+
default 4096
34+
35+
endif # MCUBOOT
36+
37+
if BOOTLOADER_MCUBOOT
38+
39+
config MCUBOOT_SIGNATURE_KEY_FILE
40+
string
41+
default "bootloader/mcuboot/root-rsa-2048.pem" if !MCUBOOT_GENERATE_UNSIGNED_IMAGE
42+
43+
config MCUBOOT_EXTRA_IMGTOOL_ARGS
44+
string
45+
default "--max-sectors 4096"
46+
47+
endif # BOOTLOADER_MCUBOOT
48+
49+
endif # BOARD_TL3218 || BOARD_TL3218_RETENTION

boards/telink/tl3218/Kconfig.tl3218

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Copyright (c) 2024 Telink Semiconductor
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_TL3218
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Copyright (c) 2024 Telink Semiconductor
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_TL3218_RETENTION

boards/telink/tl3218/board.cmake

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
board_runner_args(bdt_tool)
4+
include(${ZEPHYR_BASE}/boards/common/bdt_tool.board.cmake)

boards/telink/tl3218/board.yml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
boards:
2+
- name: tl3218
3+
vendor: telink
4+
socs:
5+
- name: telink_tl321x
6+
7+
- name: tl3218_retention
8+
vendor: telink
9+
socs:
10+
- name: telink_tl321x
Loading
88.3 KB
Loading

0 commit comments

Comments
 (0)