zephyr/west.yml

277 lines
8.2 KiB
YAML
Raw Normal View History

# The west manifest file for upstream Zephyr.
#
# The per-installation west configuration file, .west/config, sets the
# path to the project containing this file in the [manifest] section's
# "path" variable.
#
# You are free to create your own manifest files and put them in any
# repository you want, to create your own custom Zephyr installations.
# For example, you could create a manifest file in your own out of
# tree application directory, which would pull this zephyr repository
# in as an ordinary project.
#
# You can pass your manifest repositories to west init when creating a
# new Zephyr installation. See the west documentation for more
# information.
manifest:
defaults:
remote: upstream
remotes:
- name: upstream
url-base: https://github.com/zephyrproject-rtos
group-filter: [-babblesim]
#
# Please add items below based on alphabetical order
projects:
- name: bsim
repo-path: babblesim-manifest
revision: 908ffde6298a937c6549dbfa843a62caab26bfc5
import:
path-prefix: tools
- name: canopennode
revision: dec12fa3f0d790cafa8414a4c2930ea71ab72ffd
path: modules/lib/canopennode
- name: chre
revision: b7955c27e50485b7dafdc3888d7d6afdc2ac6d96
path: modules/lib/chre
- name: cmsis
revision: 74981bf893e8b10931464b9945e2143d99a3f0a3
path: modules/hal/cmsis
groups:
- hal
- name: edtt
revision: 64e5105ad82390164fb73fc654be3f73a608209a
path: tools/edtt
groups:
- tools
- name: fatfs
revision: 427159bf95ea49b7680facffaa29ad506b42709b
path: modules/fs/fatfs
groups:
- fs
- name: hal_altera
revision: 0d225ddd314379b32355a00fb669eacf911e750d
path: modules/hal/altera
groups:
- hal
- name: hal_atmel
revision: 5ab43007eda3f380c125f957f03638d2e8d1144d
path: modules/hal/atmel
groups:
- hal
- name: hal_espressif
revision: abe299333411cb37a1cb1dd0aa2ea35c27382604
path: modules/hal/espressif
west-commands: west/west-commands.yml
groups:
- hal
- name: hal_ethos_u
revision: 90ada2ea5681b2a2722a10d2898eac34c2510791
path: modules/hal/ethos_u
groups:
- hal
- name: hal_gigadevice
revision: 2994b7dde8b0b0fa9b9c0ccb13474b6a486cddc3
path: modules/hal/gigadevice
groups:
- hal
- name: hal_infineon
revision: 0bebc14d8bd1a249ee7fbc70b37db6f01f72544f
path: modules/hal/infineon
groups:
- hal
- name: hal_microchip
revision: 5d079f1683a00b801373bbbbf5d181d4e33b30d5
path: modules/hal/microchip
groups:
- hal
- name: hal_nordic
revision: a1c3e0fbaafda091139b8744becd4853ada2f747
path: modules/hal/nordic
groups:
- hal
- name: hal_nuvoton
revision: 0a1f153c433f5f637a4490651bdda6d966de3b99
path: modules/hal/nuvoton
groups:
- hal
- name: hal_nxp
revision: 904830e8f684a9fd573751a1cdecde877ec49242
path: modules/hal/nxp
groups:
- hal
- name: hal_openisa
revision: d1e61c0c654d8ca9e73d27fca3a7eb3b7881cb6a
path: modules/hal/openisa
groups:
- hal
- name: hal_quicklogic
revision: b3a66fe6d04d87fd1533a5c8de51d0599fcd08d0
path: modules/hal/quicklogic
repo-path: hal_quicklogic
groups:
- hal
- name: hal_renesas
path: modules/hal/renesas
revision: f2d791d28cd8fdbc5861652b863822632c91f690
groups:
- hal
- name: hal_rpi_pico
path: modules/hal/rpi_pico
revision: b7801e4db6a62ea2d37bbef7880c3d056530c9bf
groups:
- hal
- name: hal_silabs
revision: a143f03e846eb1b7b3135f3c8192820ce1b6d9c4
path: modules/hal/silabs
groups:
- hal
- name: hal_st
revision: 5948f7b3304f1628a45ee928cd607619a7f53bbb
path: modules/hal/st
groups:
- hal
- name: hal_stm32
revision: c865374fc83d93416c0f380e6310368ff55d6ce2
path: modules/hal/stm32
groups:
- hal
- name: hal_telink
revision: 38573af589173259801ae6c2b34b7d4c9e626746
path: modules/hal/telink
groups:
- hal
- name: hal_ti
init: remove the need for a dummy device pointer in SYS_INIT functions The init infrastructure, found in `init.h`, is currently used by: - `SYS_INIT`: to call functions before `main` - `DEVICE_*`: to initialize devices They are all sorted according to an initialization level + a priority. `SYS_INIT` calls are really orthogonal to devices, however, the required function signature requires a `const struct device *dev` as a first argument. The only reason for that is because the same init machinery is used by devices, so we have something like: ```c struct init_entry { int (*init)(const struct device *dev); /* only set by DEVICE_*, otherwise NULL */ const struct device *dev; } ``` As a result, we end up with such weird/ugly pattern: ```c static int my_init(const struct device *dev) { /* always NULL! add ARG_UNUSED to avoid compiler warning */ ARG_UNUSED(dev); ... } ``` This is really a result of poor internals isolation. This patch proposes a to make init entries more flexible so that they can accept sytem initialization calls like this: ```c static int my_init(void) { ... } ``` This is achieved using a union: ```c union init_function { /* for SYS_INIT, used when init_entry.dev == NULL */ int (*sys)(void); /* for DEVICE*, used when init_entry.dev != NULL */ int (*dev)(const struct device *dev); }; struct init_entry { /* stores init function (either for SYS_INIT or DEVICE*) union init_function init_fn; /* stores device pointer for DEVICE*, NULL for SYS_INIT. Allows * to know which union entry to call. */ const struct device *dev; } ``` This solution **does not increase ROM usage**, and allows to offer clean public APIs for both SYS_INIT and DEVICE*. Note that however, init machinery keeps a coupling with devices. **NOTE**: This is a breaking change! All `SYS_INIT` functions will need to be converted to the new signature. See the script offered in the following commit. Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no> init: convert SYS_INIT functions to the new signature Conversion scripted using scripts/utils/migrate_sys_init.py. Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no> manifest: update projects for SYS_INIT changes Update modules with updated SYS_INIT calls: - hal_ti - lvgl - sof - TraceRecorderSource Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no> tests: devicetree: devices: adjust test Adjust test according to the recently introduced SYS_INIT infrastructure. Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no> tests: kernel: threads: adjust SYS_INIT call Adjust to the new signature: int (*init_fn)(void); Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-10-19 09:33:44 +02:00
revision: ae1db23f32dde779cdfc4afaa9a60ea219310a64
path: modules/hal/ti
groups:
- hal
- name: hal_wurthelektronik
revision: 24ca9873c3d608fad1fea0431836bc8f144c132e
path: modules/hal/wurthelektronik
groups:
- hal
- name: hal_xtensa
revision: 41a631d4aeeeaedc0daece21eecc338807296ad7
path: modules/hal/xtensa
groups:
- hal
- name: libmetal
revision: b91611a6f47dd29fb24c46e5621e797557f80ec6
path: modules/hal/libmetal
groups:
- hal
- name: liblc3
revision: 448f3de31f49a838988a162ef1e23a89ddf2d2ed
path: modules/lib/liblc3
- name: littlefs
path: modules/fs/littlefs
groups:
- fs
revision: ca583fd297ceb48bced3c2548600dc615d67af24
- name: loramac-node
revision: ce57712f3e426bbbb13acaec97b45369f716f43a
path: modules/lib/loramac-node
- name: lvgl
revision: 7102083f626cda09e5792420ea60af0525cce9ae
path: modules/lib/gui/lvgl
- name: lz4
revision: 8e303c264fc21c2116dc612658003a22e933124d
path: modules/lib/lz4
- name: mbedtls
revision: 6e7841e5a08eb5da3c82dbc8b6b6d82ae4b7d2a0
path: modules/crypto/mbedtls
groups:
- crypto
- name: mcuboot
revision: a6aef32619455cb1697c42d66db489c1608f8410
path: bootloader/mcuboot
- name: mipi-sys-t
path: modules/debug/mipi-sys-t
groups:
- debug
revision: 0d521d8055f3b2b4842f728b0365d3f0ece9c37f
- name: nanopb
revision: 42fa8b211e946b90b9d968523fce7b1cfe27617e
path: modules/lib/nanopb
- name: net-tools
revision: e0828aa9629b533644dc96ff6d1295c939bd713c
path: tools/net-tools
groups:
- tools
- name: nrf_hw_models
revision: c8d2ecd25d6976d2d77eccf66878420fdb8ef5a1
path: modules/bsim_hw_models/nrf_hw_models
- name: open-amp
revision: c904a01d4a882bcbb39987e0e2ce5308f49ac7ad
path: modules/lib/open-amp
- name: openthread
revision: d9abe3071c0131a4adb5d7e7451319b735e6d855
path: modules/lib/openthread
lib/libc: Add picolibc support (aarch32, aarch64 and RISC-V) [v21] Picolibc is a fork of newlib designed and tested on embedded systems. It offers a smaller memory footprint (both ROM and RAM), and native TLS support, which uses the Zephyr TLS support. By default, the full printf version is included in the executable, which includes exact floating point and long long input and output. A configuration option has been added to switch to the integer-only version (which also omits long long support). Here are some size comparisons using qemu-cortex-m3 and this application (parameters passed to printf to avoid GCC optimizing it into puts): void main(void) { printf("Hello World! %s %d\n", CONFIG_BOARD, 12); } FLASH SRAM minimal 8696 3952 picolibc int 7600 3960 picolibc float 12304 3960 newlib-nano int 11696 4128 newlib-nano float 30516 4496 newlib 34800 6112 --- v2: Include picolibc-tls.ld v3: Document usage in guides/c_library.rst and getting_started/toolchain_other_x_compilers.rst v4: Lost the lib/libc/picolibc directory somehow! v5: Add PICOLIBC_ALIGNED_HEAP_SIZE configuration option. Delete PICOLIBC_SEMIHOST option support code v6: Don't allocate static RAM for TLS values; TLS values only need to be allocated for each thread. v7: Use arm coprocessor for TLS pointer storage where supported for compatibility with the -mtp=cp15 compiler option (or when the target cpu type selects this option) Add a bunch of tests Round TLS segment up to stack alignment so that overall stack remains correctly aligned Add aarch64 support Rebase to upstream head v8: Share NEWLIB, NEWLIB_NANO and PICOLIBC library configuration variables in a single LIBC_PARTITIONS variable instead of having separate PICOLIBC_PART and NEWLIB_PART variables. v9: Update docs to reference pending sdk-ng support for picolibc v10: Support memory protection by creating a partition for picolibc shared data and any pre-defined picolibc heap. v11: Fix formatting in arch/arm/core/aarch64/switch.S v12: Remove TLS support from this patch now that TLS is upstream Require THREAD_LOCAL_STORAGE when using PICOLIBC for architectures that support it. v13: Merge errno changes as they're only needed for picolibc. Adapt cmake changes suggested by Torsten Tejlmand Rasmussen v14: Update to picolibc 1.7 and newer (new stdin/stdout/stderr ABI) v15: Respond to comments from dcpleung: * switch kernel/errno to use CONFIG_LIBC_ERRNO instead of CONFIG_PICOLIBC * Add comment to test/lib/sprintf as to why the %n test was disabled for picolibc. v16: Switch picolibc to a module built with Zephyr. This eliminates toolchain dependencies and allows compiler settings for Zephyr to also be applied to picolibc. v17: Provide Zephyr-specific 'abort' implementation. Support systems with MMU v18: Allow use of toolchain picolibc version. v19: Use zephyr/ for zephyr headers v20: Add locking Use explicit commit for picolibc module v21: Create PICOLIBC_SUPPORTED config param. Set on arc, arm, arm64, mips and riscv architectures. Signed-off-by: Keith Packard <keithp@keithp.com>
2020-10-27 03:07:50 +01:00
- name: picolibc
path: modules/lib/picolibc
revision: d07c38ff051386f8e09a143ea0a6c1d6d66dd1d8
- name: segger
revision: 4bfaf28a11c3e5ec29badac744fab6d2f342749e
path: modules/debug/segger
groups:
- debug
- name: sof
revision: ffbf9c2a6ea2930b0ac7e3a37c7cd7f5c417d090
path: modules/audio/sof
- name: tflite-micro
revision: 9156d050927012da87079064db59d07f03b8baf6
path: modules/lib/tflite-micro
repo-path: tflite-micro
- name: tinycrypt
revision: 3e9a49d2672ec01435ffbf0d788db6d95ef28de0
path: modules/crypto/tinycrypt
groups:
- crypto
- name: TraceRecorderSource
init: remove the need for a dummy device pointer in SYS_INIT functions The init infrastructure, found in `init.h`, is currently used by: - `SYS_INIT`: to call functions before `main` - `DEVICE_*`: to initialize devices They are all sorted according to an initialization level + a priority. `SYS_INIT` calls are really orthogonal to devices, however, the required function signature requires a `const struct device *dev` as a first argument. The only reason for that is because the same init machinery is used by devices, so we have something like: ```c struct init_entry { int (*init)(const struct device *dev); /* only set by DEVICE_*, otherwise NULL */ const struct device *dev; } ``` As a result, we end up with such weird/ugly pattern: ```c static int my_init(const struct device *dev) { /* always NULL! add ARG_UNUSED to avoid compiler warning */ ARG_UNUSED(dev); ... } ``` This is really a result of poor internals isolation. This patch proposes a to make init entries more flexible so that they can accept sytem initialization calls like this: ```c static int my_init(void) { ... } ``` This is achieved using a union: ```c union init_function { /* for SYS_INIT, used when init_entry.dev == NULL */ int (*sys)(void); /* for DEVICE*, used when init_entry.dev != NULL */ int (*dev)(const struct device *dev); }; struct init_entry { /* stores init function (either for SYS_INIT or DEVICE*) union init_function init_fn; /* stores device pointer for DEVICE*, NULL for SYS_INIT. Allows * to know which union entry to call. */ const struct device *dev; } ``` This solution **does not increase ROM usage**, and allows to offer clean public APIs for both SYS_INIT and DEVICE*. Note that however, init machinery keeps a coupling with devices. **NOTE**: This is a breaking change! All `SYS_INIT` functions will need to be converted to the new signature. See the script offered in the following commit. Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no> init: convert SYS_INIT functions to the new signature Conversion scripted using scripts/utils/migrate_sys_init.py. Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no> manifest: update projects for SYS_INIT changes Update modules with updated SYS_INIT calls: - hal_ti - lvgl - sof - TraceRecorderSource Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no> tests: devicetree: devices: adjust test Adjust test according to the recently introduced SYS_INIT infrastructure. Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no> tests: kernel: threads: adjust SYS_INIT call Adjust to the new signature: int (*init_fn)(void); Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-10-19 09:33:44 +02:00
revision: bc839bf94904bcdb91b33760e918afbef82e3ab4
path: modules/debug/TraceRecorder
groups:
- debug
- name: trusted-firmware-m
revision: 79a6115d3a8d0e04864ae8156c1dc8532b750f5a
path: modules/tee/tf-m/trusted-firmware-m
groups:
- tee
- name: trusted-firmware-a
revision: 28f5e137837f1c1a7a7b2af2dd8bb778c0a27532
path: modules/tee/tf-a/trusted-firmware-a
groups:
- tee
- name: tf-m-tests
revision: 0f80a65193ddbbe3f0ac38b33b07b26138c11fa7
path: modules/tee/tf-m/tf-m-tests
groups:
- tee
- name: psa-arch-tests
revision: 6a17330e0dfb5f319730f974d5b05f7b7f04757b
path: modules/tee/tf-m/psa-arch-tests
groups:
- tee
- name: uoscore-uedhoc
revision: e8920192b66db4f909eb9cd3f155d5245c1ae825
path: modules/lib/uoscore-uedhoc
- name: zcbor
revision: 67fd8bb88d3136738661fa8bb5f9989103f4599e
path: modules/lib/zcbor
- name: zscilib
path: modules/lib/zscilib
revision: 34c3432e81085bb717e4871d21ca419ae0058ec5
- name: thrift
path: modules/lib/thrift
revision: 10023645a0e6cb7ce23fcd7fd3dbac9f18df6234
self:
path: zephyr
west-commands: scripts/west-commands.yml
import: submanifests