- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I newbie in Ethernet protocol. We are using DP83848C interface with Cyclone-IV (Custom board). We wish to use TSE in opencore plus in Standalone 10/100/1000 Mbps Ethernet MAC. As i am a newbie, i first went throught the documents TSE Megacore function and Datasheet of DP83848C. but i am not able to find a way to configure dp83848c using tse interface. I am looking for headstart in c program (Nios-II) to do the same. Any code snippet will be of great help. Thanks in advance Nandish Jasani.Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
DP83848C is the phy which makes the interface between the MAC and the Ethernet wire.
The phy configuration can be done with pin strapping (i.e. the level of a few pins at reset time defines how the devices will operate) or through the 2-wire mdio interface. Since the TSE MAC (like most MACs) does have a mdio port available for these purpose, this is the usual choice. In the HAL driver you also find the functions to directly access PHY configuration registers, without bothering with the mdio protocol. If you don't have a reference design and sample code for the DP83848, you must refer to the device datasheet in order to know which registers you need to program to enable ethernet communication.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, I will try with HAL and try to access PHY configuration registers.
Nandish Jasani.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
https://www.alteraforum.com/forum/attachment.php?attachmentid=8034 Hi,
I tried below code but when i seen in MDC pin in CRO i got the square wave of 2.5MHz as i configure in TSE MAC, but in MDIO pin i seen only DC 3.3V in CRO instead of MDIO Frame. So please suggest if i am wrong in coding. I try to access 0x18 register in PHY DP83848C through MDIO as shown in coding. I try to change the LED Status by forced method. Is there any setting require in Qsys, Nios-II? # include <unistd.h> # include "system.h" # include <stdio.h> # include "altera_avalon_pio_regs.h" # include "altera_avalon_timer_regs.h" # include "altera_avalon_tse.h" # include "altera_avalon_tse_system_info.h" # include "altera_avalon_sgdma.h" # include "altera_avalon_sgdma_descriptor.h" # include "altera_avalon_sgdma_regs.h" # include "alt_types.h" # include "altera_eth_tse_regs.h" int main(void) { alt_u32 phyadd; lcd_initialization(); clear_lcd_display(); display_message_01(); usleep(1000000); clear_lcd_display(); display_message_02(); usleep(1000000); IOWR_ALTERA_TSEMAC_MDIO_ADDR0(ETHERNET_MACHINE_BASE, 0X01); phyadd = IORD_ALTERA_TSEMAC_MDIO_ADDR0(ETHERNET_MACHINE_BASE); printf ("%ld", phyadd); IOWR_ALTERA_TSEMAC_MDIO(ETHERNET_MACHINE_BASE,0,0x18,0x003f); while (1) { led1_off(); usleep(1000000); led2_off(); usleep(1000000); led3_off(); usleep(1000000); led3_on(); usleep(1000000); led2_on(); usleep(1000000); led1_on(); usleep(1000000); } }
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page