]> git.baikalelectronics.ru Git - uboot.git/commit
ARM: tegra: implement RAM repair
authorBibek Basu <bbasu@nvidia.com>
Fri, 22 Jun 2018 19:02:28 +0000 (13:02 -0600)
committerTom Warren <twarren@nvidia.com>
Thu, 26 Jul 2018 20:15:29 +0000 (13:15 -0700)
commit778f1c81dcca077db8c9f44a2d778d73d87fa17d
treeef8bea09368360c79c3d4ac8792c40e1c3378bc3
parentcb5c7c92507bd7242c2d1815d9b21fb13dd74339
ARM: tegra: implement RAM repair

RAM repair has a few pre-requisites:
1) PMIC power supply (rail) enabled.
2) PMC CRAIL power partition powered.
3) Fuse clock active (it's the default).
4) PLLP reshift branch enabled (it's the default, when PLLP is active).

RAM repair also only need run whenever specific partitions are powered
(main SoC and CCPLEX respectively); RAM repair does not need to be
triggered when any other partition changes state.

start_cpu() needs to be re-ordered slightly to match these requirements.
Note that C0NC and CE0 aren't required for RAM repair to
operate, but they also do no harm, so the entire of powerup_cpus() is
moved rather than splitting it up. The call to remove_cpu_resets() is
moved last to ensure that all other actions complete before releasing
reset; since the PMC power partitions are now enabled early, releasing
reset is what causes the CPUs to start executing code, and RAM repair must
complete before the CPU boots.

Note that this commit is the result of squashing a numbmer of commits
in NVIDIA's downstream L4T branch, hence the multiple signoffs below.

Signed-off-by: Bibek Basu <bbasu@nvidia.com>
Signed-off-by: Sandipan Patra <spatra@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
arch/arm/include/asm/arch-tegra124/flow.h
arch/arm/mach-tegra/tegra124/cpu.c