Age | Commit message (Collapse) | Author |
|
These changes mostly focus on creating a better structure
for the driver. Creating a better separation between driver
and device(s).
A short summary of what this commit contains:
- Move driver specific defines from device to driver
- Prefix device functions with ethosu_dev
- Remove device specific register access' from driver
- Remove device specific debug/dump functions
- Add function prototypes for weak functions
- Remove legacy ARM_NPU_STUB support
- Rename ethosu_device.c to ethosu_device_u55.c
- Remove redundant irq handler prototype
- Remove (deprecated) hardcoded instance ethosu_drv
- Simplify versioning API
Split driver version and hardware version/information so
that driver version can be queried without a driver instance.
- Improve and simplify logging
Make warning the new default severity level to print and
reduce severity levels to:
err
warning
info
debug
- Add severity prefix to log lines. Error messages print file
and line number, debug messages print function by default.
- Clarify some log messages
- Small optimizations and bugfixes
Change-Id: I2dfbfc3a40d7eca133c82f187f422325e1e6d314
|
|
Change-Id: I5b7be2481c577b04f1e6b2804cd5147fcdfbaf92
|
|
Removing the ASSERT() makro using assert() instead. assert() is better
controlled with the NDEBUG define.
Using uintptr_t instead of uint32_t * for the NPU base address. This
saves a division by 4 in the register read and write functions.
Change-Id: I65a91fe35dc63666e50bdf7a756ad15b56dc66e9
|
|
Added: custom_dma bit to config structs
Added: hardware verification check for custom_dma
Change-Id: I31dca56063b3ca773d02f0adf30d21facfd0b80d
|
|
Change-Id: Ia22b2934b4c85e3c480931c8b92608365351a877
|
|
Change-Id: I8ca309ea4e5885865d5c9cf848500f45f83e08a2
|
|
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
|
|
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: 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
|
|
This includes resetting the Ethos-U and restoring the
previosuly saved PMU configuration (if any).
Change-Id: Id952fb6fef513468952b6a469e857510f8c0214c
|
|
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
|
|
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
|
|
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
|
|
* Rename debug_addr to debug_address and update page names
Signed-off-by: Douglas Troha <douglas.troha@arm.com>
Change-Id: I1e4a820769dd00ec04e65e8027ae0d4b872c2d52
|
|
* Includes updates for 0.179
Change-Id: I8ab8e9d67ed5dabf9684ed7576d302a0831c1647
Signed-off-by: Douglas Troha <douglas.troha@arm.com>
|
|
Change-Id: If2b542a83ee7f81f64cb5580faee3cae59c94e29
|
|
Change-Id: I541862775031c21e6483f26446a29dfe452382ab
|