ARM: clk-imx6q: parent lvds_sel input from upstream clock gates
commit03e97220b99b8b691ea5b130b7b4c135c9662792
authorLucas Stach <l.stach@pengutronix.de>
Thu, 17 Jul 2014 10:20:14 +0000 (17 12:20 +0200)
committerShawn Guo <shawn.guo@freescale.com>
Fri, 18 Jul 2014 07:57:17 +0000 (18 15:57 +0800)
tree4660c9a1092a479dcfffb5099abe39023b376b01
parent4c834452aad01531db949414f94f817a86348d59
ARM: clk-imx6q: parent lvds_sel input from upstream clock gates

The i.MX6 reference manual doesn't make a clear distinction
between the fixed clock divider and the enable gate for the
pcie and sata reference clocks. This lead to the lvds mux
inputs in the imx6q clk driver to be parented from the
ref clock (which is the divider) instead of the actual gate,
which in turn prevents the upstream clock to actually be
enabled when lvds clk out is active.

This fixes a hard machine hang regression in kernel 3.16 for
boards where only pcie is active but no sata, as with this
kernel version the imx6-pcie driver is no longer enabling
the upstream clock directly but only lvds clk out.

Reported-by: Arne Ruhnau <arne.ruhnau@target-sg.com>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Tested-by: Arne Ruhnau <arne.ruhnau@target-sg.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
arch/arm/mach-imx/clk-imx6q.c