Kontron AM4150 User Manual

Page 1
» User Guide «
AM4150
U-Boot Bootloader
Doc. ID: 1052-5678, Rev. 1.0
July 27, 2012
If it’s embedded, it’s Kontron.
P R E L I M I N A R Y
Page 2
Preface AM4150 U-Boot Bootloader

Revision History

Publication Title:
Doc. ID: 1052-5678
Rev. Brief Description of Changes Date of Issue
1.0 Initial issue based on the following U-Boot version: U-Boot 2011.09-01425-g8c4588b (Jun 20 2012 - 10:36:29)
AM4150 U-Boot Bootloader User Guide
27-Jul-2012

Imprint

Kontron Modular Computers GmbH may be contacted via the following:
MAILING ADDRESS TELEPHONE AND E-MAIL
Kontron Europe GmbH +49 (0) 800-SALESKONTRON Sudetenstraße 7 sales@kontron.com D - 87600 Kaufbeuren Germany
P R E L I M I N A R Y
For further information about other Kontron products, please visit our Internet web site: www.kontron.com.

Disclaimer

Copyright © 2012 Kontron AG. All right s reserved. All dat a is for information purposes only and not guaranteed for legal purposes. Information has been carefully checked and is believed to be accurate; however, no responsibility is assumed for inaccuracies. Kontron and the Kontron logo and all other trademarks or registered trademarks are the property of their respective own­ers and are recognized. Specifications are subject to change without notice.
Page 3
AM4150 U-Boot Bootloader Preface

Table of Contents

Revision History ........................................................................................................2
Imprint ....................................................................................................................... 2
Disclaimer .................................................................................................................2
Table of Contents ...................................................................................................... 3
Copyrights and Licensing .......................................................................................... 5
Obtaining Source Code ........................................................................................... 10
1. Introduction to U-Boot ................................................................11
2. Standard U-Boot Commands .....................................................11
3. Kontron-Specific Commands .....................................................14
3.1 flsw Command ..........................................................................................15
3.2 fru Command ............................................................................................16
3.3 fwum Command ........................................................................................18
3.4 kboardinfo Command ................................................................................ 20
3.5 kcs Command ............................................................................................ 21
3.6 md5sum Command ................................................................................... 24
3.7 sconf Command .........................................................................................26
3.8 tlbdbg Command ........................................................................................ 31
3.9 vpd Command ............................................................................................32
4. U-Boot Access and Startup ........................................................33
5. Environment ................................................................................34
P R E L I M I N A R Y
6. Working with U-Boot ...................................................................34
6.1 General Operation ...................................................................................... 34
6.2 Using the sconf Command ......................................................................... 34
ID 1052-5678, Rev. 1.0 Page 3
Page 4
Preface AM4150 U-Boot Bootloader
6.2.1 Overview of Board Configuration Options .........................................35
6.2.2 Example of sconf Command Usage ...................................................36
6.2.2.1 sconf info ...................................................................................36
6.2.2.2 sconf select ................................................................................37
6.2.2.3 sconf set ....................................................................................37
6.2.2.4 sconf save reset .........................................................................38
6.2.2.5 sconf status ................................................................................38
6.3 Using the Network ......................................................................................39
6.3.1 Interface Selection .............................................................................39
6.3.1.1 ethprime .....................................................................................40
6.3.1.2 ethact .........................................................................................40
6.3.1.3 ethrotate .....................................................................................40
6.3.2 Contacting the Server .........................................................................41
6.4 Using SD Cards ..........................................................................................41
6.5 Using SATA Devices ...................................................................................42
6.6 Using the Onboard NAND Flash .................................................................43
6.7 Using the SPI Flash for OS .........................................................................44
6.8 Booting an OS ............................................................................................44
6.8.1 Booting Linux .....................................................................................44
6.8.2 Booting VxWorks ................................................................................45
6.9 Getting Help ................................................................................................46
6.10 Update ........................................................................................................47
6.11 Recovery Mechanism .................................................................................47
P R E L I M I N A R Y
Page 4 ID 1052-5678, Rev. 1.0
Page 5
AM4150 U-Boot Bootloader Preface

Copyrights and Licensing

U-Boot is Free Software. It is copyrighted by Wolfgang Denk and many others who contributed code (see the actual source code for details). You can redistribute U-Boot and/or modify it un­der the terms of version 2 of the GNU General Public License as published by the Free Soft­ware Foundation. Most of it can also be distributed, at your option, under any later version of the GNU General Public License -- see individual files for exceptions.
NOTE! This license does *not* cover the so-called "standalone" applications that use U-Boot services by means of the jump table provided by U-Boot exactly for this purpose - this is merely considered normal use of U-Boot, and does *not* fall under the heading of "derived work".
The header files "include/image.h" and "include/asm-*/u-boot.h" define interfaces to U-Boot. In­cluding these (unmodified) header files in another file is considered normal use of U-Boot, and does *not* fall under the heading of "derived work".
Also note that the GPL below is copyrighted by the Free Software Foundation, but the instance of code that it refers to (the U-Boot source code) is copyrighted by me and others who actually wrote it.
-- Wolfgang Denk ======================================================================
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software -- to make sure the software is fre e for all its users. This General Pub­lic License applies to most of the Free Software Foundation's software and to any other pro­gram whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your pro­grams, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free sof t­ware (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
P R E L I M I N A R Y
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
ID 1052-5678, Rev. 1.0 Page 5
Page 6
Preface AM4150 U-Boot Bootloader
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone underst ands that there is no warranty for this free software. If the software is modified by someon e else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any p atent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below , refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say , a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whethe r that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as you receive
P R E L I M I N A R Y
it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
Y ou may charge a fee for the physical act of transferring a copy , and you may at your option offer warranty protection in exchange for a fee.
Page 6 ID 1052-5678, Rev. 1.0
Page 7
AM4150 U-Boot Bootloader Preface
2. You may modify your copy o r copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed
the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part
contains or is derived from the Program or any part thereof, t o be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must
cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your right s to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accomp any it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accomp any it with a written of fer, valid for at least three years, to give any third party,
for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
P R E L I M I N A R Y
c) Accompany it with the information you received as to the offer to distribute
corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
ID 1052-5678, Rev. 1.0 Page 7
Page 8
Preface AM4150 U-Boot Bootloader
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However , as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accomp anies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy th e source code from the same place counts as distribution of the source code, even though third parties are no t compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However , parties who have received copies, or right s, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this L icense, since you have not signed it. However , nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. Y ou may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order , agreement or otherwise) that contradict the con ditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy
P R E L I M I N A R Y
simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a who le is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
Page 8 ID 1052-5678, Rev. 1.0
Page 9
AM4150 U-Boot Bootloader Preface
This section is intended to make thoroughly clear what is believed to be a con sequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who place s the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate part s of the Program into other f ree programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW . EXCEPT WHEN OTHERWISE ST ATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING , BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING , REP AIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENT AL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURA TE OR LOSSES SUST AINED BY YOU OR THIRD P AR TIES OR A FAILURE OF THE PROGRAM T O OPERA TE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER P AR TY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
P R E L I M I N A R Y
END OF TERMS AND CONDITIONS
ID 1052-5678, Rev. 1.0 Page 9
Page 10
Preface AM4150 U-Boot Bootloader

Obtaining Source Code

The software included in this product contains copyrighted software that is licensed under the GPL. A copy of that license is included in this document beginning on page 5. You may obtain the complete corresponding source code from Kontron for a period of three years af ter our last shipment of this product. Please contact Kontron for further assist ance in obt a ining the source code.
P R E L I M I N A R Y
Page 10 ID 1052-5678, Rev. 1.0
Page 11
AM4150 U-Boot Bootloader U-Boot Usage

