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

Chanwoo Choi cwchoi00 at gmail.com
Tue Jun 28 05:26:35 PDT 2016


Hi Chris,

I agree to add the new EXTCON_DISP_DP connector.
But, other new definition should be discussed.
- EXTCON_DISP_DP_ALT
- EXTCON_TYPEC_POLARITY
- EXTCON_TYPEC_PIN_ASSIGN

I think that TYPEC_POLARITY and TYPEC_PIN_ASSING are not appropriate
as the new external connector definition. These are the property or attribute of
USB connector with C-type.

Also, EXTCON_DISP_DP_ALT is not a new type of connector.
It is just one of the mode for DP connector.

As I knew, DP alternative mode use the USB connector with C-type.
So, DP alternative mode can be expressed on following:
 = EXTCON_DISP_DP + EXTCON_USB + some property of USB c-type

Thanks,
Chanwoo Choi

2016-06-23 21:51 GMT+09:00 Chris Zhong <zyw at rock-chips.com>:
> 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