ARM: dts: am33xx: avoid invalid OCP device-link for timer1 and timer2
Subsystems (2)
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
@@ -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
[email protected]
AI reviewThank 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@@ -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