Enabling DDR2 16-Bit Mode on Intel IXP43X Product Line of Network Processors

Similar documents
Techniques for Lowering Power Consumption in Design Utilizing the Intel EP80579 Integrated Processor Product Line

Intel IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor: Boot-Up Options

Open FCoE for ESX*-based Intel Ethernet Server X520 Family Adapters

How to Configure Intel X520 Ethernet Server Adapter Based Virtual Functions on SuSE*Enterprise Linux Server* using Xen*

Intel IT Director 1.7 Release Notes

Intel Parallel Amplifier Sample Code Guide

Getting Compiler Advice from the Optimization Reports

ECC Handling Issues on Intel XScale I/O Processors

Intel C++ Compiler Documentation

Intel(R) Threading Building Blocks

Intel MPI Library for Windows* OS

Intel IXP400 Software: Integrating STMicroelectronics* ADSL MTK20170* Chipset Firmware

Intel I/O Processor Chipset with Intel XScale Microarchitecture

Intel IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor PCI 16-Bit Read Implementation

Intel Platform Controller Hub EG20T

Product Change Notification

Product Change Notification

Intel(R) Threading Building Blocks

Intel Platform Controller Hub EG20T

Product Change Notification

Product Change Notification

GAP Guided Auto Parallelism A Tool Providing Vectorization Guidance

Product Change Notification

Product Change Notification

Intel Platform Controller Hub EG20T

Product Change Notification

Introduction to Intel Fortran Compiler Documentation. Document Number: US

Intel EP80579 Software Drivers for Embedded Applications

Product Change Notification

Product Change Notification

Product Change Notification

Recommended JTAG Circuitry for Debug with Intel Xscale Microarchitecture

Using Intel Inspector XE 2011 with Fortran Applications

Product Change Notification

Intel IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor: Flash Programming

Product Change Notification

Product Change Notification

Product Change Notification

Intel Desktop Board DZ68DB

Product Change Notification

Intel Desktop Board DP55SB

Product Change Notification

Third Party Hardware TDM Bus Administration

Parallel Programming Features in the Fortran Standard. Steve Lionel 12/4/2012

Product Change Notification

VTune(TM) Performance Analyzer for Linux

Continuous Speech Processing API for Host Media Processing

Intel Desktop Board D945GCCR

Using the Intel VTune Amplifier 2013 on Embedded Platforms

Product Change Notification

C Language Constructs for Parallel Programming

Product Change Notification

MayLoon User Manual. Copyright 2013 Intel Corporation. Document Number: xxxxxx-xxxus. World Wide Web:

Product Change Notification

Product Change Notification

Intel Desktop Board DG41CN

Product Change Notification

Intel 848P Chipset. Specification Update. Intel 82848P Memory Controller Hub (MCH) August 2003

Product Change Notification

Installation Guide and Release Notes

Intel I/O Companion Chip

Embedded Intel 855GME GMCH to Intel 852GM GMCH Design Respin

Installation Guide and Release Notes

Intel Desktop Board DG41RQ

Product Change Notification

Intel Desktop Board D946GZAB

Intel Desktop Board D945GCLF2

Product Change Notification

Intel Desktop Board D975XBX2

Intel Desktop Board DG31PR

Migration Guide: Numonyx StrataFlash Embedded Memory (P30) to Numonyx StrataFlash Embedded Memory (P33)

Evolving Small Cells. Udayan Mukherjee Senior Principal Engineer and Director (Wireless Infrastructure)

Product Change Notification

Intel I/O Processor Software Conversion to Intel I/O Processor

Intel MKL Data Fitting component. Overview

Intel Integrated Native Developer Experience 2015 Build Edition for OS X* Installation Guide and Release Notes

Intel Quark SoC X1000 Platform MRC Swapping Code Example

Product Change Notification

Product Change Notification

Intel Desktop Board D945GCLF

Intel IXP400 Software Version 3.0

Intel 6300ESB I/O Controller Hub (ICH)

