Failing eth on atlas-soc. Updated board_info file?

Does anyone have an update board_info.xml file for the CycloneV Atlas-SoC kit?

I’m building linux-altera-ltsi (Linux version 4.1.33-ltsi-altera (oe-user@oe-host) (gcc version 6.3.1 20170109 (Linaro GCC 6.3-2017.02-rc3~dev) ) #1 SMP Sat Nov 11 01:46:17 CET 2017) and Yocto Pyro. I’m able to compile and boot everyting.

However, for some unknown reason I cannot get Ethernet up, and the only clue for it is found in dmesg:

[    1.083757] stmmaceth ff702000.ethernet: snps,phy-addr property is deprecated
[    1.090923] stmmaceth ff702000.ethernet: Could not get reset control!
[    1.097355] stmmaceth ff702000.ethernet: No sysmgr-syscon node found
[    1.103683] stmmaceth ff702000.ethernet: Unable to parse OF data

I find the “snps,phy-add” statements in the board_info_*.xml from here: https://github.com/dwesterg/atlas-soc-ghrd/blob/master/board_info/board_info_ATLAS_SOC_GHRD.xml

I am inclined to think that this file contains outdated syntax. Does anyone have an updated version of this file?

I think the importance is the “No sysmgr-syscon node found” error, based on this email:

https://lists.rocketboards.org/pipermail/rfi/2015-April/003039.html

It seems the dts should have a line saying: “altr,sysmgr-syscon = <&sysmgr 0x60 0>;”. I tried adding this into my board file as

<DTAppend name="altr,sysmgr-syscon" parentlabel="hps_0_gmac1" >
<val type="phandle">sysmgr</val>
<val type="hex">0x60</val>
<val type="number">0</val>
</DTAppend>

However, with the 17.0 toolchain, this fails with "ERROR (phandle_references): Reference to non-existent node or label “sysmgr”, so I’m unable to make the dts file with this.

Is the sopc2dts tool outdated wrt what the current linux kernels expect, or have I missed something in my syntax or setup?

I tried manually adding it to the .dts file before running dtc to make the dtb, but that results in the same runtime error for some unknown reason.

After a lot of tinkering and trying various DTAppend changes which I don’t really understand, I think I found the solution:

I downloaded the latest CycloneV GHRD release (from https://releases.rocketboards.org/release/2017.10/gsrd/hw/cv_soc_devkit_ghrd.tar.gz) and peeked into the CycloneV board info files from it and added the following statements to my own board file:

<DTAppend name="reset-names" type="string" parentlabel="hps_0_gmac0" val="stmmaceth"/>
<DTAppend name="resets" parentlabel="hps_0_gmac0">
<val type="phandle">hps_0_rstmgr</val>
<val type="number">32</val>
</DTAppend>

<DTAppend name="reset-names" type="string" parentlabel="hps_0_gmac1" val="stmmaceth"/>
<DTAppend name="resets" parentlabel="hps_0_gmac1">
<val type="phandle">hps_0_rstmgr</val>
<val type="number">33</val>
</DTAppend>

<DTAppend name="altr,sysmgr-syscon" parentlabel="hps_0_gmac1">
<val type="phandle">hps_0_sysmgr</val>
<val type="hex">0x60</val>
<val type="number">2</val>
</DTAppend>

And now it works. I don’t know why thou, because I haven’t been able to find any documentation for it. Where can I find that?

The latest Device Tree Generator page is not updated. Would it be possible to update these pages please?

Hi sveinse,

I am having a similar issue to yours as I have reported in this thread Ethernet issue. No PHY found

And I have tried changing the values in the dts like you did but to no avail.

Do you have pointers on where I could look to solve this issue please?

Kind Regards,

Deva