AnsweredAssumed Answered

Enable Ethernet interfaces for P4080DS Hypervisor Partitions

Question asked by Daniel Ng on Jan 9, 2016
Latest reply on Jan 22, 2016 by Daniel Ng



Sorry for such a lengthy post but I wanted to give as much background info as possible.


My aim is to partition the the P4080DS system using the hypervisor and thereafter enable the Ethernet interfaces for each of the partitions to communicate with the host computer.


My configurations and build environment are as follows:

  1. Freescale Linux SDK v1.8 for QorIQ Processors
  2. P4080DS with 4GB RAM
  3. Partitioned P4080DS into 8 partitions.
    1. Each partitions having the fsl-image-core's linux as the guest OS.
    2. RAM - First partition: 1GB, the remainder 256MB.
    3. DMA:
      1. First partition: Untouched from default hv.dts, remaining partitions followed the partition 2 example.
      2. dw_dqrr_qportals - untouched.
    4. HV devices untouched
    5. Most of the devices listed in the given hv.dts remained with the first partition.
    6. Remaining partitions have at least one one Qman portal, one bman portal assigned.
  4. Uboot environment:
    1. bootargs config-addr=0xfe8900000 console=ttyS0,115200
    2. bootcmd 'bootm 0xfe8700000 - 0xfe8800000'
  5. Kernel - uImage-p4080ds.bin
  6. Ramdisk Filesystem - fsl-image-core-p4080ds.rootfs.ext2.gz.u-boot
  7. Hypervisor Image - hv.uImage
  8. Kernel DTB - Depending on the configuration i was trying to test, I flashed accordingly.
    1. uImage-p4080ds.dtb - When i tried to assign different Ethernet interfaces to different partitions
    2. uImage-p4080ds-usdpaa.dtb / uImage-p4080ds-usdpaa-shared-interfaces.dtb - when i tried the default hv.dtb
  9. RCW - SerDes 0xe where a total of 23 Gbps is available namely
    1. fm1-gb1, fm1-10g, fm2-gb2, fm2-gb3 & fm2-10g


Things I've gathered from the SDK Reference manual and various forum discussions (Please correct me if I am wrong):

  • Ethernet interfaces enabled are dependent on the RCW binary and the Kernel DTB flashed to the system.
  • Different Ethernet interfaces are linked to either fman0 or fman1.
  • Due to pin multiplexing reasons, not all Ethernet interfaces can be enabled at the same time thus the various RCW configurations.
  • I cannot assign different ethernet interfaces to different partitions due to hardware constraints of the P4080.
  • To achieve my aim, the best way (From what i read in the forums) would be to configure a shared mac interface for the partitions. This way i would then be able to have at least 5 ethernet interfaces working.


What I have managed to do is to enable all 5 Ethernet interfaces for the first partition and i could see them after booting into linux. I tried separating fman0 and fman1 Ethernet interfaces to two different partitions but only those in partition 1 can be seen.


I went back to try the two linux partition hv.dtb given by the SDK and flashed the uImage-p4080ds-usdpaa-shared-interfaces.dtb which had the shared mac dtb. I tried enabling the eth1(shared interface) by assigning the ipaddr and gateway seen in partition 2 but was unable to utilise it. Going into the shared mac dts file, i realised they only enabled ethernet@9 for shared mac usage. Should i have used another dtb file given?


Any ideas on how to get the ethernet interfaces working for each of the different partitions would be great.


Thank you in advance!