[U-Boot] [u-boot-release] [Patch v3 7/7] powerpc/8xxx: Add support for interactive DDR programming interface

York Sun yorksun at freescale.com
Fri Sep 16 21:38:32 CEST 2011


On Fri, 2011-09-16 at 14:15 -0500, Timur Tabi wrote:
> York Sun wrote:
> > +Interactive DDR debugging
> > +===========================
> > +
> > +For DDR parameter tuning up and debugging, the interactive DDR debugging can
> > +be activated by saving an environment variable "ddr_interactive". The value
> > +doesn't matter. Once activated, U-boot prompts "FSL DDR>" before enabling DDR
> > +controller. The available commands can be seen by typing "help".
> > +
> > +The example flow of using interactive debugging is
> > +type command "compute" to calculate the parameters from the default
> > +type command "print" with arguments to show SPD, options, registers
> > +type command "edit" with arguments to change any if desired
> > +type command "go" to continue calculation and enable DDR controller
> > +
> > +Note, check "next_step" to show the flow. For example, after editing registers,
> > +DDR controller will be enabled with current setting without further
> > +calculation.
> 
> This is pretty skimpy for such a powerful feature.  How about some examples and
> a detailed description of each command?
> 
I think the interactive command is self-explained. I can add some
examples if needed. But I am afraid the example will be either too short
or too long.

For example, I can add the following

First step, run "compute" command, it returns with the DIMM part number

FSL DDR>compute
Detected UDIMM UG51U6400N8SU-ACF

Second step, users can run 'print' command with arguments. Without
argument, a help message will print out

FSL DDR>print
print [c<n>] [d<n>] [spd] [dimmparms] [commonparms] [opts] [addresses] [regs]
FSL DDR>print dimmparms
DIMM parameters:  Controller=0 DIMM=0
DIMM organization parameters:
module part name = UG51U6400N8SU-ACF
rank_density = 2147483648 bytes (2048 megabytes)
capacity = 4294967296 bytes (4096 megabytes)
burst_lengths_bitmask = 0C
base_addresss = 0 (00000000 00000000)
n_ranks = 2
data_width = 64
primary_sdram_width = 64
ec_sdram_width = 0
registered_dimm = 0
n_row_addr = 15
n_col_addr = 10
edc_config = 0
n_banks_per_sdram_device = 8
tCKmin_X_ps = 1500
tCKmin_X_minus_1_ps = 0
tCKmin_X_minus_2_ps = 0
tCKmax_ps = 0
caslat_X = 960
tAA_ps = 13125
caslat_X_minus_1 = 0
caslat_X_minus_2 = 0
caslat_lowest_derated = 0
tRCD_ps = 13125
tRP_ps = 13125
tRAS_ps = 36000
tWR_ps = 15000
tWTR_ps = 7500
tRFC_ps = 160000
tRRD_ps = 6000
tRC_ps = 49125
refresh_rate_ps = 7800000
tIS_ps = 0
tIH_ps = 0
tDS_ps = 0
tDH_ps = 0
tRTP_ps = 7500
tDQSQ_max_ps = 0
tQHS_ps = 0

I can further show the examples of print/edit dimmparams, commonparams,
opts, regs. It will be too long. It is not difficult to use the
self-guided interface. Agree?

York




More information about the U-Boot mailing list