From 69486e81afecc0a29ca8cd25bbc6bd871af7f143 Mon Sep 17 00:00:00 2001 From: Rafael Ortolan Date: Tue, 16 May 2023 19:32:04 -0300 Subject: [PATCH] pd: configurable tcpc timeout to detect charger type Different devices require different settings for tcpc's max polling count. Make this value configurable. Change-Id: I10b3bc4f27d14e00c5ec2b4ca943c1f97b4eb14a Reviewed-on: https://gerrit.mot.com/2610513 SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Bruno Oliveira Reviewed-by: Huosheng Liao Reviewed-by: Lu Chai Submit-Approved: Jira Key SME-Granted: SME Approvals Granted --- drivers/usb/typec/mmi_tcpc/Android.mk | 5 +++-- drivers/usb/typec/mmi_tcpc/Kbuild | 4 ++-- drivers/usb/typec/mmi_tcpc/rt_pd_manager.c | 5 +++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/usb/typec/mmi_tcpc/Android.mk b/drivers/usb/typec/mmi_tcpc/Android.mk index f3be5769a12b..97e5fe6c0536 100644 --- a/drivers/usb/typec/mmi_tcpc/Android.mk +++ b/drivers/usb/typec/mmi_tcpc/Android.mk @@ -34,8 +34,9 @@ ifeq ($(USB_POWER_DELIVERY),true) KERNEL_CFLAGS += CONFIG_USB_POWER_DELIVERY=y endif -ifeq ($(TCPC_DEVON_POLLING_TIME),true) - KERNEL_CFLAGS += CONFIG_TCPC_DEVON_POLLING_TIME=y +TCPC_MAX_POLLING_COUNT := $(shell echo $(TCPC_MAX_POLLING_COUNT) | grep -o "[0-9]\+") +ifneq ($(TCPC_MAX_POLLING_COUNT),) + KERNEL_CFLAGS += CONFIG_TCPC_MAX_POLLING_COUNT=$(TCPC_MAX_POLLING_COUNT) endif diff --git a/drivers/usb/typec/mmi_tcpc/Kbuild b/drivers/usb/typec/mmi_tcpc/Kbuild index e6ef9c2547e7..e625a01a004e 100644 --- a/drivers/usb/typec/mmi_tcpc/Kbuild +++ b/drivers/usb/typec/mmi_tcpc/Kbuild @@ -23,8 +23,8 @@ ifneq ($(filter m y,$(CONFIG_TCPC_SGM7220)),) obj-m += tcpc_sgm7220.o endif -ifneq ($(filter m y,$(CONFIG_TCPC_DEVON_POLLING_TIME)),) - EXTRA_CFLAGS += -DCONFIG_TCPC_DEVON_POLLING_TIME +ifneq ($(CONFIG_TCPC_MAX_POLLING_COUNT),) + EXTRA_CFLAGS += -DCONFIG_TCPC_MAX_POLLING_COUNT=$(CONFIG_TCPC_MAX_POLLING_COUNT) endif tcpc_class-objs += tcpci_core.o tcpci_typec.o tcpci_timer.o \ diff --git a/drivers/usb/typec/mmi_tcpc/rt_pd_manager.c b/drivers/usb/typec/mmi_tcpc/rt_pd_manager.c index 153459a37dc8..36a9a06539b0 100644 --- a/drivers/usb/typec/mmi_tcpc/rt_pd_manager.c +++ b/drivers/usb/typec/mmi_tcpc/rt_pd_manager.c @@ -31,8 +31,9 @@ #define PROBE_CNT_MAX 3 /* 10ms * 100 = 1000ms = 1s */ #define USB_TYPE_POLLING_INTERVAL 10 -#ifdef CONFIG_TCPC_DEVON_POLLING_TIME -#define USB_TYPE_POLLING_CNT_MAX 130 + +#if defined(CONFIG_TCPC_MAX_POLLING_COUNT) +#define USB_TYPE_POLLING_CNT_MAX CONFIG_TCPC_MAX_POLLING_COUNT #else #define USB_TYPE_POLLING_CNT_MAX 100 #endif