summaryrefslogtreecommitdiffstats
path: root/drivers/staging/greybus/greybus_manifest.h
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2016-04-26 10:20:49 +0530
committerGreg Kroah-Hartman <gregkh@google.com>2016-04-27 11:10:44 -0700
commit9e04fb7b1627ad55b63c4e0927f696ecb1a2563a (patch)
treeddfb584f5d63412678dc229191be30c895bbcb71 /drivers/staging/greybus/greybus_manifest.h
parent05ab5f0daa524915176d170f3873b97ad10d7c43 (diff)
downloadop-kernel-dev-9e04fb7b1627ad55b63c4e0927f696ecb1a2563a.zip
op-kernel-dev-9e04fb7b1627ad55b63c4e0927f696ecb1a2563a.tar.gz
greybus: firmware: Add firmware management bundle driver
All firmware packages on the Modules or Interfaces are now managed by a special Firmware Management Protocol. The Interface Manifest shall at least contain the Firmware Management Bundle and a Firmware Management Protocol CPort within it. The bundle may contain additional CPorts based on the extra functionality required to manage firmware packages. For example, this is how the Firmware Management Bundle of the Interface Manifest may look like: ; Firmware Management Bundle (Bundle 1): [bundle-descriptor 1] class = 0x16 ; (Mandatory) Firmware Management Protocol on CPort 1 [cport-descriptor 1] bundle = 1 protocol = 0x18 ; (Optional) Firmware Download Protocol on CPort 2 [cport-descriptor 2] bundle = 1 protocol = 0x17 ; (Optional) SPI protocol on CPort 3 [cport-descriptor 3] bundle = 1 protocol = 0x0b ; (Optional) Component Authentication Protocol (CAP) on CPort 4 [cport-descriptor 4] bundle = 1 protocol = 0xXX //TBD This patch adds the basic firmware-management bundle driver, which just creates a firmware-management connection. Support for individual protocols will be added separately. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers/staging/greybus/greybus_manifest.h')
-rw-r--r--drivers/staging/greybus/greybus_manifest.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/staging/greybus/greybus_manifest.h b/drivers/staging/greybus/greybus_manifest.h
index 460fced..5d00f7d 100644
--- a/drivers/staging/greybus/greybus_manifest.h
+++ b/drivers/staging/greybus/greybus_manifest.h
@@ -45,6 +45,8 @@ enum greybus_protocol {
GREYBUS_PROTOCOL_SVC = 0x14,
GREYBUS_PROTOCOL_BOOTROM = 0x15,
GREYBUS_PROTOCOL_CAMERA_DATA = 0x16,
+ GREYBUS_PROTOCOL_FW_DOWNLOAD = 0x17,
+ GREYBUS_PROTOCOL_FW_MANAGEMENT = 0x18,
/* ... */
GREYBUS_PROTOCOL_RAW = 0xfe,
GREYBUS_PROTOCOL_VENDOR = 0xff,
@@ -73,6 +75,7 @@ enum greybus_class_type {
/* 0x13 is unused */
/* 0x14 is unused */
GREYBUS_CLASS_BOOTROM = 0x15,
+ GREYBUS_CLASS_FW_MANAGEMENT = 0x16,
/* ... */
GREYBUS_CLASS_RAW = 0xfe,
GREYBUS_CLASS_VENDOR = 0xff,
OpenPOWER on IntegriCloud