Add a VF DT Node in Linux DTSI Files

Add a new platform device for the virtual function into the platform DTSI file.

Platform device properties:

  • compatible:
    • Description:
      • Driver compatibility string
    • Values:
      • “nvidia,nveqos” for EOQS/MGBE VF’s.
  • reg:
    • Description:
      • Physical base address and size of register spaces
    • Values:
      • EQOS:
        • DMA 0: <0x0 0x2320000 0x0 0x10000>
        • DMA 1: <0x0 0x2330000 0x0 0x10000>
        • DMA 2: <0x0 0x2340000 0x0 0x10000>
        • DMA 3: <0x0 0x2350000 0x0 0x10000>
      • MGBE0:
        • DMA 0: <0x0 0x06820000 0x0 0x10000>
        • DMA 1: <0x0 0x06830000 0x0 0x10000>
        • DMA 2: <0x0 0x06840000 0x0 0x10000>
        • DMA 3: <0x0 0x06850000 0x0 0x10000>
        • DMA 4: <0x0 0x06860000 0x0 0x10000>
      • MGBE1:
        • DMA 0: <0x0 0x06920000 0x0 0x10000>
        • DMA 1: <0x0 0x06930000 0x0 0x10000>
        • DMA 2: <0x0 0x06940000 0x0 0x10000>
        • DMA 3: <0x0 0x06950000 0x0 0x10000>
        • DMA 4: <0x0 0x06960000 0x0 0x10000>
      • MGBE2:
        • DMA 0: <0x0 0x06A20000 0x0 0x10000>
        • DMA 1: <0x0 0x06A30000 0x0 0x10000>
        • DMA 2: <0x0 0x06A40000 0x0 0x10000>
        • DMA 3: <0x0 0x06A50000 0x0 0x10000>
        • DMA 4: <0x0 0x06A60000 0x0 0x10000>
      • MGBE3:
        • DMA 0: <0x0 0x06B20000 0x0 0x10000>
        • DMA 1: <0x0 0x06B30000 0x0 0x10000>
        • DMA 2: <0x0 0x06B40000 0x0 0x10000>
        • DMA 3: <0x0 0x06B50000 0x0 0x10000>
        • DMA 4: <0x0 0x06B60000 0x0 0x10000>
    • Conditions:
  • reg-names:
    • Description:
      • Register names of the reg values
  • interrupts
    • Description:
      • An array of tuples specifying IRQ number for each tx/rx queue in case of multi-queue, and for the only tx/rx queue,in case of single queue EQOS has a common interrupt for triggering any non DMA channel interrupts like link up/down. Order of interrupts need to be listed as common, Tx followed by Rx interrupts.
  • clocks
    • Description:
      • Holds Phandle and clock specifiers in same order for each entry in clock-names property.
  • clock-names
    • Description:
      • Specifies the names of the needed clocks.
  • resets
    • Description:
      • Holds Phandle and rest specifiers in the same order for each entry in reset-names property
  • reset-names
    • Description:
      • Specifies the name of the reset line
  • iommus:
    • Description:
      • A list of phandle and IOMMU specifier pairs that describe the IOMMU master interfaces of the device. IOMMU specifier points stream ID used for IP which can be used for address translation
  • dma-coherent:
    • Description:
      • DMA operations are coherent or not
    • Conditions:
      • Always define this dma coherent
  • nvidia,ptp_ref_clock_speed
    • Description:
      • This is a reference for PTP clock frequency and the value set for tegra is 312.5MHz. The frequency of this clock is programmable and can be configured based on the requirements.
    • Values:
      • The maximum frequency it can take is 312.5MHz and the minimum frequency is 25MHz
  • nvidia,instance_id
    • Description:
      • Ethernet interface instance id. Fixed id value is used.
    • Values:
      • For mgbe0 is 0, mgbe1 is 1, mgbe2 is 2, mgbe3 is 3 and eqos is 4
  • nvidia,phy-reset-gpio
    • Description:
      • Mode of the MTL Receive Queue to enable either AV mode or legacy mode
    • Values:
      • 0x0 = Not enabled, 0x1 = Enabled for AV
      • 0x2 = Enabled for Legacy, 0x3 = Reserved
  • nvidia,pause_frames
    • Description:
      • Pause frame support.
    • Values:
      • Enable(0) Disable(1)
  • nvidia,rx_riwt
    • Description:
      • Specifies the RX wathcdog interrupt timeout in usec
    • Values:
      • Minimum value is 3 and Maximum value is 1020.
  • nvidia,rx_frames
    • Description:
      • Specifies the RX frame count for interrupt coalescing. If rx_frames is 0 then RX frame count based interrupt coalescing is disabled and Rx interrupt will be triggered based on rx_riwt value.
    • Values:
      • The minimum value for rx_frames is 1 and maximum value is 256.
  • nvidia,tx_usecs:
    • Description:
      • Specifies the TX software timer interrupt timeout in usec. if tx_usecs is 0 then TX software timer is disabled and Tx interrupt will be triggered for each packet.
    • Values:
      • The minimum value is 32 and maximum value is 1020.
  • nvidia,tx_frames:
    • Description:
      • Specifies the TX frame count for interrupt coalescing. If tx_frames is 0 then TX frame count based interrupt coalescing is disabled and Tx interrupt will be triggered based on tx_usecs value
    • Values:
      • The minimum value for tx_frames is 1 and the maximum value is 10.
  • nvidia,promisc_mode:
    • Description:
      • Specifies if promiscuous mode should be allowed or not.
    • Values:
      • Set to 1 to allow or 0 to disallow promiscuous mode. Default is 1 (allowed).
  • nvidia,num-dma-chans:
    • Description:
      • Number of DMA channels that need to be used
    • Values:
      • Minimum value is 1 and Maximum value is 4.
  • nvidia,dma-chans:
    • Description:
      • The channel number of DMA channels to be used. Number of channels provided here should be equal to the value in nvidia,num-dma-chans property.
    • Values:
      • EQOS: 0 to 7 MGBE: 0 to 9
  • nvidia,num-mtl-queues:
    • Description:
      • Number of MTL Queues that need to be used.
    • Values:
      • Minimum value is 1 and Maximum value is 9.