Skip to content

Commit 07bb2e3

Browse files
aford173Shawn Guo
authored andcommitted
arm64: dts: imx8mp: Fix video clock parents
There are a few clocks whose parents are set in mipi_dsi and lcdif nodes, but these clocks are used by the media_blk_ctrl power domain. This may cause an issue when re-parenting, because the media_blk_ctrl may start the clocks before the reparent is done resulting in a disp_pixel clock having the wrong parent and rate. Fix this by moving the assigned-clock-parents and rates to the media_blk_ctrl node to configure these clocks before they are enabled. After this patch, both disp1_pix_root and dixp2_pix_root clock become children of the video_pll1. video_pll1_ref_sel 24000000 video_pll1 1039500000 video_pll1_bypass 1039500000 video_pll1_out 1039500000 media_disp2_pix 1039500000 media_disp2_pix_root_clk 1039500000 media_disp1_pix 1039500000 media_disp1_pix_root_clk 1039500000 Fixes: eda09fe ("arm64: dts: imx8mp: Add display pipeline components") Signed-off-by: Adam Ford <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
1 parent 91aa4b3 commit 07bb2e3

File tree

1 file changed

+9
-16
lines changed

1 file changed

+9
-16
lines changed

arch/arm64/boot/dts/freescale/imx8mp.dtsi

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1211,13 +1211,6 @@
12111211
<&clk IMX8MP_CLK_MEDIA_APB_ROOT>,
12121212
<&clk IMX8MP_CLK_MEDIA_AXI_ROOT>;
12131213
clock-names = "pix", "axi", "disp_axi";
1214-
assigned-clocks = <&clk IMX8MP_CLK_MEDIA_DISP1_PIX_ROOT>,
1215-
<&clk IMX8MP_CLK_MEDIA_AXI>,
1216-
<&clk IMX8MP_CLK_MEDIA_APB>;
1217-
assigned-clock-parents = <&clk IMX8MP_CLK_MEDIA_DISP1_PIX>,
1218-
<&clk IMX8MP_SYS_PLL2_1000M>,
1219-
<&clk IMX8MP_SYS_PLL1_800M>;
1220-
assigned-clock-rates = <594000000>, <500000000>, <200000000>;
12211214
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
12221215
power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_LCDIF_1>;
12231216
status = "disabled";
@@ -1237,11 +1230,6 @@
12371230
<&clk IMX8MP_CLK_MEDIA_APB_ROOT>,
12381231
<&clk IMX8MP_CLK_MEDIA_AXI_ROOT>;
12391232
clock-names = "pix", "axi", "disp_axi";
1240-
assigned-clocks = <&clk IMX8MP_CLK_MEDIA_DISP2_PIX>,
1241-
<&clk IMX8MP_VIDEO_PLL1>;
1242-
assigned-clock-parents = <&clk IMX8MP_VIDEO_PLL1_OUT>,
1243-
<&clk IMX8MP_VIDEO_PLL1_REF_SEL>;
1244-
assigned-clock-rates = <0>, <1039500000>;
12451233
power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_LCDIF_2>;
12461234
status = "disabled";
12471235

@@ -1296,11 +1284,16 @@
12961284
"disp1", "disp2", "isp", "phy";
12971285

12981286
assigned-clocks = <&clk IMX8MP_CLK_MEDIA_AXI>,
1299-
<&clk IMX8MP_CLK_MEDIA_APB>;
1287+
<&clk IMX8MP_CLK_MEDIA_APB>,
1288+
<&clk IMX8MP_CLK_MEDIA_DISP1_PIX>,
1289+
<&clk IMX8MP_CLK_MEDIA_DISP2_PIX>,
1290+
<&clk IMX8MP_VIDEO_PLL1>;
13001291
assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>,
1301-
<&clk IMX8MP_SYS_PLL1_800M>;
1302-
assigned-clock-rates = <500000000>, <200000000>;
1303-
1292+
<&clk IMX8MP_SYS_PLL1_800M>,
1293+
<&clk IMX8MP_VIDEO_PLL1_OUT>,
1294+
<&clk IMX8MP_VIDEO_PLL1_OUT>;
1295+
assigned-clock-rates = <500000000>, <200000000>,
1296+
<0>, <0>, <1039500000>;
13041297
#power-domain-cells = <1>;
13051298

13061299
lvds_bridge: bridge@5c {

0 commit comments

Comments
 (0)