Skip to contentSkip to conversation

powerpc/t2080rdb: Add T2080PCIe-RDB board support

PATCH Superseded Shengzhou Liu 2 participants 2 messages Mar 5, 2014 – Mar 7, 2014

v3 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 powerpc/t2080rdb: Add T2080PCIe-RDB board support

T2080PCIe-RDB is a Freescale Reference Design Board that hosts the T2080 SoC. It works in two mode: standalone mode and PCIe endpoint mode.

T2080PCIe-RDB Feature Overview
------------------------------
Processor:
- T2080 SoC integrating four 64-bit dual-threads e6500 cores up to 1.8GHz
DDR Memory:
- Single memory controller capable of supporting DDR3 and DDR3-LP devices
- 72bit 4GB DDR3-LP SODIMM in slot
Ethernet interfaces:
- Two 10M/100M/1G RGMII ports on-board
- Two 10Gbps SFP+ ports on-board
- Two 10Gbps Base-T ports on-board
Accelerator:
- DPAA components consist of FMan, BMan, QMan, PME, DCE and SEC
SerDes 16 lanes configuration:
- SerDes-1 Lane A-B: to two 10G XFI fiber (MAC9 & MAC10)
- SerDes-1 Lane C-D: to two 10G Base-T (MAC1 & MAC2)
- SerDes-1 Lane E-H: to PCIe Goldfinger (PCIe4 x4, Gen3)
- SerDes-2 Lane A-D: to PCIe Slot (PCIe1 x4, Gen2)
- SerDes-2 Lane E-F: to C293 secure co-processor (PCIe2 x2)
- SerDes-2 Lane G-H: to SATA1 & SATA2
IFC/Local Bus:
- NOR: 128MB 16-bit NOR flash
- NAND: 512MB 8-bit NAND flash
- CPLD: for system controlling with programable header on-board
eSPI:
- 64MB N25Q512 SPI flash
USB:
- Two USB2.0 ports with internal PHY (both Type-A)
PCIe:
- One PCIe x4 gold-finger
- One PCIe x4 connector
- One PCIe x2 end-point device (C293 Crypto co-processor)
SATA:
- Two SATA 2.0 ports on-board
SDHC:
- support a TF-card on-board
I2C:
- Four I2C controllers.
UART:
- Dual 4-pins UART serial ports

---
v3: rename PHY address to match Cortina PHY driver.
v2: updated readme.

 board/freescale/t208xrdb/Makefile       |  13 +
 board/freescale/t208xrdb/README         | 208 +++++++++
 board/freescale/t208xrdb/cpld.c         |  71 +++
 board/freescale/t208xrdb/cpld.h         |  42 ++
 board/freescale/t208xrdb/ddr.c          | 112 +++++
 board/freescale/t208xrdb/ddr.h          |  47 ++
 board/freescale/t208xrdb/eth_t208xrdb.c | 106 +++++
 board/freescale/t208xrdb/law.c          |  34 ++
 board/freescale/t208xrdb/pci.c          |  23 +
 board/freescale/t208xrdb/t2080_pbi.cfg  |  41 ++
 board/freescale/t208xrdb/t2080_rcw.cfg  |   8 +
 board/freescale/t208xrdb/t208xrdb.c     | 124 +++++
 board/freescale/t208xrdb/t208xrdb.h     |  13 +
 board/freescale/t208xrdb/tlb.c          | 151 +++++++
 boards.cfg                              |   5 +
 include/configs/T208xRDB.h              | 779 ++++++++++++++++++++++++++++++++
 16 files changed, 1777 insertions(+)
 create mode 100644 board/freescale/t208xrdb/Makefile
 create mode 100644 board/freescale/t208xrdb/README
 create mode 100644 board/freescale/t208xrdb/cpld.c
 create mode 100644 board/freescale/t208xrdb/cpld.h
 create mode 100644 board/freescale/t208xrdb/ddr.c
 create mode 100644 board/freescale/t208xrdb/ddr.h
 create mode 100644 board/freescale/t208xrdb/eth_t208xrdb.c
 create mode 100644 board/freescale/t208xrdb/law.c
 create mode 100644 board/freescale/t208xrdb/pci.c
 create mode 100644 board/freescale/t208xrdb/t2080_pbi.cfg
 create mode 100644 board/freescale/t208xrdb/t2080_rcw.cfg
 create mode 100644 board/freescale/t208xrdb/t208xrdb.c
 create mode 100644 board/freescale/t208xrdb/t208xrdb.h
 create mode 100644 board/freescale/t208xrdb/tlb.c
 create mode 100644 include/configs/T208xRDB.h
