Lines Matching +full:force +full:- +full:internal +full:- +full:phy
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Marvell 88E6xxx Ethernet switch single-chip definition
16 #include <linux/phy.h>
28 /* PVT limits for 4-bit port and 5-bit switch */
110 * enum mv88e6xxx_edsa_support - Ethertype DSA tag support level
149 * ports 2-4 are not routet to pins.
152 /* Multi-chip Addressing Mode.
154 * when it is non-zero, and use indirect access to internal registers.
157 /* Dual-chip Addressing Mode
174 /* Internal PHY start index. 0 means that internal PHYs range starts at
175 * port 0, 1 means internal PHYs range starts at port 1, etc
355 /* Handles automatic disabling and re-enabling of the PHY
426 /* Per-port timestamping resources. */
488 /* PHY Polling Unit (PPU) operations */
509 #define LINK_UNFORCED -2
512 * Use LINK_FORCED_UP or LINK_FORCED_DOWN to force link up or down,
528 #define SPEED_UNFORCED -2
529 #define DUPLEX_UNFORCED -2
536 * Use DUPLEX_HALF or DUPLEX_FULL to force half or full duplex,
570 /* CMODE control what PHY mode the MAC will use, eg. SGMII, RGMII, etc.
702 /* Access port-scoped Precision Time Protocol registers */
748 return chip->info->max_sid > 0 && in mv88e6xxx_has_stu()
749 chip->info->ops->stu_loadpurge && in mv88e6xxx_has_stu()
750 chip->info->ops->stu_getnext; in mv88e6xxx_has_stu()
755 return chip->info->pvt; in mv88e6xxx_has_pvt()
760 return !!chip->info->global2_addr; in mv88e6xxx_has_lag()
765 return chip->info->num_databases; in mv88e6xxx_num_databases()
770 return chip->info->num_macs; in mv88e6xxx_num_macs()
775 return chip->info->num_ports; in mv88e6xxx_num_ports()
780 return chip->info->max_vid; in mv88e6xxx_max_vid()
785 return chip->info->max_sid; in mv88e6xxx_max_sid()
790 return GENMASK((s32)mv88e6xxx_num_ports(chip) - 1, 0); in mv88e6xxx_port_mask()
795 return chip->info->num_gpio; in mv88e6xxx_num_gpio()
800 return (chip->info->invalid_port_mask & BIT(port)) != 0; in mv88e6xxx_is_invalid_port()
806 chip->ports[port].mab = mab; in mv88e6xxx_port_set_mab()
819 mutex_lock(&chip->reg_lock); in mv88e6xxx_reg_lock()
824 mutex_unlock(&chip->reg_lock); in mv88e6xxx_reg_unlock()