| 1 | 608 | jeremybenn | /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
 | 
      
         | 2 |  |  | * File Name          : stm32fxxx_eth_map.h
 | 
      
         | 3 |  |  | * Author             : MCD Application Team
 | 
      
         | 4 |  |  | * Version            : VX.Y.Z
 | 
      
         | 5 |  |  | * Date               : mm/dd/2008
 | 
      
         | 6 |  |  | * Description        : This file contains all ETHERNET peripheral register's
 | 
      
         | 7 |  |  | *                      definitions and memory mapping.
 | 
      
         | 8 |  |  | ********************************************************************************
 | 
      
         | 9 |  |  | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
 | 
      
         | 10 |  |  | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
 | 
      
         | 11 |  |  | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
 | 
      
         | 12 |  |  | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
 | 
      
         | 13 |  |  | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
 | 
      
         | 14 |  |  | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
 | 
      
         | 15 |  |  | *******************************************************************************/
 | 
      
         | 16 |  |  |  
 | 
      
         | 17 |  |  | /* Define to prevent recursive inclusion -------------------------------------*/
 | 
      
         | 18 |  |  | #ifndef __STM32FXXX_ETH_MAP_H
 | 
      
         | 19 |  |  | #define __STM32FXXX_ETH_MAP_H
 | 
      
         | 20 |  |  |  
 | 
      
         | 21 |  |  | #ifndef EXT
 | 
      
         | 22 |  |  |   #define EXT extern
 | 
      
         | 23 |  |  | #endif /* EXT */
 | 
      
         | 24 |  |  |  
 | 
      
         | 25 |  |  | /* Includes ------------------------------------------------------------------*/
 | 
      
         | 26 |  |  |  
 | 
      
         | 27 |  |  | #include "stm32fxxx_eth_conf.h"
 | 
      
         | 28 |  |  | #include "stm32f10x_type.h"
 | 
      
         | 29 |  |  |  
 | 
      
         | 30 |  |  | /* Exported types ------------------------------------------------------------*/
 | 
      
         | 31 |  |  | /******************************************************************************/
 | 
      
         | 32 |  |  | /*                Ethernet Peripheral registers structures                    */
 | 
      
         | 33 |  |  | /******************************************************************************/
 | 
      
         | 34 |  |  |  
 | 
      
         | 35 |  |  | typedef struct
 | 
      
         | 36 |  |  | {
 | 
      
         | 37 |  |  |   vu32 MACCR;
 | 
      
         | 38 |  |  |   vu32 MACFFR;
 | 
      
         | 39 |  |  |   vu32 MACHTHR;
 | 
      
         | 40 |  |  |   vu32 MACHTLR;
 | 
      
         | 41 |  |  |   vu32 MACMIIAR;
 | 
      
         | 42 |  |  |   vu32 MACMIIDR;
 | 
      
         | 43 |  |  |   vu32 MACFCR;
 | 
      
         | 44 |  |  |   vu32 MACVLANTR;
 | 
      
         | 45 |  |  |   vu32 RESERVED0[2];
 | 
      
         | 46 |  |  |   vu32 MACRWUFFR;
 | 
      
         | 47 |  |  |   vu32 MACPMTCSR;
 | 
      
         | 48 |  |  |   vu32 RESERVED1[2];
 | 
      
         | 49 |  |  |   vu32 MACSR;
 | 
      
         | 50 |  |  |   vu32 MACIMR;
 | 
      
         | 51 |  |  |   vu32 MACA0HR;
 | 
      
         | 52 |  |  |   vu32 MACA0LR;
 | 
      
         | 53 |  |  |   vu32 MACA1HR;
 | 
      
         | 54 |  |  |   vu32 MACA1LR;
 | 
      
         | 55 |  |  |   vu32 MACA2HR;
 | 
      
         | 56 |  |  |   vu32 MACA2LR;
 | 
      
         | 57 |  |  |   vu32 MACA3HR;
 | 
      
         | 58 |  |  |   vu32 MACA3LR;
 | 
      
         | 59 |  |  | } ETH_MAC_TypeDef;
 | 
      
         | 60 |  |  |  
 | 
      
         | 61 |  |  | typedef struct
 | 
      
         | 62 |  |  | {
 | 
      
         | 63 |  |  |   vu32 MMCCR;
 | 
      
         | 64 |  |  |   vu32 MMCRIR;
 | 
      
         | 65 |  |  |   vu32 MMCTIR;
 | 
      
         | 66 |  |  |   vu32 MMCRIMR;
 | 
      
         | 67 |  |  |   vu32 MMCTIMR;
 | 
      
         | 68 |  |  |   vu32 RESERVED0[14];
 | 
      
         | 69 |  |  |   vu32 MMCTGFSCCR;
 | 
      
         | 70 |  |  |   vu32 MMCTGFMSCCR;
 | 
      
         | 71 |  |  |   vu32 RESERVED1[5];
 | 
      
         | 72 |  |  |   vu32 MMCTGFCR;
 | 
      
         | 73 |  |  |   vu32 RESERVED2[10];
 | 
      
         | 74 |  |  |   vu32 MMCRFCECR;
 | 
      
         | 75 |  |  |   vu32 MMCRFAER;
 | 
      
         | 76 |  |  |   vu32 RESERVED3[10];
 | 
      
         | 77 |  |  |   vu32 MMCRGUFCR;
 | 
      
         | 78 |  |  | } ETH_MMC_TypeDef;
 | 
      
         | 79 |  |  |  
 | 
      
         | 80 |  |  | typedef struct
 | 
      
         | 81 |  |  | {
 | 
      
         | 82 |  |  |   vu32 PTPTSCR;
 | 
      
         | 83 |  |  |   vu32 PTPSSIR;
 | 
      
         | 84 |  |  |   vu32 PTPTSHR;
 | 
      
         | 85 |  |  |   vu32 PTPTSLR;
 | 
      
         | 86 |  |  |   vu32 PTPTSHUR;
 | 
      
         | 87 |  |  |   vu32 PTPTSLUR;
 | 
      
         | 88 |  |  |   vu32 PTPTSAR;
 | 
      
         | 89 |  |  |   vu32 PTPTTHR;
 | 
      
         | 90 |  |  |   vu32 PTPTTLR;
 | 
      
         | 91 |  |  | } ETH_PTP_TypeDef;
 | 
      
         | 92 |  |  |  
 | 
      
         | 93 |  |  | typedef struct
 | 
      
         | 94 |  |  | {
 | 
      
         | 95 |  |  |   vu32 DMABMR;
 | 
      
         | 96 |  |  |   vu32 DMATPDR;
 | 
      
         | 97 |  |  |   vu32 DMARPDR;
 | 
      
         | 98 |  |  |   vu32 DMARDLAR;
 | 
      
         | 99 |  |  |   vu32 DMATDLAR;
 | 
      
         | 100 |  |  |   vu32 DMASR;
 | 
      
         | 101 |  |  |   vu32 DMAOMR;
 | 
      
         | 102 |  |  |   vu32 DMAIER;
 | 
      
         | 103 |  |  |   vu32 DMAMFBOCR;
 | 
      
         | 104 |  |  |   vu32 RESERVED0[9];
 | 
      
         | 105 |  |  |   vu32 DMACHTDR;
 | 
      
         | 106 |  |  |   vu32 DMACHRDR;
 | 
      
         | 107 |  |  |   vu32 DMACHTBAR;
 | 
      
         | 108 |  |  |   vu32 DMACHRBAR;
 | 
      
         | 109 |  |  | } ETH_DMA_TypeDef;
 | 
      
         | 110 |  |  |  
 | 
      
         | 111 |  |  | /******************************************************************************/
 | 
      
         | 112 |  |  | /*                Ethernet MAC Registers bits definitions                     */
 | 
      
         | 113 |  |  | /******************************************************************************/
 | 
      
         | 114 |  |  | //#define  IPNAME_REGNAME_BITNAME   /* BIT MASK */
 | 
      
         | 115 |  |  |  
 | 
      
         | 116 |  |  | /* Bit definition for Ethernet MAC Control Register register */
 | 
      
         | 117 |  |  | #define ETH_MACCR_WD      ((u32)0x00800000)  /* Watchdog disable */
 | 
      
         | 118 |  |  | #define ETH_MACCR_JD      ((u32)0x00400000)  /* Jabber disable */
 | 
      
         | 119 |  |  | #define ETH_MACCR_JFE     ((u32)0x00100000)  /* Jumbo frame enable */
 | 
      
         | 120 |  |  | #define ETH_MACCR_IFG     ((u32)0x000E0000)  /* Inter-frame gap */
 | 
      
         | 121 |  |  |   #define ETH_MACCR_IFG_96Bit     ((u32)0x00000000)  /* Minimum IFG between frames during transmission is 96Bit */
 | 
      
         | 122 |  |  |   #define ETH_MACCR_IFG_88Bit     ((u32)0x00020000)  /* Minimum IFG between frames during transmission is 88Bit */
 | 
      
         | 123 |  |  |   #define ETH_MACCR_IFG_80Bit     ((u32)0x00040000)  /* Minimum IFG between frames during transmission is 80Bit */
 | 
      
         | 124 |  |  |   #define ETH_MACCR_IFG_72Bit     ((u32)0x00060000)  /* Minimum IFG between frames during transmission is 72Bit */
 | 
      
         | 125 |  |  |   #define ETH_MACCR_IFG_64Bit     ((u32)0x00080000)  /* Minimum IFG between frames during transmission is 64Bit */
 | 
      
         | 126 |  |  |   #define ETH_MACCR_IFG_56Bit     ((u32)0x000A0000)  /* Minimum IFG between frames during transmission is 56Bit */
 | 
      
         | 127 |  |  |   #define ETH_MACCR_IFG_48Bit     ((u32)0x000C0000)  /* Minimum IFG between frames during transmission is 48Bit */
 | 
      
         | 128 |  |  |   #define ETH_MACCR_IFG_40Bit     ((u32)0x000E0000)  /* Minimum IFG between frames during transmission is 40Bit */
 | 
      
         | 129 |  |  | #define ETH_MACCR_CSD     ((u32)0x00010000)  /* Carrier sense disable (during transmission) */
 | 
      
         | 130 |  |  | #define ETH_MACCR_FES     ((u32)0x00004000)  /* Fast ethernet speed */
 | 
      
         | 131 |  |  | #define ETH_MACCR_ROD     ((u32)0x00002000)  /* Receive own disable */
 | 
      
         | 132 |  |  | #define ETH_MACCR_LM      ((u32)0x00001000)  /* loopback mode */
 | 
      
         | 133 |  |  | #define ETH_MACCR_DM      ((u32)0x00000800)  /* Duplex mode */
 | 
      
         | 134 |  |  | #define ETH_MACCR_IPCO    ((u32)0x00000400)  /* IP Checksum offload */
 | 
      
         | 135 |  |  | #define ETH_MACCR_RD      ((u32)0x00000200)  /* Retry disable */
 | 
      
         | 136 |  |  | #define ETH_MACCR_APCS    ((u32)0x00000080)  /* Automatic Pad/CRC stripping */
 | 
      
         | 137 |  |  | #define ETH_MACCR_BL      ((u32)0x00000060)  /* Back-off limit: random integer number (r) of slot time delays before rescheduling
 | 
      
         | 138 |  |  |                                                        a transmission attempt during retries after a collision: 0 =< r <2^k */
 | 
      
         | 139 |  |  |   #define ETH_MACCR_BL_10    ((u32)0x00000000)  /* k = min (n, 10) */
 | 
      
         | 140 |  |  |   #define ETH_MACCR_BL_8     ((u32)0x00000020)  /* k = min (n, 8) */
 | 
      
         | 141 |  |  |   #define ETH_MACCR_BL_4     ((u32)0x00000040)  /* k = min (n, 4) */
 | 
      
         | 142 |  |  |   #define ETH_MACCR_BL_1     ((u32)0x00000060)  /* k = min (n, 1) */
 | 
      
         | 143 |  |  | #define ETH_MACCR_DC      ((u32)0x00000010)  /* Defferal check */
 | 
      
         | 144 |  |  | #define ETH_MACCR_TE      ((u32)0x00000008)  /* Transmitter enable */
 | 
      
         | 145 |  |  | #define ETH_MACCR_RE      ((u32)0x00000004)  /* Receiver enable */
 | 
      
         | 146 |  |  |  
 | 
      
         | 147 |  |  | /* Bit definition for Ethernet MAC Frame Filter Register */
 | 
      
         | 148 |  |  | #define ETH_MACFFR_RA     ((u32)0x80000000)  /* Receive all */
 | 
      
         | 149 |  |  | #define ETH_MACFFR_HPF    ((u32)0x00000400)  /* Hash or perfect filter */
 | 
      
         | 150 |  |  | #define ETH_MACFFR_SAF    ((u32)0x00000200)  /* Source address filter enable */
 | 
      
         | 151 |  |  | #define ETH_MACFFR_SAIF   ((u32)0x00000100)  /* SA inverse filtering */
 | 
      
         | 152 |  |  | #define ETH_MACFFR_PCF    ((u32)0x000000C0)  /* Pass control frames: 3 cases */
 | 
      
         | 153 |  |  |   #define ETH_MACFFR_PCF_BlockAll                ((u32)0x00000040)  /* MAC filters all control frames from reaching the application */
 | 
      
         | 154 |  |  |   #define ETH_MACFFR_PCF_ForwardAll              ((u32)0x00000080)  /* MAC forwards all control frames to application even if they fail the Address Filter */
 | 
      
         | 155 |  |  |   #define ETH_MACFFR_PCF_ForwardPassedAddrFilter ((u32)0x000000C0)  /* MAC forwards control frames that pass the Address Filter. */
 | 
      
         | 156 |  |  | #define ETH_MACFFR_BFD    ((u32)0x00000020)  /* Broadcast frame disable */
 | 
      
         | 157 |  |  | #define ETH_MACFFR_PAM    ((u32)0x00000010)  /* Pass all mutlicast */
 | 
      
         | 158 |  |  | #define ETH_MACFFR_DAIF   ((u32)0x00000008)  /* DA Inverse filtering */
 | 
      
         | 159 |  |  | #define ETH_MACFFR_HM     ((u32)0x00000004)  /* Hash multicast */
 | 
      
         | 160 |  |  | #define ETH_MACFFR_HU     ((u32)0x00000002)  /* Hash unicast */
 | 
      
         | 161 |  |  | #define ETH_MACFFR_PM     ((u32)0x00000001)  /* Promiscuous mode */
 | 
      
         | 162 |  |  |  
 | 
      
         | 163 |  |  | /* Bit definition for Ethernet MAC Hash Table High Register */
 | 
      
         | 164 |  |  | #define ETH_MACHTHR_HTH   ((u32)0xFFFFFFFF)  /* Hash table high */
 | 
      
         | 165 |  |  |  
 | 
      
         | 166 |  |  | /* Bit definition for Ethernet MAC Hash Table Low Register */
 | 
      
         | 167 |  |  | #define ETH_MACHTLR_HTL   ((u32)0xFFFFFFFF)  /* Hash table low */
 | 
      
         | 168 |  |  |  
 | 
      
         | 169 |  |  | /* Bit definition for Ethernet MAC MII Address Register */
 | 
      
         | 170 |  |  | #define ETH_MACMIIAR_PA   ((u32)0x0000F800)  /* Physical layer address */
 | 
      
         | 171 |  |  | #define ETH_MACMIIAR_MR   ((u32)0x000007C0)  /* MII register in the selected PHY */
 | 
      
         | 172 |  |  | #define ETH_MACMIIAR_CR   ((u32)0x0000001C)  /* CR clock range: 6 cases */
 | 
      
         | 173 |  |  |   #define ETH_MACMIIAR_CR_Div42   ((u32)0x00000000)  /* HCLK:60-72 MHz; MDC clock= HCLK/42 */
 | 
      
         | 174 |  |  |   #define ETH_MACMIIAR_CR_Div16   ((u32)0x00000008)  /* HCLK:20-35 MHz; MDC clock= HCLK/16 */
 | 
      
         | 175 |  |  |   #define ETH_MACMIIAR_CR_Div26   ((u32)0x0000000C)  /* HCLK:35-60 MHz; MDC clock= HCLK/26 */
 | 
      
         | 176 |  |  | #define ETH_MACMIIAR_MW   ((u32)0x00000002)  /* MII write */
 | 
      
         | 177 |  |  | #define ETH_MACMIIAR_MB   ((u32)0x00000001)  /* MII busy */
 | 
      
         | 178 |  |  |  
 | 
      
         | 179 |  |  | /* Bit definition for Ethernet MAC MII Data Register */
 | 
      
         | 180 |  |  | #define ETH_MACMIIDR_MD   ((u32)0x0000FFFF)  /* MII data: read/write data from/to PHY */
 | 
      
         | 181 |  |  |  
 | 
      
         | 182 |  |  | /* Bit definition for Ethernet MAC Flow Control Register */
 | 
      
         | 183 |  |  | #define ETH_MACFCR_PT     ((u32)0xFFFF0000)  /* Pause time */
 | 
      
         | 184 |  |  | #define ETH_MACFCR_ZQPD   ((u32)0x00000080)  /* Zero-quanta pause disable */
 | 
      
         | 185 |  |  | #define ETH_MACFCR_PLT    ((u32)0x00000030)  /* Pause low threshold: 4 cases */
 | 
      
         | 186 |  |  |   #define ETH_MACFCR_PLT_Minus4   ((u32)0x00000000)  /* Pause time minus 4 slot times */
 | 
      
         | 187 |  |  |   #define ETH_MACFCR_PLT_Minus28  ((u32)0x00000010)  /* Pause time minus 28 slot times */
 | 
      
         | 188 |  |  |   #define ETH_MACFCR_PLT_Minus144 ((u32)0x00000020)  /* Pause time minus 144 slot times */
 | 
      
         | 189 |  |  |   #define ETH_MACFCR_PLT_Minus256 ((u32)0x00000030)  /* Pause time minus 256 slot times */
 | 
      
         | 190 |  |  | #define ETH_MACFCR_UPFD   ((u32)0x00000008)  /* Unicast pause frame detect */
 | 
      
         | 191 |  |  | #define ETH_MACFCR_RFCE   ((u32)0x00000004)  /* Receive flow control enable */
 | 
      
         | 192 |  |  | #define ETH_MACFCR_TFCE   ((u32)0x00000002)  /* Transmit flow control enable */
 | 
      
         | 193 |  |  | #define ETH_MACFCR_FCBBPA ((u32)0x00000001)  /* Flow control busy/backpressure activate */
 | 
      
         | 194 |  |  |  
 | 
      
         | 195 |  |  | /* Bit definition for Ethernet MAC VLAN Tag Register */
 | 
      
         | 196 |  |  | #define ETH_MACVLANTR_VLANTC ((u32)0x00010000)  /* 12-bit VLAN tag comparison */
 | 
      
         | 197 |  |  | #define ETH_MACVLANTR_VLANTI ((u32)0x0000FFFF)  /* VLAN tag identifier (for receive frames) */
 | 
      
         | 198 |  |  |  
 | 
      
         | 199 |  |  | /* Bit definition for Ethernet MAC Remote Wake-UpFrame Filter Register */
 | 
      
         | 200 |  |  | #define ETH_MACRWUFFR_D   ((u32)0xFFFFFFFF)  /* Wake-up frame filter register data */
 | 
      
         | 201 |  |  | /* Eight sequential Writes to this address (offset 0x28) will write all Wake-UpFrame Filter Registers.
 | 
      
         | 202 |  |  |    Eight sequential Reads from this address (offset 0x28) will read all Wake-UpFrame Filter Registers. */
 | 
      
         | 203 |  |  | /* Wake-UpFrame Filter Reg0 : Filter 0 Byte Mask
 | 
      
         | 204 |  |  |    Wake-UpFrame Filter Reg1 : Filter 1 Byte Mask
 | 
      
         | 205 |  |  |    Wake-UpFrame Filter Reg2 : Filter 2 Byte Mask
 | 
      
         | 206 |  |  |    Wake-UpFrame Filter Reg3 : Filter 3 Byte Mask
 | 
      
         | 207 |  |  |    Wake-UpFrame Filter Reg4 : RSVD - Filter3 Command - RSVD - Filter2 Command -
 | 
      
         | 208 |  |  |                               RSVD - Filter1 Command - RSVD - Filter0 Command
 | 
      
         | 209 |  |  |    Wake-UpFrame Filter Re5 : Filter3 Offset - Filter2 Offset - Filter1 Offset - Filter0 Offset
 | 
      
         | 210 |  |  |    Wake-UpFrame Filter Re6 : Filter1 CRC16 - Filter0 CRC16
 | 
      
         | 211 |  |  |    Wake-UpFrame Filter Re7 : Filter3 CRC16 - Filter2 CRC16 */
 | 
      
         | 212 |  |  |  
 | 
      
         | 213 |  |  | /* Bit definition for Ethernet MAC PMT Control and Status Register */
 | 
      
         | 214 |  |  | #define ETH_MACPMTCSR_WFFRPR ((u32)0x80000000)  /* Wake-Up Frame Filter Register Pointer Reset */
 | 
      
         | 215 |  |  | #define ETH_MACPMTCSR_GU     ((u32)0x00000200)  /* Global Unicast */
 | 
      
         | 216 |  |  | #define ETH_MACPMTCSR_WFR    ((u32)0x00000040)  /* Wake-Up Frame Received */
 | 
      
         | 217 |  |  | #define ETH_MACPMTCSR_MPR    ((u32)0x00000020)  /* Magic Packet Received */
 | 
      
         | 218 |  |  | #define ETH_MACPMTCSR_WFE    ((u32)0x00000004)  /* Wake-Up Frame Enable */
 | 
      
         | 219 |  |  | #define ETH_MACPMTCSR_MPE    ((u32)0x00000002)  /* Magic Packet Enable */
 | 
      
         | 220 |  |  | #define ETH_MACPMTCSR_PD     ((u32)0x00000001)  /* Power Down */
 | 
      
         | 221 |  |  |  
 | 
      
         | 222 |  |  | /* Bit definition for Ethernet MAC Status Register */
 | 
      
         | 223 |  |  | #define ETH_MACSR_TSTS      ((u32)0x00000200)  /* Time stamp trigger status */
 | 
      
         | 224 |  |  | #define ETH_MACSR_MMCTS     ((u32)0x00000040)  /* MMC transmit status */
 | 
      
         | 225 |  |  | #define ETH_MACSR_MMMCRS    ((u32)0x00000020)  /* MMC receive status */
 | 
      
         | 226 |  |  | #define ETH_MACSR_MMCS      ((u32)0x00000010)  /* MMC status */
 | 
      
         | 227 |  |  | #define ETH_MACSR_PMTS      ((u32)0x00000008)  /* PMT status */
 | 
      
         | 228 |  |  |  
 | 
      
         | 229 |  |  | /* Bit definition for Ethernet MAC Interrupt Mask Register */
 | 
      
         | 230 |  |  | #define ETH_MACIMR_TSTIM     ((u32)0x00000200)  /* Time stamp trigger interrupt mask */
 | 
      
         | 231 |  |  | #define ETH_MACIMR_PMTIM     ((u32)0x00000008)  /* PMT interrupt mask */
 | 
      
         | 232 |  |  |  
 | 
      
         | 233 |  |  | /* Bit definition for Ethernet MAC Address0 High Register */
 | 
      
         | 234 |  |  | #define ETH_MACA0HR_MACA0H   ((u32)0x0000FFFF)  /* MAC address0 high */
 | 
      
         | 235 |  |  |  
 | 
      
         | 236 |  |  | /* Bit definition for Ethernet MAC Address0 Low Register */
 | 
      
         | 237 |  |  | #define ETH_MACA0LR_MACA0L   ((u32)0xFFFFFFFF)  /* MAC address0 low */
 | 
      
         | 238 |  |  |  
 | 
      
         | 239 |  |  | /* Bit definition for Ethernet MAC Address1 High Register */
 | 
      
         | 240 |  |  | #define ETH_MACA1HR_AE       ((u32)0x80000000)  /* Address enable */
 | 
      
         | 241 |  |  | #define ETH_MACA1HR_SA       ((u32)0x40000000)  /* Source address */
 | 
      
         | 242 |  |  | #define ETH_MACA1HR_MBC      ((u32)0x3F000000)  /* Mask byte control: bits to mask for comparison of the MAC Address bytes */
 | 
      
         | 243 |  |  |   #define ETH_MACA1HR_MBC_HBits15_8    ((u32)0x20000000)  /* Mask MAC Address high reg bits [15:8] */
 | 
      
         | 244 |  |  |   #define ETH_MACA1HR_MBC_HBits7_0     ((u32)0x10000000)  /* Mask MAC Address high reg bits [7:0] */
 | 
      
         | 245 |  |  |   #define ETH_MACA1HR_MBC_LBits31_24   ((u32)0x08000000)  /* Mask MAC Address low reg bits [31:24] */
 | 
      
         | 246 |  |  |   #define ETH_MACA1HR_MBC_LBits23_16   ((u32)0x04000000)  /* Mask MAC Address low reg bits [23:16] */
 | 
      
         | 247 |  |  |   #define ETH_MACA1HR_MBC_LBits15_8    ((u32)0x02000000)  /* Mask MAC Address low reg bits [15:8] */
 | 
      
         | 248 |  |  |   #define ETH_MACA1HR_MBC_LBits7_0     ((u32)0x01000000)  /* Mask MAC Address low reg bits [7:0] */
 | 
      
         | 249 |  |  | #define ETH_MACA1HR_MACA1H   ((u32)0x0000FFFF)  /* MAC address1 high */
 | 
      
         | 250 |  |  |  
 | 
      
         | 251 |  |  | /* Bit definition for Ethernet MAC Address1 Low Register */
 | 
      
         | 252 |  |  | #define ETH_MACA1LR_MACA1L   ((u32)0xFFFFFFFF)  /* MAC address1 low */
 | 
      
         | 253 |  |  |  
 | 
      
         | 254 |  |  | /* Bit definition for Ethernet MAC Address2 High Register */
 | 
      
         | 255 |  |  | #define ETH_MACA2HR_AE       ((u32)0x80000000)  /* Address enable */
 | 
      
         | 256 |  |  | #define ETH_MACA2HR_SA       ((u32)0x40000000)  /* Source address */
 | 
      
         | 257 |  |  | #define ETH_MACA2HR_MBC      ((u32)0x3F000000)  /* Mask byte control */
 | 
      
         | 258 |  |  |   #define ETH_MACA2HR_MBC_HBits15_8    ((u32)0x20000000)  /* Mask MAC Address high reg bits [15:8] */
 | 
      
         | 259 |  |  |   #define ETH_MACA2HR_MBC_HBits7_0     ((u32)0x10000000)  /* Mask MAC Address high reg bits [7:0] */
 | 
      
         | 260 |  |  |   #define ETH_MACA2HR_MBC_LBits31_24   ((u32)0x08000000)  /* Mask MAC Address low reg bits [31:24] */
 | 
      
         | 261 |  |  |   #define ETH_MACA2HR_MBC_LBits23_16   ((u32)0x04000000)  /* Mask MAC Address low reg bits [23:16] */
 | 
      
         | 262 |  |  |   #define ETH_MACA2HR_MBC_LBits15_8    ((u32)0x02000000)  /* Mask MAC Address low reg bits [15:8] */
 | 
      
         | 263 |  |  |   #define ETH_MACA2HR_MBC_LBits7_0     ((u32)0x01000000)  /* Mask MAC Address low reg bits [70] */
 | 
      
         | 264 |  |  | #define ETH_MACA2HR_MACA2H   ((u32)0x0000FFFF)  /* MAC address1 high */
 | 
      
         | 265 |  |  |  
 | 
      
         | 266 |  |  | /* Bit definition for Ethernet MAC Address2 Low Register */
 | 
      
         | 267 |  |  | #define ETH_MACA2LR_MACA2L   ((u32)0xFFFFFFFF)  /* MAC address2 low */
 | 
      
         | 268 |  |  |  
 | 
      
         | 269 |  |  | /* Bit definition for Ethernet MAC Address3 High Register */
 | 
      
         | 270 |  |  | #define ETH_MACA3HR_AE       ((u32)0x80000000)  /* Address enable */
 | 
      
         | 271 |  |  | #define ETH_MACA3HR_SA       ((u32)0x40000000)  /* Source address */
 | 
      
         | 272 |  |  | #define ETH_MACA3HR_MBC      ((u32)0x3F000000)  /* Mask byte control */
 | 
      
         | 273 |  |  |   #define ETH_MACA2HR_MBC_HBits15_8    ((u32)0x20000000)  /* Mask MAC Address high reg bits [15:8] */
 | 
      
         | 274 |  |  |   #define ETH_MACA2HR_MBC_HBits7_0     ((u32)0x10000000)  /* Mask MAC Address high reg bits [7:0] */
 | 
      
         | 275 |  |  |   #define ETH_MACA2HR_MBC_LBits31_24   ((u32)0x08000000)  /* Mask MAC Address low reg bits [31:24] */
 | 
      
         | 276 |  |  |   #define ETH_MACA2HR_MBC_LBits23_16   ((u32)0x04000000)  /* Mask MAC Address low reg bits [23:16] */
 | 
      
         | 277 |  |  |   #define ETH_MACA2HR_MBC_LBits15_8    ((u32)0x02000000)  /* Mask MAC Address low reg bits [15:8] */
 | 
      
         | 278 |  |  |   #define ETH_MACA2HR_MBC_LBits7_0     ((u32)0x01000000)  /* Mask MAC Address low reg bits [70] */
 | 
      
         | 279 |  |  | #define ETH_MACA3HR_MACA3H   ((u32)0x0000FFFF)  /* MAC address3 high */
 | 
      
         | 280 |  |  |  
 | 
      
         | 281 |  |  | /* Bit definition for Ethernet MAC Address3 Low Register */
 | 
      
         | 282 |  |  | #define ETH_MACA3LR_MACA3L   ((u32)0xFFFFFFFF)  /* MAC address3 low */
 | 
      
         | 283 |  |  |  
 | 
      
         | 284 |  |  | /******************************************************************************/
 | 
      
         | 285 |  |  | /*                Ethernet MMC Registers bits definition                      */
 | 
      
         | 286 |  |  | /******************************************************************************/
 | 
      
         | 287 |  |  |  
 | 
      
         | 288 |  |  | /* Bit definition for Ethernet MMC Contol Register */
 | 
      
         | 289 |  |  | #define ETH_MMCCR_MCF        ((u32)0x00000008)  /* MMC Counter Freeze */
 | 
      
         | 290 |  |  | #define ETH_MMCCR_ROR        ((u32)0x00000004)  /* Reset on Read */
 | 
      
         | 291 |  |  | #define ETH_MMCCR_CSR        ((u32)0x00000002)  /* Counter Stop Rollover */
 | 
      
         | 292 |  |  | #define ETH_MMCCR_CR         ((u32)0x00000001)  /* Counters Reset */
 | 
      
         | 293 |  |  |  
 | 
      
         | 294 |  |  | /* Bit definition for Ethernet MMC Receive Interrupt Register */
 | 
      
         | 295 |  |  | #define ETH_MMCRIR_RGUFS     ((u32)0x00020000)  /* Set when Rx good unicast frames counter reaches half the maximum value */
 | 
      
         | 296 |  |  | #define ETH_MMCRIR_RFAES     ((u32)0x00000040)  /* Set when Rx alignment error counter reaches half the maximum value */
 | 
      
         | 297 |  |  | #define ETH_MMCRIR_RFCES     ((u32)0x00000020)  /* Set when Rx crc error counter reaches half the maximum value */
 | 
      
         | 298 |  |  |  
 | 
      
         | 299 |  |  | /* Bit definition for Ethernet MMC Transmit Interrupt Register */
 | 
      
         | 300 |  |  | #define ETH_MMCTIR_TGFS      ((u32)0x00200000)  /* Set when Tx good frame count counter reaches half the maximum value */
 | 
      
         | 301 |  |  | #define ETH_MMCTIR_TGFMSCS   ((u32)0x00008000)  /* Set when Tx good multi col counter reaches half the maximum value */
 | 
      
         | 302 |  |  | #define ETH_MMCTIR_TGFSCS    ((u32)0x00004000)  /* Set when Tx good single col counter reaches half the maximum value */
 | 
      
         | 303 |  |  |  
 | 
      
         | 304 |  |  | /* Bit definition for Ethernet MMC Receive Interrupt Mask Register */
 | 
      
         | 305 |  |  | #define ETH_MMCRIMR_RGUFM    ((u32)0x00020000)  /* Mask the interrupt when Rx good unicast frames counter reaches half the maximum value */
 | 
      
         | 306 |  |  | #define ETH_MMCRIMR_RFAEM    ((u32)0x00000040)  /* Mask the interrupt when when Rx alignment error counter reaches half the maximum value */
 | 
      
         | 307 |  |  | #define ETH_MMCRIMR_RFCEM    ((u32)0x00000020)  /* Mask the interrupt when Rx crc error counter reaches half the maximum value */
 | 
      
         | 308 |  |  |  
 | 
      
         | 309 |  |  | /* Bit definition for Ethernet MMC Transmit Interrupt Mask Register */
 | 
      
         | 310 |  |  | #define ETH_MMCTIMR_TGFM     ((u32)0x00200000)  /* Mask the interrupt when Tx good frame count counter reaches half the maximum value */
 | 
      
         | 311 |  |  | #define ETH_MMCTIMR_TGFMSCM  ((u32)0x00008000)  /* Mask the interrupt when Tx good multi col counter reaches half the maximum value */
 | 
      
         | 312 |  |  | #define ETH_MMCTIMR_TGFSCM   ((u32)0x00004000)  /* Mask the interrupt when Tx good single col counter reaches half the maximum value */
 | 
      
         | 313 |  |  |  
 | 
      
         | 314 |  |  | /* Bit definition for Ethernet MMC Transmitted Good Frames after Single Collision Counter Register */
 | 
      
         | 315 |  |  | #define ETH_MMCTGFSCCR_TGFSCC     ((u32)0xFFFFFFFF)  /* Number of successfully transmitted frames after a single collision in Half-duplex mode. */
 | 
      
         | 316 |  |  |  
 | 
      
         | 317 |  |  | /* Bit definition for Ethernet MMC Transmitted Good Frames after More than a Single Collision Counter Register */
 | 
      
         | 318 |  |  | #define ETH_MMCTGFMSCCR_TGFMSCC   ((u32)0xFFFFFFFF)  /* Number of successfully transmitted frames after more than a single collision in Half-duplex mode. */
 | 
      
         | 319 |  |  |  
 | 
      
         | 320 |  |  | /* Bit definition for Ethernet MMC Transmitted Good Frames Counter Register */
 | 
      
         | 321 |  |  | #define ETH_MMCTGFCR_TGFC    ((u32)0xFFFFFFFF)  /* Number of good frames transmitted. */
 | 
      
         | 322 |  |  |  
 | 
      
         | 323 |  |  | /* Bit definition for Ethernet MMC Received Frames with CRC Error Counter Register */
 | 
      
         | 324 |  |  | #define ETH_MMCRFCECR_RFCEC  ((u32)0xFFFFFFFF)  /* Number of frames received with CRC error. */
 | 
      
         | 325 |  |  |  
 | 
      
         | 326 |  |  | /* Bit definition for Ethernet MMC Received Frames with Alignement Error Counter Register */
 | 
      
         | 327 |  |  | #define ETH_MMCRFAECR_RFAEC  ((u32)0xFFFFFFFF)  /* Number of frames received with alignment (dribble) error */
 | 
      
         | 328 |  |  |  
 | 
      
         | 329 |  |  | /* Bit definition for Ethernet MMC Received Good Unicast Frames Counter Register */
 | 
      
         | 330 |  |  | #define ETH_MMCRGUFCR_RGUFC  ((u32)0xFFFFFFFF)  /* Number of good unicast frames received. */
 | 
      
         | 331 |  |  |  
 | 
      
         | 332 |  |  | /******************************************************************************/
 | 
      
         | 333 |  |  | /*               Ethernet PTP Registers bits definition                       */
 | 
      
         | 334 |  |  | /******************************************************************************/
 | 
      
         | 335 |  |  |  
 | 
      
         | 336 |  |  | /* Bit definition for Ethernet PTP Time Stamp Contol Register */
 | 
      
         | 337 |  |  | #define ETH_PTPTSCR_TSARU    ((u32)0x00000020)  /* Addend register update */
 | 
      
         | 338 |  |  | #define ETH_PTPTSCR_TSITE    ((u32)0x00000010)  /* Time stamp interrupt trigger enable */
 | 
      
         | 339 |  |  | #define ETH_PTPTSCR_TSSTU    ((u32)0x00000008)  /* Time stamp update */
 | 
      
         | 340 |  |  | #define ETH_PTPTSCR_TSSTI    ((u32)0x00000004)  /* Time stamp initialize */
 | 
      
         | 341 |  |  | #define ETH_PTPTSCR_TSFCU    ((u32)0x00000002)  /* Time stamp fine or coarse update */
 | 
      
         | 342 |  |  | #define ETH_PTPTSCR_TSE      ((u32)0x00000001)  /* Time stamp enable */
 | 
      
         | 343 |  |  |  
 | 
      
         | 344 |  |  | /* Bit definition for Ethernet PTP Sub-Second Increment Register */
 | 
      
         | 345 |  |  | #define ETH_PTPSSIR_STSSI    ((u32)0x000000FF)  /* System time Sub-second increment value */
 | 
      
         | 346 |  |  |  
 | 
      
         | 347 |  |  | /* Bit definition for Ethernet PTP Time Stamp High Register */
 | 
      
         | 348 |  |  | #define ETH_PTPTSHR_STS      ((u32)0xFFFFFFFF)  /* System Time second */
 | 
      
         | 349 |  |  |  
 | 
      
         | 350 |  |  | /* Bit definition for Ethernet PTP Time Stamp Low Register */
 | 
      
         | 351 |  |  | #define ETH_PTPTSLR_STPNS    ((u32)0x80000000)  /* System Time Positive or negative time */
 | 
      
         | 352 |  |  | #define ETH_PTPTSLR_STSS     ((u32)0x7FFFFFFF)  /* System Time sub-seconds */
 | 
      
         | 353 |  |  |  
 | 
      
         | 354 |  |  | /* Bit definition for Ethernet PTP Time Stamp High Update Register */
 | 
      
         | 355 |  |  | #define ETH_PTPTSHUR_TSUS    ((u32)0xFFFFFFFF)  /* Time stamp update seconds */
 | 
      
         | 356 |  |  |  
 | 
      
         | 357 |  |  | /* Bit definition for Ethernet PTP Time Stamp Low Update Register */
 | 
      
         | 358 |  |  | #define ETH_PTPTSLUR_TSUPNS  ((u32)0x80000000)  /* Time stamp update Positive or negative time */
 | 
      
         | 359 |  |  | #define ETH_PTPTSLUR_TSUSS   ((u32)0x7FFFFFFF)  /* Time stamp update sub-seconds */
 | 
      
         | 360 |  |  |  
 | 
      
         | 361 |  |  | /* Bit definition for Ethernet PTP Time Stamp Addend Register */
 | 
      
         | 362 |  |  | #define ETH_PTPTSAR_TSA      ((u32)0xFFFFFFFF)  /* Time stamp addend */
 | 
      
         | 363 |  |  |  
 | 
      
         | 364 |  |  | /* Bit definition for Ethernet PTP Target Time High Register */
 | 
      
         | 365 |  |  | #define ETH_PTPTTHR_TTSH     ((u32)0xFFFFFFFF)  /* Target time stamp high */
 | 
      
         | 366 |  |  |  
 | 
      
         | 367 |  |  | /* Bit definition for Ethernet PTP Target Time Low Register */
 | 
      
         | 368 |  |  | #define ETH_PTPTTLR_TTSL     ((u32)0xFFFFFFFF)  /* Target time stamp low */
 | 
      
         | 369 |  |  |  
 | 
      
         | 370 |  |  | /******************************************************************************/
 | 
      
         | 371 |  |  | /*                 Ethernet DMA Registers bits definition                     */
 | 
      
         | 372 |  |  | /******************************************************************************/
 | 
      
         | 373 |  |  |  
 | 
      
         | 374 |  |  | /* Bit definition for Ethernet DMA Bus Mode Register */
 | 
      
         | 375 |  |  | #define ETH_DMABMR_AAB       ((u32)0x02000000)  /* Address-Aligned beats */
 | 
      
         | 376 |  |  | #define ETH_DMABMR_FPM        ((u32)0x01000000)  /* 4xPBL mode */
 | 
      
         | 377 |  |  | #define ETH_DMABMR_USP       ((u32)0x00800000)  /* Use separate PBL */
 | 
      
         | 378 |  |  | #define ETH_DMABMR_RDP       ((u32)0x007E0000)  /* RxDMA PBL */
 | 
      
         | 379 |  |  |   /* Values to be confirmed: maybe they are inversed */
 | 
      
         | 380 |  |  |   #define ETH_DMABMR_RDP_1Beat    ((u32)0x00020000)  /* maximum number of beats to be transferred in one RxDMA transaction is 1 */
 | 
      
         | 381 |  |  |   #define ETH_DMABMR_RDP_2Beat    ((u32)0x00040000)  /* maximum number of beats to be transferred in one RxDMA transaction is 2 */
 | 
      
         | 382 |  |  |   #define ETH_DMABMR_RDP_4Beat    ((u32)0x00080000)  /* maximum number of beats to be transferred in one RxDMA transaction is 4 */
 | 
      
         | 383 |  |  |   #define ETH_DMABMR_RDP_8Beat    ((u32)0x00100000)  /* maximum number of beats to be transferred in one RxDMA transaction is 8 */
 | 
      
         | 384 |  |  |   #define ETH_DMABMR_RDP_16Beat   ((u32)0x00200000)  /* maximum number of beats to be transferred in one RxDMA transaction is 16 */
 | 
      
         | 385 |  |  |   #define ETH_DMABMR_RDP_32Beat   ((u32)0x00400000)  /* maximum number of beats to be transferred in one RxDMA transaction is 32 */
 | 
      
         | 386 |  |  |   #define ETH_DMABMR_RDP_4xPBL_4Beat   ((u32)0x01020000)  /* maximum number of beats to be transferred in one RxDMA transaction is 4 */
 | 
      
         | 387 |  |  |   #define ETH_DMABMR_RDP_4xPBL_8Beat   ((u32)0x01040000)  /* maximum number of beats to be transferred in one RxDMA transaction is 8 */
 | 
      
         | 388 |  |  |   #define ETH_DMABMR_RDP_4xPBL_16Beat  ((u32)0x01080000)  /* maximum number of beats to be transferred in one RxDMA transaction is 16 */
 | 
      
         | 389 |  |  |   #define ETH_DMABMR_RDP_4xPBL_32Beat  ((u32)0x01100000)  /* maximum number of beats to be transferred in one RxDMA transaction is 32 */
 | 
      
         | 390 |  |  |   #define ETH_DMABMR_RDP_4xPBL_64Beat  ((u32)0x01200000)  /* maximum number of beats to be transferred in one RxDMA transaction is 64 */
 | 
      
         | 391 |  |  |   #define ETH_DMABMR_RDP_4xPBL_128Beat ((u32)0x01400000)  /* maximum number of beats to be transferred in one RxDMA transaction is 128 */
 | 
      
         | 392 |  |  | #define ETH_DMABMR_FB        ((u32)0x00010000)  /* Fixed Burst */
 | 
      
         | 393 |  |  | #define ETH_DMABMR_RTPR      ((u32)0x0000C000)  /* Rx Tx priority ratio */
 | 
      
         | 394 |  |  |   #define ETH_DMABMR_RTPR_1_1     ((u32)0x00000000)  /* Rx Tx priority ratio */
 | 
      
         | 395 |  |  |   #define ETH_DMABMR_RTPR_2_1     ((u32)0x00004000)  /* Rx Tx priority ratio */
 | 
      
         | 396 |  |  |   #define ETH_DMABMR_RTPR_3_1     ((u32)0x00008000)  /* Rx Tx priority ratio */
 | 
      
         | 397 |  |  |   #define ETH_DMABMR_RTPR_4_1     ((u32)0x0000C000)  /* Rx Tx priority ratio */
 | 
      
         | 398 |  |  | #define ETH_DMABMR_PBL    ((u32)0x00003F00)  /* Programmable burst length */
 | 
      
         | 399 |  |  |   /* Values to be confirmed: maybe they are inversed */
 | 
      
         | 400 |  |  |   #define ETH_DMABMR_PBL_1Beat    ((u32)0x00000100)  /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 1 */
 | 
      
         | 401 |  |  |   #define ETH_DMABMR_PBL_2Beat    ((u32)0x00000200)  /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 2 */
 | 
      
         | 402 |  |  |   #define ETH_DMABMR_PBL_4Beat    ((u32)0x00000400)  /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 4 */
 | 
      
         | 403 |  |  |   #define ETH_DMABMR_PBL_8Beat    ((u32)0x00000800)  /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 8 */
 | 
      
         | 404 |  |  |   #define ETH_DMABMR_PBL_16Beat   ((u32)0x00001000)  /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 16 */
 | 
      
         | 405 |  |  |   #define ETH_DMABMR_PBL_32Beat   ((u32)0x00002000)  /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 32 */
 | 
      
         | 406 |  |  |   #define ETH_DMABMR_PBL_4xPBL_4Beat   ((u32)0x01000100)  /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 4 */
 | 
      
         | 407 |  |  |   #define ETH_DMABMR_PBL_4xPBL_8Beat   ((u32)0x01000200)  /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 8 */
 | 
      
         | 408 |  |  |   #define ETH_DMABMR_PBL_4xPBL_16Beat  ((u32)0x01000400)  /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 16 */
 | 
      
         | 409 |  |  |   #define ETH_DMABMR_PBL_4xPBL_32Beat  ((u32)0x01000800)  /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 32 */
 | 
      
         | 410 |  |  |   #define ETH_DMABMR_PBL_4xPBL_64Beat  ((u32)0x01001000)  /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 64 */
 | 
      
         | 411 |  |  |   #define ETH_DMABMR_PBL_4xPBL_128Beat ((u32)0x01002000)  /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 128 */
 | 
      
         | 412 |  |  | #define ETH_DMABMR_DSL       ((u32)0x0000007C)  /* Descriptor Skip Length */
 | 
      
         | 413 |  |  | #define ETH_DMABMR_DA        ((u32)0x00000002)  /* DMA arbitration scheme */
 | 
      
         | 414 |  |  | #define ETH_DMABMR_SR        ((u32)0x00000001)  /* Software reset */
 | 
      
         | 415 |  |  |  
 | 
      
         | 416 |  |  | /* Bit definition for Ethernet DMA Transmit Poll Demand Register */
 | 
      
         | 417 |  |  | #define ETH_DMATPDR_TPD      ((u32)0xFFFFFFFF)  /* Transmit poll demand */
 | 
      
         | 418 |  |  |  
 | 
      
         | 419 |  |  | /* Bit definition for Ethernet DMA Receive Poll Demand Register */
 | 
      
         | 420 |  |  | #define ETH_DMARPDR_RPD      ((u32)0xFFFFFFFF)  /* Receive poll demand  */
 | 
      
         | 421 |  |  |  
 | 
      
         | 422 |  |  | /* Bit definition for Ethernet DMA Receive Descriptor List Address Register */
 | 
      
         | 423 |  |  | #define ETH_DMARDLAR_SRL     ((u32)0xFFFFFFFF)  /* Start of receive list */
 | 
      
         | 424 |  |  |  
 | 
      
         | 425 |  |  | /* Bit definition for Ethernet DMA Transmit Descriptor List Address Register */
 | 
      
         | 426 |  |  | #define ETH_DMATDLAR_STL     ((u32)0xFFFFFFFF)  /* Start of transmit list */
 | 
      
         | 427 |  |  |  
 | 
      
         | 428 |  |  | /* Bit definition for Ethernet DMA Status Register */
 | 
      
         | 429 |  |  | #define ETH_DMASR_TSTS       ((u32)0x20000000)  /* Time-stamp trigger status */
 | 
      
         | 430 |  |  | #define ETH_DMASR_PMTS       ((u32)0x10000000)  /* PMT status */
 | 
      
         | 431 |  |  | #define ETH_DMASR_MMCS       ((u32)0x08000000)  /* MMC status */
 | 
      
         | 432 |  |  | #define ETH_DMASR_EBS        ((u32)0x03800000)  /* Error bits status */
 | 
      
         | 433 |  |  |   /* combination with EBS[2:0] for GetFlagStatus function */
 | 
      
         | 434 |  |  |   #define ETH_DMASR_EBS_DescAccess      ((u32)0x02000000)  /* Error bits 0-data buffer, 1-desc. access */
 | 
      
         | 435 |  |  |   #define ETH_DMASR_EBS_ReadTransf      ((u32)0x01000000)  /* Error bits 0-write trnsf, 1-read transfr */
 | 
      
         | 436 |  |  |   #define ETH_DMASR_EBS_DataTransfTx    ((u32)0x00800000)  /* Error bits 0-Rx DMA, 1-Tx DMA */
 | 
      
         | 437 |  |  | #define ETH_DMASR_TPS         ((u32)0x00700000)  /* Transmit process state */
 | 
      
         | 438 |  |  |   #define ETH_DMASR_TPS_Stopped         ((u32)0x00000000)  /* Stopped - Reset or Stop Tx Command issued  */
 | 
      
         | 439 |  |  |   #define ETH_DMASR_TPS_Fetching        ((u32)0x00100000)  /* Running - fetching the Tx descriptor */
 | 
      
         | 440 |  |  |   #define ETH_DMASR_TPS_Waiting         ((u32)0x00200000)  /* Running - waiting for status */
 | 
      
         | 441 |  |  |   #define ETH_DMASR_TPS_Reading         ((u32)0x00300000)  /* Running - reading the data from host memory */
 | 
      
         | 442 |  |  |   #define ETH_DMASR_TPS_Suspended       ((u32)0x00600000)  /* Suspended - Tx Descriptor unavailabe */
 | 
      
         | 443 |  |  |   #define ETH_DMASR_TPS_Closing         ((u32)0x00700000)  /* Running - closing Rx descriptor */
 | 
      
         | 444 |  |  | #define ETH_DMASR_RPS         ((u32)0x000E0000)  /* Receive process state */
 | 
      
         | 445 |  |  |   #define ETH_DMASR_RPS_Stopped         ((u32)0x00000000)  /* Stopped - Reset or Stop Rx Command issued */
 | 
      
         | 446 |  |  |   #define ETH_DMASR_RPS_Fetching        ((u32)0x00020000)  /* Running - fetching the Rx descriptor */
 | 
      
         | 447 |  |  |   #define ETH_DMASR_RPS_Waiting         ((u32)0x00060000)  /* Running - waiting for packet */
 | 
      
         | 448 |  |  |   #define ETH_DMASR_RPS_Suspended       ((u32)0x00080000)  /* Suspended - Rx Descriptor unavailable */
 | 
      
         | 449 |  |  |   #define ETH_DMASR_RPS_Closing         ((u32)0x000A0000)  /* Running - closing descriptor */
 | 
      
         | 450 |  |  |   #define ETH_DMASR_RPS_Queuing         ((u32)0x000E0000)  /* Running - queuing the recieve frame into host memory */
 | 
      
         | 451 |  |  | #define ETH_DMASR_NIS        ((u32)0x00010000)  /* Normal interrupt summary */
 | 
      
         | 452 |  |  | #define ETH_DMASR_AIS        ((u32)0x00008000)  /* Abnormal interrupt summary */
 | 
      
         | 453 |  |  | #define ETH_DMASR_ERS        ((u32)0x00004000)  /* Early receive status */
 | 
      
         | 454 |  |  | #define ETH_DMASR_FBES       ((u32)0x00002000)  /* Fatal bus error status */
 | 
      
         | 455 |  |  | #define ETH_DMASR_ETS        ((u32)0x00000400)  /* Early transmit status */
 | 
      
         | 456 |  |  | #define ETH_DMASR_RWTS       ((u32)0x00000200)  /* Receive watchdog timeout status */
 | 
      
         | 457 |  |  | #define ETH_DMASR_RPSS       ((u32)0x00000100)  /* Receive process stopped status */
 | 
      
         | 458 |  |  | #define ETH_DMASR_RBUS       ((u32)0x00000080)  /* Receive buffer unavailable status */
 | 
      
         | 459 |  |  | #define ETH_DMASR_RS         ((u32)0x00000040)  /* Receive status */
 | 
      
         | 460 |  |  | #define ETH_DMASR_TUS        ((u32)0x00000020)  /* Transmit underflow status */
 | 
      
         | 461 |  |  | #define ETH_DMASR_ROS        ((u32)0x00000010)  /* Receive overflow status */
 | 
      
         | 462 |  |  | #define ETH_DMASR_TJTS       ((u32)0x00000008)  /* Transmit jabber timeout status */
 | 
      
         | 463 |  |  | #define ETH_DMASR_TBUS       ((u32)0x00000004)  /* Transmit buffer unavailable status */
 | 
      
         | 464 |  |  | #define ETH_DMASR_TPSS       ((u32)0x00000002)  /* Transmit process stopped status */
 | 
      
         | 465 |  |  | #define ETH_DMASR_TS         ((u32)0x00000001)  /* Transmit status */
 | 
      
         | 466 |  |  |  
 | 
      
         | 467 |  |  | /* Bit definition for Ethernet DMA Operation Mode Register */
 | 
      
         | 468 |  |  | #define ETH_DMAOMR_DTCEFD    ((u32)0x04000000)  /* Disable Dropping of TCP/IP checksum error frames */
 | 
      
         | 469 |  |  | #define ETH_DMAOMR_RSF       ((u32)0x02000000)  /* Receive store and forward */
 | 
      
         | 470 |  |  | #define ETH_DMAOMR_DFRF      ((u32)0x01000000)  /* Disable flushing of received frames */
 | 
      
         | 471 |  |  | #define ETH_DMAOMR_TSF       ((u32)0x00200000)  /* Transmit store and forward */
 | 
      
         | 472 |  |  | #define ETH_DMAOMR_FTF       ((u32)0x00100000)  /* Flush transmit FIFO */
 | 
      
         | 473 |  |  | #define ETH_DMAOMR_TTC       ((u32)0x0001C000)  /* Transmit threshold control */
 | 
      
         | 474 |  |  |   #define ETH_DMAOMR_TTC_64Bytes       ((u32)0x00000000)  /* threshold level of the MTL Transmit FIFO is 64 Bytes */
 | 
      
         | 475 |  |  |   #define ETH_DMAOMR_TTC_128Bytes      ((u32)0x00004000)  /* threshold level of the MTL Transmit FIFO is 128 Bytes */
 | 
      
         | 476 |  |  |   #define ETH_DMAOMR_TTC_192Bytes      ((u32)0x00008000)  /* threshold level of the MTL Transmit FIFO is 192 Bytes */
 | 
      
         | 477 |  |  |   #define ETH_DMAOMR_TTC_256Bytes      ((u32)0x0000C000)  /* threshold level of the MTL Transmit FIFO is 256 Bytes */
 | 
      
         | 478 |  |  |   #define ETH_DMAOMR_TTC_40Bytes       ((u32)0x00010000)  /* threshold level of the MTL Transmit FIFO is 40 Bytes */
 | 
      
         | 479 |  |  |   #define ETH_DMAOMR_TTC_32Bytes       ((u32)0x00014000)  /* threshold level of the MTL Transmit FIFO is 32 Bytes */
 | 
      
         | 480 |  |  |   #define ETH_DMAOMR_TTC_24Bytes       ((u32)0x00018000)  /* threshold level of the MTL Transmit FIFO is 24 Bytes */
 | 
      
         | 481 |  |  |   #define ETH_DMAOMR_TTC_16Bytes       ((u32)0x0001C000)  /* threshold level of the MTL Transmit FIFO is 16 Bytes */
 | 
      
         | 482 |  |  | #define ETH_DMAOMR_ST        ((u32)0x00002000)  /* Start/stop transmission command */
 | 
      
         | 483 |  |  | #define ETH_DMAOMR_FEF       ((u32)0x00000080)  /* Forward error frames */
 | 
      
         | 484 |  |  | #define ETH_DMAOMR_FUGF      ((u32)0x00000040)  /* Forward undersized good frames */
 | 
      
         | 485 |  |  | #define ETH_DMAOMR_RTC       ((u32)0x00000018)  /* receive threshold control */
 | 
      
         | 486 |  |  |   #define ETH_DMAOMR_RTC_64Bytes       ((u32)0x00000000)  /* threshold level of the MTL Receive FIFO is 64 Bytes */
 | 
      
         | 487 |  |  |   #define ETH_DMAOMR_RTC_32Bytes       ((u32)0x00000008)  /* threshold level of the MTL Receive FIFO is 32 Bytes */
 | 
      
         | 488 |  |  |   #define ETH_DMAOMR_RTC_96Bytes       ((u32)0x00000010)  /* threshold level of the MTL Receive FIFO is 96 Bytes */
 | 
      
         | 489 |  |  |   #define ETH_DMAOMR_RTC_128Bytes      ((u32)0x00000018)  /* threshold level of the MTL Receive FIFO is 128 Bytes */
 | 
      
         | 490 |  |  | #define ETH_DMAOMR_OSF       ((u32)0x00000004)  /* operate on second frame */
 | 
      
         | 491 |  |  | #define ETH_DMAOMR_SR        ((u32)0x00000002)  /* Start/stop receive */
 | 
      
         | 492 |  |  |  
 | 
      
         | 493 |  |  | /* Bit definition for Ethernet DMA Interrupt Enable Register */
 | 
      
         | 494 |  |  | #define ETH_DMAIER_NISE      ((u32)0x00010000)  /* Normal interrupt summary enable */
 | 
      
         | 495 |  |  | #define ETH_DMAIER_AISE      ((u32)0x00008000)  /* Abnormal interrupt summary enable */
 | 
      
         | 496 |  |  | #define ETH_DMAIER_ERIE      ((u32)0x00004000)  /* Early receive interrupt enable */
 | 
      
         | 497 |  |  | #define ETH_DMAIER_FBEIE     ((u32)0x00002000)  /* Fatal bus error interrupt enable */
 | 
      
         | 498 |  |  | #define ETH_DMAIER_ETIE      ((u32)0x00000400)  /* Early transmit interrupt enable */
 | 
      
         | 499 |  |  | #define ETH_DMAIER_RWTIE     ((u32)0x00000200)  /* Receive watchdog timeout interrupt enable */
 | 
      
         | 500 |  |  | #define ETH_DMAIER_RPSIE     ((u32)0x00000100)  /* Receive process stopped interrupt enable */
 | 
      
         | 501 |  |  | #define ETH_DMAIER_RBUIE     ((u32)0x00000080)  /* Receive buffer unavailable interrupt enable */
 | 
      
         | 502 |  |  | #define ETH_DMAIER_RIE       ((u32)0x00000040)  /* Receive interrupt enable */
 | 
      
         | 503 |  |  | #define ETH_DMAIER_TUIE      ((u32)0x00000020)  /* Transmit Underflow interrupt enable */
 | 
      
         | 504 |  |  | #define ETH_DMAIER_ROIE      ((u32)0x00000010)  /* Receive Overflow interrupt enable */
 | 
      
         | 505 |  |  | #define ETH_DMAIER_TJTIE     ((u32)0x00000008)  /* Transmit jabber timeout interrupt enable */
 | 
      
         | 506 |  |  | #define ETH_DMAIER_TBUIE     ((u32)0x00000004)  /* Transmit buffer unavailable interrupt enable */
 | 
      
         | 507 |  |  | #define ETH_DMAIER_TPSIE     ((u32)0x00000002)  /* Transmit process stopped interrupt enable */
 | 
      
         | 508 |  |  | #define ETH_DMAIER_TIE       ((u32)0x00000001)  /* Transmit interrupt enable */
 | 
      
         | 509 |  |  |  
 | 
      
         | 510 |  |  | /* Bit definition for Ethernet DMA Missed Frame and Buffer Overflow Counter Register */
 | 
      
         | 511 |  |  | #define ETH_DMAMFBOCR_OFOC   ((u32)0x10000000)  /* Overflow bit for FIFO overflow counter */
 | 
      
         | 512 |  |  | #define ETH_DMAMFBOCR_MFA    ((u32)0x0FFE0000)  /* Number of frames missed by the application */
 | 
      
         | 513 |  |  | #define ETH_DMAMFBOCR_OMFC   ((u32)0x00010000)  /* Overflow bit for missed frame counter */
 | 
      
         | 514 |  |  | #define ETH_DMAMFBOCR_MFC    ((u32)0x0000FFFF)  /* Number of frames missed by the controller */
 | 
      
         | 515 |  |  |  
 | 
      
         | 516 |  |  | /* Bit definition for Ethernet DMA Current Host Transmit Descriptor Register */
 | 
      
         | 517 |  |  | #define ETH_DMACHTDR_HTDAP   ((u32)0xFFFFFFFF)  /* Host transmit descriptor address pointer */
 | 
      
         | 518 |  |  |  
 | 
      
         | 519 |  |  | /* Bit definition for Ethernet DMA Current Host Receive Descriptor Register */
 | 
      
         | 520 |  |  | #define ETH_DMACHRDR_HRDAP   ((u32)0xFFFFFFFF)  /* Host receive descriptor address pointer */
 | 
      
         | 521 |  |  |  
 | 
      
         | 522 |  |  | /* Bit definition for Ethernet DMA Current Host Transmit Buffer Address Register */
 | 
      
         | 523 |  |  | #define ETH_DMACHTBAR_HTBAP  ((u32)0xFFFFFFFF)  /* Host transmit buffer address pointer */
 | 
      
         | 524 |  |  |  
 | 
      
         | 525 |  |  | /* Bit definition for Ethernet DMA Current Host Receive Buffer Address Register */
 | 
      
         | 526 |  |  | #define ETH_DMACHRBAR_HRBAP  ((u32)0xFFFFFFFF)  /* Host receive buffer address pointer */
 | 
      
         | 527 |  |  |  
 | 
      
         | 528 |  |  | /******************************************************************************/
 | 
      
         | 529 |  |  | /*                                      Macros                                */
 | 
      
         | 530 |  |  | /******************************************************************************/
 | 
      
         | 531 |  |  | #define  SET_BIT(REG, BIT)   ((REG) |= (BIT))
 | 
      
         | 532 |  |  | #define  CLEAR_BIT(REG, BIT) ((REG) &= ~(BIT))
 | 
      
         | 533 |  |  | #define  READ_BIT(REG, BIT)  ((REG) & (BIT))
 | 
      
         | 534 |  |  |  
 | 
      
         | 535 |  |  | /******************************************************************************/
 | 
      
         | 536 |  |  | /*                         Peripheral memory map                              */
 | 
      
         | 537 |  |  | /******************************************************************************/
 | 
      
         | 538 |  |  | /* ETHERNET registers base address */
 | 
      
         | 539 |  |  | #define ETH_BASE             ((u32)0x40028000)
 | 
      
         | 540 |  |  | #define ETH_MAC_BASE         (ETH_BASE)
 | 
      
         | 541 |  |  | #define ETH_MMC_BASE         (ETH_BASE + 0x0100)
 | 
      
         | 542 |  |  | #define ETH_PTP_BASE         (ETH_BASE + 0x0700)
 | 
      
         | 543 |  |  | #define ETH_DMA_BASE         (ETH_BASE + 0x1000)
 | 
      
         | 544 |  |  |  
 | 
      
         | 545 |  |  | /******************************************************************************/
 | 
      
         | 546 |  |  | /*                         Peripheral declaration                             */
 | 
      
         | 547 |  |  | /******************************************************************************/
 | 
      
         | 548 |  |  |  
 | 
      
         | 549 |  |  | /*------------------------ Non Debug Mode ------------------------------------*/
 | 
      
         | 550 |  |  | #ifndef ETH_DEBUG
 | 
      
         | 551 |  |  | #ifdef _ETH_MAC
 | 
      
         | 552 |  |  |   #define ETH_MAC            ((ETH_MAC_TypeDef *) ETH_MAC_BASE)
 | 
      
         | 553 |  |  | #endif /*_ETH_MAC */
 | 
      
         | 554 |  |  |  
 | 
      
         | 555 |  |  | #ifdef _ETH_MMC
 | 
      
         | 556 |  |  |   #define ETH_MMC            ((ETH_MMC_TypeDef *) ETH_MMC_BASE)
 | 
      
         | 557 |  |  | #endif /*_ETH_MMC */
 | 
      
         | 558 |  |  |  
 | 
      
         | 559 |  |  | #ifdef _ETH_PTP
 | 
      
         | 560 |  |  |   #define ETH_PTP            ((ETH_PTP_TypeDef *) ETH_PTP_BASE)
 | 
      
         | 561 |  |  | #endif /*_ETH_PTP */
 | 
      
         | 562 |  |  |  
 | 
      
         | 563 |  |  | #ifdef _ETH_DMA
 | 
      
         | 564 |  |  |   #define ETH_DMA            ((ETH_DMA_TypeDef *) ETH_DMA_BASE)
 | 
      
         | 565 |  |  | #endif /*_ETH_DMA */
 | 
      
         | 566 |  |  |  
 | 
      
         | 567 |  |  | /*------------------------ Debug Mode ----------------------------------------*/
 | 
      
         | 568 |  |  | #else   /* ETH_DEBUG */
 | 
      
         | 569 |  |  | #ifdef _ETH_MAC
 | 
      
         | 570 |  |  |   EXT ETH_MAC_TypeDef        *ETH_MAC;
 | 
      
         | 571 |  |  | #endif /*_ETH_MAC */
 | 
      
         | 572 |  |  |  
 | 
      
         | 573 |  |  | #ifdef _ETH_MMC
 | 
      
         | 574 |  |  |   EXT ETH_MMC_TypeDef        *ETH_MMC;
 | 
      
         | 575 |  |  | #endif /*_ETH_MMC */
 | 
      
         | 576 |  |  |  
 | 
      
         | 577 |  |  | #ifdef _ETH_PTP
 | 
      
         | 578 |  |  |   EXT ETH_PTP_TypeDef        *ETH_PTP;
 | 
      
         | 579 |  |  | #endif /*_ETH_PTP */
 | 
      
         | 580 |  |  |  
 | 
      
         | 581 |  |  | #ifdef _ETH_DMA
 | 
      
         | 582 |  |  |   EXT ETH_DMA_TypeDef        *ETH_DMA;
 | 
      
         | 583 |  |  | #endif /*_ETH_DMA */
 | 
      
         | 584 |  |  |  
 | 
      
         | 585 |  |  | #endif  /* ETH_DEBUG */
 | 
      
         | 586 |  |  |  
 | 
      
         | 587 |  |  | /* Exported constants --------------------------------------------------------*/
 | 
      
         | 588 |  |  | /* Exported macro ------------------------------------------------------------*/
 | 
      
         | 589 |  |  | /* Exported functions ------------------------------------------------------- */
 | 
      
         | 590 |  |  |  
 | 
      
         | 591 |  |  | #endif /* __STM32FXXX_ETH_MAP_H */
 | 
      
         | 592 |  |  |  
 | 
      
         | 593 |  |  | /******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/
 |