]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/RX600_RX63N-RSK_Renesas/RTOSDemo/webserver/phy.h
50415a7f72ccf7487d14e436b08d069c93314d65
[freertos] / FreeRTOS / Demo / RX600_RX63N-RSK_Renesas / RTOSDemo / webserver / phy.h
1 /******************************************************************************\r
2 * DISCLAIMER\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
7 * File Name    : phy.h\r
8 * Version      : 1.02\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
16 \r
17 #ifndef PHY_H\r
18 #define PHY_H\r
19 \r
20 /******************************************************************************\r
21 Includes   <System Includes> , "Project Includes"\r
22 ******************************************************************************/\r
23 #include <stdint.h>\r
24 \r
25 /******************************************************************************\r
26 Typedef definitions\r
27 ******************************************************************************/\r
28 \r
29 /******************************************************************************\r
30 Macro definitions\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
40 \r
41 /* Media Independent Interface */\r
42 #define  PHY_ST    1\r
43 #define  PHY_READ  2\r
44 #define  PHY_WRITE 1\r
45 #define  PHY_ADDR  0x1F\r
46 \r
47 #define  MDC_WAIT  2\r
48 \r
49 /* PHY return definitions */\r
50 #define R_PHY_OK     0\r
51 #define R_PHY_ERROR -1\r
52 \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
57 \r
58 /*\r
59  *      Wait counter definitions of PHY-LSI initialization\r
60  *      ICLK = 96MHz\r
61 */\r
62 #define PHY_RESET_WAIT                          0x00000020L\r
63 #define PHY_AUTO_NEGOTIATON_WAIT        75\r
64 \r
65 #define PHY_AN_ENABLE                           0x1200\r
66 #define PHY_AN_10_100_F_H                       0xde1\r
67 \r
68 /******************************************************************************\r
69 Variable Externs\r
70 ******************************************************************************/\r
71 \r
72 /******************************************************************************\r
73 Functions Prototypes\r
74 ******************************************************************************/\r
75 /**\r
76  * External prototypes\r
77  **/\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
82 \r
83 #endif /* PHY_H */\r
84 \r