# 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
    - name: civetweb
      url-base: https://github.com/antmicro

  #
  # Please add items below based on alphabetical order
  projects:
    - name: ci-tools
      revision: d56f2dd3510e20fa8cf4aad442495c08a658113f
      path: tools/ci-tools
    - name: civetweb
      remote: civetweb
      revision: 7ffad765f9a63a7bab3432ca45248981f559d559
      path: modules/lib/civetweb
    - name: esp-idf
      revision: 6835bfc741bf15e98fb7971293913f770df6081f
      path: modules/hal/esp-idf
    - name: fatfs
      revision: df96914dd989907f3a5de4cb95b116c2f305820d
      path: modules/fs/fatfs
    - name: hal_qmsi
      revision: 9195fe6f97e4f7f25a3fc9e5a515f1b7af13762c
      path: modules/hal/qmsi
    - name: hal_cypress
      revision: a12d92816a53a521d79cefcf5c38b9dc8a4fed6e
      path: modules/hal/cypress
    - name: hal_silabs
      revision: 9151e614c23997074acd1096a3e8a9e5c255d5b9
      path: modules/hal/silabs
    - name: hal_st
      revision: 0ec40aed8087f26bd9ac1b70fb5a6c326a6451aa
      path: modules/hal/st
    - name: hal_stm32
      revision: 49c26855a651087578b79707fae4ddbb1c0b207d
      path: modules/hal/stm32
    - name: libmetal
      revision: 45e630d6152824f807d3f919958605c4626cbdff
      path: modules/hal/libmetal
    - name: lvgl
      revision: a4626e82781aecec137250f56d79961ca2f50b7b
      path: modules/lib/gui/lvgl
    - name: mbedtls
      revision: ca32746072ce3381f1c9ae46ba6cd34c69f8c0ee
      path: modules/crypto/mbedtls
    - name: mcumgr
      revision: 84934959d2d1722a23b7e7e200191ae4a6f96168
      path: modules/lib/mcumgr
    - name: net-tools
      revision: 30b7efa827b04d2e47840716b0372737fe7d6c92
      path: tools/net-tools
    - name: nffs
      revision: bc62a2fa9d98ddb5d633c932ea199bc68e10f194
      path: modules/fs/nffs
    - name: open-amp
      revision: 9b591b289e1f37339bd038b5a1f0e6c8ad39c63a
      path: modules/lib/open-amp
    - name: openthread
      revision: 0dbecf508e7a79aae8ed9631f1a63fc65478b213
      path: modules/lib/openthread
    - name: segger
      revision: 6fcf61606d6012d2c44129edc033f59331e268bc
      path: modules/debug/segger
    - name: tinycbor
      path: modules/lib/tinycbor
      revision: 31ae89e4b768612722620cb6cb173a0de4a19cc9

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