From patchwork Wed Mar 8 13:27:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Neil Armstrong X-Patchwork-Id: 66242 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp333445wrd; Wed, 8 Mar 2023 05:34:07 -0800 (PST) X-Google-Smtp-Source: AK7set+BXLB6zLaZOK8qw/9/z9p/HcX8we5PzHtTWa35rV7b0cf2DsFYVDxD2WPzxmI4OcEPESX5 X-Received: by 2002:aa7:c0c8:0:b0:4a2:5652:d8ba with SMTP id j8-20020aa7c0c8000000b004a25652d8bamr17967554edp.18.1678282447050; Wed, 08 Mar 2023 05:34:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678282447; cv=none; d=google.com; s=arc-20160816; b=Ak9PtG1B8EQljVujAHr0RzAXQgxv6MlhFcxHqT/oDKRwrVWwRbKO/VzSNYEhkNzSOT p3nZDy2kascjt+GTmRoBWHNc6GhzZEhp4HjnolmNuRYv55TRvkjMpgSx6UmX/yVqPh23 Fr3zm6RaTL/9L1NvYiOlZ9CMiMdNmHrt77Mc59PUO9BS+efTbFh/3qvZo7drS4p/7pFL fRsBWQ/xNRBzYzOKQYfuQLeI55yXZhhZsA/k5bbyrng7UFRHV7kuP0oQMTQt79T5uqxU 81P1lLW6M8JgCjkLGkM/mJI01cG/efXlXNyMCSVKnOwdFiol0HvBJmlfbDzXlK7NCTZW C3qQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=/pQr6KmTdUgnaHE8iXfJ0bvx2pGOLcHh3rodgiE7+Kk=; b=iM7IMSiDAa76XH5T2OZMB0KnH//JAv7ZGMSuxns/x2XQiWZxfJ335bS0sZdti/livI U7ZM1UZNUJ+KucwUZ5YO5LgQ3iNY6LI+DxBhTpdCpnl2Rk3DFICEhZtrk/FUYF8uYapb 4JxJJpISa57KvO4ELJLGyrS0mdeJGUOp2sCQ7QxiiZ0M64ptyQBWXwKjTvWkVEX1kMlQ Hw0ophwp6e00wOcPrkhEuiEUNh09DevOVjYhfv1OOkawHXcX2F5vfLCuh0dmiyMEmgMq E4h806rEK/SmR8GB8pqH9WjnnL9CQ9kXC2kIIUlzJp1TsjkgcbDlgqOuPhtwhRFbGK1M Qiug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mzuVYxo1; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v7-20020aa7d647000000b004ad747f0a8csi4302465edr.309.2023.03.08.05.33.43; Wed, 08 Mar 2023 05:34:07 -0800 (PST) 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; dkim=pass header.i=@linaro.org header.s=google header.b=mzuVYxo1; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231733AbjCHN3m (ORCPT + 99 others); Wed, 8 Mar 2023 08:29:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60138 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231720AbjCHN2v (ORCPT ); Wed, 8 Mar 2023 08:28:51 -0500 Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D456F5ADEA for ; Wed, 8 Mar 2023 05:27:40 -0800 (PST) Received: by mail-wm1-x330.google.com with SMTP id bg16-20020a05600c3c9000b003eb34e21bdfso1309472wmb.0 for ; Wed, 08 Mar 2023 05:27:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1678282059; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=/pQr6KmTdUgnaHE8iXfJ0bvx2pGOLcHh3rodgiE7+Kk=; b=mzuVYxo1IvHxz+PDOTRQzHmSEPVCuAzHaarvBZtqx/b6RCUBM03s+6D/bJbEtX8RBS GMHxwXRXj/e0plcItRiNo9qtrBhVfEHJGhSoOoHI5kN0gEraILEBRCgyB7H1hZGUZVdp H3NZCjYMJQ77q1rfZtnw/t0gUUBcOOujflGwAO7spKxh/fClm+dHtPDqgv3BdR5zA5nv M/HUNRGrRB1f5/wSfpyY4r28hhB9gYo9Pxh+RErcf4TU7BpKekvITIFemlLtXuCEvVCP N0esRn6MamONGC3XlZ1SrNMxFOudh0nCyeOOotz/Ldvd1p1onTIdia9aEot3QpCzOkDR 2XyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678282059; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/pQr6KmTdUgnaHE8iXfJ0bvx2pGOLcHh3rodgiE7+Kk=; b=2WOyUWKNH8HENtMxCGyymL/Jw6bIhTiFyS4h8wKh9OU9o2BDvSdiZ68V6c6e35p6JE O1zLCZcFyPumcZeOqFatOcTHSKq1qBoD6fuBIUhuyspVUGncc3norHW2utL92kgKobhD 0bEL0cbxKDrNcHrOBnak8F8MSmOexEl6W8AMLYwiijDXt0LVpovBVxEF7ldbkCIwEhqg OZK1EZuFZQd5+JEsePRDfwuXfsO1TwY7rDtQNuFOInaqnKqp7MF0BFLlF3cmZIDfgDld NPZ0eY11K4Q4TlaPHdYnx29CqEOUjvkozPWkO1oyJ/IdTBlLRriHOzyRVPxMY7xrqm7j FwhA== X-Gm-Message-State: AO0yUKXo0TN6visgKKqlDsTtUvBQ8WFVU9yNTsbR2Ce5OIVLOgkYgpLT 5ujWOoyo2F/dDYUq4jTJAruaBQ== X-Received: by 2002:a05:600c:3591:b0:3eb:3998:8c05 with SMTP id p17-20020a05600c359100b003eb39988c05mr13181442wmq.6.1678282059224; Wed, 08 Mar 2023 05:27:39 -0800 (PST) Received: from arrakeen.starnux.net ([2a01:e0a:982:cbb0:8261:5fff:fe11:bdda]) by smtp.gmail.com with ESMTPSA id q14-20020a05600c46ce00b003daffc2ecdesm20631491wmo.13.2023.03.08.05.27.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Mar 2023 05:27:38 -0800 (PST) From: Neil Armstrong Date: Wed, 08 Mar 2023 14:27:33 +0100 Subject: [PATCH v4 5/5] dt-bindings: PCI: convert amlogic,meson-pcie.txt to dt-schema MIME-Version: 1.0 Message-Id: <20221117-b4-amlogic-bindings-convert-v4-5-34e623dbf789@linaro.org> References: <20221117-b4-amlogic-bindings-convert-v4-0-34e623dbf789@linaro.org> In-Reply-To: <20221117-b4-amlogic-bindings-convert-v4-0-34e623dbf789@linaro.org> To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Mauro Carvalho Chehab , Daniel Lezcano , Thomas Gleixner , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84?= =?utf-8?q?ski?= , Rob Herring , Bjorn Helgaas Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-pci@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.12.1 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759806695301657283?= X-GMAIL-MSGID: =?utf-8?q?1759806695301657283?= Convert the Amlogic Meson AXG DWC PCIe SoC controller bindings to dt-schema. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Neil Armstrong --- .../devicetree/bindings/pci/amlogic,axg-pcie.yaml | 134 +++++++++++++++++++++ .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 70 ----------- 2 files changed, 134 insertions(+), 70 deletions(-) diff --git a/Documentation/devicetree/bindings/pci/amlogic,axg-pcie.yaml b/Documentation/devicetree/bindings/pci/amlogic,axg-pcie.yaml new file mode 100644 index 000000000000..a5bd90bc0712 --- /dev/null +++ b/Documentation/devicetree/bindings/pci/amlogic,axg-pcie.yaml @@ -0,0 +1,134 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pci/amlogic,axg-pcie.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Amlogic Meson AXG DWC PCIe SoC controller + +maintainers: + - Neil Armstrong + +description: + Amlogic Meson PCIe host controller is based on the Synopsys DesignWare PCI core. + +allOf: + - $ref: /schemas/pci/pci-bus.yaml# + - $ref: /schemas/pci/snps,dw-pcie-common.yaml# + +# We need a select here so we don't match all nodes with 'snps,dw-pcie' +select: + properties: + compatible: + enum: + - amlogic,axg-pcie + - amlogic,g12a-pcie + required: + - compatible + +properties: + compatible: + items: + - enum: + - amlogic,axg-pcie + - amlogic,g12a-pcie + - const: snps,dw-pcie + + reg: + items: + - description: External local bus interface registers + - description: Meson designed configuration registers + - description: PCIe configuration space + + reg-names: + items: + - const: elbi + - const: cfg + - const: config + + interrupts: + maxItems: 1 + + clocks: + items: + - description: PCIe GEN 100M PLL clock + - description: PCIe RC clock gate + - description: PCIe PHY clock + + clock-names: + items: + - const: pclk + - const: port + - const: general + + phys: + maxItems: 1 + + phy-names: + const: pcie + + resets: + items: + - description: Port Reset + - description: Shared APB reset + + reset-names: + items: + - const: port + - const: apb + + num-lanes: + const: 1 + + power-domains: + maxItems: 1 + +required: + - compatible + - reg + - reg-names + - interrupts + - clock + - clock-names + - "#address-cells" + - "#size-cells" + - "#interrupt-cells" + - interrupt-map + - interrupt-map-mask + - ranges + - bus-range + - device_type + - num-lanes + - phys + - phy-names + - resets + - reset-names + +unevaluatedProperties: false + +examples: + - | + #include + #include + pcie: pcie@f9800000 { + compatible = "amlogic,axg-pcie", "snps,dw-pcie"; + reg = <0xf9800000 0x400000>, <0xff646000 0x2000>, <0xf9f00000 0x100000>; + reg-names = "elbi", "cfg", "config"; + interrupts = ; + clocks = <&pclk>, <&clk_port>, <&clk_phy>; + clock-names = "pclk", "port", "general"; + resets = <&reset_pcie_port>, <&reset_pcie_apb>; + reset-names = "port", "apb"; + phys = <&pcie_phy>; + phy-names = "pcie"; + #interrupt-cells = <1>; + interrupt-map-mask = <0 0 0 0>; + interrupt-map = <0 0 0 0 &gic GIC_SPI 179 IRQ_TYPE_EDGE_RISING>; + bus-range = <0x0 0xff>; + #address-cells = <3>; + #size-cells = <2>; + device_type = "pci"; + num-lanes = <1>; + ranges = <0x82000000 0 0 0xf9c00000 0 0x00300000>; + }; +... diff --git a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt deleted file mode 100644 index c3a75ac6e59d..000000000000 --- a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt +++ /dev/null @@ -1,70 +0,0 @@ -Amlogic Meson AXG DWC PCIE SoC controller - -Amlogic Meson PCIe host controller is based on the Synopsys DesignWare PCI core. -It shares common functions with the PCIe DesignWare core driver and -inherits common properties defined in -Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml. - -Additional properties are described here: - -Required properties: -- compatible: - should contain : - - "amlogic,axg-pcie" for AXG SoC Family - - "amlogic,g12a-pcie" for G12A SoC Family - to identify the core. -- reg: - should contain the configuration address space. -- reg-names: Must be - - "elbi" External local bus interface registers - - "cfg" Meson specific registers - - "config" PCIe configuration space -- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert signal. -- clocks: Must contain an entry for each entry in clock-names. -- clock-names: Must include the following entries: - - "pclk" PCIe GEN 100M PLL clock - - "port" PCIe_x(A or B) RC clock gate - - "general" PCIe Phy clock -- resets: phandle to the reset lines. -- reset-names: must contain "port" and "apb" - - "port" Port A or B reset - - "apb" Share APB reset -- phys: should contain a phandle to the PCIE phy -- phy-names: must contain "pcie" - -- device_type: - should be "pci". As specified in snps,dw-pcie.yaml - - -Example configuration: - - pcie: pcie@f9800000 { - compatible = "amlogic,axg-pcie", "snps,dw-pcie"; - reg = <0x0 0xf9800000 0x0 0x400000 - 0x0 0xff646000 0x0 0x2000 - 0x0 0xf9f00000 0x0 0x100000>; - reg-names = "elbi", "cfg", "config"; - reset-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; - interrupts = ; - #interrupt-cells = <1>; - interrupt-map-mask = <0 0 0 0>; - interrupt-map = <0 0 0 0 &gic GIC_SPI 179 IRQ_TYPE_EDGE_RISING>; - bus-range = <0x0 0xff>; - #address-cells = <3>; - #size-cells = <2>; - device_type = "pci"; - ranges = <0x82000000 0 0 0x0 0xf9c00000 0 0x00300000>; - - clocks = <&clkc CLKID_USB - &clkc CLKID_PCIE_A - &clkc CLKID_PCIE_CML_EN0>; - clock-names = "general", - "pclk", - "port"; - resets = <&reset RESET_PCIE_A>, - <&reset RESET_PCIE_APB>; - reset-names = "port", - "apb"; - phys = <&pcie_phy>; - phy-names = "pcie"; - };