usb: Add base USB MCTP definitions
Upcoming changes will add a USB host (and later gadget) driver for the MCTP-over-USB protocol. Add a header that provides common definitions for protocol support: the packet header format and a few framing definitions. Add a define for the MCTP class code, as per https://usb.org/defined-class-codes. Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://patch.msgid.link/20250221-dev-mctp-usb-v3-1-3353030fe9cc@codeconstruct.com.au Signed-off-by: Jakub Kicinski <kuba@kernel.org>pull/1188/head
parent
e6a532185d
commit
dcc35baae7
|
|
@ -13896,6 +13896,7 @@ L: netdev@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/networking/mctp.rst
|
F: Documentation/networking/mctp.rst
|
||||||
F: drivers/net/mctp/
|
F: drivers/net/mctp/
|
||||||
|
F: include/linux/usb/mctp-usb.h
|
||||||
F: include/net/mctp.h
|
F: include/net/mctp.h
|
||||||
F: include/net/mctpdevice.h
|
F: include/net/mctpdevice.h
|
||||||
F: include/net/netns/mctp.h
|
F: include/net/netns/mctp.h
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||||||
|
/*
|
||||||
|
* mctp-usb.h - MCTP USB transport binding: common definitions,
|
||||||
|
* based on DMTF0283 specification:
|
||||||
|
* https://www.dmtf.org/sites/default/files/standards/documents/DSP0283_1.0.1.pdf
|
||||||
|
*
|
||||||
|
* These are protocol-level definitions, that may be shared between host
|
||||||
|
* and gadget drivers.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2024-2025 Code Construct Pty Ltd
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __LINUX_USB_MCTP_USB_H
|
||||||
|
#define __LINUX_USB_MCTP_USB_H
|
||||||
|
|
||||||
|
#include <linux/types.h>
|
||||||
|
|
||||||
|
struct mctp_usb_hdr {
|
||||||
|
__be16 id;
|
||||||
|
u8 rsvd;
|
||||||
|
u8 len;
|
||||||
|
} __packed;
|
||||||
|
|
||||||
|
#define MCTP_USB_XFER_SIZE 512
|
||||||
|
#define MCTP_USB_BTU 68
|
||||||
|
#define MCTP_USB_MTU_MIN MCTP_USB_BTU
|
||||||
|
#define MCTP_USB_MTU_MAX (U8_MAX - sizeof(struct mctp_usb_hdr))
|
||||||
|
#define MCTP_USB_DMTF_ID 0x1ab4
|
||||||
|
|
||||||
|
#endif /* __LINUX_USB_MCTP_USB_H */
|
||||||
|
|
@ -330,6 +330,7 @@ struct usb_device_descriptor {
|
||||||
#define USB_CLASS_AUDIO_VIDEO 0x10
|
#define USB_CLASS_AUDIO_VIDEO 0x10
|
||||||
#define USB_CLASS_BILLBOARD 0x11
|
#define USB_CLASS_BILLBOARD 0x11
|
||||||
#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12
|
#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12
|
||||||
|
#define USB_CLASS_MCTP 0x14
|
||||||
#define USB_CLASS_MISC 0xef
|
#define USB_CLASS_MISC 0xef
|
||||||
#define USB_CLASS_APP_SPEC 0xfe
|
#define USB_CLASS_APP_SPEC 0xfe
|
||||||
#define USB_SUBCLASS_DFU 0x01
|
#define USB_SUBCLASS_DFU 0x01
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue