# 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: hal_atmel
      revision: 5a44c9d54dffd685fb6664a646922cfe41c5cf8e
      path: modules/hal/atmel
    - name: canopennode
      path: modules/lib/canopennode
      revision: 5c6b0566d56264efd4bf23ed58bc7cb8b32fe063
    - name: ci-tools
      revision: e869d2524d1344d80063bf2898095faf9228f7b5
      path: tools/ci-tools
    - name: civetweb
      revision: 99129c5efc907ea613c4b73ccff07581feb58a7a
      path: modules/lib/civetweb
    - name: esp-idf
      revision: 6835bfc741bf15e98fb7971293913f770df6081f
      path: modules/hal/esp-idf
    - name: fatfs
      revision: 9ee6b9b9511151d0d64a74d532d39c6f2bbd4f16
      path: modules/fs/fatfs
    - name: hal_cypress
      revision: a12d92816a53a521d79cefcf5c38b9dc8a4fed6e
      path: modules/hal/cypress
    - name: hal_nordic
      revision: 12d7647870888e4cb0e421f2b26884c2e76915ac
      path: modules/hal/nordic
    - name: hal_openisa
      revision: 9bfbe35aad79fdf552dbdae47a894e26be7c022c
      path: modules/hal/openisa
    - name: hal_microchip
      revision: 85302959c0c659311cf90ac51d133e5ce19c9288
      path: modules/hal/microchip
    - name: hal_silabs
      revision: 9a3fe1af3a14bf88c86b9cda3bf2a0921d5a97a1
      path: modules/hal/silabs
    - name: hal_st
      revision: fa481784b3c49780f18d50bafe00390ccb62b2ec
      path: modules/hal/st
    - name: hal_stm32
      revision: 94d735c2613f5d17b64b78a15f0b0191e4474eb0
      path: modules/hal/stm32
    - name: hal_ti
      revision: ab9b289a109a9cac9c222a22176d22bf14d982e7
      path: modules/hal/ti
    - name: libmetal
      revision: 45e630d6152824f807d3f919958605c4626cbdff
      path: modules/hal/libmetal
    - name: lvgl
      revision: 74fc2e753a997bd71cefa34dd9c56dcb954b42e2
      path: modules/lib/gui/lvgl
    - name: mbedtls
      revision: cf7020eb4c7ef93319f2d6d2403a21e12a879bf6
      path: modules/crypto/mbedtls
    - name: mcuboot
      revision: 970840ccf5d80616d514bec76d87d836da05c03b
      path: bootloader/mcuboot
    - name: mcumgr
      revision: d4e97cd4fc80ff949415062b1c83fd42929e8fe4
      path: modules/lib/mcumgr
    - name: net-tools
      revision: 4bff01084d225996e4aae84b98be5969e2f9f33d
      path: tools/net-tools
    - name: hal_nxp
      revision: 3e3f20e7de7606d735cdeefe21d5f2a51bf06095
      path: modules/hal/nxp
    - name: open-amp
      revision: 9b591b289e1f37339bd038b5a1f0e6c8ad39c63a
      path: modules/lib/open-amp
    - name: loramac-node
      revision: 29e516ec585b1a909af2b5f1c60d83e7d4d563e3
      path: modules/lib/loramac-node
    - name: openthread
      revision: 3c6191eb4e8ca44b5f4eeaa696837bce14e83c69
      path: modules/lib/openthread
    - name: segger
      revision: 6fcf61606d6012d2c44129edc033f59331e268bc
      path: modules/debug/segger
    - name: tinycbor
      path: modules/lib/tinycbor
      revision: 0fc68fceacd1efc1ce809c5880c380f3d98b7b6e
    - name: littlefs
      path: modules/fs/littlefs
      revision: fe9572dd5a9fcf93a249daa4233012692bd2881d
    - name: mipi-sys-t
      path: modules/debug/mipi-sys-t
      revision: baf51863f19f009b92e762115ba5572a5b996b92
    - name: nrf_hw_models
      path: modules/bsim_hw_models/nrf_hw_models
      revision: fec69703cb1ca06fcdab6d5fde01274f0fc5c759
    - name: hal_xtensa
      revision: 382b309b481adc85dd517d50b8a458bcb86f15d4
      path: modules/hal/xtensa
    - name: edtt
      path: tools/edtt
      revision: 5fb6617815c7909f01988d10d6bc4789253f31f6

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