NVIDIA Tegra
NVIDIA DRIVE OS 5.1 Linux

Developer Guide
5.1.0.2 Release


 
Flashing the PCIe Switch and Configuration File
 
Figuring out the Firmware and Configuration File Version
Prerequisites for Flashing PM8533 PCIE Switch 2
DRIVE Development Platform Driver Pegasus PM833/PM8534 PCIe Switches consists of following two binaries that can be flashed
1. Switch firmware binary pmc file
2. Switch configuration pmc file.
To flash to the DRIVE Development Platform Driver Pegasus PM8534 PCIe switch, you must have configuration and firmware files on the host that is connected to the board.
NOTE: All the PCIe switch binaries are packaged as part of restricted-pdk.run.
Extract the restricted-pdk.run file to get the PCIe switch binaries.
The switch firmware file
1. PCIe switch -1 PM8534 and PCIe switch-2 PM8533 are from the same switch family.
2. The firmware delivery folder (hereby referred as fw_top):
Non-NTB firmware: drive-t186ref-foundation/firmwares/bin/t19x/microsemi/pcie/bins/firmware/pm74602_pfx_01080058
 
NTB Firmware: drive-t186ref-foundation/firmwares/bin/t19x/microsemi/pcie/bins/firmware/pm74602_pfx_01080D58_315391/pm74602_pfx_01080D58/
3. The firmware file path is located at:
fw_top/images/switchtec_pfx.pmc
The switch configuration file
1. All PCIe switch configuration files are preset here:
For pcie switch - 1:
drive-t186ref-foundation/firmwares/bin/t19x/microsemi/pcie/bins/e3550/config_files/pm8534/
For pcie switch -2 :
drive-t186ref-foundation/firmwares/bin/t19x/microsemi/pcie/bins/e3550/config_files/pm8533/
2. Details on each configuration file (for example, partition details, ownership details, etc.) are present in the README file located at:
For pcie switch -1:
drive-t186ref-foundation/firmwares/bin/t19x/microsemi/pcie/bins/e3550/config_files/pm8534/README
3. Each configuration file is ONLY compatible with a single firmware version. The compatible firmware corresponding to a configuration file is mentioned in the README file. With the update in the configuration file ; the firmware file also needs to be updated to the compatible firmware version.
Figuring out the Firmware and Configuration File Version
4. Firmware Version
The firmware version of both PCIe switches can be figured out using the version command on the PCIe switch console.
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:
NTB Firmware: Firmware Version Major 01. Minor 08. Type 0. Build D58.
Non-NTB Fimrware: Firmware Version Major 01. Minor 08. Type 0. Build 058.
5. Configuration File version:
The configuration file version can be figured out using the Vendor Table Revision (VTR) field populated in the configuration file.
Details on VTR :
Each switch configuration file has an associated VTR ID, which can be found in the README file merged with the switch configuration file.
Below are the details of 32bit VTR ID field associated with each pcie switch configuration file:
a) Structure version 0x1
Bit 0-7  : Company ID which created the config. NVIDIA ID to be kept as 0x1
Bit 8-15  : Configuration File ID Configuration file ID is combination of Parent Usecase Number (Bit 20 - 23) and Subversion (Bit 16 - 19) For example usecase #1.2 will have Parent Usecase Number: 0x1 and Subversion: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 will be tracked using Structure version field.
Bit 24-29 : Unused
VTR info of the configuration file flashed on the PCIe switch can be read by issuing a gasrd command of 1 byte on address 0x2010.
Example:
Example: 0x00000000:0000>gasrd 0x2010 1
gas_reg_read <0x2010> [1]
0x40014001
To update the configuration and firmware files for PCIe switch 1
6. Ensure that files to be updated (configuration/firmware) are preset at above mentioned paths)
7. Launch minicom by executing the command:
minicom -s
A configuration dialog displays.
8. 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.
9. 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? |
+------------------------------------------------|
10. 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? |
+---------------------------------------+
11. 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.
12. Set the baud rate to 230400, then exit each dialog and exit minicom.
The default baud rate is 115200.
13. 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
14. Using a shell terminal, update the configuration/firmware file by executing the command:
fw_update
15. From minicom, select File Transfer protocols, then xmodem.
16. 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 Express module must be connected to the Pegasus 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: Currently this is only supported on internal AURIX firmware.
To update the configuration and firmware files for PCIe switch 2
17. Ensure that files to be updated (configuration/firmware) are preset at above mentioned paths)
18. On the Linux host, open a terminal window.
19. Launch minicom by executing the command:
minicom -s
A configuration dialog displays.
20. 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.
21. 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? |
+------------------------------------------------|
22. 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? |
+---------------------------------------+
23. 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.
24. Set the baud rate to 230400, then exit each dialog and exit minicom.
The default baud rate is 115200.
25. 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
26. Using a shell terminal, update the configuration/firmware file by executing the command:
fw_update
27. From minicom, select File Transfer protocols, then xmodem.
28. Browse to select the appropriate firmware or configuration .pmc file to transfer present on the host.
Note: PCIe switch 2 does not have a NTB use case and therefore NTB firmware is not supported on PCIe switch -2.