From patchwork Sun Sep 9 20:16:41 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hauke Mehrtens X-Patchwork-Id: 967803 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=hauke-m.de Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 427jC668M2z9s47 for ; Mon, 10 Sep 2018 06:17:22 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726710AbeIJBIJ (ORCPT ); Sun, 9 Sep 2018 21:08:09 -0400 Received: from mx2.mailbox.org ([80.241.60.215]:20866 "EHLO mx2.mailbox.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726609AbeIJBIJ (ORCPT ); Sun, 9 Sep 2018 21:08:09 -0400 Received: from smtp1.mailbox.org (smtp1.mailbox.org [80.241.60.240]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx2.mailbox.org (Postfix) with ESMTPS id 70BA541F46; Sun, 9 Sep 2018 22:17:17 +0200 (CEST) X-Virus-Scanned: amavisd-new at heinlein-support.de Received: from smtp1.mailbox.org ([80.241.60.240]) by spamfilter01.heinlein-hosting.de (spamfilter01.heinlein-hosting.de [80.241.56.115]) (amavisd-new, port 10030) with ESMTP id 2l1QHRkmo237; Sun, 9 Sep 2018 22:17:15 +0200 (CEST) From: Hauke Mehrtens To: davem@davemloft.net Cc: netdev@vger.kernel.org, andrew@lunn.ch, vivien.didelot@savoirfairelinux.com, f.fainelli@gmail.com, john@phrozen.org, linux-mips@linux-mips.org, dev@kresin.me, hauke.mehrtens@intel.com, devicetree@vger.kernel.org, Hauke Mehrtens Subject: [PATCH v3 net-next 0/6] Add support for Lantiq / Intel vrx200 network Date: Sun, 9 Sep 2018 22:16:41 +0200 Message-Id: <20180909201647.32727-1-hauke@hauke-m.de> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This adds basic support for the GSWIP (Gigabit Switch) found in the VRX200 SoC. There are different versions of this IP core used in different SoCs, but this driver was currently only tested on the VRX200 SoC line, for other SoCs this driver probably need some adoptions to work. I also plan to add Layer 2 offloading to the DSA driver and later also layer 3 offloading which is supported by the PPE HW block. All these patches should go through the net-next tree. This depends on the patch "MIPS: lantiq: dma: add dev pointer" which should go into 4.19. Changes since: v2: * Send patch "MIPS: lantiq: dma: add dev pointer" separately * all: removed return in register write functions * switch: uses phylink * switch: uses hardware MDIO auto polling * switch: use usleep_range() in MDIO busy check * switch: configure MDIO bus to 2.5 MHz * switch: disable xMII link when it is not used * Ethernet: use NAPI for TX cleanups * Ethernet: enable clock in open callback * Ethernet: improve skb allocation * Ethernet: use net_dev->stats v1: * Add "MIPS: lantiq: dma: add dev pointer" * checkpatch fixes a all patches * Added binding documentation * use readx_poll_timeout function and ETIMEOUT error code * integrate GPHY firmware loading into DSA driver * renamed to NET_DSA_LANTIQ_GSWIP * removed some needed casts * added of_device_id.data information about the detected switch * fixed John's email address Hauke Mehrtens (6): MIPS: lantiq: Do not enable IRQs in dma open net: dsa: Add Lantiq / Intel GSWIP tag support dt-bindings: net: Add lantiq,xrx200-net DT bindings net: lantiq: Add Lantiq / Intel VRX200 Ethernet driver dt-bindings: net: dsa: Add lantiq,xrx200-gswip DT bindings net: dsa: Add Lantiq / Intel DSA driver for vrx200 .../devicetree/bindings/net/dsa/lantiq-gswip.txt | 141 +++ .../devicetree/bindings/net/lantiq,xrx200-net.txt | 21 + MAINTAINERS | 9 + arch/mips/lantiq/xway/dma.c | 1 - arch/mips/lantiq/xway/sysctrl.c | 14 +- drivers/net/dsa/Kconfig | 8 + drivers/net/dsa/Makefile | 1 + drivers/net/dsa/lantiq_gswip.c | 1169 ++++++++++++++++++++ drivers/net/dsa/lantiq_pce.h | 153 +++ drivers/net/ethernet/Kconfig | 7 + drivers/net/ethernet/Makefile | 1 + drivers/net/ethernet/lantiq_etop.c | 1 + drivers/net/ethernet/lantiq_xrx200.c | 564 ++++++++++ include/net/dsa.h | 1 + net/dsa/Kconfig | 3 + net/dsa/Makefile | 1 + net/dsa/dsa.c | 3 + net/dsa/dsa_priv.h | 3 + net/dsa/tag_gswip.c | 109 ++ 19 files changed, 2202 insertions(+), 8 deletions(-) create mode 100644 Documentation/devicetree/bindings/net/dsa/lantiq-gswip.txt create mode 100644 Documentation/devicetree/bindings/net/lantiq,xrx200-net.txt create mode 100644 drivers/net/dsa/lantiq_gswip.c create mode 100644 drivers/net/dsa/lantiq_pce.h create mode 100644 drivers/net/ethernet/lantiq_xrx200.c create mode 100644 net/dsa/tag_gswip.c