• Stefan Agner's avatar
    clk: imx7d: do not set parent of ethernet time/ref clocks · 5e33ebff
    Stefan Agner authored
    All device trees currently in mainline specify the time clock parent
    using the assigned-clocks/assigned-clock-parents method, there is no
    need to statically assign the parent in the core clock driver.
    Also all current boards provide an Ethernet reference clock for the
    PHY externally, hence configuring the internal PHY reference clock.
    
    Furthermore, and the actual driver of this patch, specify ethernet
    related parents at that early point in boot leads to a warning:
    bad: scheduling from the idle thread!
    
    The reason for the warning is that setting the parent enables the ENET
    PLL since we are using CLK_OPS_PARENT_ENABLE. Enabling the ENET PLL can
    cause clk_pllv3_wait_lock to sleep. See also:
    commit fc8726a2 ("clk: core: support clocks which requires parents
    enable (part 2)").
    
    Note that setting the ENET AXI root clock parent also requires ENET
    PLL to be enabled. However, U-Boot typically leaves the ENET PLL on,
    hence when the framework sets the parent of the first clock, it does
    not need to wait for the PLL to come up. But because there is currently
    no user of that clock, the PLL gets disabled after setting the parent.
    Therefore, subsequent reparenting calls of any clock which somehow rely
    on the ENET PLL, need to reenable the ENET PLL which leads to a sleep.
    Removing those subsequent reparenting calls works around this issue.
    
    Also remove comments. The code is really verbose enough.
    Signed-off-by: default avatarStefan Agner <stefan@agner.ch>
    Tested-by: default avatarFabio Estevam <festevam@gmail.com>
    Signed-off-by: default avatarMichael Turquette <mturquette@baylibre.com>
    Link: lkml.kernel.org/r/20160703174813.13970-1-stefan@agner.ch
    5e33ebff
Name
Last commit
Last update
..
at91 Loading commit data...
axis Loading commit data...
axs10x Loading commit data...
bcm Loading commit data...
berlin Loading commit data...
h8300 Loading commit data...
hisilicon Loading commit data...
imx Loading commit data...
ingenic Loading commit data...
keystone Loading commit data...
mediatek Loading commit data...
meson Loading commit data...
microchip Loading commit data...
mmp Loading commit data...
mvebu Loading commit data...
mxs Loading commit data...
nxp Loading commit data...
pistachio Loading commit data...
pxa Loading commit data...
qcom Loading commit data...
renesas Loading commit data...
rockchip Loading commit data...
samsung Loading commit data...
sirf Loading commit data...
socfpga Loading commit data...
spear Loading commit data...
st Loading commit data...
sunxi Loading commit data...
sunxi-ng Loading commit data...
tegra Loading commit data...
ti Loading commit data...
ux500 Loading commit data...
versatile Loading commit data...
x86 Loading commit data...
zte Loading commit data...
zynq Loading commit data...
Kconfig Loading commit data...
Makefile Loading commit data...
clk-asm9260.c Loading commit data...
clk-axi-clkgen.c Loading commit data...
clk-axm5516.c Loading commit data...
clk-cdce706.c Loading commit data...
clk-cdce925.c Loading commit data...
clk-clps711x.c Loading commit data...
clk-composite.c Loading commit data...
clk-conf.c Loading commit data...
clk-cs2000-cp.c Loading commit data...
clk-devres.c Loading commit data...
clk-divider.c Loading commit data...
clk-efm32gg.c Loading commit data...
clk-fixed-factor.c Loading commit data...
clk-fixed-rate.c Loading commit data...
clk-fractional-divider.c Loading commit data...
clk-gate.c Loading commit data...
clk-gpio.c Loading commit data...
clk-highbank.c Loading commit data...
clk-ls1x.c Loading commit data...
clk-max-gen.c Loading commit data...
clk-max-gen.h Loading commit data...
clk-max77686.c Loading commit data...
clk-max77802.c Loading commit data...
clk-mb86s7x.c Loading commit data...
clk-moxart.c Loading commit data...
clk-multiplier.c Loading commit data...
clk-mux.c Loading commit data...
clk-nomadik.c Loading commit data...
clk-nspire.c Loading commit data...
clk-oxnas.c Loading commit data...
clk-palmas.c Loading commit data...
clk-pwm.c Loading commit data...
clk-qoriq.c Loading commit data...
clk-rk808.c Loading commit data...
clk-s2mps11.c Loading commit data...
clk-scpi.c Loading commit data...
clk-si514.c Loading commit data...
clk-si5351.c Loading commit data...
clk-si5351.h Loading commit data...
clk-si570.c Loading commit data...
clk-stm32f4.c Loading commit data...
clk-tango4.c Loading commit data...
clk-twl6040.c Loading commit data...
clk-u300.c Loading commit data...
clk-vt8500.c Loading commit data...
clk-wm831x.c Loading commit data...
clk-xgene.c Loading commit data...
clk.c Loading commit data...
clk.h Loading commit data...
clkdev.c Loading commit data...