[U-Boot] [Patch v2 10/16] ARMv8/ls1043ardb: Add LS1043ARDB board support
York Sun
yorksun at freescale.com
Mon Sep 21 19:27:22 CEST 2015
On 09/17/2015 12:06 AM, Gong Qianyu wrote:
> From: Mingkai Hu <Mingkai.Hu at freescale.com>
>
> LS1043ARDB Specification:
> -------------------------
> Memory subsystem:
> * 2GByte DDR4 SDRAM (32bit but)
Do you mean "bus" here?
> * 128 Mbyte NOR flash single-chip memory
> * 512 Mbyte NAND flash
> * 16 Mbyte high-speed SPI memory
Do you mean "SPI flash"?
> * SD connector to interface with the SD memory card
>
> Ethernet:
> * XFI 10G port
> * QSGMII with 4x 1G ports
> * Two RGMII ports
>
> PCIe:
> * PCIe2 (Lanes C) to mini-PCIe slot
> * PCIe3 (Lanes D) to PCIe slot
>
> USB 3.0: two super speed USB 3.0 type A ports
>
> UART: supports two UARTs up to 115200 bps for console
>
> Signed-off-by: Hou Zhiqiang <B48286 at freescale.com>
> Signed-off-by: Li Yang <leoli at freescale.com>
> Signed-off-by: Mingkai Hu <Mingkai.Hu at freescale.com>
> Signed-off-by: Gong Qianyu <Qianyu.Gong at freescale.com>
> ---
> V2:
> Replaced ns_access.h with fsl_csu.h.
<snip>
> --- /dev/null
> +++ b/board/freescale/ls1043ardb/README
> @@ -0,0 +1,87 @@
> +Overview
> +--------
> +The LS1043A Reference Design Board (RDB) is a high-performance computing,
> +evaluation, and development platform that supports the QorIQ LS1043A
> +LayerScape Architecture processor. The LS1043ARDB provides SW development
> +platform for the Freescale LS1043A processor series, with a complete
> +debugging environment. The LS1043A RDB is lead-free and RoHS-compliant.
> +
> +LS1043A SoC Overview
> +--------------------
> +The LS1043A integrated multicore processor combines four ARM Cortex-A53
> +processor cores with datapath acceleration optimized for L2/3 packet
> +processing, single pass security offload and robust traffic management
> +and quality of service.
> +
> +The LS1043A SoC includes the following function and features:
> + - Four 64-bit ARM Cortex-A53 CPUs
> + - 1 MB unified L2 Cache
> + - One 32-bit DDR3L/DDR4 SDRAM memory controllers with ECC and interleaving
> + support
> + - Data Path Acceleration Architecture (DPAA) incorporating acceleration the
> + the following functions:
> + - Packet parsing, classification, and distribution (FMan)
> + - Queue management for scheduling, packet sequencing, and congestion
> + management (QMan)
> + - Hardware buffer management for buffer allocation and de-allocation (BMan)
> + - Cryptography acceleration (SEC)
> + - Ethernet interfaces by FMan
> + - Up to 1 x XFI supporting 10G interface
> + - Up to 1 x QSGMII
> + - Up to 4 x SGMII supporting 1000Mbps
> + - Up to 2 x SGMII supporting 2500Mbps
> + - Up to 2 x RGMII supporting 1000Mbps
> + - High-speed peripheral interfaces
> + - Three PCIe 2.0 controllers, one supporting x4 operation
> + - One serial ATA (SATA 3.0) controllers
> + - Additional peripheral interfaces
> + - Three high-speed USB 3.0 controllers with integrated PHY
> + - Enhanced secure digital host controller (eSDXC/eMMC)
> + - Quad Serial Peripheral Interface (QSPI) Controller
> + - Serial peripheral interface (SPI) controller
> + - Four I2C controllers
> + - Two DUARTs
> + - Integrated flash controller supporting NAND and NOR flash
> + - QorIQ platform's trust architecture 2.1
> +
> + LS1043ARDB board Overview
> + -----------------------
> + - SERDES Connections, 4 lanes supporting:
> + - PCI Express 2.0 with two PCIe connectors supporting: miniPCIe card and
> + standard PCIe card
> + - QSGMII with x4 RJ45 connector
> + - XFI with x1 RJ45 connector
> + - DDR Controller
> + - 2GB 32bits DDR4 SDRAM. Support rates of up to 1600MT/s
> + -IFC/Local Bus
> + - One 128MB NOR flash 16-bit data bus
> + - One 512 MB NAND flash with ECC support
> + - CPLD connection
> + - USB 3.0
> + - Two super speed USB 3.0 Type A ports
> + - SDHC: connects directly to a full SD/MMC slot
> + - DSPI: 16 MB high-speed flash Memory for boot code and storage (up to 108MHz)
> + - 4 I2C controllers
> + - UART
> + - Two 4-pin 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
> +----------------------------
> +Start Address End Address Description Size
> +0x00_0000_0000 0x00_000F_FFFF Secure Boot ROM 1MB
> +0x00_0100_0000 0x00_0FFF_FFFF CCSRBAR 240MB
> +0x00_1000_0000 0x00_1000_FFFF OCRAM0 64KB
> +0x00_1001_0000 0x00_1001_FFFF OCRAM1 64KB
> +0x00_2000_0000 0x00_20FF_FFFF DCSR 16MB
> +0x00_6000_0000 0x00_67FF_FFFF IFC - NOR Flash 128MB
> +0x00_7E80_0000 0x00_7E80_FFFF IFC - NAND Flash 64KB
> +0x00_7FB0_0000 0x00_7FB0_0FFF IFC - FPGA 4KB
> +0x00_8000_0000 0x00_FFFF_FFFF DRAM1 2GB
> +
> +Booting Options
> +---------------
> +a) NOR boot
> +b) NAND boot
> +c) SD boot
You don't have NAND or SD boot option with this patch yet. They were added
later. So you can update the README when you have those support.
<snip>
> +
> +#ifdef CONFIG_SYS_DDR_RAW_TIMING
Put a comment with DDR model number here.
> +dimm_params_t ddr_raw_timing = {
> + .n_ranks = 1,
> + .rank_density = 2147483648u,
> + .capacity = 2147483648u,
> + .primary_sdram_width = 32,
> + .ec_sdram_width = 0,
> + .registered_dimm = 0,
> + .mirrored_dimm = 0,
> + .n_row_addr = 15,
> + .n_col_addr = 10,
> + .bank_addr_bits = 0,
> + .bank_group_bits = 2,
> + .edc_config = 0,
> + .burst_lengths_bitmask = 0x0c,
> +
> + .tckmin_x_ps = 938,
> + .tckmax_ps = 1500,
> + .caslat_x = 0x000DFA00,
> + .taa_ps = 13500,
> + .trcd_ps = 13500,
> + .trp_ps = 13500,
> + .tras_ps = 33000,
> + .trc_ps = 46500,
> + .trfc1_ps = 260000,
> + .trfc2_ps = 160000,
> + .trfc4_ps = 110000,
> + .tfaw_ps = 21000,
> + .trrds_ps = 3700,
> + .trrdl_ps = 5300,
> + .tccdl_ps = 5355,
> + .refresh_rate_ps = 7800000,
> + .dq_mapping[0] = 0x0,
> + .dq_mapping[1] = 0x0,
> + .dq_mapping[2] = 0x0,
> + .dq_mapping[3] = 0x0,
> + .dq_mapping[4] = 0x0,
> + .dq_mapping[5] = 0x0,
> + .dq_mapping[6] = 0x0,
> + .dq_mapping[7] = 0x0,
> + .dq_mapping[8] = 0x0,
> + .dq_mapping[9] = 0x0,
> + .dq_mapping[10] = 0x0,
> + .dq_mapping[11] = 0x0,
> + .dq_mapping[12] = 0x0,
> + .dq_mapping[13] = 0x0,
> + .dq_mapping[14] = 0x0,
> + .dq_mapping[15] = 0x0,
> + .dq_mapping[16] = 0x0,
> + .dq_mapping[17] = 0x0,
> + .dq_mapping_ors = 0,
> +};
> +
You may want to try to use -M -C when generating the patch, to see if the patch
can be smaller. I have a feeling many files are copy-n-paste with some modification.
York
More information about the U-Boot
mailing list