Age | Commit message (Collapse) | Author |
|
* Allow driver to run cmdstreams that are compiled
for older arch versions
Change-Id: Ia49fc6c34b118bd91ce24bd0c34d95abc4c25d6a
Signed-off-by: Douglas Troha <douglas.troha@arm.com>
|
|
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
|
|
Change-Id: I3a8b88fb63aee8a4741ab1ca47bc49c663479e21
|
|
Using a cpu without proper interrupt handling is not really usefull in
this context, so remove that option.
Change-Id: Ie94fd9025c918eef72272e14ad5b0a95ea7dc4a4
|
|
Change-Id: Ia22b2934b4c85e3c480931c8b92608365351a877
|
|
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
|
|
Change-Id: I8ca309ea4e5885865d5c9cf848500f45f83e08a2
|
|
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
|
|
Return error if the fast memory area would be smaller than
the spilling tensor.
Change-Id: Ica89a3a933a3317a346e3479f5209ddc735d1c91
|
|
Change-Id: Id96dd7824352992c07b5fa3ce8a39a84926557a8
|
|
The low and high PMU cycle counter registers were not combined
correctly.
Change-Id: I6b311b33527557f459fd87ebd5d4d3228625106a
|
|
Storing PMU counters in shadow variables, in case the PMU was powered
off or soft reset.
Change-Id: I64ccf3fb6195f9be2d8315891ec612bb75404885
|
|
The ETHOSU is soft-reset only if the previous job failed or if
the current privilege level is not user or if the current security
level is not secure.
Change-Id: Id10b96058d67805d179ac693537606d55e10379b
|
|
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
|
|
Avoid using NULL to initialize and compare with for integer variables.
Change-Id: I1c370a9bb213dc93db845149d123915273411551
|
|
Avoid casting pointers to integer types larger than the pointer itself,
and let assignement handle the conversion.
Change-Id: Icfd2401617f2cd0fc96c2a6a9ad8d2d8bec94c55
|
|
Change-Id: I591284c1b06b660fc303bb5b4fa282d403ee42c0
|
|
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
|
|
Change-Id: Ia2a0ac76fca0fd12efee305a2ea2ebd5b2055b2d
|
|
Change-Id: Ie4186f5ab881d5c13021299404322ff582180d26
|
|
Add information how to contribute and how to report security incidents.
Change-Id: I7946e66b30c4e338ffa5a279b5d769a764c34f0f
|
|
Change-Id: I54a1927fef998bc97f5507f2de9faf7d4a7960f5
|
|
Avoid writing unintentional bits when using stack allocated register
structs.
Change-Id: I427f8449f15a8118883cfd7214aabe30dd6372d6
|
|
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
|
|
Change-Id: I0f127f7460be2a5d2eda5be2868c91f58cac03c0
|
|
Change-Id: I44d6220ac488d2e67c0b6a8b005c8da0b9a67011
|
|
Change-Id: Ia984092db29cc5f1294ecdcf5c2b6b744c6d32b2
|
|
Change-Id: I84754f316ce940917516cb7f5c59189f523d4095
|
|
This includes resetting the Ethos-U and restoring the
previosuly saved PMU configuration (if any).
Change-Id: Id952fb6fef513468952b6a469e857510f8c0214c
|
|
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
|
|
Change-Id: I1145834000ff81d6e497a8fa77bf997478a80372
|
|
This change is done as a prerequisite to be able to set
base address for NPU through ethosu_init(). So instead of using
a mamory mapped struct we use the same functions to read/write
PMU registers as the rest of the ethos-u driver.
Change-Id: Ie1f6e6af4627cbe9375e2b2d079ba8017b6294d3
|
|
-
TICKET: MLEMBED-1616
Signed-off-by: Rakesh Gangarajaiah <rakesh.gangarajaiah@arm.com>
Change-Id: Iea9e6869a1855b42bd8a0fda2986d099d0479a09
|
|
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
|
|
* Includes npu_active event
Signed-off-by: Douglas Troha <douglas.troha@arm.com>
Change-Id: I2346707c26b7c3709bb844c7b21365d714e9a089
|
|
Change-Id: I73c612746ca678d32d3dec3e1c5619ee1077c012
|
|
* Arch patch versions should be backward compatible
Signed-off-by: Douglas Troha <douglas.troha@arm.com>
Change-Id: I1b0d292d0885af90d5b39f2239e020af9181008b
|
|
Moving the alignment checks for command stream and base addresses
to handle_command_stream(). This is done so that applications which
directly call ethosu_run_command_stream(), and don't have command
stream & base addresses properly aligned can still run the command
stream.
Change-Id: Ie02e9952af027e3017e53ea7217698a33a33b418
|
|
Also check that the command stream address and base address are
aligned to 16 bytes. Return error in case they are not correctly
aligned.
Change-Id: I786d03f403d02d601ee74c53d2dede85b2b0e8a0
|
|
Make ethosu_config.h define default macro's (with default
values) unless the user overrides them.
For CMake users, the macros can be defined on cmd line by
specifying CMAKE_C_FLAGS for cmake, like:
cmake ... -DCMAKE_C_FLAGS='-DFOO=1 -DBAR=2'
Change-Id: I20fd3e07fdcfb7cba58da7198fd986f8821902bb
|
|
Change-Id: I2e72d26699e07b12b42832b59e23b3083c59d1d8
|
|
* Rename debug_addr to debug_address and update page names
Signed-off-by: Douglas Troha <douglas.troha@arm.com>
Change-Id: I1e4a820769dd00ec04e65e8027ae0d4b872c2d52
|
|
Rename CMake log variable. Make logging default off.
Remove CMake setting compile features.
Remove FPGA flag around soft reset.
Change-Id: Ia1f1c314ad19e9e05c59efe1a16d5670f6ec0f69
|
|
* Includes updates for 0.179
Change-Id: I8ab8e9d67ed5dabf9684ed7576d302a0831c1647
Signed-off-by: Douglas Troha <douglas.troha@arm.com>
|
|
Change-Id: If2b542a83ee7f81f64cb5580faee3cae59c94e29
|
|
Turn the IRQ initialization around, to have the application define the
interrupt handler and expose the driver routine that is to be called
when that happens.
Change-Id: Idbfba1b1d1a1eaf6678ee16e9583c496eb2287ed
|
|
Moving PMU files from ethosu_pmu to include and src.
Adding extern "C" to PMU header.
Removing CMake generated file.
Updating default path to CMSIS.
Removing timing adapter.
Change-Id: I4834c5361c14efe629c5cb36a17013d02cc765c8
|
|
Change-Id: I3cdf8f21ed58ace2f2c739748d788ec97fb4083a
|
|
Change-Id: If2e6ff0b6876380c597cdbc12a666a9cf1bf9dc4
|
|
Change-Id: Ieff4a4b66dcc8da09a2f959dfa6bc717cc816f5a
|