Hello.

On 3/10/2016 1:32 PM, Oliver Neukum wrote:

Adding the descriptors of chapter 9.2 of the Power Delivery spec.

Signed-off-by: Oliver Neukum <oneu...@suse.com>
---
  include/uapi/linux/usb/ch9.h | 94 ++++++++++++++++++++++++++++++++++++++++++++
  1 file changed, 94 insertions(+)

diff --git a/include/uapi/linux/usb/ch9.h b/include/uapi/linux/usb/ch9.h
index 252ac16..c9f2bc2 100644
--- a/include/uapi/linux/usb/ch9.h
+++ b/include/uapi/linux/usb/ch9.h
@@ -913,6 +913,100 @@ struct usb_ssp_cap_descriptor {
  } __attribute__((packed));

  /*
+ * USB Power Delivery Capability Descriptor:
+ * Defines capabilities for PD
+ */
+#define USB_PD_POWER_DELIVERY_CAPABILITY       (0x06)  /* Defines the various 
PD Capabilities of this device */
+#define USB_PD_BATTERY_INFO_CAPABILITY         (0x07)  /* Provides information 
on each battery supported by the device */
+#define USB_PD_PD_CONSUMER_PORT_CAPABILITY     (0x08)  /* The Consumer 
characteristics of a Port on the device */
+#define USB_PD_PD_PROVIDER_PORT_CAPABILITY     (0x09)  /* The provider 
characteristics of a Port on the device */

   Parens not needed.

+
+struct usb_pd_cap_descriptor {
+       __u8  bLength;
+       __u8  bDescriptorType;
+       __u8  bDevCapabilityType; /* set to USB_PD_POWER_DELIVERY_CAPABILITY */
+       __u8  bReserved;
+       __le32 bmAttributes;
+#define uSB_PD_CAP_BATTERY_CHARGING    ( 1 << 1 ) /* supports Battery Charging 
specification */
+#define uSB_PD_CAP_USB_PD              ( 1 << 2 ) /* supports USB Power 
Delivery specification */
+#define uSB_PD_CAP_PROVIDER            ( 1 << 3 ) /* can provide power */
+#define uSB_PD_CAP_CONSUMER            ( 1 << 4 ) /* can consume power */
+#define uSB_PD_CAP_CHARGING_POLICY     ( 1 << 5 ) /* supports CHARGING_POLICY 
feature */
+#define uSB_PD_CAP_TYPE_C_CURRENT      ( 1 << 6 ) /* supports power 
capabilities defined in the USB Type-C Specification */
+
+#define uSB_PD_CAP_PWR_AC              ( 1 << 8 )
+#define uSB_PD_CAP_PWR_BAT             ( 1 << 9 )
+#define uSB_PD_CAP_PWR_USE_V_BUS       ( 1 << 14 )

   Remove spaces after ( and before ) please.

[...]
+struct usb_pd_cap_consumer_port_descriptor {
+       __u8 bLength;
+       __u8 bDescriptorType;
+       __u8 bDevCapabilityType;
+       __u8 bReserved;
+       __u8 bmCapabilities;
+/* port will oerate under: */
+#define uSB_PD_CAP_CONSUMER_BC         ( 1 << 0 ) /* BC */
+#define uSB_PD_CAP_CONSUMER_PD         ( 1 << 1 ) /* PD */
+#define uSB_PD_CAP_CONSUMER_TYPE_C     ( 1 << 2 ) /* USB Type-C Current */

   Likewise.

+       __le16 wMinVoltage; /* in 50mV units */
+       __le16 wMaxVoltage; /* in 50mV units */
+       __u16 wReserved;
+       __le32 dwMaxOperatingPower; /* in 10 mW - operating at steady state */
+       __le32 dwMaxPeakPower; /* in 10mW units - operating at peak power */
+       __le32 dwMaxPeakPowerTime; /* in 100ms units - duration of peak */
+#define uSB_PD_CAP_CONSUMER_UNKNOWN_PEAK_POWER_TIME 0xffff
+} __attribute__((packed));
+
+struct usb_pd_cap_provider_port_descriptor {
+       __u8 bLength;
+       __u8 bDescriptorType;
+       __u8 bDevCapabilityType;
+       __u8 bReserved1;
+       __u8 bmCapabilities;
+/* port will oerate under: */
+#define uSB_PD_CAP_PROVIDER_BC         ( 1 << 0 ) /* BC */
+#define uSB_PD_CAP_PROVIDER_PD         ( 1 << 1 ) /* PD */
+#define uSB_PD_CAP_PROVIDER_TYPE_C     ( 1 << 2 ) /* USB Type-C Current */

   Likewise.

[...]

MBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to