From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2FE90C433FE for ; Wed, 1 Dec 2021 23:25:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343964AbhLAX26 (ORCPT ); Wed, 1 Dec 2021 18:28:58 -0500 Received: from mail-oi1-f170.google.com ([209.85.167.170]:41593 "EHLO mail-oi1-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232038AbhLAX2x (ORCPT ); Wed, 1 Dec 2021 18:28:53 -0500 Received: by mail-oi1-f170.google.com with SMTP id u74so51904400oie.8; Wed, 01 Dec 2021 15:25:32 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=WTjMPCDcvihuyQh1uMy5fkLE4TiLB9ELZo1Z/fdtOEw=; b=WTVFkVslcTWA49+QYlHt62STpwRIzrvjFztO1+AefJx4gqAV6+y0V7gWkIStg8ajw5 HAwzYvYJSSDjl2kfvRtsF4J177BaNt6+UNf2i+rnvjKvrTjRDCGiBfREN4BnkG2V5CFR tDfW4N/uFjmvlhCtjZN06xfahCKQdyk4iqBUyFHBUUpzIBlV+7S5NjO2MEYd2qmHfh2+ mc0AMYmE8EK3WhaRKIl85/TXATrUzRDKRvPfr1RnBYVtkPyjKww8aACsBt3wXW0xA3di uup2GrZP6izEr3G8mYrzZrE3/Ma34wTAw1sq5EI5DV8uraiJaIREYXzdDzdtzF5412gR Xthw== X-Gm-Message-State: AOAM531FcFuhk/UXU2SyjUfHCHpjCY/7ZKTIJT+e8ZyU30MrpjRBlcNa HDopsKz6Fo21SbhLp5YD63i2ZvGttw== X-Google-Smtp-Source: ABdhPJztTIjtw8p6wfPDDYXpZSzufRDbtyNTF/8BLndTPrdzJ33MB5cgnYIg8K+nbzlsmt/oPcwitA== X-Received: by 2002:aca:2b0f:: with SMTP id i15mr1457619oik.114.1638401131619; Wed, 01 Dec 2021 15:25:31 -0800 (PST) Received: from robh.at.kernel.org (66-90-148-213.dyn.grandenetworks.net. [66.90.148.213]) by smtp.gmail.com with ESMTPSA id f20sm686814oiw.48.2021.12.01.15.25.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Dec 2021 15:25:31 -0800 (PST) Received: (nullmailer pid 3176562 invoked by uid 1000); Wed, 01 Dec 2021 23:25:30 -0000 Date: Wed, 1 Dec 2021 17:25:30 -0600 From: Rob Herring To: Geert Uytterhoeven Cc: "David S . Miller" , Jakub Kicinski , Nicolas Ferre , Claudiu Beznea , Palmer Dabbelt , Paul Walmsley , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] dt-bindings: net: cdns,macb: Convert to json-schema Message-ID: References: <104dcbfd22f95fc77de9fe15e8abd83869603ea5.1637927673.git.geert@linux-m68k.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <104dcbfd22f95fc77de9fe15e8abd83869603ea5.1637927673.git.geert@linux-m68k.org> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Nov 26, 2021 at 12:57:00PM +0100, Geert Uytterhoeven wrote: > Convert the Cadence MACB/GEM Ethernet controller Device Tree binding > documentation to json-schema. > > Re-add "cdns,gem" (removed in commit a217d8711da5c87f ("dt-bindings: > Remove PicoXcell bindings")) as there are active users on non-PicoXcell > platforms. > Add missing "ether_clk" clock. > Add missing properties. > > Signed-off-by: Geert Uytterhoeven > --- > .../devicetree/bindings/net/cdns,macb.yaml | 162 ++++++++++++++++++ > .../devicetree/bindings/net/macb.txt | 60 ------- > 2 files changed, 162 insertions(+), 60 deletions(-) > create mode 100644 Documentation/devicetree/bindings/net/cdns,macb.yaml > delete mode 100644 Documentation/devicetree/bindings/net/macb.txt > > diff --git a/Documentation/devicetree/bindings/net/cdns,macb.yaml b/Documentation/devicetree/bindings/net/cdns,macb.yaml > new file mode 100644 > index 0000000000000000..c7d00350430aa503 > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/cdns,macb.yaml > @@ -0,0 +1,162 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/net/cdns,macb.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Cadence MACB/GEM Ethernet controller > + > +maintainers: > + - Nicolas Ferre > + - Claudiu Beznea > + > +properties: > + compatible: > + oneOf: > + - items: > + - enum: > + - cdns,at91rm9200-emac # Atmel at91rm9200 SoC > + - const: cdns,emac # Generic > + > + - items: > + - enum: > + - cdns,zynq-gem # Xilinx Zynq-7xxx SoC > + - cdns,zynqmp-gem # Xilinx Zynq Ultrascale+ MPSoC > + - const: cdns,gem # Generic > + > + - items: > + - enum: > + - cdns,at91sam9260-macb # Atmel at91sam9 SoCs > + - cdns,sam9x60-macb # Microchip sam9x60 SoC > + - const: cdns,macb # Generic > + > + - items: > + - enum: > + - atmel,sama5d3-macb # 10/100Mbit IP on Atmel sama5d3 SoCs > + - enum: > + - cdns,at91sam9260-macb # Atmel at91sam9 SoCs. > + - const: cdns,macb # Generic > + > + - enum: > + - atmel,sama5d29-gem # GEM XL IP (10/100) on Atmel sama5d29 SoCs > + - atmel,sama5d2-gem # GEM IP (10/100) on Atmel sama5d2 SoCs > + - atmel,sama5d3-gem # Gigabit IP on Atmel sama5d3 SoCs > + - atmel,sama5d4-gem # GEM IP (10/100) on Atmel sama5d4 SoCs > + - cdns,at32ap7000-macb # Other 10/100 usage or use the generic form > + - cdns,np4-macb # NP4 SoC devices > + - microchip,sama7g5-emac # Microchip SAMA7G5 ethernet interface > + - microchip,sama7g5-gem # Microchip SAMA7G5 gigabit ethernet interface > + - sifive,fu540-c000-gem # SiFive FU540-C000 SoC > + - cdns,emac # Generic > + - cdns,gem # Generic > + - cdns,macb # Generic > + > + reg: > + minItems: 1 > + items: > + - description: Basic register set > + - description: GEMGXL Management block registers on SiFive FU540-C000 SoC > + > + interrupts: > + minItems: 1 > + maxItems: 8 > + description: One interrupt per available hardware queue > + > + clocks: > + minItems: 1 > + maxItems: 5 > + > + clock-names: > + minItems: 1 > + items: > + - enum: [ ether_clk, hclk, pclk ] > + - enum: [ hclk, pclk ] > + - const: tx_clk > + - enum: [ rx_clk, tsu_clk ] > + - const: tsu_clk > + > + local-mac-address: true > + > + phy-mode: true > + > + phy-handle: true > + > + fixed-link: true > + > + iommus: > + maxItems: 1 > + > + power-domains: > + maxItems: 1 > + > + '#address-cells': > + const: 1 > + > + '#size-cells': > + const: 0 > + > + '#stream-id-cells': > + const: 1 I can't figure out why you have this here. I'll drop it while applying. > + > + mdio: > + type: object > + description: > + Node containing PHY children. If this node is not present, then PHYs will > + be direct children. > + > +patternProperties: > + "^ethernet-phy@[0-9a-f]$": > + type: object > + $ref: ethernet-phy.yaml# > + > + properties: > + reset-gpios: true > + > + magic-packet: > + description: > + Indicates that the hardware supports waking up via magic packet. > + > + unevaluatedProperties: false > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + - phy-mode > + > +allOf: > + - $ref: ethernet-controller.yaml# > + > + - if: > + not: > + properties: > + compatible: > + contains: > + const: sifive,fu540-c000-gem > + then: > + properties: > + reg: > + maxItems: 1 > + > +unevaluatedProperties: false > + > +examples: > + - | > + macb0: ethernet@fffc4000 { > + compatible = "cdns,at32ap7000-macb"; > + reg = <0xfffc4000 0x4000>; > + interrupts = <21>; > + phy-mode = "rmii"; > + local-mac-address = [3a 0e 03 04 05 06]; > + clock-names = "pclk", "hclk", "tx_clk"; > + clocks = <&clkc 30>, <&clkc 30>, <&clkc 13>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + ethernet-phy@1 { > + reg = <0x1>; > + reset-gpios = <&pioE 6 1>; > + }; > + }; > diff --git a/Documentation/devicetree/bindings/net/macb.txt b/Documentation/devicetree/bindings/net/macb.txt > deleted file mode 100644 > index a1b06fd1962e4d93..0000000000000000 > --- a/Documentation/devicetree/bindings/net/macb.txt > +++ /dev/null > @@ -1,60 +0,0 @@ > -* Cadence MACB/GEM Ethernet controller > - > -Required properties: > -- compatible: Should be "cdns,[-]{macb|gem}" > - Use "cdns,at91rm9200-emac" Atmel at91rm9200 SoC. > - Use "cdns,at91sam9260-macb" for Atmel at91sam9 SoCs. > - Use "cdns,sam9x60-macb" for Microchip sam9x60 SoC. > - Use "cdns,np4-macb" for NP4 SoC devices. > - Use "cdns,at32ap7000-macb" for other 10/100 usage or use the generic form: "cdns,macb". > - Use "atmel,sama5d2-gem" for the GEM IP (10/100) available on Atmel sama5d2 SoCs. > - Use "atmel,sama5d29-gem" for GEM XL IP (10/100) available on Atmel sama5d29 SoCs. > - Use "atmel,sama5d3-macb" for the 10/100Mbit IP available on Atmel sama5d3 SoCs. > - Use "atmel,sama5d3-gem" for the Gigabit IP available on Atmel sama5d3 SoCs. > - Use "atmel,sama5d4-gem" for the GEM IP (10/100) available on Atmel sama5d4 SoCs. > - Use "cdns,zynq-gem" Xilinx Zynq-7xxx SoC. > - Use "cdns,zynqmp-gem" for Zynq Ultrascale+ MPSoC. > - Use "sifive,fu540-c000-gem" for SiFive FU540-C000 SoC. > - Use "microchip,sama7g5-emac" for Microchip SAMA7G5 ethernet interface. > - Use "microchip,sama7g5-gem" for Microchip SAMA7G5 gigabit ethernet interface. > - Or the generic form: "cdns,emac". > -- reg: Address and length of the register set for the device > - For "sifive,fu540-c000-gem", second range is required to specify the > - address and length of the registers for GEMGXL Management block. > -- interrupts: Should contain macb interrupt > -- phy-mode: See ethernet.txt file in the same directory. > -- clock-names: Tuple listing input clock names. > - Required elements: 'pclk', 'hclk' > - Optional elements: 'tx_clk' > - Optional elements: 'rx_clk' applies to cdns,zynqmp-gem > - Optional elements: 'tsu_clk' > -- clocks: Phandles to input clocks. > - > -Optional properties: > -- mdio: node containing PHY children. If this node is not present, then PHYs > - will be direct children. > - > -The MAC address will be determined using the optional properties > -defined in ethernet.txt. > - > -Optional properties for PHY child node: > -- reset-gpios : Should specify the gpio for phy reset > -- magic-packet : If present, indicates that the hardware supports waking > - up via magic packet. > -- phy-handle : see ethernet.txt file in the same directory > - > -Examples: > - > - macb0: ethernet@fffc4000 { > - compatible = "cdns,at32ap7000-macb"; > - reg = <0xfffc4000 0x4000>; > - interrupts = <21>; > - phy-mode = "rmii"; > - local-mac-address = [3a 0e 03 04 05 06]; > - clock-names = "pclk", "hclk", "tx_clk"; > - clocks = <&clkc 30>, <&clkc 30>, <&clkc 13>; > - ethernet-phy@1 { > - reg = <0x1>; > - reset-gpios = <&pioE 6 1>; > - }; > - }; > -- > 2.25.1 > >