NFC: Add firmware upload netlink command
As several NFC chipsets can have their firmwares upgraded and reflashed, this patchset adds a new netlink command to trigger that the driver loads or flashes a new firmware. This will allows userspace triggered firmware upgrade through netlink. The firmware name or hint is passed as a parameter, and the driver will eventually fetch the firmware binary through the request_firmware API. The cmd can only be executed when the nfc dev is not in use. Actual firmware loading/flashing is an asynchronous operation. Result of the operation shall send a new event up to user space through the nfc dev multicast socket. During operation, the nfc dev is not openable and thus not usable. Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:

committed by
Samuel Ortiz

parent
1095e69f47
commit
9674da8759
@@ -69,6 +69,8 @@
|
||||
* starting a poll from a device which has a secure element enabled means
|
||||
* we want to do SE based card emulation.
|
||||
* @NFC_CMD_DISABLE_SE: Disable the physical link to a specific secure element.
|
||||
* @NFC_CMD_FW_UPLOAD: Request to Load/flash firmware, or event to inform that
|
||||
* some firmware was loaded
|
||||
*/
|
||||
enum nfc_commands {
|
||||
NFC_CMD_UNSPEC,
|
||||
@@ -92,6 +94,7 @@ enum nfc_commands {
|
||||
NFC_CMD_DISABLE_SE,
|
||||
NFC_CMD_LLC_SDREQ,
|
||||
NFC_EVENT_LLC_SDRES,
|
||||
NFC_CMD_FW_UPLOAD,
|
||||
/* private: internal use only */
|
||||
__NFC_CMD_AFTER_LAST
|
||||
};
|
||||
@@ -121,6 +124,7 @@ enum nfc_commands {
|
||||
* @NFC_ATTR_LLC_PARAM_RW: Receive Window size parameter
|
||||
* @NFC_ATTR_LLC_PARAM_MIUX: MIU eXtension parameter
|
||||
* @NFC_ATTR_SE: Available Secure Elements
|
||||
* @NFC_ATTR_FIRMWARE_NAME: Free format firmware version
|
||||
*/
|
||||
enum nfc_attrs {
|
||||
NFC_ATTR_UNSPEC,
|
||||
@@ -143,6 +147,7 @@ enum nfc_attrs {
|
||||
NFC_ATTR_LLC_PARAM_MIUX,
|
||||
NFC_ATTR_SE,
|
||||
NFC_ATTR_LLC_SDP,
|
||||
NFC_ATTR_FIRMWARE_NAME,
|
||||
/* private: internal use only */
|
||||
__NFC_ATTR_AFTER_LAST
|
||||
};
|
||||
@@ -162,6 +167,7 @@ enum nfc_sdp_attr {
|
||||
#define NFC_SENSB_RES_MAXSIZE 12
|
||||
#define NFC_SENSF_RES_MAXSIZE 18
|
||||
#define NFC_GB_MAXSIZE 48
|
||||
#define NFC_FIRMWARE_NAME_MAXSIZE 32
|
||||
|
||||
/* NFC protocols */
|
||||
#define NFC_PROTO_JEWEL 1
|
||||
|
Reference in New Issue
Block a user