Flashing the PCIe Switch and Configuration File

The PM833/PM8534 PCIe switches consist of two binaries that can be flashed:
Switch firmware binary PMC file
Switch configuration PMC file
To flash the PM8534 PCIe switch the configuration and firmware files must be present on the host that is connected to the board.

Switch Firmware File

Both the PCIe switch-1 PM8534 and PCIe switch-2 PM8533 are of the same switch family.
Non-NTB firmware: drive-t186ref-foundation/firmwares/bin/common/microsemi/pcie/bins/firmware/pm74602_pfx_01080058
 
NTB Firmware: drive-t186ref-foundation/firmwares/bin/common/microsemi/pcie/bins/firmware/pm74602_pfx_01080D58_315391/pm74602_pfx_01080D58/
The firmware filepath is as follows:
<fw_top>/images/switchtec_pfx.pmc
Where <fw_top> is the path for the firmware delivery folder.

Switch Configuration File

The switch configuration files are preset at:
For PCIe switch-1:
drive-t186ref-foundation/firmwares/bin/common/microsemi/pcie/bins/e3550/config_files/pm8534/
For PCIe switch-2:
drive-t186ref-foundation/firmwares/bin/common/microsemi/pcie/bins/e3550/config_files/pm8533/
Details on each configuration file, for example partition and ownership details, are provided in the README file available at:
drive-t186ref-foundation/firmwares/bin/common/microsemi/pcie/bins/e3550/config_files/pm8534/README
Each configuration file is compatible with a single firmware version.
The compatible firmware, corresponding to a configuration file, is provided in the README file. When the configuration file is updated, the firmware file must also be updated to the compatible firmware version.
To identify the firmware version
From a PCIe switch console, execute the command:
version
For example:
0x00000000:0001>version
Firmware Version Major 01. Minor 08. Type 0. Build D58.
Device Id 8534
Device Revision 1
XML File Version 58
Where:
The NTB firmware version is: Major 01. Minor 08. Type 0. Build D58
The non NTB firmware version is: Major 01. Minor 08. Type 0. Build 058
To identify the configuration file version
Use the Vendor Table Revision (VTR) field populated in the configuration file. Each switch configuration file has an associated VTR ID provided in the README file merged with switch configuration file.
The 32-bit VTR ID field, associated with each PCIe switch configuration file, is as follows:
Structure version 0x1
Bit 0-7: Company ID which created the configuration. The NVIDIA ID to be kept as 0x1.
Bit 8-15: The Configuration file ID is a combination of the Parent Use case Number (Bit 20 – 23) and a Subversion (Bit 16 - 19).
For example, for a use case #1.2, the Parent Use case Number is: 0x1. The Subversion number is :0x2.
Bit 16-23: Revision information of Configuration File.
Bit 30-31: Above defined structure of VTR is structure version 0x1. In future if any change in interpretation of VTR is done, it is tracked using the Structure version field.
Bit 24-29: Unused.
The VTR information for the configuration file is flashed on the PCIe switch and can be read by executing the gasrd command of 1 byte on address 0x2010.
For example:
Example: 0x00000000:0000>gasrd 0x2010 1
gas_reg_read <0x2010> [1]
0x40014001
To update the configuration and firmware files for PCIe switch 1
1. Ensure the files to be updated are at the preset paths.
2. Launch minicom by executing the command:
minicom -s
A configuration dialog displays.
3. From the menu, select the serial port setup option.
+-----[configuration]------+
|Filenames and paths |
|Serial port setup |
|Modem and dialing |
|Screen and keyboard |
|Save setup as dfl |
|Save setup as. . |
|Exit |
|Exit from minicom |
+--------------------------+
The serial port setup dialog displays.
4. Verify that Option A, Serial Device is set to the default port: ttyUSB15.
+------------------------------------------------+
|A - Serial Device : /dev/ttyUSB15 |
|B - Lockfile Location : /var/lock |
|C - Callin Program : |
|D - Callout Program : |
|E - Bps/Par/Bits : 1152000 8N1 |
|F - Hardware Flow Control : No |
|G - Software Flow Control : No |
| |
| Change which setting? |
+------------------------------------------------|
5. At the change which setting prompt, select Option E Bps/Par/Bits to change the baud rate.
The Comm Parameters dialog displays.
+--------[Comm Parameters]--------------+
| |
| Current: 1152000 8N1 |
| Speed Parity Data |
| A: <next> L:None S: 5 |
| B: <prev> M:Even T: 6 |
| C: 9600 N:Odd U: 7 |
| D: 38400 O:Mark V: 8 |
| E: 115200 P:Space |
| |
| Stopbits |
| W:1 Q: 8-N-1 |
| X:2 R: 7-E-1 |
| |
| Choice, or <Enter> to exit? |
+---------------------------------------+
6. At the Choice prompt, press A to increase the baud rate or B to decrease the baud rate.
Notice that the Current: baud rate display at the top of the dialog changes according to your selection.
7. Set the baud rate to 230400, then exit each dialog and exit minicom.
The default baud rate is 115200.
8. Verify that you have a working firmware image on the switch by executing the command:
version
The system returns a message similar to the following:
Firmware Version Major 01. Minor 08. Type 9. Build 058.
Device ID 8534
Device Revision 1
XML File Version 56
9. Using a shell terminal, update the configuration/firmware file by executing the command:
fw_update
10. From minicom, select File Transfer protocols, then xmodem.
11. Browse to select the appropriate firmware or configuration PMC file to transfer present on the host.

