XE232-1024 Tile 3 RGMII Interface

New to XMOS and XCore? Get started here.
davidk
Junior Member
Posts: 4
Joined: Fri Jul 21, 2017 6:27 pm

XE232-1024 Tile 3 RGMII Interface

Post by davidk »

XE232-1024-FB374 Tile 3 RGMII Issue

ISSUE: Can not seem to enable the RGMII TX interface.
Q1) What is the correct method/sequence to configure/enable the RGMII TX interface?
Currently acts as if the RGMII TX is not enabled.


NOTES
Went through documentation and code examples and cannot seem to identify what is being over looked.
Code examples are for the XE216 on TILE 1 not TILE 3.
Standard hardware verification; power supplies within tolerance, same with Vripple, no XE232 to PHY PCB open or shorts and I/O signal mapping from XE232 to PHY.
XE232 controlled PHY reset timing and operation are as expected.
MDIO, MDC communication works between XE232 and TI PHY DP83867IRRGZT.
TI PHY DP83867IRRGZT auto negotiates with router and sends RX traffic to XE232.
Verified DP83867IRRGZT RX to XE 232 timing is as expected, running at 125MHZ.

20171031 Update:
Found default generated xn file enabled both USB ports. Once disabled USB gained some Ethernet control.
Verified received RX comm from PHY to RGMII are as expected.
Still cannot get RGMII TX to work.

20171107 Update:
Worked through the issues which bring this post to its conclusion.
Last edited by davidk on Tue Nov 07, 2017 1:03 pm, edited 1 time in total.
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am

Post by mon2 »

Please post your xn file and schematics for the Ethernet section with xmos pin mapping for review. Also xmos code that maps the pins to ethernet hardware will be helpful.
davidk
Junior Member
Posts: 4
Joined: Fri Jul 21, 2017 6:27 pm

Post by davidk »

Thank you for the offer to review. Worked through the issues and Ethernet is operational. This brings this post to a conclusion.
Sanjeev
Member++
Posts: 16
Joined: Thu Jan 19, 2017 8:34 am

Post by Sanjeev »

Hello Davidk and Mon2,

I am facing the same issue. I have interfaced AR-8035 to XEF232 Tile 3; compilation is going on fine; Link LED's are blinking but I am not able to communicate with the XEF232 over RGMII; Not sure, where is the problem. Please find the snippet of xn file:

<Packages>
<Package id="0" Type="XS2-UEFnA-1024-FB374">
<Nodes>
<Node Id="0" InPackageId="0" Type="XS2-L16A-512" SystemFrequency="500MHz" OscillatorSrc="1">
<Boot>
<Source Location="bootFlash0"/>
<Bootee NodeId="2"/>
</Boot>
<Tile Number="0" Reference="tile[0]">
<Port Location="XS1_PORT_1B" Name="PORT_SQI_CS_0"/>
<Port Location="XS1_PORT_1C" Name="PORT_SQI_SCLK_0"/>
<Port Location="XS1_PORT_4B" Name="PORT_SQI_SIO_0"/>
</Tile>
<Tile Number="1" Reference="tile[1]"/>
</Node>
<Node Id="2" InPackageId="2" Type="XS2-L16A-512" SystemFrequency="500MHz" OscillatorSrc="3">
<Boot>
<Source Location="LINK" BootMode="4"/>
</Boot>
<Tile Number="0" Reference="tile[2]"/>
<Tile Number="1" Reference="tile[3]"/>
</Node>
<Node Id="1" InPackageId="1" Type="periph:XS1-SU" Reference="usb_tile[0]" Oscillator="24MHz">
</Node>
<Node Id="3" InPackageId="3" Type="periph:XS1-SU" Reference="usb_tile[1]" Oscillator="24MHz">
</Node>
</Nodes>
<Links>
<Link Encoding="5wire" Delays="3clk">
<LinkEndpoint NodeId="0" Link="7"/>
<LinkEndpoint NodeId="2" Link="0"/>
</Link>
<Link Encoding="5wire" Delays="3clk">
<LinkEndpoint NodeId="0" Link="4"/>
<LinkEndpoint NodeId="2" Link="3"/>
</Link>
<Link Encoding="5wire" Delays="3clk">
<LinkEndpoint NodeId="0" Link="6"/>
<LinkEndpoint NodeId="2" Link="1"/>
</Link>
<Link Encoding="5wire" Delays="3clk">
<LinkEndpoint NodeId="0" Link="5"/>
<LinkEndpoint NodeId="2" Link="2"/>
</Link>
<Link Encoding="5wire">
<LinkEndpoint NodeId="0" Link="8" Delays="52clk,52clk"/>
<LinkEndpoint NodeId="1" Link="XL0" Delays="1clk,1clk"/>
</Link>
<Link Encoding="5wire">
<LinkEndpoint NodeId="2" Link="8" Delays="52clk,52clk"/>
<LinkEndpoint NodeId="3" Link="XL0" Delays="1clk,1clk"/>
</Link>
</Links>
</Package>
</Packages>

I am trying to communicate using UDP; Not sure, where the issue is. Can you guys helps me! Do I need to ulter the xn file?

Thanks in advance..
Sanjeev
jgabbay
Newbie
Posts: 1
Joined: Sun Aug 05, 2018 12:28 pm

Post by jgabbay »

Hi

I am using XEF232-1024-FB374 , the "big brother" of the XCORE used on Explorer 200 board.

Trying to use both RGMII interface for TCP communication.

I encounter a funny phenomena,

where RGMII can receive Ethernet data at all rates (10 100 1000M - AUTO NEG) but can only transmit on 100M.

Furthermore, the link partner must be configured to 100M speed, or else the RGMII cannot transmit.

The PHY indicates the speed, and link state correctly, and it seems that something in eth.set_link_state() call is broken.
p_port_state in rgmii_buffering.xc is written, but for some reason, the process fails on 1000M.

Any idea? I wonder whether this MCU supports RGMII with 1000M?

The same code works fine on Explorer200 board.
BR
Joseph
Sanjeev
Member++
Posts: 16
Joined: Thu Jan 19, 2017 8:34 am

Post by Sanjeev »

XEF232-1024-FB374 supports 1000MBps; It works for me; Please use application 199 for further details to communicate using TCP.
fabra
Active Member
Posts: 41
Joined: Sat May 09, 2020 4:20 pm

Post by fabra »

I am facing the same issue. Any hints how to resolve this?