Commit 8a86dcda13140e3d89bd19eba7f65fdf936b10c0
1 parent
3130a174da
Exists in
emb_lf_v2022.04
MLK-24958-1 clk: imx8qxp/dxl: Add clock support for LCDIF
Add relevant clocks tree for LCDIF. According to design, LCDIF has a slice and a dedicated eLCDIF PLL for pixel clock. On iMX8QXP, there is pixel link mux which is muxed with LCDIF IOs. It uses slice bypass reference clock for pix clock input. Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit c189dad00743c7a3fcd80d716498289fa7cb2c40) (cherry picked from commit 5159b4985a84be4f7a06dc8edc63e59658ca4809) (cherry picked from commit 0cfa16a84bcdb10144d5d305cf489f7355eaab31) (cherry picked from commit 3ba608f6ab33dd6e64bb2da0ee284b9390df4c9f)
Showing 1 changed file with 11 additions and 0 deletions Side-by-side Diff
drivers/clk/imx/clk-imx8qxp.c
| ... | ... | @@ -51,6 +51,11 @@ |
| 51 | 51 | CLK_4( IMX8QXP_LSIO_FSPI0_DIV, "FSPI0_DIV", SC_R_FSPI_0, SC_PM_CLK_PER ), |
| 52 | 52 | CLK_4( IMX8QXP_GPMI_BCH_IO_DIV, "GPMI_IO_DIV", SC_R_NAND, SC_PM_CLK_MST_BUS ), |
| 53 | 53 | CLK_4( IMX8QXP_GPMI_BCH_DIV, "GPMI_BCH_DIV", SC_R_NAND, SC_PM_CLK_PER ), |
| 54 | + | |
| 55 | + CLK_4( IMX8QXP_ELCDIF_PLL_DIV, "ELCDIF_PLL_DIV", SC_R_ELCDIF_PLL, SC_PM_CLK_PLL ), | |
| 56 | + CLK_4( IMX8QXP_LCD_PXL_DIV, "LCD_PXL_DIV", SC_R_LCD_0, SC_PM_CLK_MISC0 ), | |
| 57 | + CLK_4( IMX8QXP_LCD_DIV, "LCD_DIV", SC_R_LCD_0, SC_PM_CLK_PER ), | |
| 58 | + CLK_4( IMX8QXP_LCD_PXL_BYPASS_DIV, "LCD_PXL_BYPASS_DIV", SC_R_LCD_0, SC_PM_CLK_BYPASS ), | |
| 54 | 59 | }; |
| 55 | 60 | |
| 56 | 61 | static struct imx8_fixed_clks imx8qxp_fixed_clks[] = { |
| ... | ... | @@ -193,6 +198,7 @@ |
| 193 | 198 | CLK_5( IMX8QXP_HSIO_PHY_X1_APB_CLK, "HSIO_PHY_X1_APB_CLK", 16, HSIO_PHY_X1_LPCG, IMX8QXP_HSIO_PER_CLK ), |
| 194 | 199 | CLK_5( IMX8QXP_HSIO_GPIO_CLK, "HSIO_GPIO_CLK", 16, HSIO_GPIO_LPCG, IMX8QXP_HSIO_PER_CLK ), |
| 195 | 200 | CLK_5( IMX8QXP_HSIO_PHY_X1_PCLK, "HSIO_PHY_X1_PCLK", 0, HSIO_PHY_X1_LPCG, 0 ), |
| 201 | + CLK_5( IMX8QXP_LCD_IPG_CLK, "LCD_IPG_CLK", 16, LCD_LPCG, IMX8QXP_IPG_DMA_CLK_ROOT ), | |
| 196 | 202 | }; |
| 197 | 203 | |
| 198 | 204 | struct imx8_mux_clks imx8qxp_mux_clks[] = { |
| ... | ... | @@ -202,6 +208,11 @@ |
| 202 | 208 | IMX8QXP_CONN_PLL1_CLK, IMX8QXP_CLK_DUMMY, IMX8QXP_CLK_DUMMY ), |
| 203 | 209 | CLK_MUX( IMX8QXP_SDHC2_SEL, "SDHC2_SEL", IMX8QXP_SDHC2_DIV, IMX8QXP_CLK_DUMMY, IMX8QXP_CONN_PLL0_CLK, |
| 204 | 210 | IMX8QXP_CONN_PLL1_CLK, IMX8QXP_CLK_DUMMY, IMX8QXP_CLK_DUMMY ), |
| 211 | + | |
| 212 | + CLK_MUX( IMX8QXP_LCD_PXL_SEL, "LCD_PXL_SEL", IMX8QXP_LCD_PXL_DIV, IMX8QXP_CLK_DUMMY, IMX8QXP_CLK_DUMMY, | |
| 213 | + IMX8QXP_CLK_DUMMY, IMX8QXP_CLK_DUMMY, IMX8QXP_LCD_PXL_BYPASS_DIV ), | |
| 214 | + CLK_MUX( IMX8QXP_LCD_SEL, "LCD_SEL", IMX8QXP_LCD_DIV, IMX8QXP_CLK_DUMMY, IMX8QXP_CLK_DUMMY, | |
| 215 | + IMX8QXP_CLK_DUMMY, IMX8QXP_CLK_DUMMY, IMX8QXP_ELCDIF_PLL_DIV ), | |
| 205 | 216 | }; |
| 206 | 217 | |
| 207 | 218 | struct imx8_clks_collect imx8qxp_clk_collect = { |