| Overview |
| ========= |
| The P1010RDB is a Freescale reference design board that hosts the P1010 SoC. |
| |
| The P1010 is a cost-effective, low-power, highly integrated host processor |
| based on a Power Architecture e500v2 core (maximum core frequency 800/1000 MHz), |
| that addresses the requirements of several routing, gateways, storage, consumer, |
| and industrial applications. Applications of interest include the main CPUs and |
| I/O processors in network attached storage (NAS), the voice over IP (VoIP) |
| router/gateway, and wireless LAN (WLAN) and industrial controllers. |
| |
| The P1010RDB board features are as follows: |
| Memory subsystem: |
| - 1Gbyte unbuffered DDR3 SDRAM discrete devices (32-bit bus) |
| - 32 Mbyte NOR flash single-chip memory |
| - 32 Mbyte NAND flash memory |
| - 256 Kbit M24256 I2C EEPROM |
| - 16 Mbyte SPI memory |
| - I2C Board EEPROM 128x8 bit memory |
| - SD/MMC connector to interface with the SD memory card |
| Interfaces: |
| - PCIe: |
| - Lane0: x1 mini-PCIe slot |
| - Lane1: x1 PCIe standard slot |
| - SATA: |
| - 1 internal SATA connector to 2.5” 160G SATA2 HDD |
| - 1 eSATA connector to rear panel |
| - 10/100/1000 BaseT Ethernet ports: |
| - eTSEC1, RGMII: one 10/100/1000 port using Vitesse VSC8641XKO |
| - eTSEC2, SGMII: one 10/100/1000 port using Vitesse VSC8221 |
| - eTSEC3, SGMII: one 10/100/1000 port using Vitesse VSC8221 |
| - USB 2.0 port: |
| - x1 USB2.0 port via an external ULPI PHY to micro-AB connector |
| - x1 USB2.0 port via an internal UTMI PHY to micro-AB connector |
| - FlexCAN ports: |
| - 2 DB-9 female connectors for FlexCAN bus(revision 2.0B) |
| interface; |
| - DUART interface: |
| - DUART interface: supports two UARTs up to 115200 bps for |
| console display |
| - RJ45 connectors are used for these 2 UART ports. |
| - TDM |
| - 2 FXS ports connected via an external SLIC to the TDM interface. |
| SLIC is controllled via SPI. |
| - 1 FXO port connected via a relay to FXS for switchover to POTS |
| Board connectors: |
| - Mini-ITX power supply connector |
| - JTAG/COP for debugging |
| IEEE Std. 1588 signals for test and measurement |
| Real-time clock on I2C bus |
| POR |
| - support critical POR setting changed via switch on board |
| PCB |
| - 6-layer routing (4-layer signals, 2-layer power and ground) |
| |
| |
| Physical Memory Map on P1010RDB |
| =============================== |
| Address Start Address End Memory type Attributes |
| 0x0000_0000 0x3fff_ffff DDR 1G Cacheable |
| 0xa000_0000 0xdfff_ffff PCI Express Mem 1G non-cacheable |
| 0xee00_0000 0xefff_ffff NOR Flash 32M non-cacheable |
| 0xffc2_0000 0xffc5_ffff PCI IO range 256K non-cacheable |
| 0xffa0_0000 0xffaf_ffff NAND Flash 1M cacheable |
| 0xffb0_0000 0xffbf_ffff Board CPLD 1M non-cacheable |
| 0xffd0_0000 0xffd0_3fff L1 for Stack 16K Cacheable TLB0 |
| 0xffe0_0000 0xffef_ffff CCSR 1M non-cacheable |
| |
| |
| Serial Port Configuration on P1010RDB |
| ===================================== |
| Configure the serial port of the attached computer with the following values: |
| -Data rate: 115200 bps |
| -Number of data bits: 8 |
| -Parity: None |
| -Number of Stop bits: 1 |
| -Flow Control: Hardware/None |
| |
| |
| Settings of DIP-switch |
| ====================== |
| SW4[1:4]= 1111 and SW6[4]=0 for boot from 16bit NOR flash |
| SW4[1:4]= 1000 and SW6[4]=1 for boot from 8bit NAND flash |
| SW4[1:4]= 0110 and SW6[4]=0 for boot from SPI flash |
| Note: 1 stands for 'on', 0 stands for 'off' |
| |
| |
| Setting of hwconfig |
| =================== |
| If FlexCAN or TDM is needed, please set "fsl_p1010mux:tdm_can=can" or |
| "fsl_p1010mux:tdm_can=tdm" explicitly in u-boot prompt as below for example: |
| setenv hwconfig "fsl_p1010mux:tdm_can=tdm;usb1:dr_mode=host,phy_type=utmi" |
| By default, don't set fsl_p1010mux:tdm_can, in this case, spi chip selection |
| is set to spi-flash instead of to SLIC/TDM/DAC and tdm_can_sel is set to TDM |
| instead of to CAN/UART1. |
| |
| |
| Build and burn U-Boot to NOR flash |
| ================================== |
| 1. Build u-boot.bin image |
| export CROSS_COMPILE=/your_path/powerpc-linux-gnu- |
| make P1010RDB_NOR |
| |
| 2. Burn u-boot.bin into NOR flash |
| => tftp $loadaddr $uboot |
| => protect off eff40000 +$filesize |
| => erase eff40000 +$filesize |
| => cp.b $loadaddr eff40000 $filesize |
| |
| 3. Check SW4[1:4]= 1111 and SW6[4]=0, then power on. |
| |
| |
| Alternate NOR bank |
| ================== |
| 1. Burn u-boot.bin into alternate NOR bank |
| => tftp $loadaddr $uboot |
| => protect off eef40000 +$filesize |
| => erase eef40000 +$filesize |
| => cp.b $loadaddr eef40000 $filesize |
| |
| 2. Switch to alternate NOR bank |
| => mw.b ffb00009 1 |
| => reset |
| or set SW1[8]= ON |
| |
| SW1[8]= OFF: Upper bank used for booting start |
| SW1[8]= ON: Lower bank used for booting start |
| CPLD NOR bank selection register address 0xFFB00009 Bit[0]: |
| 0 - boot from upper 4 sectors |
| 1 - boot from lower 4 sectors |
| |
| |
| Build and burn U-Boot to NAND flash |
| =================================== |
| 1. Build u-boot.bin image |
| export ARCH=powerpc |
| export CROSS_COMPILE=/your_path/powerpc-linux-gnu- |
| make P1010RDB_NAND |
| |
| 2. Burn u-boot-nand.bin into NAND flash |
| => tftp $loadaddr $uboot-nand |
| => nand erase 0 $filesize |
| => nand write $loadaddr 0 $filesize |
| |
| 3. Check SW4[1:4]= 1000 and SW6[4]=1, then power on. |
| |
| |
| Build and burn U-Boot to SPI flash |
| ================================== |
| 1. Build u-boot-spi.bin image |
| make P1010RDB_SPIFLASH_config; make |
| Boot up kernel with rootfs.ext2.gz.uboot.p1010rdb |
| Download u-boot.bin to linux and you can find some config files |
| under /usr/share such as config_xx.dat. Do below command: |
| boot_format config_ddr3_1gb_p1010rdb_800M.dat u-boot.bin -spi \ |
| u-boot-spi.bin |
| to generate u-boot-spi.bin. |
| |
| 2. Burn u-boot-spi.bin into SPI flash |
| => tftp $loadaddr $uboot-spi |
| => sf erase 0 100000 |
| => sf write $loadaddr 0 $filesize |
| |
| 3. Check SW4[1:4]= 0110 and SW6[4]=0, then power on. |
| |
| |
| CPLD POR setting registers |
| ========================== |
| 1. Set POR switch selection register (addr 0xFFB00011) to 0. |
| 2. Write CPLD POR registers (BCSR0~BCSR3, addr 0xFFB00014~0xFFB00017) with |
| proper values. |
| If change boot ROM location to NOR or NAND flash, need write the IFC_CS0 |
| switch command by I2C. |
| 3. Send reset command. |
| After reset, the new POR setting will be implemented. |
| |
| Two examples are given in below: |
| Switch from NOR to NAND boot with default frequency: |
| => i2c dev 0 |
| => i2c mw 18 1 f9 |
| => i2c mw 18 3 f0 |
| => mw.b ffb00011 0 |
| => mw.b ffb00017 1 |
| => reset |
| Switch from NAND to NOR boot with Core/CCB/DDR (800/400/667 MHz): |
| => i2c dev 0 |
| => i2c mw 18 1 f1 |
| => i2c mw 18 3 f0 |
| => mw.b ffb00011 0 |
| => mw.b ffb00014 2 |
| => mw.b ffb00015 5 |
| => mw.b ffb00016 3 |
| => mw.b ffb00017 f |
| => reset |
| |
| |
| Boot Linux from network using TFTP on P1010RDB |
| ============================================== |
| Place uImage, p1010rdb.dtb and rootfs files in the TFTP disk area. |
| => tftp 1000000 uImage |
| => tftp 2000000 p1010rdb.dtb |
| => tftp 3000000 rootfs.ext2.gz.uboot.p1010rdb |
| => bootm 1000000 3000000 2000000 |
| |
| |
| For more details, please refer to P1010RDB User Guide and access website |
| www.freescale.com |