1 /******************************************************************************
\r
3 * Please refer to http://www.renesas.com/disclaimer
\r
4 ******************************************************************************
\r
5 Copyright (C) 2008. Renesas Technology Corp., All Rights Reserved.
\r
6 *******************************************************************************
\r
9 * Description : Ethernet PHY device driver
\r
10 ******************************************************************************
\r
11 * History : DD.MM.YYYY Version Description
\r
12 * : 15.02.2010 1.00 First Release
\r
13 * : 17.03.2010 1.01 Modification of macro definitions for access timing
\r
14 * : 06.04.2010 1.02 RX62N changes
\r
15 ******************************************************************************/
\r
20 /******************************************************************************
\r
21 Includes <System Includes> , "Project Includes"
\r
22 ******************************************************************************/
\r
24 /******************************************************************************
\r
26 ******************************************************************************/
\r
28 /******************************************************************************
\r
30 ******************************************************************************/
\r
31 /* Standard PHY Registers */
\r
32 #define BASIC_MODE_CONTROL_REG 0
\r
33 #define BASIC_MODE_STATUS_REG 1
\r
34 #define PHY_IDENTIFIER1_REG 2
\r
35 #define PHY_IDENTIFIER2_REG 3
\r
36 #define AN_ADVERTISEMENT_REG 4
\r
37 #define AN_LINK_PARTNER_ABILITY_REG 5
\r
38 #define AN_EXPANSION_REG 6
\r
40 /* Media Independent Interface */
\r
44 #define PHY_ADDR 0x01
\r
48 /* PHY return definitions */
\r
50 #define R_PHY_ERROR -1
\r
52 /* Auto-Negotiation Link Partner Status */
\r
53 #define PHY_AN_LINK_PARTNER_100BASE 0x0180
\r
54 #define PHY_AN_LINK_PARTNER_FULL 0x0140
\r
55 #define PHY_AN_COMPLETE ( 1 << 5 )
\r
58 * Wait counter definitions of PHY-LSI initialization
\r
61 #define PHY_RESET_WAIT 0x00000020L
\r
62 #define PHY_AUTO_NEGOTIATON_WAIT 75
\r
64 #define PHY_AN_ENABLE 0x1200
\r
65 #define PHY_AN_10_100_F_H 0xde1
\r
67 /******************************************************************************
\r
69 ******************************************************************************/
\r
71 /******************************************************************************
\r
72 Functions Prototypes
\r
73 ******************************************************************************/
\r
75 * External prototypes
\r
77 short phy_init( void );
\r
78 void phy_set_100full( void );
\r
79 void phy_set_10half( void );
\r
80 short phy_set_autonegotiate( void );
\r