# 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.

west:
  url: https://github.com/zephyrproject-rtos/west
  revision: v0.5.7

manifest:
  defaults:
    remote: upstream

  remotes:
    - name: upstream
      url-base: https://github.com/zephyrproject-rtos

  # The initial list of external projects is just Zephyr's net-tools
  # repository, which is useful for running the Zephyr networking
  # stack in QEMU.
  #
  # This will grow over time as external code is migrated into its own
  # repositories.
  projects:
    - name: net-tools
      revision: 30b7efa827b04d2e47840716b0372737fe7d6c92
    - name: tinycbor
      path: modules/lib/tinycbor
      revision: 31ae89e4b768612722620cb6cb173a0de4a19cc9
    - name: hal_qmsi
      revision: 9195fe6f97e4f7f25a3fc9e5a515f1b7af13762c
      path: modules/hal/qmsi
    - name: esp-idf
      revision: 6835bfc741bf15e98fb7971293913f770df6081f
      path: modules/hal/esp-idf
    - name: fatfs
      revision: df96914dd989907f3a5de4cb95b116c2f305820d
      path: modules/fs/fatfs
    - name: hal_cypress
      revision: a12d92816a53a521d79cefcf5c38b9dc8a4fed6e
      path: modules/hal/cypress
    - name: hal_silabs
      revision: 9151e614c23997074acd1096a3e8a9e5c255d5b9
      path: modules/hal/silabs
    - name: libmetal
      revision: 45e630d6152824f807d3f919958605c4626cbdff
      path: modules/hal/libmetal
    - name: mcumgr
      revision: 84934959d2d1722a23b7e7e200191ae4a6f96168
      path: modules/lib/mcumgr
    - name: nffs
      revision: bc62a2fa9d98ddb5d633c932ea199bc68e10f194
      path: modules/fs/nffs
    - name: open-amp
      revision: 893b2a57e629cccb81282cec04b0385f3d49d871
      path: modules/lib/open-amp
    - name: segger
      revision: 6fcf61606d6012d2c44129edc033f59331e268bc
      path: modules/debug/segger

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