Lines Matching full:sgmii
5 /* Qualcomm Technologies, Inc. EMAC SGMII Controller driver.
14 #include "emac-sgmii.h"
88 /* Initialize the SGMII link between the internal and external PHYs. */
121 net_err_ratelimited("%s: failed to clear SGMII irq: status:0x%x bits:0x%x\n", in emac_sgmii_irq_clear()
158 /* The SGMII is capable of recovering from some decode in emac_sgmii_interrupt()
193 * SGMII in emac_sgmii_reset_prepare()
214 struct emac_sgmii *sgmii = &adpt->phy; in emac_sgmii_common_open() local
217 if (sgmii->irq) { in emac_sgmii_common_open()
222 writel(0, sgmii->base + EMAC_SGMII_PHY_INTERRUPT_MASK); in emac_sgmii_common_open()
224 ret = request_irq(sgmii->irq, emac_sgmii_interrupt, 0, in emac_sgmii_common_open()
225 "emac-sgmii", adpt); in emac_sgmii_common_open()
238 struct emac_sgmii *sgmii = &adpt->phy; in emac_sgmii_common_close() local
241 writel(0, sgmii->base + EMAC_SGMII_PHY_INTERRUPT_MASK); in emac_sgmii_common_close()
242 free_irq(sgmii->irq, adpt); in emac_sgmii_common_close()
248 struct emac_sgmii *sgmii = &adpt->phy; in emac_sgmii_common_link_change() local
258 sgmii->base + EMAC_SGMII_PHY_INTERRUPT_MASK); in emac_sgmii_common_link_change()
261 writel(0, sgmii->base + EMAC_SGMII_PHY_INTERRUPT_MASK); in emac_sgmii_common_link_change()
262 synchronize_irq(sgmii->irq); in emac_sgmii_common_link_change()
339 .compatible = "qcom,fsm9900-emac-sgmii",
343 .compatible = "qcom,qdf2432-emac-sgmii",
408 /* v2 SGMII has a per-lane digital digital, so parse it if it exists */ in emac_sgmii_config()