Skip to contentSkip to conversation

ARM: dts: am33xx: avoid invalid OCP device-link for timer1 and timer2

PATCH New Wagner Popov dos Santos 2 participants 2 messages Jul 1

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: dts: am33xx: avoid invalid OCP device-link for timer1 and timer2

This patch fixes boot-time fw_devlink errors on AM335x/UCC3 caused by invalid device-link creation attempts involving timer1/timer2 and supplier ocp.

Observed kernel log messages:

ti-sysc 44e31000.target-module: Failed to create device link (0x180) with supplier ocp for /ocp/interconnect@44c00000/segment@200000/target-module@31000/timer@0

ti-sysc 48040000.target-module: Failed to create device link (0x180) with supplier ocp for /ocp/interconnect@48000000/segment@0/target-module@40000/timer@0

The change updates dependency handling for timer1 and timer2 so the kernel no longer attempts this invalid link-creation path during initialization of supplier ocp.

Impact:

- Removes the two ti-sysc/fw_devlink error messages at boot
- Preserves current timer and clock assignment behavior
- No functional regression observed in boot and timer operation tests

---
 arch/arm/boot/dts/ti/omap/am33xx.dtsi | 2 ++
 1 file changed, 2 insertions(+)
arch/arm/boot/dts/ti/omap/am33xx.dtsi +2 -0
index ca3e7f5d7d0dc..760598d5ae1c9 100644
@@ -708,6 +708,7 @@ &timer1_target {
 	timer@0 {
 		assigned-clocks = <&timer1_fck>;
 		assigned-clock-parents = <&sys_clkin_ck>;
+		post-init-providers = <&ocp>;
 	};
 };
 
@@ -721,5 +722,6 @@ &timer2_target {
 	timer@0 {
 		assigned-clocks = <&timer2_fck>;
 		assigned-clock-parents = <&sys_clkin_ck>;
+		post-init-providers = <&ocp>;
 	};
 };
Signature · 1 line
2.43.0
#1 lore raw
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Medium] Using the undocumented, Linux-internal `post-init-providers` property to silence an OS warning. --

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Using the undocumented, Linux-internal post-init-providers property to silence an OS warning. --

commit be227235cebc7285a11a56bcbf6975ef2b78f927
Author: Wagner Popov dos Santos <[email protected]>
ARM: dts: am33xx: avoid invalid OCP device-link for timer1 and timer2

This patch updates dependency handling for timer1 and timer2 on AM335x/UCC3. It adds post-init-providers to the device nodes to avoid boot-time fw_devlink errors caused by invalid link-creation attempts.

arch/arm/boot/dts/ti/omap/am33xx.dtsi &timer1_target { · line 711

Quoted 9 lines
arch/arm/boot/dts/ti/omap/am33xx.dtsi +1 -0
index ca3e7f5d7d0dc..760598d5ae1c9 100644
@@ -708,6 +708,7 @@ &timer1_target {
 	timer@0 {
 		assigned-clocks = <&timer1_fck>;
 		assigned-clock-parents = <&sys_clkin_ck>;
+		post-init-providers = <&ocp>;

[Severity: Medium]
Does this introduce a regression by using an undocumented Linux-specific property in the Device Tree to silence an OS warning here in timer1_target?

Since Device Tree is intended to be an OS-agnostic hardware description, adding this internal Linux fw_devlink mechanism pollutes the DT with an OS-specific probing workaround.

Would it be better to fix this regression in the driver core instead?

Perhaps patching fw_devlink_create_devlink() to gracefully skip link creation when the resolved supplier is an ancestor of the consumer would address the root cause without adding OS-specific properties to the DT.

arch/arm/boot/dts/ti/omap/am33xx.dtsi &timer2_target { · line 725

Quoted 8 lines
arch/arm/boot/dts/ti/omap/am33xx.dtsi +1 -0
 	};
 };
 
@@ -721,5 +722,6 @@ &timer2_target {
 	timer@0 {
 		assigned-clocks = <&timer2_fck>;
 		assigned-clock-parents = <&sys_clkin_ck>;
+		post-init-providers = <&ocp>;

[Severity: Medium]
Does this node for timer2_target introduce the same regression mentioned above?

Quoted 2 lines
arch/arm/boot/dts/ti/omap/am33xx.dtsi +0 -0
 	};
 };
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=1