xref: /dflybsd-src/sys/dev/netif/ig_hal/e1000_80003es2lan.h (revision 01a55482b42bba8de64caeb8c9ede647a9208734)
16a5a645eSSepherosa Ziehau /******************************************************************************
29c80d176SSepherosa Ziehau 
3*01a55482SSepherosa Ziehau   Copyright (c) 2001-2019, Intel Corporation
49c80d176SSepherosa Ziehau   All rights reserved.
59c80d176SSepherosa Ziehau 
69c80d176SSepherosa Ziehau   Redistribution and use in source and binary forms, with or without
79c80d176SSepherosa Ziehau   modification, are permitted provided that the following conditions are met:
89c80d176SSepherosa Ziehau 
99c80d176SSepherosa Ziehau    1. Redistributions of source code must retain the above copyright notice,
109c80d176SSepherosa Ziehau       this list of conditions and the following disclaimer.
119c80d176SSepherosa Ziehau 
129c80d176SSepherosa Ziehau    2. Redistributions in binary form must reproduce the above copyright
139c80d176SSepherosa Ziehau       notice, this list of conditions and the following disclaimer in the
149c80d176SSepherosa Ziehau       documentation and/or other materials provided with the distribution.
159c80d176SSepherosa Ziehau 
169c80d176SSepherosa Ziehau    3. Neither the name of the Intel Corporation nor the names of its
179c80d176SSepherosa Ziehau       contributors may be used to endorse or promote products derived from
189c80d176SSepherosa Ziehau       this software without specific prior written permission.
199c80d176SSepherosa Ziehau 
209c80d176SSepherosa Ziehau   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
219c80d176SSepherosa Ziehau   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
229c80d176SSepherosa Ziehau   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
239c80d176SSepherosa Ziehau   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
249c80d176SSepherosa Ziehau   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
259c80d176SSepherosa Ziehau   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
269c80d176SSepherosa Ziehau   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
279c80d176SSepherosa Ziehau   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
289c80d176SSepherosa Ziehau   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
299c80d176SSepherosa Ziehau   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
309c80d176SSepherosa Ziehau   POSSIBILITY OF SUCH DAMAGE.
319c80d176SSepherosa Ziehau 
326a5a645eSSepherosa Ziehau ******************************************************************************/
3374dc3754SSepherosa Ziehau /*$FreeBSD$*/
349c80d176SSepherosa Ziehau 
359c80d176SSepherosa Ziehau #ifndef _E1000_80003ES2LAN_H_
369c80d176SSepherosa Ziehau #define _E1000_80003ES2LAN_H_
379c80d176SSepherosa Ziehau 
389c80d176SSepherosa Ziehau #define E1000_KMRNCTRLSTA_OFFSET_FIFO_CTRL	0x00
399c80d176SSepherosa Ziehau #define E1000_KMRNCTRLSTA_OFFSET_INB_CTRL	0x02
409c80d176SSepherosa Ziehau #define E1000_KMRNCTRLSTA_OFFSET_HD_CTRL	0x10
419c80d176SSepherosa Ziehau #define E1000_KMRNCTRLSTA_OFFSET_MAC2PHY_OPMODE	0x1F
429c80d176SSepherosa Ziehau 
439c80d176SSepherosa Ziehau #define E1000_KMRNCTRLSTA_FIFO_CTRL_RX_BYPASS	0x0008
449c80d176SSepherosa Ziehau #define E1000_KMRNCTRLSTA_FIFO_CTRL_TX_BYPASS	0x0800
459c80d176SSepherosa Ziehau #define E1000_KMRNCTRLSTA_INB_CTRL_DIS_PADDING	0x0010
469c80d176SSepherosa Ziehau 
479c80d176SSepherosa Ziehau #define E1000_KMRNCTRLSTA_HD_CTRL_10_100_DEFAULT 0x0004
489c80d176SSepherosa Ziehau #define E1000_KMRNCTRLSTA_HD_CTRL_1000_DEFAULT	0x0000
499c80d176SSepherosa Ziehau #define E1000_KMRNCTRLSTA_OPMODE_E_IDLE		0x2000
509c80d176SSepherosa Ziehau 
516a5a645eSSepherosa Ziehau #define E1000_KMRNCTRLSTA_OPMODE_MASK		0x000C
526a5a645eSSepherosa Ziehau #define E1000_KMRNCTRLSTA_OPMODE_INBAND_MDIO	0x0004
536a5a645eSSepherosa Ziehau 
544765c386SMichael Neumann #define E1000_TCTL_EXT_GCEX_MASK 0x000FFC00 /* Gig Carry Extend Padding */
559c80d176SSepherosa Ziehau #define DEFAULT_TCTL_EXT_GCEX_80003ES2LAN	0x00010000
569c80d176SSepherosa Ziehau 
579c80d176SSepherosa Ziehau #define DEFAULT_TIPG_IPGT_1000_80003ES2LAN	0x8
589c80d176SSepherosa Ziehau #define DEFAULT_TIPG_IPGT_10_100_80003ES2LAN	0x9
599c80d176SSepherosa Ziehau 
609c80d176SSepherosa Ziehau /* GG82563 PHY Specific Status Register (Page 0, Register 16 */
614765c386SMichael Neumann #define GG82563_PSCR_POLARITY_REVERSAL_DISABLE	0x0002 /* 1=Reversal Dis */
629c80d176SSepherosa Ziehau #define GG82563_PSCR_CROSSOVER_MODE_MASK	0x0060
639c80d176SSepherosa Ziehau #define GG82563_PSCR_CROSSOVER_MODE_MDI		0x0000 /* 00=Manual MDI */
649c80d176SSepherosa Ziehau #define GG82563_PSCR_CROSSOVER_MODE_MDIX	0x0020 /* 01=Manual MDIX */
659c80d176SSepherosa Ziehau #define GG82563_PSCR_CROSSOVER_MODE_AUTO	0x0060 /* 11=Auto crossover */
669c80d176SSepherosa Ziehau 
679c80d176SSepherosa Ziehau /* PHY Specific Control Register 2 (Page 0, Register 26) */
684765c386SMichael Neumann #define GG82563_PSCR2_REVERSE_AUTO_NEG		0x2000 /* 1=Reverse Auto-Neg */
699c80d176SSepherosa Ziehau 
709c80d176SSepherosa Ziehau /* MAC Specific Control Register (Page 2, Register 21) */
719c80d176SSepherosa Ziehau /* Tx clock speed for Link Down and 1000BASE-T for the following speeds */
729c80d176SSepherosa Ziehau #define GG82563_MSCR_TX_CLK_MASK		0x0007
739c80d176SSepherosa Ziehau #define GG82563_MSCR_TX_CLK_10MBPS_2_5		0x0004
749c80d176SSepherosa Ziehau #define GG82563_MSCR_TX_CLK_100MBPS_25		0x0005
759c80d176SSepherosa Ziehau #define GG82563_MSCR_TX_CLK_1000MBPS_25		0x0007
769c80d176SSepherosa Ziehau 
779c80d176SSepherosa Ziehau #define GG82563_MSCR_ASSERT_CRS_ON_TX		0x0010 /* 1=Assert */
789c80d176SSepherosa Ziehau 
79379ebbe7SSepherosa Ziehau /* DSP Distance Register (Page 5, Register 26)
809c80d176SSepherosa Ziehau  * 0 = <50M
819c80d176SSepherosa Ziehau  * 1 = 50-80M
829c80d176SSepherosa Ziehau  * 2 = 80-100M
839c80d176SSepherosa Ziehau  * 3 = 110-140M
849c80d176SSepherosa Ziehau  * 4 = >140M
859c80d176SSepherosa Ziehau  */
869c80d176SSepherosa Ziehau #define GG82563_DSPD_CABLE_LENGTH		0x0007
879c80d176SSepherosa Ziehau 
889c80d176SSepherosa Ziehau /* Kumeran Mode Control Register (Page 193, Register 16) */
899c80d176SSepherosa Ziehau #define GG82563_KMCR_PASS_FALSE_CARRIER		0x0800
909c80d176SSepherosa Ziehau 
919c80d176SSepherosa Ziehau /* Max number of times Kumeran read/write should be validated */
929c80d176SSepherosa Ziehau #define GG82563_MAX_KMRN_RETRY			0x5
939c80d176SSepherosa Ziehau 
949c80d176SSepherosa Ziehau /* Power Management Control Register (Page 193, Register 20) */
959c80d176SSepherosa Ziehau /* 1=Enable SERDES Electrical Idle */
964be59a01SSepherosa Ziehau #define GG82563_PMCR_ENABLE_ELECTRICAL_IDLE	0x0001
979c80d176SSepherosa Ziehau 
989c80d176SSepherosa Ziehau /* In-Band Control Register (Page 194, Register 18) */
999c80d176SSepherosa Ziehau #define GG82563_ICR_DIS_PADDING			0x0010 /* Disable Padding */
1009c80d176SSepherosa Ziehau 
1019c80d176SSepherosa Ziehau #endif
102