?login_element?

Subversion Repositories NedoOS

Rev

Rev 8 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. /**
  2.   ******************************************************************************
  3.   * @file    opora_ethernet_defs.h
  4.   * @author  Phyton Application Team
  5.   * @version V1.0.0
  6.   * @date
  7.   * @brief   This file contains all the Special Function Registers definitions
  8.   *          for the ETHERNET peripheral unit used in the Milandr OPORA
  9.   *          microcontrollers.
  10.   ******************************************************************************
  11.   * @copy
  12.   *
  13.   * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  14.   * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  15.   * TIME. AS A RESULT, PHYTON SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
  16.   * OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  17.   * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  18.   * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  19.   *
  20.   * <h2><center>&copy; COPYRIGHT 2010 Phyton</center></h2>
  21.   ******************************************************************************
  22.   * FILE opora_ethernet_defs.h
  23.   */
  24.  
  25. /* Define to prevent recursive inclusion -------------------------------------*/
  26. #ifndef __OPORA_ETHERNET_DEFS_H
  27. #define __OPORA_ETHERNET_DEFS_H
  28.  
  29. /** @addtogroup __CMSIS CMSIS
  30.   * @{
  31.   */
  32.  
  33. /** @addtogroup __OPORA_Peripheral_Units OPORA Peripheral Units
  34.   * @{
  35.   */
  36.  
  37. /** @defgroup Periph_ETHERNET ETHERNET
  38.   * @{
  39.   */
  40.  
  41. /** @defgroup Periph_ETHERNET_Data_Structures Data Structures
  42.   * @{
  43.   */
  44.  
  45. /** @defgroup Periph_ETHERNET_TypeDef ETHERNET_TypeDef
  46.   * @{
  47.   */
  48.  
  49. typedef struct {
  50.   __IO uint16_t Delimiter;      //00 offset
  51.   __IO uint16_t MAC_T;          //02
  52.   __IO uint16_t MAC_M;          //04
  53.   __IO uint16_t MAC_H;          //06
  54.   __IO uint16_t HASH0;          //08
  55.   __IO uint16_t HASH1;          //0A
  56.   __IO uint16_t HASH2;          //0C
  57.   __IO uint16_t HASH3;          //0E
  58.   __IO uint16_t IPG;            //10
  59.   __IO uint16_t PSC;            //12
  60.   __IO uint16_t BAG;            //14
  61.   __IO uint16_t JitterWnd;      //16
  62.   __IO uint16_t R_CFG;          //18
  63.   __IO uint16_t X_CFG;          //1A
  64.   __IO uint32_t G_CFG;          //1C
  65.   __IO uint16_t IMR;            //20
  66.   __IO uint16_t IFR;            //22
  67.   __IO uint16_t MDIO_CTRL;      //24
  68.   __IO uint16_t MDIO_DATA;      //26
  69.   __IO uint16_t R_Head;         //28
  70.   __IO uint16_t X_Tail;         //2A
  71.   __IO uint16_t R_Tail;         //2C
  72.   __IO uint16_t X_Head;         //2E
  73.   __IO uint16_t STAT;           //30
  74.   __IO uint16_t RESERV;         //32
  75.   __IO uint16_t PHY_CTRL;       //34
  76.   __IO uint16_t PHY_STATUS;     //36
  77. } ETHERNET_TypeDef;
  78.  
  79. /** @} */ /* End of group Periph_ETHERNET_TypeDef */
  80.  
  81. /** @} */ /* End of group Periph_ETHERNET_Data_Structures */
  82.  
  83. /** @defgroup Periph_ETHERNET_Defines Defines
  84.   * @{
  85.   */
  86.  
  87. /** @defgroup Periph_ETHERNET_ETHERNET_ETH_R_CFG_Bits ETHERNET_ETH_R_CFG
  88.   * @{
  89.   */
  90.  
  91. #define ETHERNET_ETH_R_CFG_MCA_EN_OFFS          0
  92. #define ETHERNET_ETH_R_CFG_MCA_EN               ((uint32_t)0x00000001)
  93.  
  94. #define ETHERNET_ETH_R_CFG_BCA_EN_OFFS          1
  95. #define ETHERNET_ETH_R_CFG_BCA_EN               ((uint32_t)0x00000002)
  96.  
  97. #define ETHERNET_ETH_R_CFG_UCA_EN_OFFS          2
  98. #define ETHERNET_ETH_R_CFG_UCA_EN               ((uint32_t)0x00000004)
  99.  
  100. #define ETHERNET_ETH_R_CFG_AC_EN_OFFS           3
  101. #define ETHERNET_ETH_R_CFG_AC_EN                ((uint32_t)0x00000008)
  102.  
  103. #define ETHERNET_ETH_R_CFG_EF_EN_OFFS           4
  104. #define ETHERNET_ETH_R_CFG_EF_EN                ((uint32_t)0x00000010)
  105.  
  106. #define ETHERNET_ETH_R_CFG_CF_EN_OFFS           5
  107. #define ETHERNET_ETH_R_CFG_CF_EN                ((uint32_t)0x00000020)
  108.  
  109. #define ETHERNET_ETH_R_CFG_LF_EN_OFFS           6
  110. #define ETHERNET_ETH_R_CFG_LF_EN                ((uint32_t)0x00000040)
  111.  
  112. #define ETHERNET_ETH_R_CFG_SF_EN_OFFS           7
  113. #define ETHERNET_ETH_R_CFG_SF_EN                ((uint32_t)0x00000080)
  114.  
  115. #define ETHERNET_ETH_R_CFG_EVNT_MODE_OFFS       8
  116. #define ETHERNET_ETH_R_CFG_EVNT_MODE_MASK       ((uint32_t)0x00000700)
  117.  
  118. #define ETHERNET_ETH_R_CFG_MSB1st_OFFS          12
  119. #define ETHERNET_ETH_R_CFG_MSB1st               ((uint32_t)0x00001000)
  120.  
  121. #define ETHERNET_ETH_R_CFG_BE_OFFS              13
  122. #define ETHERNET_ETH_R_CFG_BE                   ((uint32_t)0x00002000)
  123.  
  124. #define ETHERNET_ETH_R_CFG_RST_OFFS             15
  125. #define ETHERNET_ETH_R_CFG_RST                  ((uint32_t)0x00008000)
  126.  
  127.  
  128. /** @} */ /* End of group Periph_ETHERNET_ETHERNET_ETH_R_CFG_Bits */
  129.  
  130. /** @} */ /* End of group Periph_ETHERNET_Defines */
  131.  
  132. /** @defgroup Periph_ETHERNET_Defines Defines
  133.   * @{
  134.   */
  135.  
  136. /** @defgroup Periph_ETHERNET_ETHERNET_ETH_X_CFG_Bits ETHERNET_ETH_X_CFG
  137.   * @{
  138.   */
  139.  
  140. #define ETHERNET_ETH_X_CFG_RtryCnt_OFFS         0
  141. #define ETHERNET_ETH_X_CFG_RtryCnt_MASK         ((uint32_t)0x0000000F)
  142.  
  143. #define ETHERNET_ETH_X_CFG_IPG_EN_OFFS          4
  144. #define ETHERNET_ETH_X_CFG_IPG_EN               ((uint32_t)0x00000010)
  145.  
  146. #define ETHERNET_ETH_X_CFG_CRC_EN_OFFS          5
  147. #define ETHERNET_ETH_X_CFG_CRC_EN               ((uint32_t)0x00000020)
  148.  
  149. #define ETHERNET_ETH_X_CFG_PRE_EN_OFFS          6
  150. #define ETHERNET_ETH_X_CFG_PRE_EN               ((uint32_t)0x00000040)
  151.  
  152. #define ETHERNET_ETH_X_CFG_PAD_EN_OFFS          7
  153. #define ETHERNET_ETH_X_CFG_PAD_EN               ((uint32_t)0x00000080)
  154.  
  155. #define ETHERNET_ETH_X_CFG_EVNT_MODE_OFFS       8
  156. #define ETHERNET_ETH_X_CFG_EVNT_MODE_MASK       ((uint32_t)0x00000700)
  157.  
  158. #define ETHERNET_ETH_X_CFG_MSB1st_OFFS          12
  159. #define ETHERNET_ETH_X_CFG_MSB1st               ((uint32_t)0x00001000)
  160.  
  161. #define ETHERNET_ETH_X_CFG_BE_OFFS              13
  162. #define ETHERNET_ETH_X_CFG_BE                   ((uint32_t)0x00002000)
  163.  
  164. #define ETHERNET_ETH_X_CFG_RST_OFFS             15
  165. #define ETHERNET_ETH_X_CFG_RST                  ((uint32_t)0x00008000)
  166.  
  167.  
  168. /** @} */ /* End of group Periph_ETHERNET_ETHERNET_ETH_X_CFG_Bits */
  169.  
  170. /** @} */ /* End of group Periph_ETHERNET_Defines */
  171.  
  172. /** @defgroup Periph_ETHERNET_Defines Defines
  173.   * @{
  174.   */
  175.  
  176. /** @defgroup Periph_ETHERNET_ETHERNET_ETH_G_CFG_Bits ETHERNET_ETH_G_CFG
  177.   * @{
  178.   */
  179.  
  180. #define ETHERNET_ETH_G_CFG_ColWnd_OFFS          0
  181. #define ETHERNET_ETH_G_CFG_ColWnd_MASK          ((uint32_t)0x000000FF)
  182.  
  183. #define ETHERNET_ETH_G_CFG_PAUSE_EN_OFFS        8
  184. #define ETHERNET_ETH_G_CFG_PAUSE_EN             ((uint32_t)0x00000100)
  185.  
  186. #define ETHERNET_ETH_G_CFG_DTRM_EN_OFFS         9
  187. #define ETHERNET_ETH_G_CFG_DTRM_EN              ((uint32_t)0x00000200)
  188.  
  189. #define ETHERNET_ETH_G_CFG_HD_EN_OFFS           10
  190. #define ETHERNET_ETH_G_CFG_HD_EN                ((uint32_t)0x00000400)
  191.  
  192. #define ETHERNET_ETH_G_CFG_DLB_OFFS             11
  193. #define ETHERNET_ETH_G_CFG_DLB                  ((uint32_t)0x00000800)
  194.  
  195. #define ETHERNET_ETH_G_CFG_AB_MODE_OFFS         12
  196. #define ETHERNET_ETH_G_CFG_AB_MODE              ((uint32_t)0x00001000)
  197.  
  198. #define ETHERNET_ETH_G_CFG_SOFT_OFFS            14
  199. #define ETHERNET_ETH_G_CFG_SOFT                 ((uint32_t)0x00004000)
  200.  
  201. #define ETHERNET_ETH_G_CFG_FREE_OFFS            15
  202. #define ETHERNET_ETH_G_CFG_FREE                 ((uint32_t)0x00008000)
  203.  
  204.  
  205. /** @} */ /* End of group Periph_ETHERNET_ETHERNET_ETH_G_CFG_Bits */
  206.  
  207. /** @} */ /* End of group Periph_ETHERNET_Defines */
  208.  
  209. /** @defgroup Periph_ETHERNET_Defines Defines
  210.   * @{
  211.   */
  212.  
  213. /** @defgroup Periph_ETHERNET_ETHERNET_ETH_IMR_Bits ETHERNET_ETH_IMR
  214.   * @{
  215.   */
  216.  
  217. #define ETHERNET_ETH_IMR_RF_OK_OFFS             0
  218. #define ETHERNET_ETH_IMR_RF_OK                  ((uint32_t)0x00000001)
  219.  
  220. #define ETHERNET_ETH_IMR_MISSED_F_OFFS          1
  221. #define ETHERNET_ETH_IMR_MISSED_F               ((uint32_t)0x00000002)
  222.  
  223. #define ETHERNET_ETH_IMR_OVF_OFFS               2
  224. #define ETHERNET_ETH_IMR_OVF                    ((uint32_t)0x00000004)
  225.  
  226. #define ETHERNET_ETH_IMR_SMB_ERR_OFFS           3
  227. #define ETHERNET_ETH_IMR_SMB_ERR                ((uint32_t)0x00000008)
  228.  
  229. #define ETHERNET_ETH_IMR_CRC_ERR_OFFS           4
  230. #define ETHERNET_ETH_IMR_CRC_ERR                ((uint32_t)0x00000010)
  231.  
  232. #define ETHERNET_ETH_IMR_CF_OFFS                5
  233. #define ETHERNET_ETH_IMR_CF                     ((uint32_t)0x00000020)
  234.  
  235. #define ETHERNET_ETH_IMR_LF_OFFS                6
  236. #define ETHERNET_ETH_IMR_LF                     ((uint32_t)0x00000040)
  237.  
  238. #define ETHERNET_ETH_IMR_SF_OFFS                7
  239. #define ETHERNET_ETH_IMR_SF                     ((uint32_t)0x00000080)
  240.  
  241. #define ETHERNET_ETH_IMR_XF_OK_OFFS             8
  242. #define ETHERNET_ETH_IMR_XF_OK                  ((uint32_t)0x00000100)
  243.  
  244. #define ETHERNET_ETH_IMR_XF_ERR_OFFS            9
  245. #define ETHERNET_ETH_IMR_XF_ERR                 ((uint32_t)0x00000200)
  246.  
  247. #define ETHERNET_ETH_IMR_UNDF_OFFS              10
  248. #define ETHERNET_ETH_IMR_UNDF                   ((uint32_t)0x00000400)
  249.  
  250. #define ETHERNET_ETH_IMR_LC_OFFS                11
  251. #define ETHERNET_ETH_IMR_LC                     ((uint32_t)0x00000800)
  252.  
  253. #define ETHERNET_ETH_IMR_CRS_LOST_OFFS          12
  254. #define ETHERNET_ETH_IMR_CRS_LOST               ((uint32_t)0x00001000)
  255.  
  256. #define ETHERNET_ETH_IMR_MII_RDY_OFFS           15
  257. #define ETHERNET_ETH_IMR_MII_RDY                ((uint32_t)0x00008000)
  258.  
  259.  
  260. /** @} */ /* End of group Periph_ETHERNET_ETHERNET_ETH_IMR_Bits */
  261.  
  262. /** @} */ /* End of group Periph_ETHERNET_Defines */
  263.  
  264. /** @defgroup Periph_ETHERNET_Defines Defines
  265.   * @{
  266.   */
  267.  
  268. /** @defgroup Periph_ETHERNET_ETHERNET_ETH_IFR_Bits ETHERNET_ETH_IFR
  269.   * @{
  270.   */
  271.  
  272. #define ETHERNET_ETH_IFR_RF_OK_OFFS             0
  273. #define ETHERNET_ETH_IFR_RF_OK                  ((uint32_t)0x00000001)
  274.  
  275. #define ETHERNET_ETH_IFR_MISSED_F_OFFS          1
  276. #define ETHERNET_ETH_IFR_MISSED_F               ((uint32_t)0x00000002)
  277.  
  278. #define ETHERNET_ETH_IFR_OVF_OFFS               2
  279. #define ETHERNET_ETH_IFR_OVF                    ((uint32_t)0x00000004)
  280.  
  281. #define ETHERNET_ETH_IFR_SMB_ERR_OFFS           3
  282. #define ETHERNET_ETH_IFR_SMB_ERR                ((uint32_t)0x00000008)
  283.  
  284. #define ETHERNET_ETH_IFR_CRC_ERR_OFFS           4
  285. #define ETHERNET_ETH_IFR_CRC_ERR                ((uint32_t)0x00000010)
  286.  
  287. #define ETHERNET_ETH_IFR_CF_OFFS                5
  288. #define ETHERNET_ETH_IFR_CF                     ((uint32_t)0x00000020)
  289.  
  290. #define ETHERNET_ETH_IFR_LF_OFFS                6
  291. #define ETHERNET_ETH_IFR_LF                     ((uint32_t)0x00000040)
  292.  
  293. #define ETHERNET_ETH_IFR_SF_OFFS                7
  294. #define ETHERNET_ETH_IFR_SF                     ((uint32_t)0x00000080)
  295.  
  296. #define ETHERNET_ETH_IFR_XF_OK_OFFS             8
  297. #define ETHERNET_ETH_IFR_XF_OK                  ((uint32_t)0x00000100)
  298.  
  299. #define ETHERNET_ETH_IFR_XF_ERR_OFFS            9
  300. #define ETHERNET_ETH_IFR_XF_ERR                 ((uint32_t)0x00000200)
  301.  
  302. #define ETHERNET_ETH_IFR_UNDF_OFFS              10
  303. #define ETHERNET_ETH_IFR_UNDF                   ((uint32_t)0x00000400)
  304.  
  305. #define ETHERNET_ETH_IFR_LC_OFFS                11
  306. #define ETHERNET_ETH_IFR_LC                     ((uint32_t)0x00000800)
  307.  
  308. #define ETHERNET_ETH_IFR_CRS_LOST_OFFS          12
  309. #define ETHERNET_ETH_IFR_CRS_LOST               ((uint32_t)0x00001000)
  310.  
  311. #define ETHERNET_ETH_IFR_MII_RDY_OFFS           15
  312. #define ETHERNET_ETH_IFR_MII_RDY                ((uint32_t)0x00008000)
  313.  
  314.  
  315. /** @} */ /* End of group Periph_ETHERNET_ETHERNET_ETH_IFR_Bits */
  316.  
  317. /** @} */ /* End of group Periph_ETHERNET_Defines */
  318.  
  319. /** @defgroup Periph_ETHERNET_Defines Defines
  320.   * @{
  321.   */
  322.  
  323. /** @defgroup Periph_ETHERNET_ETHERNET_ETH_MDIO_CTRL_Bits ETHERNET_ETH_MDIO_CTRL
  324.   * @{
  325.   */
  326.  
  327. #define ETHERNET_ETH_MDIO_CTRL_RG_A_OFFS        0
  328. #define ETHERNET_ETH_MDIO_CTRL_RG_A_MASK        ((uint32_t)0x0000001F)
  329.  
  330. #define ETHERNET_ETH_MDIO_CTRL_DIV_OFFS         5
  331. #define ETHERNET_ETH_MDIO_CTRL_DIV_MASK         ((uint32_t)0x000000E0)
  332.  
  333. #define ETHERNET_ETH_MDIO_CTRL_PHY_A_OFFS       8
  334. #define ETHERNET_ETH_MDIO_CTRL_PHY_A_MASK       ((uint32_t)0x00001F00)
  335.  
  336. #define ETHERNET_ETH_MDIO_CTRL_OP_OFFS          13
  337. #define ETHERNET_ETH_MDIO_CTRL_OP               ((uint32_t)0x00002000)
  338.  
  339. #define ETHERNET_ETH_MDIO_CTRL_PRE_EN_OFFS      14
  340. #define ETHERNET_ETH_MDIO_CTRL_PRE_EN           ((uint32_t)0x00004000)
  341.  
  342.  
  343. /** @} */ /* End of group Periph_ETHERNET_ETHERNET_ETH_MDIO_CTRL_Bits */
  344.  
  345. /** @} */ /* End of group Periph_ETHERNET_Defines */
  346.  
  347. /** @defgroup Periph_ETHERNET_Defines Defines
  348.   * @{
  349.   */
  350.  
  351. /** @defgroup Periph_ETHERNET_ETHERNET_ETH_BUFF_STAT_Bits ETHERNET_ETH_BUFF_STAT
  352.   * @{
  353.   */
  354.  
  355. #define ETHERNET_ETH_Buff_Stat_R_EMPTY_OFFS     0
  356. #define ETHERNET_ETH_Buff_Stat_R_EMPTY          ((uint32_t)0x00000001)
  357.  
  358. #define ETHERNET_ETH_Buff_Stat_R_AEMPTY_OFFS    1
  359. #define ETHERNET_ETH_Buff_Stat_R_AEMPTY         ((uint32_t)0x00000002)
  360.  
  361. #define ETHERNET_ETH_Buff_Stat_R_HALF_OFFS      2
  362. #define ETHERNET_ETH_Buff_Stat_R_HALF           ((uint32_t)0x00000004)
  363.  
  364. #define ETHERNET_ETH_Buff_Stat_R_AFULL_OFFS     3
  365. #define ETHERNET_ETH_Buff_Stat_R_AFULL          ((uint32_t)0x00000008)
  366.  
  367. #define ETHERNET_ETH_Buff_Stat_R_FULL_OFFS      4
  368. #define ETHERNET_ETH_Buff_Stat_R_FULL           ((uint32_t)0x00000010)
  369.  
  370. #define ETHERNET_ETH_Buff_Stat_X_EMPTY_OFFS     8
  371. #define ETHERNET_ETH_Buff_Stat_X_EMPTY          ((uint32_t)0x00000100)
  372.  
  373. #define ETHERNET_ETH_Buff_Stat_X_AEMPTY_OFFS    9
  374. #define ETHERNET_ETH_Buff_Stat_X_AEMPTY         ((uint32_t)0x00000200)
  375.  
  376. #define ETHERNET_ETH_Buff_Stat_X_HALF_OFFS      10
  377. #define ETHERNET_ETH_Buff_Stat_X_HALF           ((uint32_t)0x00000400)
  378.  
  379. #define ETHERNET_ETH_Buff_Stat_X_AFULL_OFFS     11
  380. #define ETHERNET_ETH_Buff_Stat_X_AFULL          ((uint32_t)0x00000800)
  381.  
  382. #define ETHERNET_ETH_Buff_Stat_X_FULL_OFFS      12
  383. #define ETHERNET_ETH_Buff_Stat_X_FULL           ((uint32_t)0x00001000)
  384.  
  385.  
  386. /** @} */ /* End of group Periph_ETHERNET_ETHERNET_ETH_BUFF_STAT_Bits */
  387.  
  388. /** @} */ /* End of group Periph_ETHERNET_Defines */
  389.  
  390. /** @} */ /* End of group Periph_ETHERNET */
  391.  
  392. /** @} */ /* End of group __OPORA_Peripheral_Units */
  393.  
  394. /** @} */ /* End of group __CMSIS */
  395.  
  396. #endif /* __OPORA_ETHERNET_DEFS_H */
  397.  
  398. /******************* (C) COPYRIGHT 2010 Phyton *********************************
  399. *
  400. * END OF FILE opora_ethernet_defs.h */
  401.