[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1466686264-6744-2-git-send-email-zyw@rock-chips.com>
Date: Thu, 23 Jun 2016 20:51:00 +0800
From: Chris Zhong <zyw@...k-chips.com>
To: dianders@...omium.org, tfiga@...omium.org, heiko@...ech.de,
yzq@...k-chips.com, groeck@...omium.org, myungjoo.ham@...sung.com,
cw00.choi@...sung.com
Cc: linux-rockchip@...ts.infradead.org,
Chris Zhong <zyw@...k-chips.com>, linux-kernel@...r.kernel.org
Subject: [v3 PATCH 1/5] extcon: Add Type-C and DP support
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@...k-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
Powered by blists - more mailing lists