From patchwork Thu Sep 18 15:52:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4322 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 960D83F14F for ; Thu, 18 Sep 2025 17:52:54 +0200 (CEST) Received: by mail-ed1-f72.google.com with SMTP id 4fb4d7f45d1cf-62f5029db58sf1697329a12.1 for ; Thu, 18 Sep 2025 08:52:54 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1758210774; cv=pass; d=google.com; s=arc-20240605; b=eumnsG40dvTJOOxhBNMD7y3LM6ECslK06x7dReRo8Xizm75wxwMqo5juZu23j7LRYm Mz/PSJyGW/KIeYIgj2aHqvA2cTv1xvjPrwuJ7JPkvH3zEGpllyyOjvPKKuuqh1NNfEHj DNeHaqxDapFJ6JEldpxaoKsitupUN5+nHc0/qg458+xHrIgEPasBLg2mKG1z7ZpGLjBY bkfx0Ng+zyViPi5fUB2UJYxYCzS0BCM3N5BxpzPOX8vPc8LYYB8wkvQ9qHmVRQlNW38N 1T38F38b+usiiE3hWUEqq/IDD2lP36z8jOeUezii6VaNV3YCQF5LNiItQVf8on8cIlkf pwAg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=tqNe22f18JcOWw5HwGXv6PtxE18Ta+bkBWtGf2PAgus=; fh=baXrFyaUTt7kK446EkVwnUO9/g8dNXBKa1eLCY4iM/E=; b=SI2Wgo9SRgqlIR6WYuEN0gxkcTXqfA6qbjD0R9WFl1/IGDJKziXyTqMSB454X9e+mM +hBerh7xJ8AkZu3t9lkBfrdmLk4PZBSf8ma6qQhQz/DlvorU2yByo+uZzDsguPOKWe7t Nax5IGOnOaVx/yhHH9z6fcteeMyfAPfFfg/vJHptEgcbCJiMIUFJW3jHSdk4a2zNQpvj lcgLOsMwkjRgmfIj8GvKvHWc/3EMKuaKDdnTAldgsAL4Va1zqQ3Dt0ZZIwTJkXJBoCIO tckf90KD3CBng9CvNDYJ6w2JFKafEkQc21RLmzl9V4mpBE0eSNkHeqANs8EnnoW4em0f Ftvw==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=NyvH5KME; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=pass header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1758210774; x=1758815574; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=tqNe22f18JcOWw5HwGXv6PtxE18Ta+bkBWtGf2PAgus=; b=UCqIPWwXJSMYS77KQXbNDBa6DJ+0XP5Xa6Zp6vaT59Kz4b1+PSrT+e1TQfI3cHFYwj C9zFiHZh2NxSwfvzQOPPkDt1EiKePcpmJAfSryww/M3aRugCUWmD9fF3oegeRoz81INX 9Okr6MXaFY2WftqQMSDq3kK9NOBBhiP5dbFDA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758210774; x=1758815574; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-beenthere:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=tqNe22f18JcOWw5HwGXv6PtxE18Ta+bkBWtGf2PAgus=; b=tDfXi1mXVa4Ih4n+wjzFYlJligsK0ez5IzRyyumfnMadqvRjbu82oA5qvnp777p/Ye Dd+bK4CZu8IaJmIjo1ajDqyviyr5LoDI4PK4/lW7wOE9vRZhgaFfkXRW3Lvwx2Gy0myj J8tDRHBC0SuBlDKhOTiLvrO/pRrr1gIx+WtGqglc3q/IWRrmyEBmaGa9CLZtkAtzV0+G pg6OaiaoFktIyocVI2SeeNsMJrCgOTPM1465seaqmzea5KNYLb2WA8TnVj3ChNJDtXUw vMUko6PNTM1MWBd+9a5LSwGM4IsOsFX7GcK8ELEO2hovOHbZK2YK3t/mGXLLf+pJapEF r/Sg== X-Forwarded-Encrypted: i=2; AJvYcCWJiBIAwCqeXmxmFFcDCrjnvV/nnEj2D7WggJ+Mv1TWtIrCTvhMsIV0gCxMMlLPISMXDjFCzuLxDqanSCOx@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YyOHl71WK6hlMTZI+WcgzgeGeQKCvLlYrQCdThQP9JK9MSqlaTe 8LP8+rF2JwSnH/sOlgTzwRLnc5RZ2MJ8opq9lgaRfcFb2X5lOoMF+lNQg5OI7RzkqOm4muEj5i3 vUA== X-Google-Smtp-Source: AGHT+IGB0AA2MH1QIr0ACNLpQanCWCcgAslecMwn4zax8xFmIgHGeWWw/SiJqevChnvUGvRWt/zJHw== X-Received: by 2002:a05:6402:2688:b0:62e:de67:6543 with SMTP id 4fb4d7f45d1cf-62f83c32bbdmr5132286a12.4.1758210774203; Thu, 18 Sep 2025 08:52:54 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h=ARHlJd4/fG3gRD9qwjeYMfa0FDQeAscm8J09QvjInhxx4IC7GQ== Received: by 2002:a05:6402:a0d8:b0:61c:ef7f:7d32 with SMTP id 4fb4d7f45d1cf-62fa84c6973ls1105383a12.2.-pod-prod-05-eu; Thu, 18 Sep 2025 08:52:52 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCViTVYjBaBsJU/vMGR57eNaTQQr6lpEfWn6RSYg+kRH39WIgXcwC6X62bAkStn02us/6909CAvJfciGaEv2@amarulasolutions.com X-Received: by 2002:a17:907:3da1:b0:afe:87bd:da59 with SMTP id a640c23a62f3a-b1bc02f68a2mr671970766b.42.1758210771910; Thu, 18 Sep 2025 08:52:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1758210771; cv=none; d=google.com; s=arc-20240605; b=cLMNn4tu4IcAT4rRLKF23JKdYDmRyoZVqQeM1oJNmgB86tn+B1/k0Qz6f2griYY7bn A/7vmanAc3y6jjanZlb2UC5KcbKvYbK0LdxCrMr1ynVSjAcGHAsqGLgSTE6V4U1cL7zS YY7rL6zoN5CWEi7sEkJvP2jpB11YxhSp7KJK3QyOdct/EWeiZpRJU9+LGA2knZuvu6XC NATXWQQm38ka83PROZ63Uy/pywKRgpYmVdXYJGX4+4EfsS0N3i04xBsqDkLmqUnnuPpt snWXdXr2panw95jw/SX6x86ybk2fsl79qKVNWmj4XC86zJvedTLVnG12SUCOV141/pwR MVUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=K/20C6aqh7jqDUANzEy0rtZwUuYaJgtco0TQqT9aNmo=; fh=+LGpNdgcWjfbiZPbIdTYx/3nW82HYLLCBTMUTe3oTdk=; b=J0WvRGYu/kdI1Q4rarO3QH/cAomcWvUKZ7s7+NBBSr5Q0mvM48JO23w6ukxWcYLWyY 9xA3GKWNO1o7Uw9vDLPXl+Eeb3BEWun4d/Y4VKxrrKCoFEqYeTF6iFtImRNJpJgMUtXb esfnROGfurwFVvCEzUCyYB0XjYEg3F7Mbyx1gYG5Gh1UM05+zIuwqIYyRZglsEpYCMRB DQZPaC0R79XErBNnu6k9gSCd8lk8FU7uNsuVc08x7AualYx6SZkokC1MGXkQdm4CH9MG 1j9zlIJ6QMH//TbfPFtYJeyn0WEKq0B9tGIgSf4D2D3GehkoT+80eHkDPnxRshnRMOjJ QS5A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=NyvH5KME; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=pass header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id a640c23a62f3a-b1fc68fc8b7sor121020666b.4.2025.09.18.08.52.51 for (Google Transport Security); Thu, 18 Sep 2025 08:52:51 -0700 (PDT) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Forwarded-Encrypted: i=1; AJvYcCW74SQMzwmClgZzrPFWezHBQZoPz89T95OgHzkmdFs6Q3XvJUJvrTaMqR3TJjSrBAmpJ5FQkOYaoetZ8jhe@amarulasolutions.com X-Gm-Gg: ASbGncvrlPLaIHSDtRlYnM/oEQhELX3xFsAE5XA3ZH0e8VV9pSR0wu8kCSVklp5I0z4 5MdrayOn5jBRfXqcguqMQUdeaWYuF4zJeOuJch42sfEHOgjP7StTchPgaz7a5gQjYkArGFad1Oy kpnF6tbXLhwBPe5T2frTCevKdxqqBHzZaDSMEGVmbjLw4vDjt0s2lDpLXixNWRPkg20mciJk9Zd pLE2Jr4Wh5yFE7qxYzGFSAy5Ri5urdcm4mnw9pONz+wAYkkOMeRBAlsXEoZ8s75OhKyQgW85gSX Wj+106FlZ03exLWTSH+yrlMHU6YKGDrUThN6DlEjuqe79fok3nmB/Rp/Q9N3Ih93gZeCiTQSA1R fo+AWGMFPToMjIhyWzQH/FMZdVWjJUlatoxFerssZpYt3mLamfgPl3XTBwMIvzG2rtrPP+Je8JF 9cHch/p8hrkMp5pFXsj6GkEHL4zvSADyfCBbJLhF7KUVAmvT8WjUJjaK+HfQVnhSEGJpn0KNVdt 4Pp8lfyq6I= X-Received: by 2002:a17:906:730e:b0:b07:de95:1c70 with SMTP id a640c23a62f3a-b1bc02f66d5mr759256666b.31.1758210771452; Thu, 18 Sep 2025 08:52:51 -0700 (PDT) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-82-56-38-125.retail.telecomitalia.it. [82.56.38.125]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b23a1227bacsm60449766b.41.2025.09.18.08.52.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Sep 2025 08:52:51 -0700 (PDT) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: Frank Li , linux-amarula@amarulasolutions.com, Dario Binacchi , Dmitry Torokhov , Fabio Estevam , Michael Trimarchi , Pengutronix Kernel Team , Sascha Hauer , Shawn Guo , imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-input@vger.kernel.org Subject: [PATCH v5 6/6] Input: imx6ul_tsc - set glitch threshold by DTS property Date: Thu, 18 Sep 2025 17:52:34 +0200 Message-ID: <20250918155240.2536852-7-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250918155240.2536852-1-dario.binacchi@amarulasolutions.com> References: <20250918155240.2536852-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=NyvH5KME; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=pass header.i=@amarulasolutions.com Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Set the glitch threshold by DTS property and keep the existing default behavior if the 'touchscreen-glitch-threshold-ns' is not present. Signed-off-by: Dario Binacchi Reviewed-by: Frank Li --- Changes in v5: - I didn’t remove patches: - 2/6 Input: imx6ul_tsc - use BIT, FIELD_{GET,PREP} and GENMASK macros - 1/6 Input: imx6ul_tsc - fix typo in register name even though they were accepted, to avoid generating conflicts detected by the kernel test robot. - Re-work the commit message - Add Reviewed-by tag of Frank Li Changes in v4: - Adjust property description fsl,imx6ul-tsc.yaml following the suggestions of Conor Dooley and Frank Li. Changes in v3: - Remove the final part of the description that refers to implementation details in fsl,imx6ul-tsc.yaml. Changes in v2: - Replace patch ("dt-bindings: input: touchscreen: fsl,imx6ul-tsc: add fsl,glitch-threshold") with ("dt-bindings: touchscreen: add touchscreen-glitch-threshold-ns property"), making the previous property general by moving it to touchscreen.yaml. - Rework "Input: imx6ul_tsc - set glitch threshold by DTS property" patch to match changes made to the DTS property. - Move "Input: imx6ul_tsc - use BIT, FIELD_{GET,PREP} and GENMASK macros" patch right after the patch fixing the typo. - Rework to match changes made to the DTS property. drivers/input/touchscreen/imx6ul_tsc.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/drivers/input/touchscreen/imx6ul_tsc.c b/drivers/input/touchscreen/imx6ul_tsc.c index e2c59cc7c82c..0d753aa05fbf 100644 --- a/drivers/input/touchscreen/imx6ul_tsc.c +++ b/drivers/input/touchscreen/imx6ul_tsc.c @@ -79,7 +79,7 @@ #define MEASURE_SIG_EN BIT(0) #define VALID_SIG_EN BIT(8) #define DE_GLITCH_MASK GENMASK(30, 29) -#define DE_GLITCH_2 0x02 +#define DE_GLITCH_DEF 0x02 #define START_SENSE BIT(12) #define TSC_DISABLE BIT(16) #define DETECT_MODE 0x2 @@ -98,6 +98,7 @@ struct imx6ul_tsc { u32 pre_charge_time; bool average_enable; u32 average_select; + u32 de_glitch; struct completion completion; }; @@ -205,7 +206,7 @@ static void imx6ul_tsc_set(struct imx6ul_tsc *tsc) basic_setting |= AUTO_MEASURE; writel(basic_setting, tsc->tsc_regs + REG_TSC_BASIC_SETTING); - debug_mode2 = FIELD_PREP(DE_GLITCH_MASK, DE_GLITCH_2); + debug_mode2 = FIELD_PREP(DE_GLITCH_MASK, tsc->de_glitch); writel(debug_mode2, tsc->tsc_regs + REG_TSC_DEBUG_MODE2); writel(tsc->pre_charge_time, tsc->tsc_regs + REG_TSC_PRE_CHARGE_TIME); @@ -391,6 +392,7 @@ static int imx6ul_tsc_probe(struct platform_device *pdev) int tsc_irq; int adc_irq; u32 average_samples; + u32 de_glitch; tsc = devm_kzalloc(&pdev->dev, sizeof(*tsc), GFP_KERNEL); if (!tsc) @@ -513,6 +515,26 @@ static int imx6ul_tsc_probe(struct platform_device *pdev) return -EINVAL; } + err = of_property_read_u32(np, "touchscreen-glitch-threshold-ns", + &de_glitch); + if (err) { + tsc->de_glitch = DE_GLITCH_DEF; + } else { + u64 cycles; + unsigned long rate = clk_get_rate(tsc->tsc_clk); + + cycles = DIV64_U64_ROUND_UP((u64)de_glitch * rate, NSEC_PER_SEC); + + if (cycles <= 0x3ff) + tsc->de_glitch = 3; + else if (cycles <= 0x7ff) + tsc->de_glitch = 2; + else if (cycles <= 0xfff) + tsc->de_glitch = 1; + else + tsc->de_glitch = 0; + } + err = input_register_device(tsc->input); if (err) { dev_err(&pdev->dev,