AN2660 DINK32 128MB MPMC8245 MPC8245 MPMC8240/MPMC8245 AN2578 AN2650 EL516 - Datasheet Archive
Application Note Document Number: AN2660 Rev. 1, 01/2007 Sandpoint Linux Memory Size Considerations by Maurie Ommerman CPD
Freescale Semiconductor Application Note Document Number: AN2660 AN2660 Rev. 1, 01/2007 Sandpoint Linux Memory Size Considerations by Maurie Ommerman CPD Application Freescale Semiconductor, Inc. Austin, TX This application note describes the process of selecting the correct memory size value for various Sandpoint PCI mezzanine card (PMC) processors. This information also applies to the Freescale PCI mezzanine card (MPMC), which is the same as the PMC. This application note describes the steps for selecting the appropriate memory size for Sandpoint Linux. Sandpoint is an evaluation board for the PowerPCTM processors. © Freescale Semiconductor, Inc., 2004, 2007. All rights reserved. Contents 1 Memory Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 1.1 Linux Kernel 2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . .2 1.2 Linux Kernel 2.6 . . . . . . . . . . . . . . . . . . . . . . . . . . .2 1.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 Document Revision History. . . . . . . . . . . . . . . . . . . . . 3 Memory Selection 1 Memory Selection The Linux kernel for Sandpoint does not automatically size memory. Memory size is fixed by a statically defined variable in both the 2.4 and 2.6 kernels. It is necessary first to determine the physical memory size of the PMC on the system, either by looking at the splash screen for DINK32 DINK32 (a small operating system debugger for the Sandpoint evaluation board) or through the DINK32 DINK32 command, ab. An example is shown as follows: I/O system initialized. Memory Enabled: [ 128MB 128MB at CL=3 ] Caches Enabled: [ L1I(16K), L1D(16K) ] Register Inits: [ 32 GPRs, 32 FPRs, 222 SPRs ] ## ## ## ## ## ## ## ####### ## ## ####### ## ## ## ## ## ## ## ## ## ## ## ## ## ###### ## ## ## ## ## ## ## ## ## ## ###### ## ## ## Version : 13.1.1, Metaware Build Released : May 13, 2003 Built on May 13 2003 13:09:37 Written by : Freescale's RISC Applications Group, Austin, TX System : Sandpoint X3 with Unity (MPMC8245 MPMC8245) Processor : MPC8245 MPC8245 V1.1 @ 400 MHz, 133 MHz memory Memory : Map B (CHRP) 128MB 128MB at CL=3 As shown in this example, the physical memory size is 128 Mbytes. PMCs continue to be released with more and more physical memory. The first PMC was released with 32 Mbytes, the MPC7xx series was released with 64 Mbytes, and the MPC74xx and MPC824x were released with 128 Mbytes. Newer PMCs will be released with 256 Mbytes or more. When a Linux kernel is built, it is necessary to specify the actual memory size on the physical device when setting the memory size in the kernel. If they do not match, system crashes, Linux segmentation dumps, or other unpredictable results may occur. Note that a discrepancy does not necessarily cause a system to fail immediately. 1.1 Linux Kernel 2.4 The sandpoint_find_end_of_memory(void) function sets the memory size. In the 2.4 kernel, this function is found in arch/ppc/platforms/sandpoint_setup.c. Find the line that returns the memory size, usually at line number 430. Change the line `return 32*1024*1024;' to the physical memory size. For example, if there are 128 Mbytes of physical memory, change the line to `return 128*1024*1024;'. 1.2 Linux Kernel 2.6 The sandpoint_find_end_of_memory(void) function sets the memory size. In the 2.6 kernel, this function is found in arch/ppc/platforms/sandpoint.c. Find the line that returns the memory size, usually at line Sandpoint Linux Memory Size Considerations, Rev. 1 2 Freescale Semiconductor References number 486. Change the line `return 32*1024*1024;' to the physical memory size. For example, if there are 128 Mbytes of physical memory, change the line to `return 128*1024*1024;'. 1.3 Summary In both the 2.4 and 2.6 kernels, the sandpoint_find_end_of_memory(void) function must be modified to return the actual physical memory size. 2 References 1. 2. 3. 4. 5. 6. SPX3BUM/D Sandpoint Microprocessor Evaluation System User's Manual Unity X4 (MPMC8240/MPMC8245 MPMC8240/MPMC8245) Configuration Guide Valis X3(MPMC745x) Configuration Guide Creating a Linux `Out of the Box' Experience on a Sandpoint Platform (AN2578 AN2578) Adding new PowerPC Processors and Bridge Chips to Linux (AN2650 AN2650) Understanding the Linux Kernel, Daniel P. Bovet and Marco Cesati, available from O'Reilly Publishing The first five references are available on the Freescale web site listed on the back cover of this document. 3 Document Revision History Table 1 provides a revision history for this application note. Table 1. Document Revision History Revision Number Change(s) 0 Initial release. 1 Non-substantive formatting. Sandpoint Linux Memory Size Considerations, Rev. 1 Freescale Semiconductor 3 How to Reach Us: Home Page: www.freescale.com Web Support: http://www.freescale.com/support USA/Europe or Locations Not Listed: Freescale Semiconductor, Inc. Technical Information Center, EL516 EL516 2100 East Elliot Road Tempe, Arizona 85284 +1-800-521-6274 or +1-480-768-2130 www.freescale.com/support Europe, Middle East, and Africa: Freescale Halbleiter Deutschland GmbH Technical Information Center Schatzbogen 7 81829 Muenchen, Germany +44 1296 380 456 (English) +46 8 52200080 (English) +49 89 92103 559 (German) +33 1 69 35 48 48 (French) www.freescale.com/support Information in this document is provided solely to enable system and software implementers to use Freescale Semiconductor products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits or integrated circuits based on the information in this document. Freescale Semiconductor reserves the right to make changes without further notice to any products herein. Freescale Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. "Typical" parameters which may be provided in Freescale Semiconductor data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including "Typicals" must be validated for each customer application by customer's technical experts. Freescale Semiconductor does not convey any license Japan: Freescale Semiconductor Japan Ltd. Headquarters ARCO Tower 15F 1-8-1, Shimo-Meguro, Meguro-ku Tokyo 153-0064 Japan 0120 191014 or +81 3 5437 9125 firstname.lastname@example.org under its patent rights nor the rights of others. Freescale Semiconductor products are Asia/Pacific: Freescale Semiconductor Hong Kong Ltd. Technical Information Center 2 Dai King Street Tai Po Industrial Estate Tai Po, N.T., Hong Kong +800 2666 8080 email@example.com claims, costs, damages, and expenses, and reasonable attorney fees arising out of, For Literature Requests Only: Freescale Semiconductor Literature Distribution Center P.O. Box 5405 Denver, Colorado 80217 +1-800 441-2447 or +1-303-675-2140 Fax: +1-303-675-2150 LDCForFreescaleSemiconductor @hibbertgroup.com Document Number: AN2660 AN2660 Rev. 1 01/2007 not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Freescale Semiconductor product could create a situation where personal injury or death may occur. Should Buyer purchase or use Freescale Semiconductor products for any such unintended or unauthorized application, Buyer shall indemnify and hold Freescale Semiconductor and its officers, employees, subsidiaries, affiliates, and distributors harmless against all directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Freescale Semiconductor was negligent regarding the design or manufacture of the part. FreescaleTM and the Freescale logo are trademarks of Freescale Semiconductor, Inc. The Power Architecture and Power.org word marks and the Power and Power.org logos and related marks are trademarks and service marks licensed by Power.org. IEEE nnn, nnn,nnn, and nnn are registered trademarks of the Institute of Electrical and Electronics Engineers, Inc. (IEEE). This product is not endorsed or approved by the IEEE. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc., 2007. All rights reserved.