summaryrefslogtreecommitdiffstats
path: root/include/soc/tegra/mc.h
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2015-05-13 17:59:35 +0200
committerArnd Bergmann <arnd@arndb.de>2015-05-13 17:59:35 +0200
commit44fb3026ad28d2a2b935dc9c47ec2dffadca3f35 (patch)
tree9235a53f17b59c883bee7be16ab35cf816ce6ece /include/soc/tegra/mc.h
parent92d19e26d67704397b70cf5728fd77bd13b74c43 (diff)
parent9c77a81f215bfeee8f96c50c8ab27dbebffec80d (diff)
downloadlinux-44fb3026ad28d2a2b935dc9c47ec2dffadca3f35.tar.bz2
Merge tag 'tegra-for-4.2-emc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/drivers
Merge "ARM: tegra: Add EMC driver for v4.2-rc1" from Thierry Reding: This introduces the EMC driver that's required to scale the external memory frequency. * tag 'tegra-for-4.2-emc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: memory: tegra: Add EMC frequency debugfs entry memory: tegra: Add EMC (external memory controller) driver memory: tegra: Add API needed by the EMC driver of: Add Tegra124 EMC bindings of: Document timings subnode of nvidia,tegra-mc
Diffstat (limited to 'include/soc/tegra/mc.h')
-rw-r--r--include/soc/tegra/mc.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/soc/tegra/mc.h b/include/soc/tegra/mc.h
index e5ba518aaece..1ab2813273cd 100644
--- a/include/soc/tegra/mc.h
+++ b/include/soc/tegra/mc.h
@@ -20,6 +20,12 @@ struct tegra_smmu_enable {
unsigned int bit;
};
+struct tegra_mc_timing {
+ unsigned long rate;
+
+ u32 *emem_data;
+};
+
/* latency allowance */
struct tegra_mc_la {
unsigned int reg;
@@ -90,7 +96,7 @@ struct tegra_mc_soc {
const struct tegra_mc_client *clients;
unsigned int num_clients;
- const unsigned int *emem_regs;
+ const unsigned long *emem_regs;
unsigned int num_emem_regs;
unsigned int num_address_bits;
@@ -108,6 +114,12 @@ struct tegra_mc {
const struct tegra_mc_soc *soc;
unsigned long tick;
+
+ struct tegra_mc_timing *timings;
+ unsigned int num_timings;
};
+void tegra_mc_write_emem_configuration(struct tegra_mc *mc, unsigned long rate);
+unsigned int tegra_mc_get_emem_device_count(struct tegra_mc *mc);
+
#endif /* __SOC_TEGRA_MC_H__ */