From 231e74b2550fcbab7697bb5a60cc9728df9daf6a Mon Sep 17 00:00:00 2001 From: liuyc20 Date: Fri, 8 Sep 2023 17:31:44 +0800 Subject: [PATCH] PD: PowerRole set to SINK when detected the analog_audio plug-in TYPEC_SINK_AUDIO_ADAPTER ->set current_pr=PR_SINK ->enter_state_snk_startup->typec_set_pwr_role(will sent uevent) ->register and set /sys/class/typec/port0-partner/accessory_mode(analog_audio) Change-Id: I5aa26c83361739feec6e74a46c1ea23e48b0c0bf Signed-off-by: liuyc20 Reviewed-on: https://gerrit.mot.com/2734256 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Haijian Ma Reviewed-by: Huosheng Liao Submit-Approved: Jira Key --- drivers/usb/pd/policy_engine.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/pd/policy_engine.c b/drivers/usb/pd/policy_engine.c index 0265fda58b76..eb84b4e2a1ae 100644 --- a/drivers/usb/pd/policy_engine.c +++ b/drivers/usb/pd/policy_engine.c @@ -2650,6 +2650,8 @@ static void enter_state_snk_startup(struct usbpd *pd) memset(&pd->partner_identity, 0, sizeof(pd->partner_identity)); pd->partner_desc.usb_pd = false; pd->partner_desc.accessory = TYPEC_ACCESSORY_NONE; + if (pd->typec_mode == QTI_POWER_SUPPLY_TYPEC_SINK_AUDIO_ADAPTER) + pd->partner_desc.accessory = TYPEC_ACCESSORY_AUDIO; pd->partner = typec_register_partner(pd->typec_port, &pd->partner_desc); } @@ -3735,6 +3737,7 @@ static int usbpd_process_typec_mode(struct usbpd *pd, break; case QTI_POWER_SUPPLY_TYPEC_SINK_AUDIO_ADAPTER: usbpd_info(&pd->dev, "Type-C Analog Audio Adapter connected\n"); + pd->current_pr = PR_SINK; break; default: usbpd_warn(&pd->dev, "Unsupported typec mode:%d\n",