Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp762016iog; Fri, 24 Jun 2022 13:35:20 -0700 (PDT) X-Google-Smtp-Source: AGRyM1uCgFJxMVnt6uqjQBmavp5KlNkPdkvS7A6tvJyLQ7Uu794Y9qGfrGbEuMD9+k11eMVxEbZp X-Received: by 2002:a05:6a00:22ce:b0:525:53f7:24a9 with SMTP id f14-20020a056a0022ce00b0052553f724a9mr798137pfj.54.1656102920233; Fri, 24 Jun 2022 13:35:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656102920; cv=none; d=google.com; s=arc-20160816; b=sLBjtgRQzppbEbuOShKqkciu8gwPTuzTu69fGp72GBuQPKxGCWVpk1irW0O5N4C3LX oZJU55sNwa+RE0q01yNcmwiE/fvpUAXXpz5G5w3yfMVCj217ni3fhQbiOI+hq/SCiy1E VJxmQrmQmLiOtMuS2oZpe4/BojIMAzFTkW3uPWuEu5GUqiHUMabxj1N+hSLgzebD04ik 6NBo06rYXD8pkXNQRul80zD+qQq9SuLaFWc+9vPJ+ztaahaI3iRP1ffutH1pcsggC5/I 0YmJ122YU2NJ73IV+DHgYAx9HUu8aOv86pXL94n/SCQbwEIwhiJSVAGfY+HdEGey641s 4dWQ== 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; bh=q8o7VIcPSEUJGhsbnCAFWgEHCiYgd/cxUwP8lwv0TTw=; b=bPGFo24dEEAcbkj9sXfLThiZbz/a/SCXS3CYaUHV+RvEhUDWqO0aNhHp7dTokqdRZw MGiokerFfwepIErOdjmEHNm96fM3ejGvS4I8/40pOaGBQfm7wawwrO+Ly6cfhjxb0NrD hIskJj5UkB4O9U2RBCFytaBZfdkUvclyEXj01SamEUSRnN6wDFx9mxxdbZ+eaqC7psQj Fz80EjaVZ4C5SLRexgN4rNHcZYgqVFut7sWwUER+HbaC1+tDMlBWUn+IP8pkQI4BiJ0s 3xnIBaCMNjch7BoBUETtzJsOiFQIz4iFf4KQGP3LW3r/hf0pc+lN7lyv7+oKCvHdK+/B SWaw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=analog.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y19-20020aa79433000000b005254e98b56csi3797954pfo.153.2022.06.24.13.35.07; Fri, 24 Jun 2022 13:35:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=analog.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231304AbiFXTwT (ORCPT + 99 others); Fri, 24 Jun 2022 15:52:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42886 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230421AbiFXTwP (ORCPT ); Fri, 24 Jun 2022 15:52:15 -0400 Received: from mx0a-00128a01.pphosted.com (mx0a-00128a01.pphosted.com [148.163.135.77]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 50CC6826AD; Fri, 24 Jun 2022 12:52:14 -0700 (PDT) Received: from pps.filterd (m0167089.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 25OJgSEq024142; Fri, 24 Jun 2022 15:51:44 -0400 Received: from nwd2mta3.analog.com ([137.71.173.56]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 3gvemnmxj2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 24 Jun 2022 15:51:44 -0400 Received: from ASHBMBX9.ad.analog.com (ASHBMBX9.ad.analog.com [10.64.17.10]) by nwd2mta3.analog.com (8.14.7/8.14.7) with ESMTP id 25OJphZD023659 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 24 Jun 2022 15:51:43 -0400 Received: from ASHBCASHYB4.ad.analog.com (10.64.17.132) by ASHBMBX9.ad.analog.com (10.64.17.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14; Fri, 24 Jun 2022 15:51:42 -0400 Received: from ASHBMBX9.ad.analog.com (10.64.17.10) by ASHBCASHYB4.ad.analog.com (10.64.17.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14; Fri, 24 Jun 2022 15:51:42 -0400 Received: from zeus.spd.analog.com (10.66.68.11) by ashbmbx9.ad.analog.com (10.64.17.10) with Microsoft SMTP Server id 15.2.986.14 via Frontend Transport; Fri, 24 Jun 2022 15:51:42 -0400 Received: from localhost.localdomain ([10.48.65.12]) by zeus.spd.analog.com (8.15.1/8.15.1) with ESMTP id 25OJpKRC017522; Fri, 24 Jun 2022 15:51:22 -0400 From: To: CC: , , , , , , , , , , , , , , , Subject: [net-next 0/2] net: ethernet: adi: Add ADIN1110 support Date: Fri, 24 Jun 2022 23:06:26 +0300 Message-ID: <20220624200628.77047-1-alexandru.tachici@analog.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Type: text/plain X-ADIRuleOP-NewSCL: Rule Triggered X-Proofpoint-ORIG-GUID: hKDzJUwFkjyCBlL6fnOhEO-LRxVWcYtR X-Proofpoint-GUID: hKDzJUwFkjyCBlL6fnOhEO-LRxVWcYtR X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-06-24_09,2022-06-23_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxlogscore=999 malwarescore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 phishscore=0 adultscore=0 suspectscore=0 mlxscore=0 spamscore=0 clxscore=1011 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2204290000 definitions=main-2206240076 X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham 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 From: Alexandru Tachici The ADIN1110 is a low power single port 10BASE-T1L MAC-PHY designed for industrial Ethernet applications. It integrates an Ethernet PHY core with a MAC and all the associated analog circuitry, input and output clock buffering. ADIN1110 MAC-PHY encapsulates the ADIN1100 PHY. The PHY registers can be accessed through the MDIO MAC registers. We are registering an MDIO bus with custom read/write in order to let the PHY to be discovered by the PAL. This will let the ADIN1100 Linux driver to probe and take control of the PHY. The ADIN2111 is a low power, low complexity, two-Ethernet ports switch with integrated 10BASE-T1L PHYs and one serial peripheral interface (SPI) port. The device is designed for industrial Ethernet applications using low power constrained nodes and is compliant with the IEEE 802.3cg-2019 Ethernet standard for long reach 10 Mbps single pair Ethernet (SPE). The switch supports various routing configurations between the two Ethernet ports and the SPI host port providing a flexible solution for line, daisy-chain, or ring network topologies. The ADIN2111 supports cable reach of up to 1700 meters with ultra low power consumption of 77 mW. The two PHY cores support the 1.0 V p-p operating mode and the 2.4 V p-p operating mode defined in the IEEE 802.3cg standard. The device integrates the switch, two Ethernet physical layer (PHY) cores with a media access control (MAC) interface and all the associated analog circuitry, and input and output clock buffering. The device also includes internal buffer queues, the SPI and subsystem registers, as well as the control logic to manage the reset and clock control and hardware pin configuration. Access to the PHYs is exposed via an internal MDIO bus. Writes/reads can be performed by reading/writing to the ADIN2111 MDIO registers via SPI. On probe, for each port, a struct net_device is allocated and registered. When both ports are added to the same bridge, the driver will enable offloading of frame forwarding at the hardware level. Alexandru Tachici (2): net: ethernet: adi: Add ADIN1110 support dt-bindings: net: adin1110: Add docs .../devicetree/bindings/net/adi,adin1110.yaml | 127 ++ drivers/net/ethernet/Kconfig | 1 + drivers/net/ethernet/Makefile | 1 + drivers/net/ethernet/adi/Kconfig | 28 + drivers/net/ethernet/adi/Makefile | 6 + drivers/net/ethernet/adi/adin1110.c | 1312 +++++++++++++++++ 6 files changed, 1475 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/adi,adin1110.yaml create mode 100644 drivers/net/ethernet/adi/Kconfig create mode 100644 drivers/net/ethernet/adi/Makefile create mode 100644 drivers/net/ethernet/adi/adin1110.c -- 2.25.1