Received: by 2002:a05:7412:251c:b0:e2:908c:2ebd with SMTP id w28csp1313645rda; Mon, 23 Oct 2023 08:51:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEWIuGcoNRczXoewBBr3jO4tYbjp3coGIMljYJHDypBwxBIxCDImCNTu9zjy9zmtVLXEZcz X-Received: by 2002:a05:6a21:99aa:b0:173:f8c9:94ef with SMTP id ve42-20020a056a2199aa00b00173f8c994efmr12378028pzb.41.1698076271712; Mon, 23 Oct 2023 08:51:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698076271; cv=none; d=google.com; s=arc-20160816; b=gWKcmtnhrrkwAweyPFPilShR5mEsirRnAWDLdfMXJ8mJ6y4w0alh8I1sMKL2zHCxts eazk4eC6tGjioB2GSBv9fEiWKqY88WweEy/4/eSCO+69h3nB02D/ppx24B8DKyzfzRyK TRpT3wUxK1KNdlZSeZnpLwCrZBhaQmJ9IdMRvBme4tXml5p70eJWkMP1Ay3jugE+F/Oa qTZZfPSx+1bWUzRIRRxTpEbzW2QQTL9Un30uceGflnWClz58x5hpa9jqN2mCstT4c/sT Kvimsh7ZVZ4yYMErvnSKeHTbE6RwTVKCefXzZeixd0DxVzLuou7DheYIJupUXuJrpzKr BwQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=yuCpGuToREVg41/lmByogXykAGaEM+x67Szl0gpgQI4=; fh=zFiaEL/+7oOUDknpaiQAT565P9dhSq3/yGTcIE1bbjs=; b=xvXfH39qP3uGpAghc08qPTWzlXQ9hsQGTSxNZOfcxxJFxOF3sIdRMPmw6ebyZh6Bu/ BwXJr93ql6f/5shic7p7aju+ykxS30o4I17xsP1KSJ0g5hWMSOp29gpH8bIBx3GN97sM eWOaXTAnXkGMt0fGQOnSflRHr6rVL/vcwlaESk/6kRA5QZJn6Kzzq0upUriD+n3CyrS8 exZzcHkay+pMWZ1WQ6JVyo3/a4MvaM3jZDbHZpNRlgGnw/LARdes2G0e6YNznM94av5u mSvHwGwWumJDMQ2foMvdtvzSDv9Vy6JJk/ptLfOsXfIEKZKBf2+IvdoJEl7KVsqdmbwR Ccxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=dv9Llfqi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id d63-20020a633642000000b005ac13270364si6654589pga.732.2023.10.23.08.51.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Oct 2023 08:51:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=dv9Llfqi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id E7F4E8097153; Mon, 23 Oct 2023 08:50:55 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233589AbjJWPuY (ORCPT + 99 others); Mon, 23 Oct 2023 11:50:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53702 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232426AbjJWPuP (ORCPT ); Mon, 23 Oct 2023 11:50:15 -0400 Received: from relay8-d.mail.gandi.net (relay8-d.mail.gandi.net [IPv6:2001:4b98:dc4:8::228]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D2A8F127; Mon, 23 Oct 2023 08:50:10 -0700 (PDT) Received: by mail.gandi.net (Postfix) with ESMTPSA id E2FB91BF208; Mon, 23 Oct 2023 15:50:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1698076208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=yuCpGuToREVg41/lmByogXykAGaEM+x67Szl0gpgQI4=; b=dv9LlfqineMcniEywwvOfYShADtiCDoO0eYL7fzbATZnKBu6/rlUCyAqxZgleo5oEcl1ES r18R4RouunwSRtYbFHhFN1R+lQDGfZ0IiTh5EquLEEFMmkPldMWSjCMxL/YEDBR9sHlJ6M F3lLF8udVJPbXd9tfc5YE5RTYO0KLBmlyDQCgDA+r3/OYouvO8ttr8RntvnCqpnMxuH7SU Pxter4DPidWvxDkzbrtMPZyw322PT4kS18O1CRAMF3Syir1XKbYKUCAlLpAKeFk8JPeUzp z1/RELsDbPl0ESyjqMSXD4Mxqcf43k1j2yOMY2RABxceE8Lg9/MBQfJy5l+kyQ== From: Romain Gantois To: davem@davemloft.net, Rob Herring , Krzysztof Kozlowski Cc: Romain Gantois , Jakub Kicinski , Eric Dumazet , Paolo Abeni , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, thomas.petazzoni@bootlin.com, Andrew Lunn , Florian Fainelli , Heiner Kallweit , Russell King , linux-arm-kernel@lists.infradead.org, Vladimir Oltean , Luka Perkov , Robert Marko , Andy Gross , Bjorn Andersson , Konrad Dybcio , Maxime Chevallier Subject: [PATCH net-next 1/5] net: dt-bindings: Introduce the Qualcomm IPQESS Ethernet switch Date: Mon, 23 Oct 2023 17:50:08 +0200 Message-ID: <20231023155013.512999-2-romain.gantois@bootlin.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231023155013.512999-1-romain.gantois@bootlin.com> References: <20231023155013.512999-1-romain.gantois@bootlin.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-GND-Sasl: romain.gantois@bootlin.com X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Mon, 23 Oct 2023 08:50:56 -0700 (PDT) Add the DT binding for the IPQESS Ethernet switch subsystem, that integrates a modified QCA8K switch and an EDMA MAC controller. It inherits from a basic ethernet switch binding and adds three regmaps, a phandle and reset line for the PSGMII, a phandle to the MDIO bus, a clock, and 32 interrupts. Signed-off-by: Romain Gantois --- .../bindings/net/qcom,ipq4019-ess.yaml | 152 ++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/qcom,ipq4019-ess.yaml diff --git a/Documentation/devicetree/bindings/net/qcom,ipq4019-ess.yaml b/Documentation/devicetree/bindings/net/qcom,ipq4019-ess.yaml new file mode 100644 index 000000000000..9bb6b010ea6a --- /dev/null +++ b/Documentation/devicetree/bindings/net/qcom,ipq4019-ess.yaml @@ -0,0 +1,152 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/qcom,ipq4019-ess.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm IPQ4019 Ethernet switch subsystem driver + +maintainers: + - Romain Gantois + +$ref: ethernet-switch.yaml# + +properties: + compatible: + const: qca,ipq4019-qca8337n + + reg: + maxItems: 3 + description: Base ESS registers, PSGMII registers and EDMA registers + + reg-names: + maxItems: 3 + + resets: + maxItems: 2 + description: Handles to the PSGMII and ESS reset lines + + reset-names: + maxItems: 2 + + clocks: + maxItems: 1 + description: Handle to the GCC ESS clock + + clock-names: + maxItems: 1 + + psgmii-ethphy: + maxItems: 1 + description: Handle to the MDIO bus node corresponding to the PSGMII + + mdio: + maxItems: 1 + description: Handle to the IPQ4019 MDIO Controller + + interrupts: + maxItems: 32 + description: One interrupt per tx and rx queue, the first 16 are rx queues + and the last 16 are the tx queues + +required: + - compatible + - reg + - reg-names + - resets + - reset-names + - clocks + - clock-names + - mdio + - interrupts + +unevaluatedProperties: false + +examples: + - | + #include + #include + switch: switch@c000000 { + compatible = "qca,ipq4019-qca8337n"; + reg = <0xc000000 0x80000>, <0x98000 0x800>, <0xc080000 0x80000>; + reg-names = "base", "psgmii_phy", "edma"; + resets = <&gcc ESS_PSGMII_ARES>, <&gcc ESS_RESET>; + reset-names = "psgmii_rst", "ess"; + clocks = <&gcc GCC_ESS_CLK>; + clock-names = "ess"; + mdio = <&mdio>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + swport1: port@1 { /* MAC1 */ + reg = <1>; + label = "lan1"; + phy-handle = <ðphy0>; + phy-mode = "psgmii"; + }; + + swport2: port@2 { /* MAC2 */ + reg = <2>; + label = "lan2"; + phy-handle = <ðphy1>; + phy-mode = "psgmii"; + }; + + swport3: port@3 { /* MAC3 */ + reg = <3>; + label = "lan3"; + phy-handle = <ðphy2>; + phy-mode = "psgmii"; + }; + + swport4: port@4 { /* MAC4 */ + reg = <4>; + label = "lan4"; + phy-handle = <ðphy3>; + phy-mode = "psgmii"; + }; + + swport5: port@5 { /* MAC5 */ + reg = <5>; + label = "wan"; + phy-handle = <ðphy4>; + phy-mode = "psgmii"; + }; + }; + }; + +... -- 2.42.0