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
25 /******************************************************************************
\r
27 ******************************************************************************/
\r
29 /******************************************************************************
\r
31 ******************************************************************************/
\r
32 /* Standard PHY Registers */
\r
33 #define BASIC_MODE_CONTROL_REG 0
\r
34 #define BASIC_MODE_STATUS_REG 1
\r
35 #define PHY_IDENTIFIER1_REG 2
\r
36 #define PHY_IDENTIFIER2_REG 3
\r
37 #define AN_ADVERTISEMENT_REG 4
\r
38 #define AN_LINK_PARTNER_ABILITY_REG 5
\r
39 #define AN_EXPANSION_REG 6
\r
41 /* Media Independent Interface */
\r
45 #define PHY_ADDR 0x1F
\r
49 /* PHY return definitions */
\r
51 #define R_PHY_ERROR -1
\r
53 /* Auto-Negotiation Link Partner Status */
\r
54 #define PHY_AN_LINK_PARTNER_100BASE 0x0180
\r
55 #define PHY_AN_LINK_PARTNER_FULL 0x0140
\r
56 #define PHY_AN_COMPLETE ( 1 << 5 )
\r
59 * Wait counter definitions of PHY-LSI initialization
\r
62 #define PHY_RESET_WAIT 0x00000020L
\r
63 #define PHY_AUTO_NEGOTIATON_WAIT 75
\r
65 #define PHY_AN_ENABLE 0x1200
\r
66 #define PHY_AN_10_100_F_H 0xde1
\r
68 /******************************************************************************
\r
70 ******************************************************************************/
\r
72 /******************************************************************************
\r
73 Functions Prototypes
\r
74 ******************************************************************************/
\r
76 * External prototypes
\r
78 int16_t phy_init( void );
\r
79 void phy_set_100full( void );
\r
80 void phy_set_10half( void );
\r
81 int16_t phy_set_autonegotiate( void );
\r