USB type C, USB BC1.2 and USB power delivery allow different voltages
and currents for VBUS so we need these additional properties.

Also USB type C allows separate device and power roles so add a VBUS SRC
property.

Signed-off-by: Angus Ainslie <[email protected]>
---
 include/linux/extcon.h | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/include/linux/extcon.h b/include/linux/extcon.h
index fd183fb9c20f..c4d48f4f74c4 100644
--- a/include/linux/extcon.h
+++ b/include/linux/extcon.h
@@ -117,14 +117,29 @@
  * @type:       integer (intval)
  * @value:      0 (USB/USB2) or 1 (USB3)
  * @default:    0 (USB/USB2)
+ * - EXTCON_PROP_USB_VBUS_SRC
+ * @type:      integer (intval)
+ * @value:     0 (sink) or 1 (source)
+ * @default:   0 (sink)
+ * - EXTCON_PROP_USB_VBUS_VOLTAGE
+ * @type:      integer (intval)
+ * @value:     negotiated vbus voltage in mV
+ * @default:   5000
+ * - EXTCON_PROP_USB_VBUS_CURRENT
+ * @type:      integer (intval)
+ * @value:     negotiated vbus current in mA
+ * @default:   100
  *
  */
 #define EXTCON_PROP_USB_VBUS           0
 #define EXTCON_PROP_USB_TYPEC_POLARITY 1
 #define EXTCON_PROP_USB_SS             2
+#define EXTCON_PROP_USB_VBUS_SRC       3
+#define EXTCON_PROP_USB_VBUS_VOLTAGE   4
+#define EXTCON_PROP_USB_VBUS_CURRENT   5
 
 #define EXTCON_PROP_USB_MIN            0
-#define EXTCON_PROP_USB_MAX            2
+#define EXTCON_PROP_USB_MAX            5
 #define EXTCON_PROP_USB_CNT    (EXTCON_PROP_USB_MAX - EXTCON_PROP_USB_MIN + 1)
 
 /* Properties of EXTCON_TYPE_CHG. */
-- 
2.25.1

Reply via email to