Received: by 2002:a19:771d:0:0:0:0:0 with SMTP id s29csp1248728lfc; Wed, 1 Jun 2022 13:02:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyUYuGkY3D7UqOy3aX7fZwYsQ/ArSIAchI35g7yGI8YLdbsMqF1qdGolnifLPqAONpVEQJh X-Received: by 2002:a63:f84d:0:b0:3fc:3707:2835 with SMTP id v13-20020a63f84d000000b003fc37072835mr929685pgj.244.1654113777566; Wed, 01 Jun 2022 13:02:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654113777; cv=none; d=google.com; s=arc-20160816; b=yP/f352lyRqbNyrc068heIQnrm5bKrhZcQb4Nk6bYVT+DIVLZYhpFd6G/1AkrHB/Ce JBFCnzi/ZZk0TPmceejoEDdIZoixAZHstOg4+3+FT41vKV2kmo21s/O0M8fCZeYc7my9 3EyyQy1CtkforbzSdkKNZ6QO/yK3rT5XR7htniR9pryBW2EoWof+dqwgz2GTrIc12vnK GIKeIZ2scszq9UcEfarlUrt3PnsGPHsoNWuN869JKS5dzAfC0x+wiBC4t+kuIrargOK2 lwaKLN5KfQwgrO6mAwWAJJKNkLiQXvif2JweQstXZefvyHLL/EAZFc+Thce/bJi0Zd8J BlGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from :dkim-signature; bh=ns4fhAbJmNkPqOowJuAm93hA5lGSSRmpSmYY4hd38ag=; b=SslHagpoQmUroxSkj6i/jXBAxrbfX6ZOCHw8u/NfY33yUzhpg1g5quKp112IXk97kr G5n9xDT6+eI0ysdpSTvmnARG66qIwQuvXJVR2MDPk3vaYvs/4P+LIgXRd5GVZ9KqGre8 J2MmIvzp0MM78h523rQEpWFzahHTpGXD+gLZFDWrB8a0CxDNfx/APGlxQOrW3XgPdyde H+SfCyJOXg7G5oRshu3B6LKcihi835rtRnOzvW4Fm5cQhE3aAfjxXeavA52wENO1onzy uFp31LNwqogCvGmg37SE9jdmqXs8dWY8er4YYpQuYEAzOX0XRa7530dWXx1Y3q6pp97h 2noA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=kTat4LDu; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id t16-20020a056a00139000b0050ad0f19e40si4022813pfg.53.2022.06.01.13.02.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Jun 2022 13:02:57 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=kTat4LDu; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 40A7221E30A; Wed, 1 Jun 2022 12:20:26 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245274AbiEaJvf (ORCPT + 99 others); Tue, 31 May 2022 05:51:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44698 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242970AbiEaJva (ORCPT ); Tue, 31 May 2022 05:51:30 -0400 Received: from lelv0142.ext.ti.com (lelv0142.ext.ti.com [198.47.23.249]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2F4FB985A6; Tue, 31 May 2022 02:51:29 -0700 (PDT) Received: from lelv0265.itg.ti.com ([10.180.67.224]) by lelv0142.ext.ti.com (8.15.2/8.15.2) with ESMTP id 24V9pAWQ113579; Tue, 31 May 2022 04:51:10 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1653990670; bh=ns4fhAbJmNkPqOowJuAm93hA5lGSSRmpSmYY4hd38ag=; h=From:To:CC:Subject:Date; b=kTat4LDu+9Q6f+R6T4mJbfRP7qq2/mz7Ro1l2KzlQL4qQnbOpNvhGOBnK7qCIOmBI LU6luYTxSXK9jGtBm9LGmjHnZw7Iu1Q8HZkzMNvWHvHGKpQxHeZXxta+av0iS1m/zS 25LGzCcik0/rsqPn934dd2JVGBCW2bjQaoQLPoY8= Received: from DLEE108.ent.ti.com (dlee108.ent.ti.com [157.170.170.38]) by lelv0265.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 24V9pAqK003998 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 31 May 2022 04:51:10 -0500 Received: from DLEE110.ent.ti.com (157.170.170.21) by DLEE108.ent.ti.com (157.170.170.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Tue, 31 May 2022 04:51:09 -0500 Received: from fllv0039.itg.ti.com (10.64.41.19) by DLEE110.ent.ti.com (157.170.170.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14 via Frontend Transport; Tue, 31 May 2022 04:51:09 -0500 Received: from localhost (ileax41-snat.itg.ti.com [10.172.224.153]) by fllv0039.itg.ti.com (8.15.2/8.15.2) with ESMTP id 24V9p8Dt094744; Tue, 31 May 2022 04:51:09 -0500 From: Puranjay Mohan To: CC: , , , , , , , , , , , , , , , , Subject: [PATCH v2 0/2] Introduce ICSSG based ethernet Driver Date: Tue, 31 May 2022 15:21:06 +0530 Message-ID: <20220531095108.21757-1-p-mohan@ti.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Type: text/plain X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The Programmable Real-time Unit and Industrial Communication Subsystem Gigabit (PRU_ICSSG) is a low-latency microcontroller subsystem in the TI SoCs. This subsystem is provided for the use cases like the implementation of custom peripheral interfaces, offloading of tasks from the other processor cores of the SoC, etc. The subsystem includes many accelerators for data processing like multiplier and multiplier-accumulator. It also has peripherals like UART, MII/RGMII, MDIO, etc. Every ICSSG core includes two 32-bit load/store RISC CPU cores called PRUs. The above features allow it to be used for implementing custom firmware based peripherals like ethernet. This series adds the YAML documentation and the driver with basic EMAC support for TI AM654 Silicon Rev 2 SoC with the PRU_ICSSG Sub-system. running dual-EMAC firmware. This currently supports basic EMAC with 1Gbps and 100Mbps link. 10M and half-duplex modes are not yet supported because they require the support of an IEP, which will be added later. Advanced features like switch-dev and timestamping will be added later. This series depends on two patch series that are not yet merged, one in the remoteproc tree and another in the soc tree. the first one is titled Introduce PRU remoteproc consumer API and the second one is titled Introduce PRU platform consumer API. Both of these are required for this driver. To explain this dependency and to get reviews, I had earlier posted all three of these as an RFC[1], this can be seen for understanding the dependencies. I then posted the remoteproc[2] and soc[3] series seperately to their respective trees. [1] https://lore.kernel.org/all/20220406094358.7895-1-p-mohan@ti.com/ [2] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220418104118.12878-1-p-mohan@ti.com/ [3] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220418123004.9332-1-p-mohan@ti.com/ [V1] https://lore.kernel.org/all/20220506052433.28087-1-p-mohan@ti.com/ Differences from V1 can be seen in the individual patches. Thanks and Regards, Puranjay Mohan Puranjay Mohan (1): dt-bindings: net: Add ICSSG Ethernet Driver bindings Roger Quadros (1): net: ti: icssg-prueth: Add ICSSG ethernet driver .../bindings/net/ti,icssg-prueth.yaml | 181 ++ drivers/net/ethernet/ti/Kconfig | 15 + drivers/net/ethernet/ti/Makefile | 3 + drivers/net/ethernet/ti/icssg_classifier.c | 375 ++++ drivers/net/ethernet/ti/icssg_config.c | 440 ++++ drivers/net/ethernet/ti/icssg_config.h | 200 ++ drivers/net/ethernet/ti/icssg_ethtool.c | 319 +++ drivers/net/ethernet/ti/icssg_mii_cfg.c | 104 + drivers/net/ethernet/ti/icssg_mii_rt.h | 151 ++ drivers/net/ethernet/ti/icssg_prueth.c | 1889 +++++++++++++++++ drivers/net/ethernet/ti/icssg_prueth.h | 246 +++ drivers/net/ethernet/ti/icssg_switch_map.h | 183 ++ include/linux/pruss.h | 1 + 13 files changed, 4107 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/ti,icssg-prueth.yaml create mode 100644 drivers/net/ethernet/ti/icssg_classifier.c create mode 100644 drivers/net/ethernet/ti/icssg_config.c create mode 100644 drivers/net/ethernet/ti/icssg_config.h create mode 100644 drivers/net/ethernet/ti/icssg_ethtool.c create mode 100644 drivers/net/ethernet/ti/icssg_mii_cfg.c create mode 100644 drivers/net/ethernet/ti/icssg_mii_rt.h create mode 100644 drivers/net/ethernet/ti/icssg_prueth.c create mode 100644 drivers/net/ethernet/ti/icssg_prueth.h create mode 100644 drivers/net/ethernet/ti/icssg_switch_map.h -- 2.17.1