# 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

  #
  # Please add items below based on alphabetical order
  projects:
    - name: canopennode
      revision: f167efe85c8c7de886f1bc47f9173cfb8a346bb5
      path: modules/lib/canopennode
    - name: civetweb
      revision: 094aeb41bb93e9199d24d665ee43e9e05d6d7b1c
      path: modules/lib/civetweb
    - name: cmsis
      revision: c3bd2094f92d574377f7af2aec147ae181aa5f8e
      path: modules/hal/cmsis
    - name: edtt
      revision: 7dd56fc100d79cc45c33d43e7401d1803e26f6e7
      path: tools/edtt
    - name: fatfs
      revision: 1d1fcc725aa1cb3c32f366e0c53d7490d0fe1109
      path: modules/fs/fatfs
    - name: hal_altera
      revision: 23c1c1dd7a0c1cc9a399509d1819375847c95b97
      path: modules/hal/altera
    - name: hal_atmel
      revision: d17b7dd92d209b20bc1e15431d068edc29bf438d
      path: modules/hal/atmel
    - name: hal_cypress
      revision: 81a059f21435bc7e315bccd720da5a9b615bbb50
      path: modules/hal/cypress
    - name: hal_espressif
      revision: a5d7cb9e6676b08b15ac5b0c54a98514d8bc257c
      path: modules/hal/espressif
      west-commands: west/west-commands.yml
      revision: c21d252a2188fcb60d52dceb6b018a9f4a371817
      path: modules/hal/espressif
    - name: hal_infineon
      revision: f1fa8241f8786198ba41155413243de36ed878a5
      path: modules/hal/infineon
    - name: hal_microchip
      revision: b280eec5d3b1296b231117c1999bcd0269b6ecc4
      path: modules/hal/microchip
    - name: hal_nordic
      revision: 74b3b21f60aa3dc9a4364ffc28dbb47ad8b699a9
      path: modules/hal/nordic
    - name: hal_nuvoton
      revision: b4d31f33238713a568e23618845702fadd67386f
      path: modules/hal/nuvoton
    - name: hal_nxp
      revision: ac1ad8d44a407f8f1fe813e983bda085e9ef342a
      path: modules/hal/nxp
    - name: hal_openisa
      revision: 40d049f69c50b58ea20473bee14cf93f518bf262
      path: modules/hal/openisa
    - name: hal_quicklogic
      revision: b3a66fe6d04d87fd1533a5c8de51d0599fcd08d0
      path: modules/hal/quicklogic
      repo-path: hal_quicklogic
    - name: hal_silabs
      revision: be39d4eebeddac6e18e9c0c3ba1b31ad1e82eaed
      path: modules/hal/silabs
    - name: hal_st
      revision: 575de9d461aa6f430cf62c58a053675377e700f3
      path: modules/hal/st
    - name: hal_stm32
      revision: 91054cd84aaffa260efcbf3b591badcc4fa013ab
      path: modules/hal/stm32
    - name: hal_ti
      revision: 3da6fae25fc44ec830fac4a92787b585ff55435e
      path: modules/hal/ti
    - name: hal_xtensa
      revision: 2f04b615cd5ad3a1b8abef33f9bdd10cc1990ed6
      path: modules/hal/xtensa
    - name: libmetal
      revision: 39d049d4ae68e6f6d595fce7de1dcfc1024fb4eb
      path: modules/hal/libmetal
    - name: littlefs
      path: modules/fs/littlefs
      revision: 9e4498d1c73009acd84bb36036ee5e2869112a6c
    - name: loramac-node
      revision: 12019623bbad9eb54fe51066847a7cbd4b4eac57
      path: modules/lib/loramac-node
    - name: lvgl
      revision: 31acbaa36e9e74ab88ac81e3d21e7f1d00a71136
      path: modules/lib/gui/lvgl
    - name: lz4
      revision: 8e303c264fc21c2116dc612658003a22e933124d
      path: modules/lib/lz4
    - name: mbedtls
      revision: 5765cb7f75a9973ae9232d438e361a9d7bbc49e7
      path: modules/crypto/mbedtls
    - name: mcuboot
      revision: 7a5196820ba48a6ad7e7d573c9048c021960677c
      path: bootloader/mcuboot
    - name: mcumgr
      revision: 5c5055f5a7565f8152d75fcecf07262928b4d56e
      path: modules/lib/mcumgr
    - name: mipi-sys-t
      path: modules/debug/mipi-sys-t
      revision: 75e671550ac1acb502f315fe4952514dc73f7bfb
    - name: nanopb
      revision: d148bd26718e4c10414f07a7eb1bd24c62e56c5d
      path: modules/lib/nanopb
    - name: net-tools
      revision: f49bd1354616fae4093bf36e5eaee43c51a55127
      path: tools/net-tools
    - name: nrf_hw_models
      revision: a47e326ca772ddd14cc3b9d4ca30a9ab44ecca16
      path: modules/bsim_hw_models/nrf_hw_models
    - name: open-amp
      revision: 6010f0523cbc75f551d9256cf782f173177acdef
      path: modules/lib/open-amp
    - name: openthread
      revision: eae63bb47a31ed61d008f49a024873026626ebcc
      path: modules/lib/openthread
    - name: segger
      revision: 3a52ab222133193802d3c3b4d21730b9b1f1d2f6
      path: modules/debug/segger
    - name: sof
      revision: 779f28ed465c03899c8a7d4aaf399856f4e51158
      path: modules/audio/sof
    - name: tensorflow
      revision: dc70a45a7cc12c25726a32cd91b28be59e7bc596
      path: modules/lib/tensorflow
      repo-path: tensorflow
    - name: tfm-mcuboot # This is used by the trusted-firmware-m module.
      revision: v1.7.2
      path: modules/tee/tfm-mcuboot
      repo-path: mcuboot
    - name: tinycbor
      revision: 40daca97b478989884bffb5226e9ab73ca54b8c4
      path: modules/lib/tinycbor
    - name: tinycrypt
      revision: 3e9a49d2672ec01435ffbf0d788db6d95ef28de0
      path: modules/crypto/tinycrypt
    - name: TraceRecorderSource
      revision: 5b5f8d7adbf0e93a09087e8f5708f0eebb8b25bf
      path: modules/debug/TraceRecorder
    - name: trusted-firmware-m
      path: modules/tee/tfm
      revision: e18b7a9b040b5b5324520388047c9e7d678447e6

  self:
    path: zephyr
    west-commands: scripts/west-commands.yml
