Compare commits
24 Commits
v3.7.0
...
collab-mes
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5e7142b3d | ||
|
|
955b1f677b | ||
|
|
dab117c85e | ||
|
|
aeeb2053c6 | ||
|
|
1b44e607a8 | ||
|
|
c1f5ae30c6 | ||
|
|
bbd0498803 | ||
|
|
85a856d79a | ||
|
|
ef43b94495 | ||
|
|
62f08da47b | ||
|
|
81dbc697f4 | ||
|
|
dfdce2c122 | ||
|
|
6724345372 | ||
|
|
0bb34284d9 | ||
|
|
55175d63e4 | ||
|
|
d7b4497054 | ||
|
|
9d61afa758 | ||
|
|
cddbafe374 | ||
|
|
71b29f4796 | ||
|
|
563aa9be92 | ||
|
|
6874a4a719 | ||
|
|
380bd5483e | ||
|
|
988ad5b0c2 | ||
|
|
470c0d13a0 |
18
.github/ISSUE_TEMPLATE/001_bug_report.md
vendored
18
.github/ISSUE_TEMPLATE/001_bug_report.md
vendored
@@ -6,8 +6,8 @@ labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
<!--
|
||||
**Notes**
|
||||
|
||||
**Notes (delete this)**
|
||||
Github Discussions (https://github.com/zephyrproject-rtos/zephyr/discussions)
|
||||
are available to first verify that the issue is a genuine Zephyr bug and not a
|
||||
consequence of Zephyr services misuse.
|
||||
@@ -16,10 +16,8 @@ This issue list is only for bugs in the main Zephyr code base
|
||||
(https://github.com/zephyrproject-rtos/zephyr/). If the bug is for a project
|
||||
fork (such as NCS) specific feature, please open an issue in the fork project
|
||||
instead.
|
||||
-->
|
||||
|
||||
**Describe the bug**
|
||||
<!--
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
Please also mention any information which could help others to understand
|
||||
@@ -29,43 +27,31 @@ the problem you're facing:
|
||||
- Is this a regression? If yes, have you been able to "git bisect" it to a
|
||||
specific commit?
|
||||
- ...
|
||||
-->
|
||||
|
||||
**To Reproduce**
|
||||
<!--
|
||||
Steps to reproduce the behavior:
|
||||
1. mkdir build; cd build
|
||||
2. cmake -DBOARD=board\_xyz
|
||||
3. make
|
||||
4. See error
|
||||
-->
|
||||
|
||||
**Expected behavior**
|
||||
<!--
|
||||
A clear and concise description of what you expected to happen.
|
||||
-->
|
||||
|
||||
**Impact**
|
||||
<!--
|
||||
What impact does this issue have on your progress (e.g., annoyance, showstopper)
|
||||
-->
|
||||
|
||||
**Logs and console output**
|
||||
<!--
|
||||
If applicable, add console logs or other types of debug information
|
||||
e.g Wireshark capture or Logic analyzer capture (upload in zip archive).
|
||||
copy-and-paste text and put a code fence (\`\`\`) before and after, to help
|
||||
explain the issue. (if unable to obtain text log, add a screenshot)
|
||||
-->
|
||||
|
||||
**Environment (please complete the following information):**
|
||||
|
||||
- OS: (e.g. Linux, MacOS, Windows)
|
||||
- Toolchain (e.g Zephyr SDK, ...)
|
||||
- Commit SHA or Version used
|
||||
|
||||
**Additional context**
|
||||
<!--
|
||||
Add any other context that could be relevant to your issue, such as pin setting,
|
||||
target configuration, ...
|
||||
-->
|
||||
|
||||
8
.github/ISSUE_TEMPLATE/002_enhancement.md
vendored
8
.github/ISSUE_TEMPLATE/002_enhancement.md
vendored
@@ -8,21 +8,13 @@ assignees: ''
|
||||
---
|
||||
|
||||
**Is your enhancement proposal related to a problem? Please describe.**
|
||||
<!--
|
||||
A clear and concise description of what the problem is.
|
||||
-->
|
||||
|
||||
**Describe the solution you'd like**
|
||||
<!--
|
||||
A clear and concise description of what you want to happen.
|
||||
-->
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
<!--
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
-->
|
||||
|
||||
**Additional context**
|
||||
<!--
|
||||
Add any other context or graphics (drag-and-drop an image) about the feature request here.
|
||||
-->
|
||||
|
||||
23
.github/ISSUE_TEMPLATE/003_rfc-proposal.md
vendored
23
.github/ISSUE_TEMPLATE/003_rfc-proposal.md
vendored
@@ -9,52 +9,43 @@ assignees: ''
|
||||
|
||||
## Introduction
|
||||
|
||||
<!--
|
||||
This section targets end users, TSC members, maintainers and anyone else that might
|
||||
need a quick explanation of your proposed change.
|
||||
-->
|
||||
|
||||
### Problem description
|
||||
<!--
|
||||
|
||||
Why do we want this change and what problem are we trying to address?
|
||||
-->
|
||||
|
||||
### Proposed change
|
||||
<!--
|
||||
|
||||
A brief summary of the proposed change - the 10,000 ft view on what it will
|
||||
change once this change is implemented.
|
||||
-->
|
||||
|
||||
## Detailed RFC
|
||||
<!--
|
||||
|
||||
In this section of the document the target audience is the dev team. Upon
|
||||
reading this section each engineer should have a rather clear picture of what
|
||||
needs to be done in order to implement the described feature.
|
||||
-->
|
||||
|
||||
### Proposed change (Detailed)
|
||||
<!--
|
||||
|
||||
This section is freeform - you should describe your change in as much detail
|
||||
as possible. Please also ensure to include any context or background info here.
|
||||
For example, do we have existing components which can be reused or altered.
|
||||
|
||||
By reading this section, each team member should be able to know what exactly
|
||||
you're planning to change and how.
|
||||
-->
|
||||
|
||||
### Dependencies
|
||||
<!--
|
||||
|
||||
Highlight how the change may affect the rest of the project (new components,
|
||||
modifications in other areas), or other teams/projects.
|
||||
-->
|
||||
|
||||
### Concerns and Unresolved Questions
|
||||
<!--
|
||||
|
||||
List any concerns, unknowns, and generally unresolved questions etc.
|
||||
-->
|
||||
|
||||
## Alternatives
|
||||
<!--
|
||||
|
||||
List any alternatives considered, and the reasons for choosing this option
|
||||
over them.
|
||||
-->
|
||||
|
||||
@@ -8,21 +8,13 @@ assignees: ''
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
<!--
|
||||
A clear and concise description of what the problem is.
|
||||
-->
|
||||
|
||||
**Describe the solution you'd like**
|
||||
<!--
|
||||
A clear and concise description of what you want to happen.
|
||||
-->
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
<!--
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
-->
|
||||
|
||||
**Additional context**
|
||||
<!--
|
||||
Add any other context or graphics (drag-and-drop an image) about the feature request here.
|
||||
-->
|
||||
|
||||
23
.github/workflows/compliance.yml
vendored
23
.github/workflows/compliance.yml
vendored
@@ -1,12 +1,6 @@
|
||||
name: Compliance Checks
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- edited
|
||||
- opened
|
||||
- reopened
|
||||
- synchronize
|
||||
on: pull_request
|
||||
|
||||
jobs:
|
||||
check_compliance:
|
||||
@@ -58,14 +52,6 @@ jobs:
|
||||
west config manifest.group-filter -- +ci,-optional
|
||||
west update -o=--depth=1 -n 2>&1 1> west.update.log || west update -o=--depth=1 -n 2>&1 1> west.update2.log
|
||||
|
||||
- name: Check for PR description
|
||||
if: ${{ github.event.pull_request.body == '' }}
|
||||
continue-on-error: true
|
||||
id: pr_description
|
||||
run: |
|
||||
echo "Pull request description cannot be empty."
|
||||
exit 1
|
||||
|
||||
- name: Run Compliance Tests
|
||||
continue-on-error: true
|
||||
id: compliance
|
||||
@@ -108,12 +94,5 @@ jobs:
|
||||
done
|
||||
|
||||
if [ "${exit}" == "1" ]; then
|
||||
echo "Compliance error, check for error messages in the \"Run Compliance Tests\" step"
|
||||
echo "You can run this step locally with the ./scripts/ci/check_compliance.py script."
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ "${{ steps.pr_description.outcome }}" == "failure" ]; then
|
||||
echo "PR description cannot be empty"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
4
.github/workflows/devicetree_checks.yml
vendored
4
.github/workflows/devicetree_checks.yml
vendored
@@ -27,9 +27,9 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ['3.10', '3.11', '3.12']
|
||||
os: [ubuntu-22.04, macos-14, windows-2022]
|
||||
os: [ubuntu-22.04, macos-11, windows-2022]
|
||||
exclude:
|
||||
- os: macos-14
|
||||
- os: macos-11
|
||||
python-version: 3.6
|
||||
- os: windows-2022
|
||||
python-version: 3.6
|
||||
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-22.04, macos-13, macos-14, windows-2022]
|
||||
os: [ubuntu-22.04, macos-12, macos-14, windows-2022]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
|
||||
4
.github/workflows/west_cmds.yml
vendored
4
.github/workflows/west_cmds.yml
vendored
@@ -30,9 +30,9 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ['3.10', '3.11', '3.12']
|
||||
os: [ubuntu-22.04, macos-14, windows-2022]
|
||||
os: [ubuntu-22.04, macos-11, windows-2022]
|
||||
exclude:
|
||||
- os: macos-14
|
||||
- os: macos-11
|
||||
python-version: 3.6
|
||||
- os: windows-2022
|
||||
python-version: 3.6
|
||||
|
||||
@@ -1898,6 +1898,7 @@ if (CONFIG_LLEXT AND CONFIG_LLEXT_EXPORT_BUILTINS_BY_SLID)
|
||||
${ZEPHYR_BASE}/scripts/build/llext_prepare_exptab.py
|
||||
--elf-file ${PROJECT_BINARY_DIR}/${KERNEL_ELF_NAME}
|
||||
--slid-listing ${PROJECT_BINARY_DIR}/slid_listing.txt
|
||||
-vvv
|
||||
)
|
||||
|
||||
endif()
|
||||
@@ -1988,39 +1989,22 @@ elseif(CONFIG_LOG_MIPI_SYST_USE_CATALOG)
|
||||
endif()
|
||||
|
||||
if(LOG_DICT_DB_NAME_ARG)
|
||||
set(log_dict_gen_command
|
||||
if (NOT CONFIG_LOG_DICTIONARY_DB_TARGET)
|
||||
set(LOG_DICT_DB_ALL_TARGET ALL)
|
||||
endif()
|
||||
add_custom_command(
|
||||
OUTPUT ${LOG_DICT_DB_NAME}
|
||||
COMMAND
|
||||
${PYTHON_EXECUTABLE}
|
||||
${ZEPHYR_BASE}/scripts/logging/dictionary/database_gen.py
|
||||
${KERNEL_ELF_NAME}
|
||||
${LOG_DICT_DB_NAME_ARG}=${LOG_DICT_DB_NAME}
|
||||
--build-header ${PROJECT_BINARY_DIR}/include/generated/zephyr/version.h
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
|
||||
COMMENT "Generating logging dictionary database: ${LOG_DICT_DB_NAME}"
|
||||
DEPENDS ${logical_target_for_zephyr_elf}
|
||||
)
|
||||
|
||||
if (NOT CONFIG_LOG_DICTIONARY_DB_TARGET)
|
||||
# If not using a separate target for generating logging dictionary
|
||||
# database, add the generation to post build command to make sure
|
||||
# the database is actually being generated.
|
||||
list(APPEND
|
||||
post_build_commands
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "Generating logging dictionary database: ${LOG_DICT_DB_NAME}"
|
||||
COMMAND ${log_dict_gen_command}
|
||||
)
|
||||
list(APPEND
|
||||
post_build_byproducts
|
||||
${LOG_DICT_DB_NAME}
|
||||
)
|
||||
else()
|
||||
# Seprate build target for generating logging dictionary database.
|
||||
# This needs to be explicitly called/used to generate the database.
|
||||
add_custom_command(
|
||||
OUTPUT ${LOG_DICT_DB_NAME}
|
||||
COMMAND ${log_dict_gen_command}
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
|
||||
COMMENT "Generating logging dictionary database: ${LOG_DICT_DB_NAME}"
|
||||
DEPENDS ${logical_target_for_zephyr_elf}
|
||||
)
|
||||
add_custom_target(log_dict_db_gen DEPENDS ${LOG_DICT_DB_NAME})
|
||||
endif()
|
||||
add_custom_target(log_dict_db_gen ${LOG_DICT_DB_ALL_TARGET} DEPENDS ${LOG_DICT_DB_NAME})
|
||||
endif()
|
||||
|
||||
# Add post_build_commands to post-process the final .elf file produced by
|
||||
|
||||
@@ -119,7 +119,6 @@ ACPI:
|
||||
- lib/acpi/
|
||||
- include/zephyr/acpi/
|
||||
- tests/lib/acpi/
|
||||
- dts/bindings/acpi/
|
||||
labels:
|
||||
- "area: ACPI"
|
||||
tests:
|
||||
@@ -137,7 +136,6 @@ ARC arch:
|
||||
- include/zephyr/arch/arc/
|
||||
- tests/arch/arc/
|
||||
- dts/arc/synopsys/
|
||||
- dts/bindings/arc/
|
||||
- doc/hardware/arch/arc-support-status.rst
|
||||
labels:
|
||||
- "area: ARC"
|
||||
@@ -201,7 +199,6 @@ ARM Platforms:
|
||||
- soc/arm/designstart/
|
||||
- soc/arm/fvp_aemv8*/
|
||||
- dts/arm/armv*.dtsi
|
||||
- dts/bindings/arm/arm*.yaml
|
||||
labels:
|
||||
- "platform: ARM"
|
||||
|
||||
@@ -240,11 +237,10 @@ MIPS arch:
|
||||
- arch.mips
|
||||
|
||||
Ambiq Platforms:
|
||||
status: maintained
|
||||
maintainers:
|
||||
- AlessandroLuo
|
||||
status: odd fixes
|
||||
collaborators:
|
||||
- aaronyegx
|
||||
- AlessandroLuo
|
||||
- RichardSWheatley
|
||||
files:
|
||||
- soc/ambiq/
|
||||
@@ -304,6 +300,7 @@ Bluetooth:
|
||||
collaborators:
|
||||
- hermabe
|
||||
- Vudentz
|
||||
- Thalley
|
||||
- asbjornsabo
|
||||
- sjanc
|
||||
files:
|
||||
@@ -398,9 +395,6 @@ Bluetooth Host:
|
||||
- subsys/bluetooth/shell/
|
||||
- tests/bluetooth/host*/
|
||||
- tests/bsim/bluetooth/host/
|
||||
files-exclude:
|
||||
- subsys/bluetooth/host/classic/
|
||||
- include/zephyr/bluetooth/classic/
|
||||
labels:
|
||||
- "area: Bluetooth Host"
|
||||
- "area: Bluetooth"
|
||||
@@ -478,7 +472,6 @@ Bluetooth Classic:
|
||||
- include/zephyr/bluetooth/classic/
|
||||
labels:
|
||||
- "area: Bluetooth Classic"
|
||||
- "area: Bluetooth"
|
||||
tests:
|
||||
- bluetooth
|
||||
|
||||
@@ -601,22 +594,6 @@ CMSIS API layer:
|
||||
- portability.cmsis_rtos_v1
|
||||
- portability.cmsis_rtos_v2
|
||||
|
||||
DAP:
|
||||
status: maintained
|
||||
maintainers:
|
||||
- jfischer-no
|
||||
collaborators:
|
||||
- maxd-nordic
|
||||
files:
|
||||
- include/zephyr/drivers/swdp.h
|
||||
- drivers/dp/
|
||||
- subsys/dap/
|
||||
- samples/subsys/dap/
|
||||
description: >-
|
||||
Debug Access Port controller
|
||||
labels:
|
||||
- "area: dap"
|
||||
|
||||
DSP subsystem:
|
||||
status: maintained
|
||||
maintainers:
|
||||
@@ -805,7 +782,8 @@ DFU:
|
||||
- dfu
|
||||
|
||||
Devicetree:
|
||||
status: odd fixes
|
||||
status: maintained
|
||||
maintainers: []
|
||||
collaborators:
|
||||
- decsny
|
||||
- galak
|
||||
@@ -816,7 +794,6 @@ Devicetree:
|
||||
- doc/build/dts/
|
||||
- include/zephyr/devicetree/
|
||||
- scripts/kconfig/kconfigfunctions.py
|
||||
- doc/build/kconfig/preprocessor-functions.rst
|
||||
- include/zephyr/devicetree.h
|
||||
files-exclude:
|
||||
- dts/common/nordic/
|
||||
@@ -826,11 +803,13 @@ Devicetree:
|
||||
- libraries.devicetree
|
||||
|
||||
Devicetree Bindings:
|
||||
status: odd fixes
|
||||
status: maintained
|
||||
maintainers: []
|
||||
collaborators:
|
||||
- decsny
|
||||
- galak
|
||||
files:
|
||||
- dts/bindings/
|
||||
- include/zephyr/dt-bindings/
|
||||
- dts/binding-template.yaml
|
||||
labels:
|
||||
@@ -870,14 +849,10 @@ Display drivers:
|
||||
- include/zephyr/drivers/display.h
|
||||
- subsys/fb/
|
||||
- samples/subsys/display/
|
||||
- tests/subsys/display/
|
||||
- doc/hardware/peripherals/display/
|
||||
- tests/drivers/*/display/
|
||||
labels:
|
||||
- "area: Display"
|
||||
tests:
|
||||
- display.cfb
|
||||
- drivers.display
|
||||
|
||||
Documentation:
|
||||
status: maintained
|
||||
@@ -910,7 +885,6 @@ Documentation:
|
||||
files-exclude:
|
||||
- doc/releases/migration-guide-*
|
||||
- doc/releases/release-notes-*
|
||||
- doc/develop/test/
|
||||
labels:
|
||||
- "area: Documentation"
|
||||
|
||||
@@ -959,7 +933,6 @@ Release Notes:
|
||||
- doc/hardware/peripherals/adc.rst
|
||||
- tests/drivers/build_all/adc/
|
||||
- include/zephyr/dt-bindings/adc/
|
||||
- dts/bindings/adc/
|
||||
labels:
|
||||
- "area: ADC"
|
||||
tests:
|
||||
@@ -1036,7 +1009,6 @@ Release Notes:
|
||||
- samples/modules/canopennode/
|
||||
- samples/net/sockets/can/
|
||||
- samples/subsys/canbus/
|
||||
- scripts/west_commands/runners/canopen_program.py
|
||||
- subsys/canbus/
|
||||
- subsys/net/l2/canbus/
|
||||
- tests/drivers/build_all/can/
|
||||
@@ -1234,7 +1206,7 @@ Release Notes:
|
||||
- samples/drivers/eeprom/
|
||||
- tests/drivers/eeprom/
|
||||
- tests/drivers/*/eeprom/
|
||||
- doc/hardware/peripherals/eeprom/
|
||||
- doc/hardware/peripherals/eeprom.rst
|
||||
labels:
|
||||
- "area: EEPROM"
|
||||
tests:
|
||||
@@ -1518,7 +1490,6 @@ Release Notes:
|
||||
- drivers/mdio/
|
||||
- include/zephyr/drivers/mdio.h
|
||||
- tests/drivers/build_all/mdio/
|
||||
- dts/bindings/mdio/
|
||||
labels:
|
||||
- "area: MDIO"
|
||||
tests:
|
||||
@@ -1566,7 +1537,6 @@ Release Notes:
|
||||
files:
|
||||
- drivers/reset/
|
||||
- include/zephyr/drivers/reset.h
|
||||
- dts/bindings/reset/
|
||||
|
||||
"Interrupt Handling":
|
||||
status: odd fixes
|
||||
@@ -1636,7 +1606,6 @@ Release Notes:
|
||||
- tests/drivers/led/
|
||||
- doc/hardware/peripherals/led.rst
|
||||
- tests/drivers/build_all/led/
|
||||
- dts/bindings/led/
|
||||
labels:
|
||||
- "area: LED"
|
||||
tests:
|
||||
@@ -1705,7 +1674,6 @@ Release Notes:
|
||||
- tests/drivers/regulator/
|
||||
- tests/drivers/build_all/regulator/
|
||||
- doc/hardware/peripherals/regulators.rst
|
||||
- dts/bindings/regulator/
|
||||
labels:
|
||||
- "area: Regulators"
|
||||
tests:
|
||||
@@ -1721,7 +1689,6 @@ Release Notes:
|
||||
- include/zephyr/drivers/retained_mem.h
|
||||
- tests/drivers/retained_mem/
|
||||
- doc/hardware/peripherals/retained_mem.rst
|
||||
- dts/bindings/retained_mem/
|
||||
labels:
|
||||
- "area: Retained Memory"
|
||||
tests:
|
||||
@@ -1738,7 +1705,6 @@ Release Notes:
|
||||
- doc/hardware/peripherals/rtc.rst
|
||||
- include/zephyr/drivers/rtc.h
|
||||
- tests/drivers/build_all/rtc/
|
||||
- dts/bindings/rtc/
|
||||
labels:
|
||||
- "area: RTC"
|
||||
tests:
|
||||
@@ -1752,7 +1718,6 @@ Release Notes:
|
||||
- drivers/pcie/
|
||||
- include/zephyr/drivers/pcie/
|
||||
- doc/hardware/peripherals/pcie.rst
|
||||
- dts/bindings/pcie/
|
||||
labels:
|
||||
- "area: PCI"
|
||||
|
||||
@@ -1767,7 +1732,6 @@ Release Notes:
|
||||
- include/zephyr/drivers/peci.h
|
||||
- samples/drivers/peci/
|
||||
- doc/hardware/peripherals/peci.rst
|
||||
- dts/bindings/peci/
|
||||
labels:
|
||||
- "area: PECI"
|
||||
tests:
|
||||
@@ -1825,7 +1789,6 @@ Release Notes:
|
||||
- include/zephyr/drivers/pm_cpu_ops/
|
||||
- include/zephyr/drivers/pm_cpu_ops.h
|
||||
- include/zephyr/arch/arm64/arm-smccc.h
|
||||
- dts/bindings/pm_cpu_ops/
|
||||
labels:
|
||||
- "area: PM CPU ops"
|
||||
|
||||
@@ -1937,7 +1900,6 @@ Release Notes:
|
||||
- drivers/spi/
|
||||
- include/zephyr/drivers/spi.h
|
||||
- tests/drivers/spi/
|
||||
- dts/bindings/spi/
|
||||
- doc/hardware/peripherals/spi.rst
|
||||
labels:
|
||||
- "area: SPI"
|
||||
@@ -1953,7 +1915,6 @@ Release Notes:
|
||||
files:
|
||||
- drivers/timer/
|
||||
- include/zephyr/drivers/timer/
|
||||
- dts/bindings/timer/
|
||||
labels:
|
||||
- "area: Timer"
|
||||
|
||||
@@ -1967,7 +1928,6 @@ Release Notes:
|
||||
- include/zephyr/drivers/video-controls.h
|
||||
- doc/hardware/peripherals/video.rst
|
||||
- tests/drivers/*/video/
|
||||
- dts/bindings/video/
|
||||
labels:
|
||||
- "area: Video"
|
||||
tests:
|
||||
@@ -2020,7 +1980,6 @@ Release Notes:
|
||||
- krish2718
|
||||
files:
|
||||
- drivers/wifi/
|
||||
- dts/bindings/wifi/
|
||||
labels:
|
||||
- "area: Wi-Fi"
|
||||
|
||||
@@ -2106,7 +2065,6 @@ Xen Platform:
|
||||
- arch/arm64/core/xen/
|
||||
- soc/xen/
|
||||
- boards/xen/
|
||||
- dts/bindings/xen/
|
||||
labels:
|
||||
- "area: Xen Platform"
|
||||
|
||||
@@ -2122,7 +2080,6 @@ Filesystems:
|
||||
- samples/subsys/fs/
|
||||
- subsys/fs/
|
||||
- tests/subsys/fs/
|
||||
- dts/bindings/fs/
|
||||
labels:
|
||||
- "area: File System"
|
||||
tests:
|
||||
@@ -2221,7 +2178,6 @@ IPC:
|
||||
- subsys/ipc/
|
||||
- tests/subsys/ipc/
|
||||
- doc/services/ipc/
|
||||
- dts/bindings/ipc/
|
||||
description: >-
|
||||
Inter-Processor Communication
|
||||
labels:
|
||||
@@ -2944,13 +2900,7 @@ Open AMP:
|
||||
- carlocaione
|
||||
files:
|
||||
- lib/open-amp/
|
||||
- samples/subsys/ipc/openamp/
|
||||
- samples/subsys/ipc/openamp_rsc_table/
|
||||
- samples/subsys/ipc/rpmsg_service/
|
||||
labels:
|
||||
- "area: Open AMP"
|
||||
tests:
|
||||
- sample.ipc.openamp
|
||||
|
||||
|
||||
POSIX API layer:
|
||||
status: maintained
|
||||
@@ -3079,7 +3029,6 @@ Sensor Subsystem:
|
||||
- "area: Sensor Subsystem"
|
||||
tests:
|
||||
- sample.sensing
|
||||
- sensing.api
|
||||
|
||||
Stats:
|
||||
status: odd fixes
|
||||
@@ -3096,6 +3045,7 @@ Twister:
|
||||
collaborators:
|
||||
- PerMac
|
||||
- hakehuang
|
||||
- gopiotr
|
||||
- golowanow
|
||||
- gchwier
|
||||
- LukaszMrugala
|
||||
@@ -3670,10 +3620,6 @@ Renesas RA Platforms:
|
||||
status: maintained
|
||||
maintainers:
|
||||
- soburi
|
||||
- KhiemNguyenT
|
||||
collaborators:
|
||||
- duynguyenxa
|
||||
- thaoluonguw
|
||||
files:
|
||||
- boards/arduino/uno_r4/
|
||||
- drivers/*/*renesas_ra*
|
||||
@@ -3732,6 +3678,7 @@ STM32 Platforms:
|
||||
maintainers:
|
||||
- erwango
|
||||
collaborators:
|
||||
- ajarmouni-st
|
||||
- FRASTM
|
||||
- gautierg-st
|
||||
- GeorgeCGV
|
||||
@@ -4111,6 +4058,7 @@ USB:
|
||||
- tests/drivers/usb/
|
||||
- tests/drivers/udc/
|
||||
- doc/connectivity/usb/
|
||||
- scripts/generate_usb_vif/
|
||||
labels:
|
||||
- "area: USB"
|
||||
tests:
|
||||
@@ -4132,7 +4080,6 @@ USB-C:
|
||||
- subsys/usb/usb_c/
|
||||
- doc/connectivity/usb/pd/
|
||||
- doc/hardware/peripherals/usbc_vbus.rst
|
||||
- scripts/generate_usb_vif/
|
||||
labels:
|
||||
- "area: USB-C"
|
||||
tests:
|
||||
@@ -4184,7 +4131,8 @@ VFS:
|
||||
- filesystem
|
||||
|
||||
West:
|
||||
status: odd fixes
|
||||
status: maintained
|
||||
maintainers: []
|
||||
collaborators:
|
||||
- mbolivar-ampere
|
||||
- carlescufi
|
||||
@@ -4331,7 +4279,7 @@ West:
|
||||
files:
|
||||
- modules/cmsis/
|
||||
labels:
|
||||
- "area: CMSIS-Core"
|
||||
- "area: ARM"
|
||||
|
||||
"West project: cmsis-dsp":
|
||||
status: maintained
|
||||
@@ -4448,7 +4396,7 @@ West:
|
||||
- drivers/misc/ethos_u/
|
||||
- modules/hal_ethos_u/
|
||||
labels:
|
||||
- "platform: ARM"
|
||||
- "area: ARM"
|
||||
|
||||
"West project: hal_gigadevice":
|
||||
status: maintained
|
||||
@@ -4554,9 +4502,6 @@ West:
|
||||
- blauret
|
||||
- andrzej-kaczmarek
|
||||
- ydamigos
|
||||
- soburi
|
||||
- duynguyenxa
|
||||
- thaoluonguw
|
||||
files: []
|
||||
labels:
|
||||
- "platform: Renesas"
|
||||
@@ -4723,7 +4668,6 @@ West:
|
||||
- ceolin
|
||||
collaborators:
|
||||
- ithinuel
|
||||
- valeriosetti
|
||||
files:
|
||||
- modules/mbedtls/
|
||||
labels:
|
||||
@@ -5022,7 +4966,6 @@ Continuous Integration:
|
||||
files:
|
||||
- .github/
|
||||
- scripts/ci/
|
||||
- scripts/make_bugs_pickle.py
|
||||
- .checkpatch.conf
|
||||
- scripts/gitlint/
|
||||
- scripts/set_assignees.py
|
||||
@@ -5044,7 +4987,7 @@ Test Framework (Ztest):
|
||||
- tests/unit/util/
|
||||
- tests/subsys/testsuite/
|
||||
- samples/subsys/testsuite/
|
||||
- doc/develop/test/
|
||||
- doc/develop/test/ztest.rst
|
||||
labels:
|
||||
- "area: Testsuite"
|
||||
tests:
|
||||
@@ -5086,7 +5029,7 @@ Random:
|
||||
|
||||
# This area is to be converted to a subarea
|
||||
Testing with Renode:
|
||||
status: odd fixes
|
||||
status: maintained
|
||||
collaborators:
|
||||
- mateusz-holenko
|
||||
- fkokosinski
|
||||
@@ -5126,6 +5069,6 @@ zbus:
|
||||
- subsys/llext/
|
||||
- doc/services/llext/
|
||||
labels:
|
||||
- "area: llext"
|
||||
- "area: Linkable Loadable Extensions"
|
||||
tests:
|
||||
- llext
|
||||
|
||||
2
VERSION
2
VERSION
@@ -2,4 +2,4 @@ VERSION_MAJOR = 3
|
||||
VERSION_MINOR = 7
|
||||
PATCHLEVEL = 0
|
||||
VERSION_TWEAK = 0
|
||||
EXTRAVERSION =
|
||||
EXTRAVERSION = rc1
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if(CONFIG_BIG_ENDIAN)
|
||||
set_property(GLOBAL PROPERTY PROPERTY_OUTPUT_FORMAT elf32-bigarm)
|
||||
else()
|
||||
set_property(GLOBAL PROPERTY PROPERTY_OUTPUT_FORMAT elf32-littlearm)
|
||||
endif()
|
||||
set_property(GLOBAL PROPERTY PROPERTY_OUTPUT_FORMAT elf32-littlearm)
|
||||
|
||||
add_subdirectory(core)
|
||||
|
||||
@@ -95,10 +95,6 @@ void arch_new_thread(struct k_thread *thread, k_thread_stack_t *stack,
|
||||
iframe->a4 = (uint32_t)p3;
|
||||
|
||||
iframe->xpsr = A_BIT | MODE_SYS;
|
||||
#if defined(CONFIG_BIG_ENDIAN)
|
||||
iframe->xpsr |= E_BIT;
|
||||
#endif /* CONFIG_BIG_ENDIAN */
|
||||
|
||||
#if defined(CONFIG_COMPILER_ISA_THUMB2)
|
||||
iframe->xpsr |= T_BIT;
|
||||
#endif /* CONFIG_COMPILER_ISA_THUMB2 */
|
||||
|
||||
@@ -588,7 +588,7 @@ void arch_switch_to_main_thread(struct k_thread *main_thread, char *stack_ptr,
|
||||
"bx r4\n" /* We don’t intend to return, so there is no need to link. */
|
||||
: "+r" (_main)
|
||||
: "r" (stack_ptr)
|
||||
: "r0", "r1", "r2", "r3", "r4", "ip", "lr");
|
||||
: "r0", "r1", "r2", "r3", "r4");
|
||||
|
||||
CODE_UNREACHABLE;
|
||||
}
|
||||
@@ -659,7 +659,7 @@ FUNC_NORETURN void z_arm_switch_to_main_no_multithreading(
|
||||
#ifdef CONFIG_BUILTIN_STACK_GUARD
|
||||
, [_psplim]"r" (psplim)
|
||||
#endif
|
||||
: "r0", "r1", "r2", "ip", "lr"
|
||||
: "r0", "r1", "r2", "r3"
|
||||
);
|
||||
|
||||
CODE_UNREACHABLE; /* LCOV_EXCL_LINE */
|
||||
|
||||
@@ -15,11 +15,11 @@
|
||||
struct int_list_header {
|
||||
uint32_t table_size;
|
||||
uint32_t offset;
|
||||
#if defined(CONFIG_ISR_TABLES_LOCAL_DECLARATION)
|
||||
#if IS_ENABLED(CONFIG_ISR_TABLES_LOCAL_DECLARATION)
|
||||
uint32_t swi_table_entry_size;
|
||||
uint32_t shared_isr_table_entry_size;
|
||||
uint32_t shared_isr_client_num_offset;
|
||||
#endif /* defined(CONFIG_ISR_TABLES_LOCAL_DECLARATION) */
|
||||
#endif /* IS_ENABLED(CONFIG_ISR_TABLES_LOCAL_DECLARATION) */
|
||||
};
|
||||
|
||||
/* These values are not included in the resulting binary, but instead form the
|
||||
@@ -29,13 +29,13 @@ struct int_list_header {
|
||||
Z_GENERIC_SECTION(.irq_info) __used struct int_list_header _iheader = {
|
||||
.table_size = IRQ_TABLE_SIZE,
|
||||
.offset = CONFIG_GEN_IRQ_START_VECTOR,
|
||||
#if defined(CONFIG_ISR_TABLES_LOCAL_DECLARATION)
|
||||
#if IS_ENABLED(CONFIG_ISR_TABLES_LOCAL_DECLARATION)
|
||||
.swi_table_entry_size = sizeof(struct _isr_table_entry),
|
||||
#if defined(CONFIG_SHARED_INTERRUPTS)
|
||||
#if IS_ENABLED(CONFIG_SHARED_INTERRUPTS)
|
||||
.shared_isr_table_entry_size = sizeof(struct z_shared_isr_table_entry),
|
||||
.shared_isr_client_num_offset = offsetof(struct z_shared_isr_table_entry, client_num),
|
||||
#endif /* defined(CONFIG_SHARED_INTERRUPTS) */
|
||||
#endif /* defined(CONFIG_ISR_TABLES_LOCAL_DECLARATION) */
|
||||
#endif /* IS_ENABLED(CONFIG_SHARED_INTERRUPTS) */
|
||||
#endif /* IS_ENABLED(CONFIG_ISR_TABLES_LOCAL_DECLARATION) */
|
||||
};
|
||||
|
||||
/* These are placeholder tables. They will be replaced by the real tables
|
||||
|
||||
@@ -30,6 +30,7 @@ config RISCV_GP
|
||||
config RISCV_ALWAYS_SWITCH_THROUGH_ECALL
|
||||
bool "Do not use mret outside a trap handler context"
|
||||
depends on MULTITHREADING
|
||||
depends on !RISCV_PMP
|
||||
help
|
||||
Use mret instruction only when in a trap handler.
|
||||
This is for RISC-V implementations that require every mret to be
|
||||
@@ -47,11 +48,10 @@ config RISCV_EXCEPTION_STACK_TRACE
|
||||
menu "RISCV Processor Options"
|
||||
|
||||
config INCLUDE_RESET_VECTOR
|
||||
bool "Jumps to __initialize directly"
|
||||
bool "Include Reset vector"
|
||||
help
|
||||
Select 'y' here to use the Zephyr provided default implementation that
|
||||
jumps to `__initialize` directly. Otherwise a SOC needs to provide its
|
||||
custom `__reset` routine.
|
||||
Include the reset vector stub, which initializes the stack and
|
||||
prepares for running C code.
|
||||
|
||||
config RISCV_PRIVILEGED
|
||||
bool
|
||||
|
||||
@@ -398,22 +398,6 @@ is_kernel_syscall:
|
||||
bne t0, t1, skip_schedule
|
||||
lr a0, __struct_arch_esf_a0_OFFSET(sp)
|
||||
lr a1, __struct_arch_esf_a1_OFFSET(sp)
|
||||
|
||||
#ifdef CONFIG_FPU_SHARING
|
||||
/*
|
||||
* When an ECALL is used for a context-switch, the current thread has
|
||||
* been updated to the next thread.
|
||||
* Add the exception_depth back to the previous thread.
|
||||
*/
|
||||
lb t1, _thread_offset_to_exception_depth(a0)
|
||||
add t1, t1, -1
|
||||
sb t1, _thread_offset_to_exception_depth(a0)
|
||||
|
||||
lb t1, _thread_offset_to_exception_depth(a1)
|
||||
add t1, t1, 1
|
||||
sb t1, _thread_offset_to_exception_depth(a1)
|
||||
#endif
|
||||
|
||||
j reschedule
|
||||
skip_schedule:
|
||||
#endif
|
||||
|
||||
@@ -204,34 +204,6 @@ static bool set_pmp_entry(unsigned int *index_p, uint8_t perm,
|
||||
return ok;
|
||||
}
|
||||
|
||||
static inline bool set_pmp_mprv_catchall(unsigned int *index_p,
|
||||
unsigned long *pmp_addr, unsigned long *pmp_cfg,
|
||||
unsigned int index_limit)
|
||||
{
|
||||
/*
|
||||
* We'll be using MPRV. Make a fallback entry with everything
|
||||
* accessible as if no PMP entries were matched which is otherwise
|
||||
* the default behavior for m-mode without MPRV.
|
||||
*/
|
||||
bool ok = set_pmp_entry(index_p, PMP_R | PMP_W | PMP_X,
|
||||
0, 0, pmp_addr, pmp_cfg, index_limit);
|
||||
|
||||
#ifdef CONFIG_QEMU_TARGET
|
||||
if (ok) {
|
||||
/*
|
||||
* Workaround: The above produced 0x1fffffff which is correct.
|
||||
* But there is a QEMU bug that prevents it from interpreting
|
||||
* this value correctly. Hardcode the special case used by
|
||||
* QEMU to bypass this bug for now. The QEMU fix is here:
|
||||
* https://lists.gnu.org/archive/html/qemu-devel/2022-04/msg00961.html
|
||||
*/
|
||||
pmp_addr[*index_p - 1] = -1L;
|
||||
}
|
||||
#endif
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Write a range of PMP entries to corresponding PMP registers
|
||||
*
|
||||
@@ -348,8 +320,8 @@ static unsigned int global_pmp_end_index;
|
||||
*/
|
||||
void z_riscv_pmp_init(void)
|
||||
{
|
||||
unsigned long pmp_addr[5];
|
||||
unsigned long pmp_cfg[2];
|
||||
unsigned long pmp_addr[4];
|
||||
unsigned long pmp_cfg[1];
|
||||
unsigned int index = 0;
|
||||
|
||||
/* The read-only area is always there for every mode */
|
||||
@@ -379,28 +351,10 @@ void z_riscv_pmp_init(void)
|
||||
(uintptr_t)z_interrupt_stacks[_current_cpu->id],
|
||||
Z_RISCV_STACK_GUARD_SIZE,
|
||||
pmp_addr, pmp_cfg, ARRAY_SIZE(pmp_addr));
|
||||
|
||||
/*
|
||||
* This early, the kernel init code uses the IRQ stack and we want to
|
||||
* safeguard it as soon as possible. But we need a temporary default
|
||||
* "catch all" PMP entry for MPRV to work. Later on, this entry will
|
||||
* be set for each thread by z_riscv_pmp_stackguard_prepare().
|
||||
*/
|
||||
set_pmp_mprv_catchall(&index, pmp_addr, pmp_cfg, ARRAY_SIZE(pmp_addr));
|
||||
|
||||
/* Write those entries to PMP regs. */
|
||||
write_pmp_entries(0, index, true, pmp_addr, pmp_cfg, ARRAY_SIZE(pmp_addr));
|
||||
|
||||
/* Activate our non-locked PMP entries for m-mode */
|
||||
csr_set(mstatus, MSTATUS_MPRV);
|
||||
|
||||
/* And forget about that last entry as we won't need it later */
|
||||
index--;
|
||||
#else
|
||||
/* Write those entries to PMP regs. */
|
||||
write_pmp_entries(0, index, true, pmp_addr, pmp_cfg, ARRAY_SIZE(pmp_addr));
|
||||
#endif
|
||||
|
||||
write_pmp_entries(0, index, true, pmp_addr, pmp_cfg, ARRAY_SIZE(pmp_addr));
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
#ifdef CONFIG_PMP_STACK_GUARD
|
||||
/*
|
||||
@@ -419,7 +373,6 @@ void z_riscv_pmp_init(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
__ASSERT(index <= PMPCFG_STRIDE, "provision for one global word only");
|
||||
global_pmp_cfg[0] = pmp_cfg[0];
|
||||
global_pmp_last_addr = pmp_addr[index - 1];
|
||||
global_pmp_end_index = index;
|
||||
@@ -476,7 +429,24 @@ void z_riscv_pmp_stackguard_prepare(struct k_thread *thread)
|
||||
set_pmp_entry(&index, PMP_NONE,
|
||||
stack_bottom, Z_RISCV_STACK_GUARD_SIZE,
|
||||
PMP_M_MODE(thread));
|
||||
set_pmp_mprv_catchall(&index, PMP_M_MODE(thread));
|
||||
|
||||
/*
|
||||
* We'll be using MPRV. Make a fallback entry with everything
|
||||
* accessible as if no PMP entries were matched which is otherwise
|
||||
* the default behavior for m-mode without MPRV.
|
||||
*/
|
||||
set_pmp_entry(&index, PMP_R | PMP_W | PMP_X,
|
||||
0, 0, PMP_M_MODE(thread));
|
||||
#ifdef CONFIG_QEMU_TARGET
|
||||
/*
|
||||
* Workaround: The above produced 0x1fffffff which is correct.
|
||||
* But there is a QEMU bug that prevents it from interpreting this
|
||||
* value correctly. Hardcode the special case used by QEMU to
|
||||
* bypass this bug for now. The QEMU fix is here:
|
||||
* https://lists.gnu.org/archive/html/qemu-devel/2022-04/msg00961.html
|
||||
*/
|
||||
thread->arch.m_mode_pmpaddr_regs[index-1] = -1L;
|
||||
#endif
|
||||
|
||||
/* remember how many entries we use */
|
||||
thread->arch.m_mode_pmp_end_index = index;
|
||||
|
||||
@@ -100,8 +100,8 @@ void z_x86_irq_connect_on_vector(unsigned int irq,
|
||||
*/
|
||||
|
||||
int arch_irq_connect_dynamic(unsigned int irq, unsigned int priority,
|
||||
void (*routine)(const void *parameter),
|
||||
const void *parameter, uint32_t flags)
|
||||
void (*func)(const void *arg),
|
||||
const void *arg, uint32_t flags)
|
||||
{
|
||||
uint32_t key;
|
||||
int vector;
|
||||
@@ -124,7 +124,7 @@ int arch_irq_connect_dynamic(unsigned int irq, unsigned int priority,
|
||||
#endif /* CONFIG_INTEL_VTD_ICTL */
|
||||
|
||||
z_irq_controller_irq_config(vector, irq, flags);
|
||||
z_x86_irq_connect_on_vector(irq, vector, routine, parameter);
|
||||
z_x86_irq_connect_on_vector(irq, vector, func, arg);
|
||||
}
|
||||
|
||||
irq_unlock(key);
|
||||
|
||||
@@ -317,13 +317,6 @@ void xtensa_mmu_init(void)
|
||||
|
||||
xtensa_init_paging(xtensa_kernel_ptables);
|
||||
|
||||
/*
|
||||
* This is used to determine whether we are faulting inside double
|
||||
* exception if this is not zero. Sometimes SoC starts with this not
|
||||
* being set to zero. So clear it during boot.
|
||||
*/
|
||||
XTENSA_WSR(ZSR_DEPC_SAVE_STR, 0);
|
||||
|
||||
arch_xtensa_mmu_post_init(_current_cpu->id == 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
/ {
|
||||
model = "Arduino Uno R4 Board";
|
||||
compatible = "renesas,r7fa4m1ab3cfm";
|
||||
compatible = "renesas,r7fa4m1aB3cfm";
|
||||
|
||||
chosen {
|
||||
zephyr,console = &uart2;
|
||||
|
||||
@@ -11,7 +11,6 @@ supported:
|
||||
- counter
|
||||
- netif:serial-net
|
||||
- gpio
|
||||
- watchdog
|
||||
testing:
|
||||
default: true
|
||||
vendor: arm
|
||||
|
||||
@@ -81,18 +81,14 @@
|
||||
/* On-board antenna pinmux states */
|
||||
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;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -42,33 +42,18 @@
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* The BeagleConnect Freedom 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 DIO29 DIO30
|
||||
* =========== ===== =====
|
||||
* Off 0 0
|
||||
* Sub-1 GHz 0 1 // DIO30 mux to IOC_PORT_RFC_GPO0 for auto
|
||||
* 20 dBm TX 1 0 // DIO29 mux to IOC_PORT_RFC_GPO3 for auto
|
||||
*/
|
||||
antenna_mux0: antenna_mux0 {
|
||||
compatible = "skyworks,sky13317";
|
||||
status = "okay";
|
||||
gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>, <&gpio0 30 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-0 = <&board_ant_tx_pa_off &board_ant_subg_off>;
|
||||
pinctrl-1 = <&board_ant_tx_pa_off &board_ant_subg_on>;
|
||||
pinctrl-2 = <&board_ant_tx_pa_on &board_ant_subg_on>;
|
||||
pinctrl-names = "default", "ant_subg", "ant_subg_pa";
|
||||
};
|
||||
|
||||
leds: leds {
|
||||
compatible = "gpio-leds";
|
||||
led0: led_0 {
|
||||
gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>; // 2.4GHz TX/RX
|
||||
};
|
||||
|
||||
/* U.FL connector switch */
|
||||
rf_sw: rf_sw {
|
||||
gpios =
|
||||
<&gpio0 29 GPIO_ACTIVE_HIGH>, // SubG TX +20dB
|
||||
<&gpio0 30 GPIO_ACTIVE_HIGH>; // SubG TX/RX 0dB
|
||||
};
|
||||
};
|
||||
|
||||
sens_i2c: sensor-switch {
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
/*
|
||||
/* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 Florin Stancu
|
||||
* Copyright (c) 2021 Jason Kridner, BeagleBoard.org Foundation
|
||||
* Copyright (c) 2024 Ayush Singh <ayush@beagleboard.org>
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -11,108 +10,107 @@
|
||||
* switch.
|
||||
*/
|
||||
|
||||
#define DT_DRV_COMPAT skyworks_sky13317
|
||||
|
||||
#include <zephyr/init.h>
|
||||
#include <zephyr/kernel.h>
|
||||
#include <zephyr/device.h>
|
||||
#include <zephyr/drivers/gpio.h>
|
||||
#include <zephyr/drivers/pinctrl.h>
|
||||
#include <zephyr/init.h>
|
||||
|
||||
#include <ti/drivers/rf/RF.h>
|
||||
#include <driverlib/gpio.h>
|
||||
#include <driverlib/ioc.h>
|
||||
#include <driverlib/rom.h>
|
||||
#include <driverlib/interrupt.h>
|
||||
|
||||
/* custom pinctrl states for the antenna mux */
|
||||
#define PINCTRL_STATE_ANT_SUBG 1
|
||||
#define PINCTRL_STATE_ANT_SUBG_PA 2
|
||||
/* DIOs for RF antenna paths */
|
||||
#define BOARD_RF_HIGH_PA 29 /* TODO: pull from DT */
|
||||
#define BOARD_RF_SUB1GHZ 30 /* TODO: pull from DT */
|
||||
|
||||
#define BOARD_ANT_GPIO_PA 0
|
||||
#define BOARD_ANT_GPIO_SUBG 1
|
||||
static void board_cc13xx_rf_callback(RF_Handle client, RF_GlobalEvent events,
|
||||
void *arg);
|
||||
|
||||
static int board_antenna_init(const struct device *dev);
|
||||
static void board_cc13xx_rf_callback(RF_Handle client, RF_GlobalEvent events, void *arg);
|
||||
|
||||
const RFCC26XX_HWAttrsV2 RFCC26XX_hwAttrs = {
|
||||
.hwiPriority = INT_PRI_LEVEL7,
|
||||
.swiPriority = 0,
|
||||
.hwiPriority = INT_PRI_LEVEL7,
|
||||
.swiPriority = 0,
|
||||
.xoscHfAlwaysNeeded = true,
|
||||
/* RF driver callback for custom antenna switching */
|
||||
.globalCallback = board_cc13xx_rf_callback,
|
||||
/* Subscribe to events */
|
||||
.globalEventMask = (RF_GlobalEventRadioSetup | RF_GlobalEventRadioPowerDown),
|
||||
.globalEventMask = (RF_GlobalEventRadioSetup |
|
||||
RF_GlobalEventRadioPowerDown),
|
||||
};
|
||||
|
||||
PINCTRL_DT_INST_DEFINE(0);
|
||||
DEVICE_DT_INST_DEFINE(0, board_antenna_init, NULL, NULL, NULL, POST_KERNEL,
|
||||
CONFIG_BOARD_ANTENNA_INIT_PRIO, NULL);
|
||||
|
||||
static const struct pinctrl_dev_config *ant_pcfg = PINCTRL_DT_INST_DEV_CONFIG_GET(0);
|
||||
static const struct gpio_dt_spec ant_gpios[] = {
|
||||
DT_FOREACH_PROP_ELEM_SEP(DT_NODELABEL(antenna_mux0), gpios, GPIO_DT_SPEC_GET_BY_IDX, (,))};
|
||||
|
||||
/**
|
||||
* Antenna switch GPIO init routine.
|
||||
*/
|
||||
static int board_antenna_init(const struct device *dev)
|
||||
static int board_antenna_init(void)
|
||||
{
|
||||
ARG_UNUSED(dev);
|
||||
int i;
|
||||
|
||||
/* default pinctrl configuration: set all antenna mux control pins as GPIOs */
|
||||
pinctrl_apply_state(ant_pcfg, PINCTRL_STATE_DEFAULT);
|
||||
/* set all GPIOs to 0 (all RF paths disabled) */
|
||||
for (i = 0; i < ARRAY_SIZE(ant_gpios); i++) {
|
||||
gpio_pin_configure_dt(&ant_gpios[i], 0);
|
||||
}
|
||||
/* set all paths to low */
|
||||
IOCPinTypeGpioOutput(BOARD_RF_HIGH_PA);
|
||||
GPIO_setOutputEnableDio(BOARD_RF_HIGH_PA, GPIO_OUTPUT_DISABLE);
|
||||
IOCPinTypeGpioOutput(BOARD_RF_SUB1GHZ);
|
||||
GPIO_setOutputEnableDio(BOARD_RF_SUB1GHZ, GPIO_OUTPUT_DISABLE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Custom TI RFCC26XX callback for switching the on-board antenna mux on radio setup.
|
||||
*/
|
||||
static void board_cc13xx_rf_callback(RF_Handle client, RF_GlobalEvent events, void *arg)
|
||||
{
|
||||
bool sub1GHz = false;
|
||||
uint8_t loDivider = 0;
|
||||
int i;
|
||||
SYS_INIT(board_antenna_init, POST_KERNEL, CONFIG_BOARD_ANTENNA_INIT_PRIO);
|
||||
|
||||
/* Clear all antenna switch GPIOs (for all cases). */
|
||||
for (i = 0; i < ARRAY_SIZE(ant_gpios); i++) {
|
||||
gpio_pin_configure_dt(&ant_gpios[i], 0);
|
||||
}
|
||||
void board_cc13xx_rf_callback(RF_Handle client, RF_GlobalEvent events, void *arg)
|
||||
{
|
||||
bool sub1GHz = false;
|
||||
uint8_t loDivider = 0;
|
||||
|
||||
/* Switch off all paths first. Needs to be done anyway in every sub-case below. */
|
||||
GPIO_setOutputEnableDio(BOARD_RF_HIGH_PA, GPIO_OUTPUT_DISABLE);
|
||||
GPIO_setOutputEnableDio(BOARD_RF_SUB1GHZ, GPIO_OUTPUT_DISABLE);
|
||||
|
||||
if (events & RF_GlobalEventRadioSetup) {
|
||||
/* Decode the current PA configuration. */
|
||||
RF_TxPowerTable_PAType paType =
|
||||
(RF_TxPowerTable_PAType)RF_getTxPower(client).paType;
|
||||
RF_TxPowerTable_PAType paType = (RF_TxPowerTable_PAType)
|
||||
RF_getTxPower(client).paType;
|
||||
/* Decode the generic argument as a setup command. */
|
||||
RF_RadioSetup *setupCommand = (RF_RadioSetup *)arg;
|
||||
|
||||
switch (setupCommand->common.commandNo) {
|
||||
case CMD_RADIO_SETUP:
|
||||
case CMD_BLE5_RADIO_SETUP:
|
||||
case (CMD_RADIO_SETUP):
|
||||
case (CMD_BLE5_RADIO_SETUP):
|
||||
loDivider = RF_LODIVIDER_MASK & setupCommand->common.loDivider;
|
||||
/* Sub-1GHz front-end. */
|
||||
if (loDivider != 0)
|
||||
sub1GHz = true;
|
||||
break;
|
||||
case CMD_PROP_RADIO_DIV_SETUP:
|
||||
case (CMD_PROP_RADIO_DIV_SETUP):
|
||||
loDivider = RF_LODIVIDER_MASK & setupCommand->prop_div.loDivider;
|
||||
/* Sub-1GHz front-end. */
|
||||
if (loDivider != 0)
|
||||
sub1GHz = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
sub1GHz = (loDivider != 0);
|
||||
|
||||
if (sub1GHz) {
|
||||
if (paType == RF_TxPowerTable_HighPA) {
|
||||
/* Note: RFC_GPO3 is a work-around because the RFC_GPO1 */
|
||||
/* is sometimes not de-asserted on CC1352 Rev A. */
|
||||
pinctrl_apply_state(ant_pcfg, PINCTRL_STATE_ANT_SUBG_PA);
|
||||
} else {
|
||||
pinctrl_apply_state(ant_pcfg, PINCTRL_STATE_ANT_SUBG);
|
||||
/* Manually set the sub-GHZ antenna switch DIO */
|
||||
gpio_pin_configure_dt(&ant_gpios[BOARD_ANT_GPIO_SUBG], 1);
|
||||
}
|
||||
/* Sub-1 GHz */
|
||||
if (paType == RF_TxPowerTable_HighPA) {
|
||||
/* PA enable --> HIGH PA */
|
||||
/* LNA enable --> Sub-1 GHz */
|
||||
/* Note: RFC_GPO3 is a work-around because the RFC_GPO1 */
|
||||
/* is sometimes not de-asserted on CC1352 Rev A. */
|
||||
IOCPortConfigureSet(BOARD_RF_HIGH_PA,
|
||||
IOC_PORT_RFC_GPO3, IOC_IOMODE_NORMAL);
|
||||
IOCPortConfigureSet(BOARD_RF_SUB1GHZ,
|
||||
IOC_PORT_RFC_GPO0, IOC_IOMODE_NORMAL);
|
||||
} else {
|
||||
/* RF core active --> Sub-1 GHz */
|
||||
IOCPortConfigureSet(BOARD_RF_HIGH_PA,
|
||||
IOC_PORT_GPIO, IOC_IOMODE_NORMAL);
|
||||
IOCPortConfigureSet(BOARD_RF_SUB1GHZ,
|
||||
IOC_PORT_GPIO, IOC_IOMODE_NORMAL);
|
||||
GPIO_setOutputEnableDio(BOARD_RF_SUB1GHZ, GPIO_OUTPUT_ENABLE);
|
||||
}
|
||||
} else {
|
||||
pinctrl_apply_state(ant_pcfg, PINCTRL_STATE_DEFAULT);
|
||||
/* Reset the IO multiplexer to GPIO functionality */
|
||||
IOCPortConfigureSet(BOARD_RF_HIGH_PA,
|
||||
IOC_PORT_GPIO, IOC_IOMODE_NORMAL);
|
||||
IOCPortConfigureSet(BOARD_RF_SUB1GHZ,
|
||||
IOC_PORT_GPIO, IOC_IOMODE_NORMAL);
|
||||
}
|
||||
}
|
||||
|
||||
BIN
boards/ct/ctcc/doc/img/ctcc_nrf52840.webp
Normal file
BIN
boards/ct/ctcc/doc/img/ctcc_nrf52840.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 30 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 31 KiB |
@@ -21,17 +21,12 @@ This board has following features:
|
||||
* :abbr:`USB (Universal Serial Bus)`
|
||||
* :abbr:`WDT (Watchdog Timer)`
|
||||
|
||||
.. figure:: img/ctcc_nrf52840_mpcie.webp
|
||||
.. figure:: img/ctcc_nrf52840.webp
|
||||
:align: center
|
||||
:alt: CTCC nRF52840 mPCIe
|
||||
:width: 300
|
||||
:alt: CTCC nRF52840
|
||||
|
||||
ctcc/nrf52840 mPCie board
|
||||
|
||||
.. figure:: img/ctcc_nrf52840_m2.webp
|
||||
:align: center
|
||||
:alt: CTCC nRF52840 M.2
|
||||
|
||||
ctcc/nrf52840 M.2 board
|
||||
ctcc/nrf52840 board target
|
||||
|
||||
More information about the board can be found at the
|
||||
`ctcc_nrf52840 Website`_ and for SoC information: `Nordic Semiconductor Infocenter`_.
|
||||
|
||||
@@ -141,10 +141,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -141,10 +141,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -463,10 +463,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -116,10 +116,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -146,10 +146,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -112,10 +112,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -112,10 +112,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -161,10 +161,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -161,10 +161,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -527,10 +527,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -79,10 +79,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -120,10 +120,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -67,10 +67,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -181,10 +181,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 51 KiB |
@@ -19,8 +19,9 @@ Hardware
|
||||
|
||||
For more information about the CYW20829 SoC and CYW920829M2EVK-02 board:
|
||||
|
||||
- `CYW20829 SoC Website`_
|
||||
- `CYW920829M2EVK-02 Board Website`_
|
||||
- `CYW920829M2EVK-02 Website`_
|
||||
- `CYW920829M2EVK-02 BT User Guide`_
|
||||
|
||||
|
||||
Kit Features:
|
||||
=============
|
||||
@@ -85,76 +86,51 @@ To fetch Binary Blobs:
|
||||
Build blinking led sample
|
||||
*************************
|
||||
|
||||
Here is an example for building the :zephyr:code-sample:`blinky` sample application.
|
||||
Here is an example for the :zephyr:code-sample:`blinky` application.
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/basic/blinky
|
||||
:board: cyw920829m2evk_02
|
||||
:goals: build
|
||||
:goals: build flash
|
||||
|
||||
OpenOCD Installation
|
||||
====================
|
||||
|
||||
To get the OpenOCD package, it is required that you
|
||||
|
||||
1. Download and install the `ModusToolbox`_ software.
|
||||
2. After the installation, add the directory containing the OpenOCD scripts to your environment's PATH variable.
|
||||
|
||||
|
||||
Programming and Debugging
|
||||
*************************
|
||||
|
||||
The CYW920829M2EVK-02 includes an onboard programmer/debugger (`KitProg3`_) to provide debugging, flash programming, and serial communication over USB. Flash and debug commands use OpenOCD and require a custom Infineon OpenOCD version, that supports KitProg3, to be installed.
|
||||
The CYW920829M2EVK-02 includes an onboard programmer/debugger (KitProg3) to provide debugging, flash programming, and serial communication over USB. Flash and debug commands must be pointed to the Cypress OpenOCD you downloaded above.
|
||||
|
||||
Infineon OpenOCD Installation
|
||||
=============================
|
||||
On Windows:
|
||||
|
||||
Both the full `ModusToolbox`_ and the `ModusToolbox Programming Tools`_ packages include Infineon OpenOCD. Installing either of these packages will also install Infineon OpenOCD. If neither package is installed, a minimal installation can be done by downloading the `Infineon OpenOCD`_ release for your system and manually extract the files to a location of your choice.
|
||||
.. code-block:: shell
|
||||
|
||||
.. note:: Linux requires device access rights to be set up for KitProg3. This is handled automatically by the ModusToolbox and ModusToolbox Programming Tools installations. When doing a minimal installation, this can be done manually by executing the script ``openocd/udev_rules/install_rules.sh``.
|
||||
west flash --openocd path/to/infineon/openocd/bin/openocd.exe
|
||||
west debug --openocd path/to/infineon/openocd/bin/openocd.exe
|
||||
|
||||
West Commands
|
||||
=============
|
||||
On Linux:
|
||||
|
||||
The path to the installed Infineon OpenOCD executable must be available to the ``west`` tool commands. There are multiple ways of doing this. The example below uses a permanent CMake argument to set the CMake variable ``OPENOCD``.
|
||||
.. code-block:: shell
|
||||
|
||||
.. tabs::
|
||||
.. group-tab:: Windows
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
# Run west config once to set permanent CMake argument
|
||||
west config build.cmake-args -- -DOPENOCD=path/to/infineon/openocd/bin/openocd.exe
|
||||
|
||||
# Do a pristine build once after setting CMake argument
|
||||
west build -b cyw920829m2evk_02 -p always samples/basic/blinky
|
||||
|
||||
west flash
|
||||
west debug
|
||||
|
||||
.. group-tab:: Linux
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
# Run west config once to set permanent CMake argument
|
||||
west config build.cmake-args -- -DOPENOCD=path/to/infineon/openocd/bin/openocd
|
||||
|
||||
# Do a pristine build once after setting CMake argument
|
||||
west build -b cyw920829m2evk_02 -p always samples/basic/blinky
|
||||
|
||||
west flash
|
||||
west debug
|
||||
west flash --openocd path/to/infineon/openocd/bin/openocd
|
||||
west debug --openocd path/to/infineon/openocd/bin/openocd
|
||||
|
||||
Once the gdb console starts after executing the west debug command, you may now set breakpoints and perform other standard GDB debugging on the CYW20829 CM33 core.
|
||||
|
||||
.. _CYW20829 SoC Website:
|
||||
.. _CYW920829M2EVK-02 Website:
|
||||
https://www.infineon.com/cms/en/product/wireless-connectivity/airoc-bluetooth-le-bluetooth-multiprotocol/airoc-bluetooth-le/cyw20829/
|
||||
|
||||
.. _CYW920829M2EVK-02 Board Website:
|
||||
https://www.infineon.com/cms/en/product/evaluation-boards/cyw920829m2evk-02/
|
||||
|
||||
.. _CYW920829M2EVK-02 BT User Guide:
|
||||
https://www.infineon.com/cms/en/product/wireless-connectivity/airoc-bluetooth-le-bluetooth-multiprotocol/airoc-bluetooth-le/cyw20829/#!?fileId=8ac78c8c8929aa4d018a16f726c46b26
|
||||
|
||||
.. _ModusToolbox:
|
||||
https://softwaretools.infineon.com/tools/com.ifx.tb.tool.modustoolbox
|
||||
|
||||
.. _ModusToolbox Programming Tools:
|
||||
https://softwaretools.infineon.com/tools/com.ifx.tb.tool.modustoolboxprogtools
|
||||
|
||||
.. _Infineon OpenOCD:
|
||||
https://github.com/Infineon/openocd/releases/latest
|
||||
|
||||
.. _KitProg3:
|
||||
https://github.com/Infineon/KitProg3
|
||||
https://github.com/infineon/openocd/releases/tag/release-v4.3.0
|
||||
|
||||
@@ -111,9 +111,9 @@ There are two options to be used when building an application:
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code-block:: cfg
|
||||
.. code-block:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -108,10 +108,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -134,10 +134,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -160,10 +160,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -109,10 +109,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -78,10 +78,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -2,6 +2,4 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_MT8195_ADSP
|
||||
select SOC_MT8195_ADSP
|
||||
help
|
||||
Board with Mediatek MT8195 Audio DSP
|
||||
bool "Mediatek MT8195 Audio DSP"
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
# Copyright 2023 The ChromiumOS Authors
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
CONFIG_SOC_SERIES_MT8195_ADSP=y
|
||||
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=13000000
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
#include "phy_sync_ctrl.h"
|
||||
#include "nsi_hw_scheduler.h"
|
||||
#include "nsi_cpu_ctrl.h"
|
||||
#include "nsi_host_trampolines.h"
|
||||
|
||||
/*
|
||||
* These hooks are to be named nsif_cpu<cpu_number>_<hook_name>, for example nsif_cpu0_boot
|
||||
@@ -56,8 +55,8 @@ NATIVE_SIMULATOR_IF void nsif_cpun_save_test_arg(char *argv)
|
||||
{
|
||||
if (test_args.test_case_argc >= test_args.allocated_size) {
|
||||
test_args.allocated_size += TESTCASAE_ARGV_ALLOCSIZE;
|
||||
test_args.test_case_argv = nsi_host_realloc(test_args.test_case_argv,
|
||||
test_args.allocated_size * sizeof(char *));
|
||||
test_args.test_case_argv = realloc(test_args.test_case_argv,
|
||||
test_args.allocated_size * sizeof(char *));
|
||||
if (test_args.test_case_argv == NULL) { /* LCOV_EXCL_BR_LINE */
|
||||
bs_trace_error_line("Can't allocate memory\n"); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
@@ -71,7 +70,7 @@ NATIVE_SIMULATOR_IF void nsif_cpun_save_test_arg(char *argv)
|
||||
static void test_args_free(void)
|
||||
{
|
||||
if (test_args.test_case_argv) {
|
||||
nsi_host_free(test_args.test_case_argv);
|
||||
free(test_args.test_case_argv);
|
||||
test_args.test_case_argv = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,17 +20,11 @@ The nRF54H20 is a multicore SoC with:
|
||||
Extensions, running at up to 320 MHz, referred to as the **application core**
|
||||
* an Arm Cortex-M33 core with DSP instructions, FPU, and Armv8-M Security
|
||||
Extensions, running at up to 256 MHz, referred to as the **radio core**.
|
||||
* a Nordic VPR RISC-V core, referred to as the **ppr core** (Peripheral
|
||||
Processor).
|
||||
|
||||
The ``nrf54h20dk/nrf54h20/cpuapp`` build target provides support for
|
||||
the application core on the nRF54H20 SoC.
|
||||
The ``nrf54h20dk/nrf54h20/cpurad`` build target provides support for
|
||||
the radio core on the nRF54H20 SoC.
|
||||
The ``nrf54h20dk/nrf54h20/cpuppr`` build target provides support for
|
||||
the PPR core on the nRF54H20 SoC executing from RAM.
|
||||
The ``nrf54h20dk/nrf54h20/cpuppr/xip`` build target provides support for
|
||||
the PPR core on the nRF54H20 SoC executing from MRAM.
|
||||
|
||||
nRF54H20 SoC provides support for the following devices:
|
||||
|
||||
@@ -121,10 +115,10 @@ Push buttons
|
||||
Programming and Debugging
|
||||
*************************
|
||||
|
||||
Applications for all targets can be built and flashed the usual way.
|
||||
See :ref:`build_an_application` and :ref:`application_run` for more details on
|
||||
building and running. Debugging is for now limited to the application and radio
|
||||
cores only, using :ref:`nordic_segger`.
|
||||
Applications for both the ``nrf54h20dk/nrf54h20/cpuapp`` and
|
||||
``nrf54h20dk/nrf54h20/cpurad`` targets can be built, flashed,
|
||||
and debugged in the usual way. See :ref:`build_an_application`
|
||||
and :ref:`application_run` for more details on building and running.
|
||||
|
||||
Flashing
|
||||
========
|
||||
@@ -132,10 +126,13 @@ Flashing
|
||||
As an example, this section shows how to build and flash the :ref:`hello_world`
|
||||
application.
|
||||
|
||||
Follow the instructions in the :ref:`nordic_segger` page to install
|
||||
and configure all the necessary software. Further information can be
|
||||
found in :ref:`nordic_segger_flashing`.
|
||||
|
||||
To build and program the sample to the nRF54H20 DK, complete the following steps:
|
||||
|
||||
1. Connect the nRF54H20 DK to your computer using the IMCU USB port on the DK.
|
||||
2. Install `nRF Util`_
|
||||
#. Build the sample by running the following command:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
@@ -155,6 +152,3 @@ on the board are working properly with Zephyr:
|
||||
You can build and flash the examples to make sure Zephyr is running correctly on
|
||||
your board. The button and LED definitions can be found in
|
||||
:zephyr_file:`boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp.dts`.
|
||||
|
||||
.. _nRF Util:
|
||||
https://www.nordicsemi.com/Products/Development-tools/nrf-util
|
||||
|
||||
@@ -84,7 +84,7 @@ The FRDM-MCXN947 board configuration supports the following hardware features:
|
||||
+-----------+------------+-------------------------------------+
|
||||
| USDHC | on-chip | sdhc |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| VREF | on-chip | regulator |
|
||||
| VREF | on-chip | REGULATOR |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| ADC | on-chip | adc |
|
||||
+-----------+------------+-------------------------------------+
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
w25q512jvfiq: w25q512jvfiq@0 {
|
||||
compatible = "nxp,imx-flexspi-nor";
|
||||
reg = <0>;
|
||||
size = <DT_SIZE_M(64 * 8)>;
|
||||
size = <(DT_SIZE_M(512) / 8)>;
|
||||
status = "okay";
|
||||
erase-block-size = <4096>;
|
||||
write-block-size = <1>;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2022,2024 NXP
|
||||
* Copyright (c) 2022, NXP
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
*/
|
||||
@@ -12,7 +12,7 @@
|
||||
pinmux = <&iomuxc_uart2_rxd_uart_rx_uart2_rx>,
|
||||
<&iomuxc_uart2_txd_uart_tx_uart2_tx>;
|
||||
slew-rate = "fast";
|
||||
drive-strength = "x6";
|
||||
drive-strength = "40-ohm";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
pinmux = <&iomuxc_uart4_rxd_uart_rx_uart4_rx>,
|
||||
<&iomuxc_uart4_txd_uart_tx_uart4_tx>;
|
||||
slew-rate = "fast";
|
||||
drive-strength = "x6";
|
||||
drive-strength = "40-ohm";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2022,2024 NXP
|
||||
* Copyright 2022 NXP
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
*/
|
||||
@@ -12,7 +12,7 @@
|
||||
pinmux = <&iomuxc_uart2_rxd_uart_rx_uart2_rx>,
|
||||
<&iomuxc_uart2_txd_uart_tx_uart2_tx>;
|
||||
slew-rate = "fast";
|
||||
drive-strength = "x6";
|
||||
drive-strength = "40-ohm";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
pinmux = <&iomuxc_uart4_rxd_uart_rx_uart4_rx>,
|
||||
<&iomuxc_uart4_txd_uart_tx_uart4_tx>;
|
||||
slew-rate = "fast";
|
||||
drive-strength = "x6";
|
||||
drive-strength = "40-ohm";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -181,11 +181,6 @@ At compilation time you have to choose which RAM will be used. This
|
||||
configuration is done based on board name (imx8mp_evk/mimx8ml8/m7 for ITCM and
|
||||
imx8mp_evk/mimx8ml8/m7/ddr for DDR).
|
||||
|
||||
There are two methods to load M7 Core images: U-Boot command and Linux remoteproc.
|
||||
|
||||
Load and Run M7 Zephyr Image from U-Boot
|
||||
========================================
|
||||
|
||||
Load and run Zephyr on M7 from A53 using u-boot by copying the compiled
|
||||
``zephyr.bin`` to the first FAT partition of the SD card and plug the SD
|
||||
card into the board. Power it up and stop the u-boot execution at prompt.
|
||||
@@ -193,7 +188,7 @@ card into the board. Power it up and stop the u-boot execution at prompt.
|
||||
Load the M7 binary onto the desired memory and start its execution using:
|
||||
|
||||
ITCM
|
||||
====
|
||||
===
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
@@ -210,86 +205,6 @@ DDR
|
||||
dcache flush
|
||||
bootaux 0x80000000
|
||||
|
||||
Load and Run M7 Zephyr Image by using Linux remoteproc
|
||||
======================================================
|
||||
|
||||
Prepare device tree:
|
||||
|
||||
The device tree must inlcude CM7 dts node with compatible string "fsl,imx8mn-cm7",
|
||||
and also need to reserve M4 DDR memory if using DDR code and sys address, and also
|
||||
need to put "m4_reserved" in the list of memory-region property of the cm7 node.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
m7_reserved: m4@80000000 {
|
||||
no-map;
|
||||
reg = <0 0x80000000 0 0x1000000>;
|
||||
};
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
imx8mp-cm7 {
|
||||
compatible = "fsl,imx8mn-cm7";
|
||||
rsc-da = <0x55000000>;
|
||||
clocks = <&clk IMX8MP_CLK_M7_DIV>,
|
||||
<&audio_blk_ctrl IMX8MP_CLK_AUDIO_BLK_CTRL_AUDPLL_ROOT>;
|
||||
clock-names = "core", "audio";
|
||||
mbox-names = "tx", "rx", "rxdb";
|
||||
mboxes = <&mu 0 1
|
||||
&mu 1 1
|
||||
&mu 3 1>;
|
||||
memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>, <&m7_reserved>;
|
||||
status = "okay";
|
||||
fsl,startup-delay-ms = <500>;
|
||||
};
|
||||
|
||||
Extra Zephyr Kernel configure item for DDR Image:
|
||||
|
||||
If use remotepoc to boot DDR board (imx8mp_evk/mimx8ml8/m7/ddr), also need to enable
|
||||
"CONFIG_ROMSTART_RELOCATION_ROM" in order to put romstart memory section into ITCM because
|
||||
M7 Core will get the first instruction from zero address of ITCM, but romstart relocation
|
||||
will make the storage size of zephyr.bin too large, so we don't enable it by default in
|
||||
board defconfig.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
diff --git a/boards/nxp/imx8mp_evk/imx8mp_evk_mimx8ml8_m7_ddr_defconfig b/boards/nxp/imx8mp_evk/imx8mp_evk_mimx8ml8_m7_ddr_defconfig
|
||||
index 17542cb4eec..8c30c5b6fa3 100644
|
||||
--- a/boards/nxp/imx8mp_evk/imx8mp_evk_mimx8ml8_m7_ddr_defconfig
|
||||
+++ b/boards/nxp/imx8mp_evk/imx8mp_evk_mimx8ml8_m7_ddr_defconfig
|
||||
@@ -12,3 +12,4 @@ CONFIG_CONSOLE=y
|
||||
CONFIG_XIP=y
|
||||
CONFIG_CODE_DDR=y
|
||||
CONFIG_PINCTRL=y
|
||||
+CONFIG_ROMSTART_RELOCATION_ROM=y
|
||||
|
||||
Then use the following steps to boot Zephyr kernel:
|
||||
|
||||
1. In U-Boot command line execute prepare script:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
u-boot=> run prepare_mcore
|
||||
|
||||
2. Boot Linux kernel with specified dtb and then boot Zephyr by using remoteproc:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
root@imx8mp-lpddr4-evk:~# echo zephyr.elf > /sys/devices/platform/imx8mp-cm7/remoteproc/remoteproc0/firmware
|
||||
root@imx8mp-lpddr4-evk:~# echo start > /sys/devices/platform/imx8mp-cm7/remoteproc/remoteproc0/state
|
||||
[ 39.195651] remoteproc remoteproc0: powering up imx-rproc
|
||||
[ 39.203345] remoteproc remoteproc0: Booting fw image zephyr.elf, size 503992
|
||||
[ 39.203388] remoteproc remoteproc0: No resource table in elf
|
||||
root@imx8mp-lpddr4-evk:~# [ 39.711380] remoteproc remoteproc0: remote processor imx-rproc is now up
|
||||
|
||||
root@imx8mp-lpddr4-evk:~#
|
||||
|
||||
Debugging
|
||||
=========
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#
|
||||
|
||||
identifier: imx93_evk/mimx9352/a55
|
||||
name: NXP i.MX93 EVK A55
|
||||
name: NXP i.MX93 Plus EVK A55
|
||||
type: mcu
|
||||
arch: arm64
|
||||
toolchain:
|
||||
|
||||
@@ -23,5 +23,4 @@ supported:
|
||||
- i2c
|
||||
- spi
|
||||
- usb_device
|
||||
- usbd
|
||||
vendor: nxp
|
||||
|
||||
@@ -19,6 +19,4 @@ supported:
|
||||
- gpio
|
||||
- pwm
|
||||
- dac
|
||||
- usb_device
|
||||
- usbd
|
||||
vendor: nxp
|
||||
|
||||
@@ -169,7 +169,6 @@
|
||||
drive-strength = "normal";
|
||||
drive-open-drain;
|
||||
slew-rate = "fast";
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
|
||||
&lpi2c5 {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&pinmux_lpi2c5>;
|
||||
pinctrl-0 = <&pinmux_lpi2c1>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
fxos8700: fxos8700@1f {
|
||||
@@ -178,7 +178,7 @@
|
||||
};
|
||||
|
||||
&lpi2c1 {
|
||||
pinctrl-0 =<&pinmux_lpi2c1>;
|
||||
pinctrl-0 =<&pinmux_lpi2c5>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
|
||||
@@ -363,6 +363,9 @@ Using LinkServer
|
||||
----------------
|
||||
|
||||
Known limitations with LinkServer and these boards include:
|
||||
- ``west debug`` does not yet work correctly, and the application image is not
|
||||
properly written to the memory. `NXP MCUXpresso for Visual Studio Code`_
|
||||
can be used to debug Zephyr applications with LinkServer.
|
||||
- ``west flash`` will not write images to non-flash locations. The flash
|
||||
command only works when all data in the image is written to flash memory
|
||||
regions.
|
||||
|
||||
@@ -148,14 +148,6 @@ nxp_mipi_i2c: &lpi2c5 {
|
||||
|
||||
zephyr_udc0: &usb1 {
|
||||
status = "okay";
|
||||
phy_handle = <&usbphy1>;
|
||||
};
|
||||
|
||||
&usbphy1 {
|
||||
status = "okay";
|
||||
tx-d-cal = <7>;
|
||||
tx-cal-45-dp-ohms = <6>;
|
||||
tx-cal-45-dm-ohms = <6>;
|
||||
};
|
||||
|
||||
&mailbox_a {
|
||||
|
||||
@@ -29,5 +29,4 @@ supported:
|
||||
- usb_device
|
||||
- watchdog
|
||||
- video
|
||||
- usbd
|
||||
vendor: nxp
|
||||
|
||||
@@ -414,11 +414,11 @@ zephyr_udc0: &usbhs {
|
||||
label = "image-0";
|
||||
reg = <0x00020000 (DT_SIZE_M(3) + DT_SIZE_K(98 * 4))>;
|
||||
};
|
||||
slot1_partition: partition@382000 {
|
||||
slot1_partition: partition@322000 {
|
||||
label = "image-1";
|
||||
reg = <0x00382000 DT_SIZE_M(3)>;
|
||||
};
|
||||
storage_partition: partition@682000 {
|
||||
storage_partition: partition@622000 {
|
||||
label = "storage";
|
||||
reg = <0x00682000 (DT_SIZE_M(58) - DT_SIZE_K(520))>;
|
||||
};
|
||||
|
||||
@@ -275,11 +275,11 @@ i2s1: &flexcomm3 {
|
||||
label = "image-0";
|
||||
reg = <0x00020000 (DT_SIZE_M(3) + DT_SIZE_K(98 * 4))>;
|
||||
};
|
||||
slot1_partition: partition@382000 {
|
||||
slot1_partition: partition@322000 {
|
||||
label = "image-1";
|
||||
reg = <0x00382000 DT_SIZE_M(3)>;
|
||||
};
|
||||
storage_partition: partition@682000 {
|
||||
storage_partition: partition@622000 {
|
||||
label = "storage";
|
||||
reg = <0x00682000 (DT_SIZE_M(58) - DT_SIZE_K(520))>;
|
||||
};
|
||||
|
||||
@@ -136,10 +136,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -123,10 +123,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
pinmux = <&iomuxc_uart4_rxd_uart_rx_uart4_rx>,
|
||||
<&iomuxc_uart4_txd_uart_tx_uart4_tx>;
|
||||
slew-rate = "fast";
|
||||
drive-strength = "x6";
|
||||
drive-strength = "40-ohm";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
pinmux = <&iomuxc_uart3_rxd_uart_rx_uart3_rx>,
|
||||
<&iomuxc_uart3_txd_uart_tx_uart3_tx>;
|
||||
slew-rate = "fast";
|
||||
drive-strength = "x6";
|
||||
drive-strength = "40-ohm";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<&iomuxc_sai3_txfs_uart_tx_uart2_rx>,
|
||||
<&iomuxc_sai3_txc_uart_rx_uart2_tx>;
|
||||
slew-rate = "fast";
|
||||
drive-strength = "x6";
|
||||
drive-strength = "40-ohm";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<&iomuxc_sai2_rxd0_uart_rts_b_uart1_rts_b>,
|
||||
<&iomuxc_sai2_txfs_uart_cts_b_uart1_cts_b>;
|
||||
slew-rate = "fast";
|
||||
drive-strength = "x6";
|
||||
drive-strength = "40-ohm";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -44,15 +44,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
/omit-if-no-ref/ i2c_sleep: i2c_sleep {
|
||||
group1 {
|
||||
pinmux = <SMARTBOND_PINMUX(GPIO, 0, 31)>,
|
||||
<SMARTBOND_PINMUX(GPIO, 0, 30)>;
|
||||
bias-pull-up;
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
i2c2_default: i2c2_default {
|
||||
group1 {
|
||||
pinmux = <SMARTBOND_PINMUX(I2C2_SDA, 0, 19)>,
|
||||
@@ -61,14 +52,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
/omit-if-no-ref/ i2c2_sleep: i2c2_sleep {
|
||||
group1 {
|
||||
pinmux = <SMARTBOND_PINMUX(GPIO, 0, 28)>,
|
||||
<SMARTBOND_PINMUX(GPIO, 0, 29)>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
/omit-if-no-ref/ spi_sleep: spi_sleep {
|
||||
group1 {
|
||||
pinmux = <SMARTBOND_PINMUX(GPIO, 0, 21)>,
|
||||
|
||||
@@ -189,15 +189,13 @@ zephyr_udc0: &usbd {
|
||||
&i2c {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&i2c_default>;
|
||||
pinctrl-1 = <&i2c_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&i2c2_default>;
|
||||
pinctrl-1 = <&i2c2_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&spi {
|
||||
|
||||
@@ -105,10 +105,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -120,10 +120,9 @@ There are two options to be used when building an application:
|
||||
|
||||
User can select the MCUboot bootloader by adding the following line
|
||||
to the board default configuration file.
|
||||
|
||||
.. code:: cfg
|
||||
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
@@ -57,7 +57,7 @@ GPIO interfaces (see :ref:`shields` for more details).
|
||||
Programming
|
||||
***********
|
||||
|
||||
Set ``--shield adafruit_2_8_tft_touch_v2`` when you invoke ``west build``. For example:
|
||||
Set ``-DSHIELD=adafruit_2_8_tft_touch_v2`` when you invoke ``west build``. For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/subsys/display/lvgl
|
||||
@@ -66,7 +66,7 @@ Set ``--shield adafruit_2_8_tft_touch_v2`` when you invoke ``west build``. For e
|
||||
:goals: build
|
||||
|
||||
If the shield is connected to a board which has Arduino Nano connector,
|
||||
set ``--shield adafruit_2_8_tft_touch_v2_nano`` when you invoke ``west build``.
|
||||
set ``-DSHIELD=adafruit_2_8_tft_touch_v2_nano`` when you invoke ``west build``.
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/subsys/display/lvgl
|
||||
|
||||
@@ -62,7 +62,7 @@ defines node aliases for SPI and GPIO interfaces (see :ref:`shields` for more de
|
||||
Programming
|
||||
***********
|
||||
|
||||
Set ``--shield adafruit_data_logger`` when you invoke ``west build``. For example:
|
||||
Set ``-DSHIELD=adafruit_data_logger`` when you invoke ``west build``. For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: tests/drivers/rtc/rtc_api
|
||||
|
||||
@@ -36,7 +36,7 @@ Programming
|
||||
LED Strip Example
|
||||
=================
|
||||
|
||||
Set ``--shield adafruit_neopixel_grid_bff`` when you invoke ``west build``. For example:
|
||||
Set ``-DSHIELD=adafruit_neopixel_grid_bff`` when you invoke ``west build``. For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/drivers/led_strip
|
||||
@@ -57,7 +57,7 @@ LED Display Matrix Example
|
||||
recommended if all of the LEDs are fully on for any significant amount of
|
||||
time.
|
||||
|
||||
Set ``--shield adafruit_neopixel_grid_bff_display`` when you invoke ``west build``. For example:
|
||||
Set ``-DSHIELD=adafruit_neopixel_grid_bff_display`` when you invoke ``west build``. For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/drivers/display
|
||||
|
||||
@@ -27,7 +27,7 @@ Pins Assignments
|
||||
Programming
|
||||
***********
|
||||
|
||||
Set ``--shield adafruit_pca9685`` when you invoke ``west build``.
|
||||
Set ``-DSHIELD=adafruit_pca9685`` when you invoke ``west build``.
|
||||
For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
|
||||
@@ -53,7 +53,7 @@ for Arduino connectors and defines node aliases for SPI and GPIO interfaces
|
||||
Programming
|
||||
***********
|
||||
|
||||
Set ``--shield adafruit_winc1500`` when you invoke ``west build``. For example:
|
||||
Set ``-DSHIELD=adafruit_winc1500`` when you invoke ``west build``. For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/net/wifi
|
||||
|
||||
@@ -145,7 +145,7 @@ The ``samples/sensor/amg88xx`` application demonstrates the basic usage of the
|
||||
Panasonic Grid-EYE sensor.
|
||||
|
||||
If you want to build the application you have to use the
|
||||
``--shield amg88xx_grid_eye_eval_shield`` shield designation accordingly when
|
||||
``-DSHIELD=amg88xx_grid_eye_eval_shield`` shield designation accordingly when
|
||||
you invoke ``west build``.
|
||||
|
||||
When using the PAN1780 evaluation board the build invocation looks like this:
|
||||
|
||||
@@ -39,7 +39,7 @@ Arduino header or custom header (by adjusting the overlay).
|
||||
Programming
|
||||
***********
|
||||
|
||||
Set ``--shield arceli_eth_w5500`` when you invoke ``west build``. For example:
|
||||
Set ``-DSHIELD=arceli_eth_w5500`` when you invoke ``west build``. For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/net/dhcpv4_client
|
||||
|
||||
@@ -38,7 +38,7 @@ socket is assigned the ``mikrobus_header`` node label.
|
||||
Programming
|
||||
***********
|
||||
|
||||
Include ``--shield arduino_uno_click`` when you invoke ``west build`` with
|
||||
Include ``-DSHIELD=arduino_uno_click`` when you invoke ``west build`` with
|
||||
other mikroBUS shields. For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
@@ -46,7 +46,7 @@ other mikroBUS shields. For example:
|
||||
:host-os: unix
|
||||
:board: sam_v71_xult/samv71q21
|
||||
:gen-args: -DOVERLAY_CONFIG=overlay-802154.conf
|
||||
:shield: arduino_uno_click,atmel_rf2xx_mikrobus
|
||||
:shield: "arduino_uno_click atmel_rf2xx_mikrobus"
|
||||
:goals: build
|
||||
|
||||
References
|
||||
|
||||
@@ -289,7 +289,7 @@ config file. See :zephyr:code-sample:`sockets-echo-server` and
|
||||
Build and Programming
|
||||
*********************
|
||||
|
||||
Set ``--shield <shield designator>`` when you invoke ``west build``.
|
||||
Set ``-DSHIELD=<shield designator>`` when you invoke ``west build``.
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/net/sockets/echo_server
|
||||
|
||||
@@ -23,7 +23,7 @@ BoosterPack connectors.
|
||||
Programming
|
||||
***********
|
||||
|
||||
Set ``--shield boostxl_ulpsense`` when you invoke ``west build``. For example:
|
||||
Set ``-DSHIELD=boostxl_ulpsense`` when you invoke ``west build``. For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/sensor/accel_polling/
|
||||
|
||||
@@ -56,7 +56,7 @@ for Arduino connectors and defines node aliases for SPI and GPIO interfaces
|
||||
Programming
|
||||
***********
|
||||
|
||||
Set ``--shield buydisplay_2_8_tft_touch_arduino`` when you invoke
|
||||
Set ``-DSHIELD=buydisplay_2_8_tft_touch_arduino`` when you invoke
|
||||
``west build``. For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
|
||||
@@ -58,7 +58,7 @@ for Arduino connectors and defines node aliases for SPI and GPIO interfaces
|
||||
Programming
|
||||
***********
|
||||
|
||||
Set ``--shield buydisplay_3_5_tft_touch_arduino`` when you invoke
|
||||
Set ``-DSHIELD=buydisplay_3_5_tft_touch_arduino`` when you invoke
|
||||
``west build``. For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
|
||||
@@ -75,7 +75,7 @@ connector with DVP (parallel) interface, such as the i.MX RT1050, RT1060, RT1064
|
||||
Programming
|
||||
***********
|
||||
|
||||
Set ``--shield dvp_fpc24_mt9m114`` when you invoke ``west build``. For example:
|
||||
Set ``-DSHIELD=dvp_fpc24_mt9m114`` when you invoke ``west build``. For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/subsys/video/capture
|
||||
|
||||
@@ -110,7 +110,7 @@ configurations should be used based on the board standard headers available.
|
||||
Build and Programming
|
||||
*********************
|
||||
|
||||
Set ``--shield <shield designation>`` when you invoke ``west build``.
|
||||
Set ``-DSHIELD=<shield designation>`` when you invoke ``west build``.
|
||||
|
||||
To build shield with specific overlay:
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ For more information about the MCR20A SoC and FRDM-CR20A board:
|
||||
Programming
|
||||
***********
|
||||
|
||||
Set ``--shield frdm_cr20a`` when you invoke ``west build``. For example:
|
||||
Set ``-DSHIELD=frdm_cr20a`` when you invoke ``west build``. For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/net/wpanusb
|
||||
|
||||
@@ -55,7 +55,7 @@ host controller interface (HCI):
|
||||
#. Attach the FRDM-KW41Z to the Arduino header on your selected main board,
|
||||
such as :ref:`mimxrt1050_evk` or :ref:`frdm_k64f`.
|
||||
|
||||
#. Set ``--shield frdm_kw41z`` when you invoke ``west build`` in
|
||||
#. Set ``-DSHIELD=frdm_kw41z`` when you invoke ``west build`` in
|
||||
your Zephyr bluetooth application. For example,
|
||||
|
||||
.. zephyr-app-commands::
|
||||
|
||||
@@ -52,7 +52,7 @@ board:
|
||||
Programming
|
||||
***********
|
||||
|
||||
Set ``--shield frdm_stbc_agm01`` when you invoke ``west build``. For example:
|
||||
Set ``-DSHIELD=frdm_stbc_agm01`` when you invoke ``west build``. For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/sensor/fxas21002
|
||||
|
||||
@@ -75,7 +75,7 @@ See :zephyr:code-sample:`ft800` sample for details.
|
||||
Build and Programming
|
||||
*********************
|
||||
|
||||
Set ``--shield <shield designator>`` when you invoke ``west build``.
|
||||
Set ``-DSHIELD=<shield designator>`` when you invoke ``west build``.
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/drivers/misc/ft800
|
||||
|
||||
@@ -50,7 +50,7 @@ for the 40 pin FPC interface
|
||||
Programming
|
||||
***********
|
||||
|
||||
Set ``--shield g1120b0mipi`` when you invoke ``west build``. For
|
||||
Set ``-DSHIELD=g1120b0mipi`` when you invoke ``west build``. For
|
||||
example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
|
||||
@@ -147,7 +147,7 @@ connect and send ping.
|
||||
Build and Programming
|
||||
*********************
|
||||
|
||||
Set ``--shield <shield designator>`` when you invoke ``west build``.
|
||||
Set ``-DSHIELD=<shield designator>`` when you invoke ``west build``.
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/net/wifi
|
||||
|
||||
@@ -22,7 +22,7 @@ enabled.
|
||||
Programming
|
||||
***********
|
||||
|
||||
Set ``--shield lcd_par_s035_8080`` when you invoke ``west build``. For
|
||||
Set ``-DSHIELD=lcd_par_s035_8080`` when you invoke ``west build``. For
|
||||
example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
|
||||
@@ -102,7 +102,7 @@ For more information about the link board ETH and ENC424J600:
|
||||
Programming
|
||||
***********
|
||||
|
||||
Set ``--shield link_board_eth`` when you invoke ``west build`` or ``cmake`` in your
|
||||
Set ``-DSHIELD=link_board_eth`` when you invoke ``west build`` or ``cmake`` in your
|
||||
Zephyr application. For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
|
||||
@@ -41,7 +41,7 @@ Zephyr RTOS includes one sample targeting the LMP90100 EVB:
|
||||
Programming
|
||||
***********
|
||||
|
||||
Set ``--shield lmp90100_evb`` when you invoke ``west build``. For example:
|
||||
Set ``-DSHIELD=lmp90100_evb`` when you invoke ``west build``. For example:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/shields/lmp90100_evb/rtd
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user