forked from Minki/linux
10de21148f
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>
53 lines
1.7 KiB
Plaintext
53 lines
1.7 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
config TEGRA_MC
|
|
bool "NVIDIA Tegra Memory Controller support"
|
|
default y
|
|
depends on ARCH_TEGRA
|
|
help
|
|
This driver supports the Memory Controller (MC) hardware found on
|
|
NVIDIA Tegra SoCs.
|
|
|
|
config TEGRA20_EMC
|
|
bool "NVIDIA Tegra20 External Memory Controller driver"
|
|
default y
|
|
depends on ARCH_TEGRA_2x_SOC
|
|
help
|
|
This driver is for the External Memory Controller (EMC) found on
|
|
Tegra20 chips. The EMC controls the external DRAM on the board.
|
|
This driver is required to change memory timings / clock rate for
|
|
external memory.
|
|
|
|
config TEGRA30_EMC
|
|
bool "NVIDIA Tegra30 External Memory Controller driver"
|
|
default y
|
|
depends on TEGRA_MC && ARCH_TEGRA_3x_SOC
|
|
help
|
|
This driver is for the External Memory Controller (EMC) found on
|
|
Tegra30 chips. The EMC controls the external DRAM on the board.
|
|
This driver is required to change memory timings / clock rate for
|
|
external memory.
|
|
|
|
config TEGRA124_EMC
|
|
bool "NVIDIA Tegra124 External Memory Controller driver"
|
|
default y
|
|
depends on TEGRA_MC && ARCH_TEGRA_124_SOC
|
|
help
|
|
This driver is for the External Memory Controller (EMC) found on
|
|
Tegra124 chips. The EMC controls the external DRAM on the board.
|
|
This driver is required to change memory timings / clock rate for
|
|
external memory.
|
|
|
|
config TEGRA210_EMC_TABLE
|
|
bool
|
|
depends on ARCH_TEGRA_210_SOC
|
|
|
|
config TEGRA210_EMC
|
|
tristate "NVIDIA Tegra210 External Memory Controller driver"
|
|
depends on TEGRA_MC && ARCH_TEGRA_210_SOC
|
|
select TEGRA210_EMC_TABLE
|
|
help
|
|
This driver is for the External Memory Controller (EMC) found on
|
|
Tegra210 chips. The EMC controls the external DRAM on the board.
|
|
This driver is required to change memory timings / clock rate for
|
|
external memory.
|