wiki:Apollo SM recipes

BUTool

Start BUTool:

[cms@apollo06 ~]$ BUTool.exe -a /opt/address_tables/connections.xml 
Registered device: GENERICIPBUS
Registered device: APOLLOSM
Using .xml connection file...
Warning: Input is a connection file but no device entry specified, using default entry name: test.0
>

Command Module

Power-up/down CM:

In BUTool:

>cmpwrup 
CM 1 is powered up
>cmpwrdown 
CM 1 is powered down
>

Program CM FPGA via SVF:

This example programs the Kintex on the CMS CM. This currently takes a while...

>cmpwrup 
CM 1 is powered up
>status
Process done
              C2C| AXILITE_AR_READY_TIMEOUT| LINK_GOOD| PHY_LANE_UP|
               --|-------------------------|----------|------------|
              CM1|                         |         0|           1|
            CM1_K|                        1|          |            |
            CM1_V|                        1|          |            |
              CM2|                         |         0|           0|

               CM| IOS_ENABLED| PWR_GOOD|
               --|------------|---------|
              CM1|           1|        1|

         FIRMWARE|    SM_ZYNQ|
               --|-----------|
       BUILD_DATE| 0x20191024|
       BUILD_TIME| 0x   91819|

           STATUS| TEMP| TEMP_MAX| TEMP_MIN|
               --|-----|---------|---------|
             ZYNQ|   39|       39|       39|

SW VER: -1
>svfplayer /fw/CM/top_K.svf PLXVC.XVC_1

xsvftool-gpio, part of Lib(X)SVF (http://www.clifford.at/libxsvf/).
Copyright (C) 2009  RIEGL Research ForschungsGmbH
Copyright (C) 2009  Clifford Wolf <clifford@clifford.at>
Lib(X)SVF is free software licensed under the ISC license.
Modified for use in Apollo platform by Michael Kremer, kremerme@bu.edu

playing /fw/CM/top_K.svf
JTAG setup succesful
JTAG shtdown succesful.
SVFplayer ran without errors.
>status
Process done
              C2C| AXILITE_AR_READY_TIMEOUT| LINK_GOOD| PHY_LANE_UP|
               --|-------------------------|----------|------------|
              CM1|                         |         1|           1|
            CM1_K|                        1|          |            |
            CM1_V|                        1|          |            |
              CM2|                         |         0|           0|

               CM| IOS_ENABLED| PWR_GOOD|
               --|------------|---------|
              CM1|           1|        1|

         FIRMWARE|    SM_ZYNQ|
               --|-----------|
       BUILD_DATE| 0x20191024|
       BUILD_TIME| 0x   91819|

           STATUS| TEMP| TEMP_MAX| TEMP_MIN|
               --|-----|---------|---------|
             ZYNQ|   39|       40|       39|

SW VER: -1

During this configuration the C2C link came up right away. If it doesn't, follow the Initialize C2C instructions.

The C2C has probably had a bad transaction happen before the FPGA was ready, so you'll probably have to unblock the C2C bridges with the following

>write C2C1_AXILITE_FW.UNBLOCK
Mask write to C2C1_AXILITE_FW.UNBLOCK
>write C2C1_AXI_FW.UNBLOCK
Mask write to C2C1_AXI_FW.UNBLOCK
>status
Process done
              C2C| AXILITE_AR_READY_TIMEOUT| LINK_GOOD| PHY_LANE_UP|
               --|-------------------------|----------|------------|
              CM1|                         |         1|           1|
            CM1_V|                        1|          |            |
              CM2|                         |         0|           0|

               CM| IOS_ENABLED| PWR_GOOD|
               --|------------|---------|
              CM1|           1|        1|

         FIRMWARE|  CM_KINTEX|    SM_ZYNQ|
               --|-----------|-----------|
       BUILD_DATE| 0x20190918| 0x20191024|
       BUILD_TIME| 0x  194908| 0x   91819|

           STATUS| TEMP| TEMP_MAX| TEMP_MIN|
               --|-----|---------|---------|
      KINTEX_X100| 2481|     2515|     2448|
             ZYNQ|   39|       40|       39|

SW VER: -1

Now the CM1_K TIMEOUT value is cleared and the CM_KINTEX FW info and temperatures are available.

AXI C2C

Initialize C2C:

If the links don't come up right away, do the following.

write CM.CM1.C2C.INITIALIZE 1
sleep 1
write CM.CM1.C2C.INITIALIZE 0

Phylane control:

The purpose of the phy lane control is to add more stability to the phy lane C2C connections. This module is enabled by default in the xml of ZYNQ FW but can be turned on and off with the following commands on BUTool.
Turning phy lane control off

>write CM.CM_#.CTRL.ENABLE_PHY_CTRL 0

Turning phy lane control on

>write CM.CM_#.CTRL.ENABLE_PHY_CTRL 1

IPMC

IPMC FW upgrade:

The latest Apollo versions of the CERN IPMC firmwares can be found here. You will also need your shelf's IP address and your blades IPMB address. First check this is the blade you want (in this case SM02 @ 0x8c) You will see Product Serial is 2 for SM02

[user@host]$ ipmitool -H shelf_IP -P "" -t 0x8c fru list
FRU Device Description : Builtin FRU Device (ID 0)
 Board Mfg Date        : Wed May 31 20:00:00 2017
 Board Mfg             : Cirly/Addax
 Board Product         : TEST_FRUFROLLBACK
 Board Serial          : 00001
 Board Part Number     : P580050995
 Product Manufacturer  : CERN
 Product Name          : APOLLO-BLADE
 Product Part Number   : SM00002
 Product Version       : v.2.14
 Product Serial        : 0000002

Upload the FW and activate

[user@host]$ ipmitool -H shelf_ip -P "" -t 0x8c hpm upgrade file.img force activate

PICMG HPM.1 Upgrade Agent 1.0.9: 

Validating firmware image integrity...OK
Performing preparation stage...
Services may be affected during upgrade. Do you wish to continue? (y/n): y
OK

Performing upgrade stage:

-------------------------------------------------------------------------------
|ID  | Name        |                     Versions                        | %  |
|    |             |      Active     |      Backup     |      File       |    |
|----|-------------|-----------------|-----------------|-----------------|----|
|   1|A2F-ATCA BOO |   2.0e 00000000 | ---.-- -------- |   2.17 00000000 |100%|
|    |Upload Time: 00:12             | Image Size:   19631 bytes              |
|   0|A2F-ATCA FIR |   2.0e 00000000 |   1.17 00000000 |   2.17 00000000 |100%|
|    |Upload Time: 01:31             | Image Size:  150211 bytes              |
|   2|A2F-ATCA FRU |   2.0e 00000000 |   1.17 00000000 |   2.17 00000000 |100%|
|    |Upload Time: 00:00             | Image Size:     271 bytes              |
-------------------------------------------------------------------------------
(*) Component requires Payload Cold Reset
Performing activation stage: 
    
Firmware upgrade procedure successful


Last modified 2 months ago Last modified on Jul 16, 2020, 1:19:07 PM