[PATCH] pwm: tiehrpwm: fix copy-paste error in obsolete DT binding fallback

From: Manush Prajwal

Date: Mon Sep 28 2026 - 14:03:43 EST


ehrpwm_pwm_probe() attempts to provide backward compatibility for older
device trees where the functional clock "fck" was supplied by the parent
PWMSS device rather than within the PWM child node itself.

However, when devm_clk_get() for "fck" fails, the fallback checks:

if (of_device_is_compatible(np, "ti,am33xx-ecap")) {
dev_warn(&pdev->dev, "Binding is obsolete.\n");
clk = devm_clk_get(pdev->dev.parent, "fck");
}

Because this logic was copied from pwm-tiecap.c, it mistakenly checks for
"ti,am33xx-ecap" instead of "ti,am33xx-ehrpwm". An eHRPWM node matches
ehrpwm_of_match ("ti,am3352-ehrpwm" or "ti,am33xx-ehrpwm") and will never
be compatible with "ti,am33xx-ecap". Consequently, for any device tree
using the obsolete "ti,am33xx-ehrpwm" binding, the fallback never triggers
and probe fails with "Failed to get fck".

Fix the check to test for "ti,am33xx-ehrpwm" as intended.

Signed-off-by: Manush Prajwal <manushprajwal555@xxxxxxxxx>
---
drivers/pwm/pwm-tiehrpwm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pwm/pwm-tiehrpwm.c b/drivers/pwm/pwm-tiehrpwm.c
index 3a53489f0..40166c5c8 100644
--- a/drivers/pwm/pwm-tiehrpwm.c
+++ b/drivers/pwm/pwm-tiehrpwm.c
@@ -426,7 +426,7 @@ static int ehrpwm_pwm_probe(struct platform_device *pdev)

clk = devm_clk_get(&pdev->dev, "fck");
if (IS_ERR(clk)) {
- if (of_device_is_compatible(np, "ti,am33xx-ecap")) {
+ if (of_device_is_compatible(np, "ti,am33xx-ehrpwm")) {
dev_warn(&pdev->dev, "Binding is obsolete.\n");
clk = devm_clk_get(pdev->dev.parent, "fck");
}
--
2.46.2.windows.1