Ethernet 100M/1G Networking

This section explains the 100M/1G networking architecture/topology of DRIVE development platforms, along with all the use case specific configurations enabled for VLAN, PTP etc. and known limitations, if any.:
Graphical user interface, application, PowerPoint Description automatically generated
There are 12 total channels (100M/1G) that are exposed through 6 HSD ports as follows (i.e., 2 channels per port).
A circuit board Description automatically generated
Ports are color coded based on the speed supported.
Green ports = 100 Mbps channels
Black ports = 1 Gbps channels
Note:
The one exception: Channel A of J11 only supports 100 Mbps.

Network Configuration

DRIVE OS development platform support following networking configurations:
PDK Standard configuration (default)
HYPERION_7_DDPX
HYPERION_8_PROTO
Configuration selection is enabled via AURIX MCU AUTOSAR firmware commands. Commands details are as below:
gethyperionconfig : Get the current network config info
sethyperionconfig <config value>: Sets network config for next MCU boot
Where:
Configuration
Value
Standard/Non Hyperion
0
HYPERION_7_DDPX
1
HYPERION_8_PROTO
2
Example
1. To set the configuration to standard configuration, run:
sethyperionconfig 0
aurixrest
2. To set the configuration to Hyperion 7 configuration, run:
sethyperionconfig 1
aurixrest
3. To set the configuration to Hyperion 8 configuration, run:
sethyperionconfig 2
aurixrest
4. To get the current configuration:
gethyperionconfig

Standard Network Configuration

HSD Port
Color
Channel
Port Role
Speed Supported
Board setup->Setting UP 3550 Platform->Front panel port mapping
J9
Green
Channel A
Secondary
100 Mbps
802.3bw 100Mbps channel 1
Channel B
Secondary
100 Mbps
802.3bw 100Mbps channel 2
J10
Green
Channel A
Secondary
100 Mbps
802.3bw 100Mbps channel 3
Channel B
Secondary
100 Mbps
802.3bw 100Mbps channel 4
J11
Black
Channel A
Secondary
100 Mbps
802.3bw 100Mbps channel 5
Channel B
Secondary
1 Gbps
802.3bp 1Gbps channel 7
J21
Black
Channel A
Secondary
1 Gbps
802.3bp 1Gbps channel 6
Channel B
Secondary
1 Gbps
802.3bp 1Gbps channel 5
J14
Black
Channel A
Secondary
1 Gbps
802.3bp 1Gbps channel 4
Channel B
Secondary
1 Gbps
802.3bp 1Gbps channel 3
J12
Black
Channel A
Secondary
1 Gbps
802.3bp 1Gbps channel 2
Channel B
Secondary
1 Gbps
802.3bp 1Gbps channel 1

Hyperion 7 Network Configuration

HSD Port
Color
Channel
Port Role
Speed Supported
L2 switch forwarding restriction to external ports (if any)
Board setup->Setting UP 3550 Platform->Front panel port mapping
J9
Green
Channel A
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bw 100Mbps channel 1
Channel B
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bw 100Mbps channel 2
J10
Green
Channel A
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bw 100Mbps channel 3
Channel B
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bw 100Mbps channel 4
J11
Black
Channel A
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bw 100Mbps channel 5
Channel B
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bp 1Gbps channel 7
J21
Black
Channel A
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bp 1Gbps channel 6
Channel B
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bp 1Gbps channel 5
J14
Black
Channel A
Secondary
1 Gbps
L2 routing restricted to all other external ports except J14 link 3 (J14 Channel B)
802.3bp 1Gbps channel 4
Channel B
Secondary
1 Gbps
L2 routing restricted to all other external ports except J14 link 4 (J14 Channel A)
802.3bp 1Gbps channel 3
J12
Black
Channel A
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bp 1Gbps channel 2
Channel B
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bp 1Gbps channel 1

Hyperion 8 Network Configuration

HSD Port
Color
Channel
Port Role
Speed Supported
L2 switch forwarding restriction to external ports (if any)
Board setup->Setting UP 3550 Platform->Front panel port mapping
J9
Green
Channel A
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bw 100Mbps channel 1
Channel B
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bw 100Mbps channel 2
J10
Green
Channel A
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bw 100Mbps channel 3
Channel B
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bw 100Mbps channel 4
J11
Black
Channel A
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bw 100Mbps channel 5
Channel B
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bp 1Gbps channel 7
J21
Black
Channel A
Primary
100 Mbps
L2 routing restricted to all other external ports
802.3bp 1Gbps channel 6
Channel B
Primary
1 Gbps
L2 routing restricted to all other external ports
802.3bp 1Gbps channel 5
J14
Black
Channel A
Secondary
1 Gbps
L2 routing restricted to all other external ports
802.3bp 1Gbps channel 4
Channel B
Primary
1 Gbps
L2 routing restricted to all other external ports
802.3bp 1Gbps channel 3
J12
Black
Channel A
Primary
1 Gbps
L2 routing restricted to all other external ports
802.3bp 1Gbps channel 2
Channel B
Primary
1 Gbps
L2 routing restricted to all other external ports
802.3bp 1Gbps channel 1

