Skip to content

Commit

Permalink
riscv:telink: add retention support for tl3218x.
Browse files Browse the repository at this point in the history
- add retention template for tl3218x.
- add light-switch retention mode in CI.

Signed-off-by: Haiwen Xia <haiwen.xia@telink-semi.com>
  • Loading branch information
haiwentelink committed Nov 28, 2024
1 parent 8c19de3 commit fd8f11c
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 3 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/chef.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ jobs:
platform: telink
- name: Update Zephyr to specific revision (for developers purpose)
shell: bash
run: scripts/run_in_build_env.sh "python3 scripts/tools/telink/update_zephyr.py 1f90d4f87c4b36a3bb53edf4870585f42a943e3b"
run: scripts/run_in_build_env.sh "python3 scripts/tools/telink/update_zephyr.py e4b366e7631e267c472f28d468555f3fe86542f6"
- name: CI Examples Telink
shell: bash
run: |
Expand Down
15 changes: 14 additions & 1 deletion .github/workflows/examples-telink.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
gh-context: ${{ toJson(github) }}

- name: Update Zephyr to specific revision (for developers purpose)
run: scripts/run_in_build_env.sh "python3 scripts/tools/telink/update_zephyr.py 1f90d4f87c4b36a3bb53edf4870585f42a943e3b"
run: scripts/run_in_build_env.sh "python3 scripts/tools/telink/update_zephyr.py e4b366e7631e267c472f28d468555f3fe86542f6"

- name: Build example Telink (B92 retention) Air Quality Sensor App
# Run test for master and s07641069 PRs
Expand Down Expand Up @@ -180,6 +180,19 @@ jobs:
- name: clean out build output (keep tools)
run: rm -rf ./out/telink*

- name: Build example Telink (tl321x) Light Switch App with OTA (LZMA), Shell, Factory Data
# Run test for master and all PRs
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tl3218x_retention-light-switch-ota-compress-lzma-shell-factory-data' build"
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
telink tl3218x_retention light-switch-app-ota-compress-lzma-shell-factory-data \
out/telink-tl3218x_retention-light-switch-ota-compress-lzma-shell-factory-data/zephyr/zephyr.elf \
/tmp/bloat_reports/
- name: clean out build output (keep tools)
run: rm -rf ./out/telink*

- name: Build example Telink (B92) Light Switch App with OTA (LZMA), Shell, Factory Data
# Run test for master and all PRs
run: |
Expand Down
14 changes: 14 additions & 0 deletions config/telink/chip-module/Kconfig.defaults
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,20 @@ config PWM

endif

if BOARD_TL3218X_RETENTION

config SOC_SERIES_RISCV_TELINK_TLX_NON_RETENTION_RAM_CODE
default y if PM

config TELINK_TLX_MATTER_RETENTION_LAYOUT
default y if PM

config PWM
default n

endif


# Board non-retention config
if BOARD_TLSR9118BDK40D || BOARD_TLSR9118BDK40D_V1 || \
BOARD_TLSR9528A || BOARD_TLSR9258A || BOARD_TLSR9518ADK80D || BOARD_TL3218X
Expand Down
1 change: 1 addition & 0 deletions scripts/build/build/targets.py
Original file line number Diff line number Diff line change
Expand Up @@ -771,6 +771,7 @@ def BuildTelinkTarget():
TargetPart('tlsr9258a', board=TelinkBoard.TLSR9258A),
TargetPart('tlsr9258a_retention', board=TelinkBoard.TLSR9258A_RETENTION),
TargetPart('tl3218x', board=TelinkBoard.TL3218X),
TargetPart('tl3218x_retention', board=TelinkBoard.TL3218X_RETENTION),
])

target.AppendFixedTargets([
Expand Down
3 changes: 3 additions & 0 deletions scripts/build/builders/telink.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ class TelinkBoard(Enum):
TLSR9258A = auto()
TLSR9258A_RETENTION = auto()
TL3218X = auto()
TL3218X_RETENTION = auto()

def GnArgName(self):
if self == TelinkBoard.TLRS9118BDK40D:
Expand All @@ -138,6 +139,8 @@ def GnArgName(self):
return 'tlsr9258a_retention'
elif self == TelinkBoard.TL3218X:
return 'tl3218x'
elif self == TelinkBoard.TL3218X_RETENTION:
return 'tl3218x_retention'
else:
raise Exception('Unknown board type: %r' % self)

Expand Down
2 changes: 1 addition & 1 deletion scripts/build/testdata/all_targets_linux_x64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,5 @@ nuttx-x64-light
qpg-qpg6105-{lock,light,shell,persistent-storage,light-switch,thermostat}[-updateimage]
stm32-stm32wb5mm-dk-light
tizen-arm-{all-clusters,chip-tool,light,tests}[-no-ble][-no-thread][-no-wifi][-asan][-ubsan][-coverage][-with-ui]
telink-{tlsr9118bdk40d,tlsr9518adk80d,tlsr9528a,tlsr9528a_retention,tlsr9258a,tlsr9258a_retention,tl3218x}-{air-quality-sensor,all-clusters,all-clusters-minimal,bridge,contact-sensor,light,light-switch,lock,ota-requestor,pump,pump-controller,shell,smoke-co-alarm,temperature-measurement,thermostat,window-covering}[-ota][-dfu][-shell][-rpc][-factory-data][-4mb][-mars][-usb][-compress-lzma][-thread-analyzer]
telink-{tlsr9118bdk40d,tlsr9518adk80d,tlsr9528a,tlsr9528a_retention,tlsr9258a,tlsr9258a_retention,tl3218x,tl3218x_retention}-{air-quality-sensor,all-clusters,all-clusters-minimal,bridge,contact-sensor,light,light-switch,lock,ota-requestor,pump,pump-controller,shell,smoke-co-alarm,temperature-measurement,thermostat,window-covering}[-ota][-dfu][-shell][-rpc][-factory-data][-4mb][-mars][-usb][-compress-lzma][-thread-analyzer]
openiotsdk-{shell,lock}[-mbedtls][-psa]

0 comments on commit fd8f11c

Please sign in to comment.