xref: /openbmc/u-boot/board/freescale/p1010rdb/README.P1010RDB-PA (revision 57dc53a72460e8e301fa1cc7951b41db8e731485)
162af7615SShengzhou LiuOverview
262af7615SShengzhou Liu=========
362af7615SShengzhou LiuThe P1010RDB is a Freescale reference design board that hosts the P1010 SoC.
462af7615SShengzhou Liu
562af7615SShengzhou LiuThe P1010 is a cost-effective, low-power, highly integrated host processor
662af7615SShengzhou Liubased on a Power Architecture e500v2 core (maximum core frequency 800/1000 MHz),
762af7615SShengzhou Liuthat addresses the requirements of several routing, gateways, storage, consumer,
862af7615SShengzhou Liuand industrial applications. Applications of interest include the main CPUs and
962af7615SShengzhou LiuI/O processors in network attached storage (NAS), the voice over IP (VoIP)
1062af7615SShengzhou Liurouter/gateway, and wireless LAN (WLAN) and industrial controllers.
1162af7615SShengzhou Liu
1262af7615SShengzhou LiuThe P1010RDB board features are as follows:
1362af7615SShengzhou LiuMemory subsystem:
1462af7615SShengzhou Liu	- 1Gbyte unbuffered DDR3 SDRAM discrete devices (32-bit bus)
1562af7615SShengzhou Liu	- 32 Mbyte NOR flash single-chip memory
1662af7615SShengzhou Liu	- 32 Mbyte NAND flash memory
1762af7615SShengzhou Liu	- 256 Kbit M24256 I2C EEPROM
1862af7615SShengzhou Liu	- 16 Mbyte SPI memory
1962af7615SShengzhou Liu	- I2C Board EEPROM 128x8 bit memory
2062af7615SShengzhou Liu	- SD/MMC connector to interface with the SD memory card
2162af7615SShengzhou LiuInterfaces:
2262af7615SShengzhou Liu	- PCIe:
2362af7615SShengzhou Liu		- Lane0: x1 mini-PCIe slot
2462af7615SShengzhou Liu		- Lane1: x1 PCIe standard slot
2562af7615SShengzhou Liu	- SATA:
2662af7615SShengzhou Liu		- 1 internal SATA connector to 2.5” 160G SATA2 HDD
2762af7615SShengzhou Liu		- 1 eSATA connector to rear panel
2862af7615SShengzhou Liu	- 10/100/1000 BaseT Ethernet ports:
2962af7615SShengzhou Liu		- eTSEC1, RGMII: one 10/100/1000 port using Vitesse VSC8641XKO
3062af7615SShengzhou Liu		- eTSEC2, SGMII: one 10/100/1000 port using Vitesse VSC8221
3162af7615SShengzhou Liu		- eTSEC3, SGMII: one 10/100/1000 port using Vitesse VSC8221
3262af7615SShengzhou Liu	- USB 2.0 port:
3362af7615SShengzhou Liu		- x1 USB2.0 port via an external ULPI PHY to micro-AB connector
3462af7615SShengzhou Liu		- x1 USB2.0 port via an internal UTMI PHY to micro-AB connector
3562af7615SShengzhou Liu	- FlexCAN ports:
3662af7615SShengzhou Liu		- 2 DB-9 female connectors for FlexCAN bus(revision 2.0B)
3762af7615SShengzhou Liu		  interface;
3862af7615SShengzhou Liu	- DUART interface:
3962af7615SShengzhou Liu		- DUART interface: supports two UARTs up to 115200 bps for
4062af7615SShengzhou Liu		   console display
4162af7615SShengzhou Liu		- RJ45 connectors are used for these 2 UART ports.
4262af7615SShengzhou Liu	- TDM
4362af7615SShengzhou Liu		- 2 FXS ports connected via an external SLIC to the TDM interface.
4462af7615SShengzhou Liu		  SLIC is controllled via SPI.
4562af7615SShengzhou Liu		- 1 FXO port connected via a relay to FXS for switchover to POTS
4662af7615SShengzhou LiuBoard connectors:
4762af7615SShengzhou Liu	- Mini-ITX power supply connector
4862af7615SShengzhou Liu	- JTAG/COP for debugging
4962af7615SShengzhou LiuIEEE Std. 1588 signals for test and measurement
5062af7615SShengzhou LiuReal-time clock on I2C bus
5162af7615SShengzhou LiuPOR
5262af7615SShengzhou Liu	- support critical POR setting changed via switch on board
5362af7615SShengzhou LiuPCB
5462af7615SShengzhou Liu	- 6-layer routing (4-layer signals, 2-layer power and ground)
5562af7615SShengzhou Liu
5662af7615SShengzhou Liu
5762af7615SShengzhou LiuPhysical Memory Map on P1010RDB
5862af7615SShengzhou Liu===============================
5962af7615SShengzhou LiuAddress Start   Address End   Memory type	Attributes
6062af7615SShengzhou Liu0x0000_0000	0x3fff_ffff   DDR		1G Cacheable
6162af7615SShengzhou Liu0xa000_0000	0xdfff_ffff   PCI Express Mem	1G non-cacheable
6262af7615SShengzhou Liu0xee00_0000	0xefff_ffff   NOR Flash		32M non-cacheable
6362af7615SShengzhou Liu0xffc2_0000	0xffc5_ffff   PCI IO range	256K non-cacheable
6462af7615SShengzhou Liu0xffa0_0000	0xffaf_ffff   NAND Flash	1M cacheable
6562af7615SShengzhou Liu0xffb0_0000	0xffbf_ffff   Board CPLD	1M non-cacheable
6662af7615SShengzhou Liu0xffd0_0000	0xffd0_3fff   L1 for Stack	16K Cacheable TLB0
6762af7615SShengzhou Liu0xffe0_0000	0xffef_ffff   CCSR		1M non-cacheable
6862af7615SShengzhou Liu
6962af7615SShengzhou Liu
7062af7615SShengzhou LiuSerial Port Configuration on P1010RDB
7162af7615SShengzhou Liu=====================================
7262af7615SShengzhou LiuConfigure the serial port of the attached computer with the following values:
7362af7615SShengzhou Liu	-Data rate: 115200 bps
7462af7615SShengzhou Liu	-Number of data bits: 8
7562af7615SShengzhou Liu	-Parity: None
7662af7615SShengzhou Liu	-Number of Stop bits: 1
7762af7615SShengzhou Liu	-Flow Control: Hardware/None
7862af7615SShengzhou Liu
7962af7615SShengzhou Liu
8062af7615SShengzhou LiuSettings of DIP-switch
8162af7615SShengzhou Liu======================
8262af7615SShengzhou Liu  SW4[1:4]= 1111 and SW6[4]=0 for boot from 16bit NOR flash
8362af7615SShengzhou Liu  SW4[1:4]= 1000 and SW6[4]=1 for boot from 8bit NAND flash
8462af7615SShengzhou Liu  SW4[1:4]= 0110 and SW6[4]=0 for boot from SPI flash
8562af7615SShengzhou LiuNote: 1 stands for 'on', 0 stands for 'off'
8662af7615SShengzhou Liu
8762af7615SShengzhou Liu
8862af7615SShengzhou LiuSetting of hwconfig
8962af7615SShengzhou Liu===================
9062af7615SShengzhou LiuIf FlexCAN or TDM is needed, please set "fsl_p1010mux:tdm_can=can" or
9162af7615SShengzhou Liu"fsl_p1010mux:tdm_can=tdm" explicitly in u-booot prompt as below for example:
9262af7615SShengzhou Liusetenv hwconfig "fsl_p1010mux:tdm_can=tdm;usb1:dr_mode=host,phy_type=utmi"
9362af7615SShengzhou LiuBy default, don't set fsl_p1010mux:tdm_can, in this case, spi chip selection
9462af7615SShengzhou Liuis set to spi-flash instead of to SLIC/TDM/DAC and tdm_can_sel is set to TDM
9562af7615SShengzhou Liuinstead of to CAN/UART1.
9662af7615SShengzhou Liu
9762af7615SShengzhou Liu
98*a187559eSBin MengBuild and burn U-Boot to NOR flash
9962af7615SShengzhou Liu==================================
10062af7615SShengzhou Liu1. Build u-boot.bin image
10162af7615SShengzhou Liu	export ARCH=powerpc
10262af7615SShengzhou Liu	export CROSS_COMPILE=/your_path/powerpc-linux-gnu-
10362af7615SShengzhou Liu	make P1010RDB_NOR
10462af7615SShengzhou Liu
10562af7615SShengzhou Liu2. Burn u-boot.bin into NOR flash
10662af7615SShengzhou Liu	=> tftp $loadaddr $uboot
107e222b1f3SPrabhakar Kushwaha	=> protect off eff40000 +$filesize
108e222b1f3SPrabhakar Kushwaha	=> erase eff40000 +$filesize
109e222b1f3SPrabhakar Kushwaha	=> cp.b $loadaddr eff40000 $filesize
11062af7615SShengzhou Liu
11162af7615SShengzhou Liu3. Check SW4[1:4]= 1111 and SW6[4]=0, then power on.
11262af7615SShengzhou Liu
11362af7615SShengzhou Liu
11462af7615SShengzhou LiuAlternate NOR bank
11562af7615SShengzhou Liu==================
11662af7615SShengzhou Liu1. Burn u-boot.bin into alternate NOR bank
11762af7615SShengzhou Liu	=> tftp $loadaddr $uboot
118e222b1f3SPrabhakar Kushwaha	=> protect off eef40000 +$filesize
119e222b1f3SPrabhakar Kushwaha	=> erase eef40000 +$filesize
120e222b1f3SPrabhakar Kushwaha	=> cp.b $loadaddr eef40000 $filesize
12162af7615SShengzhou Liu
12262af7615SShengzhou Liu2. Switch to alternate NOR bank
12362af7615SShengzhou Liu	=> mw.b ffb00009 1
12462af7615SShengzhou Liu	=> reset
12562af7615SShengzhou Liu	or set SW1[8]= ON
12662af7615SShengzhou Liu
12762af7615SShengzhou LiuSW1[8]= OFF: Upper bank used for booting start
12862af7615SShengzhou LiuSW1[8]= ON:  Lower bank used for booting start
12962af7615SShengzhou LiuCPLD NOR bank selection register address 0xFFB00009 Bit[0]:
13062af7615SShengzhou Liu0 - boot from upper 4 sectors
13162af7615SShengzhou Liu1 - boot from lower 4 sectors
13262af7615SShengzhou Liu
13362af7615SShengzhou Liu
134*a187559eSBin MengBuild and burn U-Boot to NAND flash
13562af7615SShengzhou Liu===================================
13662af7615SShengzhou Liu1. Build u-boot.bin image
13762af7615SShengzhou Liu	export ARCH=powerpc
13862af7615SShengzhou Liu	export CROSS_COMPILE=/your_path/powerpc-linux-gnu-
13962af7615SShengzhou Liu	make P1010RDB_NAND
14062af7615SShengzhou Liu
14162af7615SShengzhou Liu2. Burn u-boot-nand.bin into NAND flash
14262af7615SShengzhou Liu	=> tftp $loadaddr $uboot-nand
14362af7615SShengzhou Liu	=> nand erase 0 $filesize
14462af7615SShengzhou Liu	=> nand write $loadaddr 0 $filesize
14562af7615SShengzhou Liu
14662af7615SShengzhou Liu3. Check SW4[1:4]= 1000 and SW6[4]=1, then power on.
14762af7615SShengzhou Liu
14862af7615SShengzhou Liu
149*a187559eSBin MengBuild and burn U-Boot to SPI flash
15062af7615SShengzhou Liu==================================
15162af7615SShengzhou Liu1. Build u-boot-spi.bin image
15262af7615SShengzhou Liu	make P1010RDB_SPIFLASH_config; make
15362af7615SShengzhou Liu	Boot up kernel with rootfs.ext2.gz.uboot.p1010rdb
15462af7615SShengzhou Liu	Download u-boot.bin to linux and you can find some config files
15562af7615SShengzhou Liu	under /usr/share such as config_xx.dat. Do below command:
15662af7615SShengzhou Liu	boot_format config_ddr3_1gb_p1010rdb_800M.dat u-boot.bin -spi \
15762af7615SShengzhou Liu			u-boot-spi.bin
15862af7615SShengzhou Liu	to generate u-boot-spi.bin.
15962af7615SShengzhou Liu
16062af7615SShengzhou Liu2. Burn u-boot-spi.bin into SPI flash
16162af7615SShengzhou Liu	=> tftp $loadaddr $uboot-spi
16262af7615SShengzhou Liu	=> sf erase 0 100000
16362af7615SShengzhou Liu	=> sf write $loadaddr 0 $filesize
16462af7615SShengzhou Liu
16562af7615SShengzhou Liu3. Check SW4[1:4]= 0110 and SW6[4]=0, then power on.
16662af7615SShengzhou Liu
16762af7615SShengzhou Liu
16862af7615SShengzhou LiuCPLD POR setting registers
16962af7615SShengzhou Liu==========================
17062af7615SShengzhou Liu1. Set POR switch selection register (addr 0xFFB00011) to 0.
17162af7615SShengzhou Liu2. Write CPLD POR registers (BCSR0~BCSR3, addr 0xFFB00014~0xFFB00017) with
17262af7615SShengzhou Liu   proper values.
17362af7615SShengzhou Liu   If change boot ROM location to NOR or NAND flash, need write the IFC_CS0
17462af7615SShengzhou Liu   switch command by I2C.
17562af7615SShengzhou Liu3. Send reset command.
17662af7615SShengzhou Liu   After reset, the new POR setting will be implemented.
17762af7615SShengzhou Liu
17862af7615SShengzhou LiuTwo examples are given in below:
17962af7615SShengzhou LiuSwitch from NOR to NAND boot with default frequency:
18062af7615SShengzhou Liu	=> i2c dev 0
18162af7615SShengzhou Liu	=> i2c mw 18 1 f9
18262af7615SShengzhou Liu	=> i2c mw 18 3 f0
18362af7615SShengzhou Liu	=> mw.b ffb00011 0
18462af7615SShengzhou Liu	=> mw.b ffb00017 1
18562af7615SShengzhou Liu	=> reset
18662af7615SShengzhou LiuSwitch from NAND to NOR boot with Core/CCB/DDR (800/400/667 MHz):
18762af7615SShengzhou Liu	=> i2c dev 0
18862af7615SShengzhou Liu	=> i2c mw 18 1 f1
18962af7615SShengzhou Liu	=> i2c mw 18 3 f0
19062af7615SShengzhou Liu	=> mw.b ffb00011 0
19162af7615SShengzhou Liu	=> mw.b ffb00014 2
19262af7615SShengzhou Liu	=> mw.b ffb00015 5
19362af7615SShengzhou Liu	=> mw.b ffb00016 3
19462af7615SShengzhou Liu	=> mw.b ffb00017 f
19562af7615SShengzhou Liu	=> reset
19662af7615SShengzhou Liu
19762af7615SShengzhou Liu
19862af7615SShengzhou LiuBoot Linux from network using TFTP on P1010RDB
19962af7615SShengzhou Liu==============================================
20062af7615SShengzhou LiuPlace uImage, p1010rdb.dtb and rootfs files in the TFTP disk area.
20162af7615SShengzhou Liu	=> tftp 1000000 uImage
20262af7615SShengzhou Liu	=> tftp 2000000 p1010rdb.dtb
20362af7615SShengzhou Liu	=> tftp 3000000 rootfs.ext2.gz.uboot.p1010rdb
20462af7615SShengzhou Liu	=> bootm 1000000 3000000 2000000
20562af7615SShengzhou Liu
20662af7615SShengzhou Liu
20762af7615SShengzhou LiuFor more details, please refer to P1010RDB User Guide and access website
20862af7615SShengzhou Liuwww.freescale.com
209