1 /*- 2 * Copyright 2007-2013 Solarflare Communications Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS AND 14 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23 * SUCH DAMAGE. 24 */ 25 26 #ifndef _SYS_TXC43128_IMPL_H 27 #define _SYS_TXC43128_IMPL_H 28 29 #ifdef __cplusplus 30 extern "C" { 31 #endif 32 33 #if EFSYS_OPT_PHY_TXC43128 34 35 #define TXC43128_MMD_MASK \ 36 ((1 << PMA_PMD_MMD) | \ 37 (1 << PCS_MMD) | \ 38 (1 << PHY_XS_MMD)) 39 40 #define SIGDET 0x000a 41 #define RX0SIGDET_LBN 1 42 #define RX0SIGDET_WIDTH 1 43 #define RX1SIGDET_LBN 2 44 #define RX1SIGDET_WIDTH 1 45 #define RX2SIGDET_LBN 3 46 #define RX2SIGDET_WIDTH 1 47 #define RX3SIGDET_LBN 4 48 #define RX3SIGDET_WIDTH 1 49 50 #define GLCMD 0xc004 51 #define LMTSWRST_LBN 14 52 #define LMTSWRST_WIDTH 1 53 54 #define ATXPRE0 0xc043 55 #define ATXPRE1 0xc044 56 #define TXPRE02_LBN 3 57 #define TXPRE02_WIDTH 5 58 #define TXPRE13_LBN 11 59 #define TXPRE13_WIDTH 5 60 61 #define ATXAMP0 0xc041 62 #define ATXAMP1 0xc042 63 #define TXAMP02_LBN 3 64 #define TXAMP02_WIDTH 5 65 #define TXAMP13_LBN 11 66 #define TXAMP13_WIDTH 5 67 68 #define BCTL 0xc280 69 #define BSTRT_LBN 15 70 #define BSTRT_WIDTH 1 71 #define BSTOP_LBN 14 72 #define BSTOP_WIDTH 1 73 #define BSTEN_LBN 13 74 #define BSTEN_WIDTH 1 75 #define B10EN_LBN 12 76 #define B10EN_WIDTH 1 77 #define BTYPE_LBN 10 78 #define BTYPE_WIDTH 2 79 #define TSDET_DECODE 0 80 #define CRPAT_DECODE 1 81 #define CJPAT_DECODE 2 82 #define TSRND_DECODE 3 83 84 #define BTXFRMCNT 0xc281 85 #define BRX0FRMCNT 0xc282 86 #define BRX1FRMCNT 0xc283 87 #define BRX2FRMCNT 0xc284 88 #define BRX3FRMCNT 0xc285 89 #define BRX0ERRCNT 0xc286 90 #define BRX1ERRCNT 0xc287 91 #define BRX2ERRCNT 0xc288 92 #define BRX3ERRCNT 0xc289 93 94 #define MNCTL 0xc340 95 #define MRST_LBN 15 96 #define MRST_WIDTH 1 97 #define ALG2TXALED_LBN 14 98 #define ALG2TXALED_WIDTH 1 99 #define ALG2RXALED_LBN 13 100 #define ALG2RXALED_WIDTH 1 101 102 #define PIOCFG 0xc345 103 #define PIO15FNC_LBN 15 104 #define PIO15FNC_WIDTH 1 105 #define PIO14FNC_LBN 14 106 #define PIO14FNC_WIDTH 1 107 #define PIO13FNC_LBN 13 108 #define PIO13FNC_WIDTH 1 109 #define PIO12FNC_LBN 12 110 #define PIO12FNC_WIDTH 1 111 #define PIO11FNC_LBN 11 112 #define PIO11FNC_WIDTH 1 113 #define PIO10FNC_LBN 10 114 #define PIO10FNC_WIDTH 1 115 #define PIO9FNC_LBN 9 116 #define PIO9FNC_WIDTH 1 117 #define PIO8FNC_LBN 8 118 #define PIO8FNC_WIDTH 1 119 #define PIOFNC_LED_DECODE 0 120 #define PIOFNC_GPIO_DECODE 1 121 122 #define PIODO 0xc346 123 #define PIO15OUT_LBN 15 124 #define PIO15OUT_WIDTH 1 125 #define PIO14OUT_LBN 14 126 #define PIO14OUT_WIDTH 1 127 #define PIO13OUT_LBN 13 128 #define PIO13OUT_WIDTH 1 129 #define PIO12OUT_LBN 12 130 #define PIO12OUT_WIDTH 1 131 #define PIO11OUT_LBN 11 132 #define PIO11OUT_WIDTH 1 133 #define PIO10OUT_LBN 10 134 #define PIO10OUT_WIDTH 1 135 #define PIO9OUT_LBN 9 136 #define PIO9OUT_WIDTH 1 137 #define PIO8OUT_LBN 8 138 #define PIO8OUT_WIDTH 1 139 140 #define PIODIR 0xc348 141 #define PIO15DIR_LBN 15 142 #define PIO15DIR_WIDTH 1 143 #define PIO14DIR_LBN 14 144 #define PIO14DIR_WIDTH 1 145 #define PIO13DIR_LBN 13 146 #define PIO13DIR_WIDTH 1 147 #define PIO12DIR_LBN 12 148 #define PIO12DIR_WIDTH 1 149 #define PIO11DIR_LBN 11 150 #define PIO11DIR_WIDTH 1 151 #define PIO10DIR_LBN 10 152 #define PIO10DIR_WIDTH 1 153 #define PIO9DIR_LBN 9 154 #define PIO9DIR_WIDTH 1 155 #define PIO8DIR_LBN 8 156 #define PIO8DIR_WIDTH 1 157 #define PIODIR_IN_DECODE 0 158 #define PIODIR_OUT_DECODE 1 159 160 #define MNDBLCFG 0xc34f 161 #define PXS8BLPBK_LBN 11 162 #define PXS8BLPBK_WIDTH 1 163 #define LNALPBK_LBN 10 164 #define LNALPBK_WIDTH 1 165 166 #endif /* EFSYS_OPT_PHY_TXC43128 */ 167 168 #ifdef __cplusplus 169 } 170 #endif 171 172 #endif /* _SYS_TXC43128_IMPL_H */