111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   To edit the content of this header, modify the corresponding
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   source file (e.g. under external/kernel-headers/original/) then
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   run bionic/libc/kernel/tools/update_all.py
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   Any manual change here will be lost the next time this script will
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   be run. You've been warned!
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _UAPI__LINUX_MII_H__
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _UAPI__LINUX_MII_H__
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h>
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/ethtool.h>
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_BMCR 0x00
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_BMSR 0x01
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_PHYSID1 0x02
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_PHYSID2 0x03
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_ADVERTISE 0x04
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_LPA 0x05
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_EXPANSION 0x06
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_CTRL1000 0x09
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_STAT1000 0x0a
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_MMD_CTRL 0x0d
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_MMD_DATA 0x0e
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_ESTATUS 0x0f
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_DCOUNTER 0x12
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_FCSCOUNTER 0x13
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_NWAYTEST 0x14
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_RERRCOUNTER 0x15
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_SREVISION 0x16
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_RESV1 0x17
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_LBRERROR 0x18
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_PHYADDR 0x19
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_RESV2 0x1a
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_TPISTATUS 0x1b
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_NCONFIG 0x1c
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMCR_RESV 0x003f
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMCR_SPEED1000 0x0040
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMCR_CTST 0x0080
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMCR_FULLDPLX 0x0100
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMCR_ANRESTART 0x0200
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMCR_ISOLATE 0x0400
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMCR_PDOWN 0x0800
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMCR_ANENABLE 0x1000
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMCR_SPEED100 0x2000
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMCR_LOOPBACK 0x4000
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMCR_RESET 0x8000
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMSR_ERCAP 0x0001
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMSR_JCD 0x0002
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMSR_LSTATUS 0x0004
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMSR_ANEGCAPABLE 0x0008
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMSR_RFAULT 0x0010
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMSR_ANEGCOMPLETE 0x0020
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMSR_RESV 0x00c0
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMSR_ESTATEN 0x0100
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMSR_100HALF2 0x0200
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMSR_100FULL2 0x0400
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMSR_10HALF 0x0800
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMSR_10FULL 0x1000
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMSR_100HALF 0x2000
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMSR_100FULL 0x4000
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BMSR_100BASE4 0x8000
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_SLCT 0x001f
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_CSMA 0x0001
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_10HALF 0x0020
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_1000XFULL 0x0020
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_10FULL 0x0040
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_1000XHALF 0x0040
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_100HALF 0x0080
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_1000XPAUSE 0x0080
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_100FULL 0x0100
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_1000XPSE_ASYM 0x0100
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_100BASE4 0x0200
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_PAUSE_CAP 0x0400
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_PAUSE_ASYM 0x0800
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_RESV 0x1000
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_RFAULT 0x2000
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_LPACK 0x4000
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_NPAGE 0x8000
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_FULL (ADVERTISE_100FULL | ADVERTISE_10FULL |   ADVERTISE_CSMA)
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_ALL (ADVERTISE_10HALF | ADVERTISE_10FULL |   ADVERTISE_100HALF | ADVERTISE_100FULL)
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_SLCT 0x001f
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_10HALF 0x0020
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_1000XFULL 0x0020
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_10FULL 0x0040
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_1000XHALF 0x0040
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_100HALF 0x0080
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_1000XPAUSE 0x0080
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_100FULL 0x0100
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_1000XPAUSE_ASYM 0x0100
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_100BASE4 0x0200
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_PAUSE_CAP 0x0400
12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_PAUSE_ASYM 0x0800
12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_RESV 0x1000
12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_RFAULT 0x2000
12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_LPACK 0x4000
12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_NPAGE 0x8000
12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_DUPLEX (LPA_10FULL | LPA_100FULL)
13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_100 (LPA_100FULL | LPA_100HALF | LPA_100BASE4)
13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EXPANSION_NWAY 0x0001
13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EXPANSION_LCWP 0x0002
13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EXPANSION_ENABLENPAGE 0x0004
13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EXPANSION_NPCAPABLE 0x0008
13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EXPANSION_MFAULTS 0x0010
13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EXPANSION_RESV 0xffe0
13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ESTATUS_1000_TFULL 0x2000
14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ESTATUS_1000_THALF 0x1000
14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NWAYTEST_RESV1 0x00ff
14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NWAYTEST_LOOPBACK 0x0100
14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NWAYTEST_RESV2 0xfe00
14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_1000FULL 0x0200
14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ADVERTISE_1000HALF 0x0100
14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL1000_AS_MASTER 0x0800
14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL1000_ENABLE_MASTER 0x1000
15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_1000LOCALRXOK 0x2000
15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_1000REMRXOK 0x1000
15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_1000FULL 0x0800
15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LPA_1000HALF 0x0400
15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FLOW_CTRL_TX 0x01
15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FLOW_CTRL_RX 0x02
15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_MMD_CTRL_DEVAD_MASK 0x1f
15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_MMD_CTRL_ADDR 0x0000
16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_MMD_CTRL_NOINCR 0x4000
16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_MMD_CTRL_INCR_RDWT 0x8000
16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MII_MMD_CTRL_INCR_ON_WT 0xC000
16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct mii_ioctl_data {
16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 phy_id;
16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 reg_num;
16711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 val_in;
16811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
16911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 val_out;
17011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
17111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
172