VLAN Configurations

VLAN 200 (TACP networking) is enabled in Xavier A, Xavier B, CVM, NXP SJA1105Q switch, and Marvell 88EA6321 switch. When enabled:
Provides a secure channel between multiple SoCs/VMs and between the SoC and MCU (AURIX).
Makes safety MCU (AURIX) inaccessible from the outside.
Used for MCU communication, including cameras, firmware updates, etc.
Used for firmware update of 88Q5050 switch from Xavier A.
Diagram Description automatically generated

PTP Support

All the networking nodes of the DRIVE OS development platform are made time-aware systems/nodes i.e., all the CPU nodes such as Xavier and Aurix (MCU) act as time-aware end-stations and all the switches act as time-aware bridges.
DRIVE OS development platforms have a total of three (3) different models of Ethernet switches connected on board from two different vendors:
NXP SJA1105Q switch.
88EA6321 switch (multi instance)
Marvell 88Q5050 switch
Marvell 88Q5050 has its own internal MCU and firmware capable of handling the PTP locally inside switch. Hence, 88Q5050 is made time-aware bridge by enabling the PTP support in its firmware. Both NXP SJA1105Q and Marvell 6321 switches do not have internal CPU and firmware for PTP handling. Therefore, AURIX MCU is used for remote PTP handling of these switches.
The AURIX MCU side switch PTP implementation is based on 802.1AS PTP profile, while 88Q5050 firmware supports AVNU AutoCDS v1.4 profile. Due to intermixing of the PTP protocol profile, all ports coming out of 6321-2 switch supports 802.1AS profile and all the ports coming out from 88Q5050 supports AVNU AutoCDS v1.4 profile.
Prerequisites
Pegasus boards must be flashed with the latest Marvell 88Q5050 switch firmware version and AURIX firmware version to use this PTP solution.
Aurix MCU firmware version: >= 5.2.3
5050 Firmware version: >= 2.07.1001.07
Note:
Any other combination of AURIX MCU firmware version and Marvell 88Q5050 switch firmware version is not a supported configuration for AGX PTP.
How to verify the firmware version
AURIX MCU firmware: Using version command on AURIX MCU console.
Marvell 88Q5050 switch firmware version: Refer to section Marvell 88Q5050 Firmware Management.

PTP Limitations

No BMCA on ANVU AutoCDS 1.4 protocol supporting ports as per protocol compliance.
No BMCA handling in switch/bridge PTP implementation. The implementation only supports E2E announce packet forwarding.
No signaling support in switch/bridge PTP implementation.
No PTP over VLAN support as per 802.1AS protocol.
Limitation per port PTP message handling:
Maximum one peer delay message per second from each PTP secondary devices on external/internal nodes.
Maximum of eight (8) number of syncs and follow-up messages per second from primary reference clock.
Maximum announce interval.

Compatibility Recommendation for Devices on External Ports

"neighborPropDelayThresh" value must be increased up to 12 microseconds on secondary devices if it connects through HSD-RJ45 dongle.
Signaling message support must be disabled on external devices.
External devices must restrict the message frequency as per limitation given in the Limitations section above.

Standard PTP Port Roles of External Ports

HSD Port
Color
Channel
Port Role
Protocol Support
PTP device allowed to connect to this port (Role/Protocol)
J9
Green
Channel A
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
Channel B
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
J10
Green
Channel A
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
Channel B
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
J11
Black
Channel A
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
Channel B
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
J21
Black
Channel A
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
Channel B
Transparent
802.1-AS
Primary & Secondary/802.1-AS
J14
Black
Channel A
Transparent
802.1-AS
Primary & Secondary/802.1-AS
Channel B
Transparent
802.1-AS
Primary & Secondary/802.1-AS
J12
Black
Channel A
Transparent
802.1-AS
Primary & Secondary/802.1-AS
Channel B
Transparent
802.1-AS
Primary & Secondary/802.1-AS

Hyperion 7 PTP Port Roles of External Ports

