29.05.2019 11:21, Joseph Lo пишет: > This patch includes the sequence for clock tuning and the dynamic > training mechanism for the clock above 800MHz. > > And historically there have been different sequences to change the EMC > clock. The sequence to be used is specified in the EMC table. > However, for the currently supported upstreaming platform, only the most > recent sequence is used. So only support that in this patch. > > Based on the work of Peter De Schrijver <pdeschrijver@xxxxxxxxxx>. > > Signed-off-by: Joseph Lo <josephl@xxxxxxxxxx> > --- > v4: > - no change > --- > drivers/memory/tegra/Makefile | 2 +- > drivers/memory/tegra/tegra210-emc-cc-r21021.c | 1953 +++++++++++++++++ > drivers/memory/tegra/tegra210-emc.c | 5 + > drivers/memory/tegra/tegra210-emc.h | 157 ++ > 4 files changed, 2116 insertions(+), 1 deletion(-) > create mode 100644 drivers/memory/tegra/tegra210-emc-cc-r21021.c > > diff --git a/drivers/memory/tegra/Makefile b/drivers/memory/tegra/Makefile > index f78bbb7cd16f..def087f13a09 100644 > --- a/drivers/memory/tegra/Makefile > +++ b/drivers/memory/tegra/Makefile > @@ -12,5 +12,5 @@ obj-$(CONFIG_TEGRA_MC) += tegra-mc.o > > obj-$(CONFIG_TEGRA20_EMC) += tegra20-emc.o > obj-$(CONFIG_TEGRA124_EMC) += tegra124-emc.o > -obj-$(CONFIG_TEGRA210_EMC) += tegra210-emc.o > +obj-$(CONFIG_TEGRA210_EMC) += tegra210-emc.o tegra210-emc-cc-r21021.o > obj-$(CONFIG_ARCH_TEGRA_186_SOC) += tegra186.o > diff --git a/drivers/memory/tegra/tegra210-emc-cc-r21021.c b/drivers/memory/tegra/tegra210-emc-cc-r21021.c > new file mode 100644 > index 000000000000..ec5e1db71896 > --- /dev/null > +++ b/drivers/memory/tegra/tegra210-emc-cc-r21021.c > @@ -0,0 +1,1953 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * Copyright (c) 2014-2019, NVIDIA CORPORATION. All rights reserved. > + */ > + > +#include <linux/kernel.h> > +#include <linux/io.h> > +#include <linux/clk.h> > +#include <linux/delay.h> > +#include <linux/of.h> > +#include <soc/tegra/mc.h> Minor nit: please keep all the includes sorted in alphabet order. -- Dmitry