csl_mdio.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. /**
  2. * @file csl_mdio.h
  3. *
  4. * @brief
  5. * Header file for functional layer of CSL MDIO.
  6. *
  7. * It contains the various enumerations, structure definitions and function
  8. * declarations
  9. *
  10. * \par
  11. * ============================================================================
  12. * @n (C) Copyright 2009-2017, Texas Instruments, Inc.
  13. *
  14. * Redistribution and use in source and binary forms, with or without
  15. * modification, are permitted provided that the following conditions
  16. * are met:
  17. *
  18. * Redistributions of source code must retain the above copyright
  19. * notice, this list of conditions and the following disclaimer.
  20. *
  21. * Redistributions in binary form must reproduce the above copyright
  22. * notice, this list of conditions and the following disclaimer in the
  23. * documentation and/or other materials provided with the
  24. * distribution.
  25. *
  26. * Neither the name of Texas Instruments Incorporated nor the names of
  27. * its contributors may be used to endorse or promote products derived
  28. * from this software without specific prior written permission.
  29. *
  30. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  31. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  32. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  33. * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  34. * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  35. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  36. * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  37. * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  38. * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  39. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  40. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  41. *
  42. */
  43. #ifndef CSL_MDIO_TOP_H
  44. #define CSL_MDIO_TOP_H
  45. #ifdef __cplusplus
  46. extern "C" {
  47. #endif
  48. #include <ti/csl/soc.h>
  49. #include <ti/csl/csl.h>
  50. #include <ti/csl/cslr_mdio.h>
  51. #include <ti/csl/csl_mdio_def.h>
  52. /** ============================================================================
  53. *
  54. * @defgroup CSL_MDIO_API MDIO
  55. * @ingroup CSL_MDIO_API
  56. *
  57. *
  58. * @subsection xxx Overview
  59. *
  60. * CSL_MDIO_API has common implementation for multiple SoCs along with below SoC specific
  61. * implementation with the mapping as below.
  62. * -# mdio v0 - SOC_K2H/SOC_K2K/SOC_C6678
  63. * -# mdio v1 - SOC_K2E/SOC_K2L
  64. * -# mdio v2 - SOC_AM574x/SOC_AM572x/SOC_AM571x/SOC_DRA72X/SOC_DRA75X/SOC_DRA78X
  65. * -# mdio v3 - SOC_C6657/SOC_OMAPL137/SOC_OMAPL138
  66. *
  67. * @note: there may not be any ip specific implementation for that soc, if it contains only cslr_* files
  68. *
  69. * ============================================================================
  70. */
  71. #if defined(SOC_K2K)
  72. #include <ti/csl/src/ip/mdio/V0/csl_mdio.h>
  73. #elif defined(SOC_K2H) || defined(SOC_C6678)
  74. #include <ti/csl/src/ip/mdio/V0/csl_mdio.h>
  75. #elif defined(SOC_K2E)
  76. #include <ti/csl/src/ip/mdio/V1/csl_mdio.h>
  77. #elif defined(SOC_K2L)
  78. #include <ti/csl/src/ip/mdio/V1/csl_mdio.h>
  79. #elif defined(SOC_K2G)
  80. #include <ti/csl/src/ip/mdio/V1/csl_mdio.h>
  81. #elif defined(SOC_C6657) || defined(SOC_OMAPL137) || defined(SOC_OMAPL138)
  82. #include <ti/csl/src/ip/mdio/V3/csl_mdio.h>
  83. #elif defined(SOC_AM574x) || defined(SOC_AM572x)||defined(SOC_AM571x) || defined(SOC_DRA72x) || defined(SOC_DRA75x) || defined(SOC_DRA78x)
  84. #include <ti/csl/src/ip/mdio/V2/csl_mdio.h>
  85. #endif /* DEVICE_XXXXX */
  86. #ifdef __cplusplus
  87. }
  88. #endif
  89. #endif /* CSL_MDIO_H */