netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 00/10] net-next: ethernet: add sun8i-emac driver
@ 2016-10-07  8:25 Corentin Labbe
       [not found] ` <1475828757-926-1-git-send-email-clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                   ` (9 more replies)
  0 siblings, 10 replies; 28+ messages in thread
From: Corentin Labbe @ 2016-10-07  8:25 UTC (permalink / raw)
  To: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8,
	maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8, wens-jdAy2FN1RRM,
	linux-I+IVW8TIWO2tmTQ+vhA3Yw, davem-fT/PcQaiUtIeIZ0/mPfg9Q,
	f.fainelli-Re5JQEeQqe8AvxtiuMwx3w, andrew-g2DYL2Zd6BY
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Corentin Labbe

Hello

This patch series add the driver for sun8i-emac which handle the Ethernet MAC
present on Allwinner H3/A83T/A64 SoCs.

It supports 10/100/1000 Mbit/s speed with half/full duplex.
It can use an internal PHY (MII 10/100) or an external PHY
via RGMII/RMII.

This patch series enable the driver only for the H3 SoC since A83T and A64
doesn't have the necessary clocks present in mainline.

This patch series enable the driver only for OrangePiPC and OrangePIOne boards
since other board with H3 use external PHY which need optional regulators
that will be supported later.

The driver have been tested on the following boards:
- H3 Orange PI PC, Orange PI Plus, BananaPI-M2+
- A64 Pine64
- A83T BananaPI-M3

I would like to thanks Chen-Yu Tsai for his help on developing this driver.

Regards

Changes since v3
- sun8i-emac require a DT mdio node
- moved sun8i_emac_power() so that no clock/reset/regulator is used
    until netdev/open is called
- Removed PM patch until proper tests are done
- DT use phy-handle instead of phy
- Moved DT aliases ethernet to subnodes
- Renamed PHY nodes to [int|ext]_[r|g]mii_phy
- Moved clock/reset for internal PHY to PHY node.

Changes since v2
- Added patch to support Orange PI One
- Added a patch to enable SUN8I_EMAC in sunxi_defconfig
- Added a patch to enable pm_runtime
- The Emac clock is now used standard syscon/regmap
- Added netdev_sent_queue/netdev_completed_queue
- Added lots of documentation on working (locks, memory barrier, etc...)
- Cleaned DT bindings documentation
- Added ethernet0 aliases as suggested by Hans de Goede
- Change prefix of all DEFINE to EMAC_
- The driver is now endian safe
- Reworked the internal PHY mechanism
- Removed dma_set_mask_and_coherent(32) since it is the default for of_platform_driver

Changes since v1
- Implement NAPI
- Sorted and reworded all define
- Reworked ethtools stats strings
- Removed all unneeded __packked and __aligned
- Added tuning of RX/TX ring size via ethtool
- Corrected use of sk/skb naming
- Added some wmb when needed
- Moved irq claim/free to emac_open/close
- Lots of code refactoring

Corentin Labbe (9):
  ethernet: add sun8i-emac driver
  MAINTAINERS: Add myself as maintainer of sun8i-emac
  ARM: sun8i: dt: Add DT bindings documentation for Allwinner sun8i-emac
  ARM: dts: sun8i-h3: Add dt node for the syscon control module
  ARM: dts: sun8i-h3: add sun8i-emac ethernet driver
  ARM: dts: sun8i: Enable sun8i-emac on the Orange PI PC
  ARM: dts: sun8i: Enable sun8i-emac on the Orange Pi 2
  ARM: sunxi: Enable sun8i-emac driver on multi_v7_defconfig
  ARM: sunxi: Enable sun8i-emac driver on sunxi_defconfig

Hans de Goede (1):
  ARM: dts: sun8i: Enable sun8i-emac on the Orange PI One

 .../bindings/net/allwinner,sun8i-emac.txt          |   70 +
 MAINTAINERS                                        |    6 +
 arch/arm/boot/dts/sun8i-h3-orangepi-2.dts          |    8 +
 arch/arm/boot/dts/sun8i-h3-orangepi-one.dts        |    8 +
 arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts         |    8 +
 arch/arm/boot/dts/sun8i-h3.dtsi                    |   29 +
 arch/arm/configs/multi_v7_defconfig                |    1 +
 arch/arm/configs/sunxi_defconfig                   |    1 +
 drivers/net/ethernet/allwinner/Kconfig             |   13 +
 drivers/net/ethernet/allwinner/Makefile            |    1 +
 drivers/net/ethernet/allwinner/sun8i-emac.c        | 2266 ++++++++++++++++++++
 11 files changed, 2411 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/allwinner,sun8i-emac.txt
 create mode 100644 drivers/net/ethernet/allwinner/sun8i-emac.c

-- 
2.7.3

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2016-10-23 12:08 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-07  8:25 [PATCH v4 00/10] net-next: ethernet: add sun8i-emac driver Corentin Labbe
     [not found] ` <1475828757-926-1-git-send-email-clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-10-07  8:25   ` [PATCH v4 01/10] " Corentin Labbe
2016-10-07 15:02     ` Joe Perches
2016-10-23  8:55       ` LABBE Corentin
     [not found]     ` <1475828757-926-2-git-send-email-clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-10-23 12:08       ` Rami Rosen
2016-10-07  8:25 ` [PATCH v4 02/10] MAINTAINERS: Add myself as maintainer of sun8i-emac Corentin Labbe
2016-10-07  8:25 ` [PATCH v4 03/10] ARM: sun8i: dt: Add DT bindings documentation for Allwinner sun8i-emac Corentin Labbe
2016-10-10 12:30   ` Maxime Ripard
2016-10-10 15:15     ` Rob Herring
2016-10-10 15:13   ` Rob Herring
2016-10-13 13:39     ` LABBE Corentin
2016-10-07  8:25 ` [PATCH v4 04/10] ARM: dts: sun8i-h3: Add dt node for the syscon control module Corentin Labbe
2016-10-10 12:31   ` Maxime Ripard
2016-10-10 12:50     ` Jean-Francois Moine
2016-10-11  9:39       ` Maxime Ripard
2016-10-07  8:25 ` [PATCH v4 05/10] ARM: dts: sun8i-h3: add sun8i-emac ethernet driver Corentin Labbe
2016-10-07  8:25 ` [PATCH v4 06/10] ARM: dts: sun8i: Enable sun8i-emac on the Orange PI PC Corentin Labbe
2016-10-07  8:25 ` [PATCH v4 07/10] ARM: dts: sun8i: Enable sun8i-emac on the Orange PI One Corentin Labbe
2016-10-07  8:25 ` [PATCH v4 08/10] ARM: dts: sun8i: Enable sun8i-emac on the Orange Pi 2 Corentin Labbe
2016-10-12  8:55   ` Jean-Francois Moine
     [not found]     ` <20161012105559.aaf9122e376fa5969a2e61d9-GANU6spQydw@public.gmane.org>
2016-10-12  9:03       ` Maxime Ripard
2016-10-07  8:25 ` [PATCH v4 09/10] ARM: sunxi: Enable sun8i-emac driver on sunxi_defconfig Corentin Labbe
2016-10-07  8:25 ` [PATCH v4 10/10] ARM: sunxi: Enable sun8i-emac driver on multi_v7_defconfig Corentin Labbe
2016-10-10 12:30   ` Maxime Ripard
2016-10-10 12:35     ` LABBE Corentin
2016-10-10 13:09       ` Jean-Francois Moine
2016-10-11  9:40         ` Maxime Ripard
2016-10-12  8:36           ` LABBE Corentin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).