board/freescale/t208xrdb/Makefile new file +13 -0
new file mode 100644
index 0000000..092c9ff
@@ -0,0 +1,13 @@
+#
+# Copyright 2014 Freescale Semiconductor, Inc.
+#
+# SPDX-License-Identifier:      GPL-2.0+
+#
+
+obj-$(CONFIG_T2080RDB) += t208xrdb.o
+obj-$(CONFIG_T2080RDB) += eth_t208xrdb.o
+obj-$(CONFIG_T2080RDB) += cpld.o
+obj-$(CONFIG_PCI)      += pci.o
+obj-y   += ddr.o
+obj-y   += law.o
+obj-y   += tlb.o
board/freescale/t208xrdb/README new file +208 -0

208 lines not on this page · raw message

board/freescale/t208xrdb/cpld.c new file +71 -0

71 lines not on this page · raw message

board/freescale/t208xrdb/cpld.h new file +42 -0

42 lines not on this page · raw message

board/freescale/t208xrdb/ddr.c new file +112 -0

112 lines not on this page · raw message

board/freescale/t208xrdb/ddr.h new file +47 -0

47 lines not on this page · raw message

board/freescale/t208xrdb/eth_t208xrdb.c new file +106 -0

106 lines not on this page · raw message

board/freescale/t208xrdb/law.c new file +34 -0
new file mode 100644
index 0000000..eb82431
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2008-2014 Freescale Semiconductor, Inc.
+ *
+ * (C) Copyright 2000
+ * Wolfgang Denk, DENX Software Engineering, [email protected].
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/fsl_law.h>
+#include <asm/mmu.h>
+
+struct law_entry law_table[] = {
+	SET_LAW(CONFIG_SYS_FLASH_BASE_PHYS, LAW_SIZE_256M, LAW_TRGT_IF_IFC),
+#ifdef CONFIG_SYS_BMAN_MEM_PHYS
+	SET_LAW(CONFIG_SYS_BMAN_MEM_PHYS, LAW_SIZE_32M, LAW_TRGT_IF_BMAN),
+#endif
+#ifdef CONFIG_SYS_QMAN_MEM_PHYS
+	SET_LAW(CONFIG_SYS_QMAN_MEM_PHYS, LAW_SIZE_32M, LAW_TRGT_IF_QMAN),
+#endif
+#ifdef CONFIG_SYS_CPLD_BASE_PHYS
+	SET_LAW(CONFIG_SYS_CPLD_BASE_PHYS, LAW_SIZE_4K, LAW_TRGT_IF_IFC),
+#endif
+#ifdef CONFIG_SYS_DCSRBAR_PHYS
+	/* Limit DCSR to 32M to access NPC Trace Buffer */
+	SET_LAW(CONFIG_SYS_DCSRBAR_PHYS, LAW_SIZE_32M, LAW_TRGT_IF_DCSR),
+#endif
+#ifdef CONFIG_SYS_NAND_BASE_PHYS
+	SET_LAW(CONFIG_SYS_NAND_BASE_PHYS, LAW_SIZE_1M, LAW_TRGT_IF_IFC),
+#endif
+};
+
+int num_law_entries = ARRAY_SIZE(law_table);
board/freescale/t208xrdb/pci.c new file +23 -0
new file mode 100644
index 0000000..ba7041a
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2007-2014 Freescale Semiconductor, Inc.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <command.h>
+#include <pci.h>
+#include <asm/fsl_pci.h>
+#include <libfdt.h>
+#include <fdt_support.h>
+#include <asm/fsl_serdes.h>
+
+void pci_init_board(void)
+{
+	fsl_pcie_init_board(0);
+}
+
+void pci_of_setup(void *blob, bd_t *bd)
+{
+	FT_FSL_PCI_SETUP;
+}
board/freescale/t208xrdb/t2080_pbi.cfg new file +41 -0

41 lines not on this page · raw message

board/freescale/t208xrdb/t2080_rcw.cfg new file +8 -0
new file mode 100644
index 0000000..cd62cc8
@@ -0,0 +1,8 @@
+#PBL preamble and RCW header for T2080RDB
+aa55aa55 010e0100
+#SerDes Protocol: 0x66_0x16
+#Core/DDR: 1533Mhz/1600MT/s
+120c0017 15000000 00000000 00000000
+66160002 00008400 ec104000 c1000000
+00000000 00000000 00000000 000307fc
+00000000 00000000 00000000 00000004
board/freescale/t208xrdb/t208xrdb.c new file +124 -0

124 lines not on this page · raw message

