1950a6087SEmmanuel Vadot#- 2950a6087SEmmanuel Vadot# Copyright 2016 Michal Meloun <mmel@FreeBSD.org> 3950a6087SEmmanuel Vadot# 4950a6087SEmmanuel Vadot# Redistribution and use in source and binary forms, with or without 5950a6087SEmmanuel Vadot# modification, are permitted provided that the following conditions 6950a6087SEmmanuel Vadot# are met: 7950a6087SEmmanuel Vadot# 1. Redistributions of source code must retain the above copyright 8950a6087SEmmanuel Vadot# notice, this list of conditions and the following disclaimer. 9950a6087SEmmanuel Vadot# 2. Redistributions in binary form must reproduce the above copyright 10950a6087SEmmanuel Vadot# notice, this list of conditions and the following disclaimer in the 11950a6087SEmmanuel Vadot# documentation and/or other materials provided with the distribution. 12950a6087SEmmanuel Vadot# 13950a6087SEmmanuel Vadot# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14950a6087SEmmanuel Vadot# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15950a6087SEmmanuel Vadot# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16950a6087SEmmanuel Vadot# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17950a6087SEmmanuel Vadot# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18950a6087SEmmanuel Vadot# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19950a6087SEmmanuel Vadot# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20950a6087SEmmanuel Vadot# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21950a6087SEmmanuel Vadot# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22950a6087SEmmanuel Vadot# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23950a6087SEmmanuel Vadot# SUCH DAMAGE. 24950a6087SEmmanuel Vadot# 25950a6087SEmmanuel Vadot 26950a6087SEmmanuel VadotINTERFACE phynode; 27950a6087SEmmanuel Vadot 28950a6087SEmmanuel VadotHEADER { 29950a6087SEmmanuel Vadot #include <dev/phy/phy.h> 30950a6087SEmmanuel Vadot 31950a6087SEmmanuel Vadot struct phynode; 32950a6087SEmmanuel Vadot} 33950a6087SEmmanuel Vadot 34950a6087SEmmanuel Vadot# 35950a6087SEmmanuel Vadot# Init/deinit phy 36950a6087SEmmanuel Vadot# Returns 0 on success or a standard errno value. 37950a6087SEmmanuel Vadot# 38950a6087SEmmanuel VadotMETHOD int init { 39950a6087SEmmanuel Vadot struct phynode *phynode; 40950a6087SEmmanuel Vadot}; 41950a6087SEmmanuel Vadot 42950a6087SEmmanuel Vadot# 43950a6087SEmmanuel Vadot# Enable/disable phy 44950a6087SEmmanuel Vadot# Returns 0 on success or a standard errno value. 45950a6087SEmmanuel Vadot# 46950a6087SEmmanuel VadotMETHOD int enable { 47950a6087SEmmanuel Vadot struct phynode *phynode; 48950a6087SEmmanuel Vadot bool enable; 49950a6087SEmmanuel Vadot}; 50950a6087SEmmanuel Vadot 51950a6087SEmmanuel Vadot# 52950a6087SEmmanuel Vadot# Get phy status 53950a6087SEmmanuel Vadot# Returns 0 on success or a standard errno value. 54950a6087SEmmanuel Vadot# 55950a6087SEmmanuel VadotMETHOD int status { 56950a6087SEmmanuel Vadot struct phynode *phynode; 57950a6087SEmmanuel Vadot int *status; /* PHY_STATUS_* */ 58950a6087SEmmanuel Vadot}; 59950a6087SEmmanuel Vadot 60950a6087SEmmanuel Vadot 61950a6087SEmmanuel Vadot# 62950a6087SEmmanuel Vadot# Set mode/submode for multiprotocol phy 63950a6087SEmmanuel Vadot# Returns 0 on success or a standard errno value. 64950a6087SEmmanuel Vadot# 65950a6087SEmmanuel VadotMETHOD int set_mode { 66950a6087SEmmanuel Vadot struct phynode *phynode; 67950a6087SEmmanuel Vadot phy_mode_t mode; 68950a6087SEmmanuel Vadot phy_submode_t submode; 69950a6087SEmmanuel Vadot}; 70