Product Change Notification

Intel Parallel Studio XE 2011 for Windows* Installation Guide and Release Notes

Intel Desktop Board DH55TC

Product Change Notification

Intel Desktop Board DH61SA

Intel Thread Checker 3.1 for Windows* Release Notes

Intel Cache Acceleration Software for Windows* Workstation

What's new in VTune Amplifier XE

Intel G31/P31 Express Chipset

Upgrading Intel Server Board Set SE8500HW4 to Support Intel Xeon Processors 7000 Sequence

Sample for OpenCL* and DirectX* Video Acceleration Surface Sharing

LED Manager for Intel NUC

Product Change Notification

Product Change Notification

Product Change Notification

Intel Desktop Board DP45SG

Product Change Notification

Product Change Notification

Transcription:

Enabling DDR2 16-Bit Mode on Intel IXP43X Product Line of Network Processors Application Note May 2008 Order Number: 319801; Revision: 001US

INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life saving, life sustaining, critical control or safety systems, or in nuclear facility applications. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked reserved or undefined. Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information. The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or by visiting Intel s Web Site. Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor family, not across different processor families. See http://www.intel.com/products/processor_number for details. BunnyPeople, Celeron, Celeron Inside, Centrino, Centrino logo, Core Inside, FlashFile, i960, InstantIP, Intel, Intel logo, Intel386, Intel486, Intel740, IntelDX2, IntelDX4, IntelSX2, Intel Core, Intel Inside, Intel Inside logo, Intel. Leap ahead., Intel. Leap ahead. logo, Intel NetBurst, Intel NetMerge, Intel NetStructure, Intel SingleDriver, Intel SpeedStep, Intel StrataFlash, Intel Viiv, Intel vpro, Intel XScale, Itanium, Itanium Inside, MCS, MMX, Oplus, OverDrive, PDCharm, Pentium, Pentium Inside, skoool, Sound Mark, The Journey Inside, VTune, Xeon, and Xeon Inside are trademarks of Intel Corporation in the U.S. and other countries. *Other names and brands may be claimed as the property of others. Copyright 2008, Intel Corporation. All rights reserved. AN May 2008 2 Order Number: 319801; Revision: 001US

Contents 1.0 Introduction...5 1.1 Purpose...5 1.2 Intended Audience...5 1.3 Related Documents...5 2.0 Hardware Configuration and Registers Setting example...6 3.0 Software Enabling...7 Figures No Figures Used At This Time. Tables 1 Supported DDRII 16-bit SDRAM Configurations...6 2 Programming codes for DDR-I/II SDRAM Bank Size...6 May 2008 AN Order Number: 319801; Revision: 001US 3

Revision History Date Revision Description May 2008 001 Initial release. AN May 2008 4 Order Number: 319801; Revision: 001US

1.0 Introduction 1.1 Purpose The DDR-I/II SDRAM interface provides a direct connection to a reliable, high bandwidth memory subsystem. The DDR-I/II SDRAM interface consists of a 16-bit/32-bit wide data path to support up to 1.6 GBytes/sec throughput. The Error Correction Code (ECC) for 16-bit wide interface is not supported. The memory controller supports maximum of 64Mbytes of 16-bit DDR-II SDRAM (support 512Mbit technology). The objective of this application note is to provide reference on configuring the DDR-II to 16-bit mode. The suggestion provided here has been validated on Intel(R) IXDP435 Multi-Service Residential Gateway Reference Platform. 1.2 Intended Audience This application note is targeted for those who intend to use DDR-II in 16-bit mode, single chip 512Mbit SDRAM device. 1.3 Related Documents Document Title Document Number Intel IXP43X Product Line of Network Processors Developer s Manual 316843 May 2008 AN Order Number: 319801; Revision: 001US 5

