Lines Matching refs:pdata

93 	int (*fix_mac_speed)(struct gmac_rockchip_platdata *pdata,
95 void (*set_to_rmii)(struct gmac_rockchip_platdata *pdata);
96 void (*set_to_rgmii)(struct gmac_rockchip_platdata *pdata);
97 void (*set_clock_selection)(struct gmac_rockchip_platdata *pdata);
98 void (*integrated_phy_powerup)(struct gmac_rockchip_platdata *pdata);
114 struct gmac_rockchip_platdata *pdata = dev_get_platdata(dev); in gmac_set_rgmii() local
118 pdata->tx_delay = tx_delay; in gmac_set_rgmii()
119 pdata->rx_delay = rx_delay; in gmac_set_rgmii()
121 ops->set_to_rgmii(pdata); in gmac_set_rgmii()
126 struct gmac_rockchip_platdata *pdata = dev_get_platdata(dev); in gmac_rockchip_ofdata_to_platdata() local
134 pdata->clock_input = true; in gmac_rockchip_ofdata_to_platdata()
136 pdata->clock_input = false; in gmac_rockchip_ofdata_to_platdata()
142 pdata->integrated_phy = dev_read_bool(dev, "phy-is-integrated"); in gmac_rockchip_ofdata_to_platdata()
145 pdata->integrated_phy = ofnode_read_bool(args.node, in gmac_rockchip_ofdata_to_platdata()
149 if (pdata->integrated_phy) { in gmac_rockchip_ofdata_to_platdata()
150 ret = reset_get_by_name(dev, "mac-phy", &pdata->phy_reset); in gmac_rockchip_ofdata_to_platdata()
158 ret = reset_get_by_index(phydev, 0, &pdata->phy_reset); in gmac_rockchip_ofdata_to_platdata()
167 pdata->tx_delay = dev_read_u32_default(dev, "tx_delay", -ENOENT); in gmac_rockchip_ofdata_to_platdata()
168 pdata->rx_delay = dev_read_u32_default(dev, "rx_delay", -ENOENT); in gmac_rockchip_ofdata_to_platdata()
171 if (pdata->tx_delay == -ENOENT) in gmac_rockchip_ofdata_to_platdata()
172 pdata->tx_delay = dev_read_u32_default(dev, "tx-delay", 0x30); in gmac_rockchip_ofdata_to_platdata()
173 if (pdata->rx_delay == -ENOENT) in gmac_rockchip_ofdata_to_platdata()
174 pdata->rx_delay = dev_read_u32_default(dev, "rx-delay", 0x10); in gmac_rockchip_ofdata_to_platdata()
184 static int px30_gmac_fix_mac_speed(struct gmac_rockchip_platdata *pdata, in px30_gmac_fix_mac_speed() argument
227 static int rk1808_gmac_fix_mac_speed(struct gmac_rockchip_platdata *pdata, in rk1808_gmac_fix_mac_speed() argument
263 static int rk3228_gmac_fix_mac_speed(struct gmac_rockchip_platdata *pdata, in rk3228_gmac_fix_mac_speed() argument
287 clk = (pdata->phy_interface == PHY_INTERFACE_MODE_RMII) ? in rk3228_gmac_fix_mac_speed()
292 clk = (pdata->phy_interface == PHY_INTERFACE_MODE_RMII) ? in rk3228_gmac_fix_mac_speed()
314 static int rk3288_gmac_fix_mac_speed(struct gmac_rockchip_platdata *pdata, in rk3288_gmac_fix_mac_speed() argument
342 static int rk3308_gmac_fix_mac_speed(struct gmac_rockchip_platdata *pdata, in rk3308_gmac_fix_mac_speed() argument
385 static int rk3328_gmac_fix_mac_speed(struct gmac_rockchip_platdata *pdata, in rk3328_gmac_fix_mac_speed() argument
409 clk = (pdata->phy_interface == PHY_INTERFACE_MODE_RMII) ? in rk3328_gmac_fix_mac_speed()
414 clk = (pdata->phy_interface == PHY_INTERFACE_MODE_RMII) ? in rk3328_gmac_fix_mac_speed()
427 rk_clrsetreg(pdata->integrated_phy ? &grf->mac_con[2] : &grf->mac_con[1], in rk3328_gmac_fix_mac_speed()
436 static int rk3368_gmac_fix_mac_speed(struct gmac_rockchip_platdata *pdata, in rk3368_gmac_fix_mac_speed() argument
470 static int rk3399_gmac_fix_mac_speed(struct gmac_rockchip_platdata *pdata, in rk3399_gmac_fix_mac_speed() argument
498 static int rv1108_set_rmii_speed(struct gmac_rockchip_platdata *pdata, in rv1108_set_rmii_speed() argument
535 static int rk3506_set_rmii_speed(struct gmac_rockchip_platdata *pdata, in rk3506_set_rmii_speed() argument
563 if (pdata->bus_id) in rk3506_set_rmii_speed()
571 static int rk3528_set_rgmii_speed(struct gmac_rockchip_platdata *pdata, in rk3528_set_rgmii_speed() argument
599 if (pdata->phy_interface == PHY_INTERFACE_MODE_RMII) in rk3528_set_rgmii_speed()
600 div = pdata->bus_id ? RK3528_GMAC1_CLK_RMII_DIV20 : in rk3528_set_rgmii_speed()
606 if (pdata->phy_interface == PHY_INTERFACE_MODE_RMII) in rk3528_set_rgmii_speed()
607 div = pdata->bus_id ? RK3528_GMAC1_CLK_RMII_DIV2 : in rk3528_set_rgmii_speed()
613 if (pdata->phy_interface != PHY_INTERFACE_MODE_RMII) in rk3528_set_rgmii_speed()
623 if (pdata->bus_id) in rk3528_set_rgmii_speed()
631 static int rk3562_set_gmac_speed(struct gmac_rockchip_platdata *pdata, in rk3562_set_gmac_speed() argument
666 if (pdata->phy_interface == PHY_INTERFACE_MODE_RMII) { in rk3562_set_gmac_speed()
667 if (pdata->bus_id > 0) { in rk3562_set_gmac_speed()
680 if (pdata->phy_interface == PHY_INTERFACE_MODE_RMII) { in rk3562_set_gmac_speed()
681 if (pdata->bus_id > 0) { in rk3562_set_gmac_speed()
694 if (pdata->phy_interface != PHY_INTERFACE_MODE_RMII) in rk3562_set_gmac_speed()
704 if (pdata->bus_id) in rk3562_set_gmac_speed()
712 static int rk3576_set_rgmii_speed(struct gmac_rockchip_platdata *pdata, in rk3576_set_rgmii_speed() argument
732 if (pdata->phy_interface == PHY_INTERFACE_MODE_RMII) in rk3576_set_rgmii_speed()
738 if (pdata->phy_interface == PHY_INTERFACE_MODE_RMII) in rk3576_set_rgmii_speed()
744 if (pdata->phy_interface != PHY_INTERFACE_MODE_RMII) in rk3576_set_rgmii_speed()
756 if (pdata->bus_id == 1) in rk3576_set_rgmii_speed()
764 static int rk3588_set_rgmii_speed(struct gmac_rockchip_platdata *pdata, in rk3588_set_rgmii_speed() argument
786 if (pdata->phy_interface == PHY_INTERFACE_MODE_RMII) in rk3588_set_rgmii_speed()
792 if (pdata->phy_interface == PHY_INTERFACE_MODE_RMII) in rk3588_set_rgmii_speed()
798 if (pdata->phy_interface != PHY_INTERFACE_MODE_RMII) in rk3588_set_rgmii_speed()
808 if (pdata->bus_id == 1) { in rk3588_set_rgmii_speed()
813 div <<= pdata->bus_id ? RK3588_GMAC1_ID_SHIFT : 0; in rk3588_set_rgmii_speed()
814 div_mask = pdata->bus_id ? (RK3588_GMAC_CLK_RGMII_DIV_MASK << 5) : in rk3588_set_rgmii_speed()
822 static int rv1106_set_rmii_speed(struct gmac_rockchip_platdata *pdata, in rv1106_set_rmii_speed() argument
859 static int rv1126_set_rgmii_speed(struct gmac_rockchip_platdata *pdata, in rv1126_set_rgmii_speed() argument
898 static int rv1126b_set_rgmii_speed(struct gmac_rockchip_platdata *pdata, in rv1126b_set_rgmii_speed() argument
918 if (pdata->phy_interface == PHY_INTERFACE_MODE_RMII) in rv1126b_set_rgmii_speed()
924 if (pdata->phy_interface == PHY_INTERFACE_MODE_RMII) in rv1126b_set_rgmii_speed()
930 if (pdata->phy_interface != PHY_INTERFACE_MODE_RMII) in rv1126b_set_rgmii_speed()
947 static void px30_gmac_set_to_rmii(struct gmac_rockchip_platdata *pdata) in px30_gmac_set_to_rmii() argument
963 static void rk1808_gmac_set_to_rgmii(struct gmac_rockchip_platdata *pdata) in rk1808_gmac_set_to_rgmii() argument
999 (pdata->rx_delay << RK1808_CLK_RX_DL_CFG_GMAC_SHIFT) | in rk1808_gmac_set_to_rgmii()
1000 (pdata->tx_delay << RK1808_CLK_TX_DL_CFG_GMAC_SHIFT)); in rk1808_gmac_set_to_rgmii()
1003 static void rk3228_gmac_set_to_rgmii(struct gmac_rockchip_platdata *pdata) in rk3228_gmac_set_to_rgmii() argument
1043 pdata->rx_delay << RK3228_CLK_RX_DL_CFG_GMAC_SHIFT | in rk3228_gmac_set_to_rgmii()
1044 pdata->tx_delay << RK3228_CLK_TX_DL_CFG_GMAC_SHIFT); in rk3228_gmac_set_to_rgmii()
1047 static void rk3228_gmac_set_to_rmii(struct gmac_rockchip_platdata *pdata) in rk3228_gmac_set_to_rmii() argument
1069 static void rk3288_gmac_set_to_rgmii(struct gmac_rockchip_platdata *pdata) in rk3288_gmac_set_to_rgmii() argument
1085 pdata->rx_delay << RK3288_CLK_RX_DL_CFG_GMAC_SHIFT | in rk3288_gmac_set_to_rgmii()
1086 pdata->tx_delay << RK3288_CLK_TX_DL_CFG_GMAC_SHIFT); in rk3288_gmac_set_to_rgmii()
1089 static void rk3308_gmac_set_to_rmii(struct gmac_rockchip_platdata *pdata) in rk3308_gmac_set_to_rmii() argument
1105 static void rk3328_gmac_set_to_rgmii(struct gmac_rockchip_platdata *pdata) in rk3328_gmac_set_to_rgmii() argument
1145 pdata->rx_delay << RK3328_CLK_RX_DL_CFG_GMAC_SHIFT | in rk3328_gmac_set_to_rgmii()
1146 pdata->tx_delay << RK3328_CLK_TX_DL_CFG_GMAC_SHIFT); in rk3328_gmac_set_to_rgmii()
1149 static void rk3328_gmac_set_to_rmii(struct gmac_rockchip_platdata *pdata) in rk3328_gmac_set_to_rmii() argument
1161 rk_clrsetreg(pdata->integrated_phy ? &grf->mac_con[2] : &grf->mac_con[1], in rk3328_gmac_set_to_rmii()
1168 static void rk3368_gmac_set_to_rgmii(struct gmac_rockchip_platdata *pdata) in rk3368_gmac_set_to_rgmii() argument
1202 (pdata->rx_delay << RK3368_CLK_RX_DL_CFG_GMAC_SHIFT) | in rk3368_gmac_set_to_rgmii()
1203 (pdata->tx_delay << RK3368_CLK_TX_DL_CFG_GMAC_SHIFT)); in rk3368_gmac_set_to_rgmii()
1206 static void rk3399_gmac_set_to_rgmii(struct gmac_rockchip_platdata *pdata) in rk3399_gmac_set_to_rgmii() argument
1223 (pdata->rx_delay << RK3399_CLK_RX_DL_CFG_GMAC_SHIFT) | in rk3399_gmac_set_to_rgmii()
1224 (pdata->tx_delay << RK3399_CLK_TX_DL_CFG_GMAC_SHIFT)); in rk3399_gmac_set_to_rgmii()
1227 static void rv1108_gmac_set_to_rmii(struct gmac_rockchip_platdata *pdata) in rv1108_gmac_set_to_rmii() argument
1242 static void rk3228_gmac_integrated_phy_powerup(struct gmac_rockchip_platdata *pdata) in rk3228_gmac_integrated_phy_powerup() argument
1291 reset_assert(&pdata->phy_reset); in rk3228_gmac_integrated_phy_powerup()
1293 reset_deassert(&pdata->phy_reset); in rk3228_gmac_integrated_phy_powerup()
1302 static void rk3328_gmac_integrated_phy_powerup(struct gmac_rockchip_platdata *pdata) in rk3328_gmac_integrated_phy_powerup() argument
1351 reset_assert(&pdata->phy_reset); in rk3328_gmac_integrated_phy_powerup()
1353 reset_deassert(&pdata->phy_reset); in rk3328_gmac_integrated_phy_powerup()
1363 static void rk3506_set_to_rmii(struct gmac_rockchip_platdata *pdata) in rk3506_set_to_rmii() argument
1377 if (pdata->bus_id == 1) in rk3506_set_to_rmii()
1383 static void rk3528_gmac_integrated_phy_powerup(struct gmac_rockchip_platdata *pdata) in rk3528_gmac_integrated_phy_powerup() argument
1437 reset_assert(&pdata->phy_reset); in rk3528_gmac_integrated_phy_powerup()
1453 reset_deassert(&pdata->phy_reset); in rk3528_gmac_integrated_phy_powerup()
1457 static void rk3528_set_to_rmii(struct gmac_rockchip_platdata *pdata) in rk3528_set_to_rmii() argument
1476 if (pdata->bus_id == 1) { in rk3528_set_to_rmii()
1485 static void rk3528_set_to_rgmii(struct gmac_rockchip_platdata *pdata) in rk3528_set_to_rgmii() argument
1513 if (!pdata->bus_id) in rk3528_set_to_rgmii()
1518 if (pdata->rx_delay < 0) { in rk3528_set_to_rgmii()
1523 rx_delay = pdata->rx_delay << RK3528_GMAC1_RX_DL_CFG_SHIFT; in rk3528_set_to_rgmii()
1536 (pdata->tx_delay << RK3528_GMAC1_TX_DL_CFG_SHIFT) | in rk3528_set_to_rgmii()
1540 static void rk3562_set_to_rmii(struct gmac_rockchip_platdata *pdata) in rk3562_set_to_rmii() argument
1553 if (!pdata->bus_id) { in rk3562_set_to_rmii()
1559 static void rk3562_set_to_rgmii(struct gmac_rockchip_platdata *pdata) in rk3562_set_to_rgmii() argument
1588 if (pdata->bus_id) in rk3562_set_to_rgmii()
1597 if (pdata->rx_delay < 0) { in rk3562_set_to_rgmii()
1602 rx_delay = pdata->rx_delay << RK3562_GMAC0_RX_DL_CFG_SHIFT; in rk3562_set_to_rgmii()
1613 (pdata->tx_delay << RK3562_GMAC0_TX_DL_CFG_SHIFT) | in rk3562_set_to_rgmii()
1624 (pdata->tx_delay << RK3562_GMAC0_TX_DL_CFG_SHIFT) | in rk3562_set_to_rgmii()
1628 static void rk3568_set_to_rmii(struct gmac_rockchip_platdata *pdata) in rk3568_set_to_rmii() argument
1641 if (pdata->bus_id == 1) in rk3568_set_to_rmii()
1651 static void rk3568_set_to_rgmii(struct gmac_rockchip_platdata *pdata) in rk3568_set_to_rgmii() argument
1680 if (pdata->bus_id == 1) { in rk3568_set_to_rgmii()
1691 (pdata->rx_delay << RK3568_CLK_RX_DL_CFG_GMAC_SHIFT) | in rk3568_set_to_rgmii()
1692 (pdata->tx_delay << RK3568_CLK_TX_DL_CFG_GMAC_SHIFT)); in rk3568_set_to_rgmii()
1703 static void rk3576_set_to_rmii(struct gmac_rockchip_platdata *pdata) in rk3576_set_to_rmii() argument
1718 if (pdata->bus_id == 1) in rk3576_set_to_rmii()
1724 static void rk3576_set_to_rgmii(struct gmac_rockchip_platdata *pdata) in rk3576_set_to_rgmii() argument
1748 if (pdata->rx_delay < 0) in rk3576_set_to_rgmii()
1757 if (pdata->bus_id == 1) { in rk3576_set_to_rgmii()
1770 rk_setreg(offset_con, DELAY_VALUE(RK3576, pdata->tx_delay, pdata->rx_delay)); in rk3576_set_to_rgmii()
1771 rk_setreg(offset_con + 0X4, DELAY_VALUE(RK3576, pdata->tx_delay, pdata->rx_delay)); in rk3576_set_to_rgmii()
1774 static void rk3588_set_to_rmii(struct gmac_rockchip_platdata *pdata) in rk3588_set_to_rmii() argument
1794 if (pdata->bus_id == 1) { in rk3588_set_to_rmii()
1810 static void rk3588_set_to_rgmii(struct gmac_rockchip_platdata *pdata) in rk3588_set_to_rgmii() argument
1851 if (pdata->rx_delay < 0) { in rk3588_set_to_rgmii()
1856 rx_delay = pdata->rx_delay << RK3588_CLK_RX_DL_CFG_GMAC_SHIFT; in rk3588_set_to_rgmii()
1859 if (pdata->bus_id == 1) { in rk3588_set_to_rgmii()
1883 (pdata->tx_delay << RK3588_CLK_TX_DL_CFG_GMAC_SHIFT) | in rk3588_set_to_rgmii()
1893 static void rv1103b_set_to_rmii(struct gmac_rockchip_platdata *pdata) in rv1103b_set_to_rmii() argument
1907 static void rv1106_gmac_integrated_phy_powerup(struct gmac_rockchip_platdata *pdata) in rv1106_gmac_integrated_phy_powerup() argument
1971 reset_assert(&pdata->phy_reset); in rv1106_gmac_integrated_phy_powerup()
1987 reset_deassert(&pdata->phy_reset); in rv1106_gmac_integrated_phy_powerup()
1991 static void rv1106_set_to_rmii(struct gmac_rockchip_platdata *pdata) in rv1106_set_to_rmii() argument
2005 static void rv1126_set_to_rmii(struct gmac_rockchip_platdata *pdata) in rv1126_set_to_rmii() argument
2022 static void rv1126_set_to_rgmii(struct gmac_rockchip_platdata *pdata) in rv1126_set_to_rgmii() argument
2079 (pdata->rx_delay << RV1126_M0_CLK_RX_DL_CFG_GMAC_SHIFT) | in rv1126_set_to_rgmii()
2080 (pdata->tx_delay << RV1126_M0_CLK_TX_DL_CFG_GMAC_SHIFT)); in rv1126_set_to_rgmii()
2085 (pdata->rx_delay << RV1126_M1_CLK_RX_DL_CFG_GMAC_SHIFT) | in rv1126_set_to_rgmii()
2086 (pdata->tx_delay << RV1126_M1_CLK_TX_DL_CFG_GMAC_SHIFT)); in rv1126_set_to_rgmii()
2089 static void rv1126b_gmac_integrated_phy_powerup(struct gmac_rockchip_platdata *pdata) in rv1126b_gmac_integrated_phy_powerup() argument
2115 reset_assert(&pdata->phy_reset); in rv1126b_gmac_integrated_phy_powerup()
2118 if (pdata->clock_input) in rv1126b_gmac_integrated_phy_powerup()
2133 reset_deassert(&pdata->phy_reset); in rv1126b_gmac_integrated_phy_powerup()
2136 static void rv1126b_set_to_rmii(struct gmac_rockchip_platdata *pdata) in rv1126b_set_to_rmii() argument
2149 if (pdata->integrated_phy) in rv1126b_set_to_rmii()
2159 static void rv1126b_set_to_rgmii(struct gmac_rockchip_platdata *pdata) in rv1126b_set_to_rgmii() argument
2198 if (pdata->rx_delay < 0) { in rv1126b_set_to_rgmii()
2203 rx_delay = pdata->rx_delay << RV1126B_GMAC_RX_DL_CFG_SHIFT; in rv1126b_set_to_rgmii()
2219 (pdata->tx_delay << RV1126B_GMAC_TX_DL_CFG_SHIFT) | in rv1126b_set_to_rgmii()
2225 (pdata->tx_delay << RV1126B_GMAC_TX_DL_CFG_SHIFT) | in rv1126b_set_to_rgmii()
2231 static void rk3506_set_clock_selection(struct gmac_rockchip_platdata *pdata) in rk3506_set_clock_selection() argument
2245 val = pdata->clock_input ? RK3506_GMAC_CLK_SELET_IO : in rk3506_set_clock_selection()
2248 if (pdata->bus_id) in rk3506_set_clock_selection()
2254 static void rk3528_set_clock_selection(struct gmac_rockchip_platdata *pdata) in rk3528_set_clock_selection() argument
2266 if (!pdata->bus_id) in rk3528_set_clock_selection()
2270 val = pdata->clock_input ? RK3528_GMAC1_CLK_SELET_IO : in rk3528_set_clock_selection()
2275 static void rk3562_set_clock_selection(struct gmac_rockchip_platdata *pdata) in rk3562_set_clock_selection() argument
2312 if (!pdata->bus_id) { in rk3562_set_clock_selection()
2313 val = pdata->clock_input ? RK3562_GMAC0_CLK_SELET_IO : in rk3562_set_clock_selection()
2316 val = pdata->clock_input ? RK3562_GMAC0_IO_EXTCLK_SELET_IO : in rk3562_set_clock_selection()
2324 val = pdata->clock_input ? RK3562_GMAC1_CLK_SELET_IO : in rk3562_set_clock_selection()
2327 val = pdata->clock_input ? RK3562_GMAC1_IO_EXTCLK_SELET_IO : in rk3562_set_clock_selection()
2334 static void rk3576_set_clock_selection(struct gmac_rockchip_platdata *pdata) in rk3576_set_clock_selection() argument
2346 val = pdata->clock_input ? RK3576_GMAC_CLK_SELET_IO : in rk3576_set_clock_selection()
2351 if (pdata->bus_id == 1) in rk3576_set_clock_selection()
2357 static void rk3588_set_clock_selection(struct gmac_rockchip_platdata *pdata) in rk3588_set_clock_selection() argument
2370 val = pdata->clock_input ? RK3588_GMAC_CLK_SELET_IO : in rk3588_set_clock_selection()
2374 if (pdata->bus_id == 1) { in rk3588_set_clock_selection()
2382 static void rv1126b_set_clock_selection(struct gmac_rockchip_platdata *pdata) in rv1126b_set_clock_selection() argument
2394 val = pdata->clock_input ? RV1126B_GMAC_CLK_SELET_IO : in rv1126b_set_clock_selection()
2403 struct gmac_rockchip_platdata *pdata = dev_get_platdata(dev); in gmac_rockchip_probe() local
2417 eth_pdata = &pdata->eth_pdata; in gmac_rockchip_probe()
2422 dw_pdata = &pdata->dw_eth_pdata; in gmac_rockchip_probe()
2425 pdata->bus_id = dev->seq; in gmac_rockchip_probe()
2436 pdata->phy_interface = eth_pdata->phy_interface; in gmac_rockchip_probe()
2439 ops->set_clock_selection(pdata); in gmac_rockchip_probe()
2441 if (pdata->integrated_phy && ops->integrated_phy_powerup) in gmac_rockchip_probe()
2442 ops->integrated_phy_powerup(pdata); in gmac_rockchip_probe()
2453 if (!pdata->clock_input) { in gmac_rockchip_probe()
2462 pdata->rx_delay = -1; in gmac_rockchip_probe()
2466 ops->set_to_rgmii(pdata); in gmac_rockchip_probe()
2473 if (!pdata->clock_input) { in gmac_rockchip_probe()
2483 ops->set_to_rmii(pdata); in gmac_rockchip_probe()
2542 struct gmac_rockchip_platdata *pdata = dev_get_platdata(dev); in gmac_rockchip_eth_start() local
2552 dw_pdata = &pdata->dw_eth_pdata; in gmac_rockchip_eth_start()
2559 ret = ops->fix_mac_speed(pdata, priv); in gmac_rockchip_eth_start()