Skip to content
  1. Feb 23, 2021
  2. Feb 19, 2021
    • Anton Moberg's avatar
      MLBEDSW-3868 - Driver multiNPU locking · df386e00
      Anton Moberg authored
      Added: Weak linked symbols for locking if RTOS overrides
      Added: Semaphore Producer (release a reserved driver)
      Added: Semaphore Consumer (all drivers reserved and waiting for returned driver)
      Added: Mutex protect thread sensitive driver access
      Added: Weak linked symbols for yielding & resuming thread/task while waiting for IRQ
      Added: static inline function of ethosu_invoke_v2(...) for backwards compatibility
      
      Change-Id: If415a73b01b2357b31bb6da86f3038344c4245c6
      df386e00
  3. Jan 27, 2021
    • Anton Moberg's avatar
      MLBEDSW-3796 Ethos-U driver interface multiple NPUs · 61da4d35
      Anton Moberg authored
      ---ethosu_driver---
      Modified: Declarations for the driver interfaces to support multiNPU (takes *drv)
      Added: ethosu_register_driver(...) to allow for a specific NPU driver to be instantiated
      Added: ethosu_deregister_Driver(...) to allow for a specific NPU driver to be de-registered
      Added: ethosu_reserve_driver(...) to reserve & return the first NPU driver instance available
      Added: ethosu_release_driver(...) to release a specific NPU driver instance and make it available again
      Added: *registered_drivers - A  static linked list of drivers ready be used
      
      ---ethosu_pmu---
      Modified: Declarations for pmu interfaces to support multiNPU (takes *drv)
      
      ---ethosu_device---
      Modified: Resolved a circular include dependency (Remove include and add ETHOSU_PMU_NCOUNTERS macro)
      
      Change-Id: Iede41cd41bb0d5d483bd9d929d1b6c9ca5d3c48e
      2 tags
      61da4d35
  4. Jan 20, 2021
  5. Jan 18, 2021
    • Anton Moberg's avatar
      Added simplified driver setup · 8d65b6f7
      Anton Moberg authored
      If NPU power is guaranteed always on parts of driver setup can be omitted to reduce the number of cycles required to setup the NPU drivers.
      By enabling dev_power_always_on, the setup cycles are reduced by approx. ~50%. (4462->2238 in prologue, 1167->642 in epilogue)
      
      Change-Id: I56d380c2571fedbc8888fb7c00fce0e4320f7fb7
      8d65b6f7
  6. Dec 17, 2020
  7. Dec 02, 2020
    • Daniel Anderberg's avatar
      Remove CPU build flags from driver · 906da410
      Daniel Anderberg authored
      Using a cpu without proper interrupt handling is not really usefull in
      this context, so remove that option.
      
      Change-Id: Ie94fd9025c918eef72272e14ad5b0a95ea7dc4a4
      906da410
  8. Nov 24, 2020
    • Kristofer Jonsson's avatar
      Update handling of soft reset · c6e7a1f7
      Kristofer Jonsson authored
      Change-Id: Ia22b2934b4c85e3c480931c8b92608365351a877
      20.11
      c6e7a1f7
    • Per Astrand's avatar
      Restore default init values as init_v2 · 849cf69b
      Per Astrand authored
      The addition of init_v3 accidentely changed default values for soft
      resetting Ethos-U. Restore the default parameters to non-secure, user
      mode for init_v1 and init_v2 and also make sure to check return value
      from ethosu_soft_reset.
      
      Change-Id: If7377f11ad1db7ff988fdcba03320a54e6e0c0c1
      849cf69b
  9. Nov 20, 2020
  10. Nov 16, 2020
    • Per Astrand's avatar
      Flush and invalidate data caches · 3c8afcca
      Per Astrand authored
      Implement a weak linked function to handle the data cache.
      If the specific device is implementing a data cache the function should
      be overriden with device specific implementation of the flush/invalidate
      functions to make sure that the cache is properly maintained with
      regards to the NPU DMA transaction.
      
      Change-Id: I175644ef37bee62cc77d789d2b7bc3073e72ea5a
      3c8afcca
  11. Nov 10, 2020
  12. Oct 23, 2020
  13. Oct 20, 2020
    • Kristofer Jonsson's avatar
      PMU counter shadow · 4dc73dce
      Kristofer Jonsson authored
      Storing PMU counters in shadow variables, in case the PMU was powered
      off or soft reset.
      
      Change-Id: I64ccf3fb6195f9be2d8315891ec612bb75404885
      4dc73dce
  14. Oct 16, 2020
  15. Sep 28, 2020
    • Per Astrand's avatar
      Silence gcc > 7 type-limits warning · 51c18bac
      Per Astrand authored
      GCC > 7 warns that the selected type of the enum makes the comparisson
      unneccesary. Since the selected enum fits in an integer, the input
      parameter is casted to an integer to make the comparison valid and
      asserts that the enum is within valid enum values (which we know are
      monotonically growing).
      
      Change-Id: Id81799e2ac43a83b998541ce7531d2039202cd62
      51c18bac
    • Per Astrand's avatar
      Don't use NULL for integer variables · c801901c
      Per Astrand authored
      Avoid using NULL to initialize and compare with for integer variables.
      
      Change-Id: I1c370a9bb213dc93db845149d123915273411551
      c801901c
    • Per Astrand's avatar
      Avoid casting to integer of different size · c6c1db16
      Per Astrand authored
      Avoid casting pointers to integer types larger than the pointer itself,
      and let assignement handle the conversion.
      
      Change-Id: Icfd2401617f2cd0fc96c2a6a9ad8d2d8bec94c55
      c6c1db16
    • Per Astrand's avatar
      Add default switch statement · e07b1f9c
      Per Astrand authored
      Change-Id: I591284c1b06b660fc303bb5b4fa282d403ee42c0
      e07b1f9c
    • Per Astrand's avatar
      Use inttypes format specifiers for logging values · 14ccfeeb
      Per Astrand authored
      GCC and armclang uses different uint32_t types which makes it impossible
      to use standard format specifiers to satisfy both compilers. Move to
      inttypes.h macros to handle it in a portable way.
      
      Change-Id: If85e1148d302b64660af66d8f462efba9ac5d86b
      14ccfeeb
  16. Sep 23, 2020
  17. Sep 04, 2020
  18. Sep 01, 2020
    • Kristofer Jonsson's avatar
      Update README.md · ea1f593c
      Kristofer Jonsson authored
      Add information how to contribute and how to report security incidents.
      
      Change-Id: I7946e66b30c4e338ffa5a279b5d769a764c34f0f
      ea1f593c
  19. Aug 26, 2020
  20. Aug 25, 2020
  21. Aug 24, 2020
    • Kristofer Jonsson's avatar
      Base pointer offset and soft reset · 125429a1
      Kristofer Jonsson authored
      Allow user to define a base pointer offset, if the CPU and the NPU have
      address spaces offseted from each other.
      
      Soft reset NPU before every inference.
      
      Added log prints.
      
      Change-Id: I98a746d20dc780fefa23ad68816f5ba2ba2e6c6e
      125429a1
  22. Aug 19, 2020
  23. Aug 12, 2020
  24. Aug 11, 2020
  25. Aug 05, 2020
  26. Jul 22, 2020
  27. Jul 17, 2020
    • Bhavik Patel's avatar
      MLBEDSW-2596 Add support to set driver log severity · f5057819
      Bhavik Patel authored
      The driver can log at one of the following levels: 0=emerg,
      1=alert, 2=crit, 3=err, 4=warning, 5=notice, 6=info, 7=debug.
      
      The logs at or below the set level are printed whereas
      the higher level logs are not printed.
      
      Change-Id: I05a498d4c8c78112207187d9dceaa2386b138c5d
      f5057819
  28. Jul 03, 2020
  29. Jul 02, 2020
  30. Jun 26, 2020
    • Bhavik Patel's avatar
      MLBEDSW-2447 Set clock_q_enable & power_q_enable correctly · e645fed7
      Bhavik Patel authored
      Bit [2] in CMD register is used to enable clock off using
      clock q-interface and enable the master clock gate. Bit [3] is
      used to enable power off using power q-interface.
      
      The clock_q_enable bit is set when putting the Ethos-U into run
      state.
      
      The power_q_enable bit is set to 0 when running the command stream
      and set to 1 after command stream has finished running.
      
      Change-Id: Id9d1405376508e2af2ec0ddc2ebae8fb6c2f5cba
      e645fed7
  31. Jun 22, 2020
  32. Jun 17, 2020
  33. Jun 16, 2020
Loading