memory: tegra: Add EMC scaling support code for Tegra210
authorJoseph Lo <josephl@nvidia.com>
Wed, 29 May 2019 08:21:36 +0000 (16:21 +0800)
committerThierry Reding <treding@nvidia.com>
Mon, 22 Jun 2020 11:54:57 +0000 (13:54 +0200)
commit10de21148f7d28c9e918aaee7cede74a7d506e24
tree1fbcf76bc4a6a561c49e6c3bcd4ed1bbe2a86d98
parent6cc8823ad3e85207dfb4c93f31dcdb05297d1b42
memory: tegra: Add EMC scaling support code for Tegra210

This is the initial patch for Tegra210 EMC frequency scaling. It has the
code to program various aspects of the EMC that are standardized, but it
does not yet include the specific programming sequence needed for clock
scaling.

The driver is designed to support LPDDR4 SDRAM. Devices that use LPDDR4
need to perform training of the RAM before it can be used. Firmware will
perform this training during early boot and pass a table of supported
frequencies to the kernel via device tree.

For the frequencies above 800 MHz, periodic retraining is needed to
compensate for changes in timing. This periodic training will have to be
performed until the frequency drops back to or below 800 MHz.

This driver provides helpers used during this runtime retraining that
will be used by the sequence specific code in a follow-up patch.

Based on work by Peter De Schrijver <pdeschrijver@nvidia.com>.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/memory/tegra/Kconfig
drivers/memory/tegra/Makefile
drivers/memory/tegra/mc.h
drivers/memory/tegra/tegra210-emc-core.c [new file with mode: 0644]
drivers/memory/tegra/tegra210-emc-table.c [new file with mode: 0644]
drivers/memory/tegra/tegra210-emc.h [new file with mode: 0644]
drivers/memory/tegra/tegra210-mc.h [new file with mode: 0644]