1*3fc36ee0SWojciech Macek /******************************************************************************* 2*3fc36ee0SWojciech Macek Copyright (C) 2013 Annapurna Labs Ltd. 3*3fc36ee0SWojciech Macek 4*3fc36ee0SWojciech Macek This file is licensed under the terms of the Annapurna Labs' Commercial License 5*3fc36ee0SWojciech Macek Agreement distributed with the file or available on the software download site. 6*3fc36ee0SWojciech Macek Recipient shall use the content of this file only on semiconductor devices or 7*3fc36ee0SWojciech Macek systems developed by or for Annapurna Labs. 8*3fc36ee0SWojciech Macek 9*3fc36ee0SWojciech Macek THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 10*3fc36ee0SWojciech Macek ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 11*3fc36ee0SWojciech Macek WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 12*3fc36ee0SWojciech Macek DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 13*3fc36ee0SWojciech Macek ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 14*3fc36ee0SWojciech Macek (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 15*3fc36ee0SWojciech Macek LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 16*3fc36ee0SWojciech Macek ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 17*3fc36ee0SWojciech Macek (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 18*3fc36ee0SWojciech Macek SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 19*3fc36ee0SWojciech Macek 20*3fc36ee0SWojciech Macek *******************************************************************************/ 21*3fc36ee0SWojciech Macek 22*3fc36ee0SWojciech Macek /** 23*3fc36ee0SWojciech Macek * @defgroup group_serdes_init SerDes Initialization 24*3fc36ee0SWojciech Macek * @ingroup group_serdes SerDes 25*3fc36ee0SWojciech Macek * @{ 26*3fc36ee0SWojciech Macek * 27*3fc36ee0SWojciech Macek * @file al_serdes.h 28*3fc36ee0SWojciech Macek * 29*3fc36ee0SWojciech Macek */ 30*3fc36ee0SWojciech Macek 31*3fc36ee0SWojciech Macek #ifndef __AL_SERDES_H__ 32*3fc36ee0SWojciech Macek #define __AL_SERDES_H__ 33*3fc36ee0SWojciech Macek 34*3fc36ee0SWojciech Macek #include "al_hal_serdes_interface.h" 35*3fc36ee0SWojciech Macek 36*3fc36ee0SWojciech Macek /* *INDENT-OFF* */ 37*3fc36ee0SWojciech Macek #ifdef __cplusplus 38*3fc36ee0SWojciech Macek extern "C" { 39*3fc36ee0SWojciech Macek #endif 40*3fc36ee0SWojciech Macek /* *INDENT-ON* */ 41*3fc36ee0SWojciech Macek 42*3fc36ee0SWojciech Macek #ifdef AL_DEV_ID 43*3fc36ee0SWojciech Macek #define CHECK_ALPINE_V1 (AL_DEV_ID == AL_DEV_ID_ALPINE_V1) 44*3fc36ee0SWojciech Macek #define CHECK_ALPINE_V2 (AL_DEV_ID == AL_DEV_ID_ALPINE_V2) 45*3fc36ee0SWojciech Macek #else 46*3fc36ee0SWojciech Macek #define CHECK_ALPINE_V1 1 47*3fc36ee0SWojciech Macek #define CHECK_ALPINE_V2 1 48*3fc36ee0SWojciech Macek #endif 49*3fc36ee0SWojciech Macek 50*3fc36ee0SWojciech Macek enum al_serdes_group { 51*3fc36ee0SWojciech Macek AL_SRDS_GRP_A = 0, 52*3fc36ee0SWojciech Macek AL_SRDS_GRP_B, 53*3fc36ee0SWojciech Macek AL_SRDS_GRP_C, 54*3fc36ee0SWojciech Macek AL_SRDS_GRP_D, 55*3fc36ee0SWojciech Macek AL_SRDS_NUM_HSSP_GROUPS, 56*3fc36ee0SWojciech Macek #if CHECK_ALPINE_V2 57*3fc36ee0SWojciech Macek AL_SRDS_GRP_E = AL_SRDS_NUM_HSSP_GROUPS, 58*3fc36ee0SWojciech Macek AL_SRDS_NUM_GROUPS, 59*3fc36ee0SWojciech Macek #else 60*3fc36ee0SWojciech Macek AL_SRDS_NUM_GROUPS = AL_SRDS_NUM_HSSP_GROUPS, 61*3fc36ee0SWojciech Macek #endif 62*3fc36ee0SWojciech Macek }; 63*3fc36ee0SWojciech Macek 64*3fc36ee0SWojciech Macek int al_serdes_handle_grp_init( 65*3fc36ee0SWojciech Macek void __iomem *serdes_regs_base, 66*3fc36ee0SWojciech Macek enum al_serdes_group grp, 67*3fc36ee0SWojciech Macek struct al_serdes_grp_obj *obj); 68*3fc36ee0SWojciech Macek 69*3fc36ee0SWojciech Macek /* *INDENT-OFF* */ 70*3fc36ee0SWojciech Macek #ifdef __cplusplus 71*3fc36ee0SWojciech Macek } 72*3fc36ee0SWojciech Macek #endif 73*3fc36ee0SWojciech Macek 74*3fc36ee0SWojciech Macek /* *INDENT-ON* */ 75*3fc36ee0SWojciech Macek #endif 76*3fc36ee0SWojciech Macek 77*3fc36ee0SWojciech Macek /** @} end of SERDES group */ 78*3fc36ee0SWojciech Macek 79