This document contains information proprietary to Kontron. It may not be copied or transmitted by any means, disclosed to
others, or stored in any retrieval system or media without the prior written consent of Kontron or one of its authorized
agents.
The information contained in this document is, to the best of our knowledge, entirely correct. However, Kontron cannot
accept liability for any inaccuracies or the consequences thereof, or for any liability arising from the use or application of
any circuit, product, or example shown in this document.
Kontron reserves the right to change, modify, or improve this document or the product described herein, as seen fit by Kontron without further notice.
Trademarks
Kontron and the Kontron logo are trade marks owned by Kontron AG, Germany. In addition, this document may include
names, company logos and trademarks, which are registered trademarks and, therefore, proprietary to their respective
owners.
Environmental Protection Statement
This product has been manufactured to satisfy environmental protection requirements where possible. Many of the com-
ponents used (structural parts, printed circuit boards, connectors, batteries, etc.) are capable of being recycled.
Final disposition of this product after its service life must be accomplished in accordance with applicable country, state, or
local la
ws or regulations.
General Instructions on Usage
In order to maintain Kontron’s product warranty, this product must not be altered or modified in any way. Changes or mod-
ifications to the device, which are not explicitly approved by Kontron and described in this manual or received from Kontron’s Technical Support as a special handling instruction, will void your warranty.
This device should only be installed in or connected to systems that fulfill all necessary technical and specific environmental requirements. This applies also to the operational temperature range of the specific system version, which must not be
exceeded. If batteries are present their temperature restrictions must be taken into account.
In performing all necessary installation and application operations, please follow only the instructions supplied by the
present manual.
Keep all the original packaging material for future storage or warranty shipments. If it is necessary to store or ship the system, please re-pack it as nearly as possible in the manner in which it was delivered.
Special care is necessary when handling or unpacking the product. Please consult the special handling and unpacking
instruction on the previous page of this manual.
Two Year Warranty
Kontron grants the original purchaser of Kontron’s products a TWOYEARLIMITEDHARDWAREWARRANTYas described in the following. However, no other warranties that may be granted or implied by anyone on behalf of Kontron are valid unless the consumer has the express written consent of Kontron.
Kontron warrants their own products, excluding software, to be free from manufacturing and material defects for a period
of 24 consecutive months from the date of purchase. This warranty is not transferable nor extendible to cover any other
users or long-term storage of the product. It does not cover products which have been modified, altered or repaired by any
other party than Kontron or their authorized agents. Furthermore, any product which has been, or is suspected of being
damaged as a result of negligence, improper use, incorrect handling, servicing or maintenance, or which has been damaged as a result of excessive current/voltage or temperature, or which has had its serial number(s), any other markings or
parts thereof altered, defaced or removed will also be excluded from this warranty.
If the customer’s eligibility for warranty has not been voided, in the event of any claim, he may return the product at the
earliest possible convenience to the original place of purchase, together with a copy of the original document of purchase,
a full description of the application the product is used on and a description of the defect. Pack the product in such a way as
to ensure safe transportation (see our safety instructions).
9
www.kontron.com
COMe-P2020 User Guide
Kontron provides for repair or replacement of any part, assembly or sub-assembly at their own discretion, or to refund the
original cost of purchase, if appropriate. In the event of repair, refunding or replacement of any part, the ownership of the
removed or replaced parts reverts to Kontron, and the remaining part of the original guarantee, or any new guarantee to
cover the repaired or replaced items, will be transferred to cover the new or repaired items. Any extensions to the original
guarantee are considered gestures of goodwill, and will be defined in the “Repair Report” issued by Kontron with the
repaired or replaced item.
Kontron will not accept liability for any further claims resulting directly or indirectly from any warranty claim, other than
the above specified repair, replacement or refunding. In particular, all claims for damage to any system or process in which
the product was employed, or any loss incurred as a result of the product not functioning at any given time, are excluded.
The extent of Kontron liability to the customer shall not exceed the original purchase price of the item for which the claim
exists.
Kontron issues no warranty or representation, either explicit or implicit, with respect to its products’ reliability, fitness,
quality, marketability or ability to fulfil any particular application or purpose. As a result, the products are sold “as is,” and
the responsibility to ensure their suitability for any given task remains that of the purchaser. In no event will Kontron be
liable for direct, indirect or consequential damages resulting from the use of our hardware or software products, or documentation, even if Kontron were advised of the possibility of such claims prior to the purchase of the product or during any
period since the date of its purchase.
Please remember that no Kontron employee, dealer or agent is authorized to make any modification or addition to the
above specified terms, either verbally or in any other form, written or electronically transmitted, without the company’s
consent.
10
www.kontron.com
COMe-P2020 User Guide
1Introduction
1.1COMe-cP2020 Overview
The COMe-cP2020 is a COM Express® form factor compliant Power Architecture® processor module based on Freescale's
QorIQ™ 32-bit P2020 processor.
Designed in the COM Express® basic (95 mm x 95 mm) form factor the module incorporates the Freescale QorIQ P2020 dualcore Power Architecture® processor operating up to 1.2 GHz - other processor versions (P2010, P1020 and P1011) and
operating speeds are available on request. Featuring 32-bit technology, it integrates up to 4 GByte of soldered DDR3
SDRAM at 667 MHz and ECC support. 512 KBytes of shared second level cache facilitate core-to-core communications to
minimize accesses to main memory.
Up to 2 GByte of NAND Flash as well as a socket for MicroSD card offer reliable storage space for application data. In terms
of I/Os, the module interfaces the QorIQ-specific I/Os to the carrier board. In addition to USB 2.0 ports there are also UART
(TxD, RxD, RTC and CTS) and Gigabit Ethernet interfaces.
Flexible interface support is guaranteed by 4 SERDES lanes, which can be configured according to application-specific
needs. A comprehensive range of different combinations, for example as PCIe x4, sRIO x4 and Serial Gigabit Media Independent Interface (SGMII) is available.
The COMe-cP2020 targets high-bandwidth telecommunication and data processing applications. With its long-term availability of more than 10 years, it is also a good fit to be used in long life cycle network applications in the medical, military
and transportation markets.
Kontron offers two modules in standard and extended temperature range:
• COMe-cP2020c
• P2020NSN2MFC 1200 MHZ
• 2 GByte 667 MHz DDR3 Memory
•1 GByte NAND
• 0°C - 60 °C Ambient Temperature
• Standard COMe Heatspreader
• COMe-cP2020i
• P2020NXN2KFC 1000 MHZ
• 2 GByte 667 MHz DDR3 Memory
•1 GByte NAND
• -40°C - 85 °C Ambient Temperature
• Extended 95x95 mm Forced Air Cooling Heatsink
11
www.kontron.com
1.2Board Diagrams
SPI-NOR
FLASH
2x 8Mb
DDR3 SDRAM
1/2/4 GB w ECC
9x DDR3 x8
1 bank solder ed
COM eP2020:COM Expressm odulebasedonQorIQP2020
DIP SwitchTwo DIP switches for board configuration, SW1/SW2, consisting of two
Switch
Module Health Monitor
LEDs
LEDs
switches
CPLD HEALTY D4: indicates by blinking CPLD is active
LED0 D5:indicates U-Boot boot failure
LED1 D6: indicates CPU reset is asserted
LED2 D7: not used
LED3 D3: indicates Power-Good failure
15
www.kontron.com
Table 1-1:COMe-cP2020 Main Specifications (Continued)
COMe-cP2020SPECIFICATIONS
Watchdog TimerSoftware-configurable, two-stage Watchdog with programmable timeout
ranging from 125 ms to 4096 s in 16 steps
Serves for generating IRQ or hardware reset
TIMER
System TimerThere are several timers implemented in the CPU. For further information
regarding these timers, refer to the CPU reference manual from Freescale.
Thermal MonitoringCPU and board temperature is provided by one onboard temperature sensor
for monitoring the board temperature
THERMAL
Power ConsumptionRefer to Chapter 5, “Power Considerations” for information related to the
power consumption of the COMe-cP2020.
COMe-P2020 User Guide
Temperature RangeOperational:
• 0°C to +60°C (Standard Version)
• -40°C to +85°C (Extended Temperature Version)
Storage: -40°C to +70°C
GENERAL
MechanicalCOM Express®compact
Dimensions95 mm x 95 mm
Board Weight99 grams (without heatspreader)
220 grams (with heatspreader)
BootloaderDENX U-Boot (Universal Boot Loader) with Kontron-specific modifications to
support the COMe-cP2020 requirements
Operating SystemsThe board is offered with various Board Support Packages including VxWorks
SOFTWARE
and Linux operating systems. For further information concerning the operating systems available for the COMe-cP2020, please contact Kontron.
16
www.kontron.com
1.4 Standards
The COMe-cP2020 complies with the requirements of the following standards.
Table 1-2:Standards
COMPLIANCETYPESTANDARDTEST LEVEL
COMe-P2020 User Guide
CEEmissionEN55022
EN61000-6-3
ImmissionEN55024
EN61000-6-2
Electrical SafetyEN60950-1--
Railway SafetyElectrical SafetyEN50155--
MechanicalMechanical DimensionsCOM Express® com-
pact
Environmental
and Health
Vibration
(sinusoidal, operating)
EN 50155
IEC 60068-2-6
Aspects
VITA 47
Shock (operating)EN 50155Class 1B
Bump
Operating
IEC
60068-2-29
--
--
--
Class 1B
Frequency:10 - 300 Hz
Acceleration: 5 g
Class V1
5 to 100Hz
~2g RMS
Peak Accel.: 15 g
Shock Dur.: 11 ms half sine
Shock Count: 500
Climatic HumidityIEC60068-2-7893% RH at 40°C, non-condensing
(see notice below)
WEEEDirective 2002/96/ECWaste electrical and electronic
equipment
RoHS-IIDirective 2011/65/ECRestriction of the use of certain
hazardous substances in electrical and electronic equipment
17
www.kontron.com
Kontron performs comprehensive environmental testing of its products in accordance with applicable standards.
Customers desiring to perform further environmental testing of Kontron products must contact
Kontron for assistance prior to performing any such testing. This is necessary, as it is possible
that environmental testing can be destructive when not performed in accordance with the applicable specifications.
In particular, for example, boards without conformal coating must not be exposed to a change of
temperature exceeding 1K/minute, averaged over a period of not more than five minutes. Otherwise, condensation may cause irreversible damage, especially when the board is powered up
again.
Kontron does not accept any responsibility for damage to products resulting from destructive
environmental testing.
1.5Related Publications
COMe-P2020 User Guide
NOTICE
Table 1-3:Related Publications
SPECIFICATION /
ORGANIZATION
PUBLICATION
COM ExpressPICMG® COM.0, COM Express® Module Base Specification, Revision 2.0, August 8, 2010
Freescale, Kontron and Emerson Common Pinout Definition
PCI ExpressPCI Express Base Specification Revision 2.0, Dec. 20, 2006
Serial RapidIO
RapidIO
™ Interconnect Specification Part 6: LP-Serial Physical Layer Specification,
Rev. 2.0.1, March 2008
EthernetIEEE802.3: Part 3: Carrier Sense Multiple Access with Collision Detection (CSMA/CD)
Access Method and Physical Layer Specification, Clause 22
Platform FirmwareDENX “U-Boot” (Universal Boot Loader) online documentation at www.denx.de
KontronKontron’s Product Safety and Implementation Guide, ID 1021-9142
18
www.kontron.com
COMe-P2020 User Guide
2Functional Description
2.1Processor
The COMe-cP2020 supports the high-performance, 32-bit, 45nm dual-core Freescale QorIQ P2020 processor with the following functions and features:
• Two e500v2 cores built on Power Architecture technology, running up to 1.2 GHz clock speed
• 512 Kbyte shared level two cache
• One 64-bit DDR3 SDRAM memory controllers with ECC and chip-select interleaving support
• Data path acceleration architecture incorporating acceleration for Packet-/Buffer- and Queue-Management
• Three 1 Gbps Ethernet controllers
• Up to three PCI Express 1.0a controllers/ports running at 2.5 Gbps
• Two serial RapidIO controllers/ports version 1.2 running at up to 3.125 Gbps
• One ULPI controller
• One SD/MMC controller
• One SPI controller
• Two I2C controllers
• Two DUARTs
• One enhanced local bus controller
• Multicore programmable interrupt controller
2.2Memory
2.2.1DDR3
The COMe-cP2020 supports a soldered, single-channel (72-bit), Double Data Rate (DDR3) memory with Error Checking and
Correcting (ECC) running at up to 800 MHz (memory error detection and reporting of 1-bit and 2-bit errors and correction
of 1-bit failures). The available memory configuration can be either 1 GB, 2 GB or 4 GB.
2.2.2Flash Memory
2.2.2.1SPI Boot Flash
The COMe-cP2020 provides two 2 MB SPI boot flashes for two separate U-Boot images, a standard SPI boot flash and a
recovery SPI boot flash. The fail-over mechanism for the U-Boot recovery can be controlled via the DIP switch SW1, switch
1. Refer to Chapter 6.10 for further information.
The SPI boot flashes include a hardware write protection option. If write protection is enabled, writing to the SPI boot
flashes is not possible.
N O T I C E
19
The U-Boot code and settings are stored in the SPI boot flashes. Changes made to the U-Boot settings are available only in the currently selected SPI boot flash. Thus, switching over to the other
SPI boot flash may result in operation with different U-Boot code and settings.
www.kontron.com
COMe-P2020 User Guide
2.2.2.2SPI OS/User Flash
The COMe-cP2020 supports 8 MB of soldered flash memory for the OS.
2.2.2.3NAND Flash
The COMe-cP2020 supports up to 2 GB of soldered NAND flash memory, which is an SLC-based NAND flash. It is optimized for
embedded systems providing high performance, reliability and security.
2.2.2.4MRAM Memory
The COMe-cP2020 supports 512 kB of MRAM memory (Magnetorestrictive Random Access Memory) for fast non-volatile
data storage (optional).
2.2.2.5SDHC Socket
The COMe-cP2020 is provided with a microSDHC card socket, J1, which accepts microSD and microSDHC cards up to 32 GB. If
used, the card must be installed prior to installation of the COMe-cP2020 in a system.
If the SDHC interface is routed to the COM Express connector (via DIP switch SW1, switch [1]), the onboard socket J1 cannot
be used.
2.2.3System/User Data EEPROMs
The COMe-cP2020 provides two 64-kBit EEPROMs, one for system data storage and one which is free for user data storage.
The user data EEPROM is accessible via the OS or an application. The system data EEPROM is reserved for system usage.
2.3Timer
The COMe-cP2020 is equipped with the following timer:
• Real-Time Clock (RTC)
The COMe-cP2020 is equipped with an onboard high-precision real-time clock RV-8564-C3. The RV-8564-C3 RTC is registercompatible with the PCF8564A RTC from Philips/NXP. In addition, it provides a very tight frequency tolerance at low power
consumption. The COMe-cP2020 does not include a 3 V lithium battery or a GoldCap power source for RTC backup. Power for
the RTC is supplied by the carrier via the VCC_RTC pin.
2.4Watchdog Timer
The COMe-cP2020 provides a Watchdog timer that is programmable for a timeout period ranging from 125 ms to 4096 s in
16 steps. Failure to trigger the Watchdog timer in time results in a interrupt or a system reset or both. In dual-stage mode,
it results in a combination of both interrupt and reset if the Watchdog is not serviced. A hardware status flag will be provided to determine if the Watchdog timer generated the reset. Refer to the Watchdog Timer Control Register (WTIM) in
Chapter 3 for further information.
There are four possible modes of operation involving the Watchdog timer:
• Timer only mode
• Reset mode
• Interrupt mode
• Dual stage mode
At power on the Watchdog is not enabled. If required, the bits of the Watchdog Timer Control Register must be set according
to the application requirements. To operate the Watchdog, the mode and time period required must first be set and then
the Watchdog enabled. Once enabled, the Watchdog can only be disabled or the mode changed by powering down and then
up again. To prevent a Watchdog timeout, the Watchdog must be retriggered before timing out. This is done by writing a ‘1’
to the WTR bit. In the event a Watchdog timeout does occur, the WTE bit is set to ‘1’. What transpires after this depends on
the mode selected.
20
www.kontron.com
COMe-P2020 User Guide
The four operational Watchdog timer modes can be configured by the WMD[1:0] bits, and are described as follows:
Timer only mode - In this mode the Watchdog is enabled using the required timeout period. Normally, the Watchdog is
retriggered by writing a ‘1’ to the WTR bit. In the event a timeout occurs, the WTE bit is set to ‘1’. This bit can then be polled
by the application and handled accordingly. To continue using the Watchdog, write a ‘1’ to the WTE bit, and then retrigger
the Watchdog using WTR. The WTE bit retains its setting as long as no power down-up is done. Therefore, this bit may be
used to verify the status of the Watchdog.
Reset mode - This mode is used to force a hard reset in the event of a Watchdog timeout. In addition, the WTE bit is not reset
by the hard reset, which makes it available if necessary to determine the status of the Watchdog prior to the reset.
Interrupt mode - This mode causes the generation of an interrupt in the event of a Watchdog timeout. The interrupt handling is a function of the application. If required, the WTE bit can be used to determine if a Watchdog timeout has occurred.
Dual stage mode - This is a complex mode where in the event of a timeout two things occur: 1) an interrupt is generated,
and 2) the Watchdog is retriggered automatically. In the event a second timeout occurs following the first timeout, a hard
reset will be generated. The second timeout period is the same as the first. If the Watchdog is retriggered normally as specified above, operation continues. The interrupt generated at the first timeout is available to the application to handle the
first timeout if required. As with all of the other modes, the WTE bit is available for application use.
Pin B27 on the COM Express® J1 connector offers a signal that can be asserted when a Watchdog timer has not been triggered within time. It can be configured to any of the 2 stages. Deassertion of the signal is automatically done after reset. If
deassertion during runtime is necessary please contact Kontron for further assistance.
not connect any external Pullup or
Pulldown resistor)
32
www.kontron.com
COMe-P2020 User Guide
2.5.2Signal Descriptions COM Express Connectors
2.5.2.1Ethernet (Group GigE MDI)
The COMe-cP2020 module provides three Gigabit Ethernet interface whose signals are already at copper Ethernet transmission voltage levels (physical levels / MDI) in accordance to the COM Express Base Specification. So the carrier board needs
to add only the galvanic isolation (magnetics) function and the appropriate transmission connector type.
Additionally, for monitoring and control purposes, LED functionality is provided to indicate activity (GBE[0..2]), Ethernet
link (GBE[0..2]_LINK#), Ethernet speed 100Mbit/s (GBE[0..2]_LINK100#) and Ethernet speed 1000Mbit/s
(GBE[0..2]_LINK1000#).
Reference voltage for carrier board Ethernet magnetics center tap is not required.
2.5.2.2Ethernet Management (ETH MGT)
The management communication between the Ethernet MACs and the external connected Ethernet PHYs is realized by using
the signal group ETH MGT (EC_MDC, EC_MDIO).
2.5.2.3IEEE 1588
The Freescale QorIQ CPUs provide support for the Ethernet Precision Time Protocol (PTP) defined in the IEEE 1588 specification. In order to utilize this functionality the CPUs provide additional IEEE 1588 time stamp signals. For a more detailed
description of those signals please refer to the CPU’s reference manual.
2.5.2.4SerDes
The signal group SerDes reflects all the high speed low voltage differential signals provided by the CPU. The SerDes signals
are grouped into so called lanes and links.
A set of differential signal pairs, one pair for transmission and one pair for reception is called a lane. One or more lanes
together form a link which can support various logical protocols such as: PCIe, sRIO, SGMII.
The P2020 Processor provides 4 SerDes lanes (lane #0 to lane #3). SerDes lanes #1 to #3 are configurable. Each lane can be
switched via on-board multiplexer to different COMe connector SerDes Ports. The multiplexer are controlled by CPLD, see
chapter xxx User SerDes Multiplexer Control Register. The P2020 SerDes lane routing is shown in the following table.
Table 2-6:P2020 SerDes Lane Routing
P2020 SerDesCOMe Connector Port
CPLD
Control Line
Lane #1SERDES_TX/RX[1]+/-SERDES_TX/RX[4]+/-
Lane #2SERDES_TX/RX[2]+/-SERDES_TX/RX[10]+/-
Lane #3SERDES_TX/RX[3]+/-SERDES_TX/RX[11]+/-
The logical protocols which run on the SerDes lanes are specified by strapping options P2020 CPU read at system powerup.
To obtain a complete overview about all theoretical protocol combinations, please refer to the Freescale "P5020 QorIQ
Integrated Multicore Communication Processor Family Reference Manual", Chapter 3.5.11 "SerDes Lane Assignments and
Multiplexing".
To handle the SerDes configuration in a more comfortable way, Kontron provides the configuration tool “sconf”. “sconf”
provides a very easy way to configure the functionality of the SerDes lanes. Refer to Chapter 6, "U-Boot" for further information.
CPLD
Control Line#
33
www.kontron.com
The following SerDes protocol combinations can be selected by using the “sconf” command:
Table 2-7:SerDes Protocol Mapping
COMe-CONNECTOR
COMe-P2020 User Guide
BASE
CON-
FIG.
SERDES_
TX/RX[0]+/-
SERDES_
TX/RX[1]+/-
SERDES_
TX/RX[2]+/-
SERDES_
TX/RX[3]+/-
SERDES_
TX/RX[4]+/-
SERDES_
TX/RX[10]+/-
SERDES_
TX/RX[11]+/-
1offoffoffoffoffoffoff
2PCIex1offoffoffPCIex1PCIex2
3PCIex2 offoffoffPCIex2
4PCIex1offoffoffPCIex1SGMIISGMII
5PCIex2 offoffoffSGMIISGMII
6PCIex1offoffoffSRIOx1SGMIISGMII
7SRIOx1offoffoffSRIOx1SGMIISGMII
8SRIOx4offoffoff
2.5.2.5Local Bus / GPIO
2.5.2.5.1Local Bus
The COMe-cP2020 provides a local bus interface for connecting directly memory mapped parallel bus devices (SRAM-style).
The Local Bus implementation on the COMe-cP2020 supports 8-bit and 16-bit data signal paths depending on the Local Bus
chip select configuration and an 8Mbyte address range for each of the two Local Bus chip selects.
The Local Bus signals designated as LAD0..15 incorporate multipexed address and data information, whereby the Local Bus
signals LA16..31 are dedicated address lines. Please be aware that external address latches must be provided on the
LAD8..15 lines if an address range greater than 64kB is to be addressed.
The numbering scheme for the Local Bus LA/LAD pins is noted in Power Architecture style, meaning that LAD0 is the most
significant bit and LA31 is the least significant bit.
For a better understanding of the QorIQ P2020 Local Bus functionality and all the involved control signals please refer to
the CPU’s reference manual.
2.5.2.5.2GPIO
The COMe-cP2020 provides the possibility to convert part of the Interrupt signals to GPIO functionality. There are 5 signals
on the COM Express connector which can be multiplexed between Interrupt functionality and GPIO functionality.
2.5.2.6USB
The COMe-cP2020 supports four USB 2.0 high speed USB ports.
The USB ports USB0..3 at the COM Express connectors are provided using a 4-port USB hub with its Uplink-Port connected
via an external USB-PHY to the USB controller ULPIO-Interface on the QorIQ P2020.
2.5.2.7SDHC (SDIO)
The Freescale QorIQ CPUs incorporate an enhanced Secure Digital Host Controller (eSDHC) which provides support for MultiMediaCards (MMC) and Secure Digital (SD) Cards.
The interfacing signals of the CPU are multiplexed between the on-board SD card socket and the dedicated SDIO signals on
the COM Express connectors. The selection between on-board socket and external interfacing is done via the DIP Switch
SW1, switch 1.
34
www.kontron.com
COMe-P2020 User Guide
2.5.2.8SPI
The Serial Peripheral Interface Bus or SPI bus is a synchronous serial data link standard developed by Motorola that operates in full duplex mode. Devices communicate in master/slave mode where the master device initiates the data frame. Multiple slave devices are allowed with individual slave select (chip select) lines. Sometimes SPI is called a "four wire" serial
bus, contrasting with three, two, and one wire serial buses.
For a detailed signal description, please refer to the COM Express base specification, chapter 4.3.12.
The COMe-cP2020 supports boot from an external SPI flash. Therefore it can be configured by pin B88 (BIOS_DIS1#) for the
following configurations:
Table 2-8:SPI Signal Configurations
BIOS_DIS1#FUNCTIONSIGNAL ROUTING
Open
Boot from on-module
flashes
Pulled to GNDBoot from external flash
P2020 eSPI chip select SPI_CS2# is available
on the carrier
P2020 eSPI chip select SPI_CS0# (boot chip
select) is available on the carrier
The BIOS_DIS0# signal defined in the COM-Express Base specification is not used on the COMe-cP2020.
2.5.2.9Serial Interface
The COMe-cP2020 provides two UART interfaces which makes the following configuration possible:
• 2x 4-wire UARTs (manufacturer preset)
2.5.2.10SMB / I2C
The COMe-cP2020 supports two I2C controllers with speeds up to 400 kHz for customer usage. The signals on the COM
Express connector labeled SMB_CK and SMB_DAT are connected to I2C controller IIC1 of the P2020. The resources occupied
for the on-board devices are as follows:
Table 2-9:On-Board Device Resource
DEVICE
I2C ADDRESS
(binary)
I2C ADDRESS
(hex)
User EEPROM1010 110x 0xAC
System EEPROM1010 111x0xAE
RTC1010 001x0xA2
Thermal Sensor1001 000x0x90
SPD EEPROM1010 000x 0xA0
The signals on the COM Express connector labeled I2C_CK and I2C_DAT are connected to I2C controller IIC2 of the P2020.
This controller is completely dedicated to user purposes.
35
www.kontron.com
COMe-P2020 User Guide
Watchdog
Timer
IRQ1..5#
CPU_IRQ7..11#
Carrier
Interrupt
Mode
0x3740x375
Interrupt
Enable
Board
Interrupt
Pending
0x3760x3770x3780x379
0x37A0x37B0x37C0x37D
Interrupt
Multiplexer
0x3800x381
1
5
1
PWROK
BATLOW#
WAKE0#
WAKE1#
CARRIERCOMe_cP2020
THERM#
SMB_ALERT#
0x28C
DIR
0x370
DIR
0x370
LM73_TEMP_ALERT#
RTC_INT#
2.5.2.11IRQs
The COMe-cP2020 provides five IRQ inputs which can be configured for edge/level, high and low active usage. The operational mode of the IRQs is programmed via the Carrier Interrupt Mode1 and Carrier Interrupt Mode2 registers. Refer to
Chapter 3 for further information.
The following figure demonstrates the IRQ routing of the COMe-cP2020.
Figure 2-1:IRQ Routing Scheme
2.5.2.12Miscellaneous (MISC)
These signals are normally pre-defined for an X86 architecture board and have no defined functionality on Power Architecture CPUs. On the COMe-cP2020 these signals may be used as gerneral purpose output.
2.5.3JTAG/Debug Interface
The COMe-cP2020 provides one JTAG/Debug connector, J4, to facilitate software debugging using an emulation probe. The
connector type is: 1x20_SAMTECH_ZF.
36
www.kontron.com
The following table provides pinout information for the debug connector J4.
Table 2-10:JTAG/Debug Connector J4 Pinout
PINSIGNALFUNCTIONI/O
1TD0JTAG data output0
2NCNot connected-
3TDIJTAG data inputI
4COP_TRSTJTAG test resetI
5NCNot connected--
6COP_SENSEAnalog, connected to 3V3-
7TCKJTAG test clockI
8COP_CKSTOP_IN#COP checkstop input I
9TMSJTAG test mode selectI
COMe-P2020 User Guide
10NCNot connected-
11COP_SOFT_RSTCOP soft reset I
12GNDGround signal--
13COP_HARD_RST#COP hard resetI
14NCNot connected--
15COP_CKSTOP_OUT#COP checkstop output 0
16GNDGND signal-
17NCNot connected-
18NCNot connected-
19NCNot connected-
20NCNot connected-
37
www.kontron.com
COMe-P2020 User Guide
3Configuration
3.1DIP Switch Configuration
The COMe-cP2020 is equipped with one 4-bit DIP switch, SW1, used for board configuration.
Table 3-1:DIP Switch SW1 Configuration
SWITCHSETTINGDESCRIPTION
1OFFBoot from the standard SPI boot flash
ONBoot from the recovery SPI boot flash
2OFFThe SDHC interface is routed to the onboard MicroSD
ONThe SDHC interface is routed to the COM Express connectorResaerved
3OFFReserved
ON
4OFFUses the SerDes configuration which is defined via the U-Boot “sconf” command
ONThe COME-P2020 uses a default SerDes configuration
The default position for the above settings is: OFF.
38
www.kontron.com
3.2Board Memory Map
Table 3-2:COMe-bP2020 Virtual and Physical Memory Address Map
START ADDRESSES
AREA NAMEVIRTUALPHYSICAL
COMe-P2020 User Guide
PCIe3 IO
PCIe2 IO
PCIe1 IO
Onboard Logic
CCSR
NAND 3
NAND 2
NAND 1
NAND 0
MRAM
L2/SRAM
COMe 1
COMe 0
SRIO2
SRIO1
0xffc20000 -
0xffc100000xe_ffc10000
0xffc000000xe_ffc00000
0xffc0000000xf_ff000000
0xffe00000 0xf_ffe00000
0xf8098000 0xf_f8098000
0xf8090000 0xf_f8090000
0xf8088000 0xf_f8088000
0xf8080000 0xf_f8080000
0xf8000000 0xf_f8000000
0xffd000000xf_ffd00000
0xf40000000xf_f4000000
0xf00000000xf_f0000000
0xd00000000xd_d0000000
0xc00000000xd_c0000000
PCIe3 Memory
PCIe2 Memory
PCIe1 Memory
DDR3 SDRAM
0xb0000000-
0xa00000000xe_a0000000
0x800000000xe_80000000
0x000000000x0_00000000
39
www.kontron.com
COMe-P2020 User Guide
3.3I/O Address Map
For the COMe-cP2020, the register address is composed of the base address of the Onboard Logic 4k indicated in the virtual
memory map (see Table XX) and the respective address offset indicated in the I/O address map (Table XX):
register address = 0xFF00_0000 base + address offset.
SGMII eTSEC2 (×1) (1.25 Gbps) ? SerDes lane 2
SGMII eTSEC3 (×1) (1.25 Gbps) ? SerDes lane 3
www.kontron.com
COMe-P2020 User Guide
Table 3-7:0x003: User Boot Configuration Register
ACTIOND7D6D5D4D3D2D1D0
READNUNUNUNUNUNUcfg_cpu0/1_boot
WRITENUNUNUNUNUNUcfg_cpu0/1_boot
POWER UP11111111
BITFIELDDESCRIPTION
[D1-D0]00CPU boot holdoff mode for both cores. The e500 cores are prevented
from booting until configured by an external master.
01e500 core 1 is allowed to boot without waiting for configuration by an
external master, while e500 core 0 is prevented from booting until
configured by an external master or the other core.
10e500 core 0 is allowed to boot without waiting for configuration by an
external master, while e500 core 1 is prevented from booting until
configured by an external master or the other core.
11Both e500 cores are allowed to boot without waiting for configuration by
an external master.
Table 3-8:0x004: User Boot Sequencer Configuration Register
ACTIOND7D6D5D4D3D2D1D0
READNUNUNUNUNUNUcfg_boot_seq[0:1]
WRITENUNUNUNUNUNUcfg_boot_seq[0:1]
POWER UP11111111
BITFIELDDESCRIPTION
[D1-D0]00Reserved
01Normal I2C addressing mode is used. Boot sequencer is enabled and
loads configuration information from a ROM on the I2C1 interface. A
valid ROM must be present.
10Extended I2C addressing mode is used. Boot sequencer is enabled
and loads configuration information from a ROM on the I2C1 interface.
A valid ROM must be present.
11Boot sequencer is disabled. No I2C ROM is accessed.
Table 3-9:0x005: User SerDes Reference Clock Configuration Register
ACTIOND7D6D5D4D3D2D1D0
READNUNUNUNUNUNUNUcfg_srds_refclk
WRITENUNUNUNUNUNUNUcfg_srds_refclk
POWER UP1111111 1
BITFIELDDESCRIPTION
[D0]0SerDes expects a 125 MHz reference clock frequency.
1SerDes expects a 100 MHz reference clock frequency.
46
www.kontron.com
COMe-P2020 User Guide
Table 3-10:0x006: User eTSEC2 SGMII Mode Configuration Register
ACTIOND7D6D5D4D3D2D1D0
READNUNUNUNUNUNUNUcfg_sgmii2
WRITENUNUNUNUNUNUNUcfg_sgmii2
POWER UP1111111 1
BITFIELDDESCRIPTION
[D0]0eTSEC2 Ethernet interface operates in SGMII mode and uses SGMII SerDes
lane 2 pins.
1eTSEC2 Ethernet interface operates in standard parallel interface mode and
uses the TSEC2_* pins.
Table 3-11:0x007: User eTSEC3 SGMII Mode Configuration Register
ACTIOND7D6D5D4D3D2D1D0
READNUNUNUNUNUNUNUcfg_sgmii3
WRITENUNUNUNUNUNUNUcfg_sgmii3
POWER UP1111111 1
BITFIELDDESCRIPTION
[D0]0eTSEC3 Ethernet interface operates in SGMII mode and uses SGMII SerDes
lane 3 pins.
1eTSEC3 Ethernet interface operates in standard parallel interface mode and
uses the TSEC3_* pins.
Table 3-12:0x008: User eTSEC1 Width Configuration Register
ACTIOND7D6D5D4D3D2D1D0
READNUNUNUNUNUNUNUcfg_tsec_reduce
WRITENUNUNUNUNUNUNUcfg_tsec_reduce
POWER UP1111111 1
BITFIELDDESCRIPTION
[D0]0eTSEC1 and eTSEC2 Ethernet interfaces operate in reduced pin mode
(either RTBI, RGMII, or RMII mode).
1eTSEC1 and eTSEC2 Ethernet interfaces operate in their standard width TBI,
GMII, or MII mode.
N O T I C E
Register value is no more used to force CPU strapping, but register is used for checksum calculation!
(write Register value to 0x00). Equivalent CPU strapping is hard coded in CPLD depends on board variant, value is 0b.
47
www.kontron.com
COMe-P2020 User Guide
Table 3-13:0x009: User eTSEC2 Protocol Configuration Register
ACTIOND7D6D5D4D3D2D1D0
READNUNUNUNUNUNUcfg_tsec2_prto[0:1]
WRITENUNUNUNUNUNUcfg_tsec2_prto[0:1]
POWER UP11111111
[D1-D0]00Reserved
01The eTSEC2 controller operates using the MII protocol (or RMII if
configured in reduced mode if not configured to operate in SGMII mode.
10The eTSEC2 controller operates using the GMII protocol (or RGMII if
configured in reduced mode if not configured to operate in SGMII mode.
11The eTSEC2 controller operates using the TBI protocol (or RTBI if
configured in reduced mode if not configured to operate in SGMII mode.
N O T I C E
Register value is no more used to force CPU strapping, but register is used for checksum calculation!
(write Register value to 0x00). Equivalent CPU strapping is hard coded in CPLD depends on board variant, value is 10b.
Table 3-14:0x00A: User eTSEC3 Protocol Configuration Register
ACTIOND7D6D5D4D3D2D1D0
READNUNUNUNUNUNUcfg_tsec2_prto[0:1]
WRITENUNUNUNUNUNUcfg_tsec2_prto[0:1]
POWER UP11111111
BITFIELDDESCRIPTION
[D1-D0]00Reserved
01The eTSEC3 controller operates using the RMII protocol if not configured
to operate in SGMII mode.
10The eTSEC3 controller operates using the RGMII protocol if not
configured to operate in SGMII mode.
11The eTSEC3 controller operates using the RTBI protocol if not configured
to operate in SGMII mode (default).
48
N O T I C E
Register value is no more used to force CPU strapping, but register is used for checksum calculation!
(write Register value to 0x00). Equivalent CPU strapping is hard coded in CPLD depends on board variant, value is 10b.
www.kontron.com
COMe-P2020 User Guide
Table 3-15:0x00B: User RapidIO Device ID Register
ACTIOND7D6D5D4D3D2D1D0
READNUNUNUNUNUcfg_device_id[5:7]
WRITENUNUNUNUNUcfg_device_id[5:7]
POWER UP11111111
BITFIELDDESCRIPTION
[D2-D0]xxxDevice ID used for RapidIO hosts
Table 3-16:0x00C: User RapidIO System Size Register
ACTIOND7D6D5D4D3D2D1D0
READNUNUNUNUNUNUNUcfg_rio_sys_
size
WRITENUNUNUNUNUNUNUcfg_rio_sys_
size
POWER UP11111111
BITFIELDDESCRIPTION
[D0]00Large system size (up to 65,536 devices)
01Small system size (up to 256 devices)
Table 3-17:0x00D: User Core0 Speed Register
ACTIOND7D6D5D4D3D2D1D0
READNUNUNUNUNUNUNUcfg_core0_sp
eed
WRITENUNUNUNUNUNUNUcfg_core0_sp
eed
POWER UP11111111
BITFIELDDESCRIPTION
[D0]00Core 0 clock frequency is less than or equal to 1000 MHz.
01Core 0 clock frequency is greater than 1000 MHz.
N O T I C E
49
Register value is no more used to force CPU strapping, but register is used for checksum calculation!
(write Register value to 0x00). Equivalent CPU strapping is hard coded in CPLD depends on board variant!
www.kontron.com
COMe-P2020 User Guide
Table 3-18:0x00E: User Core1 Speed Register
ACTIOND7D6D5D4D3D2D1D0
READNUNUNUNUNUNUNUcfg_core1_sp
eed
WRITENUNUNUNUNUNUNUcfg_core1_sp
eed
POWER UP11111111
BITFIELDDESCRIPTION
[D0]00Core 1 clock frequency is less than or equal to 1000 MHz.
01Core 1 clock frequency is greater than 1000 MHz.
N O T I C E
Register value is no more used to force CPU strapping, but register is used for checksum calculation!
(write Register value to 0x00). Equivalent CPU strapping is hard coded in CPLD depends on board variant!
Table 3-19:0x00F: User SerDes OLL Time-out Enable Register
ACTIOND7D6D5D4D3D2D1D0
READNUNUNUNUNUNUNUcfg_srds_pll
_toe
WRITENUNUNUNUNUNUNUcfg_srds_pll
_toe
POWER UP11111111
BITFIELDDESCRIPTION
[D0]00Enable PLL lock time-out counter. The power-on-reset sequence
waits for the SerDes PLL to lock while the time-out counter has not
expired.
01Disable PLL lock time-out counter. The power-on-reset sequence
waits indefinately for the SerDes PLL to lock.
50
www.kontron.com
COMe-P2020 User Guide
Table 3-20:0x010: Serdes Multiplexer Control Register
ACTIOND7D6D5D4D3D2D1D0
READNUNUNUNUNUSel2Sel1Sel1
WRITENUNUNUNUNUSel2Sel1Sel1
POWER UP1111111 1
BITFIELDDESCRIPTION
[D2-D0]Sel0Serdes#1 Multiplexer selection :
'0' = CPU Serdes Lane#1 is connected to Carrier Serdes Lane#1
'1' = CPU Serdes Lane#1 is connected to Carrier Serdes Lane#4
Sel1Serdes#2 Multiplexer selection :
'0' = CPU Serdes Lane#2 is connected to Carrier Serdes Lane#2
'1' = CPU Serdes Lane#2 is connected to Carrier Serdes Lane#10
Sel2Serdes#3 Multiplexer selection :
'0' = CPU Serdes Lane#3 is connected to Carrier Serdes Lane#3
'1' = CPU Serdes Lane#3 is connected to Carrier Serdes Lane#11
Table 3-21:0x011: User Checksum Register
ACTIOND7D6D5D4D3D2D1D0
READCompare_Byte[7:0]
WRITECompare_Byte[7:0]
POWER UP1111111 1
BITFIELDDESCRIPTION
[D7-D0]Compare_Byte[7:0]Checksum Control Byte:
User Configuration is only valid if sum of all 16 CPU Configuration Registers
(0x000 - 0x010) + value of User Checksum Register =0x011) is equal 00h.
If the addition of all 17 registers is not equal 00h CPLD forces automatically Default
Configuration strappings to CPU.
Table 3-22:0x012: UFM Erase Control Register
ACTIOND7D6D5D4D3D2D1D0
READ0000000 0
WRITENUNUNUNUNUNUNURstUfm
POWER UP0000000 0
BITFIELDDESCRIPTION
[D0]RstUfmReset UFM Memory (set all memory cells to 0xFF):
'0' = no Reset
'1' = Reset UFM (bit is set by register access and automatically reset by CPLD)
51
www.kontron.com
COMe-P2020 User Guide
Table 3-23:0x013: UFM/CPU Control and Status Register
ACTIOND7D6D5D4D3D2D1D0
READUfmBusy000000 0
WRITENUNUNUNUNUSel2Sel1RstUfm
POWER UP0000000 0
BITFIELDDESCRIPTION
[D0]RstUfmReset CPU and read User Flash Memory Configuration:
'0' = no Read
'1' = Resets CPU and starts Reading of UFM User configuration (bit is set by register access and
self cleared by CPLD)
[D7]UfmBusyUFM status bit, UFM command (Erase, read or write) is in progress, if bit is High any UFM access
"0000" = 0.125 s
"0001" = 0.25 s
"0010" = 0.5 s
"0011" = 1 s
"0100" = 2 s
"0101" = 4 s
"0110" = 8 s
"0111" = 16 s
"1000" = 32 s
"1001" = 64 s
"1010" = 128 s
"1011" = 256 s
"1100" = 512 s
"1101" = 1024 s
"1110" = 2048 s
"1111" = 4096 s
'0' = Watchdog timer not enabled. Prior to the Watchdog being enabled, this bit is known as
WEN. After the Watchdog is enabled, it is known as WTR. Once the Watchdog timer has been
enabled, this bit cannot be reset to 0. As long as the Watchdog timer is enabled, it will indicate a
'1'.
'1' = Watchdog timer enabled. Writing a '1' to this bit causes the Watchdog to be retriggered to
the timer value indicated by bits WTM[3:0]
"0000" = POST
"0001" = Mode A (General Purpose Mode)
others = Reserved
• POST Mode: LEDs build a binary vector to display POST code during the pre-boot phase. In doing so, the higher 4-bit
nibble of the 8-bit POST code is displayed followed by the lower nibble followed by a pause.
• Mode A: LEDs controlled by CPU
Beside the configurable functions described above the LEDs fulf ill also a basic debug function during the power up phase as
long as the first access to POST Code LOW Byte Register (0x080) is processed. If a LED lights red and stays red, then a basic
error is present on the board.
The following debug functions are defined and displayed during this initialization phase:
• LED3: PGOOD failure, Power Good status not reached
• LED2: not used
• LED1: CPU reset is asserted/not asserted
• LED0: U-Boot boot failure
Table 3-38:0x291: LED Control Register
ACTIOND7D6D5D4D3D2D1D0
READ0000LED3LED2LED1LED0
WRITENULED3LED2LED1LED0
POWER UP00000000
BITFIELDDESCRIPTION
[D0]LED0LED Control Register, controls Board LED D5:
'0' = LED is OFF
'1' = LED is ON
[D1]LED1LED Control Register, controls Board LED D6:
'0' = LED is OFF
'1' = LED is ON
[D2]LED2LED Control Register, controls Board LED D7:
'0' = LED is OFF
'1' = LED is ON
[D3]LED3LED Control Register, controls Board LED D3:
'0' = LED is OFF
'1' = LED is ON
57
www.kontron.com
COMe-P2020 User Guide
Table 3-39:0x300: Default Boot ROM Location Configuration Register
'0' = Card reset is not activ
'1' = Card reset is active
Reset is automatically asserted when CPU is in reset state
[D1]PERST1PCIe slot#1 card reset:
'0' = Card reset is not activ
'1' = Card reset is active
Reset is automatically asserted when CPU is in reset state
[D4]LANEREVPCIe Lane reversal:
'0' = Lane reversal is not active
'1' = Lane reversal is active
Table 3-63:0x370: Carrier Interrupt Direction Register
ACTIOND7D6D5D4D3D2D1D0
READ000Dir4Dir3Dir2Dir1Dir0
WRITENUNUNUDir4Dir3Dir2Dir1Dir0
POWER UP0000000 0
BITFIELDDESCRIPTION
[D0]Dir0IO-Direction of line CON_IRQ[1]#:
'0' = Line is used as Input (and forces automatically UC_IRQ[7]# line when enabled)
'1' = Line is used as Output (and driven by UC_IRQ[7]# line)
[D1]Dir1IO-Direction of line CON_IRQ[2]#:
'0' = Line is used as Input (and forces automatically UC_IRQ[8]# line when enabled)
'1' = Line is used as Output (and driven by UC_IRQ[8]# line)
[D2]Dir2IO-Direction of line CON_IRQ[3]#:
'0' = Line is used as Input (and forces automatically UC_IRQ[9]# line when enabled)
'1' = Line is used as Output (and driven by UC_IRQ[9]# line)
[D3]Dir3IO-Direction of line CON_IRQ[4]#:
'0' = Line is used as Input (and forces automatically UC_IRQ[10]# line when enabled)
'1' = Line is used as Output (and driven by UC_IRQ[10]# line)
[D4]Dir4IO-Direction of line CON_IRQ[5]#:
'0' = Line is used as Input (and forces automatically UC_IRQ[11]# line when enabled)
'1' = Line is used as Output (and driven by UC_IRQ[11]# line)
67
N O T I C E
Register settings control as well direction of *UC_IRQ[11:7]#* lines. If equivalent *CON_IRQ[5:1]#*
line is used as Input, equivalent *UC_IRQ[11:7]#* line is automatically configured as Output, if
*CON_IRQ[5:1]#* is used as Output, equivalent *UC_IRQ[11:7]#* is configured as Input, for details
see table below:
[D0-D1]MuxSel5Interrupt/GPIO Multiplexer for *UC_IRQ[11]#* line, connected to:
"00" = line is not used
"01" = *CON_IRQ[5]#* line
"10" = IRQ header line
"11" = Watchdog line
72
www.kontron.com
COMe-P2020 User Guide
Table 3-76:0x390: Carrier Control Register
ACTIOND7D6D5D4D3D2D1D0
READ000Cntrl4Cntrl3Cntrl2Cntrl1Cntr0
WRITENUNUNUCntrl4Cntrl3Cntrl2Cntrl1Cntr0
POWER UP0000000 0
BITFIELDDESCRIPTION
[D0]Cntr0Control register for line *con_cb_reset_n*:
'0' = line is deasserted (logic level is HIGH)
'1' = line is asserted (logic level is LOW)
[D1]Cntr1Control register for line *con_thermtrip_n*:
'0' = line is deasserted (logic level is HIGH)
'1' = line is asserted (logic level is LOW)
[D2]Cntr2Control register for line *con_sus_stat_n*:
'0' = line is deasserted (logic level is HIGH)
'1' = line is asserted (logic level is LOW)
[D3]Cntr3Control register for line *con_sus_s3_n*:
'0' = line is deasserted (logic level is HIGH)
'1' = line is asserted (logic level is LOW)
[D4]Cntr4Control register for line *con_sus_s4_n*:
'0' = line is deasserted (logic level is HIGH)
'1' = line is asserted (logic level is LOW)
Control Register is set and reset by CPU!
73
www.kontron.com
4Power Considerations
4.1Electrical Specifications
4.1.1Supply Voltage
Following supply voltage is specified at the COM Express® connector.
Table 4-1:Supply Voltages
TYPERANGE
COMe-P2020 User Guide
VCC
RTC2.5V - 3.3V
The RTC voltage is not mandatory for operation.
4.2Power Supply Rise Time
The input voltages shall rise from ≤ 10% of nominal to within the regulation ranges within 0.1ms to 20ms. There must be a
smooth and continuous ramp of each DC input voltage from 10% to 90% of its final set-point as specified in the ATX specification.
4.3Supply Voltage Ripple
The supply voltage ripple must not be greater than 100 mV peak to peak 0 – 20 MHz.
4.4Power Consumption
The maximum power consumption of the COMe-cP2020 is a function of clock frequencies, workload/utilization, temperature and component variations/tolerances.
The following tables indicate the typical power consumption of the COMe-cP2020 with 1.2 GHz core clock and 2GB DDR3
memory under various conditions.
10.8V - 13.2V
(12V nominal)
Table 4-2:Workload Dependency
APPLICATIONSPOWER CONSUMPTION
U-Boot (idle)7.4 W
Linux (idle)6.1 W
Linux (with memtester)9.6 W
Table 4-3:Power Consumption vs. Ambient Temperature (Standard Board Variant)
AMBIENT AIR
TEMPERATURE
-5° C0.72 A8.6 W
25° C0.80 A9.6 W
60° C0.83 A10.0 W
12V RAIL LOADPOWER CONSUMPTION
74
www.kontron.com
COMe-P2020 User Guide
Table 4-4:Power Consumption vs. Ambient Temperature (Extended Temperature Board Variant)
AMBIENT AIR
TEMPERATURE
12V RAIL LOADPOWER CONSUMPTION
-40° C0.66 A8.0 W
25° C0.70 A8.4 W
85° C0.85 A10.2 W
75
www.kontron.com
COMe-P2020 User Guide
reference
measurement
p
oint
5Thermal
There are different cooling solutions for the standard (COMe-cP2020c) and the extended temperature board variant (COMecP2020i). The standard board variant is populated by a heatspreader and the extended temperature board variant is populated by a heat sink with fins.
Both variants are able to run without any additional cooling solution (convection cooled) up to 50°C ambient temperature.
For life time issues it is recommended to operate the board below 35°C ambient temperature if there is no heat sink and no
air flow.
5.1Cooling Solution COMe-cP2020c
The thermal concept of the COMe-cP2020c is based on a specially designed full-board heatspreader which contacts the main
hot spots of the board and therefore provides optimal heat transfer from the board's top surface.
The heatspreader plate is NOT a heat sink but is sufficient to cool the standard board variant. Nevertheless the
heatspreader can be used as a COM Express standard thermal interface for use with a heat sink or other cooling solution
bolted to the heatspreader with four skews.
To determine cooling performance, the module temperature can be measured at the temperature reference point indicated
in the figure below.
The cooling solution must in any event maintain a heatspreader plate temperature of 85°C or less.
Figure 5-1:Cooling Solution COMe-cP2020c
76
www.kontron.com
COMe-P2020 User Guide
r
measurement
p
oint
5.2Cooling Solution COMe-cP2020i
The thermal concept of the COMe-cP2020i is based on a specially designed full-board heat sink with fins which contacts the
main hot spots of the board and therefore provides optimal heat transfer from the board's top surface.
The heat sink with fins is designed for operating the board up to 85°C ambient temperature. This heat sink needs external
air flow of about 4mps to reach the maximum cooling performance.
To determine cooling performance, the module temperature can be measured at the temperature reference point indicated
in the figure below.
The air flow must in any event maintain a heatspreader plate temperature of 92°C or less.
Figure 5-2:Cooling Solution COMe-cP2020i
eference
77
www.kontron.com
COMe-P2020 User Guide
6U-Boot
6.1Introduction 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 COMe-cP2020 module. This software is pre-installed at the facotory and is ready for use on powerup.
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.
6.2Standard 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 COMe-cP2020. 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 COMe-cP2020 U-Boot bootloader have been tested by Kontron.
Table 6-1:Standard U-Boot Commands Configured for the COMe-cP2020
COMMANDDESCRIPTION
?Alias for 'help'
basePrint or set address offset
bdinfoPrint board Info structure
bootBoot default, i.e., run 'bootcmd'
bootdBoot default, i.e., run 'bootcmd'
bootelfBoot from an ELF image in memory
bootmBoot application image from memory
bootpBoot image via network using BOOTP/TFTP protocol
bootvxBoot vxWorks from an ELF image
chpartChange active partition
cmpMemory compare
coninfoPrint console devices and information
cpMemory copy
cpuMultiprocessor CPU boot manipulation and release
crc32Checksum calculation
dhcpBoot image via network using DHCP/TFTP protocol
echoEcho args to console
editenvEdit environment variable
envEnvironment handling commands
78
www.kontron.com
Table 6-1:Standard U-Boot Commands Configured for the COMe-cP2020 (Continued)
COMMANDDESCRIPTION
exitExit script
ext2loadLoad binary file from an Ext2 filesystem
ext2lsList files in a directory (default /)
falseDo nothing, unsuccessfully
fatinfoPrint information about filesystem
fatloadLoad binary file from a dos filesystem
fatlsList files in a directory (default /)
fdtFlattened device tree utility commands
fsinfoPrint information about filesystems
fsloadLoad binary file from a filesystem image
COMe-P2020 User Guide
goStart application at address 'addr'
helpPrint command description/usage
i2cI2C subsystem
iminfoPrint header information for application image
imxtractExtract a part of a multi-image
interruptsEnable or disable interrupts
irqinfoPrint information about IRQs
itestReturn true/false on integer compare
loadbLoad binary file over serial line (kermit mode)
loadsLoad S-Record file over serial line
loadyLoad binary file over serial line (ymodem mode)
loopInfinite loop on address range
lsList files in a directory (default /)
mdMemory display
mdioMDIO utility commands
miiMII utility commands
mmMemory modify (auto-incrementing address)
mmcMMC sub system
mmcinfoDisplay MMC info
mtdpartsDefine flash/nand partitions
mtestSimple RAM read/write test
mwMemory write (fill)
79
www.kontron.com
Table 6-1:Standard U-Boot Commands Configured for the COMe-cP2020 (Continued)
COMMANDDESCRIPTION
nandNAND subsystem
nbootBoot from NAND device
nmMemory modify (constant address)
pciList and access PCI Configuration Space
pingSend ICMP ECHO_REQUEST to network host
printenvPrint environment variables
reginfoPrint register information
resetPerform RESET of the CPU
runRun commands in an environment variable
saveenvSave environment variables to persistent storage
COMe-P2020 User Guide
savesSave S-Record file over serial line
setenvSet environment variables
setexprSet environment variable as the result of eval expression
sfSPI flash subsystem
showvarPrint local hushshell variables
sleepDelay execution for some time
sourceRun script from memory
testMinimal test like /bin/sh
tftpbootBoot image via network using TFTP protocol
trueDo nothing, successfully
ubiubi commands
ubifsloadLoad f ile from an UBIFS filesystem
ubifslsList files in a directory
ubifsmountMount UBIFS volume
ubifsumountUnmount UBIFS volume
usbUSB sub-system
usbbootBoot from USB device
versionPrint monitor, compiler and linker version
80
www.kontron.com
COMe-P2020 User Guide
6.3Kontron-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 COMe-cP2020.
Table 6-2:Kontron-Specific Commands
COMMANDDESCRIPTION
flsw
kboardinfo
FLash SWitch
Indicates or selects the currently active SPI boot flash
Kontron Board Information
Displays a summary of board and configuration information
Message digest 5 checksum
md5sum
Creates or checks the md5 message digest over a memory
area
Kontron Board Configuration
sconf
Provides functions for software-based configuration of
external interfaces available on the COM Express connectors.
tlbdbg
Translation Look-aside Buffer DeBuG
Displays current configuration of TLB0 and TLB1
Vital Product Data
vpd
Provides display and importing functions for vital product
data entities
The following tables provide 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.
81
www.kontron.com
Table 6-3:flsw Command
COMe-P2020 User Guide
SYNTAX:
DESCRIPTION:
USAGE:
flsw
Indicates or selects the currently active SPI boot flash
flsw [s|r]
command
flsw
Issuing the command without arguments will indicate the currently active SPI boot
flash
Also returns “true” or “false” depending on the currently active flash
option: standard
s
Selects the standard SPI boot flash as the active flash
option: recovery
r
Selects the recovery SPI boot flash as the active flash
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 by the DIP Switch SW1,
switch 2. For further information, refer to Chapter 3.1, Table xx.
The output of this command always shows the current state.
1. Query flash status:
=> flsw
standard boot flash active
=>
2. Select the standard SPI boot flash as currently active flash:
=> flsw s
=>
82
www.kontron.com
Table 6-4:kboardinfo Com mand
COMe-P2020 User Guide
kboardinfo
SYNTAX:
DESCRIPTION:
USAGE:
Displays a summary of board and configuration information
kboardinfo
kboardinfo
This command collects information from various board sources and provides a summary listing of this
information:
1. Display board information:
command
=> kboardinfo
Board id: 0xd048
Hardware rev.: 0x1
Logic rev.: 0xa
Boot flash: Standard Flash
In system slot: na
Geographic address: na
Material number: na
Serial number: na
U-Boot article name: SK-FIRM-UBOOT-D048
U-Boot material num: 1053-5072
=>
83
www.kontron.com
Table 6-5:md5sum Command
COMe-P2020 User Guide
md5 sum
SYNTAX:
DESCRIPTION:
Creates or checks the md5 message digest over a memory area
md5sum <data-address> <length> [<cksum-address>]
md5sum
<data-address>
<length>
<cksum-address>
This command is used to create or check the md5 message digest over a memory area.
If the optional 3
the specified memory range and printed to the console.
If the optional 3
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.
command
parameter: hexadecimal
start address of memory area
parameter: hexadecimal
length of memory area
parameter: hexadecimal
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.
rd
parameter <checksum-address> is omitted, the md5 message digest is calculated over
rd
parameter <cksum-address> is specified, the md5 message digest is calculated over the
USAGE:
1. Calculate an md5 message digest:
=> md5sum 100000 80000
8fe7006660a2df2265b7cd707eb98786
=>
2. 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
indicate or configure parameter for new base configuration
parameter: ascii string
<x...x>
parameter for new base configuration
parameter: ascii string
<x...x>
value assigned to <par>
DESCRIPTION:
clear
option:
clear user config settings in glue logic and reboot
option:
save
saves the current settings
undo
This command is used to configure external interfaces available on the COMe-cP2020’s connectors.
The “sconf info” command shows the possible configurations as well as the currently selected
configuration.
The active configuration is indicated by ‘**’ characters in the “sconf info” output messages.
To configure external interfaces, select a base configuration via the “sconf select” command. Then, the
parameters can be defined more exactly by the “sconf set <par>” subcommands.
To apply the configuration, invoke the “sconf save” command. After having updated the configuration in
the glue logic, a module powercycle is performed automatically (a hardware reset is not sufficient to
activate the new configuration).
--[ 7]--| SRIOx1 @2.5 H SRIOx1 @2.5 H SGMII SGMII
|
< 8> | SRIOx4 @3.125H
COMe-P2020 User Guide
eTSEC2 configured in SGMII mode
eTSEC3 configured in SGMII mode
SRIO host mode, device ID is 0
Boot ROM location is spi
=>
3. confine new base configuration
=> sconf set etsec2 rgmii
Default configuration active
=> sconf set etsec3 rgmii
Default configuration active
4. check changes
=> sconf info
Default configuration active
...
eTSEC2 configured in RGMII mode
eTSEC3 configured in RGMII mode
SRIO host mode, device ID is 0
87
Boot ROM location is spi
=>
5. Save new configuration. Board is power-cycled automatically
=> sconf save
www.kontron.com
Table 6-7:tlbdbg Command
COMe-P2020 User Guide
tlbdbg
SYNTAX:
DESCRIPTION:
USAGE:
Displays current configuration of TLB0 and TLB1
tlbdbg
tlbdbg
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.
Provides functions for configuration of external interfaces
vpd print [<name>]|import (<name>|all_params)
command
vpd
print
<name>
import
all_params
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.
option:
displays VPD information (source: System EEPROM)
(if <name> is not used, all VPD entities are displayed)
parameter: text string
<[x … ]x>
name of VPD entity addressed by option
option:
imports VPD information to the U-Boot environment
(source: System EEPROM; target: RAM)
parameter: text constant
all_params
selects all VPD entities for importing to the U-Boot environment
USAGE:
1. Display all VPD entities:
=> vpd print
<response: displays all VPD entities>
=>
<response: displays all imported VPD entities; format for each
imported VPD entity as follows:>
import <name> = <value> to environment
.
.
.
import <name> = <value> to environment
=>
89
www.kontron.com
COMe-P2020 User Guide
6.4U-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.
6.5Working with U-Boot
6.5.1General 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 or programming flash devices.
6.5.2Using 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 COMe-cP2020 is delivered with a default conf iguration for the external interfaces routed to the COM Express connectors. If required, these interfaces may be configured via the “sconf” command according to the application requirements.
The factory default configuration for the COMe-cP2020 is as follows:
• “sconf” base configuration:1 (PCIEx4 @2.5)
• eTSEC2 mode:RGMII
• eTSEC3 mode:RGMII
• Boot ROM location:SPI
To obtain information about the currently active configuration, invoke the “sconf info” command.
90
www.kontron.com
COMe-P2020 User Guide
6.5.3Examples of sconf Command Usage
6.5.3.1sconf select
To change the setting, invoke the “sconf select” command.
--[ 7]--| SRIOx1 @2.5 H SRIOx1 @2.5 H SGMII SGMII
|
< 8> | SRIOx4 @3.125H
eTSEC2 configured in SGMII mode
eTSEC3 configured in SGMII mode
SRIO host mode, device ID is 0
Boot ROM location is spi
=>
6.5.3.2sconf set
The setting of the chosen base configuration can be changed via the “sconf set” command. In the following example, the
“sconf info” command is used to show the current configuration. After that, “sconf set etsec2” and “sconf set etsec3” are
used to configure RGMII mode.
--[ 7]--| SRIOx1 @2.5 H SRIOx1 @2.5 H SGMII SGMII
|
< 8> | SRIOx4 @3.125H
eTSEC2 configured in RGMII mode
eTSEC3 configured in RGMII mode
SRIO host mode, device ID is 0
Boot ROM location is spi
=>
After conf iguration has finished completely, configuration is saved permanently in the glue logic using the “sconf save”
command. In addition, an automatic power cycle of the module is performed. Configuration changes will not take effect
without power cycle of the module.
NOTICE
The user configuration is stored in the internal user flash memory of the glue logic. Due to technical restrictions, writing to this area is limited to some 100+ cycles. For this reason it is recommended to use the sconf save command carefully.
93
www.kontron.com
COMe-P2020 User Guide
6.5.4Using the Network
6.5.4.1Interface 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”.
6.5.4.1.1ethprime
“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 eTSEC3
=> 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=eTSEC3
=>
6.5.4.1.2ethact
“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 eTSEC2
=> ping 172.100.100.35
Using eTSEC2 device
host 172.100.100.35 is alive
=>
6.5.4.1.3ethrotate
“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.
94
www.kontron.com
COMe-P2020 User Guide
6.5.4.2Contacting 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.5.5Using 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 f ile 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.
6.5.6Using USB Devices
USB devices are supported (read only) with the “ext2” or “fat” file system.
In both cases, the USB devices must be initialized first.
=> usb start
=>
95
www.kontron.com
After that, the contents can be verified with:
=> ext2ls usb 0
=>
in case of the ext2 f ile system, or with
=> fatls usb 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 usb 0 1000000 kernel.bin
=>
COMe-P2020 User Guide
which loads the file “kernel.bin” from the USB device to memory address 0x1000000.
6.5.7Using 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.
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
=>
96
www.kontron.com
COMe-P2020 User Guide
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
=>
6.5.8Using 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.5.9Booting an OS
6.5.9.1Booting 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
97
www.kontron.com
COMe-P2020 User Guide
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.
Example:
=> setenv bootcmd 'run nandboot'
=> saveenv
=>
6.5.9.2Booting 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 (ROMable) binary image will be generated in the project default build folder with the following naming conventions:
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.
98
www.kontron.com
COMe-P2020 User Guide
6.6Getting 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 of 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
=>
6.7Update
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_d0481” 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_d0481” 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_d0481” 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_d0481/update” from the server. If found, it is loaded to memory and executed as in the case of the SD card.
99
www.kontron.com
COMe-P2020 User Guide
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.8Recovery Mechanism
There 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 has been corrupted (e.g. as a result of a power failure during an update), the Recovery SPI boot flash must be
selected. This is done by powering the system down, deinstalling the COMe-cP2020 module, setting switch 2 of the SW1 DIP
switch to the “on” position, reinstalling the COMe-cP2020 module and then restarting the system.
The board now 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 Chapter 6.7 “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. Once the update is completed, switch 2 of the SW1 DIP switch must be set to “off” to again
allow booting from the Standard SPI boot flash.
The contents of the Recovery SPI boot flash should never be updated in order to avoid a completely inoperable system with
no accessing capability.
6.9Copyrights 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.