summaryrefslogtreecommitdiff
path: root/board/gdsys
diff options
context:
space:
mode:
authorMarek BehĂșn <marek.behun@nic.cz>2022-01-04 17:57:49 +0300
committerStefan Roese <sr@denx.de>2022-01-14 09:47:57 +0300
commiteadc4f512fb43bba2fa4e842c982da919da664be (patch)
treef56da2f47690e4220c1b7112975877a1eb70004e /board/gdsys
parent1b24de6e9fadd4538873161c520c5c568145ab70 (diff)
downloadu-boot-eadc4f512fb43bba2fa4e842c982da919da664be.tar.xz
ddr: marvell: a38x: Fix Synchronous vs Asynchronous mode determination
Before commit 4c289425752f ("mv_ddr: a38x: add support for ddr async mode"), Asynchornous Mode was only used when the CPU Subsystem Clock Options[4:0] field in the SAR1 register was set to value 0x13: CPU at 2 GHz and DDR at 933 MHz. Then commit 4c289425752f ("mv_ddr: a38x: add support for ddr async mode") added support for Asynchornous Modes with frequencies other than 933 MHz (but at least 467 MHz), but the code it added to check for whether Asynchornous Mode should be used is wrong: it checks whether the frequency setting in board DDR topology map is set to value other than MV_DDR_FREQ_SAR. Thus boards which define a specific value, greater than 400 MHz, for DDR frequency in their board topology (e.g. Turris Omnia defines MV_DDR_FREQ_800), are incorrectly put into Asynchornous Mode after that commit. The A38x Functional Specification, section 10.12 DRAM Clocking, says: In Synchornous mode, the DRAM and CPU clocks are edge aligned and run in 1:2 or 1:3 CPU to DRAM frequency ratios. Change the check for whether Asynchornous Mode should be used according to this explanation in Functional Specification. Signed-off-by: Marek BehĂșn <marek.behun@nic.cz> Tested-by: Chris Packham <judge.packham@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'board/gdsys')
0 files changed, 0 insertions, 0 deletions