| Overview |
| ========= |
| C29XPCIE board is a series of Freescale PCIe add-in cards to perform |
| as public key crypto accelerator or secure key management module. |
| It includes C293PCIE board, C293PCIE board and C291PCIE board. |
| The Freescale C29x family is a high performance crypto co-processor. |
| It combines a single e500v2 core with necessary SEC engines. |
| (maximum core frequency 1000/1200 MHz). |
| |
| The C29xPCIE board features are as follows: |
| Memory subsystem: |
| - 512Mbyte unbuffered DDR3 SDRAM discrete devices (32-bit bus) |
| - 64 Mbyte NOR flash single-chip memory |
| - 4 Gbyte NAND flash memory |
| - 1 Mbit AT24C1024 I2C EEPROM |
| - 16 Mbyte SPI memory |
| |
| Interfaces: |
| - 10/100/1000 BaseT Ethernet ports: |
| - eTSEC1, RGMII: one 10/100/1000 port |
| - eTSEC2, RGMII: one 10/100/1000 port |
| - DUART interface: |
| - DUART interface: supports two UARTs up to 115200 bps for |
| console display |
| |
| Board connectors: |
| - Mini-ITX power supply connector |
| - JTAG/COP for debugging |
| |
| Physical Memory Map on C29xPCIE |
| =============================== |
| Address Start Address End Memory type |
| 0x0_0000_0000 - 0x0_1fff_ffff 512MB DDR |
| 0xc_0000_0000 - 0xc_8fff_ffff 256MB PCIE memory |
| 0xf_ec00_0000 - 0xf_efff_ffff 64MB NOR flash |
| 0xf_ffb0_0000 - 0xf_ffb7_ffff 512KB SRAM |
| 0xf_ffc0_0000 - 0xf_ffc0_ffff 64KB PCIE IO |
| 0xf_ffdf_0000 - 0xf_ffdf_0fff 4KB CPLD |
| 0xf_ffe0_0000 - 0xf_ffef_ffff 1MB CCSR |
| |
| Serial Port Configuration on C29xPCIE |
| ===================================== |
| 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 |
| ====================== |
| SW5[1:4]= 1111 and SW5[6]=0 for boot from 16bit NOR flash |
| SW5[1:4]= 0110 and SW5[6]=0 for boot from SPI flash |
| Note: 1 stands for 'off', 0 stands for 'on' |
| |
| Build and program u-boot to NOR flash |
| ================================== |
| 1. Build u-boot.bin image example: |
| export ARCH=powerpc |
| export CROSS_COMPILE=/your_path/powerpc-linux-gnu- |
| make C293PCIE |
| |
| 2. Program u-boot.bin into NOR flash |
| => tftp $loadaddr $uboot |
| => protect off eff40000 +$filesize |
| => erase eff40000 +$filesize |
| => cp.b $loadaddr eff40000 $filesize |
| |
| 3. Check SW5[1:4]= 1111 and SW5[6]=0, then power on. |
| |
| Alternate NOR bank |
| ================== |
| There are four banks in C29XPCIE board, example to change bank booting: |
| 1. Program u-boot.bin into alternate NOR bank |
| => tftp $loadaddr $uboot |
| => protect off e9f40000 +$filesize |
| => erase e9f40000 +$filesize |
| => cp.b $loadaddr e9f40000 $filesize |
| |
| 2. Switch to alternate NOR bank |
| => cpld_cmd reset altbank [bank] |
| - [bank] bank value select 1-4 |
| - bank 1 on the flash 0x0000000~0x0ffffff |
| - bank 2 on the flash 0x1000000~0x1ffffff |
| - bank 3 on the flash 0x2000000~0x2ffffff |
| - bank 4 on the flash 0x3000000~0x3ffffff |
| or set SW5[7]= ON/OFF and SW5[7]= ON/OFF, then power on again. |
| |
| Build and program u-boot to SPI flash |
| ================================== |
| 1. Build u-boot-spi.bin image |
| make C29xPCIE_SPIFLASH_config; make |
| Need the boot_format tool to generate u-boot-spi.bin from the u-boot.bin. |
| |
| 2. Program u-boot-spi.bin into SPI flash |
| => tftp $loadaddr $uboot-spi |
| => sf erase 0 100000 |
| => sf write $loadaddr 0 $filesize |
| |
| 3. Check SW5[1:4]= 0110 and SW5[6]=0, then power on. |