
Second round to add support for the GMAC Ethernet interface on RK3288 SoCs. I had hope to follow up a lot earlier, but things were bussier then expected :(
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 v2: - Store probe gpio in private data not platdata - Drop unneeded header file - Move the hook into the dw_adjust_link function - Rename the hook to fix_mac_speed, similar to Linux - Fix various coding style nits - Adjust to new hook name
Sjoerd Simons (12): net: designware: support phy reset device-tree bindings net: designware: Export various functions/struct to allow subclassing net: designware: Add a fix_mac_speed hook rockchip: rk3288: pinctrl: support more pins rockchip: rk3288: Add clock support for the gmac ethernet interface rockchip: rk3288: grf: Define GRF_SOC_CON1 and GRF_SOC_CON3 net: gmac_rk3288: Add RK3288 GMAC driver rockchip: rk3288-firefly: Add gmac definition rockchip: rock2: dts: use status = "okay" not ok rockchip: Enable networking support on rock2 and firefly rockchip: Add PXE and DHCP to the default boot targets rockchip: Drop Ethernet from the TODO
arch/arm/dts/rk3288-firefly.dtsi | 16 +++ arch/arm/dts/rk3288-rock2-square.dts | 2 +- arch/arm/include/asm/arch-rockchip/cru_rk3288.h | 17 ++++ arch/arm/include/asm/arch-rockchip/grf_rk3288.h | 53 ++++++++++ configs/firefly-rk3288_defconfig | 5 + configs/rock2_defconfig | 5 + doc/README.rockchip | 1 - drivers/clk/clk_rk3288.c | 14 +++ drivers/net/Kconfig | 7 ++ drivers/net/Makefile | 1 + drivers/net/designware.c | 90 ++++++++++++++--- drivers/net/designware.h | 18 ++++ drivers/net/gmac_rk3288.c | 125 ++++++++++++++++++++++++ drivers/pinctrl/rockchip/pinctrl_rk3288.c | 2 +- include/configs/rk3288_common.h | 4 +- 15 files changed, 345 insertions(+), 15 deletions(-) create mode 100644 drivers/net/gmac_rk3288.c