HSD Port
Color
Channel
Port Role
Protocol Support
PTP device allowed to connect to this port (Role/Protocol)
J9
Green
Channel A
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
Channel B
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
J10
Green
Channel A
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
Channel B
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
J11
Black
Channel A
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
Channel B
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
J21
Black
Channel A
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
Channel B
Primary
802.1-AS
Secondary/802.1-AS
J14
Black
Channel A
Transparent
802.1-AS
Primary & Secondary/802.1-AS
Channel B
Transparent
802.1-AS
Primary & Secondary/802.1-AS
J12
Black
Channel A
Primary
802.1-AS
Secondary/802.1-AS
Channel B
Primary
802.1-AS
Secondary/802.1-AS

Hyperion 8 PTP Port Roles of External Ports

HSD Port
Color
Channel
Port Role
Protocol Support
PTP device allowed to connect to this port (Role/Protocol)
J9
Green
Channel A
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
Channel B
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
J10
Green
Channel A
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
Channel B
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
J11
Black
Channel A
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
Channel B
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
J21
Black
Channel A
Primary
AVNU AutoCDS v1.4
Secondary/AVNU AutoCDS v1.4
Channel B
Primary
802.1-AS
Secondary/802.1-AS
J14
Black
Channel A
Transparent
802.1-AS
Primary & Secondary/802.1-AS
Channel B
Primary
802.1-AS
Secondary/802.1-AS
J12
Black
Channel A
Primary
802.1-AS
Secondary/802.1-AS
Channel B
Primary
802.1-AS
Secondary/802.1-AS
All Xavier side PTP related binaries are available at:
/home/nvidia/drive-t186ref-linux/samples/nvavb/daemons
 

Supported PTP Configurations and Commands

This section describes the PTP support for 802.1AS & AVNU AutoCDS v1.4 conforming time synchronization messages for hardware time synchronization in the following configuration.
Single Pegasus time synchronization: Aurix MCU as Primary reference clock (GM)
Single Pegasus: Xavier as primary reference clock (GM)
Single Pegasus: External device as primary reference clock (GM)
Dual Pegasus: Using standard network configuration
Dual Pegasus: Using Hyperion 8 proto configuration

Single Pegasus Time Synchronization: AURIX MCU as Primary Reference Clock (GM)

AURIX (as GM)
1. In the AURIX console, enter the date in UNIX-style seconds.
For example:
date 0x77DA7A8F
2. Enable gPTP on AURIX:
gptpon
Linux (as Secondary)
Disable NTP on both Xaviers. The following command disables NTP, which is persistent across reboots.
timedatectl set-ntp 0
On both the Xavier A and Xavier B consoles, enter the following commands:
./phc2sys -s /dev/ptp0 -w -S 1.0 -O 0 &
./ptp4l -f ./gPTP_slave.cfg -p /dev/ptp0 -i eth0 -m

Single Pegasus: Xavier as Primary Reference Clock (GM)

gPTP based time sync between on board nodes XA, XB, CVM, and external devices.
1. Disable NTP on both Xaviers. The following command disables NTP, which is persistent across reboots.
timedatectl set-ntp 0
2. On the Primary Xavier run following commands.
./phc2sys -s /dev/ptp0 -w -S 1.0 -O 0 &
./ptp4l -f ./gPTP.cfg -p /dev/ptp0 -i eth0 -m
3. On the Secondary Xavier run following commands.
./phc2sys -s /dev/ptp0 -w -S 1.0 -O 0 &
./ptp4l -f ./gPTP_slave.cfg -p /dev/ptp0 -i eth0 -m

Single Pegasus: Xavier as Primary Reference Clock (GM)

gPTP based time sync between on board nodes XA, XB ,CVM and external GM device.
The external GM must be connected to one of the ports that has a transparent PTP role.
1. Disable NTP on both Xaviers. The following command disables NTP, which is persistent across reboots.
timedatectl set-ntp 0
2. On all Xaviers run following commands.
./phc2sys -s /dev/ptp0 -w -S 1.0 -O 0 &
./ptp4l -f ./gPTP_slave.cfg -p /dev/ptp0 -i eth0 -m

Dual Pegasus: Using Standard Network Configuration

