Lines Matching +full:gmii +full:- +full:to +full:- +full:rgmii
7 * Copyright (c) 2003-2008 Cavium Networks
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
20 * along with this file; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
36 #include <asm/octeon/cvmx-config.h>
38 #include <asm/octeon/cvmx-fpa.h>
39 #include <asm/octeon/cvmx-pip.h>
40 #include <asm/octeon/cvmx-pko.h>
41 #include <asm/octeon/cvmx-ipd.h>
42 #include <asm/octeon/cvmx-spi.h>
43 #include <asm/octeon/cvmx-helper.h>
44 #include <asm/octeon/cvmx-helper-board.h>
46 #include <asm/octeon/cvmx-pip-defs.h>
47 #include <asm/octeon/cvmx-asxx-defs.h>
81 * chip and configuration, this can be 1-16. A value of 0
84 * @interface: Interface to get the port count for
275 /* TODO: Implement support for AGL (RGMII). */ in __cvmx_get_mode_cn7xxx()
287 * @interface: Interface to probe
368 * the defines in executive-config.h.
370 * @ipd_port: Port to configure. This follows the IPD numbering, not the
383 /* Have each port go to a different POW queue */ in __cvmx_helper_port_setup_ipd()
418 * @interface: Interface to probe
425 /* These types don't support ports to IPD/PKO */ in cvmx_helper_interface_enumerate()
436 * RGMII/GMII/MII are all treated about the same. Most in cvmx_helper_interface_enumerate()
437 * functions refer to these ports as RGMII. in cvmx_helper_interface_enumerate()
445 * SPI4 can have 1-16 ports depending on the device at in cvmx_helper_interface_enumerate()
453 * SGMII can have 1-4 ports depending on how many are in cvmx_helper_interface_enumerate()
481 /* Make sure all global variables propagate to other cores */ in cvmx_helper_interface_enumerate()
488 * This function probes an interface to determine the actual
489 * number of hardware ports connected to it. It doesn't setup the
490 * ports or enable them. The main goal here is to set the global
494 * @interface: Interface to probe
501 /* At this stage in the game we don't want packets to be moving yet. in cvmx_helper_interface_probe()
503 needed to determine port counts. Receive must still be disabled */ in cvmx_helper_interface_probe()
505 /* These types don't support ports to IPD/PKO */ in cvmx_helper_interface_probe()
514 * RGMII/GMII/MII are all treated about the same. Most in cvmx_helper_interface_probe()
515 * functions refer to these ports as RGMII. in cvmx_helper_interface_probe()
522 * SPI4 can have 1-16 ports depending on the device at in cvmx_helper_interface_probe()
529 * SGMII can have 1-4 ports depending on how many are in cvmx_helper_interface_probe()
549 /* Make sure all global variables propagate to other cores */ in cvmx_helper_interface_probe()
561 * @interface: Interface to setup IPD/PIP for
570 while (num_ports--) { in __cvmx_helper_interface_setup_ipd()
578 * Setup global setting for IPD/PIP not related to a specific
589 /* The +8 is to account for the next ptr */ in __cvmx_helper_global_setup_ipd()
591 /* The +8 is to account for the next ptr */ in __cvmx_helper_global_setup_ipd()
604 * @interface: Interface to setup PKO for
614 * contention. We're going to make each queue one less than in __cvmx_helper_interface_setup_pko()
615 * the last. The vector of priorities has been extended to in __cvmx_helper_interface_setup_pko()
616 * support CN5xxx CPUs, where up to 16 queues can be in __cvmx_helper_interface_setup_pko()
617 * associated to a port. To keep backward compatibility we in __cvmx_helper_interface_setup_pko()
619 * the second half. With per-core PKO queues (PKO lockless in __cvmx_helper_interface_setup_pko()
632 while (num_ports--) { in __cvmx_helper_interface_setup_pko()
644 * Setup global setting for PKO not related to a specific
652 * Disable tagwait FAU timeout. This needs to be done before in __cvmx_helper_global_setup_pko()
686 /* Disable backpressure if configured to do so */ in __cvmx_helper_global_setup_backpressure()
716 * hardware ports. PKO should still be disabled to make sure packets
719 * @interface: Interface to enable
727 /* These types don't support ports to IPD/PKO */ in __cvmx_helper_packet_hardware_enable()
730 /* Nothing to do */ in __cvmx_helper_packet_hardware_enable()
737 * RGMII/GMII/MII are all treated about the same. Most in __cvmx_helper_packet_hardware_enable()
738 * functions refer to these ports as RGMII in __cvmx_helper_packet_hardware_enable()
745 * SPI4 can have 1-16 ports depending on the device at in __cvmx_helper_packet_hardware_enable()
752 * SGMII can have 1-4 ports depending on how many are in __cvmx_helper_packet_hardware_enable()
775 * Function to adjust internal IPD pointer alignments
783 (CVMX_FPA_PACKET_POOL_SIZE-8-CVMX_HELPER_FIRST_MBUFF_SKIP) in __cvmx_helper_errata_fix_ipd_ptr_alignment()
785 (CVMX_FPA_PACKET_POOL_SIZE-8-CVMX_HELPER_NOT_FIRST_MBUFF_SKIP) in __cvmx_helper_errata_fix_ipd_ptr_alignment()
787 /* Ports 0-15 are interface 0, 16-31 are interface 1 */ in __cvmx_helper_errata_fix_ipd_ptr_alignment()
815 /* Configure port to gig FDX as required for loopback mode */ in __cvmx_helper_errata_fix_ipd_ptr_alignment()
832 num_segs = (2 + pkt_pcnt - wqe_pcnt) & 3; in __cvmx_helper_errata_fix_ipd_ptr_alignment()
841 ((num_segs - 1) * FIX_IPD_NON_FIRST_BUFF_PAYLOAD_BYTES) - in __cvmx_helper_errata_fix_ipd_ptr_alignment()
875 p64[2] = ((uint64_t) (size - 14) << 48) | 0x5ae740004000ull; in __cvmx_helper_errata_fix_ipd_ptr_alignment()
883 if (i == (num_segs - 1)) in __cvmx_helper_errata_fix_ipd_ptr_alignment()
912 INTERFACE(FIX_IPD_OUTPORT)), 65392 - 14 - 4); in __cvmx_helper_errata_fix_ipd_ptr_alignment()
915 INTERFACE(FIX_IPD_OUTPORT)), 65392 - 14 - 4); in __cvmx_helper_errata_fix_ipd_ptr_alignment()
930 retry_cnt--; in __cvmx_helper_errata_fix_ipd_ptr_alignment()
944 /* Return CSR configs to saved values */ in __cvmx_helper_errata_fix_ipd_ptr_alignment()
983 * Time to enable hardware ports packet input and output. Note in cvmx_helper_ipd_and_packet_input_enable()
998 && (cvmx_sysinfo_get()->board_type != CVMX_BOARD_TYPE_SIM)) in cvmx_helper_ipd_and_packet_input_enable()
1005 * Initialize the PIP, IPD, and PKO hardware to support
1011 * Returns Zero on success, non-zero on failure
1021 * CN52XX pass 1: Due to a bug in 2nd order CDR, it needs to in cvmx_helper_initialize_packet_io_global()
1028 * Tell L2 to give the IOB statically higher priority compared in cvmx_helper_initialize_packet_io_global()
1029 * to the cores. This avoids conditions where IO blocks might in cvmx_helper_initialize_packet_io_global()
1068 * the last call to cvmx_helper_link_set().
1070 * @ipd_port: IPD/PKO port to query
1099 WARN_ONCE(1, "Using deprecated link status - please update your DT"); in cvmx_helper_link_get()
1130 * @ipd_port: IPD/PKO port to configure
1137 int result = -1; in cvmx_helper_link_set()
1142 return -1; in cvmx_helper_link_set()
1152 * RGMII/GMII/MII are all treated about the same. Most in cvmx_helper_link_set()
1153 * functions refer to these ports as RGMII. in cvmx_helper_link_set()