Lines Matching +full:board +full:- +full:specific
7 * Copyright (c) 2003-2008 Cavium Networks
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
30 * Helper functions to abstract board specific data about
31 * network ports from the rest of the cvmx-helper files.
36 #include <asm/octeon/cvmx-bootinfo.h>
38 #include <asm/octeon/cvmx-config.h>
40 #include <asm/octeon/cvmx-helper.h>
41 #include <asm/octeon/cvmx-helper-util.h>
42 #include <asm/octeon/cvmx-helper-board.h>
44 #include <asm/octeon/cvmx-gmxx-defs.h>
45 #include <asm/octeon/cvmx-asxx-defs.h>
49 * port. A result of -1 means there isn't a MII capable PHY
53 * This function must be modified for every new Octeon board.
55 * data to determine board types and revisions. It replies on the
56 * fact that every Octeon board receives a unique board type
61 * Returns MII PHY address and bus number or -1.
65 switch (cvmx_sysinfo_get()->board_type) { in cvmx_helper_board_get_mii_address()
68 return -1; in cvmx_helper_board_get_mii_address()
75 return ipd_port - 16; in cvmx_helper_board_get_mii_address()
77 return -1; in cvmx_helper_board_get_mii_address()
93 return -1; in cvmx_helper_board_get_mii_address()
95 /* Board has 8 RGMII ports PHYs are 0-7 */ in cvmx_helper_board_get_mii_address()
99 return ipd_port - 16 + 4; in cvmx_helper_board_get_mii_address()
101 return -1; in cvmx_helper_board_get_mii_address()
103 /* Board has dual SPI4 and no PHYs */ in cvmx_helper_board_get_mii_address()
104 return -1; in cvmx_helper_board_get_mii_address()
108 /* Board has 2 management ports */ in cvmx_helper_board_get_mii_address()
111 return ipd_port - CVMX_HELPER_BOARD_MGMT_IPD_PORT; in cvmx_helper_board_get_mii_address()
113 * Board has 4 SGMII ports. The PHYs start right after the MII in cvmx_helper_board_get_mii_address()
114 * ports MII0 = 0, MII1 = 1, SGMII = 2-5. in cvmx_helper_board_get_mii_address()
119 return -1; in cvmx_helper_board_get_mii_address()
123 /* Board has 1 management port */ in cvmx_helper_board_get_mii_address()
127 * Board has 8 SGMII ports. 4 connect out, two connect in cvmx_helper_board_get_mii_address()
133 return -1; in cvmx_helper_board_get_mii_address()
138 return -1; in cvmx_helper_board_get_mii_address()
140 /* Board has 4 SGMII ports. connected QLM3(interface 1) */ in cvmx_helper_board_get_mii_address()
142 return ipd_port - 16 + 1; in cvmx_helper_board_get_mii_address()
144 return -1; in cvmx_helper_board_get_mii_address()
147 return -1; in cvmx_helper_board_get_mii_address()
152 return -1; in cvmx_helper_board_get_mii_address()
157 return -1; in cvmx_helper_board_get_mii_address()
163 return -1; in cvmx_helper_board_get_mii_address()
169 return ipd_port - 16 + 4; in cvmx_helper_board_get_mii_address()
171 return -1; in cvmx_helper_board_get_mii_address()
174 return 7 - ipd_port; in cvmx_helper_board_get_mii_address()
176 return -1; in cvmx_helper_board_get_mii_address()
181 return -1; in cvmx_helper_board_get_mii_address()
185 /* Some unknown board. Somebody forgot to update this function... */ in cvmx_helper_board_get_mii_address()
187 ("cvmx_helper_board_get_mii_address: Unknown board type %d\n", in cvmx_helper_board_get_mii_address()
188 cvmx_sysinfo_get()->board_type); in cvmx_helper_board_get_mii_address()
189 return -1; in cvmx_helper_board_get_mii_address()
193 * This function is the board specific method of determining an
198 * This function must be modified for every new Octeon board.
200 * data to determine board types and revisions. It relies on the
201 * fact that every Octeon board receives a unique board type
215 "Using deprecated link status - please update your DT"); in __cvmx_helper_board_link_get()
233 * in-band status. It is really important that boards in __cvmx_helper_board_link_get()
234 * not supporting in-band status never get in __cvmx_helper_board_link_get()
235 * here. Reading broken in-band status tends to do bad in __cvmx_helper_board_link_get()
263 * in-band status. There is no way to determine the in __cvmx_helper_board_link_get()
279 * determines the number of ports Octeon can support on a specific
280 * interface. This function is the per board location to override
283 * board.
285 * This function must be modified for every new Octeon board.
287 * data to determine board types and revisions. It relies on the
288 * fact that every Octeon board receives a unique board type
295 * Returns Number of ports the actual board supports. Many times this will
300 switch (cvmx_sysinfo_get()->board_type) { in __cvmx_helper_board_interface_probe()
324 * Get the clock type used for the USB block based on board type.
331 switch (cvmx_sysinfo_get()->board_type) { in __cvmx_helper_board_usb_get_clock_type()