gPTP based time sync between nodes (XA, XB and external devices) of two (2_ Pegasus connected back to back.
Setup Info
Pegasus-1 1000 Base-T1 HSD connector (J14/J12/J21 CH-B ) <----> E3579/E3580 HSD | E3579/E3580 R45 <-------> E3579/E3580 RJ45 | E3579/E3580 HSD <------> Pegasus-2 1000 Base-T1 HSD connector (J14/J12/J21 CH-B)
1. Disable NTP on both Xaviers. The following command disables NTP, which is persistent across reboots.
timedatectl set-ntp 0
2. On the Primary Xavier run the following commands.
./phc2sys -s /dev/ptp0 -w -S 1.0 -O 0 &
./ptp4l -f ./gPTP.cfg -p /dev/ptp0 -i eth0 -m
3. On the Secondary Xavier run following commands.
./phc2sys -s /dev/ptp0 -w -S 1.0 -O 0 &
./ptp4l -f ./gPTP_slave.cfg -p /dev/ptp0 -i eth0 -m

Dual Pegasus: Using Hyperion 8 Proto Configuration

gPTP based time sync between nodes (XA, XB and external devices) of two (2) Pegasus connected back to back.
Setup Info
Pegasus-1 1000 Base-T1 HSD connector (J14 CH-A ) <----> E3579/E3580 HSD | E3579/E3580 R45 <-------> E3579/E3580 RJ45 | E3579/E3580 HSD <------> Pegasus-2 1000 Base-T1 HSD connector (J14 CH-A)
1. Disable NTP on both Xaviers. The following command disables NTP, which is persistent across reboots.
timedatectl set-ntp 0
2. On the Primary Xavier run the following commands.
./phc2sys -s /dev/ptp0 -w -S 1.0 -O 0 &
./ptp4l -f ./gPTP.cfg -p /dev/ptp0 -i eth0 -m
3. On theSecondary Xavier run the following commands.
./phc2sys -s /dev/ptp0 -w -S 1.0 -O 0 &
./ptp4l -f ./gPTP_slave.cfg -p /dev/ptp0 -i eth0 -m

Marvell 88Q5050 Firmware Management

DRIVE OS development supports two flavors of Marvell 88Q5050 firmware packaged in SDK:
Version
File Name
Function Supported
AURIX Firmware Compatibility for PTP Support
Description
2.07.1001.07
88Q5050_flash.v2.07.1001.07.bin
Basic switch+ PTP(AVNU CDS)
> = 5.2.3
DDPX PTP with all bridges/switches as time aware system
2.07.1001.06
88Q5050_flash.v2.07.1001.06.bin
Basic
< 5.2.3
DDPX PTP with bridges/switches in pass-through mode
 
Note:
The purpose of release non PTP firmware is to allow PTP in pass-through mode for backward compatibility mode, if required.
All other combinations (apart from table) is not supported.
 

Marvell 88Q5050 Firmware Update from Xavier over Ethernet

It is possible to update the Marvell 88Q5050 firmware from Xavier through the update_firmware.sh script packaged in the file system.
Silent feature of update process/framework is as below:
Automatic upgrade is by default enabled for latest packaged firmware via boot-up service/script from the root file system.
Manual force upgrade is also possible via script.
Provision to get the current flashed firmware is also possible via script.
Prerequisites
Either AURIX MCU is flashed with firmware version >= 5.2.3
-OR-
AURIX MCU is flashed with firmware version < 5.2.3 and no external network connected via external ports.

Manually Upgrading or Degrading the Firmware

To manually upgrade or degrade the firmware:
/lib/firmware/marvell_ethernet/tools/linux/nvidia/update-firmware.sh --useversion 88Q5050_flash.v2.07.1001.<xx>.bin
Where <xx> is the config version. Refer to the table above for more information.
Note:
The command above must be followed by an aurixreset AURIX MCU reset on the MCU console to make 88Q5050 boot with newly flashed firmware.
To print the currently flashed version:
/lib/firmware/marvell_ethernet/tools/linux/nvidia/update-firmware.sh --printversion
 
Note:
When AURIX MCU is flashed with firmware version <= 5.2.3, the commands may fail. The workaround for this issue is to remove all external network connection via external ports and to change the value of ETH_INTERFACE to eth0 from eth0.200 in the E3550_Q5050.cfg file before retrying.
Changing values of any other flags in E3550_Q5050.cfg may lead to OTA failure and is not recommended.
Manual running of update-firmware.sh script is only restricted to options specified in this document.

P3479

This section explains 1G networking architecture/topology of the P3479 board.
A picture containing diagram Description automatically generated

Port Roles

HSD Port
Color
Channel
100/1000 Base T1 Primary/Secondary
Speed Supported
J10
Black
Channel A
Secondary
1 Gbps
Channel B
Secondary
1 Gbps
J28
Black
Channel A
Secondary
1 Gbps
Channel B
Secondary
1 Gbps
J4
Black
Channel A
Secondary
1 Gbps
Channel B
Secondary
1 Gbps
J3
Black
Channel A
Secondary
1 Gbps
Channel B
Secondary
1 Gbps