Altera_Forum
Honored Contributor
11 years agoEthernet on Bemicro SDK
I'm trying to port the standard net example onto the BeMicroSDK which uses the DP83848C PHY.
To keep it simple, I've disabled DHCP and hard-coded a Static IP for now. Everything seems to synthesize, and compile OK but fails on Auto-Negotiation when connected to the Host PC with a crossover cable:
Static IP Address is 10.10.1.149
prepped 1 interface, initializing...
INFO : TSE MAC 0 found at address 0x04000000
INFO : PHY National DP83848C found at PHY address 0x17 of MAC Group
INFO : PHY - Automatically mapped to tse_mac_device
INFO : PHY - Restart Auto-Negotiation, checking PHY link...
WARNING : PHY - Auto-Negotiation FAILED
INFO : PHY - Checking link...
INFO : PHY - Link not yet established, restart auto-negotiation...
INFO : PHY - Restart Auto-Negotiation, checking PHY link...
WARNING : PHY - Auto-Negotiation FAILED
WARNING : PHY - Link could not established
WARNING : PHY - Auto-Negotiation not completed! Speed = 100, Duplex = Full
OK, x=0, CMD_CONFIG=0x00000000
Unlike the NEEK development platform (Lan91c111 PHY), which connects the sgdma to DDR and external SRAM, the BeMicro only has DDR. I suspect it's related to the SGDMA/TSE_mac. What addresses does sgdma_rx write to when it receives ethernet data from the tse_mac? I don't see anywhere in qsys nor the code that defines where the sgdma sram/ddr writes are, but perhaps Nios code/stack is occupying the same area. Any where else I should look at?