]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
arm64: zynqmp: Enable DP driver for SOMs
authorMichal Simek <michal.simek@xilinx.com>
Tue, 26 Oct 2021 14:16:16 +0000 (16:16 +0200)
committerMichal Simek <michal.simek@xilinx.com>
Mon, 6 Dec 2021 12:32:48 +0000 (13:32 +0100)
The main reason is to send pmufw cfg overlay from U-Boot to PMUFW to enable
access to DP. Overlay is sent when cls command is called and for that IP
has to be enabled in carrier cards.
And IP needs to be also enabled in SOM dt because with DTB reselection new
DT is not parsed in pre reloc U-Boot instance. It is called from board_f
via embedded_dtb_select(). That's why bind function is not able to allocate
memory and it ends up with error:
"Video device 'display@fd4a0000' cannot allocate frame buffer memory -ensure the
device is set up before relocation"

To avoid this situation DP is placed also to SOM where bind function is
called and frame buffer memory is allocated and just reused after DTB
reselection. Result is the same. There could be a problem in Linux with
different DP configurations but that's need to be solved there because
console should be on from u-boot already.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
arch/arm/dts/zynqmp-sck-kr-g-revA.dts
arch/arm/dts/zynqmp-sck-kv-g-revB.dts
arch/arm/dts/zynqmp-sm-k26-revA.dts

index 7b8b8f195a6c02c51d5b9cbbdb0b339ede84c8fc..9d609d70ce751f3701e5481ea938af7c717be1ca 100644 (file)
 };
 
 &zynqmp_dpsub {
-       status = "disabled";
+       status = "okay";
        phy-names = "dp-phy0", "dp-phy1";
        phys = <&psgtr 1 PHY_TYPE_DP 0 1>;
 };
index df054e152a77e5287cb9613c60806fe1c5ad8ea6..8f7c8889f9035ce8ca6db9d51a5789ae1bdf1374 100644 (file)
@@ -96,7 +96,7 @@
 };
 
 &zynqmp_dpsub {
-       status = "disabled";
+       status = "okay";
        phy-names = "dp-phy0", "dp-phy1";
        phys = <&psgtr 1 PHY_TYPE_DP 0 0>, <&psgtr 0 PHY_TYPE_DP 1 0>;
 };
index 4a5768c90fa0ea86cace1bd73bce9437f59279fe..59bdd73fa9e165a30d7a85a129effc19269577ba 100644 (file)
 &ams_pl {
        status = "okay";
 };
+
+&zynqmp_dpsub {
+       status = "okay";
+};