Ethernet Server Device Tree Properties#
This document describes the Device Tree (DT) properties for the Ethernet Server.
Ethernet Server DT Properties#
The following Ethernet DT nodes for the Ethernet Server are supported:
ethernet@A808910000for EQOS IPethernet@a808a10000for MGBE0 IPethernet@a808b10000for MGBE1 IPethernet@a808d10000for MGBE2 IPethernet@a808e10000for MGBE3 IP
These properties are used to configure the Ethernet Server MAC Device Tree node.
status#
- Property Name:
status- Description:
Activation Status of MAC Controller.
- Values:
okayfor Enabledisabledfor Disable
- Resolution:
Customizable: Yes
Optional: No
nvidia,phy-iface-mode#
- Property Name:
nvidia,phy-iface-mode- Description:
PHY interface mode for MGBE IP. This property needs to be populated based on the platform configuration.
- Values:
0: XFI 10G (default value if nvidia,phy-iface-mode is out of range. If the default value is not supported by the link partner then functional failures will be observed)
1: XFI 5G
2: USXGMII 10G
3: USXGMII 5G
- Resolution:
Customizable: Yes
Optional: Yes
nvidia,mdio_addr#
- Property Name:
nvidia,mdio_addr- Description:
Specify the Physical Layer (PHY) MDIO Address which is used to access PHY registers. This property needs to be populated based on the platform configuration.
- Range:
0 to 31. Within the range of 0 to 31 on the MDIO bus, the particular acceptable value relies on the configuration of the platform to which the PHY is connected.
- Resolution:
Customizable: Yes
Optional: Yes
primary_vf_id#
- Property Name:
primary_vf_id- Description:
Specifies the primary VF ID for the MAC interface. VF IDs start at 0 for the first VF assigned in the PCT and increment by 1 for each subsequent VF in PCT.
- Range:
For EQOS: 0 to 3. Default is 0 in case of out of range values.
For MGBE: 0 to 4. Default is 0 in case of out of range values.
- Resolution:
Customizable: Yes
Optional: Yes
enable_asil_ioctl#
- Property Name:
enable_asil_ioctl- Description:
Add this property in DT for enabling ASIL path for PTP IOCTL execution.
- Values:
Default is disable.
Property present will enable ASIL path for PTP IOCTL execution.
- Resolution:
Customizable: Yes
Optional: Yes
nvidia,pad_auto_cal_pu_offset#
- Property Name:
nvidia,pad_auto_cal_pu_offset- Description:
Definition of ETHER_QOS_AUTO_CAL_CONFIG_0 Register: Offset for Pull-Up Value Pad Calibration (2’s Complement). Applicable only for EQOS port.
- Range:
0x0-0x1F. 0x0 is default in case property is not present for EQOS IP.
- Resolution:
Customizable: Yes
Optional: No (Used only for EQOS interface)
nvidia,pad_auto_cal_pd_offset#
- Property Name:
nvidia,pad_auto_cal_pd_offset- Description:
Definition of ETHER_QOS_AUTO_CAL_CONFIG_0 Register: Offset for Pull-Down Value Pad Calibration (2’s Complement). Applicable only for EQOS port.
- Range:
0x0-0x1F. 0x0 is default in case property is not present for EQOS IP.
- Resolution:
Customizable: Yes
Optional: No (Used only for EQOS interface)
nvidia,ptp_m2m_role#
- Property Name:
nvidia,ptp_m2m_role- Description:
Ethernet HW role in PTP MAC-TO-MAC time sync. This DT property holds the value to identify role of HW.
- Range:
0 to 2. For primary interface: 1, secondary interface: 2, and for inactive interface: 0. Default value is 0 for out of range values.
- Resolution:
Customizable: Yes
Optional: Yes
nvidia,pps_op_ctrl#
- Property Name:
nvidia,pps_op_ctrl- Description:
Set PPS output control.
- Range:
Disable (0): pps output is 1 pulse (of width clk_ptp_i) every second. Default is disable.
Enable (1): The binary rollover is 2 Hz, and the digital rollover is 1 Hz.
- Resolution:
Customizable: Yes
Optional: Yes
nvidia,uphy-gbe-mode#
- Property Name:
nvidia,uphy-gbe-mode- Description:
Specifies Gigabit Ethernet mode for UPHY. This needs to be populated based on the platform configuration.
- Range:
1 for 10G. Default value is 1. This default value might result in functional failure if the UPHY GBE mode is not configured in 10G XFI at UPHY layer.
0 for 5G
- Resolution:
Customizable: Yes
Optional: Yes
nvidia,max-platform-mtu#
- Property Name:
nvidia,max-platform-mtu- Description:
Maximum MTU size supported for a platform.
- Range:
From 68 to 9000. Default value is 1500 in case of out of range values.
- Resolution:
Customizable: Yes
Optional: Yes
nvidia,pause_frames#
- Property Name:
nvidia,pause_frames- Description:
Specifies the pause frame support.
- Range:
1 for Enable
0 for Disable. Default value is disable.
- Resolution:
Customizable: Yes
Optional: Yes
nvidia,skip-usxgmii-an#
- Property Name:
nvidia,skip-usxgmii-an- Description:
Enable this to skip autonegotiation in USXGMII mode.
- Range:
1 to skip AN in usxgmii mode.
0 to enable AN in usxgmii mode.
0 is default in case of invalid value.
- Resolution:
Customizable: Yes
Optional: Yes
nvidia,phy_type#
- Property Name:
nvidia,phy_type- Description:
Specifies the type of PHY being used in the form of a string. This value needs to be passed based on the platform configuration, chosen from the below range.
- Range:
88Q2221M
MVQ3244
Nothing if the PHY type is not of above 2
- Resolution:
Customizable: No (The value of this is constant for a given platform).
Optional: Yes
pdma00-num-vdma-channels to pdma07-num-vdma-channels#
- Property Name:
pdma00-num-vdma-channelstopdma07-num-vdma-channels- Description:
Number of VDMA channels assigned to the PDMA
- Range:
Valid for T264 MGBE - value should be from 1 to OSI_MGBE_MAX_NUM_CHANS
- Resolution:
Customizable: Yes
Optional:
For T234: Yes
For T264: No
pdma00-vdma-channels to pdma07-vdma-channels#
- Property Name:
pdma00-vdma-channelstopdma07-vdma-channels- Description:
List of VMDA channel assigned to the PDMA
- Range:
Valid for T264 MGBE - List values must range from 0 to OSI_MGBE_MAX_NUM_CHANS
List size should match to the corresponding pdmaxx-num-vdma-channels
- Resolution:
Customizable: Yes
Optional:
For T234: Yes
For T264: No
nvidia,hsi_enable#
- Property Name:
nvidia,hsi_enable- Description:
Enable HSI support for the MAC
- Range:
1 for Enable. Default is enable.
0 for Disable
- Resolution:
Customizable: Yes
Optional: Yes
nvidia,hsi_err_count_threshold#
- Property Name:
nvidia,hsi_err_count_threshold- Description:
Error count threshold beyond which error reporting should be triggered
- Range:
1 to UNIT32_MAX
Default OSI_HSI_ERR_COUNT_THRESHOLD
- Resolution:
Customizable: Yes
Optional: Yes
nvidia,phyinit_count#
- Property Name:
nvidia,phyinit_count- Description:
Number of PHY programming operations after phy initialization.
- Range:
0 to 250
- Resolution:
Customizable: Yes
Optional: Yes
nvidia,phyrst_count#
- Property Name:
nvidia,phyrst_count- Description:
Number of PHY programming operations after phy reset.
- Range:
0 to 250
- Resolution:
Customizable: Yes
Optional: Yes
nvidia,phylup_count#
- Property Name:
nvidia,phylup_count- Description:
Number of PHY programming operations after link-up.
- Range:
0 to 250
- Resolution:
Customizable: Yes
Optional: Yes
nvidia,phyldown_count#
- Property Name:
nvidia,phyldown_count- Description:
Number of PHY programming operations after link-down.
- Range:
0 to 250
- Resolution:
Customizable: Yes
Optional: Yes
nvidia,phylpon_count#
- Property Name:
nvidia,phylpon_count- Description:
Number of PHY programming operations after low-power on.
- Range:
0 to 250
- Resolution:
Customizable: Yes
Optional: Yes
nvidia,phylpoff_count#
- Property Name:
nvidia,phylpoff_count- Description:
Number of PHY programming operations after low-power off.
- Range:
0 to 250
- Resolution:
Customizable: Yes
Optional: Yes
nvidia,phyinit#
- Property Name:
nvidia,phyinit- Description:
Array of PHY programming operations for PHY initialization state. Each entry contains 9 values in the following order:
state - Must be 0
op - Operation type (0=read, 1=write)
macMdioForAddrReg - Value to be written to MAC’s MDIO address register for indirect PHY access
macMdioForDataReg - Value to be written to MAC’s MDIO data register for indirect PHY access
wDelay - Delay in microseconds before operation
waitPoll - Enable polling (0=disable, 1=enable)
pollRegAddr - Value to be written to MAC’s MDIO address register for indirect PHY access for polling feature
pollRegData - Value to be written to MAC’s MDIO data register for indirect PHY access for polling feature
pollExpectedVal - Expected value to match when polling
- Range:
state: 0
op: 0 (read) or 1 (write)
Other fields: 32-bit values
Number of operations: Up to 250
- Resolution:
Customizable: Yes
Optional: No when corresponding count property (nvidia,phyinit_count) is > 0
nvidia,phyrst#
- Property Name:
nvidia,phyrst- Description:
Array of PHY programming operations for PHY reset state. Each entry contains 9 values in the following order:
state - Must be 1
op - Operation type (0=read, 1=write)
macMdioForAddrReg - Value to be written to MAC’s MDIO address register for indirect PHY access
macMdioForDataReg - Value to be written to MAC’s MDIO data register for indirect PHY access
wDelay - Delay in microseconds before operation
waitPoll - Enable polling (0=disable, 1=enable)
pollRegAddr - Value to be written to MAC’s MDIO address register for indirect PHY access for polling feature
pollRegData - Value to be written to MAC’s MDIO data register for indirect PHY access for polling feature
pollExpectedVal - Expected value to match when polling
- Range:
state: 1
op: 0 (read) or 1 (write)
Other fields: 32-bit values
Number of operations: Up to 250
- Resolution:
Customizable: Yes
Optional: No when corresponding count property (nvidia,phyrst_count) is > 0
nvidia,phylup#
- Property Name:
nvidia,phylup- Description:
Array of PHY programming operations for PHY link-up state. Each entry contains 9 values in the following order:
state - Must be 2
op - Operation type (0=read, 1=write)
macMdioForAddrReg - Value to be written to MAC’s MDIO address register for indirect PHY access
macMdioForDataReg - Value to be written to MAC’s MDIO data register for indirect PHY access
wDelay - Delay in microseconds before operation
waitPoll - Enable polling (0=disable, 1=enable)
pollRegAddr - Value to be written to MAC’s MDIO address register for indirect PHY access for polling feature
pollRegData - Value to be written to MAC’s MDIO data register for indirect PHY access for polling feature
pollExpectedVal - Expected value to match when polling
- Range:
state: 2
op: 0 (read) or 1 (write)
Other fields: 32-bit values
Number of operations: Up to 250
- Resolution:
Customizable: Yes
Optional: No when corresponding count property (nvidia,phylup_count) is > 0
nvidia,phyldown#
- Property Name:
nvidia,phyldown- Description:
Array of PHY programming operations for PHY link-down state. Each entry contains 9 values in the following order:
state - Must be 3
op - Operation type (0=read, 1=write)
macMdioForAddrReg - Value to be written to MAC’s MDIO address register for indirect PHY access
macMdioForDataReg - Value to be written to MAC’s MDIO data register for indirect PHY access
wDelay - Delay in microseconds before operation
waitPoll - Enable polling (0=disable, 1=enable)
pollRegAddr - Value to be written to MAC’s MDIO address register for indirect PHY access for polling feature
pollRegData - Value to be written to MAC’s MDIO data register for indirect PHY access for polling feature
pollExpectedVal - Expected value to match when polling
- Range:
state: 3
op: 0 (read) or 1 (write)
Other fields: 32-bit values
Number of operations: Up to 250
- Resolution:
Customizable: Yes
Optional: No when corresponding count property (nvidia,phyldown_count) is > 0
nvidia,phylpon#
- Property Name:
nvidia,phylpon- Description:
Array of PHY programming operations for PHY low-power on state. Each entry contains 9 values in the following order:
state - Must be 4
op - Operation type (0=read, 1=write)
macMdioForAddrReg - Value to be written to MAC’s MDIO address register for indirect PHY access
macMdioForDataReg - Value to be written to MAC’s MDIO data register for indirect PHY access
wDelay - Delay in microseconds before operation
waitPoll - Enable polling (0=disable, 1=enable)
pollRegAddr - Value to be written to MAC’s MDIO address register for indirect PHY access for polling feature
pollRegData - Value to be written to MAC’s MDIO data register for indirect PHY access for polling feature
pollExpectedVal - Expected value to match when polling
- Range:
state: 4
op: 0 (read) or 1 (write)
Other fields: 32-bit values
Number of operations: Up to 250
- Resolution:
Customizable: Yes
Optional: No when corresponding count property (nvidia,phylpon_count) is > 0
nvidia,phylpoff#
- Property Name:
nvidia,phylpoff- Description:
Array of PHY programming operations for PHY low-power off state. Each entry contains 9 values in the following order:
state - Must be 5
op - Operation type (0=read, 1=write)
macMdioForAddrReg - Value to be written to MAC’s MDIO address register for indirect PHY access
macMdioForDataReg - Value to be written to MAC’s MDIO data register for indirect PHY access
wDelay - Delay in microseconds before operation
waitPoll - Enable polling (0=disable, 1=enable)
pollRegAddr - Value to be written to MAC’s MDIO address register for indirect PHY access for polling feature
pollRegData - Value to be written to MAC’s MDIO data register for indirect PHY access for polling feature
pollExpectedVal - Expected value to match when polling
- Range:
state: 5
op: 0 (read) or 1 (write)
Other fields: 32-bit values
Number of operations: Up to 250
- Resolution:
Customizable: Yes
Optional: No when corresponding count property (nvidia,phylpoff_count) is > 0
nvidia,mdc-cr#
- Property Name:
nvidia,mdc-cr- Description:
MDC Clock Range (CR) value for MDIO clock configuration
- Range:
EQOS Normal Mode (0-7):
0: CSR 60-100 MHz (div=42)
1: CSR 100-150 MHz (div=62)
2: CSR 20-35 MHz (div=16)
3: CSR 35-60 MHz (div=26)
4: CSR 150-250 MHz (div=102)
5: CSR 250-300 MHz (div=124)
6: CSR 300-500 MHz (div=204)
7: CSR 500-800 MHz (div=324)
EQOS High Speed Mode (8-F):
8: div=4
9: div=6
A: div=8
B: div=10
C: div=12
D: div=14
E: div=16
F: div=18
MGBE Normal Mode (0-7):
0: CSR 100-150 MHz (div=62)
1: CSR 150-250 MHz (div=102)
2: CSR 250-300 MHz (div=122)
3: CSR 300-350 MHz (div=142)
4: CSR 350-400 MHz (div=162)
5: CSR 400-500 MHz (div=202)
6-7: Reserved
MGBE High Speed Mode (8-F):
8: div=4
9: div=6
A: div=8
B: div=10
C: div=12
D: div=14
E: div=16
F: div=18
Default:
EQOS: 6 (CSR 300-500 MHz, div=204)
MGBE: 5 (CSR 400-500 MHz, div=202)
- Resolution:
Customizable: Yes
Optional: Yes
Example DT Node#
ethernet@XXXXXXXXXX {
compatible = "nvidia,tegra264-mgbe";
nvidia,num-mtl-queues = <10>;
nvidia,mtl-queues = <0 1 2 3 4 5 6 7 8 9>;
nvidia,tc-mapping = <0 1 2 3 4 5 6 7 0 1>;
nvidia,tx-queue-prio = <0 1 2 3 4 5 6 7 0 0>;
nvidia,rx-queue-prio = <0x1 0x2 0x4 0x8 0x10 0x20 0x40 0x80 0x0 0x0>;
nvidia,rxq_enable_ctrl = <2 2 2 2 2 2 2 2 2 2>;
nvidia,dcs-enable = <0x1>;
nvidia,phy_type = "88Q2221M";
nvidia,pad_auto_cal_pd_offset = <0x0>;
nvidia,pad_auto_cal_pu_offset = <0x0>;
pdma00-num-vdma-channels = <1>;
pdma00-vdma-channels = <0>;
pdma01-num-vdma-channels = <1>;
pdma01-vdma-channels = <1>;
pdma02-num-vdma-channels = <1>;
pdma02-vdma-channels = <2>;
pdma03-num-vdma-channels = <1>;
pdma03-vdma-channels = <3>;
pdma04-num-vdma-channels = <1>;
pdma04-vdma-channels = <4>;
pdma05-num-vdma-channels = <1>;
pdma05-vdma-channels = <5>;
pdma06-num-vdma-channels = <1>;
pdma06-vdma-channels = <6>;
pdma07-num-vdma-channels = <1>;
pdma07-vdma-channels = <7>;
nvidia,instance_id = <4>;
nvidia,ptp_m2m_role = <2>;
nvidia,phyinit_count = <2>;
nvidia,phyinit = <0 1 0x1 0x100 100 1 0x2 0x3 0x1>,
<0 0 0x2 0x0 50 0 0x0 0x0 0x0>;
nvidia,phyrst_count = <1>;
nvidia,phyrst = <1 1 0x0 0x8000 500 1 0x0 0x8000 0x0>;
nvidia,phylup_count = <1>;
nvidia,phylup = <2 0 0x1 0x0 100 1 0x1 0x4 0x4>;
};