From patchwork Wed Aug 25 12:46:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Stanley X-Patchwork-Id: 502307 Delivered-To: patch@linaro.org Received: by 2002:a02:6f15:0:0:0:0:0 with SMTP id x21csp572379jab; Wed, 25 Aug 2021 05:47:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzyQcICindYC7mxlGhHsd3aJNhE39e7wmphEFa08IPFoNhltEFXnJKUDdtP5dZ/MwwNeRyR X-Received: by 2002:a05:6638:419a:: with SMTP id az26mr38937915jab.70.1629895637326; Wed, 25 Aug 2021 05:47:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629895637; cv=none; d=google.com; s=arc-20160816; b=kM72toutKmd0JQNrXcNETlIiSLrNxm04xCQ9q9OgwxL7LcTvZmE+6ZfkvSUaMvA3oY gPYJhxwcb2ruaHGjOsh4B+AklnaKK+iUYUKFQrGF/UstcC6EivQQpFd5zrWCFwyCV19v oziLaqv6ilvcrzW4DQCa0lT+liiBt80F6qaW+f5Z6gah1vayY1VxwEZtSQ0OQ1B5J2dx delAKDZF1PW4PcO9mNL/3gnhkob4TKKokUGLpvzs2IjhPbsN+e5dBZo+zWh04HFipGQM wJCywP+NEpu2zSEZPLZ5VxNKE8lyKDUm/Lr14Ox2ZAo2Dqe7M2N27Ayf+V/sUE9n5h8e 5+WQ== 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:sender :dkim-signature; bh=5LJeSUKrUYXrv15wuA7EAZJbrwJDLvOeKqmFzdUbk/I=; b=vgonq2rVN4xMZU4DciXMLQSfq/Sp63t9NTEYYFDJwj9zlGU/6El8WiHZwiFw4ujuCC lnCVNhJPzvK1/PIopa+DZYIUjzvJkb5hZKiBKAT8nW0hDnd8ihUlFVMLqyCcetcPP78M /7qrBxvM3JXqG5sDRsS5krPWfu17dlylbe1Lp2Nc/2Swd50pEVN2Ia3RUecRL9A/ll5v O3tmoN//7AEhnLSh1SNljU43gyC1vbRVltT1q6DnTJRwtii3E6v6OUcDhSGA4xrY3dbg j6O+LXcOUlwEYx5QkjpAvUtzJMyQBJ7rz4iahGb0Jh5ziumRPVTgHOcPDWfg+HgE/KQz QbWg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=JGk+VaGW; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p14si17169098iov.81.2021.08.25.05.47.17; Wed, 25 Aug 2021 05:47:17 -0700 (PDT) Received-SPF: pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=JGk+VaGW; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229873AbhHYMsB (ORCPT + 7 others); Wed, 25 Aug 2021 08:48:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45266 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240915AbhHYMsB (ORCPT ); Wed, 25 Aug 2021 08:48:01 -0400 Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A6A67C0613CF; Wed, 25 Aug 2021 05:47:15 -0700 (PDT) Received: by mail-pf1-x42a.google.com with SMTP id x16so21173127pfh.2; Wed, 25 Aug 2021 05:47:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5LJeSUKrUYXrv15wuA7EAZJbrwJDLvOeKqmFzdUbk/I=; b=JGk+VaGW2Rgb8F1fNUJQphreHVU11FTII8bsFMCFlG5y8lYM9LMEcsBxYRVvFWGFwj OHfj/Q1f2NrjTdUlWCPZhOPmndd8lDD3GypVOekQd4p95kGqX3B3XEjN0hBGP8eEnxuz FwQpqJZie7SQVphPfHMomnr53Cm3oyraUVUBMz4b+KBrVagfSrbP9s4E3EUkZxFAeyE9 g76BKoIQbjGzcRnf5Mr0hxfmizDeoYY3bvphk8FZOizbq8T4gbkJRUdhlf9gMLWUSVig e4pdMTFKrjHWZJGRitPBRoFUEdPS3Lo3sDCJRaKBFTkjOKDHQiw/YnAimrufWpMV1NN3 3S/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=5LJeSUKrUYXrv15wuA7EAZJbrwJDLvOeKqmFzdUbk/I=; b=LvYnee1w37OZsm53zpGZ0J9tM8xKZuIJRCNyA0Dcr22DZgqAwoYSH7ReemRiOHG1sp le5powWOLGQjSrNQms0DUi7gLiC9f2jSj0GqMCQgM0uwwYxjPoIEAqiEbjc8JvGtqJbr hR6BRzBVzLZldkVljNH4yq5iRsE9yoe/q35SMSPnnErTs8eTr6aCvP/EPrZoZkkticHU +GRbUBFYY8QCEcFMWHdmqXru4ZUYKrZdE3lcZND8Za+TbJw40hRuF7ZyPoFnuZUZ2MhL 2W8oJuY0LaQfR2TcdMPgijaTHSdz1oVuMAEfRMu0Eq03w/r45rU9VfRblTKaez1a2wwd Uerw== X-Gm-Message-State: AOAM531V3yzAUdE5/BPbBFpmUGrCHeG0ebVdFyy5GU1f0kAOQhakGr5Y 6GK4dOMuiEAEOz5fmu+idmY= X-Received: by 2002:a63:2243:: with SMTP id t3mr41347021pgm.114.1629895635138; Wed, 25 Aug 2021 05:47:15 -0700 (PDT) Received: from localhost.localdomain ([45.124.203.15]) by smtp.gmail.com with ESMTPSA id s16sm21511301pfk.185.2021.08.25.05.47.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 05:47:14 -0700 (PDT) Sender: "joel.stan@gmail.com" From: Joel Stanley To: "David S . Miller" , Jakub Kicinski , Rob Herring Cc: Karol Gugala , Mateusz Holenko , devicetree@vger.kernel.org, Florent Kermarrec , "Gabriel L . Somlo" , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 1/2] dt-bindings: net: Add bindings for LiteETH Date: Wed, 25 Aug 2021 22:16:54 +0930 Message-Id: <20210825124655.3104348-2-joel@jms.id.au> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210825124655.3104348-1-joel@jms.id.au> References: <20210825124655.3104348-1-joel@jms.id.au> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org LiteETH is a small footprint and configurable Ethernet core for FPGA based system on chips. The hardware is parametrised by the size and number of the slots in it's receive and send buffers. These are described as properties, with the commonly used values set as the default. Signed-off-by: Joel Stanley --- v2: - Fix dtschema check warning relating to registers - Add names to the registers to make it easier to distinguish which is what region - Add mdio description - Include ethernet-controller parent description v3: - Define names for reg-names - update example to match common case - describe the hardware using slots and slot sizes. This is how the hardware is pramaterised, and it makes more sense than trying to use the rx/tx-fifo-size properties --- .../bindings/net/litex,liteeth.yaml | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/litex,liteeth.yaml -- 2.33.0 Reviewed-by: Rob Herring diff --git a/Documentation/devicetree/bindings/net/litex,liteeth.yaml b/Documentation/devicetree/bindings/net/litex,liteeth.yaml new file mode 100644 index 000000000000..62911b8e913c --- /dev/null +++ b/Documentation/devicetree/bindings/net/litex,liteeth.yaml @@ -0,0 +1,100 @@ +# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/litex,liteeth.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: LiteX LiteETH ethernet device + +maintainers: + - Joel Stanley + +description: | + LiteETH is a small footprint and configurable Ethernet core for FPGA based + system on chips. + + The hardware source is Open Source and can be found on at + https://github.com/enjoy-digital/liteeth/. + +allOf: + - $ref: ethernet-controller.yaml# + +properties: + compatible: + const: litex,liteeth + + reg: + minItems: 3 + items: + - description: MAC registers + - description: MDIO registers + - description: Packet buffer + + reg-names: + minItems: 3 + items: + - const: mac + - const: mdio + - const: buffer + + interrupts: + maxItems: 1 + + litex,rx-slots: + description: Number of slots in the receive buffer + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 1 + default: 2 + + litex,tx-slots: + description: Number of slots in the transmit buffer + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 1 + default: 2 + + litex,slot-size: + description: Size in bytes of a slot in the tx/rx buffer + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 0x800 + default: 0x800 + + mac-address: true + local-mac-address: true + phy-handle: true + + mdio: + $ref: mdio.yaml# + +required: + - compatible + - reg + - interrupts + +additionalProperties: false + +examples: + - | + mac: ethernet@8020000 { + compatible = "litex,liteeth"; + reg = <0x8021000 0x100>, + <0x8020800 0x100>, + <0x8030000 0x2000>; + reg-names = "mac", "mdio", "buffer"; + litex,rx-slots = <2>; + litex,tx-slots = <2>; + litex,slot-size = <0x800>; + interrupts = <0x11 0x1>; + phy-handle = <ð_phy>; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + + eth_phy: ethernet-phy@0 { + reg = <0>; + }; + }; + }; +... + +# vim: set ts=2 sw=2 sts=2 tw=80 et cc=80 ft=yaml :