u-boot/doc
Li Yang 14aa71e660 powerpc/85xx: Add support for new P102x/P2020 RDB style boards
The following boards share a common design but with minor variations
between them:

P1020MSBG-PC
P1020RDB-PC
P1020UTM-PC
P1021RDB-PC
P1024RDB
P1025RDB
P2020RDB-PC

The P1020RDB-PC shares its roots in the existing P1020RDB board design,
however uses DDR3 instead of DDR2.
P2020RDB-PC differs from the P102x RDB-PC with 64-bit DDR and 100Mhz SYSCLK.

Key features on these boards include:
* DDR3
* NOR flash
* NAND flash (on RDB's only)
* SPI flash (on RDB's only)
* SDHC/MMC card slot
* VSC7385 Ethernet switch (on P1020MBG, P1020RDB, & P1021RDB)
* PCIE slot and mini-PCIE slots

As these boards use soldered DDR chips not regular DIMMs, an on-board EEPROM
is used to store SPD data. In case of absent or corrupted SPD, falling back
to timing data embedded in the source code will be used. Raw timing data is
extracted from DDR chip datasheet. Different speeds of DDR are supported
with this approach. ODT option is forced to fit this set of boards, again
because they don't have regular DIMMs.

CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS is defined as 5ms to meet
specification for writing timing.

VSC firmware Address is defined by default in config file for eTSEC1.

SD width is based off DIP switch. DIP switch is detected on the
board by reading i2c bus and setting the appropriate mux values.

Some boards have QE module in the silicon (P1021 and P1025). QE and eLBC
have pins multiplexing. QE function needs to be disabled to access Nor Flash
and CPLD. QE-UEC and QE-UART can be enabled for linux kernel by setting "qe"
in hwconfig. In addition, QE-UEC and QE-TDM also have pins multiplexing, to
enable QE-TDM for linux kernel, set "qe;tdm" in hwconfig. Syntax is as below

'setenv hwconfig qe' to enable QE UEC/UART and disable Nor-Flash/CPLD.
'setenv hwconfig 'qe;tdm'' to enalbe QE TDM and disable Nor-Flash/CPLD.

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Zhao Chenhui <b26998@freescale.com>
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
Signed-off-by: Tang Yuantian <b29983@freescale.com>
Signed-off-by: ramneek.mehresh <ramneek.mehresh@freescale.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Xie Xiaobo <X.Xie@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com>
Signed-off-by: Akhil Goyal <akhil.goyal@freescale.com>
2011-09-29 19:01:04 -05:00
..
uImage.FIT net ppc: fix ethernet device names with spaces 2010-08-09 11:52:28 -07:00
feature-removal-schedule.txt Drop support for CONFIG_SYS_ARM_WITHOUT_RELOC 2010-10-29 21:39:59 +02:00
I2C_Edge_Conditions rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
mkimage.1 Escape minus signs in manpage 2011-01-19 00:07:51 +01:00
README-integrator arm: Move cpu/$CPU to arch/arm/cpu/$CPU 2010-04-13 09:13:24 +02:00
README.440-DDR-performance PPC440 DDR setup: Set SDRAM0_CFG0[PMU]=0 for best performance 2006-07-28 18:34:58 +02:00
README.alaska8220 Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
README.AMCC-eval-boards-cleanup Major cleanup for AMCC PPC4xx eval boards. 2005-08-01 16:49:12 +02:00
README.amigaone * Patch by Thomas Frieden, 13 Nov 2002: 2002-11-19 11:04:11 +00:00
README.arm-caches arm: do not force d-cache enable on all boards 2011-09-04 11:36:16 +02:00
README.ARM-memory-map Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE 2010-10-18 22:07:10 +02:00
README.arm-relocation Minor coding style cleanup. 2011-05-19 22:22:44 +02:00
README.ARM-SoC arm: Move cpu/$CPU to arch/arm/cpu/$CPU 2010-04-13 09:13:24 +02:00
README.at91 at91: Introduction of at91sam9g10 SOC. 2009-07-12 17:56:11 +02:00
README.at91-soc Minor coding style cleanup. 2011-09-11 21:24:09 +02:00
README.atmel_mci Prepare v2010.09-rc1 2010-09-10 00:16:19 +02:00
README.autoboot Fix printf() format problems with configurable prompts 2008-07-31 17:08:27 +02:00
README.AVR32 avr32: Update README 2008-09-01 13:41:58 +02:00
README.AVR32-port-muxing avr32: refactor the portmux/gpio code 2008-09-01 14:20:41 +02:00
README.bamboo ppc4xx: Update AMCC Bamboo README doc/README.bamboo 2007-08-06 21:10:17 +02:00
README.bedbug Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
README.bitbangMII Coding Style cleanup; update CHANGELOG, prepare -rc1 2009-10-28 00:49:47 +01:00
README.blackfin add some more Blackfin docs 2008-02-04 19:26:54 -05:00
README.bus_vcxk Prepare 2009.08-rc1 2009-07-27 00:24:55 +02:00
README.cfi mpc5200, digsy_mtc: add support for rev5 board version 2011-01-18 23:34:26 +01:00
README.cmi rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.COBRA5272 Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE 2010-10-18 22:07:10 +02:00
README.commands Patch by Kenneth Johansson, 30 Jun 2003: 2003-07-01 21:06:45 +00:00
README.commands.itest * Patch by Laurent Mohin, 10 Feb 2004: 2004-02-23 20:48:38 +00:00
README.console doc: provide a correct board_init_r definition path 2011-09-23 08:12:28 +02:00
README.davinci DA850 EVM: passing maximum clock rate information to kernel 2010-11-19 16:29:11 -05:00
README.db64360 * Patch by Ronen Shitrit, 10 Dec 2003: 2004-01-03 00:43:19 +00:00
README.db64460 * Patch by Ronen Shitrit, 10 Dec 2003: 2004-01-03 00:43:19 +00:00
README.designware_eth SPEAr : Network driver support added 2010-07-12 00:08:05 -07:00
README.dnp5370 Blackfin: dnp5370: new board port 2011-04-08 00:44:26 -04:00
README.dns Coding Style cleanup; update CHANGELOG. 2009-07-23 22:23:23 +02:00
README.drivers.eth Program net device MAC addresses after initializing 2010-05-03 14:52:49 -07:00
README.ebony i2c: Update references to individual i2c commands 2009-06-12 20:39:46 +02:00
README.enetaddr Program net device MAC addresses after initializing 2010-05-03 14:52:49 -07:00
README.EVB-64260-750CX * Code cleanup: 2003-06-27 21:31:46 +00:00
README.evb64260 Initial revision 2002-11-02 23:30:20 +00:00
README.fads * Code cleanup: 2003-06-27 21:31:46 +00:00
README.fsl-ddr Minor Coding Style Cleanup. 2011-02-02 22:36:10 +01:00
README.fsl-hwconfig powerpc/85xx: Specify hwconfig usage for USB controller 2011-07-11 13:24:20 -05:00
README.generic_usb_ohci rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.hawkboard Add board support for hawkboard 2010-11-30 11:25:01 -05:00
README.hwconfig doc: add README for CONFIG_HWCONFIG option 2010-03-12 00:09:25 +01:00
README.IceCube * Temporarily disabled John Kerl's extended MII command code because 2004-04-18 23:32:11 +00:00
README.idma2intr * Patch by Arun Dharankar, 4 Apr 2003: 2003-04-05 00:53:31 +00:00
README.imx5 ARM: MX51: PLL errata workaround 2011-09-04 11:36:11 +02:00
README.imx31 move README.imx31 to doc/ and merge with README.mx31 2008-10-08 18:59:04 +02:00
README.imximage imximage: Add MX53 boot image support 2011-02-02 00:54:42 +01:00
README.INCA-IP * Patches by Xianghua Xiao, 15 Oct 2003: 2003-10-15 23:53:47 +00:00
README.iomux IOMUX: Add console multiplexing support. 2008-12-07 01:23:35 +01:00
README.IPHASE4539 Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
README.JFFS2 rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.JFFS2_NAND Fix "par[t]ition" typo. 2010-05-21 22:05:05 +02:00
README.kmeter1 net: rename "FSL UECx" net interfaces "UECx" 2010-08-09 11:52:29 -07:00
README.korat Makefile: move all Power Architecture boards into boards.cfg 2010-10-18 22:12:04 +02:00
README.kwbimage Coding Style cleanup; update CHANGELOG, prepare -rc1 2009-10-28 00:49:47 +01:00
README.LED Move lib_$ARCH directories to arch/$ARCH/lib 2010-04-13 09:13:03 +02:00
README.LED_display led_display: remove unused DISPLAY_MARK define 2010-10-21 22:25:04 +02:00
README.Lite5200B_low_power [PATCH] icecube/lite5200b: document wakeup from low-power support 2007-04-18 12:11:05 +02:00
README.lynxkdi rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.m68k cleanup: Fix typos and misspellings in various files. 2011-07-28 21:27:36 +02:00
README.m5253evbe rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.m5373evb Convert ISO-8859 files to UTF-8 2011-08-04 23:34:02 +02:00
README.m5475evb m68k: Move cpu/$CPU to arch/m68k/cpu/$CPU 2010-04-13 09:13:24 +02:00
README.m52277evb m68k: Move cpu/$CPU to arch/m68k/cpu/$CPU 2010-04-13 09:13:24 +02:00
README.m53017evb m68k: Move cpu/$CPU to arch/m68k/cpu/$CPU 2010-04-13 09:13:24 +02:00
README.m54455evb m68k: Move cpu/$CPU to arch/m68k/cpu/$CPU 2010-04-13 09:13:24 +02:00
README.marubun-pcmcia rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.MBX rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.mergerbox mpc83xx: Add support for MergerBox board 2011-07-06 19:09:27 -05:00
README.mflash mflash: Initial mflash support 2009-04-03 23:47:06 +02:00
README.mips doc/README.mips: Add MIPS notes 2008-04-25 00:03:53 +02:00
README.Modem * Code cleanup: 2003-06-27 21:31:46 +00:00
README.mpc5xx Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
README.mpc74xx Initial revision 2002-11-02 23:30:20 +00:00
README.mpc83xx.ddrecc mpc83xx: Correct the README for DDR ECC 2007-08-10 01:13:11 -05:00
README.mpc83xxads Add support for ep8248 board 2005-08-06 01:42:58 +02:00
README.mpc85xxads 85xx boards: Rename CONFIG_DDR_DLL to CONFIG_SYS_FSL_ERRATUM_DDR_MSYNC_IN 2011-01-14 01:32:19 -06:00
README.mpc85xxcds * Patch by Jon Loeliger, 2005-05-05 2005-07-25 14:05:07 -05:00
README.mpc832xemds 83xx: Replace CONFIG_MPC83[0-9]X with MPC83[0-9]x 2009-06-12 20:47:17 +02:00
README.mpc837xemds 83xx: Replace CONFIG_MPC83[0-9]X with MPC83[0-9]x 2009-06-12 20:47:17 +02:00
README.mpc837xerdb 83xx: Replace CONFIG_MPC83[0-9]X with MPC83[0-9]x 2009-06-12 20:47:17 +02:00
README.MPC866 rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.mpc7448hpc2 Convert ISO-8859 files to UTF-8 2011-08-04 23:34:02 +02:00
README.mpc8313erdb mpc8313erdb: Document NAND boot. 2008-10-29 14:35:56 -05:00
README.mpc8315erdb mpc83xx: Add NAND boot support for MPC8315E-RDB boards 2010-01-07 18:33:52 -06:00
README.mpc8323erdb mpc83xx: add support for the MPC8323E RDB 2007-08-10 01:12:25 -05:00
README.mpc8349itx 83xx: Replace CONFIG_MPC83XX with CONFIG_MPC83xx 2009-06-12 20:47:17 +02:00
README.mpc8360emds 83xx: Replace CONFIG_MPC83XX with CONFIG_MPC83xx 2009-06-12 20:47:17 +02:00
README.mpc8536ds Fix MPC8536DS documentation 2010-03-12 00:15:55 +01:00
README.mpc8544ds Coding style cleanup, update CHANGELOG 2007-08-14 09:54:46 +02:00
README.mpc8569mds Prepare v2009.06 2009-06-14 21:30:39 +02:00
README.mpc8572ds Coding style cleanup; update CHANGELOG 2009-02-12 00:08:39 +01:00
README.mpc8610hpcd 8610HPCD: Document the flashbank selection switches. 2008-02-20 15:26:51 -06:00
README.mpc8641hpcn mpc8641: Fix error in README 2008-12-01 10:28:52 -06:00
README.mvbc_p Prepare v1.3.4-rc1: Code cleanup, update CHANGELOG, sort Makefile 2008-07-15 22:22:44 +02:00
README.mvblm7 Coding Style Cleanup 2008-06-28 23:34:37 +02:00
README.mvsmr Add initial support for Matrix Vision mvSMR board based on MPC5200B. 2010-04-10 00:06:05 +02:00
README.mx35pdk Add support for Freescale's mx35pdk board. 2011-02-02 00:54:43 +01:00
README.nand cmd_nand: add nand write.trimffs command 2011-07-01 15:56:51 -05:00
README.nand-boot-ppc440 Fix some typos 2008-05-09 20:53:52 +02:00
README.ne2000 * Patches by Richard Woodruff, 01 Oct 2004: 2005-01-09 23:16:25 +00:00
README.NetConsole tools/netconsole: use ncb automatically if available 2009-09-15 22:55:45 +02:00
README.nhk8815 arm nomadik: allow Nand and OneNand to coexists 2009-07-06 21:53:06 +02:00
README.ns9750dev * Patch by Markus Pietrek, 24 Feb 2004: 2004-02-26 23:46:20 +00:00
README.ocotea Cleanup (PPC4xx is AMCC now) 2005-09-23 11:05:55 +02:00
README.ocotea-PIBS-to-U-Boot Cleanup (PPC4xx is AMCC now) 2005-09-23 11:05:55 +02:00
README.OFT Code cleanup, especially MIPS for GCC 4.x 2005-12-04 00:40:34 +01:00
README.omap3 omap: gpio: generic changes after changing API 2011-09-13 08:25:15 +02:00
README.omap730p2 * Patch by Rishi Bhattacharya, 08 May 2004: 2004-06-08 00:22:43 +00:00
README.OXC * Code cleanup: 2003-06-27 21:31:46 +00:00
README.p1_p2_rdb_pc powerpc/85xx: Add support for new P102x/P2020 RDB style boards 2011-09-29 19:01:04 -05:00
README.p1022ds Minor coding style cleanup. 2011-05-19 22:22:44 +02:00
README.p1023rds powerpc/85xx: Add basic support for P1023RDS board 2011-07-11 13:24:20 -05:00
README.p2020rdb 85xx: Add support for P2020RDB board 2009-08-28 17:12:38 -05:00
README.p2041rdb powerpc/p2041rdb: Add p2041rdb board support 2011-07-17 11:03:36 -05:00
README.p4080ds p4080ds: add README.p4080ds which documents the "serdes" hwconfig option 2011-04-10 11:17:32 -05:00
README.phytec.pcm030 Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE 2010-10-18 22:07:10 +02:00
README.PIP405 Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
README.PlanetCore Document switching between U-Boot and PlanetCore on RPXlite 2005-08-06 02:11:33 +02:00
README.POST post/i2c: Add ability to ignore I2C devices 2010-10-22 02:19:14 -05:00
README.ppc440 Remove unused CONFIG_SERIAL_SOFTWARE_FIFO feature 2010-09-23 09:02:05 +02:00
README.PXA_CF ide: add configuration 2010-08-08 05:17:05 +05:30
README.qemu_mips cleanup: Fix typos and misspellings in various files. 2011-07-28 21:27:36 +02:00
README.RPXClassic Convert ISO-8859 files to UTF-8 2011-08-04 23:34:02 +02:00
README.RPXlite Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
README.s5pc1xx s5pc1xx: update the README file 2010-04-03 15:24:26 -05:00
README.Sandpoint8240 Change all '$(...)' variable references into '${...}' 2005-11-20 21:40:11 +01:00
README.sata doc: english polishing for README.sata 2008-04-13 14:56:51 -07:00
README.sbc8349 mpc83xx: sbc8349 - make enabling PCI more user friendly 2009-08-21 17:09:21 -05:00
README.sbc8548 sbc8548: reclaim wasted sector in boot flash 2009-09-30 08:29:47 -05:00
README.SBC8560 Cleanup 2004-10-11 23:10:30 +00:00
README.sbc8641d Add support for SBC8641D. Config files. 2007-08-10 14:50:05 -05:00
README.sched * Patch by Arun Dharankar, 4 Apr 2003: 2003-04-05 00:53:31 +00:00
README.scrapyard doc/README.scrapyard: Update board removal commit IDs 2011-09-28 20:42:00 +02:00
README.serial_multi rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.sh sh: Add support Renesas Solutions R7780MP 2008-03-28 14:16:12 +09:00
README.sh7757lcr Coding Style cleanup: remove trailing empty lines 2011-03-27 21:48:08 +02:00
README.sh7785lcr sh: Add support 32-Bit Extended Address Mode to sh7785lcr 2009-03-12 23:58:30 +09:00
README.sha1 rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.silent rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.simpc8313 mpc83xx: New board support for SIMPC8313 2009-01-23 11:31:18 -06:00
README.SNTP Update README.* to reference new CONFIG_CMD_* names now. 2007-07-09 19:10:03 -05:00
README.spear SPEAr : Adding README.spear in doc 2010-01-23 08:15:49 -06:00
README.SPL Minor coding style cleanup. 2011-09-11 21:24:09 +02:00
README.standalone Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
README.stxxtc Add support for Silicon Turnkey eXpress XTc (mpc87x/88x) board. 2005-08-15 15:55:00 +02:00
README.timll Add support for the DevKit8000 board 2009-09-05 01:33:14 +02:00
README.TQM8260 Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
README.ubi Add UBI README 2010-10-19 23:53:45 +02:00
README.ublimage Minor coding style cleanup. 2011-09-11 21:24:09 +02:00
README.update add command fitupd to run an update from a FIT image 2011-07-26 16:58:48 +02:00
README.usb Minor coding style cleanup. 2011-09-11 21:24:09 +02:00
README.video video: parse the video-mode environment variable 2011-04-28 21:31:02 +02:00
README.VLAN Patches by Pantelis Antoniou, 30 Mar 2004: 2004-04-15 21:48:45 +00:00
README.xpedite1k i2c: Update references to individual i2c commands 2009-06-12 20:39:46 +02:00
README.zeus ppc4xx: Add initial Zeus (PPC405EP) board support 2007-08-14 14:44:41 +02:00

Storage of the board specific values (ethaddr...)
-------------------------------------------------

The board specific environment variables that should be unique
for each individual board, can be stored in the I2C EEPROM. This
will be done from offset 0x80 with the length of 0x80 bytes. The
following command can be used to store the values here:

=> setdef de:20:6a:ed:e2:72 de:20:6a:ed:e2:73 AB0001

	  ethaddr           eth1addr          serial#

Now those 3 values are stored into the I2C EEPROM. A CRC is added
to make sure that the values get not corrupted.


SW-Reset Pushbutton handling:
-----------------------------

The SW-reset push button is connected to a GPIO input too. This
way U-Boot can "see" how long the SW-reset was pressed, and a
specific action can be taken. Two different actions are supported:

a) Release after more than 5 seconds and less then 10 seconds:
   -> Run POST

   Please note, that the POST test will take a while (approx. 1 min
   on the 128MByte board). This is mainly due to the system memory
   test.

b) Release after more than 10 seconds:
   -> Restore factory default settings

   The factory default values are restored. The default environment
   variables are restored (ipaddr, serverip...) and the board
   specific values (ethaddr, eth1addr and serial#) are restored
   to the environment from the I2C EEPROM. Also a bootline parameter
   is added to the Linux bootline to signal the Linux kernel upon
   the next startup, that the factory defaults should be restored.

The command to check this sw-reset status and act accordingly is

=> chkreset

This command is added to the default "bootcmd", so that it is called
automatically upon startup.

Also, the 2 LED's are used to indicate the current status of this
command (time passed since pushing the button). When the POST test
will be run, the green LED will be switched off, and when the
factory restore will be initiated, the reg LED will be switched off.


Loggin of POST results:
-----------------------

The results of the POST tests are logged in a logbuffer located at the end
of the onboard memory. It can be accessed with the U-Boot command "log":

=> log show
<4>POST memory PASSED
<4>POST cache PASSED
<4>POST cpu PASSED
<4>POST uart PASSED
<4>POST ethernet PASSED

The DENX Linux kernel tree has support for this log buffer included. Exactly
this buffer is used for logging of all kernel messages too. By enabling the
compile time option "CONFIG_LOGBUFFER" this support is enabled. This way you
can access the U-Boot log messages from Linux too.

2007-08-10, Stefan Roese <sr@denx.de>