2.0 Hardware Configuration and Registers Setting example Table 1 shows the support DDR-II SDRAM configuration. Table 1. Supported DDRII 16-bit SDRAM Configurations DDR SDRAM Technology DDR SDRAM Arrangement # Banks Address Size Leaf Select Total Memory Row Column DDR_BA[1] DDR_BA[0] Size Page Size 256 Mbit 16M x16 1 13 9 ADDR[24] ADDR[23] 32MB 1KB 512 Mbit 32M x16 1 13 10 ADDR[25] ADDR[24] 64MB 1KB Example for programming the DDR-I/II SDRAM memory space to Bank 0 = 64 Mbyte and Bank 1 un-populated. The memory is configured to 16-bit mode, so there is no special 32-bit region using S32SR register. The registers can be programmed as follows. Refer to Table 2 for SDRAM bank size. Bank 0 Size = 64MB, code = 0000004 2. Bank 1 Size = empty, code = 0000000 2 SDBR =0000 0000H, SDBR[30:24] = 0000000 2 SBR0[7:0] = 000000100 2 = 04H (size of Bank 0) SBR1[7:0] = 000000100 2 = 04H (size of Bank 0 + size of Bank 1) Table 2. Programming codes for DDR-I/II SDRAM Bank Size Bank Size Code Bank Size Code Empty 00H 128 Mbyte 08H 16 Mbyte 01H 256 Mbyte 10H 32 Mbyte 02H 512 Mbyte 20H 64 Mbyte 04H 1 Gbyte 40H The following registers must be programmed before using the DDR: DDR SDRAM Control Register 0 SDCR0 - Program according JEDEC specs. DDR SDRAM Control Register 1 SDCR1 - Program according JEDEC specs. Perform DDR initialization sequence using DDR SDRAM Initialization Register SDIR register. Refresh Frequency Register RFR - Program per JEDEC Spec using MCU clock of 133 or 200MHz Note: Please refer to the Intel IXP43X Product Line of Network Processors Developer s Manual. AN May 2008 6 Order Number: 319801; Revision: 001US

3.0 Software Enabling Here are the changes required in the Bootloader - Redboot* v2.04 to enable DDR2 16 bit mode for the Intel(R) IXPDP435 Multi-Service Residential Gateway. 1. Changes required in the file packages/hal/arm/xscale/kixrp435/current/include/kixrp435.h. #define SDRAM_SIZE 0x04000000 // 64MB. #define KIXRP435_SDCR0_INIT (0x7222231a) // 16-bit mode. #define KIXRP435_SBR0_INIT (0x00000002) //13 bits row address size and 10 bits column address size for bank 0. #define KIXRP435_SBR1_INIT (0x00000002) //13 bits row address size and 10 bits column address size for bank 1. 2. Changes required in the following file packages\hal\arm\xscale\kixrp435\current\include\pkgconf\ mlt_arm_xscale_kirxp435_*.h. Change the macro for SDRAM size change: #define CYGMEM_REGION_ram_SIZE (0x04000000). #define CYGMEM_SECTION_heap1_SIZE (0x04000000 - (size_t) CYG_LABEL_NAME ( heap1)). 3. Change required in file packages\hal\arm\xscale\kixrp435\current\include\pkgconf\mlt_arm_xscale_kirxp 435*.ldi. Change the LENGTH value for SDRAM size change: LENGTH = 0x04000000 4. Change the following file packages\hal\arm\xscale\kixrp435\current\include\pkgconf\mlt_arm_xscale_kirxp 435_*.mlt). Change the region ram: region ram 0 4000000 0! 5. Change the following files: packages\hal\arm\xscale\kixrp435\current\misc\*.ecm. This is to make sure that Linux * zimage is executed at a valid memory range which is smaller than 0x4000000. CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT value from 0x6000000 to 0x1800000. 6. Rebuild the RedBoot* following the procedures in Intel IXP400 Software: RedBoot*v2.04 Software Release note at: http://www.intel.com/design/network/products/npfamily/download_ixp400.htm. May 2008 AN Order Number: 319801; Revision: 001US 7

AN May 2008 8 Order Number: 319801; Revision: 001US