Received: by 2002:a5d:9c59:0:0:0:0:0 with SMTP id 25csp289108iof; Mon, 6 Jun 2022 03:36:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxYp9XZbBTCOyHRtsdAIC5YREUx9uFSbiYdj6y8qazE3eSTzrx3j7paNE5qN6j7PdDOs/dA X-Received: by 2002:a17:902:ea0f:b0:164:1a71:bef1 with SMTP id s15-20020a170902ea0f00b001641a71bef1mr23471687plg.52.1654511796747; Mon, 06 Jun 2022 03:36:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654511796; cv=none; d=google.com; s=arc-20160816; b=rgDn+FczABo9RdQeZY4/+F61P84bnYnihJztenNbwANzH6IjMLstNI7GutKof17gT1 3Oxu9aPRkDEHZ9oxAJtMcPPa4i3n1viOwd/U20HN9JqVAtZsoxuT9sDLDi0/AbLueVaG y9C63Ca/wuWeMALYuxnkGsriN/dvSImANuOsfZ0N+IuisGyBA0hHQsIRaUjLlH578Gv+ ZF+qUMvEi+s8APOO55I4wrocSdgtqkoC/ZKKD0hhGh32WTcVf0lt/BVR5I1mSMbPBRI/ 8oLQ9WKIjHJH2CGbUeip/nMlpT7lnqrU+aqOMejQcjec1RYwx4jVsvIeyAF/34J123Yz xysQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=/rP72ndeb3XJeLv7/6nfR2MkmciPGoTOZHeBxkMPBWk=; b=yOjRwBQ8XgQzcdlBi9sA9gyLJhx8K+x2URoXnRr2TEsyUktS59QcrKhHk1Xnp5wwtn NJ6Lxg2pKC/tadjndW90PGKaU7AxEguTwW0xoeptTLLZZe1XRlm5PhdCza7K0NgooKpW xV9Os+C9+aADaGOY0Ks4IZm1/wmzr3ijoztUPD6ZDwXDHDCG1/DAGIGuikxHibVV5krp ieXXf9+ddW33zbgu4ef6blI7baelsbus5+KmVQTlinpn8qRCVHY2bmzaODFyK4avPVEx R1c29vKcu12zgMvg9Ngm2Ay4iGT3ZB1GnZn2By1J84XdRXsVAhVs9NGomPC8oqZb+dKx YEng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zE1cu8vk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id j6-20020a17090a7e8600b001e09b7beb09si18020160pjl.49.2022.06.06.03.36.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jun 2022 03:36:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zE1cu8vk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 22F19C0E; Mon, 6 Jun 2022 03:17:19 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233715AbiFFKRA (ORCPT + 99 others); Mon, 6 Jun 2022 06:17:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51882 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233668AbiFFKO5 (ORCPT ); Mon, 6 Jun 2022 06:14:57 -0400 Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [IPv6:2a00:1450:4864:20::630]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9929C70938 for ; Mon, 6 Jun 2022 03:12:26 -0700 (PDT) Received: by mail-ej1-x630.google.com with SMTP id u12so27956303eja.8 for ; Mon, 06 Jun 2022 03:12:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=/rP72ndeb3XJeLv7/6nfR2MkmciPGoTOZHeBxkMPBWk=; b=zE1cu8vksSD/kISbvDwjuFoyt4y05QoS7lK1CwWbsaBABs5APNVz0OwXzQsjPuD3NQ RbBc9OLILFKbE4vokDxEHTjfnFqyUJ6tB9ZQh8heIa5/OMQMp3AwfPOHzuxwx40FMxqr d46Hoc/uwMbnQ6ZJhTRg3WkG3enjJjDigkFM/ggGP+/NqJJ25v3YI2VcFBmpb5GAcHou f0vsDQbe8BVBoWu1E8IQkgvyVlpjTZflWFm8n8fAQylFs4pOUAu0Bc69g7RVWqJ4mB9o 7F2pOm6hoFjr1VyJ6Sn2raZt74+jKjWY06XxncvXHIsGEA3aTyIfySA4u2fHms6kifGs HS5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=/rP72ndeb3XJeLv7/6nfR2MkmciPGoTOZHeBxkMPBWk=; b=mXRyt3XxG+RDmvECyf/4lAgRSFjeFi6GrI1gjeqGWzCt866UabKwFRKgR9UbRadJvr LDWaJcEUuyMuf6icbYiBtFwO1igyeQ61cG96gYVRl4WubdVY9hAoIqzJO12yZLVABF06 2wV7rsxPUIDfmAD+3rKSeEb0wf551Pl1chVcPbuLpTSp15swS737S4n1APaU5/VHy+iS Yui0me9aJW5vInLpQYh4eVWn39Ycp2q8tnmJCReSZhXfDAc4GbmQABL4EldNfXCyu8TM 1CnHdEo6Qgo1QZmPRcJgfgOmeoDO1q6+B99bZCMAUo3KYhcd55K2Pz1B/RPGcJ8d0a0i j8EA== X-Gm-Message-State: AOAM53095KovTJXGkilFlGnPVHnvuRkvbMReKdHlDGW6DTv2e1bCZeqZ 633/kRb9dqYfaRnWxLUb/f8xj9JKWpNCJw== X-Received: by 2002:a17:907:8a11:b0:6ff:d8c:eff with SMTP id sc17-20020a1709078a1100b006ff0d8c0effmr21340067ejc.659.1654510344640; Mon, 06 Jun 2022 03:12:24 -0700 (PDT) Received: from [192.168.0.181] (xdsl-188-155-176-92.adslplus.ch. [188.155.176.92]) by smtp.gmail.com with ESMTPSA id f24-20020a05640214d800b0042617ba63basm8290577edx.68.2022.06.06.03.12.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 06 Jun 2022 03:12:24 -0700 (PDT) Message-ID: <0ad94a8f-eec7-ab76-3b2d-99d4d3fbf21b@linaro.org> Date: Mon, 6 Jun 2022 12:12:22 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [PATCH v2 1/5] dt-bindings: pci: Add ARTPEC-8 PCIe controller Content-Language: en-US To: wangseok.lee@samsung.com, "robh+dt@kernel.org" , "krzk+dt@kernel.org" , "kishon@ti.com" , "vkoul@kernel.org" , "linux-kernel@vger.kernel.org" , "jesper.nilsson@axis.com" , "lars.persson@axis.com" Cc: "bhelgaas@google.com" , "linux-phy@lists.infradead.org" , "linux-pci@vger.kernel.org" , "devicetree@vger.kernel.org" , "lorenzo.pieralisi@arm.com" , "kw@linux.com" , "linux-arm-kernel@axis.com" , "kernel@axis.com" , Moon-Ki Jun , Sang Min Kim , Dongjin Yang References: <20220603015431epcms2p6203908cebe6a320854136559a32b54cb@epcms2p6> <20220603022353epcms2p5d83a4a7d95584ce6a65a63356cd46e76@epcms2p5> From: Krzysztof Kozlowski In-Reply-To: <20220603022353epcms2p5d83a4a7d95584ce6a65a63356cd46e76@epcms2p5> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,NICE_REPLY_A,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 On 03/06/2022 04:23, Wangseok Lee wrote: > Add description to support Axis, ARTPEC-8 SoC. > ARTPEC-8 is the SoC platform of Axis Communications > and PCIe controller is designed based on Design-Ware PCIe controller. > > changes since v1 : Changelog goes after --- . > -'make dt_binding_check' result improvement > -Add the missing property list > -Align the indentation of continued lines/entries > > Signed-off-by: Wangseok Lee > --- > .../bindings/pci/axis,artpec8-pcie-ep.yaml | 108 ++++++++++++++++++ > .../devicetree/bindings/pci/axis,artpec8-pcie.yaml | 123 +++++++++++++++++++++ > 2 files changed, 231 insertions(+) > create mode 100644 Documentation/devicetree/bindings/pci/axis,artpec8-pcie-ep.yaml > create mode 100644 Documentation/devicetree/bindings/pci/axis,artpec8-pcie.yaml > > diff --git a/Documentation/devicetree/bindings/pci/axis,artpec8-pcie-ep.yaml b/Documentation/devicetree/bindings/pci/axis,artpec8-pcie-ep.yaml > new file mode 100644 > index 0000000..3512e38 > --- /dev/null > +++ b/Documentation/devicetree/bindings/pci/axis,artpec8-pcie-ep.yaml > @@ -0,0 +1,108 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/pci/axis,artpec8-pcie-ep.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: ARTPEC-8 SoC PCIe Controller Device Tree Bindings s/Device Tree Bindings// > + > +maintainers: > + - Jesper Nilsson > + > +description: |+ > + This PCIe end-point controller is based on the Synopsys DesignWare PCIe IP > + and thus inherits all the common properties defined in snps,dw-pcie-ep.yaml. > + > +allOf: > + - $ref: /schemas/pci/snps,dw-pcie-ep.yaml# > + > +properties: > + compatible: > + const: axis,artpec8-pcie-ep > + > + reg: > + items: > + - description: Data Bus Interface (DBI) registers. > + - description: Data Bus Interface (DBI2) registers. > + - description: PCIe address space region. > + > + reg-names: > + items: > + - const: dbi > + - const: dbi2 > + - const: addr_space > + > + interrupts: > + maxItems: 1 > + > + interrupts-names: > + items: > + - const: intr Remove the interrupts-names entirely, no need for single item with generic name. > + > + clocks: > + items: > + - description: PIPE clock, used by the controller to clock the PIPE > + - description: PCIe dbi clock, ungated version > + - description: PCIe master clock, ungated version > + - description: PCIe slave clock, ungated version > + > + clock-names: > + items: > + - const: pipe_clk > + - const: dbi_clk > + - const: mstr_clk > + - const: slv_clk Remove "_clk" suffix from all entries. > + > + phys: > + maxItems: 1 > + > + phy-names: > + items: > + - const: pcie_phy Remove the phy-names entirely, no need for single item with generic name. > + > + num-lanes: > + const: 2 > + > +required: My comment was not applied here, so please fix it. > + - reg > + - reg-names > + - interrupts > + - interrupt-names > + - clocks > + - clock-names > + - phys > + - num-lanes > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include > + #include > + > + artpec8 { Generic nodes please. Did you see "artpec8" or something like this in any DTS? > + #address-cells = <2>; > + #size-cells = <2>; > + pcie_ep: pcie-ep@17200000 { > + compatible = "axis,artpec8-pcie-ep"; > + reg = <0x0 0x17200000 0x0 0x1000>, > + <0x0 0x17201000 0x0 0x1000>, > + <0x2 0x00000000 0x6 0x00000000>; > + reg-names = "dbi", "dbi2", "addr_space"; > + #interrupt-cells = <1>; > + interrupts = ; > + interrupt-names = "intr"; > + clocks = <&clock_cmu_fsys 39>, > + <&clock_cmu_fsys 38>, > + <&clock_cmu_fsys 37>, > + <&clock_cmu_fsys 36>; > + clock-names = "pipe_clk", "dbi_clk", "mstr_clk", "slv_clk"; > + phys = <&pcie_phy>; > + phy-names = "pcie_phy"; > + num-lanes = <2>; > + bus-range = <0x00 0xff>; > + num-ib-windows = <16>; > + num-ob-windows = <16>; > + }; > + }; > +... > diff --git a/Documentation/devicetree/bindings/pci/axis,artpec8-pcie.yaml b/Documentation/devicetree/bindings/pci/axis,artpec8-pcie.yaml > new file mode 100644 > index 0000000..945a061 > --- /dev/null > +++ b/Documentation/devicetree/bindings/pci/axis,artpec8-pcie.yaml > @@ -0,0 +1,123 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/pci/axis,artpec8-pcie.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Artpec-8 SoC PCIe Controller Device Tree Bindings Ditto > + > +maintainers: > + - Jesper Nilsson > + > +description: |+ > + This PCIe host controller is based on the Synopsys DesignWare PCIe IP > + and thus inherits all the common properties defined in snps,dw-pcie.yaml. > + > +allOf: > + - $ref: /schemas/pci/snps,dw-pcie.yaml# > + > +properties: > + compatible: > + const: axis,artpec8-pcie > + > + reg: > + items: > + - description: Data Bus Interface (DBI) registers. > + - description: External Local Bus interface (ELBI) registers. > + - description: PCIe configuration space region. > + > + reg-names: > + items: > + - const: dbi > + - const: elbi > + - const: config > + > + device_type: > + items: It's not a list, but just a string. No need for items. > + - const: pci > + > + ranges: > + maxItems: 2 > + > + num-lanes: > + const: 2 > + > + interrupts: > + maxItems: 1 > + > + interrupts-names: > + items: > + - const: intr Remove entire property. > + > + clocks: > + items: > + - description: PIPE clock, used by the controller to clock the PIPE > + - description: PCIe dbi clock, ungated version > + - description: PCIe master clock, ungated version > + - description: PCIe slave clock, ungated version > + > + clock-names: > + items: > + - const: pipe_clk > + - const: dbi_clk > + - const: mstr_clk > + - const: slv_clk Remove suffix. > + > + phys: > + maxItems: 1 > + > + phy-names: > + items: > + - const: pcie_phy Remove entire property. > + > +required: Previous comment not applied. > + - reg > + - reg-names > + - device_type > + - ranges > + - num-lanes > + - interrupts > + - interrupt-names > + - clocks > + - clock-names > + - phys > + - phy-names > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include > + #include > + > + artpec8 { Same as previous patch. > + #address-cells = <2>; > + #size-cells = <2>; > + pcie: pcie@17200000 { > + compatible = "axis,artpec8-pcie"; > + reg = <0x0 0x17200000 0x0 0x1000>, > + <0x0 0x16ca0000 0x0 0x2000>, > + <0x7 0x0001e000 0x0 0x2000>; > + reg-names = "dbi", "elbi", "config"; > + #address-cells = <3>; > + #size-cells = <2>; > + device_type = "pci"; > + ranges = + 0x83000000 0x0 0x0000000 0x2 0x00000000 0x5 0x00000000 > + /* downstream I/O */ > + 0x81000000 0x0 0x0000000 0x7 0x00000000 0x0 0x00010000>; > + num-lanes = <2>; > + bus-range = <0x00 0xff>; > + interrupts = ; > + interrupt-names = "intr"; > + #interrupt-cells = <1>; > + clocks = <&cmu_fsys 39>, > + <&cmu_fsys 38>, > + <&cmu_fsys 37>, > + <&cmu_fsys 36>; > + clock-names = "pipe_clk", "dbi_clk", "mstr_clk", "slv_clk"; > + phys = <&pcie_phy>; > + phy-names = "pcie_phy"; > + }; > + }; > +... Best regards, Krzysztof