Commit 8cb3c169 authored by Samson Tam's avatar Samson Tam Committed by Alex Deucher

drm/amd/display: Add support for USBC connector

[Why]
Add support for CONNECTOR_ID_USBC
Reviewed-by: default avatarAlvin Lee <Alvin.Lee2@amd.com>
Acked-by: default avatarAlex Hung <alex.hung@amd.com>
Signed-off-by: default avatarSamson Tam <Samson.Tam@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 84d1ce06
...@@ -213,6 +213,9 @@ static enum connector_id connector_id_from_bios_object_id( ...@@ -213,6 +213,9 @@ static enum connector_id connector_id_from_bios_object_id(
case CONNECTOR_OBJECT_ID_MXM: case CONNECTOR_OBJECT_ID_MXM:
id = CONNECTOR_ID_MXM; id = CONNECTOR_ID_MXM;
break; break;
case CONNECTOR_OBJECT_ID_USBC:
id = CONNECTOR_ID_USBC;
break;
default: default:
id = CONNECTOR_ID_UNKNOWN; id = CONNECTOR_ID_UNKNOWN;
break; break;
......
...@@ -522,7 +522,8 @@ static enum bp_result transmitter_control_v2( ...@@ -522,7 +522,8 @@ static enum bp_result transmitter_control_v2(
*/ */
params.acConfig.ucEncoderSel = 1; params.acConfig.ucEncoderSel = 1;
if (CONNECTOR_ID_DISPLAY_PORT == connector_id) if (CONNECTOR_ID_DISPLAY_PORT == connector_id
|| CONNECTOR_ID_USBC == connector_id)
/* Bit4: DP connector flag /* Bit4: DP connector flag
* =0 connector is none-DP connector * =0 connector is none-DP connector
* =1 connector is DP connector * =1 connector is DP connector
......
...@@ -345,6 +345,7 @@ static enum signal_type get_basic_signal_type(struct graphics_object_id encoder, ...@@ -345,6 +345,7 @@ static enum signal_type get_basic_signal_type(struct graphics_object_id encoder,
case CONNECTOR_ID_LVDS: case CONNECTOR_ID_LVDS:
return SIGNAL_TYPE_LVDS; return SIGNAL_TYPE_LVDS;
case CONNECTOR_ID_DISPLAY_PORT: case CONNECTOR_ID_DISPLAY_PORT:
case CONNECTOR_ID_USBC:
return SIGNAL_TYPE_DISPLAY_PORT; return SIGNAL_TYPE_DISPLAY_PORT;
case CONNECTOR_ID_EDP: case CONNECTOR_ID_EDP:
return SIGNAL_TYPE_EDP; return SIGNAL_TYPE_EDP;
...@@ -380,7 +381,8 @@ bool dc_link_is_dp_sink_present(struct dc_link *link) ...@@ -380,7 +381,8 @@ bool dc_link_is_dp_sink_present(struct dc_link *link)
bool present = bool present =
((connector_id == CONNECTOR_ID_DISPLAY_PORT) || ((connector_id == CONNECTOR_ID_DISPLAY_PORT) ||
(connector_id == CONNECTOR_ID_EDP)); (connector_id == CONNECTOR_ID_EDP) ||
(connector_id == CONNECTOR_ID_USBC));
ddc = dal_ddc_service_get_ddc_pin(link->ddc); ddc = dal_ddc_service_get_ddc_pin(link->ddc);
...@@ -476,7 +478,8 @@ static enum signal_type link_detect_sink(struct dc_link *link, ...@@ -476,7 +478,8 @@ static enum signal_type link_detect_sink(struct dc_link *link,
result = SIGNAL_TYPE_DVI_SINGLE_LINK; result = SIGNAL_TYPE_DVI_SINGLE_LINK;
} }
break; break;
case CONNECTOR_ID_DISPLAY_PORT: { case CONNECTOR_ID_DISPLAY_PORT:
case CONNECTOR_ID_USBC: {
/* DP HPD short pulse. Passive DP dongle will not /* DP HPD short pulse. Passive DP dongle will not
* have short pulse * have short pulse
*/ */
...@@ -1591,6 +1594,7 @@ static bool dc_link_construct_legacy(struct dc_link *link, ...@@ -1591,6 +1594,7 @@ static bool dc_link_construct_legacy(struct dc_link *link,
link->connector_signal = SIGNAL_TYPE_DVI_DUAL_LINK; link->connector_signal = SIGNAL_TYPE_DVI_DUAL_LINK;
break; break;
case CONNECTOR_ID_DISPLAY_PORT: case CONNECTOR_ID_DISPLAY_PORT:
case CONNECTOR_ID_USBC:
link->connector_signal = SIGNAL_TYPE_DISPLAY_PORT; link->connector_signal = SIGNAL_TYPE_DISPLAY_PORT;
if (link->hpd_gpio) if (link->hpd_gpio)
......
...@@ -162,6 +162,7 @@ enum connector_id { ...@@ -162,6 +162,7 @@ enum connector_id {
CONNECTOR_ID_MXM = 21, CONNECTOR_ID_MXM = 21,
CONNECTOR_ID_WIRELESS = 22, CONNECTOR_ID_WIRELESS = 22,
CONNECTOR_ID_MIRACAST = 23, CONNECTOR_ID_MIRACAST = 23,
CONNECTOR_ID_USBC = 24,
CONNECTOR_ID_VIRTUAL = 100 CONNECTOR_ID_VIRTUAL = 100
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment