- May 17, 2016
-
-
Shengzhou Liu authored
The initial training for the DDRC may provide results that are not optimized. The workaround provides better read timing margins. Signed-off-by:
Shengzhou Liu <Shengzhou.Liu@nxp.com> Reviewed-by:
York Sun <york.sun@nxp.com>
-
Shengzhou Liu authored
Per the latest erratum document, update step 4 and step 8, only DEBUG_29[21] is changed, all other bits should not be changed. Signed-off-by:
Shengzhou Liu <Shengzhou.Liu@nxp.com> Reviewed-by:
York Sun <york.sun@nxp.com>
-
- Mar 27, 2016
-
-
Alexander Merkle authored
Minor change: chosen is written with one "o". No code change here, only comment & printf. Signed-off-by:
Alexander Merkle <alexander.merkle@lauterbach.com> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
- Mar 21, 2016
-
-
Shengzhou Liu authored
During initial DDR training, false parity errors may be detected. This patch adds workaround to fix the erratum. Tested on LS2085QDS and LS2080RDB. Signed-off-by:
Shengzhou Liu <Shengzhou.Liu@nxp.com> Reviewed-by:
York Sun <york.sun@nxp.com>
-
Shengzhou Liu authored
Add support of address parity for DDR4 UDIMM or discrete memory. It requires to configurate corresponding MR5[2:0] and TIMING_CFG_7[PAR_LAT]. Parity can be turned on by hwconfig, e.g. hwconfig=fsl_ddr:parity=on. Signed-off-by:
Shengzhou Liu <Shengzhou.Liu@nxp.com> Reviewed-by:
York Sun <york.sun@nxp.com>
-
- Jan 25, 2016
-
-
Ed Swarthout authored
Following commit 61bd2f75, exclude unused DDR controller from calculating RAM size for SPL boot. Signed-off-by:
Ed Swarthout <Ed.Swarthout@nxp.com> Reviewed-by:
York Sun <york.sun@nxp.com>
-
Shengzhou Liu authored
Erratum A-009663 workaround requires to set DDR_INTERVAL[BSTOPRE] to 0 before setting DDR_SDRAM_CFG[MEM_EN] and set DDR_INTERVAL[BSTOPRE] to the desired value after DDR initialization has completed. When DDR controller is configured to operate in auto-precharge mode(DDR_INTERVAL[BSTOPRE]=0), this workaround is not needed. Signed-off-by:
Shengzhou Liu <Shengzhou.Liu@freescale.com> Reviewed-by:
York Sun <york.sun@nxp.com>
-
Shengzhou Liu authored
During the receive data training, the DDRC may complete on a non-optimal setting that could lead to data corruption or initialization failure. Workaround: before setting MEM_EN, set DEBUG_29 register with specific value for different data rates. Signed-off-by:
Shengzhou Liu <Shengzhou.Liu@freescale.com> Reviewed-by:
York Sun <york.sun@nxp.com>
-
- Jan 19, 2016
-
-
Tom Rini authored
In a number of places we had wordings of the GPL (or LGPL in a few cases) license text that were split in such a way that it wasn't caught previously. Convert all of these to the correct SPDX-License-Identifier tag. Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Dec 15, 2015
-
-
Yao Yuan authored
As the errata A008336 and A008514 do not apply to all LS series SoCs (such as LS1021A, LS1043A) we move them to an soc specific file Signed-off-by:
Yuan Yao <yao.yuan@freescale.com> Reviewed-by:
York Sun <yorksun@freescale.com>
-
- Dec 14, 2015
-
-
Shengzhou Liu authored
DDR errata-A008378 applies to LS1021-20-22A-R1.0, T1023-R1.0, T1024-R1.0, T1040-42-20-22-R1.0/R1.1, it has been fixed on LS102x Rev2. Signed-off-by:
Shengzhou Liu <Shengzhou.Liu@freescale.com> Reviewed-by:
York Sun <yorksun@freescale.com>
-
York Sun authored
In case four chip-selects are all active, the turnaround times need to increase to avoid overlapping under heavy load. Signed-off-by:
York Sun <yorksun@freescale.com>
-
York Sun authored
The workaround requires different setting for range 1 vs 2. Also adjust timeout value for waiting for controller to be idle. Signed-off-by:
York Sun <yorksun@freescale.com>
-
York Sun authored
For four chip-selects enabled case, RTT is parked on all of them. Signed-off-by:
York Sun <yorksun@freescale.com>
-
York Sun authored
MR6 bit 6 is set accrodingly for range 1 or 2, per JEDEC spec. Signed-off-by:
York Sun <yorksun@freescale.com>
-
York Sun authored
DDR4 has different RTT value and code according to JEDEC spec. Update the macros and options . Signed-off-by:
York Sun <yorksun@freescale.com>
-
- Nov 30, 2015
-
-
York Sun authored
BIST test code has a typo, resulting the binding registers not maintained as expected. This typo results BIST runs twice on the covered memory. Signed-off-by:
York Sun <yorksun@freescale.com> Reported-by:
Shengzhou Liu <Shengzhou.Liu@freescale.com>
-
York Sun authored
Freescale LSCH3 platforms use two DDR controlers interleaving mode out of reset. It can be configured to disable one controller. To support this operation, the driver needs to detect and skip the disabled controller. Signed-off-by:
York Sun <yorksun@freescale.com>
-
Prabhakar Kushwaha authored
Freescale's LS2085A is a another personality of LS2080A SoC with support of AIOP and DP-DDR. This Patch adds support of LS2085A Personality. Signed-off-by:
Pratiyush Mohan Srivastava <pratiyush.srivastava@freescale.com> Signed-off-by:
Prabhakar Kushwaha <prabhakar@freescale.com> [York Sun: Updated MAINTAINERS files Dropped #ifdef in cpu.h Add CONFIG_SYS_NS16550=y in defconfig] Reviewed-by:
York Sun <yorksun@freescale.com>
-
Prabhakar Kushwaha authored
LS2080A is a prime personality of Freescale’s LS2085A. It is a non-AIOP personality without support of DP-DDR, L2 switch, 1588, PCIe endpoint etc. So renaming existing LS2085A code base to reflect LS2080A (Prime personality) Signed-off-by:
Pratiyush Mohan Srivastava <pratiyush.srivastava@freescale.com> Signed-off-by:
Prabhakar Kushwaha <prabhakar@freescale.com> [York Sun: Dropped #ifdef in cpu.c for cpu_type_list] Reviewed-by:
York Sun <yorksun@freescale.com>
-
- Nov 10, 2015
-
-
Tom Rini authored
After consulting with some of the SPDX team, the conclusion is that Makefiles are worth adding SPDX-License-Identifier tags too, and most of ours have one. This adds tags to ones that lack them and converts a few that had full (or in one case, very partial) license blobs into the equivalent tag. Cc: Kate Stewart <kstewart@linuxfoundation.org> Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Oct 30, 2015
-
-
Joakim Tjernlund authored
SR_IE(Self-refresh interrupt enable) is needed for Hardware Based Self-Refresh. Make it configurable and let board code handle the rest. Signed-off-by:
Joakim Tjernlund <joakim.tjernlund@transmode.se> Reviewed-by:
York Sun <yorksun@freescale.com>
-
- Aug 03, 2015
-
-
York Sun authored
By default the bstopre value has been set to 0x100, used to be 1/4 value of refint. Modern DDR has increased the refresh time. Adjust to 1/4 of refresh interval dynamically. Individual board can still override this value in board ddr file, or to use auto-precharge. Signed-off-by:
York Sun <yorksun@freescale.com>
-
- Jul 20, 2015
-
-
York Sun authored
In case SPD address changes between board revisions, updating SPD address can be called from board file. Signed-off-by: York Sun <yorksun at freescale.com> Signed-off-by: Prabhakar Kushwaha <prabhakar at freescale.com>
-
- Apr 23, 2015
-
-
York Sun authored
This erratum only applies to general purpose DDR controllers in LS2. It shouldn't be applied to DP-DDR controller. Check DDRC versoin number before applying workaround. Signed-off-by:
York Sun <yorksun@freescale.com>
-
York Sun authored
Add built-in memory test to catch errors after DDR is initialized, before any other transactions. To enable this test, define CONFIG_FSL_DDR_BIST. An environmental variable "ddr_bist" is checked before starting test. It takes a while (several seconds) depending on system memory size. Signed-off-by:
York Sun <yorksun@freescale.com>
-
York Sun authored
CS0 was not allowed to be empty by u-boot driver in the past to simplify the driver. This may be inconvenient for some debugging. This patch lifts the restrictions. Controller interleaving still requires CS0 populated. Signed-off-by:
York Sun <yorksun@freescale.com>
-
York Sun authored
Add/update registers for DDR4, including DQ mappings. Allow raw timing method used for all controllers. Update mode_9 register to 0x500 for improved stability. Check DDR controller version number individually in case a SoC has multiple DDR controllers of different versions. Increase read-write turnaround for DDR4 high speeds. Signed-off-by:
York Sun <yorksun@freescale.com>
-
- Apr 20, 2015
-
-
Curt Brune authored
According to the MPC8555/MPC8541 reference manual the SS_EN (source synchronous enable) bit in the DDR_SDRAM_CLK_CNLT register must be set during initialization. >From section 9.4.1.8 of that manual: Source synchronous enable. This bit field must be set during initialization. See Section 9.6.1, "DDR SDRAM Initialization Sequence," details. 0 - Reserved 1 - The address and command are sent to the DDR SDRAMs source synchronously. In addition, Freescale application note AN2805 is also very clear that this bit must be set. This patch reverts a change introduced by commit 457caecd. Testing Done: Compiled targets CONFIG_TARGET_MPC8555CDS and CONFIG_TARGET_MPC8541CDS and inspected the generated assembly code to verify the SS_EN bit was being set. There is one extra instruction emitted: fff9b774: 65 29 80 00 oris r9,r9,32768 Compiled the CONFIG_TARGET_MPC8548CDS target and verified that no additional instructions were emitted related to this patch. Booted an image on a MPC8541 based board successfully. Signed-off-by:
Curt Brune <curt@cumulusnetworks.com> Reviewed-by:
York Sun <yorksun@freescale.com>
-
- Feb 24, 2015
-
-
York Sun authored
Add sync of refresh for multiple DDR controllers. DDRC initialization needs to complete first. Code is re-ordered to keep refresh close. Signed-off-by:
York Sun <yorksun@freescale.com>
-
York Sun authored
wwt_bg should match rrt_bg. It was a typo in driver. Signed-off-by:
York Sun <yorksun@freescale.com>
-
York Sun authored
Controller number is passed for function calls to support individual DDR clock, depending on SoC implementation. It is backward compatible with exising platforms. Multiple clocks have been verifyed on LS2085A emulator. Signed-off-by:
York Sun <yorksun@freescale.com>
-
York Sun authored
Erratum A008514 workround requires writing register eddrtqcr1 with value 0x63b20002. Signed-off-by:
York Sun <yorksun@freescale.com>
-
York Sun authored
Erratum A008336 requires setting EDDRTQCR1[2] in DDRC DCSR space for 64-bit DDR controllers. Signed-off-by:
York Sun <yorksun@freescale.com>
-
York Sun authored
On ZeBu emulator, CAS to preamble overrides need to be set to satisfy the timing. This only impact platforms with CONFIG_EMU. These should be set before MEM_EN is set. Signed-off-by:
York Sun <yorksun@freescale.com>
-
- Jan 24, 2015
-
-
York Sun authored
Internal memory controller counters can reach a bad state after training in DDR4 mode if accumulated ECC or DBI mode is eanbled. Signed-off-by:
York Sun <yorksun@freescale.com>
-
- Dec 15, 2014
-
-
York Sun authored
For DDR controller version 4.7 or newer, MRC_CYC (mode register set cycle time) is max(tMRD, tMOD). tMRD is 4nCK, or 8nCK (RDIMM). tMOD is max(12nCK, 15ns) according to JEDEC spec. DDR4 is not affected by this change. Signed-off-by:
York Sun <yorksun@freescale.com>
-
- Dec 11, 2014
-
-
Tang Yuantian authored
With the introducing of generic board and ARM-based cores, current deep sleep framework doesn't work anymore. This patch will convert the current framework to adapt this change. Basically it does: 1. Converts all the Freescale's DDR driver to support deep sleep. 2. Added basic framework support for ARM-based and PPC-based cores separately. Signed-off-by:
Tang Yuantian <Yuantian.Tang@freescale.com> Reviewed-by:
York Sun <yorksun@freescale.com>
-
- Dec 05, 2014
-
-
York Sun authored
Some UDIMMs have faulty SPD with wrong mapping for DQ[36-39]. Using raw card spec in case this error is detected. Signed-off-by:
York Sun <yorksun@freescale.com>
-
York Sun authored
Increase write-to-write and read-to-read turnaround time for two-slot DDR configurations. Previously only quad-rank and two dual-rank configurations have this additional turnaround time. A recent test on two single-rank DIMMs shows the shorter additional turnaround time is also needed. Signed-off-by:
York Sun <yorksun@freescale.com>
-