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