| Overview |
| -------- |
| The LS2080A Development System (QDS) is a high-performance computing, |
| evaluation, and development platform that supports the QorIQ LS2080A |
| and LS2088A Layerscape Architecture processor. The LS2080AQDS provides |
| validation and SW development platform for the Freescale LS2080A, LS2088A |
| processor series, with a complete debugging environment. |
| |
| LS2080A, LS2088A SoC Overview |
| -------------------- |
| Please refer arch/arm/cpu/armv8/fsl-layerscape/doc/README.soc for LS2080A, |
| LS2088A SoC overview. |
| |
| LS2080AQDS board Overview |
| ----------------------- |
| - SERDES Connections, 16 lanes supporting: |
| - PCI Express - 3.0 |
| - SGMII, SGMII 2.5 |
| - QSGMII |
| - SATA 3.0 |
| - XAUI |
| - 10GBase-R |
| - DDR Controller |
| - Two ports of 72-bits (8-bits ECC) DDR4. Each port supports four |
| chip-selects and two DIMM connectors. Support is up to 2133MT/s. |
| - One port of 40-bits (8-bits ECC) DDR4 which supports four chip-selects |
| and two DIMM connectors. Support is up to 1600MT/s. |
| -IFC/Local Bus |
| - IFC rev. 2.0 implementation supporting Little Endian connection scheme. |
| - One in-socket 128 MB NOR flash 16-bit data bus |
| - One 512 MB NAND flash with ECC support |
| - IFC Test Port |
| - PromJet Port |
| - FPGA connection |
| - USB 3.0 |
| - Two high speed USB 3.0 ports |
| - First USB 3.0 port configured as Host with Type-A connector |
| - Second USB 3.0 port configured as OTG with micro-AB connector |
| - SDHC: PCIe x1 Right Angle connector for supporting following cards |
| - 1/4-/8-bit SD/MMC Legacy CARD supporting 3.3V devices only |
| - 1-/4-/8-bit SD/MMC Card supporting 1.8V devices only |
| - 4-bit eMMC Card Rev 4.4 (1.8V only) |
| - 8-bit eMMC Card Rev 4.5 (1.8V only) |
| - SD Card Rev 2.0 and Rev 3.0 |
| - DSPI: 3 high-speed flash Memory for storage |
| - 16 MB high-speed flash Memory for boot code and storage (up to 108MHz) |
| - 8 MB high-speed flash Memory (up to 104 MHz) |
| - 512 MB low-speed flash Memory (up to 40 MHz) |
| - QSPI: via NAND/QSPI Card |
| - 4 I2C controllers |
| - Two SATA onboard connectors |
| - UART |
| - Two 4-pin (HW control) or four 2-pin (SW control) serial ports at up to 115.2 Kbit/s |
| - Two DB9 D-Type connectors supporting one Serial port each |
| - ARM JTAG support |
| |
| Memory map from core's view |
| ---------------------------- |
| 0x00_0000_0000 .. 0x00_000F_FFFF Boot Rom |
| 0x00_0100_0000 .. 0x00_0FFF_FFFF CCSR |
| 0x00_1800_0000 .. 0x00_181F_FFFF OCRAM |
| 0x00_3000_0000 .. 0x00_3FFF_FFFF IFC region #1 |
| 0x00_8000_0000 .. 0x00_FFFF_FFFF DDR region #1 |
| 0x05_1000_0000 .. 0x05_FFFF_FFFF IFC region #2 |
| 0x80_8000_0000 .. 0xFF_FFFF_FFFF DDR region #2 |
| |
| Other addresses are either reserved, or not used directly by U-Boot. |
| This list should be updated when more addresses are used. |
| |
| IFC region map from core's view |
| ------------------------------- |
| During boot i.e. IFC Region #1:- |
| 0x30000000 - 0x37ffffff : 128MB : NOR flash |
| 0x38000000 - 0x3BFFFFFF : 64MB : Promjet |
| 0x3C000000 - 0x40000000 : 64MB : FPGA etc |
| |
| After relocate to DDR i.e. IFC Region #2:- |
| 0x5_1000_0000..0x5_1fff_ffff Memory Hole |
| 0x5_2000_0000..0x5_3fff_ffff IFC CSx (FPGA, NAND and others 512MB) |
| 0x5_4000_0000..0x5_7fff_ffff ASIC or others 1GB |
| 0x5_8000_0000..0x5_bfff_ffff IFC CS0 1GB (NOR/Promjet) |
| 0x5_C000_0000..0x5_ffff_ffff IFC CS1 1GB (NOR/Promjet) |
| |
| Booting Options |
| --------------- |
| a) Promjet Boot |
| b) NOR boot |
| c) NAND boot |
| d) SD boot |
| e) QSPI boot |
| |
| Memory map for NOR boot |
| ------------------------- |
| Image Flash Offset |
| RCW+PBI 0x00000000 |
| Boot firmware (U-Boot) 0x00100000 |
| Boot firmware Environment 0x00300000 |
| PPA firmware 0x00400000 |
| Secure Headers 0x00600000 |
| DPAA2 MC 0x00A00000 |
| DPAA2 DPL 0x00D00000 |
| DPAA2 DPC 0x00E00000 |
| Kernel.itb 0x01000000 |
| |
| Memory map for SD boot |
| ------------------------- |
| Image Flash Offset SD Card |
| Start Block No. |
| RCW+PBI 0x00000000 0x00008 |
| Boot firmware (U-Boot) 0x00100000 0x00800 |
| Boot firmware Environment 0x00300000 0x01800 |
| PPA firmware 0x00400000 0x02000 |
| DPAA2 MC 0x00A00000 0x05000 |
| DPAA2 DPL 0x00D00000 0x06800 |
| DPAA2 DPC 0x00E00000 0x07000 |
| Kernel.itb 0x01000000 0x08000 |
| |
| Environment Variables |
| --------------------- |
| - mcboottimeout: MC boot timeout in milliseconds. If this variable is not defined |
| the value CFG_SYS_LS_MC_BOOT_TIMEOUT_MS will be assumed. |
| |
| - mcmemsize: MC DRAM block size. If this variable is not defined |
| the value CFG_SYS_LS_MC_DRAM_BLOCK_MIN_SIZE will be assumed. |
| |
| Booting Linux flavors which do not support 48-bit VA (< Linux 3.18) |
| ------------------------------------------------------------------- |
| One needs to use appropriate bootargs to boot Linux flavors which do |
| not support 48-bit VA (for e.g. < Linux 3.18) by appending mem=2048M, as shown |
| below: |
| |
| => setenv bootargs 'console=ttyS1,115200 root=/dev/ram |
| earlycon=uart8250,mmio,0x21c0600,115200 default_hugepagesz=2m hugepagesz=2m |
| hugepages=16 mem=2048M' |
| |
| |
| X-QSGMII-16PORT riser card |
| ---------------------------- |
| The X-QSGMII-16PORT is a 4xQSGMII/8xSGMII riser card with eighth SerDes |
| interfaces implemented in PCIe form factor board. |
| It supports following: |
| - Card can operate with up to 4 QSGMII lane simultaneously |
| - Card can operate with up to 8 SGMII lane simultaneously |
| |
| Supported card configuration |
| - CSEL : ON ON ON ON |
| - MSEL1 : ON ON ON ON OFF OFF OFF OFF |
| - MSEL2 : OFF OFF OFF OFF ON ON ON ON |
| |
| To enable this card: modify hwconfig to add "xqsgmii" variable. |
| |
| Supported PHY addresses during SGMII: |
| #define XQSGMII_CARD_PHY1_PORT0_ADDR 0x0 |
| #define XQSGMII_CARD_PHY1_PORT2_ADDR 0x2 |
| #define XQSGMII_CARD_PHY2_PORT0_ADDR 0x4 |
| #define XQSGMII_CARD_PHY2_PORT2_ADDR 0x6 |
| #define XQSGMII_CARD_PHY3_PORT0_ADDR 0x8 |
| #define XQSGMII_CARD_PHY3_PORT2_ADDR 0xa |
| #define XQSGMII_CARD_PHY4_PORT0_ADDR 0xc |
| #define XQSGMII_CARD_PHY4_PORT2_ADDR 0xe |
| |
| Mapping DPMACx to PHY during SGMII |
| DPMAC1 -> PHY1-P0 |
| DPMAC2 -> PHY2-P0 |
| DPMAC3 -> PHY3-P0 |
| DPMAC4 -> PHY4-P0 |
| DPMAC5 -> PHY3-P2 |
| DPMAC6 -> PHY1-P2 |
| DPMAC7 -> PHY4-P1 |
| DPMAC8 -> PHY2-P2 |
| DPMAC9 -> PHY1-P0 |
| DPMAC10 -> PHY2-P0 |
| DPMAC11 -> PHY3-P0 |
| DPMAC12 -> PHY4-P0 |
| DPMAC13 -> PHY3-P2 |
| DPMAC14 -> PHY1-P2 |
| DPMAC15 -> PHY4-P1 |
| DPMAC16 -> PHY2-P2 |
| |
| |
| Supported PHY address during QSGMII |
| #define XQSGMII_CARD_PHY1_PORT0_ADDR 0x0 |
| #define XQSGMII_CARD_PHY1_PORT1_ADDR 0x1 |
| #define XQSGMII_CARD_PHY1_PORT2_ADDR 0x2 |
| #define XQSGMII_CARD_PHY1_PORT3_ADDR 0x3 |
| #define XQSGMII_CARD_PHY2_PORT0_ADDR 0x4 |
| #define XQSGMII_CARD_PHY2_PORT1_ADDR 0x5 |
| #define XQSGMII_CARD_PHY2_PORT2_ADDR 0x6 |
| #define XQSGMII_CARD_PHY2_PORT3_ADDR 0x7 |
| #define XQSGMII_CARD_PHY3_PORT0_ADDR 0x8 |
| #define XQSGMII_CARD_PHY3_PORT1_ADDR 0x9 |
| #define XQSGMII_CARD_PHY3_PORT2_ADDR 0xa |
| #define XQSGMII_CARD_PHY3_PORT3_ADDR 0xb |
| #define XQSGMII_CARD_PHY4_PORT0_ADDR 0xc |
| #define XQSGMII_CARD_PHY4_PORT1_ADDR 0xd |
| #define XQSGMII_CARD_PHY4_PORT2_ADDR 0xe |
| #define XQSGMII_CARD_PHY4_PORT3_ADDR 0xf |
| |
| Mapping DPMACx to PHY during QSGMII |
| DPMAC1 -> PHY1-P3 |
| DPMAC2 -> PHY1-P2 |
| DPMAC3 -> PHY1-P1 |
| DPMAC4 -> PHY1-P0 |
| DPMAC5 -> PHY2-P3 |
| DPMAC6 -> PHY2-P2 |
| DPMAC7 -> PHY2-P1 |
| DPMAC8 -> PHY2-P0 |
| DPMAC9 -> PHY3-P0 |
| DPMAC10 -> PHY3-P1 |
| DPMAC11 -> PHY3-P2 |
| DPMAC12 -> PHY3-P3 |
| DPMAC13 -> PHY4-P0 |
| DPMAC14 -> PHY4-P1 |
| DPMAC15 -> PHY4-P2 |
| DPMAC16 -> PHY4-P3 |