[v3 PATCH 1/5] extcon: Add Type-C and DP support

Chris Zhong zyw at rock-chips.com
Thu Jun 23 05:51:00 PDT 2016


Add EXTCON_DISP_DP and EXTCON_DISP_DP_ALT for the Display external
connector. The EXTCON_DISP_DP is for DisplayPort, and the
EXTCON_DISP_DP_ALT is the DisplayPort as an Alternate Mode for
the USB Type-C connector (VESA DisplayPort Alt Mode on USB Type-C
Standard).

And for the Type-C USB, there is some information need to be supplied
by PowerDelivery or other mode detecter: port orientation and pin
assignments, so add these 2 virtual cable: EXTCON_TYPEC_POLARITY
and EXTCON_TYPEC_PIN_ASSIGN. If EXTCON_TYPEC_POLARITY is attached,
the Type-C get flip orientation. IF EXTCON_TYPEC_PIN_ASSIGN is
attached, Type-C get Pin_Assignment_C(for DP only mode) or
Pin_Assignment_D(for DP alt mode), the default Assignment is A or B.

Signed-off-by: Chris Zhong <zyw at rock-chips.com>
---

Changes in v3: None
Changes in v2: None
Changes in v1: None

 drivers/extcon/extcon.c | 6 ++++++
 include/linux/extcon.h  | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/drivers/extcon/extcon.c b/drivers/extcon/extcon.c
index 21a123c..0522b4d 100644
--- a/drivers/extcon/extcon.c
+++ b/drivers/extcon/extcon.c
@@ -53,6 +53,10 @@ static const char *extcon_name[] =  {
 	[EXTCON_CHG_USB_FAST]		= "FAST-CHARGER",
 	[EXTCON_CHG_USB_SLOW]		= "SLOW-CHARGER",
 
+	/* Type-c connector */
+	[EXTCON_TYPEC_POLARITY]		= "TYPE-C-POLARITY",
+	[EXTCON_TYPEC_PIN_ASSIGN]	= "TYPE-C-PIN-ASSIGN",
+
 	/* Jack external connector */
 	[EXTCON_JACK_MICROPHONE]	= "MICROPHONE",
 	[EXTCON_JACK_HEADPHONE]		= "HEADPHONE",
@@ -68,6 +72,8 @@ static const char *extcon_name[] =  {
 	[EXTCON_DISP_MHL]		= "MHL",
 	[EXTCON_DISP_DVI]		= "DVI",
 	[EXTCON_DISP_VGA]		= "VGA",
+	[EXTCON_DISP_DP]		= "DP",
+	[EXTCON_DISP_DP_ALT]		= "DP-ALT",
 
 	/* Miscellaneous external connector */
 	[EXTCON_DOCK]			= "DOCK",
diff --git a/include/linux/extcon.h b/include/linux/extcon.h
index 7abf674..98039ad 100644
--- a/include/linux/extcon.h
+++ b/include/linux/extcon.h
@@ -45,6 +45,10 @@
 #define EXTCON_CHG_USB_FAST	9
 #define EXTCON_CHG_USB_SLOW	10
 
+/* Type-c connector */
+#define EXTCON_TYPEC_POLARITY	11	/* Typec-C plug orientation */
+#define EXTCON_TYPEC_PIN_ASSIGN	12	/* Typec-C pin Assignment */
+
 /* Jack external connector */
 #define EXTCON_JACK_MICROPHONE	20
 #define EXTCON_JACK_HEADPHONE	21
@@ -60,6 +64,8 @@
 #define EXTCON_DISP_MHL		41	/* Mobile High-Definition Link */
 #define EXTCON_DISP_DVI		42	/* Digital Visual Interface */
 #define EXTCON_DISP_VGA		43	/* Video Graphics Array */
+#define EXTCON_DISP_DP		44	/* Display Port */
+#define EXTCON_DISP_DP_ALT	45	/* Display Port Type-C Alternate Mode */
 
 /* Miscellaneous external connector */
 #define EXTCON_DOCK		60
-- 
2.6.3




More information about the Linux-rockchip mailing list