Prerequisites for Flashing PM8533 PCIE Switch 2

To flash PM8533 PCIe Switch 2:
COM (Computer on Module) Express module must be connected to PM8533.
Using an AURIX console, power on the PCIe switch by executing the command:
cemode write 1
The system returns:
Original CE Mode was: 0
Configured CE Mode as: 1
Execute the command:
aurixreset
Configure the serial port to show the console of the PM8533 by executing the command:
setportexp 2 0 7 1
Note:
Support is limited to internal AURIX firmware.
To update the configuration and firmware files for PCIe switch 2
1. Ensure the files to be updated are at the preset paths.
2. On the Linux host, open a terminal window.
3. Launch minicom by executing the command:
minicom -s
A configuration dialog displays.
4. From the menu, select the serial port setup option.
+-----[configuration]------+
|Filenames and paths |
|Serial port setup |
|Modem and dialing |
|Screen and keyboard |
|Save setup as dfl |
|Save setup as. . |
|Exit |
|Exit from minicom |
+--------------------------+
The serial port setup dialog displays.
5. Verify that Option A, Serial Device is set to the default port: ttyUB15.
+------------------------------------------------+
|A - Serial Device : /dev/tty8 |
|B - Lockfile Location : /var/lock |
|C - Callin Program : |
|D - Callout Program : |
|E - Bps/Par/Bits : 1152000 8N1 |
|F - Hardware Flow Control : No |
|G - Software Flow Control : No |
| |
| Change which setting? |
+------------------------------------------------|
6. At the change which setting prompt, select Option E Bps/Par/Bits to change the baud rate.
The Comm Parameters dialog displays.
+--------[Comm Parameters]--------------+
| |
| Current: 1152000 8N1 |
| Speed Parity Data |
| A: <next> L:None S: 5 |
| B: <prev> M:Even T: 6 |
| C: 9600 N:Odd U: 7 |
| D: 38400 O:Mark V: 8 |
| E: 115200 P:Space |
| |
| Stopbits |
| W:1 Q: 8-N-1 |
| X:2 R: 7-E-1 |
| |
| Choice, or <Enter> to exit? |
+---------------------------------------+
7. At the Choice prompt, press A to increase the baud rate or B to decrease the baud rate.
Notice that the Current: baud rate display at the top of the dialog changes according to your selection.
8. Set the baud rate to 230400, then exit each dialog and exit minicom.
The default baud rate is 115200.
9. Verify that you have a working firmware image on the switch by executing the command:
version
The system returns a message similar to the following:
Firmware Version Major 01. Minor 08. Type 9. Build 058.
Device ID 8533
Device Revision 1
XML File Version 56
10. Using a shell terminal, update the configuration/firmware file by executing the command:
fw_update
11. From minicom, select File Transfer protocols, then xmodem.
12. Browse to select the appropriate firmware or configuration PMC file to transfer present on the host.
Note:
PCIe switch 2 does NOT have an NTB use case. Therefore, NTB firmware is NOT supported on PCIe Switch 2.