CHROMIUM: ARM: dts: rockchip: assigned parents for vop dclks
authorDaniel Kurtz <djkurtz@chromium.org>
Thu, 29 Jan 2015 16:58:35 +0000 (00:58 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Thu, 30 Jun 2016 07:08:59 +0000 (15:08 +0800)
commitfe1b05dabd88a1bb42d736af3f8763c0e5040c05
tree3ef398faa019cb9f8dbc41b8f82e0dad474238a7
parentcdf30351ab47c0daf134229063e4f8b2fd37ec0d
CHROMIUM: ARM: dts: rockchip: assigned parents for vop dclks

The VOP DCLK is used to generate panel clocks.

For veyron, we have decided to permanently assign vop0 for
use with HDMI and vop1 for use with eDP.

Furthermore, to allow us to generate a wide range of precise pixel clocks,
we will be dedicating the NPLL exclusively for use as the parent clock
for VOP0/HDMI.

To implement the exclusive assignment of NPLL in the kernel, we remove
the NPLL entry from all clock muxes that would otherwise be able to select
it (such as vop1).  For vop0, we remove all choices *except* NPLL.

Before booting the kernel, the bios will configure vop0 and vop1 as it
sees fit - potentially assigning NPLL to vop1 and some other PLL to vop0.

Thus, at boot it is possible that from the kernel's perspective, these
clocks are orphans.  To fix this, we explicitly assign their clock parents
to ensure that they are properly parented no matter what state they are
when the kernel boots.

Change-Id: Iafe301abcbf211246fda66519cea5fc946af97ee
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
arch/arm/boot/dts/rk3288.dtsi