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