linux/drivers/clk/imx
Liu Ying e4c0ca7894 clk: imx: clk-imx8qxp: Register DC0 display clocks with imx_clk_scu2()
This patch corrects display clocks for i.MX8qxp DC0 subsystem by
calling imx_clk_scu2() to register them, instead of calling
imx_clk_scu().  The reason is that the clocks can source from
various parents.  The clock source selection is controlled by
Distributed Slave System Controller(DSC).  According to the DSC spec,
the below table describes the generic source selections for clocks
with the same type in various subsystems.  And, the display controller
subsystem spec says the display clocks can source from PLL1, PLL2 or
bypass clock, thus we may specify the correct parents for imx_clk_scu2().

The bypass clock's parent is determined by the SCU firmware.
Currently, the parent is 'pixel_link_clk_in' from HW point of view.
To be more specific, the parent is dummy for i.MX8qxp DC0, while
HDMI TX PHY PLL for i.MX8qm DC0.  In practice, the display clocks
source from the bypass clock only when driving i.MX8qm HDMI TX.
So, for the both display clocks, we simply specify 'dc0_bypass0_clk'
bypass clock as a valid parent.

 -----------------------------------------
| src_sel[28:26] |                        |
 -----------------------------------------
| 0x0            | xtal24M                |
| 0x1            | PLL0                   |
| 0x2            | PLL1                   |
| 0x3            | PLL2                   |
| 0x4            | bypass reference clock |
| 0x5 to 0x7     | reserved               |
 -----------------------------------------

Cc: Michael Turquette <mturquette@baylibre.com>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-01-05 10:55:08 +08:00
..
clk-busy.c clk: imx: Explicitly include bits.h 2020-08-22 20:36:57 +08:00
clk-composite-7ulp.c clk: imx: Explicitly include bits.h 2020-08-22 20:36:57 +08:00
clk-composite-8m.c clk: imx: fix composite peripheral flags 2020-09-07 11:08:50 +08:00
clk-cpu.c clk: imx: Support building i.MX common clock driver as module 2020-08-22 12:38:20 +08:00
clk-divider-gate.c clk: imx: Rename the imx_clk_divider_gate to imply it's clk_hw based 2019-12-11 19:19:59 +08:00
clk-fixup-div.c clk: imx: drop redundant initialization 2020-02-17 14:32:32 +08:00
clk-fixup-mux.c clk: imx: Explicitly include bits.h 2020-08-22 20:36:57 +08:00
clk-frac-pll.c clk: imx: Support building i.MX common clock driver as module 2020-08-22 12:38:20 +08:00
clk-gate2.c clk: imx: gate2: Remove unused variable ret 2020-11-10 09:08:03 +08:00
clk-gate-exclusive.c This round of clk driver and framework updates is heavy on the driver update 2019-07-17 10:07:48 -07:00
clk-imx1.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
clk-imx5.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
clk-imx6q.c clk: imx: Explicitly include bits.h 2020-08-22 20:36:57 +08:00
clk-imx6sl.c clk: imx6sl: Use BIT(x) to avoid shifting signed 32-bit value by 31 bits 2020-08-22 12:37:18 +08:00
clk-imx6sll.c clk: imx: imx6sll: use imx_obtain_fixed_clk_hw to simplify code 2019-10-28 16:46:45 +08:00
clk-imx6sx.c clk: imx: Explicitly include bits.h 2020-08-22 20:36:57 +08:00
clk-imx6ul.c clk: imx: imx6ul: change flexcan clock to support CiA bitrates 2020-04-13 22:22:33 +08:00
clk-imx7d.c clk: imx: fix i.MX7D peripheral clk mux flags 2020-09-07 11:08:50 +08:00
clk-imx7ulp.c clk: imx7ulp: make it easy to change ARM core clk 2020-04-14 21:35:58 +08:00
clk-imx8mm.c The core framework got some nice improvements this time around. We gained the 2020-12-21 10:39:37 -08:00
clk-imx8mn.c The core framework got some nice improvements this time around. We gained the 2020-12-21 10:39:37 -08:00
clk-imx8mp.c The core framework got some nice improvements this time around. We gained the 2020-12-21 10:39:37 -08:00
clk-imx8mq.c The core framework got some nice improvements this time around. We gained the 2020-12-21 10:39:37 -08:00
clk-imx8qxp-lpcg.c clk: imx: lpcg: add suspend/resume support 2020-10-26 10:54:08 +08:00
clk-imx8qxp-lpcg.h clk: imx: add imx8qxp lpcg driver 2018-12-14 13:01:14 -08:00
clk-imx8qxp.c clk: imx: clk-imx8qxp: Register DC0 display clocks with imx_clk_scu2() 2021-01-05 10:55:08 +08:00
clk-imx25.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 2019-05-21 11:28:39 +02:00
clk-imx27.c clk: imx: imx27: Remove mx27_clocks_init() 2020-09-22 14:08:16 +08:00
clk-imx31.c clk: imx: imx31: Remove mx31_clocks_init() 2020-09-22 14:08:19 +08:00
clk-imx35.c clk: imx: imx35: Remove mx35_clocks_init() 2020-09-22 14:08:22 +08:00
clk-lpcg-scu.c clk: imx: lpcg: add suspend/resume support 2020-10-26 10:54:08 +08:00
clk-pfd.c clk: imx: Fix and update kerneldoc 2020-09-07 11:08:50 +08:00
clk-pfdv2.c clk: imx: Fix and update kerneldoc 2020-09-07 11:08:50 +08:00
clk-pll14xx.c clk: imx: remove unneeded semicolon 2020-11-01 17:19:18 +08:00
clk-pllv1.c clk: imx: Explicitly include bits.h 2020-08-22 20:36:57 +08:00
clk-pllv2.c clk: imx: pllv2: Switch to clk_hw based API 2019-12-11 19:19:44 +08:00
clk-pllv3.c clk: imx: Fix and update kerneldoc 2020-09-07 11:08:50 +08:00
clk-pllv4.c clk: imx: Explicitly include bits.h 2020-08-22 20:36:57 +08:00
clk-scu.c clk: imx: scu: remove the calling of device_is_bound 2020-11-30 21:53:03 +08:00
clk-scu.h clk: imx: lpcg: add suspend/resume support 2020-10-26 10:54:08 +08:00
clk-sscg-pll.c clk: imx: Support building i.MX common clock driver as module 2020-08-22 12:38:20 +08:00
clk-vf610.c clk: imx: vf610: Add CRC clock 2020-08-23 10:08:35 +08:00
clk.c clk: imx: Explicitly include bits.h 2020-08-22 20:36:57 +08:00
clk.h The core framework got some nice improvements this time around. We gained the 2020-12-21 10:39:37 -08:00
Kconfig clk: imx: scu: fix MXC_CLK_SCU module build break 2020-12-07 13:54:00 -08:00
Makefile clk: imx: imx21: Remove clock driver 2020-09-22 14:09:19 +08:00