xref: /OK3568_Linux_fs/u-boot/board/freescale/p1010rdb/README.P1010RDB-PA (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunOverview
2*4882a593Smuzhiyun=========
3*4882a593SmuzhiyunThe P1010RDB is a Freescale reference design board that hosts the P1010 SoC.
4*4882a593Smuzhiyun
5*4882a593SmuzhiyunThe P1010 is a cost-effective, low-power, highly integrated host processor
6*4882a593Smuzhiyunbased on a Power Architecture e500v2 core (maximum core frequency 800/1000 MHz),
7*4882a593Smuzhiyunthat addresses the requirements of several routing, gateways, storage, consumer,
8*4882a593Smuzhiyunand industrial applications. Applications of interest include the main CPUs and
9*4882a593SmuzhiyunI/O processors in network attached storage (NAS), the voice over IP (VoIP)
10*4882a593Smuzhiyunrouter/gateway, and wireless LAN (WLAN) and industrial controllers.
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunThe P1010RDB board features are as follows:
13*4882a593SmuzhiyunMemory subsystem:
14*4882a593Smuzhiyun	- 1Gbyte unbuffered DDR3 SDRAM discrete devices (32-bit bus)
15*4882a593Smuzhiyun	- 32 Mbyte NOR flash single-chip memory
16*4882a593Smuzhiyun	- 32 Mbyte NAND flash memory
17*4882a593Smuzhiyun	- 256 Kbit M24256 I2C EEPROM
18*4882a593Smuzhiyun	- 16 Mbyte SPI memory
19*4882a593Smuzhiyun	- I2C Board EEPROM 128x8 bit memory
20*4882a593Smuzhiyun	- SD/MMC connector to interface with the SD memory card
21*4882a593SmuzhiyunInterfaces:
22*4882a593Smuzhiyun	- PCIe:
23*4882a593Smuzhiyun		- Lane0: x1 mini-PCIe slot
24*4882a593Smuzhiyun		- Lane1: x1 PCIe standard slot
25*4882a593Smuzhiyun	- SATA:
26*4882a593Smuzhiyun		- 1 internal SATA connector to 2.5” 160G SATA2 HDD
27*4882a593Smuzhiyun		- 1 eSATA connector to rear panel
28*4882a593Smuzhiyun	- 10/100/1000 BaseT Ethernet ports:
29*4882a593Smuzhiyun		- eTSEC1, RGMII: one 10/100/1000 port using Vitesse VSC8641XKO
30*4882a593Smuzhiyun		- eTSEC2, SGMII: one 10/100/1000 port using Vitesse VSC8221
31*4882a593Smuzhiyun		- eTSEC3, SGMII: one 10/100/1000 port using Vitesse VSC8221
32*4882a593Smuzhiyun	- USB 2.0 port:
33*4882a593Smuzhiyun		- x1 USB2.0 port via an external ULPI PHY to micro-AB connector
34*4882a593Smuzhiyun		- x1 USB2.0 port via an internal UTMI PHY to micro-AB connector
35*4882a593Smuzhiyun	- FlexCAN ports:
36*4882a593Smuzhiyun		- 2 DB-9 female connectors for FlexCAN bus(revision 2.0B)
37*4882a593Smuzhiyun		  interface;
38*4882a593Smuzhiyun	- DUART interface:
39*4882a593Smuzhiyun		- DUART interface: supports two UARTs up to 115200 bps for
40*4882a593Smuzhiyun		   console display
41*4882a593Smuzhiyun		- RJ45 connectors are used for these 2 UART ports.
42*4882a593Smuzhiyun	- TDM
43*4882a593Smuzhiyun		- 2 FXS ports connected via an external SLIC to the TDM interface.
44*4882a593Smuzhiyun		  SLIC is controllled via SPI.
45*4882a593Smuzhiyun		- 1 FXO port connected via a relay to FXS for switchover to POTS
46*4882a593SmuzhiyunBoard connectors:
47*4882a593Smuzhiyun	- Mini-ITX power supply connector
48*4882a593Smuzhiyun	- JTAG/COP for debugging
49*4882a593SmuzhiyunIEEE Std. 1588 signals for test and measurement
50*4882a593SmuzhiyunReal-time clock on I2C bus
51*4882a593SmuzhiyunPOR
52*4882a593Smuzhiyun	- support critical POR setting changed via switch on board
53*4882a593SmuzhiyunPCB
54*4882a593Smuzhiyun	- 6-layer routing (4-layer signals, 2-layer power and ground)
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun
57*4882a593SmuzhiyunPhysical Memory Map on P1010RDB
58*4882a593Smuzhiyun===============================
59*4882a593SmuzhiyunAddress Start   Address End   Memory type	Attributes
60*4882a593Smuzhiyun0x0000_0000	0x3fff_ffff   DDR		1G Cacheable
61*4882a593Smuzhiyun0xa000_0000	0xdfff_ffff   PCI Express Mem	1G non-cacheable
62*4882a593Smuzhiyun0xee00_0000	0xefff_ffff   NOR Flash		32M non-cacheable
63*4882a593Smuzhiyun0xffc2_0000	0xffc5_ffff   PCI IO range	256K non-cacheable
64*4882a593Smuzhiyun0xffa0_0000	0xffaf_ffff   NAND Flash	1M cacheable
65*4882a593Smuzhiyun0xffb0_0000	0xffbf_ffff   Board CPLD	1M non-cacheable
66*4882a593Smuzhiyun0xffd0_0000	0xffd0_3fff   L1 for Stack	16K Cacheable TLB0
67*4882a593Smuzhiyun0xffe0_0000	0xffef_ffff   CCSR		1M non-cacheable
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun
70*4882a593SmuzhiyunSerial Port Configuration on P1010RDB
71*4882a593Smuzhiyun=====================================
72*4882a593SmuzhiyunConfigure the serial port of the attached computer with the following values:
73*4882a593Smuzhiyun	-Data rate: 115200 bps
74*4882a593Smuzhiyun	-Number of data bits: 8
75*4882a593Smuzhiyun	-Parity: None
76*4882a593Smuzhiyun	-Number of Stop bits: 1
77*4882a593Smuzhiyun	-Flow Control: Hardware/None
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun
80*4882a593SmuzhiyunSettings of DIP-switch
81*4882a593Smuzhiyun======================
82*4882a593Smuzhiyun  SW4[1:4]= 1111 and SW6[4]=0 for boot from 16bit NOR flash
83*4882a593Smuzhiyun  SW4[1:4]= 1000 and SW6[4]=1 for boot from 8bit NAND flash
84*4882a593Smuzhiyun  SW4[1:4]= 0110 and SW6[4]=0 for boot from SPI flash
85*4882a593SmuzhiyunNote: 1 stands for 'on', 0 stands for 'off'
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun
88*4882a593SmuzhiyunSetting of hwconfig
89*4882a593Smuzhiyun===================
90*4882a593SmuzhiyunIf FlexCAN or TDM is needed, please set "fsl_p1010mux:tdm_can=can" or
91*4882a593Smuzhiyun"fsl_p1010mux:tdm_can=tdm" explicitly in u-booot prompt as below for example:
92*4882a593Smuzhiyunsetenv hwconfig "fsl_p1010mux:tdm_can=tdm;usb1:dr_mode=host,phy_type=utmi"
93*4882a593SmuzhiyunBy default, don't set fsl_p1010mux:tdm_can, in this case, spi chip selection
94*4882a593Smuzhiyunis set to spi-flash instead of to SLIC/TDM/DAC and tdm_can_sel is set to TDM
95*4882a593Smuzhiyuninstead of to CAN/UART1.
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun
98*4882a593SmuzhiyunBuild and burn U-Boot to NOR flash
99*4882a593Smuzhiyun==================================
100*4882a593Smuzhiyun1. Build u-boot.bin image
101*4882a593Smuzhiyun	export ARCH=powerpc
102*4882a593Smuzhiyun	export CROSS_COMPILE=/your_path/powerpc-linux-gnu-
103*4882a593Smuzhiyun	make P1010RDB_NOR
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun2. Burn u-boot.bin into NOR flash
106*4882a593Smuzhiyun	=> tftp $loadaddr $uboot
107*4882a593Smuzhiyun	=> protect off eff40000 +$filesize
108*4882a593Smuzhiyun	=> erase eff40000 +$filesize
109*4882a593Smuzhiyun	=> cp.b $loadaddr eff40000 $filesize
110*4882a593Smuzhiyun
111*4882a593Smuzhiyun3. Check SW4[1:4]= 1111 and SW6[4]=0, then power on.
112*4882a593Smuzhiyun
113*4882a593Smuzhiyun
114*4882a593SmuzhiyunAlternate NOR bank
115*4882a593Smuzhiyun==================
116*4882a593Smuzhiyun1. Burn u-boot.bin into alternate NOR bank
117*4882a593Smuzhiyun	=> tftp $loadaddr $uboot
118*4882a593Smuzhiyun	=> protect off eef40000 +$filesize
119*4882a593Smuzhiyun	=> erase eef40000 +$filesize
120*4882a593Smuzhiyun	=> cp.b $loadaddr eef40000 $filesize
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun2. Switch to alternate NOR bank
123*4882a593Smuzhiyun	=> mw.b ffb00009 1
124*4882a593Smuzhiyun	=> reset
125*4882a593Smuzhiyun	or set SW1[8]= ON
126*4882a593Smuzhiyun
127*4882a593SmuzhiyunSW1[8]= OFF: Upper bank used for booting start
128*4882a593SmuzhiyunSW1[8]= ON:  Lower bank used for booting start
129*4882a593SmuzhiyunCPLD NOR bank selection register address 0xFFB00009 Bit[0]:
130*4882a593Smuzhiyun0 - boot from upper 4 sectors
131*4882a593Smuzhiyun1 - boot from lower 4 sectors
132*4882a593Smuzhiyun
133*4882a593Smuzhiyun
134*4882a593SmuzhiyunBuild and burn U-Boot to NAND flash
135*4882a593Smuzhiyun===================================
136*4882a593Smuzhiyun1. Build u-boot.bin image
137*4882a593Smuzhiyun	export ARCH=powerpc
138*4882a593Smuzhiyun	export CROSS_COMPILE=/your_path/powerpc-linux-gnu-
139*4882a593Smuzhiyun	make P1010RDB_NAND
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun2. Burn u-boot-nand.bin into NAND flash
142*4882a593Smuzhiyun	=> tftp $loadaddr $uboot-nand
143*4882a593Smuzhiyun	=> nand erase 0 $filesize
144*4882a593Smuzhiyun	=> nand write $loadaddr 0 $filesize
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun3. Check SW4[1:4]= 1000 and SW6[4]=1, then power on.
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun
149*4882a593SmuzhiyunBuild and burn U-Boot to SPI flash
150*4882a593Smuzhiyun==================================
151*4882a593Smuzhiyun1. Build u-boot-spi.bin image
152*4882a593Smuzhiyun	make P1010RDB_SPIFLASH_config; make
153*4882a593Smuzhiyun	Boot up kernel with rootfs.ext2.gz.uboot.p1010rdb
154*4882a593Smuzhiyun	Download u-boot.bin to linux and you can find some config files
155*4882a593Smuzhiyun	under /usr/share such as config_xx.dat. Do below command:
156*4882a593Smuzhiyun	boot_format config_ddr3_1gb_p1010rdb_800M.dat u-boot.bin -spi \
157*4882a593Smuzhiyun			u-boot-spi.bin
158*4882a593Smuzhiyun	to generate u-boot-spi.bin.
159*4882a593Smuzhiyun
160*4882a593Smuzhiyun2. Burn u-boot-spi.bin into SPI flash
161*4882a593Smuzhiyun	=> tftp $loadaddr $uboot-spi
162*4882a593Smuzhiyun	=> sf erase 0 100000
163*4882a593Smuzhiyun	=> sf write $loadaddr 0 $filesize
164*4882a593Smuzhiyun
165*4882a593Smuzhiyun3. Check SW4[1:4]= 0110 and SW6[4]=0, then power on.
166*4882a593Smuzhiyun
167*4882a593Smuzhiyun
168*4882a593SmuzhiyunCPLD POR setting registers
169*4882a593Smuzhiyun==========================
170*4882a593Smuzhiyun1. Set POR switch selection register (addr 0xFFB00011) to 0.
171*4882a593Smuzhiyun2. Write CPLD POR registers (BCSR0~BCSR3, addr 0xFFB00014~0xFFB00017) with
172*4882a593Smuzhiyun   proper values.
173*4882a593Smuzhiyun   If change boot ROM location to NOR or NAND flash, need write the IFC_CS0
174*4882a593Smuzhiyun   switch command by I2C.
175*4882a593Smuzhiyun3. Send reset command.
176*4882a593Smuzhiyun   After reset, the new POR setting will be implemented.
177*4882a593Smuzhiyun
178*4882a593SmuzhiyunTwo examples are given in below:
179*4882a593SmuzhiyunSwitch from NOR to NAND boot with default frequency:
180*4882a593Smuzhiyun	=> i2c dev 0
181*4882a593Smuzhiyun	=> i2c mw 18 1 f9
182*4882a593Smuzhiyun	=> i2c mw 18 3 f0
183*4882a593Smuzhiyun	=> mw.b ffb00011 0
184*4882a593Smuzhiyun	=> mw.b ffb00017 1
185*4882a593Smuzhiyun	=> reset
186*4882a593SmuzhiyunSwitch from NAND to NOR boot with Core/CCB/DDR (800/400/667 MHz):
187*4882a593Smuzhiyun	=> i2c dev 0
188*4882a593Smuzhiyun	=> i2c mw 18 1 f1
189*4882a593Smuzhiyun	=> i2c mw 18 3 f0
190*4882a593Smuzhiyun	=> mw.b ffb00011 0
191*4882a593Smuzhiyun	=> mw.b ffb00014 2
192*4882a593Smuzhiyun	=> mw.b ffb00015 5
193*4882a593Smuzhiyun	=> mw.b ffb00016 3
194*4882a593Smuzhiyun	=> mw.b ffb00017 f
195*4882a593Smuzhiyun	=> reset
196*4882a593Smuzhiyun
197*4882a593Smuzhiyun
198*4882a593SmuzhiyunBoot Linux from network using TFTP on P1010RDB
199*4882a593Smuzhiyun==============================================
200*4882a593SmuzhiyunPlace uImage, p1010rdb.dtb and rootfs files in the TFTP disk area.
201*4882a593Smuzhiyun	=> tftp 1000000 uImage
202*4882a593Smuzhiyun	=> tftp 2000000 p1010rdb.dtb
203*4882a593Smuzhiyun	=> tftp 3000000 rootfs.ext2.gz.uboot.p1010rdb
204*4882a593Smuzhiyun	=> bootm 1000000 3000000 2000000
205*4882a593Smuzhiyun
206*4882a593Smuzhiyun
207*4882a593SmuzhiyunFor more details, please refer to P1010RDB User Guide and access website
208*4882a593Smuzhiyunwww.freescale.com
209