]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_M7_SAMV71_Xplained/libboard_samv7-ek/include/gmii.h
Update version number ready for V8.2.1 release.
[freertos] / FreeRTOS / Demo / CORTEX_M7_SAMV71_Xplained / libboard_samv7-ek / include / gmii.h
1 /* ----------------------------------------------------------------------------\r
2  *         ATMEL Microcontroller Software Support \r
3  * ----------------------------------------------------------------------------\r
4  * Copyright (c) 2008, Atmel Corporation\r
5  *\r
6  * All rights reserved.\r
7  *\r
8  * Redistribution and use in source and binary forms, with or without\r
9  * modification, are permitted provided that the following conditions are met:\r
10  *\r
11  * - Redistributions of source code must retain the above copyright notice,\r
12  * this list of conditions and the disclaimer below.\r
13  *\r
14  * Atmel's name may not be used to endorse or promote products derived from\r
15  * this software without specific prior written permission.\r
16  *\r
17  * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR\r
18  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
19  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE\r
20  * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,\r
21  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
22  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\r
23  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
24  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
25  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
26  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
27  * ----------------------------------------------------------------------------\r
28  */\r
29 \r
30 #ifndef _GMII_DEFINE_H\r
31 #define _GMII_DEFINE_H\r
32 \r
33 \r
34 //-----------------------------------------------------------------------------\r
35 ///         Definitions\r
36 //-----------------------------------------------------------------------------\r
37 //IEEE defined Registers\r
38 #define GMII_BMCR        0x0   // Basic Mode Control Register\r
39 #define GMII_BMSR        0x1   // Basic Mode Status Register\r
40 #define GMII_PHYID1R     0x2   // PHY Idendifier Register 1\r
41 #define GMII_PHYID2R     0x3   // PHY Idendifier Register 2\r
42 #define GMII_ANAR        0x4   // Auto_Negotiation Advertisement Register\r
43 #define GMII_ANLPAR      0x5   // Auto_negotiation Link Partner Ability Register\r
44 #define GMII_ANER        0x6   // Auto-negotiation Expansion Register\r
45 #define GMII_ANNPR       0x7   // Auto-negotiation Next Page Register\r
46 #define GMII_ANLPNPAR    0x8   // Auto_negotiation Link Partner Next Page Ability Register\r
47 #define GMII_AFEC0R      0x11   // AFE Control 0 Register\r
48 #define GMII_AFEC3R      0x14   // AFE Control 3 Register\r
49 #define GMII_RXERCR      0x15   // RXER Couter Register\r
50 #define GMII_OMSSR       0x17   // Operation Mode Strap Status Register\r
51 #define GMII_ECR         0x18   // Expanded Control Register\r
52 #define GMII_ICSR        0x1B   // Interrupt Control/Status Register\r
53 #define GMII_FC          0x1C   // Function Control\r
54 #define GMII_LCSR        0x1D   // LinkMD® Control/Status Register\r
55 #define GMII_PC1R        0x1E   // PHY Control 1 Register\r
56 #define GMII_PC2R        0x1F  // PHY Control 2 Register\r
57 \r
58 \r
59 // PHY ID Identifier Register\r
60 #define GMII_LSB_MASK           0x0U\r
61 // definitions: MII_PHYID1\r
62 #define GMII_OUI_MSB            0x0022\r
63 // definitions: MII_PHYID2\r
64 #define GMII_OUI_LSB            0x1572          // KSZ8061 PHY Id2\r
65 \r
66 \r
67 \r
68 // Basic Mode Control Register (BMCR)\r
69 // Bit definitions: MII_BMCR\r
70 #define GMII_RESET             (1 << 15) // 1= Software Reset; 0=Normal Operation\r
71 #define GMII_LOOPBACK          (1 << 14) // 1=loopback Enabled; 0=Normal Operation\r
72 #define GMII_SPEED_SELECT_LSB  (1 << 13) // 1,0=1000Mbps 0,1=100Mbps; 0,0=10Mbps\r
73 #define GMII_AUTONEG           (1 << 12) // Auto-negotiation Enable\r
74 #define GMII_POWER_DOWN        (1 << 11) // 1=Power down 0=Normal operation\r
75 #define GMII_ISOLATE           (1 << 10) // 1 = Isolates 0 = Normal operation\r
76 #define GMII_RESTART_AUTONEG   (1 << 9)  // 1 = Restart auto-negotiation 0 = Normal operation\r
77 #define GMII_DUPLEX_MODE       (1 << 8)  // 1 = Full duplex operation 0 = Normal operation\r
78 //      Reserved                7        // Read as 0, ignore on write\r
79 #define GMII_SPEED_SELECT_MSB  (1 << 6)  // \r
80 //      Reserved                5 to 0   // Read as 0, ignore on write\r
81 \r
82 \r
83 // Basic Mode Status Register (BMSR)\r
84 // Bit definitions: MII_BMSR\r
85 #define GMII_100BASE_T4        (1 << 15) // 100BASE-T4 Capable\r
86 #define GMII_100BASE_TX_FD     (1 << 14) // 100BASE-TX Full Duplex Capable\r
87 #define GMII_100BASE_T4_HD     (1 << 13) // 100BASE-TX Half Duplex Capable\r
88 #define GMII_10BASE_T_FD       (1 << 12) // 10BASE-T Full Duplex Capable\r
89 #define GMII_10BASE_T_HD       (1 << 11) // 10BASE-T Half Duplex Capable\r
90 //      Reserved                10 to 9  // Read as 0, ignore on write\r
91 #define GMII_EXTEND_STATUS     (1 << 8)  // 1 = Extend Status Information In Reg 15\r
92 //      Reserved                7\r
93 #define GMII_MF_PREAMB_SUPPR   (1 << 6)  // MII Frame Preamble Suppression\r
94 #define GMII_AUTONEG_COMP      (1 << 5)  // Auto-negotiation Complete\r
95 #define GMII_REMOTE_FAULT      (1 << 4)  // Remote Fault\r
96 #define GMII_AUTONEG_ABILITY   (1 << 3)  // Auto Configuration Ability\r
97 #define GMII_LINK_STATUS       (1 << 2)  // Link Status\r
98 #define GMII_JABBER_DETECT     (1 << 1)  // Jabber Detect\r
99 #define GMII_EXTEND_CAPAB      (1 << 0)  // Extended Capability\r
100 \r
101 \r
102 // Auto-negotiation Advertisement Register (ANAR)\r
103 // Auto-negotiation Link Partner Ability Register (ANLPAR)\r
104 // Bit definitions: MII_ANAR, MII_ANLPAR\r
105 #define GMII_NP               (1 << 15) // Next page Indication\r
106 //      Reserved               7\r
107 #define GMII_RF               (1 << 13) // Remote Fault\r
108 //      Reserved               12       // Write as 0, ignore on read\r
109 #define GMII_PAUSE_MASK       (3 << 11) // 0,0 = No Pause 1,0 = Asymmetric Pause(link partner)\r
110                                         // 0,1 = Symmetric Pause 1,1 = Symmetric&Asymmetric Pause(local device)   \r
111 #define GMII_T4               (1 << 9)  // 100BASE-T4 Support\r
112 #define GMII_TX_FDX           (1 << 8)  // 100BASE-TX Full Duplex Support\r
113 #define GMII_TX_HDX           (1 << 7)  // 100BASE-TX Support\r
114 #define GMII_10_FDX           (1 << 6)  // 10BASE-T Full Duplex Support\r
115 #define GMII_10_HDX           (1 << 5)  // 10BASE-T Support\r
116 //      Selector                 4 to 0   // Protocol Selection Bits\r
117 #define GMII_AN_IEEE_802_3      0x00001\r
118 \r
119 \r
120 \r
121 #endif // #ifndef _MII_DEFINE_H\r
122 \r