]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/dev/dwc/if_dwc_if.m
MFC r360467, r362399, r362405, r362415
[FreeBSD/FreeBSD.git] / sys / dev / dwc / if_dwc_if.m
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
30 INTERFACE if_dwc;
31
32 #include <dev/dwc/if_dwc.h>
33
34 CODE {
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
54 HEADER {
55 };
56
57 #
58 # Initialize the SoC specific registers.
59 #
60 METHOD int init {
61         device_t dev;
62 } DEFAULT if_dwc_default_init;
63
64 #
65 # Return the DWC MAC type (descriptor type).
66 #
67 METHOD int mac_type {
68         device_t dev;
69 } DEFAULT if_dwc_default_mac_type;
70
71 #
72 # Return the DWC MII clock for a specific hardware.
73 #
74 METHOD int mii_clk {
75         device_t dev;
76 } DEFAULT if_dwc_default_mii_clk;