[PATCH DISCUSSION 2/8] arm64: dts: ti: k3-am625-beagleplay: set post-init-providers

Francesco Valla <[email protected]> Wed, 26 Nov 2025 23:54:30 +0100
Newsgroups org.kernel.vger.linux-embedded
Message-ID <[email protected]>
Add the post-init-providers property where reasonable:

  - the gic500 is depending on itself, but that is taken care during
    probe;
  - the TPS65219 PMIC is depending on one of its regulators, but also
    that is considered during probe;
  - the DRM endpoints causes mutual dependencies between componets, but
    only one way is an actual init dependency for each couple.

This solves the following cycles found by the fw_devlink infrastructure
during initialization:

[    0.056895] /bus@f0000/interrupt-controller@1800000: Fixed dependency cycle(s) with /bus@f0000/interrupt-controller@1800000
[    0.057072] /bus@f0000/i2c@20020000/bridge-hdmi@4c: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
[    0.057218] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/i2c@20020000/bridge-hdmi@4c
[    0.073755] /bus@f0000/i2c@20020000/bridge-hdmi@4c: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
[    0.079458] /bus@f0000/i2c@20020000/bridge-hdmi@4c: Fixed dependency cycle(s) with /bus@f0000/dss@30200000
[    0.079567] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/i2c@20020000/bridge-hdmi@4c
[    0.086984] /bus@f0000/i2c@20020000/bridge-hdmi@4c: Fixed dependency cycle(s) with /connector-hdmi
[    0.087088] /connector-hdmi: Fixed dependency cycle(s) with /bus@f0000/i2c@20020000/bridge-hdmi@4c
[    0.573947] /bus@f0000/i2c@20000000/pmic@30: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/pmic@30/regulators/buck2
[    0.598398] /connector-hdmi: Fixed dependency cycle(s) with /bus@f0000/i2c@20020000/bridge-hdmi@4c
[    0.598494] /bus@f0000/dss@30200000: Fixed dependency cycle(s) with /bus@f0000/i2c@20020000/bridge-hdmi@4c
[    0.598675] /bus@f0000/i2c@20020000/bridge-hdmi@4c: Fixed dependency cycle(s) with /connector-hdmi
[    0.598734] /bus@f0000/i2c@20020000/bridge-hdmi@4c: Fixed dependency cycle(s) with /bus@f0000/dss@30200000

Signed-off-by: Francesco Valla <[email protected]>
---
 arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts b/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts
index 7028d9835c4a89cc3f5ca17543b18d3419751f0a..60e2c86ab197e348bf941e30c2641a26cd940d82 100644
--- a/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts
+++ b/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts
@@ -211,6 +211,9 @@ hdmi0: connector-hdmi {
 		compatible = "hdmi-connector";
 		label = "hdmi";
 		type = "a";
+
+		post-init-providers = <&it66121>;
+
 		port {
 			hdmi_connector_in: endpoint {
 				remote-endpoint = <&it66121_out>;
@@ -622,6 +625,10 @@ cpsw3g_phy1: ethernet-phy@1 {
 	};
 };
 
+&gic500 {
+	post-init-providers = <&gic500>;
+};
+
 &main_gpio0 {
 	bootph-all;
 	pinctrl-names = "default";
@@ -701,6 +708,8 @@ tps65219: pmic@30 {
 		system-power-controller;
 		ti,power-button;
 
+		post-init-providers = <&buck2_reg>;
+
 		regulators {
 			buck1_reg: buck1 {
 				regulator-name = "VDD_CORE";
@@ -793,6 +802,8 @@ it66121: bridge-hdmi@4c {
 		interrupts = <36 IRQ_TYPE_EDGE_FALLING>;
 		#sound-dai-cells = <0>;
 
+		post-init-providers = <&dss>;
+
 		ports {
 			#address-cells = <1>;
 			#size-cells = <0>;

-- 
2.52.0