aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings
diff options
context:
space:
mode:
authorLucas Stach <l.stach@pengutronix.de>2018-11-15 15:30:28 +0100
committerStephen Boyd <sboyd@kernel.org>2018-12-10 11:39:16 -0800
commit3cc48976e9763209ccf0ccc47c8e3e5fc464c557 (patch)
treec8a544e82ec0a0d99f5b98ce72aebf253611a72e /Documentation/devicetree/bindings
parentclk: imx6q: optionally get CCM inputs via standard clock handles (diff)
downloadlinux-dev-3cc48976e9763209ccf0ccc47c8e3e5fc464c557.tar.xz
linux-dev-3cc48976e9763209ccf0ccc47c8e3e5fc464c557.zip
clk: imx6q: handle ENET PLL bypass
The ENET PLL is different from the other i.MX6 PLLs, as it has multiple outputs with different post-dividers, which are all bypassed if the single bypass bit is activated. The hardware setup looks something like this: _ refclk-o---PLL---o----DIV1-----| \ | | |M |----OUT1 o-----------------------|_/ | | _ | o----DIV2-----| \ | | |M |----OUT2 o-----------------------|_/ | | _ | `----DIV3-----| \ | |M |----OUT3 `-----------------------|_/ The bypass bit not only bypasses the PLL, but also the attached post-dividers. This would be reasonbly straight forward to model with a single output, or with different bypass bits for each output, but sadly the HW guys decided that it would be good to actuate all 3 muxes with a single bit. So the need to have the PLL bypassed for one of the outputs always affects 2 other (in our model) independent branches of the clock tree. This means the decision to bypass this PLL is a system wide design choice and should not be changed on-the-fly, so we can treat any bapass configuration as static. As such we can just register the post-dividiers with a ratio that reflects the bypass status, which allows us to bypass the PLL without breaking our abstraction model and with it DT stability. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Diffstat (limited to 'Documentation/devicetree/bindings')
0 files changed, 0 insertions, 0 deletions