
Hi Simon,
Am Sonntag, 27. November 2016, 10:01:40 schrieb Simon Glass:
This v3 patch is an update on Sjoerd's original v2 series from Feburary. I have dealt with the changes requested at the time, and adjusted the way that the speed change is handled.
Tested on firefly-rk3288, rock2.
Tested on a firefly as well. Though I get mixed results in my netboot environment. At 100MBit (manually limited) everything seems fine:
---------------------- Speed: 100, full duplex BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 192.168.140.58 (269 ms) Using ethernet@ff290000 device TFTP from server 192.168.140.1; our IP address is 192.168.140.58 Filename 'hstuebner/firefly.vmlinuz'. Load address: 0x4000000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ######################### 2.9 MiB/s done Bytes transferred = 7033483 (6b528b hex) ----------------------
5 out of 5 boots worked fine.
but at 1000MHz I only get:
---------------------- Speed: 1000, full duplex BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 192.168.140.57 (270 ms) Using ethernet@ff290000 device TFTP from server 192.168.140.1; our IP address is 192.168.140.57 Filename 'hstuebner/firefly.vmlinuz'. Load address: 0x4000000 Loading: #####T #T #T ##T T #T #T T ####T #T #### Retry count exceeded; starting again ----------------------
on 5 boots. 1 lonely boot also worked at 1000MBit for some unknown reason. I'm not sure if just my switch is some special snowflake (TL-SG1024 from TP- Link) or there is some other voodoo at work here.
The rootfs over nfs seems to work fine on 1000MBit though.
Heiko
Original cover letter: To add support I've taken a slightly different approach then some of the other boards with a designware IP block, by creating a new driver to take care of the platfrom glue which subclasses the main designware driver instead of adding the compatibility string the designware driver directly and doing the SoC specific setup in the board files. This seems quite a bit more elegant in a device model based world.
I've only tested this series on a Radxa Rock 2 board, it would be great if someone could test this on other boards with the designware IP especially for those with the reset GPIO in devicetree (e.g. some of the Allwinner boards).
Compared to the first one round the pinctrl related bits were dropped as RK3288 now has a full pinctrl driver. Furthermore the started hook in the designware driver was renamed to fix_mac_speed in line with what linux uses and moved to the dw_link_adjust function.
Changes in v3:
- Add a few new patches
- Add comments for struct gmac_rk3288_platdata
- Add new patch to adjust dw_adjust_link() to return an error
- Add new patch to enable networking on evb-rk3288
- Add new patch to export the operation functions
- Add new patch to split the link init into a separate function
- Adjust binding to use r/tx-delay instead of r/tx_delay
- Drop the 'net: designware: Add a fix_mac_speed hook' patch
- Sort includes
- Use debug() instead of printf() for error
- Use function calls instead of fix_mac_speed() hook
- Use new clk interface
Changes in v2:
- Adjust to new hook name
- Fix various coding style nits
Simon Glass (4): net: designware: Adjust dw_adjust_link() to return an error net: designware: Split the link init into a separate function net: designware: Export the operation functions rockchip: evb-rk3339: Enable DHCP
Sjoerd Simons (5): net: designware: Export various functions/struct to allow subclassing net: gmac_rk3288: Add RK3288 GMAC driver rockchip: Enable networking support on rock2 and firefly rockchip: Add PXE and DHCP to the default boot targets rockchip: Drop Ethernet from the TODO
configs/evb-rk3399_defconfig | 3 + configs/firefly-rk3288_defconfig | 4 + configs/rock2_defconfig | 4 + doc/README.rockchip | 1 - drivers/net/Kconfig | 7 ++ drivers/net/Makefile | 1 + drivers/net/designware.c | 57 ++++++++++---- drivers/net/designware.h | 13 ++++ drivers/net/gmac_rk3288.c | 154 ++++++++++++++++++++++++++++++++++++++ include/configs/rockchip-common.h | 4 +- 10 files changed, 230 insertions(+), 18 deletions(-) create mode 100644 drivers/net/gmac_rk3288.c