Re: [PATCH v4 01/10] clk: tegra20/30: Add custom EMC clock implementation
From: Stephen Boyd <sboyd@kernel.org>
Date: 2019-06-19 01:14:29
Also in:
linux-clk, linux-tegra, lkml
Quoting Thierry Reding (2019-06-18 05:21:08)
On Mon, Jun 17, 2019 at 02:35:42AM +0300, Dmitry Osipenko wrote:quoted
A proper External Memory Controller clock rounding and parent selection functionality is required by the EMC drivers. It is not available using the generic clock implementation, hence add a custom one. The clock rate rounding shall be done by the EMC drivers because they have information about available memory timings, so the drivers will have to register a callback that will round the requested rate. EMC clock users won't be able to request EMC clock by getting -EPROBE_DEFER until EMC driver is probed and the callback is set up. The functionality is somewhat similar to the clk-emc.c which serves Tegra124+ SoC's, the later HW generations support more parent clock sources and the HW configuration and integration with the EMC drivers differs a tad from the older gens, hence it's not really worth to try to squash everything into a single source file. Signed-off-by: Dmitry Osipenko <digetx@gmail.com> --- drivers/clk/tegra/Makefile | 2 + drivers/clk/tegra/clk-tegra20-emc.c | 305 ++++++++++++++++++++++++++++ drivers/clk/tegra/clk-tegra20.c | 55 ++--- drivers/clk/tegra/clk-tegra30.c | 38 +++- drivers/clk/tegra/clk.h | 6 + include/linux/clk/tegra.h | 14 ++ 6 files changed, 368 insertions(+), 52 deletions(-) create mode 100644 drivers/clk/tegra/clk-tegra20-emc.cHi Mike, Stephen, The remaining patches of this series have a build-time dependency on this clock driver patch. Would you mind if I pick this up into the Tegra tree, so that I can resolve the dependency there? I can send a pull request of the stable branch with this one patch if we need to resolve a conflict between the clk and Tegra trees.
Sure. I have review comments though so hopefully they can be addressed first.