\hypertarget{if__axereg_8h_source}{}\doxysection{if\+\_\+axereg.\+h}
\label{if__axereg_8h_source}\index{dev/usb/net/if\_axereg.h@{dev/usb/net/if\_axereg.h}}
\mbox{\hyperlink{if__axereg_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00001}00001 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00002}00002 \textcolor{comment}{ * SPDX-\/License-\/Identifier: BSD-\/4-\/Clause}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00003}00003 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00004}00004 \textcolor{comment}{ * Copyright (c) 1997, 1998, 1999, 2000-\/2003}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00005}00005 \textcolor{comment}{ *      Bill Paul <wpaul@windriver.com>.  All rights reserved.}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00006}00006 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00007}00007 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00008}00008 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00009}00009 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00010}00010 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00011}00011 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00012}00012 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00013}00013 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00014}00014 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00015}00015 \textcolor{comment}{ * 3. All advertising materials mentioning features or use of this software}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00016}00016 \textcolor{comment}{ *    must display the following acknowledgement:}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00017}00017 \textcolor{comment}{ *      This product includes software developed by Bill Paul.}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00018}00018 \textcolor{comment}{ * 4. Neither the name of the author nor the names of any co-\/contributors}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00019}00019 \textcolor{comment}{ *    may be used to endorse or promote products derived from this software}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00020}00020 \textcolor{comment}{ *    without specific prior written permission.}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00021}00021 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00022}00022 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00023}00023 \textcolor{comment}{ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00024}00024 \textcolor{comment}{ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00025}00025 \textcolor{comment}{ * ARE DISCLAIMED.  IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00026}00026 \textcolor{comment}{ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00027}00027 \textcolor{comment}{ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00028}00028 \textcolor{comment}{ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00029}00029 \textcolor{comment}{ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00030}00030 \textcolor{comment}{ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00031}00031 \textcolor{comment}{ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00032}00032 \textcolor{comment}{ * THE POSSIBILITY OF SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00033}00033 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00034}00034 \textcolor{comment}{ * \$FreeBSD\$}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00035}00035 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00036}00036 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00037}00037 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00038}00038 \textcolor{comment}{ * Definitions for the ASIX Electronics AX88172, AX88178}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00039}00039 \textcolor{comment}{ * and AX88772 to ethernet controllers.}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00040}00040 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00041}00041 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00042}00042 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00043}00043 \textcolor{comment}{ * Vendor specific commands.  ASIX conveniently doesn't document the 'set}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00044}00044 \textcolor{comment}{ * NODEID' command in their datasheet (thanks a lot guys).}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00045}00045 \textcolor{comment}{ * To make handling these commands easier, I added some extra data which is}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00046}00046 \textcolor{comment}{ * decided by the axe\_cmd() routine. Commands are encoded in 16 bits, with}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00047}00047 \textcolor{comment}{ * the format: LDCC. L and D are both nibbles in the high byte.  L represents}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00048}00048 \textcolor{comment}{ * the data length (0 to 15) and D represents the direction (0 for vendor read,}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00049}00049 \textcolor{comment}{ * 1 for vendor write).  CC is the command byte, as specified in the manual.}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00050}00050 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00051}00051 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00052}\mbox{\hyperlink{if__axereg_8h_afe9e78eddf82e019c6d3d11679fde3b9}{00052}} \textcolor{preprocessor}{\#define AXE\_CMD\_IS\_WRITE(x)     (((x) \& 0x0F00) >> 8)}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00053}\mbox{\hyperlink{if__axereg_8h_a2194e2b36d1258370446b3286c6bd2c4}{00053}} \textcolor{preprocessor}{\#define AXE\_CMD\_LEN(x)          (((x) \& 0xF000) >> 12)}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00054}\mbox{\hyperlink{if__axereg_8h_af95ab938ed90d99a8eadb248ae80f7e1}{00054}} \textcolor{preprocessor}{\#define AXE\_CMD\_CMD(x)          ((x) \& 0x00FF)}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00055}00055 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00056}\mbox{\hyperlink{if__axereg_8h_a3f41896fc193af9364bc5a348d4e5bc6}{00056}} \textcolor{preprocessor}{\#define AXE\_172\_CMD\_READ\_RXTX\_SRAM              0x2002}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00057}\mbox{\hyperlink{if__axereg_8h_a121aa97956b54ef801f340814402a1df}{00057}} \textcolor{preprocessor}{\#define AXE\_182\_CMD\_READ\_RXTX\_SRAM              0x8002}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00058}\mbox{\hyperlink{if__axereg_8h_a24b85dcf20b0692404b2fcf4b9b9fe88}{00058}} \textcolor{preprocessor}{\#define AXE\_172\_CMD\_WRITE\_RX\_SRAM               0x0103}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00059}\mbox{\hyperlink{if__axereg_8h_a091c726a259625df42cc55a8fb707145}{00059}} \textcolor{preprocessor}{\#define AXE\_182\_CMD\_WRITE\_RXTX\_SRAM             0x8103}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00060}\mbox{\hyperlink{if__axereg_8h_a2d04fae54cbac028d7bf8c5c8551cd20}{00060}} \textcolor{preprocessor}{\#define AXE\_172\_CMD\_WRITE\_TX\_SRAM               0x0104}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00061}\mbox{\hyperlink{if__axereg_8h_a2afc06aee01dd574b7a7d7faafba9443}{00061}} \textcolor{preprocessor}{\#define AXE\_CMD\_MII\_OPMODE\_SW                   0x0106}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00062}\mbox{\hyperlink{if__axereg_8h_a1fd4b39f513408d9092bf5cd41c34a78}{00062}} \textcolor{preprocessor}{\#define AXE\_CMD\_MII\_READ\_REG                    0x2007}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00063}\mbox{\hyperlink{if__axereg_8h_a51603b3aa28379ab907ba154ae11a402}{00063}} \textcolor{preprocessor}{\#define AXE\_CMD\_MII\_WRITE\_REG                   0x2108}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00064}\mbox{\hyperlink{if__axereg_8h_a3a57fe6a13999a690856307e71923b76}{00064}} \textcolor{preprocessor}{\#define AXE\_CMD\_MII\_READ\_OPMODE                 0x1009}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00065}\mbox{\hyperlink{if__axereg_8h_ab16cc0056a97488ca63a0abbe8f0165e}{00065}} \textcolor{preprocessor}{\#define AXE\_CMD\_MII\_OPMODE\_HW                   0x010A}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00066}\mbox{\hyperlink{if__axereg_8h_a4367938ae1c592744a545aa49a798375}{00066}} \textcolor{preprocessor}{\#define AXE\_CMD\_SROM\_READ                       0x200B}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00067}\mbox{\hyperlink{if__axereg_8h_acbc09d6a4af218ed073f566e25f66f32}{00067}} \textcolor{preprocessor}{\#define AXE\_CMD\_SROM\_WRITE                      0x010C}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00068}\mbox{\hyperlink{if__axereg_8h_ade3c7148f3f19719bec6e0fa25e68a6c}{00068}} \textcolor{preprocessor}{\#define AXE\_CMD\_SROM\_WR\_ENABLE                  0x010D}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00069}\mbox{\hyperlink{if__axereg_8h_ab9097f22492cd69b86adb4b11b9c9197}{00069}} \textcolor{preprocessor}{\#define AXE\_CMD\_SROM\_WR\_DISABLE                 0x010E}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00070}\mbox{\hyperlink{if__axereg_8h_acce6b8ad3180ccfef8311b7181cdea47}{00070}} \textcolor{preprocessor}{\#define AXE\_CMD\_RXCTL\_READ                      0x200F}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00071}\mbox{\hyperlink{if__axereg_8h_a2a603a17561154e90a86f04344dd7f2d}{00071}} \textcolor{preprocessor}{\#define AXE\_CMD\_RXCTL\_WRITE                     0x0110}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00072}\mbox{\hyperlink{if__axereg_8h_a679b07421e70304e1eb3c66d33b6a0a9}{00072}} \textcolor{preprocessor}{\#define AXE\_CMD\_READ\_IPG012                     0x3011}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00073}\mbox{\hyperlink{if__axereg_8h_a6a5d25b8c44d78ea3273bf9741c22603}{00073}} \textcolor{preprocessor}{\#define AXE\_172\_CMD\_WRITE\_IPG0                  0x0112}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00074}\mbox{\hyperlink{if__axereg_8h_ab4d8bdb89c4743465599781489f4f594}{00074}} \textcolor{preprocessor}{\#define AXE\_178\_CMD\_WRITE\_IPG012                0x0112}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00075}\mbox{\hyperlink{if__axereg_8h_a526c76609ef4c0c5c968e43100bfc761}{00075}} \textcolor{preprocessor}{\#define AXE\_172\_CMD\_WRITE\_IPG1                  0x0113}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00076}\mbox{\hyperlink{if__axereg_8h_a8cb9292dde22e65864464a8624073be8}{00076}} \textcolor{preprocessor}{\#define AXE\_178\_CMD\_READ\_NODEID                 0x6013}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00077}\mbox{\hyperlink{if__axereg_8h_a38eacb191094744a7bf1af89e1c8a3d4}{00077}} \textcolor{preprocessor}{\#define AXE\_172\_CMD\_WRITE\_IPG2                  0x0114}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00078}\mbox{\hyperlink{if__axereg_8h_a07be9ec5b9ca8161c7bc14b645f7faf6}{00078}} \textcolor{preprocessor}{\#define AXE\_178\_CMD\_WRITE\_NODEID                0x6114}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00079}\mbox{\hyperlink{if__axereg_8h_a49b3cfe991ab8a805fdf970268bee6b4}{00079}} \textcolor{preprocessor}{\#define AXE\_CMD\_READ\_MCAST                      0x8015}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00080}\mbox{\hyperlink{if__axereg_8h_a78a361daef6f4be03dcb20ba4115e7e0}{00080}} \textcolor{preprocessor}{\#define AXE\_CMD\_WRITE\_MCAST                     0x8116}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00081}\mbox{\hyperlink{if__axereg_8h_ab50d474438ad65095cfc439c71207ebe}{00081}} \textcolor{preprocessor}{\#define AXE\_172\_CMD\_READ\_NODEID                 0x6017}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00082}\mbox{\hyperlink{if__axereg_8h_ad524594336922b175d6485786a97822b}{00082}} \textcolor{preprocessor}{\#define AXE\_172\_CMD\_WRITE\_NODEID                0x6118}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00083}00083 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00084}\mbox{\hyperlink{if__axereg_8h_a508a26209f4af2262866e8691573dd76}{00084}} \textcolor{preprocessor}{\#define AXE\_CMD\_READ\_PHYID                      0x2019}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00085}\mbox{\hyperlink{if__axereg_8h_a3a0663ab49ff7de952ab55fc4a172de8}{00085}} \textcolor{preprocessor}{\#define AXE\_172\_CMD\_READ\_MEDIA                  0x101A}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00086}\mbox{\hyperlink{if__axereg_8h_aec2492d8f58d83925d73b750cee2a10a}{00086}} \textcolor{preprocessor}{\#define AXE\_178\_CMD\_READ\_MEDIA                  0x201A}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00087}\mbox{\hyperlink{if__axereg_8h_a8dd6eadf40bebfc3649f121866223f17}{00087}} \textcolor{preprocessor}{\#define AXE\_CMD\_WRITE\_MEDIA                     0x011B}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00088}\mbox{\hyperlink{if__axereg_8h_acb86e40b81cc5572085a3ddf2f100acb}{00088}} \textcolor{preprocessor}{\#define AXE\_CMD\_READ\_MONITOR\_MODE               0x101C}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00089}\mbox{\hyperlink{if__axereg_8h_a86c1a3e7d3af02c6f595e08c4cce87a3}{00089}} \textcolor{preprocessor}{\#define AXE\_CMD\_WRITE\_MONITOR\_MODE              0x011D}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00090}\mbox{\hyperlink{if__axereg_8h_a7a6b7b115c82fd35ecb65a0565f2a17a}{00090}} \textcolor{preprocessor}{\#define AXE\_CMD\_READ\_GPIO                       0x101E}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00091}\mbox{\hyperlink{if__axereg_8h_ac1adb69b971f3d3268e2029e5a49586d}{00091}} \textcolor{preprocessor}{\#define AXE\_CMD\_WRITE\_GPIO                      0x011F}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00092}00092 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00093}\mbox{\hyperlink{if__axereg_8h_a47624800caf59156db338e6b6d293127}{00093}} \textcolor{preprocessor}{\#define AXE\_CMD\_SW\_RESET\_REG                    0x0120}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00094}\mbox{\hyperlink{if__axereg_8h_a450d025d994df739ed800f904995010e}{00094}} \textcolor{preprocessor}{\#define AXE\_CMD\_SW\_PHY\_STATUS                   0x0021}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00095}\mbox{\hyperlink{if__axereg_8h_a6d6047c3bc4d2ebf8f07cdd4158f18f1}{00095}} \textcolor{preprocessor}{\#define AXE\_CMD\_SW\_PHY\_SELECT                   0x0122}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00096}00096 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00097}00097 \textcolor{comment}{/* AX88772A and AX88772B only. */}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00098}\mbox{\hyperlink{if__axereg_8h_a980626004c835a411386b47c40e28d36}{00098}} \textcolor{preprocessor}{\#define AXE\_CMD\_READ\_VLAN\_CTRL                  0x4027}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00099}\mbox{\hyperlink{if__axereg_8h_a435a8e72d3231931ed5e171e36ca3241}{00099}} \textcolor{preprocessor}{\#define AXE\_CMD\_WRITE\_VLAN\_CTRL                 0x4028}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00100}00100 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00101}\mbox{\hyperlink{if__axereg_8h_a911422fb64c7bcaced91f4432a619150}{00101}} \textcolor{preprocessor}{\#define AXE\_772B\_CMD\_RXCTL\_WRITE\_CFG            0x012A}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00102}\mbox{\hyperlink{if__axereg_8h_a2300a22b2b9b033b77058a6ad5244023}{00102}} \textcolor{preprocessor}{\#define AXE\_772B\_CMD\_READ\_RXCSUM                0x002B}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00103}\mbox{\hyperlink{if__axereg_8h_a0da62b883eb6f0bde554d61c1db0a5bc}{00103}} \textcolor{preprocessor}{\#define AXE\_772B\_CMD\_WRITE\_RXCSUM               0x012C}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00104}\mbox{\hyperlink{if__axereg_8h_aca633e92a08482c55016bfae295e8b3a}{00104}} \textcolor{preprocessor}{\#define AXE\_772B\_CMD\_READ\_TXCSUM                0x002D}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00105}\mbox{\hyperlink{if__axereg_8h_a595456423b342285ae7f81c1a59ef69f}{00105}} \textcolor{preprocessor}{\#define AXE\_772B\_CMD\_WRITE\_TXCSUM               0x012E}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00106}00106 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00107}\mbox{\hyperlink{if__axereg_8h_a8bea32b137dc7ba3c1cc4a15545c9588}{00107}} \textcolor{preprocessor}{\#define AXE\_SW\_RESET\_CLEAR                      0x00}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00108}\mbox{\hyperlink{if__axereg_8h_a6e16aaa36fec362cb277874232247e6e}{00108}} \textcolor{preprocessor}{\#define AXE\_SW\_RESET\_RR                         0x01}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00109}\mbox{\hyperlink{if__axereg_8h_ac36f6ed61c24585d74183740a2d1c2a0}{00109}} \textcolor{preprocessor}{\#define AXE\_SW\_RESET\_RT                         0x02}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00110}\mbox{\hyperlink{if__axereg_8h_a0c8a4c2f8e35e212fa14ec9cb31b4a4d}{00110}} \textcolor{preprocessor}{\#define AXE\_SW\_RESET\_PRTE                       0x04}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00111}\mbox{\hyperlink{if__axereg_8h_a1185e4bcbe05108ac90ae2b4225ec01c}{00111}} \textcolor{preprocessor}{\#define AXE\_SW\_RESET\_PRL                        0x08}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00112}\mbox{\hyperlink{if__axereg_8h_a1a37e27562a33d886ed84e57f54c4731}{00112}} \textcolor{preprocessor}{\#define AXE\_SW\_RESET\_BZ                         0x10}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00113}\mbox{\hyperlink{if__axereg_8h_a2c17ba7f91d6c4b61e6132cce79112f1}{00113}} \textcolor{preprocessor}{\#define AXE\_SW\_RESET\_IPRL                       0x20}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00114}\mbox{\hyperlink{if__axereg_8h_a57ef76e8c3e9fb266c7bd41473869158}{00114}} \textcolor{preprocessor}{\#define AXE\_SW\_RESET\_IPPD                       0x40}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00115}00115 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00116}00116 \textcolor{comment}{/* AX88178 documentation says to always write this bit... */}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00117}\mbox{\hyperlink{if__axereg_8h_a9572b32efbfce70eee7d933b0f679706}{00117}} \textcolor{preprocessor}{\#define AXE\_178\_RESET\_MAGIC                     0x40}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00118}00118 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00119}\mbox{\hyperlink{if__axereg_8h_a228c5b4ffcda3bcbb3d98c67ffb5d040}{00119}} \textcolor{preprocessor}{\#define AXE\_178\_MEDIA\_GMII                      0x0001}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00120}\mbox{\hyperlink{if__axereg_8h_addbd903f5ac8b01d68b7cc2dc5c60553}{00120}} \textcolor{preprocessor}{\#define AXE\_MEDIA\_FULL\_DUPLEX                   0x0002}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00121}\mbox{\hyperlink{if__axereg_8h_aa829ff95665092ffd2c22a8293cd30a3}{00121}} \textcolor{preprocessor}{\#define AXE\_172\_MEDIA\_TX\_ABORT\_ALLOW            0x0004}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00122}00122 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00123}00123 \textcolor{comment}{/* AX88178/88772 documentation says to always write 1 to bit 2 */}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00124}\mbox{\hyperlink{if__axereg_8h_ac02a4a52859a47eea1beec45a6371553}{00124}} \textcolor{preprocessor}{\#define AXE\_178\_MEDIA\_MAGIC                     0x0004}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00125}00125 \textcolor{comment}{/* AX88772 documentation says to always write 0 to bit 3 */}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00126}\mbox{\hyperlink{if__axereg_8h_a9567ce9e08cbbb89e7b8c4e461cf61f4}{00126}} \textcolor{preprocessor}{\#define AXE\_178\_MEDIA\_ENCK                      0x0008}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00127}\mbox{\hyperlink{if__axereg_8h_a0a868089da92f3121cddcc5a56554ea4}{00127}} \textcolor{preprocessor}{\#define AXE\_172\_MEDIA\_FLOW\_CONTROL\_EN           0x0010}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00128}\mbox{\hyperlink{if__axereg_8h_a76ff0c4c7e3c543ce00edba110f27b61}{00128}} \textcolor{preprocessor}{\#define AXE\_178\_MEDIA\_RXFLOW\_CONTROL\_EN         0x0010}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00129}\mbox{\hyperlink{if__axereg_8h_a29a9126df1e98aaed35831b33e06b9ea}{00129}} \textcolor{preprocessor}{\#define AXE\_178\_MEDIA\_TXFLOW\_CONTROL\_EN         0x0020}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00130}\mbox{\hyperlink{if__axereg_8h_aaf265e4629270f2e50dfe7858bb9e1ae}{00130}} \textcolor{preprocessor}{\#define AXE\_178\_MEDIA\_JUMBO\_EN                  0x0040}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00131}\mbox{\hyperlink{if__axereg_8h_a3f4a8ea3421d602f994a828f8b01c14d}{00131}} \textcolor{preprocessor}{\#define AXE\_178\_MEDIA\_LTPF\_ONLY                 0x0080}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00132}\mbox{\hyperlink{if__axereg_8h_a123d89f0417c20f7681979e50d6583e6}{00132}} \textcolor{preprocessor}{\#define AXE\_178\_MEDIA\_RX\_EN                     0x0100}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00133}\mbox{\hyperlink{if__axereg_8h_a5793c9911acba92f6a1cac9a4942c2b1}{00133}} \textcolor{preprocessor}{\#define AXE\_178\_MEDIA\_100TX                     0x0200}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00134}\mbox{\hyperlink{if__axereg_8h_a0ba6516012d48b8555320d8d222f27d6}{00134}} \textcolor{preprocessor}{\#define AXE\_178\_MEDIA\_SBP                       0x0800}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00135}\mbox{\hyperlink{if__axereg_8h_a20c0421fd77ff4d42e2c6d4ec2385642}{00135}} \textcolor{preprocessor}{\#define AXE\_178\_MEDIA\_SUPERMAC                  0x1000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00136}00136 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00137}\mbox{\hyperlink{if__axereg_8h_a99bf4f359072d9638f7f6c2b02c642ba}{00137}} \textcolor{preprocessor}{\#define AXE\_RXCMD\_PROMISC                       0x0001}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00138}\mbox{\hyperlink{if__axereg_8h_a69143077fbf6d9f058413b4a4288958e}{00138}} \textcolor{preprocessor}{\#define AXE\_RXCMD\_ALLMULTI                      0x0002}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00139}\mbox{\hyperlink{if__axereg_8h_afdc663cecd77316325bf867234d324ba}{00139}} \textcolor{preprocessor}{\#define AXE\_172\_RXCMD\_UNICAST                   0x0004}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00140}\mbox{\hyperlink{if__axereg_8h_ac12ae4a610ee76068cc8f8d32146a841}{00140}} \textcolor{preprocessor}{\#define AXE\_178\_RXCMD\_KEEP\_INVALID\_CRC          0x0004}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00141}\mbox{\hyperlink{if__axereg_8h_ac4a8773639fe4c07521ac94fcd43401b}{00141}} \textcolor{preprocessor}{\#define AXE\_RXCMD\_BROADCAST                     0x0008}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00142}\mbox{\hyperlink{if__axereg_8h_a7d4c457ed02751cd1d09d03f1aff7abf}{00142}} \textcolor{preprocessor}{\#define AXE\_RXCMD\_MULTICAST                     0x0010}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00143}\mbox{\hyperlink{if__axereg_8h_ab5d5794550662701457319f36a5cb470}{00143}} \textcolor{preprocessor}{\#define AXE\_RXCMD\_ACCEPT\_RUNT                   0x0040  }\textcolor{comment}{/* AX88772B */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00144}\mbox{\hyperlink{if__axereg_8h_ae0d1d6693dacc00e5dfc3dbd66bbc0a8}{00144}} \textcolor{preprocessor}{\#define AXE\_RXCMD\_ENABLE                        0x0080}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00145}\mbox{\hyperlink{if__axereg_8h_ac8abdc2371b8be4415c9b1acbce34eeb}{00145}} \textcolor{preprocessor}{\#define AXE\_178\_RXCMD\_MFB\_MASK                  0x0300}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00146}\mbox{\hyperlink{if__axereg_8h_a7083191f83c64f09a275612c8f899eac}{00146}} \textcolor{preprocessor}{\#define AXE\_178\_RXCMD\_MFB\_2048                  0x0000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00147}\mbox{\hyperlink{if__axereg_8h_a2eb5e94dcdcc7b8c40f6063f2838272d}{00147}} \textcolor{preprocessor}{\#define AXE\_178\_RXCMD\_MFB\_4096                  0x0100}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00148}\mbox{\hyperlink{if__axereg_8h_a3b1367c7ef5e180168558aafc6186574}{00148}} \textcolor{preprocessor}{\#define AXE\_178\_RXCMD\_MFB\_8192                  0x0200}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00149}\mbox{\hyperlink{if__axereg_8h_a5ca8a68c69607efe0c0ed405272b12c8}{00149}} \textcolor{preprocessor}{\#define AXE\_178\_RXCMD\_MFB\_16384                 0x0300}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00150}\mbox{\hyperlink{if__axereg_8h_a5cc213e2a4c2dc2265821c30dbbc9485}{00150}} \textcolor{preprocessor}{\#define AXE\_772B\_RXCMD\_HDR\_TYPE\_0               0x0000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00151}\mbox{\hyperlink{if__axereg_8h_a527852d3338f1823d8dab1c48a27fb45}{00151}} \textcolor{preprocessor}{\#define AXE\_772B\_RXCMD\_HDR\_TYPE\_1               0x0100}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00152}\mbox{\hyperlink{if__axereg_8h_af2d22691d88f117048adad21c5f20a30}{00152}} \textcolor{preprocessor}{\#define AXE\_772B\_RXCMD\_IPHDR\_ALIGN              0x0200}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00153}\mbox{\hyperlink{if__axereg_8h_a0ad63b1c09d8d55ec9f4fd4b1953d3ed}{00153}} \textcolor{preprocessor}{\#define AXE\_772B\_RXCMD\_ADD\_CHKSUM               0x0400}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00154}\mbox{\hyperlink{if__axereg_8h_af62e04dcd238dca46e5169e01c1fe5f1}{00154}} \textcolor{preprocessor}{\#define AXE\_RXCMD\_LOOPBACK                      0x1000  }\textcolor{comment}{/* AX88772A/AX88772B */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00155}00155 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00156}\mbox{\hyperlink{if__axereg_8h_ad8cf0def9be135ea3e63bce2abbaec3d}{00156}} \textcolor{preprocessor}{\#define AXE\_PHY\_SEL\_PRI         1}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00157}\mbox{\hyperlink{if__axereg_8h_a558f54dd9703017e8e71ad58dea9d0c1}{00157}} \textcolor{preprocessor}{\#define AXE\_PHY\_SEL\_SEC         0}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00158}\mbox{\hyperlink{if__axereg_8h_aeae777fefe9917b97a0f254177f299b6}{00158}} \textcolor{preprocessor}{\#define AXE\_PHY\_TYPE\_MASK       0xE0}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00159}\mbox{\hyperlink{if__axereg_8h_a21bbd56ca70c8089ed931ef8c50a6bd4}{00159}} \textcolor{preprocessor}{\#define AXE\_PHY\_TYPE\_SHIFT      5}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00160}\mbox{\hyperlink{if__axereg_8h_af95ed275283bcc47d315a7f0e5cbeecc}{00160}} \textcolor{preprocessor}{\#define AXE\_PHY\_TYPE(x)         \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00161}00161 \textcolor{preprocessor}{        (((x) \& AXE\_PHY\_TYPE\_MASK) >> AXE\_PHY\_TYPE\_SHIFT)}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00162}00162 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00163}\mbox{\hyperlink{if__axereg_8h_addfb9d0fdd3321c72d63eb4f4c403f8a}{00163}} \textcolor{preprocessor}{\#define PHY\_TYPE\_100\_HOME       0       }\textcolor{comment}{/* 10/100 or 1M HOME PHY */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00164}\mbox{\hyperlink{if__axereg_8h_a997bc2595c3732ca740570a91dc492d8}{00164}} \textcolor{preprocessor}{\#define PHY\_TYPE\_GIG            1       }\textcolor{comment}{/* Gigabit PHY */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00165}\mbox{\hyperlink{if__axereg_8h_a171d35d09a0b10ad3f6dec5fe9d2cd89}{00165}} \textcolor{preprocessor}{\#define PHY\_TYPE\_SPECIAL        4       }\textcolor{comment}{/* Special case */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00166}\mbox{\hyperlink{if__axereg_8h_aa20a4ba2ae3c1c3bedb1e9ac6d00e544}{00166}} \textcolor{preprocessor}{\#define PHY\_TYPE\_RSVD           5       }\textcolor{comment}{/* Reserved */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00167}\mbox{\hyperlink{if__axereg_8h_a7a0dc709ca9a3bf929022f4e7b3b53f5}{00167}} \textcolor{preprocessor}{\#define PHY\_TYPE\_NON\_SUP        7       }\textcolor{comment}{/* Non-\/supported PHY */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00168}00168 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00169}\mbox{\hyperlink{if__axereg_8h_a8604e90ff5b49d32d59d1b7846043fd3}{00169}} \textcolor{preprocessor}{\#define AXE\_PHY\_NO\_MASK         0x1F}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00170}\mbox{\hyperlink{if__axereg_8h_aa1a22622d939390ec8526f2b4c99253b}{00170}} \textcolor{preprocessor}{\#define AXE\_PHY\_NO(x)           ((x) \& AXE\_PHY\_NO\_MASK)}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00171}00171 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00172}\mbox{\hyperlink{if__axereg_8h_a8b1c801b8c5cea6111cc2214c070200a}{00172}} \textcolor{preprocessor}{\#define AXE\_772\_PHY\_NO\_EPHY     0x10    }\textcolor{comment}{/* Embedded 10/100 PHY of AX88772 */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00173}00173 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00174}\mbox{\hyperlink{if__axereg_8h_a5289bd1af70c0b239d0a1b516ae526a9}{00174}} \textcolor{preprocessor}{\#define AXE\_GPIO0\_EN            0x01}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00175}\mbox{\hyperlink{if__axereg_8h_a4e934012decf2d58b48463fffbc5009d}{00175}} \textcolor{preprocessor}{\#define AXE\_GPIO0               0x02}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00176}\mbox{\hyperlink{if__axereg_8h_ae5dde7ff82ecace4a2a3c383cd57e99c}{00176}} \textcolor{preprocessor}{\#define AXE\_GPIO1\_EN            0x04}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00177}\mbox{\hyperlink{if__axereg_8h_a72080db3f7976bbbf99571e39b0e2006}{00177}} \textcolor{preprocessor}{\#define AXE\_GPIO1               0x08}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00178}\mbox{\hyperlink{if__axereg_8h_ad46e5327164831696cc2eb6ed78ef285}{00178}} \textcolor{preprocessor}{\#define AXE\_GPIO2\_EN            0x10}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00179}\mbox{\hyperlink{if__axereg_8h_afa2b55ba80c41d984349a53e4624a9b9}{00179}} \textcolor{preprocessor}{\#define AXE\_GPIO2               0x20}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00180}\mbox{\hyperlink{if__axereg_8h_a93ec4e6b8cf7217392e0d91b1b834edf}{00180}} \textcolor{preprocessor}{\#define AXE\_GPIO\_RELOAD\_EEPROM  0x80}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00181}00181 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00182}\mbox{\hyperlink{if__axereg_8h_ae3bb2c6c8a59b187d300059cc2b0c73f}{00182}} \textcolor{preprocessor}{\#define AXE\_PHY\_MODE\_MARVELL            0x00}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00183}\mbox{\hyperlink{if__axereg_8h_a799ae1cc04ea5413587e0f07c9cb77d8}{00183}} \textcolor{preprocessor}{\#define AXE\_PHY\_MODE\_CICADA             0x01}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00184}\mbox{\hyperlink{if__axereg_8h_ae0352bdcc5af9bab80ff24c98f3b79c3}{00184}} \textcolor{preprocessor}{\#define AXE\_PHY\_MODE\_AGERE              0x02}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00185}\mbox{\hyperlink{if__axereg_8h_a3a48d59d64344f19c7bb1f692859c6e9}{00185}} \textcolor{preprocessor}{\#define AXE\_PHY\_MODE\_CICADA\_V2          0x05}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00186}\mbox{\hyperlink{if__axereg_8h_a67fea39d12fc2b3cfe089a283150f8e1}{00186}} \textcolor{preprocessor}{\#define AXE\_PHY\_MODE\_AGERE\_GMII         0x06}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00187}\mbox{\hyperlink{if__axereg_8h_a3fb9c3363bcad977b224477bda328e2c}{00187}} \textcolor{preprocessor}{\#define AXE\_PHY\_MODE\_CICADA\_V2\_ASIX     0x09}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00188}\mbox{\hyperlink{if__axereg_8h_a0f21a30e4f5395037b46ce0a308cae88}{00188}} \textcolor{preprocessor}{\#define AXE\_PHY\_MODE\_REALTEK\_8211CL     0x0C}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00189}\mbox{\hyperlink{if__axereg_8h_aa3acc5cff62411c7567a4fc70b6936e0}{00189}} \textcolor{preprocessor}{\#define AXE\_PHY\_MODE\_REALTEK\_8211BN     0x0D}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00190}\mbox{\hyperlink{if__axereg_8h_a39badeb68df16e48e1ef70edc8f29abe}{00190}} \textcolor{preprocessor}{\#define AXE\_PHY\_MODE\_REALTEK\_8251CL     0x0E}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00191}\mbox{\hyperlink{if__axereg_8h_aece806c72424da75b4e3a2c2c943433e}{00191}} \textcolor{preprocessor}{\#define AXE\_PHY\_MODE\_ATTANSIC           0x40}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00192}00192 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00193}00193 \textcolor{comment}{/* AX88772A/AX88772B only. */}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00194}\mbox{\hyperlink{if__axereg_8h_a1c42af4e0548a79eac1d8e61b0225999}{00194}} \textcolor{preprocessor}{\#define AXE\_SW\_PHY\_SELECT\_EXT           0x0000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00195}\mbox{\hyperlink{if__axereg_8h_af33e8bc907f45d4bf8af18a7535ede10}{00195}} \textcolor{preprocessor}{\#define AXE\_SW\_PHY\_SELECT\_EMBEDDED      0x0001}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00196}\mbox{\hyperlink{if__axereg_8h_ac482b6d3498f1aea207ac528a04c7e58}{00196}} \textcolor{preprocessor}{\#define AXE\_SW\_PHY\_SELECT\_AUTO          0x0002}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00197}\mbox{\hyperlink{if__axereg_8h_a7e38e0cfda76a4c929cd935cef9455b0}{00197}} \textcolor{preprocessor}{\#define AXE\_SW\_PHY\_SELECT\_SS\_MII        0x0004}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00198}\mbox{\hyperlink{if__axereg_8h_addecaf433402a6f884b3d6e1ef6bd697}{00198}} \textcolor{preprocessor}{\#define AXE\_SW\_PHY\_SELECT\_SS\_RVRS\_MII   0x0008}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00199}\mbox{\hyperlink{if__axereg_8h_af85d9a27238af585e1efbf910ba964cb}{00199}} \textcolor{preprocessor}{\#define AXE\_SW\_PHY\_SELECT\_SS\_RVRS\_RMII  0x000C}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00200}\mbox{\hyperlink{if__axereg_8h_a77f9060649c6279814f385eec36c1695}{00200}} \textcolor{preprocessor}{\#define AXE\_SW\_PHY\_SELECT\_SS\_ENB        0x0010}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00201}00201 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00202}00202 \textcolor{comment}{/* AX88772A/AX88772B VLAN control. */}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00203}\mbox{\hyperlink{if__axereg_8h_a78d2a655608d51f5c822216d7927f087}{00203}} \textcolor{preprocessor}{\#define AXE\_VLAN\_CTRL\_ENB               0x00001000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00204}\mbox{\hyperlink{if__axereg_8h_ac12b38f8f3ebf83fa0d4ab62f5ba9d58}{00204}} \textcolor{preprocessor}{\#define AXE\_VLAN\_CTRL\_STRIP             0x00002000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00205}\mbox{\hyperlink{if__axereg_8h_a196641d53ff4943fff94c3a4e74e28a9}{00205}} \textcolor{preprocessor}{\#define AXE\_VLAN\_CTRL\_VID1\_MASK         0x00000FFF}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00206}\mbox{\hyperlink{if__axereg_8h_a0b07706e2de436cc7137eeaeb90e5754}{00206}} \textcolor{preprocessor}{\#define AXE\_VLAN\_CTRL\_VID2\_MASK         0x0FFF0000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00207}00207 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00208}\mbox{\hyperlink{if__axereg_8h_aaff0c2a51a6bb1c7ecce750c4b9b4c9b}{00208}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_IP                   0x0001}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00209}\mbox{\hyperlink{if__axereg_8h_a190db0a9086149bbd89d45923fad07ba}{00209}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_IPVE                 0x0002}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00210}\mbox{\hyperlink{if__axereg_8h_a1ec1f301fd06ba9bae960b87696e5c4e}{00210}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_IPV6E                0x0004}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00211}\mbox{\hyperlink{if__axereg_8h_afdaa7304ac085953b0e4a112beb3a3a5}{00211}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_TCP                  0x0008}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00212}\mbox{\hyperlink{if__axereg_8h_a4a59052768266cbe28a1c7ef4b69f1ac}{00212}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_UDP                  0x0010}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00213}\mbox{\hyperlink{if__axereg_8h_af259395b581e4d83828ea4f1dc6d8f51}{00213}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_ICMP                 0x0020}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00214}\mbox{\hyperlink{if__axereg_8h_a9b18f361728a1bb818ce777670d4d071}{00214}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_IGMP                 0x0040}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00215}\mbox{\hyperlink{if__axereg_8h_a12170eadd46cdbafb0d0ea465e4ead66}{00215}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_ICMP6                0x0080}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00216}\mbox{\hyperlink{if__axereg_8h_aaefaa194af22cd90e254d72d69456158}{00216}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_TCPV6                0x0100}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00217}\mbox{\hyperlink{if__axereg_8h_a3169d18d885d47c5e21921d9c56f384a}{00217}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_UDPV6                0x0200}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00218}\mbox{\hyperlink{if__axereg_8h_a1e96d75bd4ccd8d7f0c4a709f9944d3c}{00218}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_ICMPV6               0x0400}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00219}\mbox{\hyperlink{if__axereg_8h_acf50ad16a86a9f3003732c9064a50e88}{00219}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_IGMPV6               0x0800}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00220}\mbox{\hyperlink{if__axereg_8h_a4837e0e79637ddccfc7436ce4ef1122c}{00220}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_ICMP6V6              0x1000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00221}\mbox{\hyperlink{if__axereg_8h_aaa00c8e18de4b5cc47aa4ad9d2f46599}{00221}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_FOPC                 0x8000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00222}00222 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00223}\mbox{\hyperlink{if__axereg_8h_aef48b17fa115bdf2532b44362ad9d90f}{00223}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_64TE                 0x0100}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00224}\mbox{\hyperlink{if__axereg_8h_acc48543d1ea564a94049fe612f2cc7dc}{00224}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_PPPOE                0x0200}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00225}\mbox{\hyperlink{if__axereg_8h_a5ad327a3abc2f5ec4c5cdaf3d1b0cc59}{00225}} \textcolor{preprocessor}{\#define AXE\_RXCSUM\_RPCE                 0x8000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00226}00226 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00227}\mbox{\hyperlink{if__axereg_8h_a728289263c952069dba6fcbc703da924}{00227}} \textcolor{preprocessor}{\#define AXE\_TXCSUM\_IP                   0x0001}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00228}\mbox{\hyperlink{if__axereg_8h_ad420e108feb66c97b82137c719eb87de}{00228}} \textcolor{preprocessor}{\#define AXE\_TXCSUM\_TCP                  0x0002}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00229}\mbox{\hyperlink{if__axereg_8h_a4af3bc03a96da2d2fe91d9c8569f3c54}{00229}} \textcolor{preprocessor}{\#define AXE\_TXCSUM\_UDP                  0x0004}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00230}\mbox{\hyperlink{if__axereg_8h_a8096869c3e6d857167d575f45daec78d}{00230}} \textcolor{preprocessor}{\#define AXE\_TXCSUM\_ICMP                 0x0008}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00231}\mbox{\hyperlink{if__axereg_8h_a4844c7cd72489126f19b1e5030695da1}{00231}} \textcolor{preprocessor}{\#define AXE\_TXCSUM\_IGMP                 0x0010}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00232}\mbox{\hyperlink{if__axereg_8h_afb1a632d124c597a6f1465fc3b3d4edf}{00232}} \textcolor{preprocessor}{\#define AXE\_TXCSUM\_ICMP6                0x0020}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00233}\mbox{\hyperlink{if__axereg_8h_ab07ab5c0c13bf0bfce34bde7de4efbe9}{00233}} \textcolor{preprocessor}{\#define AXE\_TXCSUM\_TCPV6                0x0100}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00234}\mbox{\hyperlink{if__axereg_8h_a893b6a635ca1a5ad9fa7a13f0158d61c}{00234}} \textcolor{preprocessor}{\#define AXE\_TXCSUM\_UDPV6                0x0200}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00235}\mbox{\hyperlink{if__axereg_8h_abcd738156ce7eda6bb3d21814c4dfba5}{00235}} \textcolor{preprocessor}{\#define AXE\_TXCSUM\_ICMPV6               0x0400}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00236}\mbox{\hyperlink{if__axereg_8h_a0a090205232ceca827805633ad9be549}{00236}} \textcolor{preprocessor}{\#define AXE\_TXCSUM\_IGMPV6               0x0800}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00237}\mbox{\hyperlink{if__axereg_8h_af75bd63f2f648c82e1f3bf37be2953bb}{00237}} \textcolor{preprocessor}{\#define AXE\_TXCSUM\_ICMP6V6              0x1000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00238}00238 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00239}\mbox{\hyperlink{if__axereg_8h_a69632c82f4fa7ac9f3e64591767816bf}{00239}} \textcolor{preprocessor}{\#define AXE\_TXCSUM\_64TE                 0x0001}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00240}\mbox{\hyperlink{if__axereg_8h_a64809fd84d04cf57183da55cabc50e08}{00240}} \textcolor{preprocessor}{\#define AXE\_TXCSUM\_PPPOE                0x0002}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00241}00241 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00242}\mbox{\hyperlink{if__axereg_8h_af5bb2c593f8d011e192601a925cd0dbf}{00242}} \textcolor{preprocessor}{\#define AXE\_BULK\_BUF\_SIZE       16384   }\textcolor{comment}{/* bytes */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00243}00243 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00244}\mbox{\hyperlink{if__axereg_8h_a101683ef7aa258a06bc0cdf802f4de5c}{00244}} \textcolor{preprocessor}{\#define AXE\_CTL\_READ            0x01}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00245}\mbox{\hyperlink{if__axereg_8h_a29dcc198318d6314265a0314c8f44190}{00245}} \textcolor{preprocessor}{\#define AXE\_CTL\_WRITE           0x02}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00246}00246 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00247}\mbox{\hyperlink{if__axereg_8h_ae70145dca6155e4512377ed99f356718}{00247}} \textcolor{preprocessor}{\#define AXE\_CONFIG\_IDX          0       }\textcolor{comment}{/* config number 1 */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00248}\mbox{\hyperlink{if__axereg_8h_a19bc3ea47a273be1f6bd2ff7e2d7ef25}{00248}} \textcolor{preprocessor}{\#define AXE\_IFACE\_IDX           0}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00249}00249 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00250}00250 \textcolor{comment}{/* EEPROM Map. */}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00251}\mbox{\hyperlink{if__axereg_8h_a3d53bff85da458030618a6c5ac6f60f5}{00251}} \textcolor{preprocessor}{\#define AXE\_EEPROM\_772B\_NODE\_ID         0x04}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00252}\mbox{\hyperlink{if__axereg_8h_a8a6d39abdae516527c09a964243dc0e0}{00252}} \textcolor{preprocessor}{\#define AXE\_EEPROM\_772B\_PHY\_PWRCFG      0x18}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00253}00253 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00254}\mbox{\hyperlink{structax88772b__mfb}{00254}} \textcolor{keyword}{struct }\mbox{\hyperlink{structax88772b__mfb}{ax88772b\_mfb}} \{}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00255}\mbox{\hyperlink{structax88772b__mfb_a248885b06e19a1a2ecbd07a71a4b3c56}{00255}}         \textcolor{keywordtype}{int}     \mbox{\hyperlink{structax88772b__mfb_a248885b06e19a1a2ecbd07a71a4b3c56}{byte\_cnt}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00256}\mbox{\hyperlink{structax88772b__mfb_a3ed9f3c14feb23255cbe4ee305566147}{00256}}         \textcolor{keywordtype}{int}     \mbox{\hyperlink{structax88772b__mfb_a3ed9f3c14feb23255cbe4ee305566147}{threshold}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00257}\mbox{\hyperlink{structax88772b__mfb_a44436032b670d252c89b575c30c067ed}{00257}}         \textcolor{keywordtype}{int}     \mbox{\hyperlink{structax88772b__mfb_a44436032b670d252c89b575c30c067ed}{size}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00258}00258 \};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00259}\mbox{\hyperlink{if__axereg_8h_ac46124aee30b2e15455bd2f0ab538926}{00259}} \textcolor{preprocessor}{\#define AX88772B\_MFB\_2K         0}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00260}\mbox{\hyperlink{if__axereg_8h_af52e35ef30d6956afa3e118dd0dbc8fc}{00260}} \textcolor{preprocessor}{\#define AX88772B\_MFB\_4K         1}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00261}\mbox{\hyperlink{if__axereg_8h_a8914b557a2e0ef5c10374e9b47dc3945}{00261}} \textcolor{preprocessor}{\#define AX88772B\_MFB\_6K         2}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00262}\mbox{\hyperlink{if__axereg_8h_a6bb7d35dc2803a8c6eb47c8070408133}{00262}} \textcolor{preprocessor}{\#define AX88772B\_MFB\_8K         3}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00263}\mbox{\hyperlink{if__axereg_8h_aa9b506ec1a544d002bddf1e231e2ff26}{00263}} \textcolor{preprocessor}{\#define AX88772B\_MFB\_16K        4}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00264}\mbox{\hyperlink{if__axereg_8h_a600c3b5be719bc3d147f4cbc04d9780e}{00264}} \textcolor{preprocessor}{\#define AX88772B\_MFB\_20K        5}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00265}\mbox{\hyperlink{if__axereg_8h_af70d396beec174e0f0685f80c0f18703}{00265}} \textcolor{preprocessor}{\#define AX88772B\_MFB\_24K        6}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00266}\mbox{\hyperlink{if__axereg_8h_a05f216caeb60b1b609bf04e305bf503f}{00266}} \textcolor{preprocessor}{\#define AX88772B\_MFB\_32K        7}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00267}00267 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00268}\mbox{\hyperlink{structaxe__sframe__hdr}{00268}} \textcolor{keyword}{struct }\mbox{\hyperlink{structaxe__sframe__hdr}{axe\_sframe\_hdr}} \{}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00269}\mbox{\hyperlink{structaxe__sframe__hdr_ad82d9130e79177fb3b68b18448a4b2f2}{00269}}         uint16\_t \mbox{\hyperlink{structaxe__sframe__hdr_ad82d9130e79177fb3b68b18448a4b2f2}{len}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00270}\mbox{\hyperlink{if__axereg_8h_a326f23c32e5cd1db9ba8bf60d076ecc4}{00270}} \textcolor{preprocessor}{\#define AXE\_HDR\_LEN\_MASK        0xFFFF}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00271}\mbox{\hyperlink{structaxe__sframe__hdr_a127db3a1901ff8ef2fd2f22b038ab7ae}{00271}}         uint16\_t \mbox{\hyperlink{structaxe__sframe__hdr_a127db3a1901ff8ef2fd2f22b038ab7ae}{ilen}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00272}\mbox{\hyperlink{if__axereg_8h_a90eecfca8e2a8d7881a6738dd99cc5c6}{00272}} \} \mbox{\hyperlink{if__axereg_8h_a90eecfca8e2a8d7881a6738dd99cc5c6}{\_\_packed}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00273}00273 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00274}\mbox{\hyperlink{if__axereg_8h_a2c0d6baf2548fbda43efeb370d064407}{00274}} \textcolor{preprocessor}{\#define AXE\_TX\_CSUM\_PSEUDO\_HDR  0x4000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00275}\mbox{\hyperlink{if__axereg_8h_acb0ed40bd4788967a60ffe0deff2d249}{00275}} \textcolor{preprocessor}{\#define AXE\_TX\_CSUM\_DIS         0x8000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00276}00276 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00277}00277 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00278}00278 \textcolor{comment}{ * When RX checksum offloading is enabled, AX88772B uses new RX header}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00279}00279 \textcolor{comment}{ * format and it's not compatible with previous RX header format.  In}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00280}00280 \textcolor{comment}{ * addition, IP header align option should be enabled to get correct}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00281}00281 \textcolor{comment}{ * frame size including RX header.  Total transferred size including}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00282}00282 \textcolor{comment}{ * the RX header is multiple of 4 and controller will pad necessary}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00283}00283 \textcolor{comment}{ * bytes if the length is not multiple of 4.}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00284}00284 \textcolor{comment}{ * This driver does not enable partial checksum feature which will}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00285}00285 \textcolor{comment}{ * compute 16bit checksum from 14th byte to the end of the frame.  If}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00286}00286 \textcolor{comment}{ * this feature is enabled, computed checksum value is embedded into}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00287}00287 \textcolor{comment}{ * RX header which in turn means it uses different RX header format.}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00288}00288 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00289}\mbox{\hyperlink{structaxe__csum__hdr}{00289}} \textcolor{keyword}{struct }\mbox{\hyperlink{structaxe__csum__hdr}{axe\_csum\_hdr}} \{}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00290}\mbox{\hyperlink{structaxe__csum__hdr_a0a061dc4c3169629e9e0f640206cf221}{00290}}         uint16\_t \mbox{\hyperlink{structaxe__csum__hdr_a0a061dc4c3169629e9e0f640206cf221}{len}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00291}\mbox{\hyperlink{if__axereg_8h_a9bf0078a1477b01c59756482f17df380}{00291}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_LEN\_MASK           0x07FF}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00292}\mbox{\hyperlink{if__axereg_8h_acf4c6abc37c6b6ad0fa2d3d494bad5c8}{00292}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_CRC\_ERR            0x1000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00293}\mbox{\hyperlink{if__axereg_8h_ae85dfe024a18869e4ced3f0b56bd54f4}{00293}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_MII\_ERR            0x2000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00294}\mbox{\hyperlink{if__axereg_8h_a9f0c3707baffa085d15447a061e10622}{00294}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_RUNT               0x4000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00295}\mbox{\hyperlink{if__axereg_8h_a213f3bf805edee4755c0916de014b396}{00295}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_BMCAST             0x8000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00296}\mbox{\hyperlink{structaxe__csum__hdr_a54d2b3e5d29055eaef0d6c4a804dd759}{00296}}         uint16\_t \mbox{\hyperlink{structaxe__csum__hdr_a54d2b3e5d29055eaef0d6c4a804dd759}{ilen}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00297}\mbox{\hyperlink{structaxe__csum__hdr_a0dc939577f903b14ffba1eb9287d6259}{00297}}         uint16\_t \mbox{\hyperlink{structaxe__csum__hdr_a0dc939577f903b14ffba1eb9287d6259}{cstatus}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00298}\mbox{\hyperlink{if__axereg_8h_a5497179507392e2f85621346021e6102}{00298}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_VLAN\_MASK          0x0007}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00299}\mbox{\hyperlink{if__axereg_8h_a4284c55d5f2264c2f33fb2c7e87c7b8f}{00299}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_VLAN\_STRIP         0x0008}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00300}\mbox{\hyperlink{if__axereg_8h_ae9ea1557d620adf533383328d700f2da}{00300}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_VLAN\_PRI\_MASK      0x0070}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00301}\mbox{\hyperlink{if__axereg_8h_a0edb42836e67b923c92b96af0f799356}{00301}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_L4\_CSUM\_ERR        0x0100}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00302}\mbox{\hyperlink{if__axereg_8h_abc16edd12eea5ccad9c56918ec3d268d}{00302}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_L3\_CSUM\_ERR        0x0200}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00303}\mbox{\hyperlink{if__axereg_8h_a4a670b3991d39e642790cf75ab7066c5}{00303}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_L4\_TYPE\_UDP        0x0400}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00304}\mbox{\hyperlink{if__axereg_8h_a213084edd5f661a8e32613387b0f8fbb}{00304}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_L4\_TYPE\_ICMP       0x0800}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00305}\mbox{\hyperlink{if__axereg_8h_ae0d83db0d8dae8ef0b0ab561ac3ce40c}{00305}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_L4\_TYPE\_IGMP       0x0C00}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00306}\mbox{\hyperlink{if__axereg_8h_a7c750cd96bced9ac5732da4015ab6202}{00306}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_L4\_TYPE\_TCP        0x1000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00307}\mbox{\hyperlink{if__axereg_8h_a2585309bff85ce215f197a0f3a2db78d}{00307}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_L4\_TYPE\_TCPV6      0x1400}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00308}\mbox{\hyperlink{if__axereg_8h_a946674a11dc9169412e9ce92a4886f88}{00308}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_L4\_TYPE\_MASK       0x1C00}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00309}\mbox{\hyperlink{if__axereg_8h_a155740efbd638a91b7e0a11156e20592}{00309}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_L3\_TYPE\_IPV4       0x2000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00310}\mbox{\hyperlink{if__axereg_8h_a46adf1b9fca1554cc4503dd7005cd042}{00310}} \textcolor{preprocessor}{\#define AXE\_CSUM\_HDR\_L3\_TYPE\_IPV6       0x4000}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00311}00311 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00312}00312 \textcolor{preprocessor}{\#ifdef AXE\_APPEND\_PARTIAL\_CSUM}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00313}00313         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00314}00314 \textcolor{comment}{         * These members present only when partial checksum}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00315}00315 \textcolor{comment}{         * offloading is enabled.  The checksum value is simple}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00316}00316 \textcolor{comment}{         * 16bit sum of received frame starting at offset 14 of}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00317}00317 \textcolor{comment}{         * the frame to the end of the frame excluding FCS bytes.}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00318}00318 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00319}00319         uint16\_t csum\_value;}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00320}00320         uint16\_t \mbox{\hyperlink{xhci_8h_aee197526ee49398c32e9ce4b25ac151d}{dummy}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00321}00321 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00322}00322 \} \mbox{\hyperlink{if__axereg_8h_a90eecfca8e2a8d7881a6738dd99cc5c6}{\_\_packed}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00323}00323 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00324}\mbox{\hyperlink{if__axereg_8h_aaceffc040f9bf9fe8605f761a03addd3}{00324}} \textcolor{preprocessor}{\#define AXE\_CSUM\_RXBYTES(x)     ((x) \& AXE\_CSUM\_HDR\_LEN\_MASK)}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00325}00325 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00326}\mbox{\hyperlink{if__axereg_8h_adb491f9d26e8663f329b26e167f5edde}{00326}} \textcolor{preprocessor}{\#define GET\_MII(sc)             uether\_getmii(\&(sc)-\/>sc\_ue)}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00327}00327 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00328}00328 \textcolor{comment}{/* The interrupt endpoint is currently unused by the ASIX part. */}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00329}00329 \textcolor{keyword}{enum} \{}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00330}\mbox{\hyperlink{if__axereg_8h_a7ff5f2dff38e7639981794c43dc9167ba8fb9511dab411092403c9889a318bf85}{00330}}         \mbox{\hyperlink{if__axereg_8h_a7ff5f2dff38e7639981794c43dc9167ba8fb9511dab411092403c9889a318bf85}{AXE\_BULK\_DT\_WR}},}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00331}\mbox{\hyperlink{if__axereg_8h_a7ff5f2dff38e7639981794c43dc9167baea61583e41d09406630232dc18e67012}{00331}}         \mbox{\hyperlink{if__axereg_8h_a7ff5f2dff38e7639981794c43dc9167baea61583e41d09406630232dc18e67012}{AXE\_BULK\_DT\_RD}},}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00332}\mbox{\hyperlink{if__axereg_8h_a7ff5f2dff38e7639981794c43dc9167ba87494abd3d3a04129f627acb481f3d3f}{00332}}         \mbox{\hyperlink{if__axereg_8h_a7ff5f2dff38e7639981794c43dc9167ba87494abd3d3a04129f627acb481f3d3f}{AXE\_N\_TRANSFER}},}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00333}00333 \};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00334}00334 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00335}\mbox{\hyperlink{structaxe__softc}{00335}} \textcolor{keyword}{struct }\mbox{\hyperlink{structaxe__softc}{axe\_softc}} \{}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00336}\mbox{\hyperlink{structaxe__softc_a7f1aeb2c01f0004502f61075b027148e}{00336}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__ether}{usb\_ether}}       \mbox{\hyperlink{structaxe__softc_a7f1aeb2c01f0004502f61075b027148e}{sc\_ue}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00337}\mbox{\hyperlink{structaxe__softc_a5def8444f52a8ceba410c7436c909a36}{00337}}         \textcolor{keyword}{struct }mtx              \mbox{\hyperlink{structaxe__softc_a5def8444f52a8ceba410c7436c909a36}{sc\_mtx}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00338}\mbox{\hyperlink{structaxe__softc_acd5bfa29327f2c427752b8d6255b95b3}{00338}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structusb__xfer}{usb\_xfer}} *\mbox{\hyperlink{structaxe__softc_acd5bfa29327f2c427752b8d6255b95b3}{sc\_xfer}}[\mbox{\hyperlink{if__axereg_8h_a7ff5f2dff38e7639981794c43dc9167ba87494abd3d3a04129f627acb481f3d3f}{AXE\_N\_TRANSFER}}];}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00339}\mbox{\hyperlink{structaxe__softc_a0fd3772736f89a3529672e7f16e3b708}{00339}}         \textcolor{keywordtype}{int}                     \mbox{\hyperlink{structaxe__softc_a0fd3772736f89a3529672e7f16e3b708}{sc\_phyno}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00340}00340 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00341}\mbox{\hyperlink{structaxe__softc_a444336a9bc5e9c1fe902c30f0d9f211d}{00341}}         \textcolor{keywordtype}{int}                     \mbox{\hyperlink{structaxe__softc_a444336a9bc5e9c1fe902c30f0d9f211d}{sc\_flags}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00342}\mbox{\hyperlink{if__axereg_8h_a2380ed56e79bb1303320daf41d3b5946}{00342}} \textcolor{preprocessor}{\#define AXE\_FLAG\_LINK           0x0001}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00343}\mbox{\hyperlink{if__axereg_8h_aae912f99e7ed93e7f1ab210182382289}{00343}} \textcolor{preprocessor}{\#define AXE\_FLAG\_STD\_FRAME      0x0010}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00344}\mbox{\hyperlink{if__axereg_8h_a83a761983b7861a221a27d5304ff5393}{00344}} \textcolor{preprocessor}{\#define AXE\_FLAG\_CSUM\_FRAME     0x0020}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00345}\mbox{\hyperlink{if__axereg_8h_a684e93e5a971c5d0a6a6ea036379ec0f}{00345}} \textcolor{preprocessor}{\#define AXE\_FLAG\_772            0x1000  }\textcolor{comment}{/* AX88772 */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00346}\mbox{\hyperlink{if__axereg_8h_a8b4ad432eefe9eeca313ff4b432f174a}{00346}} \textcolor{preprocessor}{\#define AXE\_FLAG\_772A           0x2000  }\textcolor{comment}{/* AX88772A */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00347}\mbox{\hyperlink{if__axereg_8h_a8fdc6ebcbdd1618cf0d74e15ecc5ff74}{00347}} \textcolor{preprocessor}{\#define AXE\_FLAG\_772B           0x4000  }\textcolor{comment}{/* AX88772B */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00348}\mbox{\hyperlink{if__axereg_8h_a7228cd4e02140f9164a62d63d270734d}{00348}} \textcolor{preprocessor}{\#define AXE\_FLAG\_178            0x8000  }\textcolor{comment}{/* AX88178 */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00349}00349 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00350}\mbox{\hyperlink{structaxe__softc_acce401ceaedfaef60c8ce3db6ffd1187}{00350}}         uint8\_t                 \mbox{\hyperlink{structaxe__softc_acce401ceaedfaef60c8ce3db6ffd1187}{sc\_ipgs}}[3];}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00351}\mbox{\hyperlink{structaxe__softc_a8fd514c50cd9927210bd0e97487bc001}{00351}}         uint8\_t                 \mbox{\hyperlink{structaxe__softc_a8fd514c50cd9927210bd0e97487bc001}{sc\_phyaddrs}}[2];}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00352}\mbox{\hyperlink{structaxe__softc_adb080a65c993aa0aa0c3169cad77808f}{00352}}         uint16\_t                \mbox{\hyperlink{structaxe__softc_adb080a65c993aa0aa0c3169cad77808f}{sc\_pwrcfg}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00353}\mbox{\hyperlink{structaxe__softc_af2d0a693fc098aeb2758802164787c0e}{00353}}         uint16\_t                \mbox{\hyperlink{structaxe__softc_af2d0a693fc098aeb2758802164787c0e}{sc\_lenmask}};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00354}00354 \};}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00355}00355 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00356}\mbox{\hyperlink{if__axereg_8h_abdbf8168d44cebf251dda7292efef778}{00356}} \textcolor{preprocessor}{\#define AXE\_IS\_178\_FAMILY(sc)                                             \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00357}00357 \textcolor{preprocessor}{        ((sc)-\/>sc\_flags \& (AXE\_FLAG\_772 | AXE\_FLAG\_772A | AXE\_FLAG\_772B | \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00358}00358 \textcolor{preprocessor}{        AXE\_FLAG\_178))}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00359}00359 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00360}\mbox{\hyperlink{if__axereg_8h_ab26386657fda6b588eb391f867cd6b38}{00360}} \textcolor{preprocessor}{\#define AXE\_IS\_772(sc)                                                    \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00361}00361 \textcolor{preprocessor}{        ((sc)-\/>sc\_flags \& (AXE\_FLAG\_772 | AXE\_FLAG\_772A | AXE\_FLAG\_772B))}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00362}00362 }
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00363}\mbox{\hyperlink{if__axereg_8h_a5e6e050c7bb07db75b65352468ecb001}{00363}} \textcolor{preprocessor}{\#define AXE\_LOCK(\_sc)           mtx\_lock(\&(\_sc)-\/>sc\_mtx)}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00364}\mbox{\hyperlink{if__axereg_8h_affe3065527e6fca944f48154ccc573e7}{00364}} \textcolor{preprocessor}{\#define AXE\_UNLOCK(\_sc)         mtx\_unlock(\&(\_sc)-\/>sc\_mtx)}}
\DoxyCodeLine{\Hypertarget{if__axereg_8h_source_l00365}\mbox{\hyperlink{if__axereg_8h_a4049123d0a2e7b4597762d1d35972e2e}{00365}} \textcolor{preprocessor}{\#define AXE\_LOCK\_ASSERT(\_sc, t) mtx\_assert(\&(\_sc)-\/>sc\_mtx, t)}}

\end{DoxyCode}
