AM4150 U-Boot Bootloader User Guide, Rev. 1.0

Add to my manuals
48 Pages

advertisement

AM4150 U-Boot Bootloader User Guide, Rev. 1.0 | Manualzz

» 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

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

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

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

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

Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Related manuals