Home | History | Annotate | Line # | Download | only in mii
mdio.h revision 1.7.2.2
      1  1.7.2.2  pgoyette /*	$NetBSD: mdio.h,v 1.7.2.2 2019/01/18 08:50:26 pgoyette Exp $	*/
      2      1.4   msaitoh 
      3      1.1   msaitoh /*-
      4      1.1   msaitoh  * Copyright (c) 2013 The NetBSD Foundation, Inc.
      5      1.1   msaitoh  * All rights reserved.
      6      1.1   msaitoh  *
      7      1.1   msaitoh  * This code is derived from software contributed to The NetBSD Foundation
      8      1.2   msaitoh  * by Masanobu SAITOH.
      9      1.1   msaitoh  *
     10      1.1   msaitoh  * Redistribution and use in source and binary forms, with or without
     11      1.1   msaitoh  * modification, are permitted provided that the following conditions
     12      1.1   msaitoh  * are met:
     13      1.1   msaitoh  * 1. Redistributions of source code must retain the above copyright
     14      1.1   msaitoh  *    notice, this list of conditions and the following disclaimer.
     15      1.1   msaitoh  * 2. Redistributions in binary form must reproduce the above copyright
     16      1.1   msaitoh  *    notice, this list of conditions and the following disclaimer in the
     17      1.1   msaitoh  *    documentation and/or other materials provided with the distribution.
     18      1.1   msaitoh  *
     19      1.1   msaitoh  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     20      1.1   msaitoh  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     21      1.1   msaitoh  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     22      1.1   msaitoh  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     23      1.1   msaitoh  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     24      1.1   msaitoh  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     25      1.1   msaitoh  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     26      1.1   msaitoh  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     27      1.1   msaitoh  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     28      1.1   msaitoh  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     29      1.1   msaitoh  * POSSIBILITY OF SUCH DAMAGE.
     30      1.1   msaitoh  */
     31      1.1   msaitoh 
     32      1.1   msaitoh #ifndef _DEV_MII_MDIO_H_
     33      1.1   msaitoh #define	_DEV_MII_MDIO_H_
     34      1.1   msaitoh 
     35      1.1   msaitoh /*
     36      1.1   msaitoh  * IEEE 802.3 Clause 45 definitions.
     37      1.1   msaitoh  * From:
     38      1.6   msaitoh  *	IEEE 802.3 2015
     39      1.1   msaitoh  *	IEEE 802.3at
     40      1.1   msaitoh  *	IEEE 802.3av
     41      1.1   msaitoh  */
     42      1.1   msaitoh 
     43      1.1   msaitoh /*
     44      1.6   msaitoh  * MDIO Manageable Device (MMD) addresses.
     45      1.1   msaitoh  * Table 45-1
     46      1.1   msaitoh  */
     47      1.1   msaitoh #define	MDIO_MMD_PMAPMD		1
     48      1.1   msaitoh #define	MDIO_MMD_WIS		2
     49      1.1   msaitoh #define	MDIO_MMD_PCS		3
     50      1.1   msaitoh #define	MDIO_MMD_PHYXS		4
     51      1.1   msaitoh #define	MDIO_MMD_DTEXS		5
     52      1.1   msaitoh #define	MDIO_MMD_TC		6
     53      1.1   msaitoh #define	MDIO_MMD_AN		7
     54      1.6   msaitoh #define	MDIO_MMD_SEPPMA1	8
     55      1.6   msaitoh #define	MDIO_MMD_SEPPMA2	9
     56      1.6   msaitoh #define	MDIO_MMD_SEPPMA3	10
     57      1.6   msaitoh #define	MDIO_MMD_SEPPMA4	11
     58      1.1   msaitoh #define	MDIO_MMD_CL22EXT	29
     59      1.1   msaitoh #define	MDIO_MMD_VNDSP1		30
     60      1.1   msaitoh #define	MDIO_MMD_VNDSP2		31
     61      1.1   msaitoh 
     62      1.1   msaitoh /*
     63      1.6   msaitoh  * PMA/PMD registers.
     64      1.1   msaitoh  * Table 45-3
     65      1.1   msaitoh  */
     66      1.1   msaitoh #define MDIO_PMAPMD_CTRL1		0   /* PMA/PMD control 1 */
     67      1.7   msaitoh #define PMAPMD_CTRL1_RESET	0x8000		/* Reset */
     68      1.7   msaitoh #define PMAPMD_CTRL1_SPEED0	0x2000		/* Speed selection (LSB) */
     69      1.7   msaitoh #define PMAPMD_CTRL1_LOWPWR	0x0800		/* Low power */
     70      1.7   msaitoh #define PMAPMD_CTRL1_SPEED1	0x0040		/* Speed selection (MSB) */
     71      1.7   msaitoh #define PMAPMD_CTRL1_SPEED2	0x003c		/* Speed selection (over 1G) */
     72      1.7   msaitoh #define PMAPMD_CTRL1_LOOP_REM	0x0002		/* PMA remote loopback */
     73      1.7   msaitoh #define PMAPMD_CTRL1_LOOP_LOC	0x0001		/* PMA local loopback */
     74      1.7   msaitoh #define PMAPMD_CTRL1_SPEED_SEL52 (PMAPMD_CTRL1_SPEED0 | PMAPMD_CTRL1_SPEED1)
     75      1.7   msaitoh #define PMAPMD_CTRL1_SPEED_MASK	(PMAPMD_CTRL1_SPEED_SEL52 \
     76      1.7   msaitoh 	    | PMAPMD_CTRL1_SPEED2)
     77      1.7   msaitoh #define PMAPMD_CTRL1_SPEED_10	   0
     78      1.7   msaitoh #define PMAPMD_CTRL1_SPEED_100	   PMAPMD_CTRL1_SPEED0
     79      1.7   msaitoh #define PMAPMD_CTRL1_SPEED_1G	   PMAPMD_CTRL1_SPEED1
     80      1.7   msaitoh #define PMAPMD_CTRL1_SPEED_10G     PMAPMD_CTRL1_SPEED_SEL52
     81      1.7   msaitoh #define PMAPMD_CTRL1_SPEED_10PASS (PMAPMD_CTRL1_SPEED_SEL52 | (1 << 2))
     82      1.7   msaitoh #define PMAPMD_CTRL1_SPEED_40G	  (PMAPMD_CTRL1_SPEED_SEL52 | (2 << 2))
     83      1.7   msaitoh #define PMAPMD_CTRL1_SPEED_100G   (PMAPMD_CTRL1_SPEED_SEL52 | (3 << 2))
     84  1.7.2.1  pgoyette #define PMAPMD_CTRL1_SPEED_25G    (PMAPMD_CTRL1_SPEED_SEL52 | (4 << 2))
     85  1.7.2.1  pgoyette #define PMAPMD_CTRL1_SPEED_2_5G   (PMAPMD_CTRL1_SPEED_SEL52 | (6 << 2))
     86  1.7.2.1  pgoyette #define PMAPMD_CTRL1_SPEED_5G     (PMAPMD_CTRL1_SPEED_SEL52 | (7 << 2))
     87      1.7   msaitoh 
     88      1.1   msaitoh #define MDIO_PMAPMD_STAT1		1   /* PMA/PMD status 1 */
     89      1.1   msaitoh #define MDIO_PMAPMD_DEVID1		2   /* PMA/PMD device identifier 1 */
     90      1.1   msaitoh #define MDIO_PMAPMD_DEVID2		3   /* PMA/PMD device identifier 2 */
     91      1.1   msaitoh #define MDIO_PMAPMD_SPEED		4   /* PMA/PMD speed ability */
     92      1.1   msaitoh #define MDIO_PMAPMD_DEVS1		5   /* PMA/PMD devices in package 1 */
     93      1.1   msaitoh #define MDIO_PMAPMD_DEVS2		6   /* PMA/PMD devices in package 2 */
     94  1.7.2.1  pgoyette 
     95      1.1   msaitoh #define MDIO_PMAPMD_CTRL2		7   /* PMA/PMD control 2 */
     96  1.7.2.1  pgoyette #define PMAPMD_CTRL2_PIASE	0x0200
     97  1.7.2.1  pgoyette #define PMAPMD_CTRL2_PEASE	0x0100
     98  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_MASK	0x003f
     99  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_100G_SR4	0x2f
    100  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_100G_CR4	0x2e
    101  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_100G_KR4	0x2d
    102  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_100G_KP4	0x2c
    103  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_100G_ER4	0x2b
    104  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_100G_LR4	0x2a
    105  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_100G_SR10	0x29
    106  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_100G_CR10	0x28
    107  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_40G_ER4	0x25
    108  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_40G_FR	0x24
    109  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_40G_LR	0x23
    110  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_40G_SR4	0x22
    111  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_40G_CR4	0x21
    112  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_40G_KR4	0x20
    113  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10_1G_PRX_U4	0x1f
    114  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_PR_U4	0x1e
    115  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10_1G_PRX_D4	0x1d
    116  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_PR_D4	0x1c
    117  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_PR_U3	0x1a
    118  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_PR_U1	0x19
    119  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10_1G_PRX_U3	0x18
    120  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10_1G_PRX_U2	0x17
    121  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10_1G_PRX_U1	0x16
    122  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_PR_D3	0x15
    123  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_PR_D2	0x14
    124  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_PR_D1	0x13
    125  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10_1G_PRX_D3	0x12
    126  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10_1G_PRX_D2	0x11
    127  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10_1G_PRX_D1	0x10
    128  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10_T		0x0f
    129  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_100_TX	0x0e
    130  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_1000_KX	0x0d
    131  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_1000_T	0x0c
    132  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_KR	0x0b
    133  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_KX4	0x0a
    134  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_T		0x09
    135  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_LRM	0x08
    136  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_SR	0x07
    137  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_LR	0x06
    138  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_ER	0x05
    139  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_LX4	0x04
    140  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_SW	0x03
    141  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_LW	0x02
    142  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_EW	0x01
    143  1.7.2.1  pgoyette #define PMAPMD_CTRL2_TYPE_10G_CX4	0x00
    144  1.7.2.1  pgoyette 
    145      1.1   msaitoh #define MDIO_PMAPMD_10GSTAT2		8   /* 10G PMA/PMD status 2 */
    146      1.1   msaitoh #define MDIO_PMAPMD_10GTXDIS		9   /* 10G PMA/PMD transmit disable */
    147      1.1   msaitoh #define MDIO_PMAPMD_RXSIGDTCT		10  /* 10G PMD receive signal detect */
    148      1.1   msaitoh #define MDIO_PMAPMD_EXTABLTY		11  /* 10G PMA/PMD ext. ability reg */
    149      1.1   msaitoh #define MDIO_PMAPMD_P2MPABLTY		12  /* P2MP ability register(802.3av)*/
    150      1.6   msaitoh #define MDIO_PMAPMD_40G100GEXTABLTY	13  /* 40G/100G extended ability */
    151      1.1   msaitoh #define MDIO_PMAPMD_PKGID1		14  /* PMA/PMD package identifier 1 */
    152      1.1   msaitoh #define MDIO_PMAPMD_PKGID2		15  /* PMA/PMD package identifier 2 */
    153      1.6   msaitoh #define	MDIO_PMAPMD_EEECAP		16  /* PMA/PMD EEE capability */
    154      1.6   msaitoh 	/* Values 17 to 29 are reserved */
    155      1.1   msaitoh #define MDIO_PMAPMD_10P2BCTRL		30  /* 10P/2B PMA/PMD control */
    156      1.1   msaitoh #define MDIO_PMAPMD_10P2BSTAT		31  /* 10P/2B PMA/PMD status */
    157      1.1   msaitoh #define MDIO_PMAPMD_10P2BLPCTRL		32  /* 10P/2B link partner PMA/D ctrl*/
    158      1.1   msaitoh #define MDIO_PMAPMD_10P2BLPSTAT		33  /* 10P/2B link partner PMA/D stat*/
    159      1.1   msaitoh 	/* Values 34 to 35 are reserved */
    160      1.1   msaitoh #define MDIO_PMAPMD_10P2BLLOSCNT	36  /* 10P/2B link loss counter */
    161      1.1   msaitoh #define MDIO_PMAPMD_10P2BRXSNMGN	37  /* 10P/2B RX SNR margin */
    162      1.1   msaitoh #define MDIO_PMAPMD_10P2BLPRXSNMG	38  /* 10P/2B link partner RX SNR mgn*/
    163      1.1   msaitoh #define MDIO_PMAPMD_10P2BLINEATTN	39  /* 10P/2B line attenuation */
    164      1.1   msaitoh #define MDIO_PMAPMD_10P2BLPLINEATTN	40  /* 10P/2B link partner line atten*/
    165      1.1   msaitoh #define MDIO_PMAPMD_10P2BLQTHRES	41  /* 10P/2B line quality thresholds*/
    166      1.1   msaitoh #define MDIO_PMAPMD_10P2BLPLQLTHRES	42  /* 10P/2B link partner LQ thresh.*/
    167      1.1   msaitoh #define MDIO_PMAPMD_10PFECCOERRS	43  /* 10P FEC correctable errors cnt*/
    168      1.1   msaitoh #define MDIO_PMAPMD_10PFECUNCOERRS	44  /* 10P FEC uncorrectable err cnt*/
    169      1.1   msaitoh #define MDIO_PMAPMD_10PLPFECCOERRS	45  /* 10P LP FEC correctable err cnt*/
    170      1.1   msaitoh #define MDIO_PMAPMD_10PLPFECUNCOERRS	46  /* 10P LP FEC uncorrectable errcn*/
    171      1.1   msaitoh #define MDIO_PMAPMD_10PELECLENGTH	47  /* 10P electrical length */
    172      1.1   msaitoh #define MDIO_PMAPMD_10PLPELECLENGTH	48  /* 10P LP electrical length */
    173      1.1   msaitoh #define MDIO_PMAPMD_10PGENCONFIG	49  /* 10P PMA/PMD general config. */
    174      1.1   msaitoh #define MDIO_PMAPMD_10PPSDCONFIG	50  /* 10P PSD configuration */
    175      1.1   msaitoh #define MDIO_PMAPMD_10PDSDRCONF1	51  /* 10P downstream data rate cnf1 */
    176      1.1   msaitoh #define MDIO_PMAPMD_10PDSDRCONF2	52  /* 10P downstream data rate cnf2 */
    177      1.1   msaitoh #define MDIO_PMAPMD_10PDSRSCONF		53  /* 10P downstream ReedSolomon cnf*/
    178      1.1   msaitoh #define MDIO_PMAPMD_10PUSDR1		54  /* 10P upstream data rate cnf1 */
    179      1.1   msaitoh #define MDIO_PMAPMD_10PUSDR2		55  /* 10P upstream data rate cnf2 */
    180      1.5   msaitoh #define MDIO_PMAPMD_10PUSRSCONF		56  /* 10P upstream ReedSolomon cnf */
    181      1.1   msaitoh #define MDIO_PMAPMD_10PTONEGROUP1	57  /* 10P tone group 1 */
    182      1.1   msaitoh #define MDIO_PMAPMD_10PTONEGROUP2	58  /* 10P tone group 2 */
    183      1.1   msaitoh #define MDIO_PMAPMD_10PTONEPARAM1	59  /* 10P tone parameter 1 */
    184      1.1   msaitoh #define MDIO_PMAPMD_10PTONEPARAM2	60  /* 10P tone parameter 2 */
    185      1.1   msaitoh #define MDIO_PMAPMD_10PTONEPARAM3	61  /* 10P tone parameter 3 */
    186      1.1   msaitoh #define MDIO_PMAPMD_10PTONEPARAM4	62  /* 10P tone parameter 4 */
    187      1.1   msaitoh #define MDIO_PMAPMD_10PTONEPARAM5	63  /* 10P tone parameter 5 */
    188      1.1   msaitoh #define MDIO_PMAPMD_10PTONECTLACTN	64  /* 10P tone control action */
    189      1.1   msaitoh #define MDIO_PMAPMD_10PTONESTAT1	65  /* 10P tone status 1 */
    190      1.1   msaitoh #define MDIO_PMAPMD_10PTONESTAT2	66  /* 10P tone status 2 */
    191      1.1   msaitoh #define MDIO_PMAPMD_10PTONESTAT3	67  /* 10P tone status 3 */
    192      1.3   msaitoh #define MDIO_PMAPMD_10POUTINDICAT	68  /* 10P outgoing indicator bits */
    193      1.3   msaitoh #define MDIO_PMAPMD_10PININDICAT	69  /* 10P incoming indicator bits */
    194      1.1   msaitoh #define MDIO_PMAPMD_10PCYCLICEXTCNF	70  /* 10P cyclic extension config. */
    195      1.1   msaitoh #define MDIO_PMAPMD_10PATTAINDSDR	71  /* 10P attainable downstream DR */
    196      1.1   msaitoh 	/* Values 72 to 79 are reserved */
    197      1.1   msaitoh #define MDIO_PMAPMD_2BGENPARAM		80  /* 2B general parameter */
    198      1.1   msaitoh #define MDIO_PMAPMD_2BPMDPARAM1		81  /* 2B PMD parameter 1 */
    199      1.1   msaitoh #define MDIO_PMAPMD_2BPMDPARAM2		82  /* 2B PMD parameter 2 */
    200      1.1   msaitoh #define MDIO_PMAPMD_2BPMDPARAM3		83  /* 2B PMD parameter 3 */
    201      1.1   msaitoh #define MDIO_PMAPMD_2BPMDPARAM4		84  /* 2B PMD parameter 4 */
    202      1.1   msaitoh #define MDIO_PMAPMD_2BPMDPARAM5		85  /* 2B PMD parameter 5 */
    203      1.1   msaitoh #define MDIO_PMAPMD_2BPMDPARAM6		86  /* 2B PMD parameter 6 */
    204      1.1   msaitoh #define MDIO_PMAPMD_2BPMDPARAM7		87  /* 2B PMD parameter 7 */
    205      1.1   msaitoh #define MDIO_PMAPMD_2BPMDPARAM8		88  /* 2B PMD parameter 8 */
    206      1.1   msaitoh #define MDIO_PMAPMD_2BCODEVIOERRCNT	89  /* 2B code violation errors cnt. */
    207      1.1   msaitoh #define MDIO_PMAPMD_2BLPCODEVIOERR	90  /* 2B LP code violation errors */
    208      1.1   msaitoh #define MDIO_PMAPMD_2BERRSECCNT		91  /* 2B errored seconds counter */
    209      1.1   msaitoh #define MDIO_PMAPMD_2BLPERRSEC		92  /* 2B LP errored seconds */
    210      1.1   msaitoh #define MDIO_PMAPMD_2BSEVERRSECCNT	93  /* 2B severely errored seconds cn*/
    211      1.1   msaitoh #define MDIO_PMAPMD_2BLPSEVERRSECCNT	94 /* 2B LP severely errored secs cn*/
    212      1.1   msaitoh #define MDIO_PMAPMD_2BLOSWCNT		95  /* 2B LOSW counter */
    213      1.1   msaitoh #define MDIO_PMAPMD_2BLPLOSW		96  /* 2B LP LOSW */
    214      1.1   msaitoh #define MDIO_PMAPMD_2BUNAVSECCNT	97  /* 2B unavailable seconds counter*/
    215      1.1   msaitoh #define MDIO_PMAPMD_2BLPUNAVSECCNT	98  /* 2B LP unavailable seconds cnt */
    216      1.1   msaitoh #define MDIO_PMAPMD_2BSTATDEFECT	99  /* 2B state defects */
    217      1.1   msaitoh #define MDIO_PMAPMD_2BLPSTATDEFECT	100 /* 2B LP state defects */
    218      1.1   msaitoh #define MDIO_PMAPMD_2BNEGOCONSTEL	101 /* 2B negotiated constellation */
    219      1.1   msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM1	102 /* 2B extended PMD parameters 1 */
    220      1.1   msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM2	103 /* 2B extended PMD parameters 2 */
    221      1.1   msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM3	104 /* 2B extended PMD parameters 3 */
    222      1.1   msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM4	105 /* 2B extended PMD parameters 4 */
    223      1.1   msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM5	106 /* 2B extended PMD parameters 5 */
    224      1.1   msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM6	107 /* 2B extended PMD parameters 6 */
    225      1.1   msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM7	108 /* 2B extended PMD parameters 7 */
    226      1.1   msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM8	109 /* 2B extended PMD parameters 8 */
    227      1.1   msaitoh 	/* Values 110 to 128 are reserved */
    228      1.1   msaitoh #define MDIO_PMAPMD_10GTSTAT		129 /* 10GBASE-T status */
    229      1.1   msaitoh #define MDIO_PMAPMD_10GTPASWPOLAR	130 /* 10G-T pair swap & polarity */
    230      1.1   msaitoh #define MDIO_PMAPMD_10GTTXPWBOSHRCH	131 /* 10G-T PWR backoff&PHY shrt rch*/
    231      1.1   msaitoh #define MDIO_PMAPMD_10GTTSTMODE		132 /* 10G-T test mode */
    232      1.1   msaitoh #define MDIO_PMAPMD_10GTSNROMARGA	133 /* 10G-T SNR operating margin chA*/
    233      1.1   msaitoh #define MDIO_PMAPMD_10GTSNROMARGB	134 /* 10G-T SNR operating margin chB*/
    234      1.1   msaitoh #define MDIO_PMAPMD_10GTSNROMARGC	135 /* 10G-T SNR operating margin chC*/
    235      1.1   msaitoh #define MDIO_PMAPMD_10GTSNROMARGD	136 /* 10G-T SNR operating margin chD*/
    236      1.1   msaitoh #define MDIO_PMAPMD_10GTMINMARGA	137 /* 10G-T minimum margin ch. A */
    237      1.1   msaitoh #define MDIO_PMAPMD_10GTMINMARGB	138 /* 10G-T minimum margin ch. B */
    238      1.1   msaitoh #define MDIO_PMAPMD_10GTMINMARGC	139 /* 10G-T minimum margin ch. C */
    239      1.1   msaitoh #define MDIO_PMAPMD_10GTMINMARGD	140 /* 10G-T minimum margin ch. D */
    240      1.1   msaitoh #define MDIO_PMAPMD_10GTSIGPWRA		141 /* 10G-T RX signal power ch. A */
    241      1.1   msaitoh #define MDIO_PMAPMD_10GTSIGPWRB		142 /* 10G-T RX signal power ch. B */
    242      1.1   msaitoh #define MDIO_PMAPMD_10GTSIGPWRC		143 /* 10G-T RX signal power ch. C */
    243      1.1   msaitoh #define MDIO_PMAPMD_10GTSIGPWRD		144 /* 10G-T RX signal power ch. D */
    244      1.1   msaitoh #define MDIO_PMAPMD_10GTSKEWDLY1	145 /* 10G-T skew delay 1 */
    245      1.1   msaitoh #define MDIO_PMAPMD_10GTSKEWDLY2	146 /* 10G-T skew delay 2 */
    246      1.1   msaitoh #define MDIO_PMAPMD_10GTFSTRETSTATCTRL	147 /* 10G-T fast retrain stat&ctrl */
    247      1.3   msaitoh 	/* Values 148 to 149 are reserved */
    248      1.6   msaitoh #define MDIO_PMAPMD_BASERPMDCTRL	150 /* BASE-R PMD control */
    249      1.6   msaitoh #define MDIO_PMAPMD_BASERPMDSTAT	151 /* BASE-R PMD status */
    250      1.6   msaitoh #define MDIO_PMAPMD_BASERLPCOEFUPDL0	152 /* BASE-R LP coeffici. update ln0*/
    251      1.6   msaitoh #define MDIO_PMAPMD_BASERLPSTATRPTL0	153 /* BASE-R LP status report lane0 */
    252      1.6   msaitoh #define MDIO_PMAPMD_BASERLDCOEFFUPDL0	154 /* BASE-R LD coeffici. update ln0*/
    253      1.6   msaitoh #define MDIO_PMAPMD_BASERLDSTATRPTL0	155 /* BASE-R LD status report lane0 */
    254      1.6   msaitoh #define MDIO_PMAPMD_BASERSTAT2		156 /* BASE-R PMD status 2 */
    255      1.6   msaitoh #define MDIO_PMAPMD_BASERSTAT3		157 /* BASE-R PMD status 3 */
    256      1.6   msaitoh 	/* Values 158 to 159 are reserved */
    257      1.6   msaitoh #define MDIO_PMAPMD_1000KXCTRL		160 /* 1000BASE-KX control */
    258      1.6   msaitoh #define MDIO_PMAPMD_1000KXSTAT		161 /* 1000BASE-KX status */
    259      1.6   msaitoh #define MDIO_PMAPMD_PMAOVHDCTRL1	162 /* PMA Overhead Control 1 */
    260      1.6   msaitoh #define MDIO_PMAPMD_PMAOVHDCTRL2	163 /* PMA Overhead Control 2 */
    261      1.6   msaitoh #define MDIO_PMAPMD_PMAOVHDCTRL3	164 /* PMA Overhead Control 3 */
    262      1.6   msaitoh #define MDIO_PMAPMD_PMAOVHDSTAT1	165 /* PMA Overhead Status 1 */
    263      1.6   msaitoh #define MDIO_PMAPMD_PMAOVHDSTAT2	166 /* PMA Overhead Status 2 */
    264      1.6   msaitoh 	/* Values 167 to 169 are reserved */
    265      1.6   msaitoh #define MDIO_PMAPMD_BASERFECABLTY	170 /* BASE-R FEC ability */
    266      1.6   msaitoh #define MDIO_PMAPMD_BASERFECCTRL	171 /* BASE-R FEC control */
    267      1.6   msaitoh #define MDIO_PMAPMD_10GRFECCOBLCNTL	172 /* 10G-R FEC corrected blks cntL */
    268      1.6   msaitoh #define MDIO_PMAPMD_10GRFECCOBLCNTH	173 /* 10G-R FEC corrected blks cntH */
    269      1.6   msaitoh #define MDIO_PMAPMD_10GRFECUNCOBLCNTL	174 /* 10G-R FEC uncorrect blks cntL */
    270      1.6   msaitoh #define MDIO_PMAPMD_10GRFECUNCOBLCNTH	175 /* 10G-R FEC uncorrect blks cntH */
    271      1.6   msaitoh 	/* Values 176 to 178 are reserved */
    272      1.6   msaitoh #define MDIO_PMAPMD_CAUI4C2MRECCTLE	179 /* CAUI-4 Chip2Mod recomme. CTLE */
    273      1.6   msaitoh #define MDIO_PMAPMD_CAUI4C2CTERDIL0	180 /* CAUI-4 Ch2Ch TxEq RxDir lane0 */
    274      1.6   msaitoh #define MDIO_PMAPMD_CAUI4C2CTERDIL1	181 /* lane1 */
    275      1.6   msaitoh #define MDIO_PMAPMD_CAUI4C2CTERDIL2	182 /* lane2 */
    276      1.6   msaitoh #define MDIO_PMAPMD_CAUI4C2CTERDIL3	183 /* lane3 */
    277      1.6   msaitoh #define MDIO_PMAPMD_CAUI4C2CTETDEL0	184 /* CAUI-4 Ch2Ch TxEq TxDet lane0 */
    278      1.6   msaitoh #define MDIO_PMAPMD_CAUI4C2CTETDEL1	185 /* lane1 */
    279      1.6   msaitoh #define MDIO_PMAPMD_CAUI4C2CTETDEL2	186 /* lane2 */
    280      1.6   msaitoh #define MDIO_PMAPMD_CAUI4C2CTETDEL3	187 /* lane3 */
    281      1.6   msaitoh 	/* Values 188 to 199 are reserved */
    282      1.6   msaitoh #define MDIO_PMAPMD_RSFECCTRL		200 /* RS-FEC Control */
    283      1.6   msaitoh #define MDIO_PMAPMD_RSFECSTAT		201 /* RS-FEC Status */
    284      1.6   msaitoh #define MDIO_PMAPMD_RSFECCORRCWCNTL	202 /* RS-FEC correct. codeword cntL */
    285      1.6   msaitoh #define MDIO_PMAPMD_RSFECCORRCWCNTH	203 /* RS-FEC correct. codeword cntH */
    286      1.6   msaitoh #define MDIO_PMAPMD_RSFECUNCORRCWCNTL	204 /* RS-FEC uncorre. codeword cntL */
    287      1.6   msaitoh #define MDIO_PMAPMD_RSFECUNCORRCWCNTH	205 /* RS-FEC uncorre. codeword cntH */
    288      1.6   msaitoh #define MDIO_PMAPMD_RSFECLANEMAP	206 /* RS-FEC Lane Mapping */
    289      1.6   msaitoh 	/* Values 207 to 209 are reserved */
    290      1.6   msaitoh #define MDIO_PMAPMD_RSFECSMBLERRCNTL(x)	    /* RS-FEC Symbol Error CntLow */ \
    291      1.6   msaitoh 					(210 + ((x) * 2)) /* lane 0 to 3 */
    292      1.6   msaitoh #define MDIO_PMAPMD_RSFECSMBLERRCNTH(x)	    /* RS-FEC Symbol Error CntHigh */ \
    293      1.6   msaitoh 					(211 + ((x) * 2)) /* lane 0 to 3 */
    294      1.6   msaitoh 	/* Values 218 to 229 are reserved */
    295      1.6   msaitoh #define MDIO_PMAPMD_RSFECBIPERRCNT(x)	    /* RS-FEC BIP Error Counter */ \
    296      1.6   msaitoh 					(230 + (x)) /* lane 0 to 19 */
    297      1.6   msaitoh #define MDIO_PMAPMD_RSFECPCSLMAP(x)	    /* RS-FEC PCS Lane Mapping */ \
    298      1.6   msaitoh 					(250 + (x)) /* lane 0 to 19 */
    299      1.6   msaitoh 	/* Values 270 to 279 are reserved */
    300      1.6   msaitoh #define MDIO_PMAPMD_RSFECPCSALGNSTAT1	280 /* RS-FEC PCS Alignment Status 1 */
    301      1.6   msaitoh #define MDIO_PMAPMD_RSFECPCSALGNSTAT2	281 /* RS-FEC PCS Alignment Status 2 */
    302      1.6   msaitoh #define MDIO_PMAPMD_RSFECPCSALGNSTAT3	282 /* RS-FEC PCS Alignment Status 3 */
    303      1.6   msaitoh #define MDIO_PMAPMD_RSFECPCSALGNSTAT4	283 /* RS-FEC PCS Alignment Status 4 */
    304      1.6   msaitoh 	/* Values 284 to 299 are reserved */
    305      1.6   msaitoh #define MDIO_PMAPMD_BASERFECCORBLKCNTL(x)    /* BASE-R FEC Corr. Blk. CntL */ \
    306      1.6   msaitoh 					(300 + ((x) * 2)) /* lane0 to 19 */
    307      1.6   msaitoh #define MDIO_PMAPMD_BASERFECCORBLKCNTH(x)    /* BASE-R FEC Corr. Blk. CntH */ \
    308      1.6   msaitoh 					(301 + ((x) * 2)) /* lane0 to 19 */
    309      1.6   msaitoh 	/* Values 340 to 699 are reserved */
    310      1.6   msaitoh #define MDIO_PMAPMD_BASERFECUNCORBLKCNTL(x) /* BASE-R FEC UnCorr. Blk. CntL*/ \
    311      1.6   msaitoh 					(700 + ((x) * 2)) /* lane0 to 19 */
    312      1.6   msaitoh #define MDIO_PMAPMD_BASERFECUNCORBLKCNTH(x) /* BASE-R FEC UnCorr. Blk. CntH*/ \
    313      1.6   msaitoh 					(701 + ((x) * 2)) /* lane0 to 19 */
    314      1.6   msaitoh 	/* Values 740 to 1099 are reserved */
    315      1.6   msaitoh #define MDIO_PMAPMD_BASERLPCOEFUPD(x)	    /* BASE-R LP coefficient update */\
    316      1.6   msaitoh 					(1100 + (x)) /* lane0 to 9 */
    317      1.6   msaitoh 	/* Values 1110 to 1199 are reserved */
    318      1.6   msaitoh #define MDIO_PMAPMD_BASERLPSTATRPT(x)	    /* BASE-R LP status report */ \
    319      1.6   msaitoh 					(1200 + (x)) /* lane0 to 9 */
    320      1.6   msaitoh 	/* Values 1210 to 1299 are reserved */
    321      1.6   msaitoh #define MDIO_PMAPMD_BASERLDCOEFUPD(x)	    /* BASE-R LD coefficient update */\
    322      1.6   msaitoh 					(1300 + (x)) /* lane0 to 9 */
    323      1.6   msaitoh 	/* Values 1310 to 1399 are reserved */
    324      1.6   msaitoh #define MDIO_PMAPMD_BASERLDSTATRPT(x)	    /* BASE-R LD status report */ \
    325      1.6   msaitoh 					(1400 + (x)) /* lane0 to 9 */
    326      1.6   msaitoh 	/* Values 1410 to 1449 are reserved */
    327      1.6   msaitoh #define MDIO_PMAPMD_PMDTRAINPATTERN(x)	    /* PMD training pattern */	\
    328      1.6   msaitoh 					(1450 + (x)) /* lane0 to 3 */
    329      1.6   msaitoh 	/* Values 1454 to 1499 are reserved */
    330      1.6   msaitoh #define MDIO_PMAPMD_TSTPAT		1500 /* Test-pattern ability */
    331      1.6   msaitoh #define MDIO_PMAPMD_PRBSPATTSTCTRL	1501 /* PRBS pattern testing control */
    332      1.6   msaitoh 	/* Values 1502 to 1509 are reserved */
    333      1.6   msaitoh #define MDIO_PMAPMD_SQWVTSTCTRL		1510 /* Square wave testing control */
    334      1.6   msaitoh 	/* Values 1511 to 1599 are reserved */
    335      1.6   msaitoh #define MDIO_PMAPMD_PRBSTXERRCNT(x)	     /* PRBS Tx Error Counter */ \
    336      1.6   msaitoh 					(1600 + (x)) /* lane0 to 9 */
    337      1.6   msaitoh 	/* Values 1610 to 1699 are reserved */
    338      1.6   msaitoh #define MDIO_PMAPMD_PRBSRXERRCNT(x)	     /* PRBS Rx Error Counter */ \
    339      1.6   msaitoh 					(1700 + (x)) /* lane0 to 9 */
    340      1.6   msaitoh 	/* Values 1710 to 1799 are reserved */
    341      1.6   msaitoh #define MDIO_PMAPMD_TSYNCCAP		1800 /* TimeSync PMA/PMD capability */
    342      1.6   msaitoh #define MDIO_PMAPMD_TSYNCTXMAXDLYL	1801 /* TimeSync PMAPMD TX MAXdelay L*/
    343      1.6   msaitoh #define MDIO_PMAPMD_TSYNCTXMAXDLYH	1802 /* TimeSync PMAPMD TX MAXdelay H*/
    344      1.6   msaitoh #define MDIO_PMAPMD_TSYNCTXMINDLYL	1803 /* TimeSync PMAPMD TX MINdelay L*/
    345      1.6   msaitoh #define MDIO_PMAPMD_TSYNCTXMINDLYH	1804 /* TimeSync PMAPMD TX MINdelay H*/
    346      1.6   msaitoh #define MDIO_PMAPMD_TSYNCRXMAXDLYL	1805 /* TimeSync PMAPMD RX MAXdelay L*/
    347      1.6   msaitoh #define MDIO_PMAPMD_TSYNCRXMAXDLYH	1806 /* TimeSync PMAPMD RX MAXdelay H*/
    348      1.6   msaitoh #define MDIO_PMAPMD_TSYNCRXMINDLYL	1807 /* TimeSync PMAPMD RX MINdelay L*/
    349      1.6   msaitoh #define MDIO_PMAPMD_TSYNCRXMINDLYH	1808 /* TimeSync PMAPMD RX MINdelay H*/
    350      1.6   msaitoh 	/* Values 1809 to 32767 are reserved */
    351      1.1   msaitoh 	/* Values 32768 to 65535 are vendor specific */
    352      1.1   msaitoh 
    353      1.1   msaitoh /*
    354      1.6   msaitoh  * WIS registers.
    355      1.6   msaitoh  * Table 45-99
    356      1.1   msaitoh  */
    357      1.1   msaitoh #define	MDIO_WIS_CTRL1		0	/* WIS control 1 */
    358      1.1   msaitoh #define	MDIO_WIS_STAT1		1	/* WIS status 1 */
    359      1.1   msaitoh #define	MDIO_WIS_DEVID1		2	/* WIS device identifier 1 */
    360      1.1   msaitoh #define	MDIO_WIS_DEVID2		3	/* WIS device identifier 2 */
    361      1.1   msaitoh #define	MDIO_WIS_SPEED		4	/* WIS speed ability */
    362      1.1   msaitoh #define	MDIO_WIS_DEVS1		5	/* WIS devices in package 1 */
    363      1.1   msaitoh #define	MDIO_WIS_DEVS2		6	/* WIS devices in package 2 */
    364      1.1   msaitoh #define	MDIO_WIS_10GCTRL2	7	/* 10G WIS control 2 */
    365      1.1   msaitoh #define	MDIO_WIS_10GSTAT2	8	/* 10G WIS status 2 */
    366      1.1   msaitoh #define	MDIO_WIS_10GTSTERRCNT	9	/* 10G WIS test-pattern error counter*/
    367      1.1   msaitoh 	/* Values 10 to 13 are reserved */
    368      1.1   msaitoh #define	MDIO_WIS_PKGID1		14	/* WIS package identifier 1 */
    369      1.1   msaitoh #define	MDIO_WIS_PKGID2		15	/* WIS package identifier 2 */
    370      1.1   msaitoh 	/* Values 16 to 32 are reserved */
    371      1.1   msaitoh #define	MDIO_WIS_10GSTAT3	33	/* 10G WIS status 3 */
    372      1.1   msaitoh 	/* Values 34 to 36 are reserved */
    373      1.6   msaitoh #define	MDIO_WIS_10GFARENDPBERRCNT 37	/* 10G WIS far end path block errcnt */
    374      1.1   msaitoh 	/* Value 38 is reserved */
    375      1.6   msaitoh #define	MDIO_WIS_J1XMIT(x)		/* 10G WIS J1 transmit */	     \
    376      1.6   msaitoh 				(39 + ((x) / 2))/* 0to15. L8=even, H8=odd */
    377      1.6   msaitoh 
    378      1.6   msaitoh #define	MDIO_WIS_J1RCV(x)		/* 10G WIS J1 receive */	     \
    379      1.6   msaitoh 				(47 + ((x) / 2))/* 0to15. L8=even, H8=odd */
    380      1.1   msaitoh #define	MDIO_WIS_FARENDLBIPERR1	55	/* 10G WIS far end line BIP errors 1 */
    381      1.1   msaitoh #define	MDIO_WIS_FARENDLBIPERR2	56	/* 10G WIS far end line BIP errors 2 */
    382      1.1   msaitoh #define	MDIO_WIS_LBIPERR1	57	/* 10G WIS line BIP errors 1 */
    383      1.1   msaitoh #define	MDIO_WIS_LBIPERR2	58	/* 10G WIS line BIP errors 2 */
    384      1.1   msaitoh #define	MDIO_WIS_PBERRCNT	59	/* 10G WIS path block error count */
    385      1.1   msaitoh #define	MDIO_WIS_SECBIPERRCNT	60	/* 10G WIS section BIP error count */
    386      1.1   msaitoh 	/* Values 61 to 63 are reserved */
    387      1.6   msaitoh #define	MDIO_WIS_J0XMIT(x)		/* 10G WIS J0 transmit */	     \
    388      1.6   msaitoh 				(64 + ((x) / 2))/* 0to15. L8=even, H8=odd */
    389      1.6   msaitoh 
    390      1.6   msaitoh #define	MDIO_WIS_J0RCV(x)		/* 10G WIS J0 receive */	     \
    391      1.6   msaitoh 				(72 + ((x) / 2))/* 0to15. L8=even, H8=odd */
    392      1.6   msaitoh 	/* Values 80 to 1799 are reserved */
    393      1.6   msaitoh #define MDIO_WIS_TSYNCCAP	1800 /* TimeSync WIS capability */
    394      1.6   msaitoh #define MDIO_WIS_TSYNCTXMAXDLYL	1801 /* TimeSync WIS TX MAXdelay L*/
    395      1.6   msaitoh #define MDIO_WIS_TSYNCTXMAXDLYH	1802 /* TimeSync WIS TX MAXdelay H*/
    396      1.6   msaitoh #define MDIO_WIS_TSYNCTXMINDLYL	1803 /* TimeSync WIS TX MINdelay L*/
    397      1.6   msaitoh #define MDIO_WIS_TSYNCTXMINDLYH	1804 /* TimeSync WIS TX MINdelay H*/
    398      1.6   msaitoh #define MDIO_WIS_TSYNCRXMAXDLYL	1805 /* TimeSync WIS RX MAXdelay L*/
    399      1.6   msaitoh #define MDIO_WIS_TSYNCRXMAXDLYH	1806 /* TimeSync WIS RX MAXdelay H*/
    400      1.6   msaitoh #define MDIO_WIS_TSYNCRXMINDLYL	1807 /* TimeSync WIS RX MINdelay L*/
    401      1.6   msaitoh #define MDIO_WIS_TSYNCRXMINDLYH	1808 /* TimeSync WIS RX MINdelay H*/
    402      1.6   msaitoh 	/* Values 1809 to 32767 are reserved */
    403      1.1   msaitoh 	/* Values 32768 to 65535 are vendor specific */
    404      1.1   msaitoh 
    405      1.1   msaitoh /*
    406      1.6   msaitoh  * PCS registers.
    407      1.6   msaitoh  * Table 45-119
    408      1.1   msaitoh  */
    409      1.1   msaitoh #define	MDIO_PCS_CTRL1		0	/* PCS control 1 */
    410      1.1   msaitoh #define	MDIO_PCS_STAT1		1	/* PCS status 1 */
    411      1.1   msaitoh #define	MDIO_PCS_DEVID1		2	/* PCS device identifier 1 */
    412      1.1   msaitoh #define	MDIO_PCS_DEVID2		3	/* PCS device identifier 2 */
    413      1.1   msaitoh #define	MDIO_PCS_SPEED		4	/* PCS speed ability */
    414      1.1   msaitoh #define	MDIO_PCS_DEVS1		5	/* PCS devices in package 1 */
    415      1.1   msaitoh #define	MDIO_PCS_DEVS2		6	/* PCS devices in package 2 */
    416      1.1   msaitoh #define	MDIO_PCS_10GCTRL2	7	/* 10G PCS control 2 */
    417      1.1   msaitoh #define	MDIO_PCS_10GSTAT2	8	/* 10G PCS status 2 */
    418      1.1   msaitoh 	/* Values 9 to 13 are reserved */
    419      1.1   msaitoh #define	MDIO_PCS_PKGID1		14	/* PCS package identifier 1 */
    420      1.1   msaitoh #define	MDIO_PCS_PKGID2		15	/* PCS package identifier 2 */
    421      1.1   msaitoh 	/* Values 16 to 19 are reserved */
    422      1.6   msaitoh #define	MDIO_PCS_EEECTRLCAP	20	/* EEE control and capability */
    423      1.1   msaitoh 	/* Value 21 is reserved */
    424      1.6   msaitoh #define	MDIO_PCS_EEEWKERRCNT	22	/* EEE wake error counter */
    425      1.1   msaitoh 	/* Value 23 is reserved */
    426      1.1   msaitoh #define	MDIO_PCS_10GXSTAT	24	/* 10G-X PCS status */
    427      1.1   msaitoh #define	MDIO_PCS_10GXSTSCTRL	25	/* 10G-X PCS test control */
    428      1.1   msaitoh 	/* Values 26 to 31 are reserved */
    429      1.6   msaitoh #define	MDIO_PCS_BASERTSTAT1	32	/* BASE-R & 10G-T PCS status 1 */
    430      1.6   msaitoh #define	MDIO_PCS_BASERTSTAT2	33	/* BASE-R & 10G-T PCS status 2 */
    431      1.6   msaitoh #define	MDIO_PCS_10GRTPSEEDA(x)		/* 10G-R PCS test pattern seed A */ \
    432      1.6   msaitoh 				(34 + (x)) /* 0 to 3 */
    433      1.6   msaitoh #define	MDIO_PCS_10GRTPSEEDB		/* 10G-R PCS test pattern seed B */ \
    434      1.6   msaitoh 				(38 + (x)) /* 0 to 3 */
    435      1.1   msaitoh #define	MDIO_PCS_10GRTPCTRL	42	/* 10G-R PCS test pattern control */
    436      1.1   msaitoh #define	MDIO_PCS_10GRTPERRCNT	43	/* 10G-R PCS test pattern err counter*/
    437      1.6   msaitoh #define	MDIO_PCS_BERHIORDERCNT	44	/* BER high order counter */
    438      1.6   msaitoh #define	MDIO_PCS_ERRBHIORDERCNT	45	/* Errored blocks high order counter */
    439      1.6   msaitoh 	/* Values 46 to 49 are reserved */
    440      1.6   msaitoh #define MDIO_PCS_MLBRPCSALGNSTAT1 50	/* Mlt-lane BASE-R PCS Align. Stat1 */
    441      1.6   msaitoh #define MDIO_PCS_MLBRPCSALGNSTAT2 51	/* Mlt-lane BASE-R PCS Align. Stat2 */
    442      1.6   msaitoh #define MDIO_PCS_MLBRPCSALGNSTAT3 52	/* Mlt-lane BASE-R PCS Align. Stat3 */
    443      1.6   msaitoh #define MDIO_PCS_MLBRPCSALGNSTAT4 53	/* Mlt-lane BASE-R PCS Align. Stat4 */
    444      1.6   msaitoh 	/* Values 54 to 59 are reserved */
    445      1.1   msaitoh #define	MDIO_PCS_10P2BCAP	60	/* 10P/2B capability */
    446      1.6   msaitoh #define	MDIO_PCS_10P2BCTRL	61	/* 10P/2B PCS control */
    447      1.1   msaitoh #define	MDIO_PCS_10P2BPMEAVAIL1	62	/* 10P/2B PME available 1 */
    448      1.1   msaitoh #define	MDIO_PCS_10P2BPMEAVAIL2	63	/* 10P/2B PME available 2 */
    449      1.1   msaitoh #define	MDIO_PCS_10P2BPMEAGGRG1	64	/* 10P/2B PME aggregate 1 */
    450      1.1   msaitoh #define	MDIO_PCS_10P2BPMEAGGRG2	65	/* 10P/2B PME aggregate 2 */
    451      1.1   msaitoh #define	MDIO_PCS_10P2BPAFRXERRCNT 66	/* 10P/2B PAF RX error counter */
    452      1.1   msaitoh #define	MDIO_PCS_10P2BPAFSMLFRCNT 67	/* 10P/2B PAF small fragment counter */
    453      1.1   msaitoh #define	MDIO_PCS_10P2BPAFLARFLCNT 68	/* 10P/2B PAF large fragment counter */
    454      1.6   msaitoh #define	MDIO_PCS_10P2BPAFOVFLCNT 69    /* 10P/2B PAF overflow counter */
    455      1.6   msaitoh #define	MDIO_PCS_10P2BPAFBADFLCNT 70   /* 10P/2B PAF bad fragments counter */
    456      1.6   msaitoh #define	MDIO_PCS_10P2BPAFLSTFLCNT 71   /* 10P/2B PAF lost fragments counter */
    457      1.6   msaitoh #define	MDIO_PCS_10P2BPAFLSTSTFLCNT 72 /* 10P/2B PAF lost starts of fr. cnt */
    458      1.6   msaitoh #define	MDIO_PCS_10P2BPAFLSTENFLCNT 73 /* 10P/2B PAF lost ends of fr. count */
    459      1.1   msaitoh #define	MDIO_PCS_10GPRFECABLTY	74	/* 10G-PR & 10/1G-PRX FEC ability */
    460      1.1   msaitoh #define	MDIO_PCS_10GPRFECCTRL	75	/* 10G-PR & 10/1G-PRX FEC control */
    461      1.1   msaitoh #define	MDIO_PCS_10GPRCOFECCOCNT1 76	/*10(/1)G-PR(X) corrected FECcodecnt1*/
    462      1.1   msaitoh #define	MDIO_PCS_10GPRCOFECCOCNT2 77	/*10(/1)G-PR(X) corrected FECcodecnt2*/
    463      1.1   msaitoh #define	MDIO_PCS_10GPRUNCOFECCOCNT1 78	/*10(/1)G-PR(X)uncorrected FECcdecnt1*/
    464      1.1   msaitoh #define	MDIO_PCS_10GPRUNCOFECCOCNT2 79	/*10(/1)G-PR(X)uncorrected FECcdecnt2*/
    465      1.1   msaitoh #define	MDIO_PCS_10GPRBERMONTMRCTRL 80	/*10(/1)G-PR(X) BER monitor tmr ctrl */
    466      1.1   msaitoh #define	MDIO_PCS_10GPRBERMONSTAT 81	/*10(/1)G-PR(X) BER monitor status */
    467      1.1   msaitoh #define	MDIO_PCS_10GPRBERMONTHRCTRL 82	/*10(/1)G-PR(X) BER mntr thresh ctrl */
    468      1.6   msaitoh 	/* Values 83 to 199 are reserved */
    469      1.6   msaitoh #define MDIO_PCS_BIPERRCNT(x)	    	/* BIP Error Counter */ \
    470      1.6   msaitoh 				    (200 + (x)) /* lane 0 to 19 */
    471      1.6   msaitoh 	/* Values 220 to 399 are reserved */
    472      1.6   msaitoh #define MDIO_PCS_PCSLMAP(x)	    	/* PCS Lane Mapping */ \
    473      1.6   msaitoh 				    (400 + (x)) /* lane 0 to 19 */
    474      1.6   msaitoh 	/* Values 420 to 1799 are reserved */
    475      1.6   msaitoh #define MDIO_PCS_TSYNCCAP	1800 /* TimeSync PCS capability */
    476      1.6   msaitoh #define MDIO_PCS_TSYNCTXMAXDLYL	1801 /* TimeSync PCS TX MAXdelay L*/
    477      1.6   msaitoh #define MDIO_PCS_TSYNCTXMAXDLYH	1802 /* TimeSync PCS TX MAXdelay H*/
    478      1.6   msaitoh #define MDIO_PCS_TSYNCTXMINDLYL	1803 /* TimeSync PCS TX MINdelay L*/
    479      1.6   msaitoh #define MDIO_PCS_TSYNCTXMINDLYH	1804 /* TimeSync PCS TX MINdelay H*/
    480      1.6   msaitoh #define MDIO_PCS_TSYNCRXMAXDLYL	1805 /* TimeSync PCS RX MAXdelay L*/
    481      1.6   msaitoh #define MDIO_PCS_TSYNCRXMAXDLYH	1806 /* TimeSync PCS RX MAXdelay H*/
    482      1.6   msaitoh #define MDIO_PCS_TSYNCRXMINDLYL	1807 /* TimeSync PCS RX MINdelay L*/
    483      1.6   msaitoh #define MDIO_PCS_TSYNCRXMINDLYH	1808 /* TimeSync PCS RX MINdelay H*/
    484      1.6   msaitoh 	/* Values 1809 to 32767 are reserved */
    485      1.1   msaitoh 	/* Values 32768 to 65535 are vendor specific */
    486      1.1   msaitoh 
    487      1.1   msaitoh /*
    488      1.6   msaitoh  * PHY XS registers.
    489      1.6   msaitoh  * Table 45-164
    490      1.1   msaitoh  */
    491      1.1   msaitoh #define	MDIO_PHYXS_CTRL1	0	/* PHY XS control 1 */
    492      1.1   msaitoh #define	MDIO_PHYXS_STAT1	1	/* PHY XS status 1 */
    493      1.1   msaitoh #define	MDIO_PHYXS_DEVID1	2	/* PHY XS device identifier 1 */
    494      1.1   msaitoh #define	MDIO_PHYXS_DEVID2	3	/* PHY XS device identifier 2 */
    495      1.1   msaitoh #define	MDIO_PHYXS_SPEED	4	/* PHY XS speed ability */
    496      1.1   msaitoh #define	MDIO_PHYXS_DEVS1	5	/* PHY XS devices in package 1 */
    497      1.1   msaitoh #define	MDIO_PHYXS_DEVS2	6	/* PHY XS devices in package 2 */
    498      1.1   msaitoh 	/* Value 7 is reserved */
    499      1.1   msaitoh #define	MDIO_PHYXS_STAT2	8	/* PHY XS status 2 */
    500      1.1   msaitoh 	/* Values 9 to 13 are reserved */
    501      1.1   msaitoh #define	MDIO_PHYXS_PKGID1	14	/* PHY XS package identifier 1 */
    502      1.1   msaitoh #define	MDIO_PHYXS_PKGID2	15	/* PHY XS package identifier 2 */
    503      1.1   msaitoh 	/* Values 16 to 19 are reserved */
    504      1.6   msaitoh #define	MDIO_PHYXS_EEECAP	20	/* EEE capability register */
    505      1.1   msaitoh 	/* Value 21 is reserved */
    506      1.6   msaitoh #define	MDIO_PHYXS_EEEWKERRCNT	22	/* EEE wake error counter */
    507      1.1   msaitoh 	/* Value 23 is reserved */
    508      1.1   msaitoh #define	MDIO_PHYXS_10GXGXLNSTAT	24	/* 10G-X PHY XGXS lane status */
    509      1.1   msaitoh #define	MDIO_PHYXS_10GXGXSTSCTRL 25	/* 10G-X PHY XGXS test control */
    510      1.6   msaitoh 	/* Values 26 to 1799 are reserved */
    511      1.6   msaitoh #define MDIO_PHYXS_TSYNCCSP	  1800 /* TimeSync PHY XS capability */
    512      1.6   msaitoh #define MDIO_PHYXS_TSYNCTXMAXDLYL 1801 /* TimeSync PHY XS TX MAX delay L */
    513      1.6   msaitoh #define MDIO_PHYXS_TSYNCTXMAXDLYH 1802 /* TimeSync PHY XS TX MAX delay H */
    514      1.6   msaitoh #define MDIO_PHYXS_TSYNCTXMINDLYL 1803 /* TimeSync PHY XS TX MIN delay L */
    515      1.6   msaitoh #define MDIO_PHYXS_TSYNCTXMINDLYH 1804 /* TimeSync PHY XS TX MIN delay H */
    516      1.6   msaitoh #define MDIO_PHYXS_TSYNCRXMAXDLYL 1805 /* TimeSync PHY XS RX MAX delay L */
    517      1.6   msaitoh #define MDIO_PHYXS_TSYNCRXMAXDLYH 1806 /* TimeSync PHY XS RX MAX delay H */
    518      1.6   msaitoh #define MDIO_PHYXS_TSYNCRXMINDLYL 1807 /* TimeSync PHY XS RX MIN delay L */
    519      1.6   msaitoh #define MDIO_PHYXS_TSYNCRXMINDLYH 1808 /* TimeSync PHY XS RX MIN delay H */
    520      1.6   msaitoh 	/* Values 1809 to 32767 are reserved */
    521      1.1   msaitoh 	/* Values 32768 to 65535 are vendor specific */
    522      1.1   msaitoh 
    523      1.1   msaitoh /*
    524      1.6   msaitoh  * DTE XS registers.
    525      1.6   msaitoh  * Table 45-175
    526      1.1   msaitoh  */
    527      1.1   msaitoh #define	MDIO_DTEXS_CTRL1	0	/* DTE XS control 1 */
    528      1.1   msaitoh #define	MDIO_DTEXS_STAT1	1	/* DTE XS status 1 */
    529      1.1   msaitoh #define	MDIO_DTEXS_DEVID1	2	/* DTE XS device identifier 1 */
    530      1.1   msaitoh #define	MDIO_DTEXS_DEVID2	3	/* DTE XS device identifier 2 */
    531      1.1   msaitoh #define	MDIO_DTEXS_SPEED	4	/* DTE XS speed ability */
    532      1.1   msaitoh #define	MDIO_DTEXS_DEVS1	5	/* DTE XS devices in package 1 */
    533      1.1   msaitoh #define	MDIO_DTEXS_DEVS2	6	/* DTE XS devices in package 2 */
    534      1.1   msaitoh 	/* Value 7 is reserved */
    535      1.1   msaitoh #define	MDIO_DTEXS_STAT2	8	/* DTE XS status 2 */
    536      1.1   msaitoh 	/* Values 9 to 13 are reserved */
    537      1.1   msaitoh #define	MDIO_DTEXS_PKGID1	14	/* DTE XS package identifier 1 */
    538      1.1   msaitoh #define	MDIO_DTEXS_PKGID2	15	/* DTE XS package identifier 2 */
    539      1.1   msaitoh 	/* Values 16 to 19 are reserved */
    540      1.6   msaitoh #define	MDIO_DTEXS_EEECAP	20	/* EEE capability register */
    541      1.1   msaitoh 	/* Value 21 is reserved */
    542      1.6   msaitoh #define	MDIO_DTEXS_EEEWKERRCNT	22	/* EEE wake error counter */
    543      1.1   msaitoh 	/* Value 23 is reserved */
    544      1.1   msaitoh #define	MDIO_DTEXS_10GXGXLNSTAT	24	/* 10G DTE XGXS lane status */
    545      1.1   msaitoh #define	MDIO_DTEXS_10GXGXSTSCTRL 25	/* 10G DTE XGXS test control */
    546      1.6   msaitoh 	/* Values 26 to 1799 are reserved */
    547      1.6   msaitoh #define MDIO_DTEXS_TSYNCCAP	  1800 /* TimeSync DTE XS capability */
    548      1.6   msaitoh #define MDIO_DTEXS_TSYNCTXMAXDLYL 1801 /* TimeSync DTE XS TX MAX delay L */
    549      1.6   msaitoh #define MDIO_DTEXS_TSYNCTXMAXDLYH 1802 /* TimeSync DTE XS TX MAX delay H */
    550      1.6   msaitoh #define MDIO_DTEXS_TSYNCTXMINDLYL 1803 /* TimeSync DTE XS TX MIN delay L */
    551      1.6   msaitoh #define MDIO_DTEXS_TSYNCTXMINDLYH 1804 /* TimeSync DTE XS TX MIN delay H */
    552      1.6   msaitoh #define MDIO_DTEXS_TSYNCRXMAXDLYL 1805 /* TimeSync DTE XS RX MAX delay L */
    553      1.6   msaitoh #define MDIO_DTEXS_TSYNCRXMAXDLYH 1806 /* TimeSync DTE XS RX MAX delay H */
    554      1.6   msaitoh #define MDIO_DTEXS_TSYNCRXMINDLYL 1807 /* TimeSync DTE XS RX MIN delay L */
    555      1.6   msaitoh #define MDIO_DTEXS_TSYNCRXMINDLYH 1808 /* TimeSync DTE XS RX MIN delay H */
    556      1.6   msaitoh 	/* Values 1809 to 32767 are reserved */
    557      1.1   msaitoh 	/* Values 32768 to 65535 are vendor specific */
    558      1.1   msaitoh 
    559      1.1   msaitoh /*
    560      1.6   msaitoh  * TC registers.
    561      1.6   msaitoh  * Table 45-186
    562      1.1   msaitoh  */
    563      1.1   msaitoh #define	MDIO_TC_CTRL1		0	/* TC control 1 */
    564      1.1   msaitoh 	/* Value 1 is reserved */
    565      1.1   msaitoh #define	MDIO_TC_DEVID1		2	/* TC device identifier 1 */
    566      1.1   msaitoh #define	MDIO_TC_DEVID2		3	/* TC device identifier 2 */
    567      1.1   msaitoh #define	MDIO_TC_SPEED		4	/* TC speed ability */
    568      1.1   msaitoh #define	MDIO_TC_DEVS1		5	/* TC devices in package 1 */
    569      1.1   msaitoh #define	MDIO_TC_DEVS2		6	/* TC devices in package 2 */
    570      1.1   msaitoh 	/* Values 7 to 13 are reserved */
    571      1.1   msaitoh #define	MDIO_TC_PKGID1		14	/* TC package identifier 1 */
    572      1.1   msaitoh #define	MDIO_TC_PKGID2		15	/* TC package identifier 2 */
    573      1.1   msaitoh #define	MDIO_TC_10P2BAGGDCCTRL	16	/* 10P/2B aggregation discovery ctrl */
    574      1.1   msaitoh #define	MDIO_TC_10P2BAGGDCSTAT	17	/* 10P/2B aggregation&discovery stat */
    575      1.1   msaitoh #define	MDIO_TC_10P2BAGGDCCODE1	18	/* 10P/2B aggregation discovery code1*/
    576      1.1   msaitoh #define	MDIO_TC_10P2BAGGDCCODE2	19	/* 10P/2B aggregation discovery code2*/
    577      1.1   msaitoh #define	MDIO_TC_10P2BAGGDCCODE3	20	/* 10P/2B aggregation discovery code3*/
    578      1.1   msaitoh #define	MDIO_TC_10P2BLPPMEAGGCTRL 21	/* 10P/2B LP PME aggregate control */
    579      1.1   msaitoh #define	MDIO_TC_10P2BLPPMEAGGDAT1 22	/* 10P/2B LP PME aggregate data 1 */
    580      1.1   msaitoh #define	MDIO_TC_10P2BLPPMEAGGDAT2 23	/* 10P/2B LP PME aggregate data 2 */
    581      1.1   msaitoh #define	MDIO_TC_10P2BCRCERRCNT	24	/* 10P/2B TC CRC error counter  */
    582      1.1   msaitoh #define	MDIO_TC_10P2BTPSCOVIOCNT1 25	/* 10P/2B TPS-TC coding viol. cnt. 1 */
    583      1.1   msaitoh #define	MDIO_TC_10P2BTPSCOVIOCNT2 26	/* 10P/2B TPS-TC coding viol. cnt. 2 */
    584      1.1   msaitoh #define	MDIO_TC_10P2BINDIC	27	/* 10P/2B TC indications */
    585      1.6   msaitoh 	/* Values 28 to 1799 are reserved */
    586      1.6   msaitoh #define MDIO_TC_TSYNCCAP	1800 /* TimeSync TC capability */
    587      1.6   msaitoh #define MDIO_TC_TSYNCTXMAXDLYL	1801 /* TimeSync TC TX MAX delay L */
    588      1.6   msaitoh #define MDIO_TC_TSYNCTXMAXDLYH	1802 /* TimeSync TC TX MAX delay H */
    589      1.6   msaitoh #define MDIO_TC_TSYNCTXMINDLYL	1803 /* TimeSync TC TX MIN delay L */
    590      1.6   msaitoh #define MDIO_TC_TSYNCTXMINDLYH	1804 /* TimeSync TC TX MIN delay H */
    591      1.6   msaitoh #define MDIO_TC_TSYNCRXMAXDLYL	1805 /* TimeSync TC RX MAX delay L */
    592      1.6   msaitoh #define MDIO_TC_TSYNCRXMAXDLYH	1806 /* TimeSync TC RX MAX delay H */
    593      1.6   msaitoh #define MDIO_TC_TSYNCRXMINDLYL	1807 /* TimeSync TC RX MIN delay L */
    594      1.6   msaitoh #define MDIO_TC_TSYNCRXMINDLYH	1808 /* TimeSync TC RX MIN delay H */
    595      1.6   msaitoh 	/* Values 1809 to 32767 are reserved */
    596      1.1   msaitoh 	/* Values 32768 to 65535 are vendor specific */
    597      1.1   msaitoh 
    598      1.1   msaitoh /*
    599      1.6   msaitoh  * Auto-Negotiation registers.
    600      1.6   msaitoh  * Table 45-200
    601      1.1   msaitoh  */
    602      1.1   msaitoh #define MDIO_AN_CTRL1		0   /* AN control 1 */
    603      1.7   msaitoh #define AN_CTRL1_ANRESET	0x8000 /* AN reset */
    604      1.7   msaitoh #define AN_CTRL1_ENP		0x2000 /* Extended Next Page  */
    605      1.7   msaitoh #define AN_CTRL1_AUTOEN		0x1000 /* Auto-Negotiation enable */
    606      1.7   msaitoh #define AN_CTRL1_STARTNEG	0x0200 /* Restart Auto-Negotiation */
    607      1.7   msaitoh 
    608      1.1   msaitoh #define MDIO_AN_STAT1		1   /* AN status 1 */
    609      1.1   msaitoh #define MDIO_AN_DEVID1		2   /* AN device identifier 1 */
    610      1.1   msaitoh #define MDIO_AN_DEVID2		3   /* AN device identifier 2 */
    611      1.1   msaitoh 	/* Value 4 is reserved */
    612      1.1   msaitoh #define MDIO_AN_DEVS1		5   /* AN devices in package 1 */
    613      1.1   msaitoh #define MDIO_AN_DEVS2		6   /* AN devices in package 2 */
    614      1.1   msaitoh 	/* Values 7 to 13 are reserved */
    615      1.1   msaitoh #define MDIO_AN_PKGID1		14  /* AN package identifier 1 */
    616      1.1   msaitoh #define MDIO_AN_PKGID2		15  /* AN package identifier 2 */
    617      1.1   msaitoh #define MDIO_AN_ADVERT1		16  /* AN advertisement 1 */
    618      1.1   msaitoh #define MDIO_AN_ADVERT2		17  /* AN advertisement 2 */
    619      1.1   msaitoh #define MDIO_AN_ADVERT3		18  /* AN advertisement 3 */
    620      1.1   msaitoh #define MDIO_AN_LPBPABLTY1	19  /* AN LP base page ability 1 */
    621      1.1   msaitoh #define MDIO_AN_LPBPABLTY2	20  /* AN LP base page ability 2 */
    622      1.1   msaitoh #define MDIO_AN_LPBPABLTY3	21  /* AN LP base page ability 3 */
    623      1.1   msaitoh #define MDIO_AN_XNPXMIT1	22  /* AN XNP transmit 1 */
    624      1.1   msaitoh #define MDIO_AN_XNPXMIT2	23  /* AN XNP transmit 2 */
    625      1.1   msaitoh #define MDIO_AN_XNPXMIT3	24  /* AN XNP transmit 3 */
    626      1.1   msaitoh #define MDIO_AN_LPXNPABLTY1	25  /* AN LP XNP ability 1 */
    627      1.1   msaitoh #define MDIO_AN_LPXNPABLTY2	26  /* AN LP XNP ability 2 */
    628      1.1   msaitoh #define MDIO_AN_LPXNPABLTY3	27  /* AN LP XNP ability 3 */
    629      1.1   msaitoh 	/* Values 28 to 31 are reserved */
    630      1.1   msaitoh #define MDIO_AN_10GTANCTRL	32  /* 10G-T AN control */
    631      1.1   msaitoh #define MDIO_AN_10GTANSTAT	33  /* 10G-T AN status */
    632      1.1   msaitoh 	/* Values 34 to 47 are reserved */
    633      1.1   msaitoh #define MDIO_AN_BPETHSTAT	48  /* BP Ethernet status */
    634      1.1   msaitoh 	/* Values 49 to 59 are reserved */
    635      1.6   msaitoh #define	MDIO_AN_EEEADVERT	60  /* EEE advertisement */
    636  1.7.2.2  pgoyette #define	AN_EEEADVERT_100G_CR4	0x2000	/* 100GBASE-CR4 */
    637  1.7.2.2  pgoyette #define	AN_EEEADVERT_100G_KR4	0x1000	/* 100GBASE-KR4 */
    638  1.7.2.2  pgoyette #define	AN_EEEADVERT_100G_KP4	0x0800	/* 100GBASE-KP4 */
    639  1.7.2.2  pgoyette #define	AN_EEEADVERT_100G_CR10	0x0400	/* 100GBASE-CR10 */
    640  1.7.2.2  pgoyette #define	AN_EEEADVERT_40G_CR4	0x0100	/* 40GBASE-CR4 */
    641  1.7.2.2  pgoyette #define	AN_EEEADVERT_40G_KR4	0x0080	/* 40GBASE-KR4 */
    642  1.7.2.2  pgoyette #define	AN_EEEADVERT_10G_KR	0x0040	/* 10GBASE-KR */
    643  1.7.2.2  pgoyette #define	AN_EEEADVERT_10G_KX4	0x0020	/* 10GBASE-KX4 */
    644  1.7.2.2  pgoyette #define	AN_EEEADVERT_1000_KX	0x0010	/* 1000BASE-KX */
    645  1.7.2.2  pgoyette #define	AN_EEEADVERT_10G_T	0x0008	/* 10GBASE-T */
    646  1.7.2.2  pgoyette #define	AN_EEEADVERT_1000_T	0x0004	/* 1000BASE-T */
    647  1.7.2.2  pgoyette #define	AN_EEEADVERT_100_TX	0x0002	/* 100BASE-TX */
    648  1.7.2.2  pgoyette 
    649      1.6   msaitoh #define	MDIO_AN_EEELPABLTY	61  /* EEE LP ability */
    650  1.7.2.2  pgoyette 	/* bitmap is the same as MDIO_AN_EEEADVERT(7.60) */
    651  1.7.2.2  pgoyette 
    652      1.1   msaitoh 	/* Values 62 to 32767 are reserved */
    653      1.1   msaitoh 	/* Values 32768 to 65535 are vendor specific */
    654      1.1   msaitoh 
    655      1.1   msaitoh /*
    656      1.6   msaitoh  * Clause 22 extension registers.
    657      1.6   msaitoh  * Table 45-212
    658      1.1   msaitoh  */
    659      1.1   msaitoh 	/* Values 0 to 4 are reserved */
    660      1.1   msaitoh #define MDIO_CL22E_DEVS1	5   /* Clause 22 ext. devices in package 1 */
    661      1.1   msaitoh #define MDIO_CL22E_DEVS2	6   /* Clause 22 ext. devices in package 2 */
    662      1.1   msaitoh #define MDIO_CL22E_FECCAP	7   /* FEC capability */
    663      1.1   msaitoh #define MDIO_CL22E_FECCTRL	8   /* FEC control */
    664      1.1   msaitoh #define MDIO_CL22E_FECBHCVIOCNT	9   /* FEC buffer head coding violation cnt. */
    665      1.1   msaitoh #define MDIO_CL22E_FECCOBLCNT	10  /* FEC corrected blocks counter */
    666      1.1   msaitoh #define MDIO_CL22E_FECUNCOBLCNT	11  /* FEC uncorrected blocks counter */
    667      1.1   msaitoh 	/* Values 12 to 32767 are reserved */
    668      1.1   msaitoh 
    669      1.1   msaitoh /*
    670      1.6   msaitoh  * Vendor specific MMD 1 registers.
    671      1.6   msaitoh  * Table 45-218
    672      1.1   msaitoh  */
    673      1.1   msaitoh 	/* Values 0 to 1 are vendor specific */
    674      1.1   msaitoh #define MDIO_VSMMD1_DEVID1	2   /* Vendor specific MMD 1 device ident. 1 */
    675      1.1   msaitoh #define MDIO_VSMMD1_DEVID2	3   /* Vendor specific MMD 1 device ident. 2 */
    676      1.1   msaitoh 	/* Values 4 to 7 are vendor specific */
    677      1.1   msaitoh #define MDIO_VSMMD1_STAT	8   /* Vendor specific MMD 1 status register */
    678      1.1   msaitoh 	/* Values 9 to 13 are vendor specific */
    679      1.1   msaitoh #define MDIO_VSMMD1_PKGID1	14  /* Vendor specific MMD 1 package ident 1 */
    680      1.1   msaitoh #define MDIO_VSMMD1_PKGID2	15  /* Vendor specific MMD 1 package ident 2 */
    681      1.1   msaitoh 	/* Values 16 to 65535 are vendor specific */
    682      1.1   msaitoh 
    683      1.1   msaitoh /*
    684      1.6   msaitoh  * Vendor specific MMD 2 registers.
    685      1.6   msaitoh  * Table 45-220
    686      1.1   msaitoh  */
    687      1.1   msaitoh 	/* Values 0 to 1 are vendor specific */
    688      1.1   msaitoh #define MDIO_VSMMD2_DEVID1	2   /* Vendor specific MMD 2 device ident. 1 */
    689      1.1   msaitoh #define MDIO_VSMMD2_DEVID2	3   /* Vendor specific MMD 2 device ident. 2 */
    690      1.1   msaitoh 	/* Values 4 to 7 are vendor specific */
    691      1.1   msaitoh #define MDIO_VSMMD2_STAT	8   /* Vendor specific MMD 2 status register */
    692      1.1   msaitoh 	/* Values 9 to 13 are vendor specific */
    693      1.1   msaitoh #define MDIO_VSMMD2_PKGID1	14  /* Vendor specific MMD 2 package ident 1 */
    694      1.1   msaitoh #define MDIO_VSMMD2_PKGID2	15  /* Vendor specific MMD 2 package ident 2 */
    695      1.1   msaitoh 	/* Values 16 to 65535 are vendor specific */
    696      1.1   msaitoh 
    697      1.1   msaitoh #endif /* _DEV_MII_MDIO_H_ */
    698