Re: [PATCH 1/2] bus: ti-sysc: Add DRA7 SoC matching

From: Kumar, Udit
Date: Fri Aug 29 2025 - 10:22:33 EST



On 8/29/2025 2:59 PM, Anurag Dutta wrote:
From: Sinthu Raja <sinthu.raja@xxxxxx>

Kernel Commit 25de4ce5ed02 ("clocksource/drivers/timer-ti-dm: Handle
dra7 timer wrap errata i940") states that "There is a timer wrap issue
on dra7 and as a work around, we need to use timer-ti-dm percpu timers
instead. So, configure dmtimer3 and 4 as percpu timers by default." In
this commit, the author has used ti,no-reset-on-init and ti,no-idle quirks.

The sysc_check_active_timer() checks for these quirks and accordingly,
returns EBUSY error if the quirks match. Because of this, the timer
modules fail to probe as can be observed during bootup :"ti-sysc
4882c000.target-module: probe with driver ti-sysc failed with error -16"

Return 'ENXIO' instead of 'EBUSY' for DRA7 SoC, so that the error is set
to ENXIO and the module gets probed under "certain conditions".

Please define, what are "certain conditions".

With addition of conditions in commit message, for this patch

Reviewed-by: Udit Kumar <u-kumar1@xxxxxx>



Signed-off-by: Sinthu Raja <sinthu.raja@xxxxxx>
Signed-off-by: Anurag Dutta <a-dutta@xxxxxx>
---
drivers/bus/ti-sysc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
index 5566ad11399e..90766f804706 100644
--- a/drivers/bus/ti-sysc.c
+++ b/drivers/bus/ti-sysc.c
@@ -3117,7 +3117,8 @@ static int sysc_check_active_timer(struct sysc *ddata)
* can be dropped if we stop supporting old beagleboard revisions
* A to B4 at some point.
*/
- if (sysc_soc->soc == SOC_3430 || sysc_soc->soc == SOC_AM35)
+ if (sysc_soc->soc == SOC_3430 || sysc_soc->soc == SOC_AM35 ||
+ sysc_soc->soc == SOC_DRA7)
error = -ENXIO;
else
error = -EBUSY;