12992bdfaSHeiner Kallweit /* SPDX-License-Identifier: GPL-2.0-only */ 22992bdfaSHeiner Kallweit /* r8169.h: RealTek 8169/8168/8101 ethernet driver. 32992bdfaSHeiner Kallweit * 42992bdfaSHeiner Kallweit * Copyright (c) 2002 ShuChen <shuchen@realtek.com.tw> 52992bdfaSHeiner Kallweit * Copyright (c) 2003 - 2007 Francois Romieu <romieu@fr.zoreil.com> 62992bdfaSHeiner Kallweit * Copyright (c) a lot of people too. Please respect their work. 72992bdfaSHeiner Kallweit * 82992bdfaSHeiner Kallweit * See MAINTAINERS file for support contact information. 92992bdfaSHeiner Kallweit */ 102992bdfaSHeiner Kallweit 112992bdfaSHeiner Kallweit #include <linux/types.h> 122992bdfaSHeiner Kallweit #include <linux/phy.h> 132992bdfaSHeiner Kallweit 142992bdfaSHeiner Kallweit enum mac_version { 152992bdfaSHeiner Kallweit /* support for ancient RTL_GIGA_MAC_VER_01 has been removed */ 162992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_02, 172992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_03, 182992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_04, 192992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_05, 202992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_06, 212992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_07, 222992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_08, 232992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_09, 242992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_10, 252992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_11, 26*7e04a111SHeiner Kallweit /* RTL_GIGA_MAC_VER_12 was handled the same as VER_17 */ 272992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_13, 28cdafdc29SHeiner Kallweit RTL_GIGA_MAC_VER_14, 292992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_16, 302992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_17, 312992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_18, 322992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_19, 332992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_20, 342992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_21, 352992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_22, 362992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_23, 372992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_24, 382992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_25, 392992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_26, 4001649011SHeiner Kallweit /* support for RTL_GIGA_MAC_VER_27 has been removed */ 412992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_28, 422992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_29, 432992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_30, 442992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_31, 452992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_32, 462992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_33, 472992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_34, 482992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_35, 492992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_36, 502992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_37, 512992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_38, 522992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_39, 532992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_40, 5444307b27SHeiner Kallweit /* support for RTL_GIGA_MAC_VER_41 has been removed */ 552992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_42, 562992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_43, 572992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_44, 58ebe59898SHeiner Kallweit /* support for RTL_GIGA_MAC_VER_45 has been removed */ 592992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_46, 60ebe59898SHeiner Kallweit /* support for RTL_GIGA_MAC_VER_47 has been removed */ 612992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_48, 628a1ab0c4SHeiner Kallweit /* support for RTL_GIGA_MAC_VER_49 has been removed */ 63133706a9SHeiner Kallweit /* support for RTL_GIGA_MAC_VER_50 has been removed */ 642992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_51, 652992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_52, 66e6d6ca6eSKai-Heng Feng RTL_GIGA_MAC_VER_53, 67efc37109SHeiner Kallweit /* support for RTL_GIGA_MAC_VER_60 has been removed */ 682992bdfaSHeiner Kallweit RTL_GIGA_MAC_VER_61, 690439297bSHeiner Kallweit RTL_GIGA_MAC_VER_63, 702992bdfaSHeiner Kallweit RTL_GIGA_MAC_NONE 712992bdfaSHeiner Kallweit }; 722992bdfaSHeiner Kallweit 732992bdfaSHeiner Kallweit struct rtl8169_private; 742992bdfaSHeiner Kallweit 752992bdfaSHeiner Kallweit void r8169_apply_firmware(struct rtl8169_private *tp); 762992bdfaSHeiner Kallweit u16 rtl8168h_2_get_adc_bias_ioffset(struct rtl8169_private *tp); 772992bdfaSHeiner Kallweit u8 rtl8168d_efuse_read(struct rtl8169_private *tp, int reg_addr); 782992bdfaSHeiner Kallweit void r8169_hw_phy_config(struct rtl8169_private *tp, struct phy_device *phydev, 792992bdfaSHeiner Kallweit enum mac_version ver); 80