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

Chris Zhong
2016-07-14T02:08:33Z

Hi Chanwoo Choi

On 07/14/2016 09:15 AM, Chanwoo Choi wrote:
> Hi Chris,
>
> [snip]
>
>>>>> Thanks,
>>>>> Chanwoo Choi
>>>> There are 4 modes for Type-C DP alt mode:
>>>> 1) USB host only :
>>>>
>>>> extcon_set_cable_state(edev, EXTCON_USB_HOST, 1);
>>>> extcon_set_cable_state(edev, EXTCON_USB, 0);
>>>> extcon_set_cable_state(edev, EXTCON_DISP_DP, 0);
>>>>
>>>> 2) USB device only
>>>>
>>>> extcon_set_cable_state(edev, EXTCON_USB_HOST, 0);
>>>> extcon_set_cable_state(edev, EXTCON_USB, 1);
>>>> extcon_set_cable_state(edev, EXTCON_DISP_DP, 0);
>>>>
>>>> 3) DP only
>>>>
>>>> extcon_set_cable_state(edev, EXTCON_USB_HOST, 0);
>>>> extcon_set_cable_state(edev, EXTCON_USB, 0);
>>>> extcon_set_cable_state(edev, EXTCON_DISP_DP, 1);
>>>>
>>>> 4) USB + DP
>>>>
>>>> extcon_set_cable_state(edev, EXTCON_USB_HOST, 1);
>>>> extcon_set_cable_state(edev, EXTCON_USB, 0);
>>>> extcon_set_cable_state(edev, EXTCON_DISP_DP, 1);
>>>>
>>>>
>>>> for 3rd mode: DP only, there is only EXTCON_DISP_DP is attached, the EXTCON_USB_HOST
>>>> and EXTCON_USB are detached, Can I set the property into these 2 detached cable?
>>>> or just call extcon_set_cable_state(edev, EXTCON_DISP_DP, EXTCON_PROP_TYPEC_POLARITY, 0 or 1);
>>> I'm thinking to solve this issue. In result, we can add one more type to specific connector.
>>> For EXTCON_DISP_DP, we can add the two type as following. And EXTCON_PROP_TYPEC_POLARITY property
>>> should be added to EXTCON_TYPE_USB.
>>>
>>> + [EXTCON_DISP_DP] = {
>>> + .type = EXTCON_TYPE_DISP | EXTCON_TYPE_USB,
>>> + .id = EXTCON_DISP_DP,
>>> + .name = "DP",
>>> + },
>>>
>>> So, as you mentioned, EXTCON_DISP_DP can set the EXTCON_PROP_TYPEC_POLARITY property as following:
>>> - extcon_set_cable_state(edev, EXTCON_DISP_DP, EXTCON_PROP_TYPEC_POLARITY, 0 or 1);
>>>
>>> I'll again developing the extcon property.
>>>
>>> Thanks,
>>> Chanwoo Choi
>>>
>> Nice idea, But I am thinking about is it compatible with real DisplayPort without Type-C.
>> Maybe we should add a new cable: EXTCON_DISP_DP_ALT
>>
>> + [EXTCON_DISP_DP] = {
>> + .type = EXTCON_TYPE_DISP,
>> + .id = EXTCON_DISP_DP,
>> + .name = "DP",
>> + },
>>
>> + [EXTCON_DISP_DP_ALT] = {
>> + .type = EXTCON_TYPE_DISP | EXTCON_TYPE_USB,
>> + .id = EXTCON_DISP_DP,
>> + .name = "DP ALT",
>> + },
> EXTCON_DISP_DP_ALT means EXTCON_DISP_DP connector with EXTCON_PROP_TYPEC_POLARITY property.
> So, we can explain the DP alternative mode without EXTCON_DISP_DP_ALT.
>
> I'm wondering to add the new EXTCON_DISP_DP_ALT connector
> because alternative mode was defined as mode instead of new h/w connector type.
>
> Thanks,
> Chanwoo Choi
>
>
Okay, so I think some comment for EXTCON_DISP_DP is necessary and enough.
>
>