OSDN Git Service

arm64: dts: imx8mq: Add clock parents for mipi dphy
authorGuido Günther <agx@sigxcpu.org>
Sun, 10 Jan 2021 16:55:51 +0000 (17:55 +0100)
committerShawn Guo <shawnguo@kernel.org>
Mon, 11 Jan 2021 00:25:57 +0000 (08:25 +0800)
This makes sure the clock tree setup for the dphy is not dependent on
other components.

Without this change bringing up the display can fail like

  kernel: phy phy-30a00300.dphy.2: Invalid CM/CN/CO values: 165/217/1
  kernel: phy phy-30a00300.dphy.2: for hs_clk/ref_clk=451656000/593999998 ~ 165/217

if LCDIF doesn't set up that part of the clock tree first. This was
noticed when testing the Librem 5 devkit with defconfig. It doesn't
happen when modules are built in.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx8mq.dtsi

index a841a02..50ae17f 100644 (file)
                                reg = <0x30a00300 0x100>;
                                clocks = <&clk IMX8MQ_CLK_DSI_PHY_REF>;
                                clock-names = "phy_ref";
-                               assigned-clocks = <&clk IMX8MQ_CLK_DSI_PHY_REF>;
-                               assigned-clock-parents = <&clk IMX8MQ_VIDEO_PLL1_OUT>;
-                               assigned-clock-rates = <24000000>;
+                               assigned-clocks = <&clk IMX8MQ_VIDEO_PLL1_REF_SEL>,
+                                                 <&clk IMX8MQ_VIDEO_PLL1_BYPASS>,
+                                                 <&clk IMX8MQ_CLK_DSI_PHY_REF>,
+                                                 <&clk IMX8MQ_VIDEO_PLL1>;
+                               assigned-clock-parents = <&clk IMX8MQ_CLK_25M>,
+                                                 <&clk IMX8MQ_VIDEO_PLL1>,
+                                                 <&clk IMX8MQ_VIDEO_PLL1_OUT>;
+                               assigned-clock-rates = <0>, <0>, <24000000>, <594000000>;
                                #phy-cells = <0>;
                                power-domains = <&pgc_mipi>;
                                status = "disabled";