- No category
advertisement
» User Guide «
AM4150
U-Boot Bootloader
Doc. ID: 1052-5678, Rev. 1.0
July 27, 2012
If it’s embedded, it’s Kontron.
Preface AM4150 U-Boot Bootloader
Revision History
Publication Title: AM4150 U-Boot Bootloader User Guide
Doc. ID: 1052-5678
Rev.
Brief Description of Changes
1.0
Initial issue based on the following U-Boot version:
U-Boot 2011.09-01425-g8c4588b (Jun 20 2012 - 10:36:29)
Date of Issue
27-Jul-2012
Imprint
Kontron Modular Computers GmbH may be contacted via the following:
MAILING ADDRESS TELEPHONE AND E-MAIL
Kontron Europe GmbH
Sudetenstraße 7
D - 87600 Kaufbeuren Germany
+49 (0) 800-SALESKONTRON [email protected]
For further information about other Kontron products, please visit our Internet web site: www.kontron.com.
Disclaimer
Copyright © 2012 Kontron AG. All rights reserved. All data 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 owners and are recognized. Specifications are subject to change without notice.
Page 2 ID 1052-5678, Rev. 1.0
AM4150 U-Boot Bootloader Preface
Table of Contents
Introduction to U-Boot ................................................................11
Standard U-Boot Commands .....................................................11
Kontron-Specific Commands .....................................................14
flsw Command .......................................................................................... 15
fwum Command ........................................................................................ 18
kboardinfo Command ................................................................................ 20
kcs Command ............................................................................................ 21
sconf Command ......................................................................................... 26
tlbdbg Command ........................................................................................ 31
vpd Command ............................................................................................ 32
U-Boot Access and Startup ........................................................33
Environment ................................................................................34
Working with U-Boot ...................................................................34
Using the sconf Command ......................................................................... 34
ID 1052-5678, Rev. 1.0
Page 3
Preface AM4150 U-Boot Bootloader
Overview of Board Configuration Options .........................................35
Example of sconf Command Usage ................................................... 36
sconf info ...................................................................................36
sconf select ................................................................................ 37
sconf set .................................................................................... 37
sconf save reset ......................................................................... 38
sconf status ................................................................................ 38
Interface Selection ............................................................................. 39
ethprime .....................................................................................40
ethact ......................................................................................... 40
ethrotate .....................................................................................40
Contacting the Server ......................................................................... 41
Using the Onboard NAND Flash ................................................................. 43
Booting VxWorks ................................................................................ 45
Page 4 ID 1052-5678, Rev. 1.0
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 under the terms of version 2 of the GNU General Public License as published by the Free Software 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. Including 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 free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program 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 programs, 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 software (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.
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
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 understands that there is no warranty for this free software. If the software is modified by someone 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 patent 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). Whether 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 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.
You 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
AM4150 U-Boot Bootloader Preface
2.
You may modify your copy or 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, to 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 rights 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) Accompany 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) Accompany it with a written offer, 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, 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
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 accompanies 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 the source code from the same place counts as distribution of the source code, even though third parties are not 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 rights, 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 License, 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. You 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 conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy 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 whole 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
AM4150 U-Boot Bootloader Preface
This section is intended to make thoroughly clear what is believed to be a consequence 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 places 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 parts of the Program into other free 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 STATED 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, REPAIR 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, INCIDENTAL
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 INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR
A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN
IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
END OF TERMS AND CONDITIONS
ID 1052-5678, Rev. 1.0
Page 9
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 after our last shipment of this product. Please contact Kontron for further assistance in obtaining the source code.
Page 10 ID 1052-5678, Rev. 1.0
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 features 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 usage. 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 concerning 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 standard U-Boot commands tested by Kontron. Only the standard 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 chpart cmp coninfo cp cpu crc32 dhcp echo
?
base bdinfo boot bootd bootelf bootm bootp bootvx
COMMAND DESCRIPTION
Alias for 'help'
Print or set address offset
Print Board Info structure
Boot default, i.e., run 'bootcmd'
Boot default, i.e., run 'bootcmd'
Boot from an ELF image in memory
Boot application image from memory
Boot image via network using BOOTP/TFTP protocol
Boot vxWorks from an ELF image
Change active partition
Memory compare
Print console devices and information
Memory copy
Multiprocessor CPU boot manipulation and release
Checksum calculation
Boot image via network using DHCP/TFTP protocol
Echo args to console
ID 1052-5678, Rev. 1.0
Page 11
U-Boot Usage AM4150 U-Boot Bootloader
Table 1: Standard U- Boot Commands Configured for the AM4150 (continued) loop ls md mdio mii mm mmc fsload go grepenv help i2c iminfo imxtract interrupts irqinfo itest loadb loads loady false fatinfo fatload fatls fdt fsinfo editenv env
COMMAND errata exit ext2load ext2ls
Edit environment variable
MMC sub system
DESCRIPTION
Environment handling commands
Report errata workarounds
Exit script
Load binary file from an Ext2 filesystem
List files in a directory (default /)
Do nothing, unsuccessfully
Print information about filesystem
Load binary file from a dos filesystem
List files in a directory (default /)
Flattened device tree utility commands
Print information about filesystems
Load binary file from a filesystem image
Start application at address 'addr'
Search environment variables
Print command description/usage
I2C subsystem
Print header information for application image
Extract a part of a multi-image
Enable or disable interrupts
Print information about IRQs
Return true/false on integer compare
Load binary file over serial line (kermit mode)
Load S-Record file over serial line
Load binary file over serial line (ymodem mode)
Infinite loop on address range
List files in a directory (default /)
Memory display
MDIO utility commands
MII utility commands
Memory modify (auto-incrementing address)
Page 12 ID 1052-5678, Rev. 1.0
AM4150 U-Boot Bootloader U-Boot Usage
Table 1: Standard U- Boot Commands Configured for the AM4150 (continued) reset run sata saveenv saves setenv setexpr sf showvar sleep source test tftpboot
COMMAND mmcinfo mtdparts mtest mw nand nboot nfs nm pci ping printenv reginfo true ubi ubifsload ubifsls ubifsmount ubifsumount version
Display MMC info
Define flash/nand partitions
Simple RAM read/write test
Memory write (fill)
DESCRIPTION
NAND subsystem
Boot from NAND device
Boot image via network using NFS protocol
Memory modify (constant address)
List and access PCI Configuration Space
Send ICMP ECHO_REQUEST to network host
Print environment variables
Print register information
Perform RESET of the CPU
Run commands in an environment variable
SATA sub-system
Save environment variables to persistent storage
Save S-Record file over serial line
Set environment variables
Set environment variable as the result of eval expression
SPI flash subsystem
Print local hushshell variables
Delay execution for some time
Run script from memory
Minimal test like /bin/sh
Boot image via network using TFTP protocol
Do nothing, successfully ubi commands
Load file from an UBIFS filesystem
List files in a directory
Mount UBIFS volume
Unmount UBIFS volume
Print monitor, compiler and linker version
ID 1052-5678, Rev. 1.0
Page 13
U-Boot Usage AM4150 U-Boot Bootloader
3.
Kontron-Specific Commands
Kontron’s implementation of U-Boot includes certain enhancements to provide specific functions 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 flsw
COMMAND fru fwum kboardinfo kcs md5sum sconf tlbdbg vpd
DESCRIPTION
FLash SWitch
Indicates or selects the currently active SPI boot flash
Field Replaceable Unit
Provides read/write access to the board’s FRU repository as well as displaying FRU data
FirmWare Update Manager
Provides functions for managing and updating the module’s MMC firmware
Kontron Board Information
Displays a summary of board and configuration information
Access to the Keyboard Controller-Style Interface
Sends raw IPMI commands via the KCS interface
Message digest 5 checksum
Creates or checks the md5 message digest over a memory area
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)
Translation Look-aside Buffer DeBuG
Displays current configuration of TLB0 and TLB1
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.
Page 14 ID 1052-5678, Rev. 1.0
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 currently 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:
=> flsw s
=>
ID 1052-5678, Rev. 1.0
Page 15
U-Boot Usage AM4150 U-Boot Bootloader
3.2
fru Command
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 specified 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 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.
USAGE: Query FRU data for FRU 0
COMMAND / RESPONSE:
=> fru info 0
FRU 0 size is 0x1000 bytes
=>
Page 16 ID 1052-5678, Rev. 1.0
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
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:
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
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
=>
Perform manual rollback of MMC firmware
COMMAND / RESPONSE:
=> fwum rollback
Firmware rollback initiated
=>
ID 1052-5678, Rev. 1.0
Page 19
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
=>
Page 20 ID 1052-5678, Rev. 1.0
AM4150 U-Boot Bootloader U-Boot Usage
3.5
kcs Command kcs
FUNCTION: Provides capability for transmitting raw IPMI commands from the payload 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 message 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).
ID 1052-5678, Rev. 1.0
Page 21
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 about
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
=>
Page 22 ID 1052-5678, Rev. 1.0
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
Device Revision
Firmware Revision
IPMI Version
Manufacturer ID
Manufacturer Name
Product ID
: 16
: 0
: 2.49
: 1.5
: 15000
: Kontron
: 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
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.
If the optional 3 rd
parameter <checksum-address> is omitted, the md5 message digest is calculated over the specified memory range and printed to the console.
If the optional 3 rd
parameter <checksum-address> is specified, the md5 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 used within scripts.
The md5 message digest at <cksum-address> may be specified in
ASCII or binary format.
USAGE: Calculate an md5 message digest
COMMAND / RESPONSE:
=> md5sum 100000 80000
8fe7006660a2df2265b7cd707eb98786
=>
Page 24 ID 1052-5678, Rev. 1.0
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
U-Boot Usage AM4150 U-Boot Bootloader
3.7
sconf Command sconf
FUNCTION: 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)
SYNTAX: sconf info|…
select <num>|…
set [<par> <val>]|…
status|…
save [reset]|…
undo|…
where: sconf command info option: displays available configurations select option: selects base configuration <num>
<num> parameter:
<0, 1, ... n> number of base configuration set option: indicate or configure parameter for new base configuration
[<par>] parameter:
<…> parameter for new base configuration
[<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
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
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 0 Port 1 Port 2 Port 3
Config |
**[ 0]**|
|
Port 4
..7
Port 8
..11
========+-==========================================================
|
GbE [GbE] SATA -SRIO [@5.0] SRIO [@5.0]
GbE [GbE] SATA -SRIO @3.125
SRIO @3.125
< 1> |
|
< 2> |
|
GbE [GbE] SATA -SRIO [@5.0] GbE [2x1]
GbE [GbE] SATA -PCIE[Gen.2] PCIE [Gen.2] < 3> |
|
< 4> |
|
< 5> |
|
GbE
GbE
[GbE]
[GbE]
SATA
SATA
--
--
PCIE[Gen.2]
PCIE[Gen.2]
GbE [2x1]
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 / Setting | Value # command, option <and parameter>
-----------------------------------------------------------
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
Port 4
: auto
: auto
# sconf set
# sconf set port 2 port 4
< auto | disable | enable>
< auto | disable | enable>
Port 8 speed : @5.0
# sconf set port 4 < @5.0 | @2.5 >
: 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
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 / Setting | Value # command, option <and parameter>
-----------------------------------------------------------
DTSEC4 routing : port1 # sconf set dtsec4 <port1 | front>
SRIO Sys.Size : large # sconf set
SRIO mode : agent # sconf set srio <small | large> 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> 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:
sconf disables E-Keying:
sconf deactivated by DIP SW:
Configuration (stored) is active:
AMC Base Configuration:
=> managed (E-Keying) no no
0
ID 1052-5678, Rev. 1.0
Page 29
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
=>
Page 30 ID 1052-5678, Rev. 1.0
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
=>
ID 1052-5678, Rev. 1.0
Page 31
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 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.
USAGE: Display all VPD entities
COMMAND / RESPONSE:
=> vpd print
<response: displays all VPD entities>
=>
Page 32 ID 1052-5678, Rev. 1.0
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.
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
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 provides 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 possible, 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 separates the commands which handle the loading of data 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 response to evolving application requirements, the “sconf” command has been designed to provide 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:
• “sconf” base configuration: 0
• SRIO system size: small
• SRIO interface mode:
• GbE (DTSEC4): agent port 1
To obtain information about the currently active configuration, invoke the “sconf status” command.
Page 34 ID 1052-5678, Rev. 1.0
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
FURTHER BOARD CONFIGURATION OPTIONS
DEPENDING ON THE BASE CONFIGURATION
“sconf”
Base
Conf.
0
0
1
2
3
4
5
1 2
AMC PORT
3 4 - 7 8 - 11
GbE
DTSEC4
SRIO
Sys.
Size
GbE [GbE] SATA SATA /
--
SRIO
[@5.0]
GbE [GbE] SATA SATA /
--
SRIO
@3.125
GbE [GbE] SATA SATA /
--
SRIO
[@5.0]
GbE [GbE] SATA SATA /
--
PCIE
[Gen.2]
GbE [GbE] SATA SATA /
--
PCIE
[Gen.2]
GbE [GbE] SATA SATA /
--
PCIE
[Gen.2]
SRIO
[@5.0]
SRIO@
3.125
GbE,
GbE,
[GbE],
--
PCIE
[Gen.2]
GbE,
GbE,
[GbE],
--
PCIE,
GbE,
[GbE],
-port 1 / front port 1 / front port 1 / port 10 / front port 1 / front port 1 / port 10 / front port 1 / port 10 / front small / large small / large small / large
--
--
--
SRIO
Mode
FCLKA
PCIe
Ref.
Clock
Ports
4 - 7
Speed
Options
Ports
8 - 11
Speed
Options host / agent host / agent host / agent
--
--
--
@5.0 /
@2.5
--
@5.0 /
@3.125 /
@2.5
@5.0 /
@2.5
--
--
--
--
-auto / in / out / local auto / in / out / local auto / in / out / local
@5.0 /
@2.5
@5.0 /
@2.5
@5.0 /
@2.5
@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 connector (FCLKA)
• out: AM4150 uses the local PCI Express reference clock and generates the PCI Express reference clock to the AMC Card-edge connector (FCLKA)
• local: AM4150 uses the local PCI Express reference clock and the AMC clock
(FCLKA) is disabled
ID 1052-5678, Rev. 1.0
Page 35
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 0 Port 1 Port 2 Port 3 Port 4 Port 8
Config | ..7
..11
========+-============================================================
|
GbE [GbE] SATA -SRIO [@5.0] SRIO [@5.0] **[ 0]**|
|
< 1> | GbE [GbE] SATA -SRIO @3.125
SRIO @3.125
|
< 2> |
|
< 3> |
|
< 4> |
|
< 5> |
|
GbE
GbE
GbE
GbE
[GbE]
[GbE]
[GbE]
[GbE]
SATA
SATA
SATA
SATA
--
--
--
--
SRIO [@5.0]
PCIE [Gen.2]
PCIE [Gen.2]
PCIE [Gen.2]
GbE [2x1]
PCIE[Gen.2]
GbE [2x1]
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 / Setting | Value # command, option <and
-------------------------------------------------------------
DTSEC4 routing : port1 # sconf set dtsec4 <port1 | front>
SRIO Sys.Size : large # sconf set
SRIO mode : agent # sconf set srio srio
<small | large>
<agent | host >
AMC Port Activation / Forced settings (ignoring E-Keying):
Option / Setting | Value # command, option <and
-------------------------------------------------------------
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 36 ID 1052-5678, Rev. 1.0
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 / Setting | Value # command, option <and
-------------------------------------------------------------
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
-------------------------------------------------------------
Port 2
Port 4
Port 8
: auto
: auto
#
# sconf set sconf set port 2 port 4
< auto | disable | enable>
< auto | disable | enable> speed : @5.0
# sconf set port 4 < @5.0 | @2.5 >
: 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 dtsec4 front
=>
ID 1052-5678, Rev. 1.0
Page 37
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 following example shows that a system power cycle is required.
=> sconf status
Configuration (Activation) Status:
Module is running:
sconf disables E-Keying:
sconf deactivated by DIP-SW:
Configuration is not active:
Save operation required:
Power On Reset required:
System Power Cycle required:
Active AMC Base Configuration:
Stored AMC Base Configuration:
‘New’ AMC Base Configuration:
=> managed (E-Keying) no no
2
2 no no yes n.a.
The following is an example of the output shown after a successfully completed system power cycle.
=> sconf status
Configuration (Activation) Status:
Module is running:
sconf disables E-Keying:
sconf deactivated by DIP-SW:
Configuration (stored) is active:
Stored AMC Base Configuration:
=> managed (E-Keying) no no
2
Page 38 ID 1052-5678, Rev. 1.0
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
0, 1, 3 FM1@DTSEC3
FM1@DTSEC4
2, 4
5
FM1@DTSEC5
FM1@DTSEC1
FM1@DTSEC2
FM1@DTSEC3
FM1@DTSEC4
FM1@DTSEC5
FM1@DTSEC2
FM1@DTSEC3
FM1@DTSEC4
FM1@DTSEC5
AMC PORT / CONNECTOR
Front panel connector J3 (GbE A)
Either AMC port 1 or front panel connector J2
(GbE B), depending on the setting of
“sconf set dsec4 [port1/front]”
AMC port 0
AMC port 8
AMC port 9
Front panel connector J3 (GbE A)
Either AMC port 1, AMC port 10 or front panel connector J2 (GbE B), depending on the setting of “sconf set dsec4 [port1/port10/front]”
AMC port 0
AMC port 9
Front panel connector J3 (GbE A)
Either AMC port 1, AMC port 10 or front panel connector J2 (GbE B), depending on the setting of “sconf set dsec4 [port1/port10/front]”
AMC port 0
ID 1052-5678, Rev. 1.0
Page 39
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
“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 accordingly and tries to download 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 available 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
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 variable “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.
ID 1052-5678, Rev. 1.0
Page 41
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.
Page 42 ID 1052-5678, Rev. 1.0
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
ID 1052-5678, Rev. 1.0
Page 43
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 processor’s SPI controller chip select 3).
The SPI flash must be erased before it is programmed. To achieve this, use the “sf erase” command.
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 “filesize” is set automatically when a file is loaded to memory and can be used for convenience here.
6.8
6.8.1
Booting an OS
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 default environment:
• “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
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. The special header 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 containing the VxWorks (ROM-able) binary image will be generated in the project default build folder with the following naming conventions:
U-BOOT “uImage” NAME uImage.bootrom.bin
VXWORKS IMAGE NAME 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 image 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 sequences, 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 documentation.
ID 1052-5678, Rev. 1.0
Page 45
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
=>
Page 46 ID 1052-5678, Rev. 1.0
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 partition 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 directory “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 the console after power-up. To manually 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 takes place if the update script is started 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 state, the standard SPI boot flash can be programmed again with the “update” or “netupdate” scripts described in the previous Chapter “6.9 Update”.
The update scripts provided ensure that prior to the update the standard SPI boot flash is selected 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 completely inoperable system with no accessing capability.
ID 1052-5678, Rev. 1.0
Page 47
U-Boot Usage AM4150 U-Boot Bootloader
This page has been intentionally left blank.
Page 48 ID 1052-5678, Rev. 1.0
advertisement
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Related manuals
advertisement
Table of contents
- 2 Revision History
- 2 Imprint
- 2 Disclaimer
- 3 Table of Contents
- 5 Copyrights and Licensing
- 10 Obtaining Source Code
- 11 1. Introduction to U-Boot
- 11 2. Standard U-Boot Commands
- 14 3. Kontron-Specific Commands
- 15 3.1 flsw Command
- 16 3.2 fru Command
- 18 3.3 fwum Command
- 20 3.4 kboardinfo Command
- 21 3.5 kcs Command
- 24 3.6 md5sum Command
- 26 3.7 sconf Command
- 31 3.8 tlbdbg Command
- 32 3.9 vpd Command
- 33 4. U-Boot Access and Startup
- 34 5. Environment
- 34 6. Working with U-Boot
- 34 6.1 General Operation
- 34 6.2 Using the sconf Command
- 35 6.2.1 Overview of Board Configuration Options
- 36 6.2.2 Example of sconf Command Usage
- 39 6.3 Using the Network
- 39 6.3.1 Interface Selection
- 41 6.3.2 Contacting the Server
- 41 6.4 Using SD Cards
- 42 6.5 Using SATA Devices
- 43 6.6 Using the Onboard NAND Flash
- 44 6.7 Using the SPI Flash for OS
- 44 6.8 Booting an OS
- 44 6.8.1 Booting Linux
- 45 6.8.2 Booting VxWorks
- 46 6.9 Getting Help
- 47 6.10 Update
- 47 6.11 Recovery Mechanism