greybus: firmware: Add firmware management bundle driver
authorViresh Kumar <viresh.kumar@linaro.org>
Tue, 26 Apr 2016 04:50:49 +0000 (10:20 +0530)
committerGreg Kroah-Hartman <gregkh@google.com>
Wed, 27 Apr 2016 18:10:44 +0000 (11:10 -0700)
commit9e04fb7b1627ad55b63c4e0927f696ecb1a2563a
treeddfb584f5d63412678dc229191be30c895bbcb71
parent05ab5f0daa524915176d170f3873b97ad10d7c43
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>
drivers/staging/greybus/Makefile
drivers/staging/greybus/fw-core.c [new file with mode: 0644]
drivers/staging/greybus/greybus_manifest.h