1. Introduction to U-Boot

U-Boot is an open source bootloader software developed and maintained by DENX Software Engineering GmbH (http://www.denx.de). Kontron provides U-Boot with all its standard fea­tures as well as Kontron-specific features for usage with Kontron’s AM4150 AMC module.
This user guide provides specific information on Kontron’s implementation of U-Boot and its us­age. Please refer to the DENX web site for up-to-date on-line documentation of all of U-Boot’s standard features.

2. Standard U-Boot Commands

U-Boot is provided with a set of standard commands for which documentation is available on the DENX web site. Some of the standard commands have sub -groups which can be displayed when help for the main group command is requested. Where relevant, further information con­cerning the usage of standard commands is provided in this guide to assist users in performing specific functions.
The following table indicates the standard U-boot commands configured for the AM4150. The blue-shaded table cells indicate st andar d U-Boot commands te sted by Ko ntron. Only the st an­dard U-Boot commands relevant for the normal operation of the AM4150 U-Boot bootloader have been tested by Kontron.
Table 1: Standard U- Boot Commands Configured for the AM4150
COMMAND DESCRIPTION
? Alias for 'help' base Print or set address offset bdinfo Print Board Info structure boot Boot default, i.e., run 'bootcmd' bootd Boot default, i.e., run 'bootcmd' bootelf Boot from an ELF image in memory bootm Boot application image from memory bootp Boot image via network using BOOTP/TFTP protocol bootvx Boot vxWorks from an ELF image chpart Change active partition cmp Memory compare
P R E L I M I N A R Y
coninfo Print console devices and information cp Memory copy cpu Multiprocessor CPU boot manipulation and release crc32 Checksum calculation dhcp Boot image via network using DHCP/TFTP protocol echo Echo args to console
ID 1052-5678, Rev. 1.0 Page 11
Page 12
U-Boot Usage AM4150 U-Boot Bootloader
Table 1: Standard U- Boot Commands Configured for the AM4150 (continued)
COMMAND DESCRIPTION
editenv Edit environment variable env Environment handling commands errata Report errata workarounds exit Exit script ext2load Load binary file from an Ext2 filesystem ext2ls List files in a directory (default /) false Do nothing, unsuccessfully fatinfo Print information about filesystem fatload Load binary file from a dos filesystem fatls List files in a directory (default /) fdt Flattened device tree utility commands fsinfo Print information about filesystems fsload Load binary file from a filesystem image go Start application at address 'addr' grepenv Search environment variables help Print command description/usage i2c I2C subsystem iminfo Print header information for application image imxtract Extract a part of a multi-image interrupts Enable or disable interrupts irqinfo Print information about IRQs itest Return true/false on integer compare
P R E L I M I N A R Y
loadb Load binary file over serial line (kermit mode) loads Load S-Record file over serial line loady Load binary file over serial line (ymodem mode) loop Infinite loop on address range ls List files in a directory (default /) md Memory display mdio MDIO utility commands mii MII utility commands mm Memory modify (auto-incrementing address) mmc MMC sub sy stem
Page 12 ID 1052-5678, Rev. 1.0
Page 13
AM4150 U-Boot Bootloader U-Boot Usage
Table 1: Standard U- Boot Commands Configured for the AM4150 (continued)
COMMAND DESCRIPTION
mmcinfo Display MMC info mtdparts Define flash/nand partitions mtest Simple RAM read/write test mw Memory write (fill) nand NAND subsystem nboot Boot from NAND device nfs Boot image via network using NFS protocol nm Memory modify (constant address) pci List and access PCI Configuration Space ping Send ICMP ECHO_REQUEST to network host printenv Print environment variables reginfo Print register information reset Perform RESET of the CPU run Run commands in an environment variable sata SATA sub-system saveenv Save environment variables to persistent storage saves Save S-Record file over serial line setenv Set environment variables setexpr Set environment variable as the result of eval expression sf SPI flash subsystem showvar Print local hushshell variables sleep Delay execution for some time source Run script from memory test Minimal test like /bin/sh tftpboot Boot image via network using TFTP protocol true Do nothing, successfully
P R E L I M I N A R Y
ubi ubi commands ubifsload Load file from an UBIFS filesystem ubifsls List files in a directory ubifsmount Mount UBIFS volume ubifsumount Unmount UBIFS volume version Print monitor, compiler and linker version
ID 1052-5678, Rev. 1.0 Page 13
Page 14
U-Boot Usage AM4150 U-Boot Bootloader

3. Kontron-Specific Commands

Kontron’s implementation of U-Boot includes certain enhancements to provide specific func­tions not incorporated in the standard U-Boot. The following table provides a complete listing of all Kontron-specific U-Boot commands implemented on the AM4150.
Table 2: Kontron-Specific Commands
COMMAND DESCRIPTION
flsw FLash SWitch
Indicates or selects the currently active SPI boot flash
fru Field Replaceable Unit
Provides read/write access to the board’s FRU repository as well as displaying FRU data
fwum FirmWare Update Manager
Provides functions for managing and updating the module’s MMC firmware
kboardinfo Kontron Board Information
Displays a summary of board and configuration information
kcs Access to the Keyboard Controller-Style Interface
Sends raw IPMI commands via the KCS interface
md5sum Message digest 5 checksum
Creates or checks the md5 message digest over a memory area
sconf Kontron Board Configuration
Provides functions for software-based configuration of external interfaces available on the AMC Card-edge connector and on the front panel connectors J2 (GbE B)
tlbdbg Translation Look-aside Buffer DeBuG
Displays current configuration of TLB0 and TLB1
vpd Vital Product Data
Provides display and importing functions for vital product data entities
The following chapters provides command syntax reference information, a short description, and, in some cases, usage examples. Where an ellipsis (…) appears in the command syntax, it means that the command is continued on the next line. Observe spaces before the ellipsis.
P R E L I M I N A R Y
Page 14 ID 1052-5678, Rev. 1.0
Page 15
AM4150 U-Boot Bootloader U-Boot Usage

3.1 flsw Command

flsw
FUNCTION: Indicates or selects the currently active SPI boot flash
SYNTAX: flsw [s|r]
where:
flsw command:
issuing the command without arguments will indicate the currently active SPI boot flash (also returns “true” or “false” depending on the cur­rently active flash)
s option: standard
selects the standard SPI boot flash as the active flash
r option: recovery
selects the recovery SPI boot flash as the active flash
DESCRIPTION: This command is used to determine the currently active SPI boot flash
or to select either the standard SPI boot flash or the recovery SPI boot flash as the currently active flash.
In addition, this command returns “true” if the standard SPI boot flash is selected or “false” if the recovery SPI boot flash is selected. This is used in the update scripts to prevent the recovery SPI boot flash from being updated.
Besides this command, the currently active SPI boot flash may also be selected either via the DIP Switch SW2, switch 2, or the “Set Control State” IPMI OEM command. For further information, refer to the AM4150 User Guide and to the AM4150 IPMI User Guide, respectively.
The output of this command always shows the current state.
USAGE: Query flash status
COMMAND / RESPONSE:
=> flsw standard boot flash active =>
Select the standard SPI boot flash as currently active flash COMMAND / RESPONSE:
P R E L I M I N A R Y
=> flsw s =>
ID 1052-5678, Rev. 1.0 Page 15
Page 16
U-Boot Usage AM4150 U-Boot Bootloader

3.2 fru C ommand

fru
FUNCTION: Provides read/write access to the board’s FRU repository as well as
displaying FRU data
SYNTAX: fru info <FRU nr>|…
read <FRU nr> <address> <size>|… write <FRU nr> <address> <size>
where:
fru command
info option:
displays FRU data for <FRU nr> specified
<FRU nr> parameter: hexadecimal
<0, 1, … n> identification number of FRU device for option speci­fied
read option:
reads FRU data for <FRU nr> specified
<address> parameter: hexadecimal
<[x … ]x> address where data is to be stored or read from
<size> parameter: hexadecimal
<[x … ]x> length of data in bytes to be read or written
write option:
writes FRU data to <FRU nr> specified
DESCRIPTION: This command can be used to display basic information about the FRU
repository, read out the repository content to RAM, and, if required, to
P R E L I M I N A R Y
USAGE: Query FRU data for FRU 0
update the contents of the FRU repository.
WARNING! Writing incorrect FRU data to the FRU repository can result in an
inoperable board (E-Keying information incorrect). Users requiring modification to the board’s FRU data are requested to contact Kontron for assistance before making any changes.
COMMAND / RESPONSE:
=> fru info 0 FRU 0 size is 0x1000 bytes =>
Page 16 ID 1052-5678, Rev. 1.0
Page 17
AM4150 U-Boot Bootloader U-Boot Usage
fru (continued)
USAGE: Read FRU data for FRU 0
COMMAND / RESPONSE:
=> fru read 0x0 0x1000000 0x1000 Progress:########################################### ########################################### ########################################### ########################################## =>
Write FRU data to FRU 0 COMMAND / RESPONSE:
=> fru write 0x0 0x1000000 0x1000 Progress:########################################### ########################################### ########################################### ########################################## =>
ID 1052-5678, Rev. 1.0 Page 17
P R E L I M I N A R Y
Page 18
U-Boot Usage AM4150 U-Boot Bootloader

3.3 fwum Command

fwum
FUNCTION: Provides functions for managing and updating the module’s MMC
firmware
SYNTAX: fwum info|…
status|… upgrade <address> <size>|… rollback
where:
fwum command
info option:
displays information concerning “fwum” services
status option:
displays information concerning the status of “fwum” services
upgrade option:
updates MMC firmware using parameters as specified by <address> and <size>
<address> parameter: hexadecimal
<[x … ]x> address in RAM where data is to be read from
<size> parameter: hexadecimal
<[x … ]x> length of data in bytes to be read
rollback option:
executes manual rollback to previous firmware version
DESCRIPTION: This command can be used to:
P R E L I M I N A R Y
1. Info - show information about FWUM service present on IPMI firmware
2. Status - show current status of firmware banks
3. Upgrade - download pointed firmware into MMC and initiate firmware upgrade procedure
4. Rollback - initiate manual firmware rollback to switch back to previously used firmware
WARNING! Users requiring modification to the MMC’s firmware are requested to
contact Kontron for assistance before making any changes.
Page 18 ID 1052-5678, Rev. 1.0
Page 19
AM4150 U-Boot Bootloader U-Boot Usage
fwum (continued)
USAGE: Query firmware service currently available
COMMAND / RESPONSE:
=> fwum info
FWUM info (Boot Block) ====================== Protocol Revision : 07h Controller Device Id : 00h Firmware Revision : 1.01 Number Of Memory Bank : 2 =>
Query the status of the currently available firmware images COMMAND / RESPONSE:
=> fwum status
FWUM status (IPMI Firmware) ===========================
Bank State 0 : Previous Good Firmware Length : 158332 bytes Firmware Revision : 2.30 SDR 19 (R13)
Bank State 1 : Last Known Good Firmware Length : 160020 bytes Firmware Revision : 2.40 SDR 20 (R14) =>
Upgrade MMC firmware: COMMAND / RESPONSE:
=> fwum upgrade 0x20000000 0x22ef0 Start uploading firmware into bank 0 Loading: ########################################### ########################################### ########################################### ########################################### ########################################### ########################################### ###################################### Firmware update initiated =>
P R E L I M I N A R Y
Perform manual rollback of MMC firmware COMMAND / RESPONSE:
=> fwum rollback Firmware rollback initiated =>
ID 1052-5678, Rev. 1.0 Page 19
Page 20
U-Boot Usage AM4150 U-Boot Bootloader

3.4 kboardinfo Command

kboardinfo
FUNCTION: Displays a summary of board and configuration information
SYNTAX: kboardinfo
where:
kboardinfo command
DESCRIPTION: This command collects information from various board sources and
provides a summary listing of this information:
USAGE: Display board information
COMMAND / RESPONSE:
=> kboardinfo Board id: 0xd0c0 Hardware rev.: 0xf Logic rev.: 0x4 Boot flash: Standard Flash In system slot: na Geographic address: 1 Material number: na Serial number: 0400168722 U-Boot article name: SK-FIRM-UBOOT-D0C01 U-Boot material num: 1052-4330 =>
P R E L I M I N A R Y
Page 20 ID 1052-5678, Rev. 1.0
Page 21
AM4150 U-Boot Bootloader U-Boot Usage

3.5 kcs Command

kcs
FUNCTION: Provides capability for transmitting raw IPMI commands from the pay-
load CPU to the MMC and displaying response from the MMC
SYNTAX: kcs raw [lun <lun>] <NetFn> <CMD> [Request Data
Bytes]|… mcinfo
where:
kcs command
raw option:
send raw data over KCS interface
lun option:
if present: set up desired lun number of mes­sage to send to MMC if absent: lun is assumed to be 0
<lun> parameter: hexadecimal
parameter range: <0, 1, 2, 3>
<NetFn> parameter: hexadecimal
<[x … ]x>
<CMD> parameter: hexadecimal
Request Data Bytes parameter: hexadecimal:
1 ... n bytes (space as delimiter between bytes) command parameters
mcinfo option:
show result of the “Get Device ID” IPMI OEM command in human-readable format
DESCRIPTION: This command can be used to send IPMI commands in raw form to the
MMC over the KCS interface and print response.
WARNING! As “ipmi raw” functions provide access to the majority of MMC
functionality, care must be exercised when invoking raw commands. Improper use may cause the board to become inoperable (e.g. damage to FRU data).
P R E L I M I N A R Y
ID 1052-5678, Rev. 1.0 Page 21
Page 22
U-Boot Usage AM4150 U-Boot Bootloader
kcs (continued)
USAGE: Send IPMI “Get Device ID” command (lun 0, NetFn 6, cmd 1, no data)
using the “kcs raw” option COMMAND / RESPONSE:
=> kcs raw lun 0x00 0x06 0x01 KCS transaction successfully completed, rsp_size: 18 (dec) 1c 01 00 10 80 01 00 51 b9 98 3a 00 00 d0 10… 05 00 00 =>
Response bytes:
- first byte presents return NetFn combined with lun
- second presents command number
- third presents completion code
- further bytes are response data
In this example, the first byte (0x1c) is decoded as lun 0 (two least significant bits) and NetFn 7 (six most significant bits).
Send IPMI “Get FRU Inventory Area” command to get information a bout FRU 0 repository (lun 0, NetFn 16, cmd 10, data byte 0x00)
COMMAND / RESPONSE:
=> kcs raw 0x0a 0x10 0x00 KCS transaction successfully completed,… rsp_size: 6 (dec) 2c 10 00 00 10 00 =>
P R E L I M I N A R Y
Page 22 ID 1052-5678, Rev. 1.0
Page 23
AM4150 U-Boot Bootloader U-Boot Usage
kcs (continued)
USAGE: Send IPMI “Get Device ID” command using the “kcs mcinfo” option
COMMAND / RESPONSE:
=> kcs mcinfo Device ID : 16 Device Revision : 0 Firmware Revision : 2.49 IPMI Version : 1.5 Manufacturer ID : 15000 Manufacturer Name : Kontron Product ID : 53248 (0xd000) Device Available : yes Provides Device SDRs : yes Additional Device Support :
Chassis Device IPMB Event Generator IPMB Event Receiver FRU Inventory Device Sensor Device
Aux Firmware Revision Info:
0x00 - SAP Revision 0x01 0x49 0x00
=>
ID 1052-5678, Rev. 1.0 Page 23
P R E L I M I N A R Y
Page 24
U-Boot Usage AM4150 U-Boot Bootloader

3.6 md5sum Command

md5sum
FUNCTION: Creates or checks the md5 message digest over a memory area
SYNTAX: md5sum <data-address> <length> [<cksum-address>]
where:
md5sum command
<data-address> parameter: hexadecimal
start address of memory area
<length> parameter: hexadecimal
length of memory area
<cksum-address> parameter:
if present: compares the calculated md5 message digest with the md5 message digest available at this address
if absent: calculates the md5 message digest over the specified memory range and prints it to the console
DESCRIPTION: This command is used to create or check the md5 message digest over
a memory area.
rd
If the optional 3 message digest is calculated over the specified memory range and printed to the console.
If the optional 3 message digest is calculated over the specified memory range and compared with the md5 message digest at <cksum-address>. If the digest is identical, the command returns 0; if the digests do not match, a value other than zero is returned. When a comparison is made, nothing is printed to the console since this usage of the command is meant to be
P R E L I M I N A R Y
USAGE: Calculate an md5 message digest
used within scripts. The md5 message digest at <cksum-address> may be specified in
ASCII or binary format.
COMMAND / RESPONSE:
=> md5sum 100000 80000 8fe7006660a2df2265b7cd707eb98786 =>
parameter <checksum-address> is omitted, the md5
rd
parameter <checksum-address> is specified, the md5
Page 24 ID 1052-5678, Rev. 1.0
Page 25
AM4150 U-Boot Bootloader U-Boot Usage
md5sum (continued)
USAGE: Check the md5 message digest of a file previously loaded to 100000
with a size of 80000 and its md5 message digest loaded to 10000 in a script
COMMAND / RESPONSE:
=> setenv check_crc “if md5sum 100000 80000 10000; then echo ‘md5 message digest OK’; else echo ‘md5 message digest BAD’; fi” =>run check_crc md5 message digest OK =>
ID 1052-5678, Rev. 1.0 Page 25
P R E L I M I N A R Y
Page 26
U-Boot Usage AM4150 U-Boot Bootloader

3.7 sconf Comman d

sconf
FUNCTION:
SYNTAX: sconf info|…
Provides functions for software-based configuration of external interfaces available on the AMC Card-edge connector and on the front panel connectors J2 (GbE B)
select <num>|… set [<par> <val>]|… status|… save [reset]|… undo|…
where:
select option:
<num> parameter:
sconf command
info option:
displays available configurations
selects base configuration <num>
<0, 1, ... n> number of base configuration
set option:
indicate or configure parameter for new base configu­ration
[<par>] parameter:
<…> parameter for new base configuration
P R E L I M I N A R Y
[<val>] value:
<…> value assigned to parameter
status option:
displays information concerning the status of board configuration
save option:
saves the current setting
[reset] option:
resets the board after saving the settings
undo option:
ignore current settings and use saved settings again
Page 26 ID 1052-5678, Rev. 1.0
Page 27
AM4150 U-Boot Bootloader U-Boot Usage
sconf (continued)
DESCRIPTION: This command is used to configure external interfaces available on the
AMC Card-edge connector and on the front panel connectors J2 (GbE B).
The “sconf info” command shows the possible configurations as well as the configuration stored in the IPMI Module Management Controller.
The active configuration is indicated in the “sconf status” command. To configure external interfaces, select a base configuration via the
“sconf select” command. Then, the parameters can be defined more exactly via the “sconf set” command.
To apply the configuration, invoke the “sconf save reset” command (“sconf save” command with “reset” option). Only with this command the configuration will become valid and active.
To determine if a system power cycle is required, invoke the “sconf status” command.
ID 1052-5678, Rev. 1.0 Page 27
P R E L I M I N A R Y
Page 28
U-Boot Usage AM4150 U-Boot Bootloader
sconf (continued)
USAGE: Display available configurations
COMMAND / RESPONSE:
=> sconf info
List of available base configurations: **< >** Stored base configuration
--[ ]-- ‘New’base configuration (work in progress)
========+-========================================================== Base | Port Config | ..7 ..11 ========+-========================================================== | **[ 0]**| GbE [GbE] SATA -- SRIO [@5.0] SRIO [@5.0] | < 1> | GbE [GbE] SATA -- SRIO @3.125 SRIO @3.125 | < 2> | GbE [GbE] SATA -- SRIO [@5.0] GbE [2x1] | < 3> | GbE [GbE] SATA -- PCIE[Gen.2] PCIE [Gen.2] | < 4> | GbE [GbE] SATA -- PCIE[Gen.2] GbE [2x1] | < 5> | GbE [GbE] SATA -- PCIE[Gen.2] |
0 Port 1 Port 2 Port 3 Port 4 Port 8
PCIE, GbE, [-], -
Note: [GbE] indicates that the DTSEC4 used can be redirected to the front panel connector J2 (GbE B) or optionally to AMC Port 10 for configurations which provide GbE interfaces in the Fat Pipes Region, Port 8 or Port 9.
Board’s Port Configuration:
/
Option
-----------------------------------------------------------
DTSEC4 routing : port1 # sconf set dtsec4 <port1 | front> SRIO Sys.Size : large # sconf set srio <small | large> SRIO mode : agent # sconf set srio <agent | host >
Setting | Value # command, option <and parameter>
P R E L I M I N A R Y
AMC Port Activation / Forced settings (ignoring E-Keying):
Option / Setting | Value # command, option <and parameter>
-------------------------------------------------------------
Port 2 : auto # sconf set port 2 <auto | disable | enable> Port 4 : auto # sconf set port 4 <auto | disable | enable>
speed : @5.0 # sconf set port 4 <@5.0 | @2.5>
Port 8 : auto # sconf set port 8 <auto | disable | enable>
speed : @5.0 # sconf set port 8 <@5.0 | @2.5>
Note: A port’s speed configuration becomes effective if the port is enabled when running the module in unmanaged mode or the port is forcibly enabled (i.e. not set to ‘auto’) in managed mode. =>
Page 28 ID 1052-5678, Rev. 1.0
Page 29
AM4150 U-Boot Bootloader U-Boot Usage
sconf (continued)
USAGE: Select new base configuration
COMMAND / RESPONSE:
=> sconf select 1 New base configuration 1 =>
Configure parameter for new base configuration COMMAND / RESPONSE:
=> sconf set
Board’s Port Configuration:
/
Option
----------------------------------------------------------­DTSEC4 routing : port1 # sconf set dtsec4 <port1 | front> SRIO Sys.Size : large # sconf set srio <small | large> SRIO mode : agent # sconf set srio <agent | host >
Setting | Value # command, option <and parameter>
AMC Port Activation / Forced settings (ignoring E-Keying):
Option / Setting | Value # command, option <and parameter>
------------------------------------------------------------­Port 2 : auto # sconf set port 2 <auto | disable | enable> Port 4 : auto # sconf set port 4 <auto | disable | enable>
speed : @5.0 # sconf set port 4 <@5.0 | @2.5>
Port 8 : auto # sconf set port 8 <auto | disable | enable>
speed : @5.0 # sconf set port 8 <@5.0 | @2.5>
Note: A port’s speed configuration becomes effective if the port is enabled when running the module in unmanaged mode, or the port is forcibly enabled (i.e. not set to ‘auto’) in managed mode.
=> sconf set port4 disable =>
Display current “sconf” status COMMAND / RESPONSE:
=> sconf status
Configuration (Activation) Status: Module is running: managed (E-Keying) sconf disables E-Keying: no sconf deactivated by DIP SW: no
P R E L I M I N A R Y
Configuration (stored) is active: AMC Base Configuration: 0 =>
ID 1052-5678, Rev. 1.0 Page 29
Page 30
U-Boot Usage AM4150 U-Boot Bootloader
sconf (continued)
Save current settings COMMAND / RESPONSE:
=> sconf save Saving: ##### =>
USAGE: Save current settings and reset the board
COMMAND / RESPONSE:
=> sconf save reset Saving: #######
U-Boot 2011.09-01425-g8c4588b (Jun 20 2012 - 10:36:29)
CPU0: P5020E, Version: 1.0, (0x82280010) Core: E5500, Version: 1.0, (0x80240010 ... =>
Ignore current settings and use saved settings again COMMAND / RESPONSE:
=>sconf undo =>
P R E L I M I N A R Y
Page 30 ID 1052-5678, Rev. 1.0
Page 31
AM4150 U-Boot Bootloader U-Boot Usage

3.8 tlbdbg Command

tlbdbg
FUNCTION: Displays current configuration of TLB0 and TLB1
SYNTAX: tlbdbg
where:
tlbdbg command
DESCRIPTION: This command provides information on the translation look-aside
buffers TLB0 ad TLB1 for debugging purposes during U-Boot development or for debugging OS startup issues.
USAGE: Display TLB0/TLB1 information
COMMAND / RESPONSE:
=> tlbdbg TLBx Configuration Register : 04110200 401bc040
TLB0: [check 512 entries] IDX PID EPN SIZE V TS RPN U0-U3 WIMGE UUUSSS
-------------------------------------------------------------
TLB1: [check 64 entries] IDX PID EPN SIZE V TS RPN U0-U3 WIMGE UUUSSS
------------------------------------------------------------­ 1d: 00 fe000000 16MB V 0d -> f_fe000000 0000 -I-G- ---RWX 2d: 00 00000000 1GB V 0d -> 0_00000000 0000 ----- ---RWX 3d: 00 80000000 1GB V 0d -> e_80000000 0000 -I-G- ---RWX 4d: 00 40000000 1GB V 0d -> 0_40000000 0000 ----- ---RWX 5d: 00 ffc00000 64kB V 0d -> e_ffc00000 0000 -I-G- ---RWX 6d: 00 ffc10000 64kB V 0d -> e_ffc10000 0000 -I-G- ---RWX
7d: 00 ff000000 4kB V 0d -> f_ff000000 0000 -I-G- ---RWX
9d: 00 f4000000 1MB V 0d -> f_f4000000 0000 ----- ---RWX 10d: 00 f4100000 1MB V 0d -> f_f4100000 0000 -I-G- ---RWX 11d: 00 f4200000 1MB V 0d -> f_f4200000 0000 ----- ---RWX 12d: 00 f4300000 1MB V 0d -> f_f4300000 0000 -I-G- ---RWX 13d: 00 f0000000 4MB V 0d -> f_00000000 0000 -I-G- ---RWX 16d: 00 f8080000 64kB V 0d -> f_f8080000 0000 -I-G- ---RWX 17d: 00 fffff000 4kB V 0d -> 0_7ffff000 0000 -I-G- ---RWX 18d: 00 f8090000 64kB V 0d -> f_f8090000 0000 -I-G- ---RWX 19d: 00 c0000000 256MB V 0d -> d_c0000000 0000 -I-G- ---RWX 20d: 00 d0000000 256MB V 0d -> d_d0000000 0000 -I-G- ---RWX =>
P R E L I M I N A R Y
ID 1052-5678, Rev. 1.0 Page 31
Page 32
U-Boot Usage AM4150 U-Boot Bootloader

3.9 vpd Command

vpd
FUNCTION: Provides display and importing functions for vital product data entities
SYNTAX: vpd print [<name>]|…
import <name>|all_params
where:
vpd command
print option:
displays VPD information (source: System EEPROM) (if <name> is not used, all VPD entities are displayed)
<name> parameter: text string
<[x … ]x> name of VPD entity addressed by option
import option:
imports VPD information to the U-Boot environment (source: System EEPROM; target: RAM)
all_params parameter: text constant
all_params selects all VPD entities for importing to the U-Boot environment
DESCRIPTION: Vital Product Data are information stored in the System EEPROM which
are required for proper operation of the board. With this command the VPD entities can be displayed or imported to the U-Boot environment in RAM.
Among the VPD entities are, for example, the board serial number and the board’s Ethernet MAC addresses.
If the option “import” is invoked, existing VPD entities in the environment
P R E L I M I N A R Y
USAGE: Display all VPD entities
in RAM are overwritten. If a “saveenv” is then invoked, the previously stored values in the currently active SPI boot flash environment area are overwritten.
COMMAND / RESPONSE:
=> vpd print
<response: displays all VPD entities>
=>
Page 32 ID 1052-5678, Rev. 1.0
Page 33
AM4150 U-Boot Bootloader U-Boot Usage
vpd (continued)
USAGE: Display eth1addr entity
COMMAND / RESPONSE:
=> vpd print eth1addr eth1addr=00:80:82:47:12:02 =>
Import eth1addr entity to environment COMMAND / RESPONSE:
=> vpd import eth1addr import eth1addr = 00:80:82:47:12:02 to … environment =>
Import all VPD entities to environment COMMAND / RESPONSE:
=> vpd import all_params
<response: displays all imported VPD entities; format for each imported VPD entity as follows:>
import <name> = <value> to environment . . . import <name> = <value> to environment =>

4. U-Boot Access and Startup

Communication with U-Boot is achieved via a serial console configured for 115200 baud, 8N1, no hardware handshake.
Initially, U-Boot executes the commands defined in the environment variable “preboot”. Then, if not otherwise interrupted, U-Boot pauses for the time defined in the environment variable “bootdelay” and then executes the statements stored in the environment variable “bootcmd”. To gain access to the U-Boot command prompt, type in any single character during the boot delay time.
P R E L I M I N A R Y
If required, the boot delay function can be configured in such a way that even when the boot delay is set to “0” to have characters, which are sent over the serial interface prior to the boot wait time, be recognized to allow operator intervention in the boot process.
ID 1052-5678, Rev. 1.0 Page 33
Page 34
U-Boot Usage AM4150 U-Boot Bootloader

5. Environment

The environment is stored in the same flash as U-Boot, usually in the last sector . This provide s the possibility to update U-Boot without changing the environment. The environment can be modified by the user with the typical commands of the “env” command group: “setenv”, “editenv”, “printenv” and “saveenv”.
Furthermore, if a larger number of boards require updating, the environment can be updated by a script, loaded from the SD card, onboard NAND flash, or a network.
A typical user modification would be to set the variable “bootcmd” so that the user’s OS will boot automatically.

6. Working with U-Boot

6.1 General Operation

Most operations are carried out using the main memory as an intermediate step. It is not pos­sible, for example, to boot a kernel image directly from a tftp server. Instead, the kernel image is first loaded to memory and then booted from there with another command.
The same is true when writing new contents to the SPI boot flashes. This concept is very flexible since it sep arates the commands which handle th e loading of dat a
from the commands that carry out actions like booting.

6.2 Using the sconf Command

In previous board designs, DIP switches were used to configure the fabric interfaces. In re­sponse to evolving application requirements, the “sconf” command has been designed to pro­vide increased configuration flexibility.
The AM4150 is delivered with a default configuration for the external interfaces routed to the AMC ports. If required, these interfaces may be configured via the “sconf” command according to the application requirements.
The factory default configuration for the AM4150 is as follows:
P R E L I M I N A R Y
“sconf” base configuration: 0
SRIO system size: small
SRIO interface mode: agent
GbE (DTSEC4): port 1
To obtain information about the currently active configuration, invoke the “sconf status” com­mand.
Page 34 ID 1052-5678, Rev. 1.0
Page 35
AM4150 U-Boot Bootloader U-Boot Usage

6.2.1 Overview of Board Configuration Options

Table 3: Overview of Board Configuration Options
AMC PORT CONFIGURATION USING THE
U-BOOT “sconf info” BASE CONFIGURATIONS
“sconf”
AMC PORT Base Conf.
0 GbE [GbE] SATA S ATA/--SRIO
1 GbE [GbE] SATA S ATA/--SRIO
2 GbE [GbE] SATA S ATA/--SRIO
3 GbE [GbE] SATA S ATA/--PCIE
4 GbE [GbE] SATA S ATA/--PCIE
0 1 2 3 4 - 7 8 - 11
SRIO
[@5.0]
@3.125
[@5.0]
[Gen.2]
[Gen.2]
[@5.0]
SRIO@
3.125 GbE,
GbE,
[GbE],
--
PCIE
[Gen.2]
GbE, GbE,
[GbE],
--
FURTHER BOARD CONFIGURATION OPTIONS
DEPENDING ON THE BASE CONFIGURATION
GbE
DTSEC4
port 1/
front
port 1/
front
port 1/
port 10/
front
port 1/
front
port 1/
port 10/
front
SRIO
Sys. Size
small/
large
small/
large
small/
large
SRIO
Mode
host/
agent
host/
agent
host/
agent
-- -- auto/in/
-- -- auto/in/
FCLKA
PCIe
Ref.
Clock
out/local
out/local
-- @5.0/
-- -- --
-- @5.0/
Ports
4 - 7
Speed
Options
@2.5
@3.125/
@2.5
@5.0/
@2.5
@5.0/
@2.5
Speed
Options
Ports 8 - 11
@5.0/
@2.5
--
@5.0/
@2.5
--
5 GbE [GbE] SATA S ATA/--PCIE
[Gen.2]
PCIE,
GbE,
[GbE],
--
port 1/
port 10/
front
-- -- auto/in/ out/local
@5.0/
@2.5
Note ...
[GbE] indicates that DTSEC4 used can be redirected to the front panel connector J2 (GbE B) or optionally to AMC Port 10 for configurations which provide GbE interfaces in the Fat Pipes Region, Port 8 or Port 9.
Note ...
There are two SATA ports available on the AM4150. The first SATA port is routed to the AMC port 2. The second SATA port is routed either to AMC port 3 or to the SATA Flash module.
The parameters of the FCLKA option have the following properties:
auto: The Module Management Controller configures the PCI Express reference clock (FCLKA) via E-Keying
in: AM4150 uses the PCI Express reference clock from the AMC Card-edge con­nector (FCLKA)
out: AM4150 uses the local PCI Express reference clock and generates the PCI Ex­press reference clock to the AMC Card-edge connector (FCLKA)
--
P R E L I M I N A R Y
local: AM4150 uses the local PCI Express reference clock and the AMC clock (FCLKA) is disabled
ID 1052-5678, Rev. 1.0 Page 35
Page 36
U-Boot Usage AM4150 U-Boot Bootloader

6.2.2 Example of sconf Command Usage

6.2.2.1 sconf info
To get an overview of the possible interface configurations, invoke the “sconf info” command.
=> sconf info List of available base configurations:
**< >** Stored base configuration
--[ ]-- ‘New’base configuration (work in progress) ========+-============================================================ Base | Port Config | ..7 ..11 ========+-============================================================ | **[ 0]**| GbE [GbE] SATA -- SRIO [@5.0] SRIO [@5.0] | < 1> | GbE [GbE] SATA -- SRIO @3.125 SRIO @3.125 | < 2> | GbE [GbE] SATA -- SRIO [@5.0] GbE [2x1] | < 3> | GbE [GbE] SATA -- PCIE [Gen.2] PCIE[Gen.2] | < 4> | GbE [GbE] SATA -- PCIE [Gen.2] GbE [2x1] | < 5> | GbE [GbE] SATA -- PCIE [Gen.2] |
0 Port 1 Port 2 Port 3 Port 4 Port 8
PCIE,GbE,[-],-
Note: [GbE] indicates that the DTSEC4 used can be redirected to the front panel connector J2 (GbE B) or optionally to AMC Port 10 for configurations which provide GbE interfaces in the Fat Pipes Region, Port 8 or Port 9.
Board’s Port Configuration:
/
Option
------------------------------------------------------------­DTSEC4 routing : port1 # sconf set dtsec4 <port1 | front>
P R E L I M I N A R Y
SRIO Sys.Size : large # sconf set srio <small | large> SRIO mode : agent # sconf set srio <agent | host >
AMC Port Activation / Forced settings (ignoring E-Keying): Option / Setting | Value # command, option <and parameter>
------------------------------------------------------------­Port 2 : auto # sconf set port 2 <auto | disable | enable> Port 4 : auto # sconf set port 4 <auto | disable | enable>
Port 8 : auto # sconf set port 8 <auto | disable | enable>
Note: A port’s speed configuration becomes effective if the port is enabled when running the module in unmanaged mode or the port is forcibly enabled (i.e. not set to ‘auto’) in managed mode. =>
Setting | Value # command, option <and parameter>
speed : @5.0 # sconf set port 4 <@5.0 | @2.5>
speed : @5.0 # sconf set port 8 <@5.0 | @2.5>
Page 36 ID 1052-5678, Rev. 1.0
Page 37
AM4150 U-Boot Bootloader U-Boot Usage
6.2.2.2 sconf select
To change the setting, invoke the “sconf select” command. Example:
=> sconf select 2 New base configuration 2 =>
6.2.2.3 sconf set
The setting of the chosen base configuration can be changed via the “sconf set” command. If the “sconf set” command is invoked without parameters, all changeable options are shown. In the following example, first, all possible settings are shown, and then the Ethernet interface FM1@DTSEC4 is changed from the AMC port 1 to the front Ethernet connector J2 (GbE B).
=> sconf set
Board’s Port Configuration:
Option
------------------------------------------------------------­DTSEC4 routing : port1 # sconf set dtsec4 <port1 | front> SRIO Sys.Size : large # sconf set srio <small | large> SRIO mode : agent # sconf set srio <agent | host >
AMC Port Activation / Forced settings (ignoring E-Keying):
Option / Setting | Value # command, option <and parameter>
------------------------------------------------------------­Port 2 : auto # sconf set port 2 < auto | disable | enable> Port 4 : auto # sconf set port 4 < auto | disable | enable>
Port 8 : auto # sconf set port 8 < auto | disable | enable>
Note: A port’s speed configuration becomes effective if the port is enabled when running the module in unmanaged mode or the port is forcibly enabled (i.e. not set to ‘auto’) in managed mode.
=> sconf set dtsec4 front =>
/
Setting | Value # command, option <and parameter>
speed : @5.0 # sconf set port 4 <@5.0 | @2.5>
speed : @5.0 # sconf set port 8 <@5.0 | @2.5>
P R E L I M I N A R Y
ID 1052-5678, Rev. 1.0 Page 37
Page 38
U-Boot Usage AM4150 U-Boot Bootloader
6.2.2.4 sconf save reset
Finally, the configuration must be saved with “sconf save”. The “sconf save” command stores the settings but does not activate them. To activate the settings, use the “sconf save reset” command.
=> sconf save reset Saving: #######
U-Boot ... ... =>
6.2.2.5 sconf status
To determine if a system power cycle is required, invoke the “sconf status” command. The fol­lowing example shows that a system power cycle is required.
=> sconf status
Configuration (Activation) Status: Module is running: managed (E-Keying) sconf disables E-Keying: no sconf deactivated by DIP-SW: no
Configuration is not active: Save operation required: no Power On Reset required: no System Power Cycle required: yes Active AMC Base Configuration: n.a. Stored AMC Base Configuration: 2 ‘New’ AMC Base Configuration: 2 =>
The following is an example of the output shown after a successfully comple ted system power cycle.
P R E L I M I N A R Y
=> sconf status
Configuration (Activation) Status: Module is running: managed (E-Keying) sconf disables E-Keying: no sconf deactivated by DIP-SW: no
Configuration (stored) is active: Stored AMC Base Configuration: 2 =>
Page 38 ID 1052-5678, Rev. 1.0
Page 39
AM4150 U-Boot Bootloader U-Boot Usage

6.3 Using the Network

6.3.1 Interface Selection

U-Boot provides support for multiple Ethernet interfaces for transferring files from a file server. This is accomplished using the environment variables: “ethprime”, “ethact” and “ethrotate”.
The following table indicates the assignment of the Ethernet interfaces to the AMC ports or to the GbE front panel connectors depending on the active “sconf” base configuration.
Table 4: Ethernet Interface Assignment Depending on the Base Configuration
BASE CONFIGURATION ETHERNET INTERFACE AMC PORT/CONNECTOR
0, 1, 3 FM1@DTSEC3 Front panel connector J3 (GbE A)
FM1@DTSEC4 Either AMC port 1 or front panel connector J2
(GbE B), depending on the setting of “sconf set dsec4 [port1/front]”
FM1@DTSEC5 AMC port 0
2, 4 FM1@DTSEC1 AMC port 8
FM1@DTSEC2 AMC port 9 FM1@DTSEC3 Front panel connector J3 (GbE A) FM1@DTSEC4 Either AMC port 1, AMC port 10 or front panel
connector J2 (GbE B), depending on the set­ting of “sconf set dsec4 [port1/port10/front]”
FM1@DTSEC5 AMC port 0
5 FM1@DTSEC2 AMC port 9
FM1@DTSEC3 Front panel connector J3 (GbE A) FM1@DTSEC4 Either AMC port 1, AMC port 10 or front panel
connector J2 (GbE B), depending on the set­ting of “sconf set dsec4 [port1/port10/front]”
FM1@DTSEC5 AMC port 0
P R E L I M I N A R Y
ID 1052-5678, Rev. 1.0 Page 39
Page 40
U-Boot Usage AM4150 U-Boot Bootloader
6.3.1.1 ethprime
“ethprime” is used to select the required interface after power-up or reset. During boot-up, the U-Boot checks if “ethprime” is set. If set, “ethprime” is used as the first active Ethernet interface (“ethact”). Please note that the setting of the “ethprime” is lost after a reset. To retain the environment permanently, use the command “saveenv”, which saves the complete environment to flash.
Example:
=> setenv ethprime FM1@DTSEC3 => saveenv Saving environment to SPI Flash... 2 MiB SF: Detected AT25DF161 with page size 256 Bytes, total 2 MiB Erasing SPI flash...Writing to SPI flash...done => reset ... => printenv ethact ethact=FM1@DTSEC3 =>
6.3.1.2 ethact
“ethact” is used to define the currently active interface and to change the required interface without rebooting. If a reboot or a power cycle is done, the active Ethernet interface will be set back to the interface defined in “ethprime” or selected by the “ethrotate” functionality.
Example:
=> setenv ethact FM1@DTSEC2 => ping 172.100.100.35 Using FM1DTSEC2 device host 172.100.100.35 is alive =>
6.3.1.3 ethrotate
P R E L I M I N A R Y
“ethrotate” can be used to force the selection of the next available interface if, for example, there is no link available for the selected interface.
If set to “yes” or undefined, U-Boot updates the “ethact” variable accord ingly and tries to down­load the file again. This is repeated until either the file is downloaded or all interfaces have been exhausted.
In the event the link is active for the selected interface and “ethrotate” is “yes” or undefined, U­Boot tries to download the file. If it cannot download the file, it tries the next availab le interface. If the file is not available on the server, U-Boot stops trying and issues an error message.
If “ethrotate” is set to “no”, only the interface defined in “ethact” is used. Please note that the setting of the “ethrotate” is lost after a reset. To retain the environment
permanently, use the command “saveenv”, which saves the complete environment to flash.
Page 40 ID 1052-5678, Rev. 1.0
Page 41
AM4150 U-Boot Bootloader U-Boot Usage

6.3.2 Contacting the Server

In addition, to be able to transfer files from a tftp server to a module, the module’s IP address (environment variable “ipaddr”) and the IP address of the server must be set (environment vari­able “serverip”). Alternatively, it is possible to use the “dhcp” or “bootp” commands.
They can be set using the “setenv” command. Please note that these settings are lost after a reset. To retain the environment permanently, use the command “saveenv”, which saves the complete environment to flash.
To transfer a file from a tftp server to memory, the “tftpboot” command is used, for example:
tftpboot 100000 filename

6.4 Using SD Cards

SD cards are supported (read only) with the “ext2” or “fat” file system. In both cases, the card must be rescanned first.
mmc rescan 0
After that, the contents can be verified with:
ext2ls mmc 0
in case of the ext2 file system, or with
fatls mmc 0
in case of the fat file system. To load a file into memory, the commands “ext2load” or “fatload” can be used, for example:
ext2load mmc 0 100000 kernel.bin
which loads the file “kernel.bin” from the SD card to memory address 0x100000.
P R E L I M I N A R Y
ID 1052-5678, Rev. 1.0 Page 41
Page 42
U-Boot Usage AM4150 U-Boot Bootloader

6.5 Using SATA Devices

SATA devices are supported (read only) with the “ext2” or “fat” file system. In both cases, the SATA devices must be initialized first.
sata init
After that, the contents can be verified with:
ext2ls sata 0
in case of the ext2 file system, or with
fatls sata 0
in case of the fat file system. To load a file into memory, the commands “ext2load” or “fatload” can be used, for example:
ext2load sata 0 1000000 kernel.bin
which loads the file “kernel.bin” from the SATA device to memory address 0x1000000.
P R E L I M I N A R Y
Page 42 ID 1052-5678, Rev. 1.0
Page 43
AM4150 U-Boot Bootloader U-Boot Usage

6.6 Using the Onboard NAND Flash

The onboard NAND Flash is supported with the “ubi” filesystem. The access is read only . Thus, the filesystem and its contents must be prepared with Linux first.
As a prerequisite, the environment variables “mtdids” and “mtdparts” must be set correctly. “mtdids” identifies the NAND chip to use while “mtdparts” defines the partitions. Example:
setenv mtdids nand0=chip1 setenv mtdparts mtdparts=chip1:-(all)
This defines the first NAND chip (nand0) to be used with the name “chip1”. The chip contains one partition “all” which occupies the whole chip.
The next command sets the partition “all” to be used with the “ubi” layer:
ubi part all
Now, an “ubi” volume can be mounted; in this example volume “boot”:
ubifsmount boot
After the volume is mounted, its contents can be listed:
ubifsls
or a file loaded, in this case “kernel.bin” to address 0x100000:
ubifsload 100000 kernel.bin
P R E L I M I N A R Y
ID 1052-5678, Rev. 1.0 Page 43
Page 44
U-Boot Usage AM4150 U-Boot Bootloader

6.7 Using the SPI Flash for OS

The SPI flash for OS is not used together with a file system, it is used raw. It does not contain any U-Boot components and is completely free for user usage. It's primary function is to store VxWorks® boot ROMs and images.
Before making any changes to the flashes, ensure that the correct flash is selected. To select the SPI flash for OS, execute the “sf probe 3” command (SPI flash for OS is routed to the pro­cessor’s SPI controller chip select 3).
The SPI flash must be erased before it is programmed. To achieve this, use the “sf erase” com­mand.
To program an image to the SPI flash, it must first be loaded to memory from an arbitrary source. It can then be programmed with the “sf write” command.
Example: Programming a test file “test.img” from an SD card using the “ext2” file system:
mmc rescan 0 ext2load mmc 0 100000 test.img sf probe 3 sf erase 0 10000 sf write 100000 0 ${filesize}
This example assumes that the size of “test.img” is less than 64 kB. The environment variable “file­size” is set automatically when a file is loaded to memory and can be used for convenience here.

6.8 Booting an OS

6.8.1 Booting Linux

To boot Linux, at least a kernel image and a FDT (Flattened Device Tree) must be loaded to memory. Optionally, an “initrd” can be loaded.
Furthermore, a command line must be prepared in the environment variable “bootargs”. The boot itself is initiated with the “bootm” command. To simplify the setup of the board, three predefined scripts are already programmed in the de-
fault environment:
P R E L I M I N A R Y
“nfsboot” to boot from a tftp server and mount the root over NFS
“nandboot” to boot from the NAND flash and also mount it as root
“sdboot” to boot from a SD Card and also mount it as root
“multi_img_boot” to boot from the multi-image provided. The multi-image consists of a FDT, a kernel and a rootfs
For a one-time-only bootup, this can be accomplished with the “run” command, for example:
run nfsboot
To make this permanent and have the board execute it automatically, it must be stored in the “bootcmd” environment variable and the environment must be saved to flash.
Page 44 ID 1052-5678, Rev. 1.0
Page 45
AM4150 U-Boot Bootloader U-Boot Usage
Example:
setenv bootcmd 'run nandboot' saveenv

6.8.2 Booting VxWorks

To boot a Wind River VxWorks image, a boot image file of the corresponding (ROM-able) VxWorks binary image and an FDT (Flattened Device Tree) must be loaded to memory.
By default U-Boot operates on “uImage” files (boot image for U-Boot) which contain a special header and in the data portion the operating system binary image. Th e special heade r defines various properties of the “uImage” file (e.g. load address and entry point for the binary image in the data portion). Both the header and the data portion of the “uImage” file are secured and checked against corruption by a CRC32 checksum at U-Boot load time.
All VxWorks (ROM-able) binary images will be converted to a “uImage” file at build time of the suited Wind River Workbench projects based on the dedicated Kontron VxWorks BSP (Board Support Package). This conversion will be carried out by the “mkImage” Kontron tool, which is automatically invoked by Wind River Workbench.
On successful build of the VxWorks binary (ROM-able) image, an additional “uImage” file con­taining the VxWorks (ROM-able) binary image will be generated in the project default build fold­er with the following naming conventions:
U-BOOT “uImage” NAME VXWORKS IMAGE NAME
uImage.bootrom.bin bootrom.bin uImage.vxWorks_rom.bin vxWorks_rom.bin uImage.vxWorks_romCompress.bin vxWorks_romCompress.bin
Please note that the resulting “uImage” file contains all needed information for a proper U-Boot load process and start of the contained VxWorks binary (ROM-able) image. Therefore, it is strongly recommended to utilize the corresponding “uImage” file listed above when using U­Boot for booting VxWorks.
The “uImage” file and FDT are typically stored in and loaded from the SPI flash for OS. The boot itself is initiated with the “bootm” command. To perform autobooting of a VxWorks im-
age requires that appropriate U-Boot environment variables or script(s) be defined for the boot operation to be performed. For more detailed information with examples of boot command se­quences, refer to the Kontron VxWorks BSP online documentation.
For more information on how to configure and build VxWorks images and how to utilize them e.g. for a subsequent VxWorks boot process, please refer to the appropriate Wind River docu­mentation.
P R E L I M I N A R Y
ID 1052-5678, Rev. 1.0 Page 45
Page 46
U-Boot Usage AM4150 U-Boot Bootloader

6.9 Getting Help

U-Boot was configured with support for longhelp. This means that online help is available for every command while working with the system. To access the online help, enter “?” or “help” at the console prompt. This will show an overview over all available commands. To get specific help, enter “? <command/command group” or “help <command/command group”.
For example to get help on the “saves” command enter “? saves”.
=> ? saves saves - save S-Record file over serial line Usage: saves [ off ] [size] [ baud ]
- save S-Record file over serial line with offset 'off', size 'size' and baudrate 'baud' =>
To get help on the mmc command group enter “? mmc”.
=> ? mmc mmc - MMC sub system Usage: mmc read <device num> addr blk# cnt mmc write <device num> addr blk# cnt mmc rescan <device num> mmc part <device num> - lists available partition on mmc mmc list - lists available devices =>
P R E L I M I N A R Y
Page 46 ID 1052-5678, Rev. 1.0
Page 47
AM4150 U-Boot Bootloader U-Boot Usage

6.10 Update

The environment contains two scripts which allow an update of various components, e.g. U­Boot, bootrom for VxWorks, data in EEPROMs, etc.
The script “update” checks for a U-Boot script “update” in the directory “update” in the first par­tition of the SD card with “ext2” or “fat” filesystem. If unsuccessful, the check continues with the first NAND chip, volume “boot”, and again U-Boot searches in the subdirectory “update” for the script “update”. If the script “update” is found, it is loaded to memory and executed.
So, to actually execute an update, e.g. an SD card should be prepared with a directo ry “update” on the first partition. Kontron provides an update e.g. for U-Boot as a compressed archive (zip, tar.bz2, tar.gz) which must be unpacked in the directory “update”.
After the SD card is inserted, U-Boot should be stopped at t he console after power-up. To man­ually start the update, enter the following command:
run update
In the case of a U-Boot update, only the standard SPI boot flash is updated. The script “netupdate” tries to load a U-Boot script “update/update” from the server. If found, it
is loaded to memory and executed as in the case of the SD card. As the script “netupdate” requires access to a server, the environment variable “serverip”
must be set correctly. Alternatively, it is possible to use the “dhcp” or “bootp” commands. An automatic run of the update script at every startup t akes place if the update script is st arted
in the preboot environment variable:
setenv preboot 'run update' saveenv

6.11 Recovery Mechanism

The are two SPI boot flashes available with each device holding a copy of U-Boot. In case the contents of the standard SPI boot flash have been corrupted (e.g. as a result of a power failure during an update), the IPMI subsystem detects the problem, switches the flashes and restarts the CPU. The board starts from the recovery SPI boot flash. In this st ate, the standard SPI boot flash can be programmed again with the “update” or “netupdate” scripts described in the previ­ous Chapter “6.9 Update”.
The update scripts provided ensure that prior to the update the standard SPI boot flash is se­lected and the U-Boot update image is available and correct.
The contents of the recovery SPI boot flash should never be updated in order to avoid a com­pletely inoperable system with no accessing capability.
P R E L I M I N A R Y
ID 1052-5678, Rev. 1.0 Page 47
Page 48
U-Boot Usage AM4150 U-Boot Bootloader
This page has been intentionally left blank.
P R E L I M I N A R Y
Page 48 ID 1052-5678, Rev. 1.0
Loading...