1#- 2# Copyright (c) 2015 Luiz Otavio O Souza <loos@FreeBSD.org> 3# Copyright (c) 2014 Ruslan Bukin <br@bsdpad.com> 4# All rights reserved. 5# 6# Redistribution and use in source and binary forms, with or without 7# modification, are permitted provided that the following conditions 8# are met: 9# 1. Redistributions of source code must retain the above copyright 10# notice, this list of conditions and the following disclaimer. 11# 2. Redistributions in binary form must reproduce the above copyright 12# notice, this list of conditions and the following disclaimer in the 13# documentation and/or other materials provided with the distribution. 14# 15# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25# SUCH DAMAGE. 26# 27# $FreeBSD$ 28# 29 30INTERFACE if_dwc; 31 32#include <dev/dwc/if_dwc.h> 33 34CODE { 35 static int 36 if_dwc_default_init(device_t dev) 37 { 38 return (0); 39 } 40 41 static int 42 if_dwc_default_mac_type(device_t dev) 43 { 44 return (DWC_GMAC_EXT_DESC); 45 } 46 47 static int 48 if_dwc_default_mii_clk(device_t dev) 49 { 50 return (GMAC_MII_CLK_25_35M_DIV16); 51 } 52 53 static int 54 if_dwc_default_set_speed(device_t dev, int speed) 55 { 56 return (0); 57 } 58}; 59 60HEADER { 61}; 62 63# 64# Initialize the SoC specific registers. 65# 66METHOD int init { 67 device_t dev; 68} DEFAULT if_dwc_default_init; 69 70# 71# Return the DWC MAC type (descriptor type). 72# 73METHOD int mac_type { 74 device_t dev; 75} DEFAULT if_dwc_default_mac_type; 76 77# 78# Return the DWC MII clock for a specific hardware. 79# 80METHOD int mii_clk { 81 device_t dev; 82} DEFAULT if_dwc_default_mii_clk; 83 84# 85# Signal media change to a specific hardware 86# 87METHOD int set_speed { 88 device_t dev; 89 int speed; 90} DEFAULT if_dwc_default_set_speed; 91