Lines Matching +full:port +full:- +full:base
1 // SPDX-License-Identifier: GPL-2.0
7 * Sandeep Paulraj <s-paulraj@ti.com>
8 * Wingman Kwok <w-kwok2@ti.com>
22 #define SGMII23_OFFSET(x) ((x - 2) * 0x100)
31 static void sgmii_write_reg(void __iomem *base, int reg, u32 val) in sgmii_write_reg() argument
33 writel(val, base + reg); in sgmii_write_reg()
36 static u32 sgmii_read_reg(void __iomem *base, int reg) in sgmii_read_reg() argument
38 return readl(base + reg); in sgmii_read_reg()
41 static void sgmii_write_reg_bit(void __iomem *base, int reg, u32 val) in sgmii_write_reg_bit() argument
43 writel((readl(base + reg) | val), base + reg); in sgmii_write_reg_bit()
46 /* port is 0 based */
47 int netcp_sgmii_reset(void __iomem *sgmii_ofs, int port) in netcp_sgmii_reset() argument
50 sgmii_write_reg_bit(sgmii_ofs, SGMII_SRESET_REG(port), in netcp_sgmii_reset()
53 while ((sgmii_read_reg(sgmii_ofs, SGMII_SRESET_REG(port)) & in netcp_sgmii_reset()
60 /* port is 0 based */
61 bool netcp_sgmii_rtreset(void __iomem *sgmii_ofs, int port, bool set) in netcp_sgmii_rtreset() argument
67 reg = sgmii_read_reg(sgmii_ofs, SGMII_SRESET_REG(port)); in netcp_sgmii_rtreset()
73 sgmii_write_reg(sgmii_ofs, SGMII_SRESET_REG(port), reg); in netcp_sgmii_rtreset()
79 int netcp_sgmii_get_port_link(void __iomem *sgmii_ofs, int port) in netcp_sgmii_get_port_link() argument
83 status = sgmii_read_reg(sgmii_ofs, SGMII_STATUS_REG(port)); in netcp_sgmii_get_port_link()
89 int netcp_sgmii_config(void __iomem *sgmii_ofs, int port, u32 interface) in netcp_sgmii_config() argument
119 return -EINVAL; in netcp_sgmii_config()
122 sgmii_write_reg(sgmii_ofs, SGMII_CTL_REG(port), 0); in netcp_sgmii_config()
127 status = sgmii_read_reg(sgmii_ofs, SGMII_STATUS_REG(port)); in netcp_sgmii_config()
135 sgmii_write_reg(sgmii_ofs, SGMII_MRADV_REG(port), mr_adv_ability); in netcp_sgmii_config()
136 sgmii_write_reg(sgmii_ofs, SGMII_CTL_REG(port), control); in netcp_sgmii_config()
144 status = sgmii_read_reg(sgmii_ofs, SGMII_STATUS_REG(port)); in netcp_sgmii_config()