Lines Matching +full:current +full:- +full:speed
4 * SPDX-License-Identifier: GPL-2.0+
15 #include "test-rockchip.h"
46 if (bus->phymap[i]) in get_current_phydev()
47 return bus->phymap[i]; in get_current_phydev()
57 memset(data + (frame_size / 2), 0xAA, frame_size / 2 - 1); in create_lbtest_frame()
81 static void eth_setup_loopback_test(struct udevice *current, int speed) in eth_setup_loopback_test() argument
84 struct eth_pdata *pdata = dev_get_platdata(current); in eth_setup_loopback_test()
94 conf = readl(pdata->iobase); in eth_setup_loopback_test()
95 if (speed != LOOPBACK_SPEED_1000) in eth_setup_loopback_test()
100 if (speed == LOOPBACK_SPEED_100) in eth_setup_loopback_test()
103 if (phydev->duplex) in eth_setup_loopback_test()
105 writel(conf, pdata->iobase); in eth_setup_loopback_test()
111 if (speed == LOOPBACK_SPEED_1000) { in eth_setup_loopback_test()
114 } else if (speed == LOOPBACK_SPEED_100) { in eth_setup_loopback_test()
117 } else if (speed == LOOPBACK_SPEED_10) { in eth_setup_loopback_test()
125 static int eth_run_loopback_test(struct udevice *current, int speed, int delay_test) in eth_run_loopback_test() argument
135 return -EINVAL; in eth_run_loopback_test()
148 gmac_set_rgmii(current, i, j); in eth_run_loopback_test()
157 if (speed == LOOPBACK_SPEED_10) in eth_run_loopback_test()
159 else if (speed == LOOPBACK_SPEED_100) in eth_run_loopback_test()
162 /* The default is 1000M speed */ in eth_run_loopback_test()
165 length = eth_get_ops(current)->recv(current, flags, &rx_packet); in eth_run_loopback_test()
174 ret = -EINVAL; in eth_run_loopback_test()
177 ret = -EBUSY; in eth_run_loopback_test()
184 if (length >= 0 && eth_get_ops(current)->free_pkt) in eth_run_loopback_test()
185 eth_get_ops(current)->free_pkt(current, rx_packet, in eth_run_loopback_test()
205 int ret = -EINVAL; in ethernet_init()
219 static int eth_loopback_test(int speed, int delay_test) in eth_loopback_test() argument
221 struct udevice *current; in eth_loopback_test() local
224 current = eth_get_dev(); in eth_loopback_test()
225 if (!current || !device_active(current)) in eth_loopback_test()
226 return -EINVAL; in eth_loopback_test()
228 eth_setup_loopback_test(current, speed); in eth_loopback_test()
235 ret = eth_run_loopback_test(current, speed, delay_test); in eth_loopback_test()
243 …printf("rktest eth loopback speed - Test the phy loopback, speed is 1000/100/10, need to unplug th… in do_eth_help()
244 …printf("rktest eth delaytest - Get the loopback-passed tx_delay/rx_delay array, need to unplug the… in do_eth_help()
245 printf("rktest eth delayline tx_delay rx_delay - Delay value is 0x00~0x7f\n"); in do_eth_help()
246 …printf("rktest eth dhcp address IP:file - Boot image via network using DHCP/TFTP protocol, example… in do_eth_help()
251 struct udevice *current; in do_test_eth() local
254 int i, speed; in do_test_eth() local
257 current = eth_get_dev(); in do_test_eth()
258 if (!current || !device_active(current)) in do_test_eth()
259 return -EINVAL; in do_test_eth()
264 /* Force 1000 speed test */ in do_test_eth()
265 speed = LOOPBACK_SPEED_1000; in do_test_eth()
266 ret = eth_loopback_test(speed, 1); in do_test_eth()
275 speed = simple_strtoul(argv[3], NULL, 0); in do_test_eth()
276 ret = eth_loopback_test(speed, 0); in do_test_eth()
285 gmac_set_rgmii(current, tx_delay, rx_delay); in do_test_eth()
299 if (i < argc - 1) in do_test_eth()
322 " [i] rktest eth - test ethernet\n"