board/freescale/t208xrdb/t208xrdb.h new file +13 -0
new file mode 100644
index 0000000..13380d0
@@ -0,0 +1,13 @@
+/*
+ * Copyright 2014 Freescale Semiconductor, Inc.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __CORENET_DS_H__
+#define __CORENET_DS_H__
+
+void fdt_fixup_board_enet(void *blob);
+void pci_of_setup(void *blob, bd_t *bd);
+
+#endif
board/freescale/t208xrdb/tlb.c new file +151 -0

151 lines not on this page · raw message

boards.cfg +5 -0
index 3c3ebb8..bd00425 100644
@@ -982,6 +982,11 @@ Active  powerpc     mpc85xx        -           freescale       t208xqds
 Active  powerpc     mpc85xx        -           freescale       t208xqds            T2081QDS_SPIFLASH     T208xQDS:PPC_T2081,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000
 Active  powerpc     mpc85xx        -           freescale       t208xqds            T2081QDS_NAND         T208xQDS:PPC_T2081,RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000
 Active  powerpc     mpc85xx        -           freescale       t208xqds            T2081QDS_SRIO_PCIE_BOOT      T208xQDS:PPC_T2081,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000
+Active  powerpc     mpc85xx        -           freescale       t208xrdb            T2080RDB              T208xRDB:PPC_T2080
+Active  powerpc     mpc85xx        -           freescale       t208xrdb            T2080RDB_SDCARD       T208xRDB:PPC_T2080,RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000
+Active  powerpc     mpc85xx        -           freescale       t208xrdb            T2080RDB_SPIFLASH     T208xRDB:PPC_T2080,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000
+Active  powerpc     mpc85xx        -           freescale       t208xrdb            T2080RDB_NAND         T208xRDB:PPC_T2080,RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000
+Active  powerpc     mpc85xx        -           freescale       t208xrdb            T2080RDB_SRIO_PCIE_BOOT  T208xRDB:PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000
 Active  powerpc     mpc85xx        -           freescale       t4qds               T4160QDS                             T4240QDS:PPC_T4160                                                                                                                -
 Active  powerpc     mpc85xx        -           freescale       t4qds               T4160QDS_SDCARD                      T4240QDS:PPC_T4160,RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000                                                                    -
 Active  powerpc     mpc85xx        -           freescale       t4qds               T4160QDS_SPIFLASH                    T4240QDS:PPC_T4160,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000                                                                  -
include/configs/T208xRDB.h new file +779 -0

779 lines not on this page · raw message

Signature · 1 line
1.8.0
#1 lore raw

PATCH v3 1/1 powerpc/t2080rdb: Add T2080PCIe-RDB board support

Quoted 44 lines · Shengzhou Liu

T2080PCIe-RDB is a Freescale Reference Design Board that hosts the T2080 SoC. It works in two mode: standalone mode and PCIe endpoint mode.

T2080PCIe-RDB Feature Overview
------------------------------
Processor:
- T2080 SoC integrating four 64-bit dual-threads e6500 cores up to 1.8GHz
DDR Memory:
- Single memory controller capable of supporting DDR3 and DDR3-LP devices
- 72bit 4GB DDR3-LP SODIMM in slot
Ethernet interfaces:
- Two 10M/100M/1G RGMII ports on-board
- Two 10Gbps SFP+ ports on-board
- Two 10Gbps Base-T ports on-board
Accelerator:
- DPAA components consist of FMan, BMan, QMan, PME, DCE and SEC
SerDes 16 lanes configuration:
- SerDes-1 Lane A-B: to two 10G XFI fiber (MAC9 & MAC10)
- SerDes-1 Lane C-D: to two 10G Base-T (MAC1 & MAC2)
- SerDes-1 Lane E-H: to PCIe Goldfinger (PCIe4 x4, Gen3)
- SerDes-2 Lane A-D: to PCIe Slot (PCIe1 x4, Gen2)
- SerDes-2 Lane E-F: to C293 secure co-processor (PCIe2 x2)
- SerDes-2 Lane G-H: to SATA1 & SATA2
IFC/Local Bus:
- NOR: 128MB 16-bit NOR flash
- NAND: 512MB 8-bit NAND flash
- CPLD: for system controlling with programable header on-board
eSPI:
- 64MB N25Q512 SPI flash
USB:
- Two USB2.0 ports with internal PHY (both Type-A)
PCIe:
- One PCIe x4 gold-finger
- One PCIe x4 connector
- One PCIe x2 end-point device (C293 Crypto co-processor)
SATA:
- Two SATA 2.0 ports on-board
SDHC:
- support a TF-card on-board
I2C:
- Four I2C controllers.
UART:
- Dual 4-pins UART serial ports

Quoted 5 lines

---
v3: rename PHY address to match Cortina PHY driver.
v2: updated readme.

Applied to u-boot-mpc85xx/master. Thanks.

York