Add NPU device type to capabilities

In preparation to support the Linux kernel driver directly managing the
NPU without a subsystem. A NPU device type has been added to the
capabilities to be able to specify what kind of NPU is used.

Change-Id: I45345b7d75d234f821d70b858453d3af2a99194e
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
diff --git a/kernel/include/uapi/ethosu.h b/kernel/include/uapi/ethosu.h
index 58b9c34..699ef7e 100644
--- a/kernel/include/uapi/ethosu.h
+++ b/kernel/include/uapi/ethosu.h
@@ -194,15 +194,30 @@
 };
 
 /**
+ * enum ethosu_dev_type - NPU device type
+ * @ETHOSU_DEV_UNKNOWN:       Unknown NPU device type
+ * @ETHOSU_DEV_SUBSYSTEM:     NPU managed by a subsystem communicated with via a
+ *                            mailbox
+ * @ETHOSU_DEV_DIRECT:        NPU directly managed by the kernel driver
+ */
+enum ethosu_dev_type {
+	ETHOSU_DEV_UNKNOWN = 0,
+	ETHOSU_DEV_SUBSYSTEM,
+	ETHOSU_DEV_DIRECT,
+};
+
+/**
  * struct ethosu_uapi_device_hw_cfg - Device hardware configuration
  * @macs_per_cc:               MACs per clock cycle
  * @cmd_stream_version:        NPU command stream version
  * @custom_dma:                Custom DMA enabled
+ * @type:                      NPU device type
  */
 struct ethosu_uapi_device_hw_cfg {
 	__u32 macs_per_cc;
 	__u32 cmd_stream_version;
 	__u32 custom_dma;
+	__u32 type;
 };
 
 /**