Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp3473595pxu; Sun, 11 Oct 2020 10:57:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwK2mgwF5T0jXGBRJ46wLEKdXACkJYJuRjkqH+BbH5BSD1ER76s0kFUe6/doiPeNXofUoU+ X-Received: by 2002:a17:906:770c:: with SMTP id q12mr23920490ejm.518.1602439074675; Sun, 11 Oct 2020 10:57:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1602439074; cv=none; d=google.com; s=arc-20160816; b=WlDnyJLn+9WAfhT5jX8F/F735Z32l2bu5C8NJhIF3xJP7ER5KIuua99oJiPQqv0g5N L5onp47F7qr4MYe93BcaqofmSNl/LNeQOxErsUfpZVNu6LjuiYtvmqZiicuGArhGY+a7 NQFgPbgYWvttpL7muNCaaefLgFTeCRESevIZIUGbMCilaYQDm3IJusvJxxrFJ3pTWef5 DfPPpjR0D8sNHLAhjw2KotAb5E7T5pe4W6+ALwNq+rGPplmjR1JlOwu+Ob49Y+T4xLt7 RmRRANMtxyFLO48dJ5Svoqh5EntViLZMquhmgbL9udYd0lgSdkhN28mU6GJw98DdRwtc jZVQ== 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; bh=wkrkBJ0CFSLyEn3xiFXAglDibSTy+dxymU3KDh/b4ys=; b=b2Ct1WUJgqGENoCJ/HVZcVYvlRovWieWNGO+0bq5HlpmiwTDGRKvETVwytxAAbBAvG H+y2nb7SfWhTIYfk2nINvsZLlK7Ir4iJNTa6F4vkt/ZHlI53xlWWkq6ekf/pB12cuE/R I61SedmaTihNAC061oa/i2rKACYEYoOp1aoGW0yY8r/nIByCLGvebmjLlaxHW+eqM+8T XCpVi0qhA1/mypgSlhgjDUmYE1etfwjmHsPWbI4R3g0SoIYV67ZnQvKiEL6xtgww7cXN pegSMmnLTK5OZ4GOiAJEYuTX+wP7Ycuhti7dZx/K3rFS2AqkmIOmc9WoGn0KeyX+WcuB dMQw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-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 a1si7710109edb.335.2020.10.11.10.57.31; Sun, 11 Oct 2020 10:57:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391141AbgJJW7w (ORCPT + 99 others); Sat, 10 Oct 2020 18:59:52 -0400 Received: from mail.baikalelectronics.com ([87.245.175.226]:57790 "EHLO mail.baikalelectronics.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733093AbgJJWpl (ORCPT ); Sat, 10 Oct 2020 18:45:41 -0400 Received: from localhost (unknown [127.0.0.1]) by mail.baikalelectronics.ru (Postfix) with ESMTP id 1C80F803202F; Sat, 10 Oct 2020 22:41:31 +0000 (UTC) X-Virus-Scanned: amavisd-new at baikalelectronics.ru Received: from mail.baikalelectronics.ru ([127.0.0.1]) by localhost (mail.baikalelectronics.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id S_oqjOogGJ79; Sun, 11 Oct 2020 01:41:30 +0300 (MSK) From: Serge Semin To: Mathias Nyman , Felipe Balbi , Greg Kroah-Hartman , Rob Herring CC: Serge Semin , Serge Semin , Alexey Malahov , Pavel Parkhomenko , Andy Gross , Bjorn Andersson , Manu Gautam , Roger Quadros , Lad Prabhakar , Yoshihiro Shimoda , Neil Armstrong , Kevin Hilman , , , Subject: [PATCH 07/18] dt-bindings: usb: Convert xHCI bindings to DT schema Date: Sun, 11 Oct 2020 01:41:10 +0300 Message-ID: <20201010224121.12672-8-Sergey.Semin@baikalelectronics.ru> In-Reply-To: <20201010224121.12672-1-Sergey.Semin@baikalelectronics.ru> References: <20201010224121.12672-1-Sergey.Semin@baikalelectronics.ru> MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-ClientProxiedBy: MAIL.baikal.int (192.168.51.25) To mail (192.168.51.25) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently the DT bindings of Generic xHCI Controllers are described by means of the legacy text file. Since such format is deprecated in favor of the DT schema, let's convert the Generic xHCI Controllers bindings file to the corresponding yaml files. There will be two of them: a DT schema for the xHCI controllers on a generic platform and a DT schema validating a generic xHCI controllers properties. The later will be used to validate the xHCI controllers, which aside from some vendor-specific features support the basic xHCI functionality. An xHCI-compatible DT node shall support the standard USB HCD properties and custom ones like: usb2-lpm-disable, usb3-lpm-capable, quirk-broken-port-ped and imod-interval-ns. In addition if a generic xHCI controller is being validated against the DT schema it is also supposed to be equipped with mandatory compatible string, single registers range, single interrupts source, and is supposed to optionally contain up to two reference clocks for the controller core and CSRs. Signed-off-by: Serge Semin --- .../devicetree/bindings/usb/generic-xhci.yaml | 63 +++++++++++++++++++ .../devicetree/bindings/usb/usb-xhci.txt | 41 ------------ .../devicetree/bindings/usb/usb-xhci.yaml | 40 ++++++++++++ 3 files changed, 103 insertions(+), 41 deletions(-) create mode 100644 Documentation/devicetree/bindings/usb/generic-xhci.yaml delete mode 100644 Documentation/devicetree/bindings/usb/usb-xhci.txt create mode 100644 Documentation/devicetree/bindings/usb/usb-xhci.yaml diff --git a/Documentation/devicetree/bindings/usb/generic-xhci.yaml b/Documentation/devicetree/bindings/usb/generic-xhci.yaml new file mode 100644 index 000000000000..1ea1d49a8175 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/generic-xhci.yaml @@ -0,0 +1,63 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/generic-xhci.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: USB xHCI Controller Device Tree Bindings + +maintainers: + - Mathias Nyman + +allOf: + - $ref: "usb-xhci.yaml#" + +properties: + compatible: + oneOf: + - description: Generic xHCI device + const: generic-xhci + - description: Armada 37xx/375/38x/8k SoCs + items: + - enum: + - marvell,armada3700-xhci + - marvell,armada-375-xhci + - marvell,armada-380-xhci + - marvell,armada-8k-xhci + - const: generic-xhci + - description: Broadcom STB SoCs with xHCI + const: brcm,bcm7445-xhci + - description: Generic xHCI device + const: xhci-platform + deprecated: true + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + minItems: 1 + maxItems: 2 + + clock-names: + minItems: 1 + items: + - const: core + - const: reg + +unevaluatedProperties: false + +required: + - compatible + - reg + - interrupts + +examples: + - | + usb@f0931000 { + compatible = "generic-xhci"; + reg = <0xf0931000 0x8c8>; + interrupts = <0x0 0x4e 0x0>; + }; diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.txt b/Documentation/devicetree/bindings/usb/usb-xhci.txt deleted file mode 100644 index 0c5cff84a969..000000000000 --- a/Documentation/devicetree/bindings/usb/usb-xhci.txt +++ /dev/null @@ -1,41 +0,0 @@ -USB xHCI controllers - -Required properties: - - compatible: should be one or more of - - - "generic-xhci" for generic XHCI device - - "marvell,armada3700-xhci" for Armada 37xx SoCs - - "marvell,armada-375-xhci" for Armada 375 SoCs - - "marvell,armada-380-xhci" for Armada 38x SoCs - - "brcm,bcm7445-xhci" for Broadcom STB SoCs with XHCI - - "xhci-platform" (deprecated) - - When compatible with the generic version, nodes must list the - SoC-specific version corresponding to the platform first - followed by the generic version. - - - reg: should contain address and length of the standard XHCI - register set for the device. - - interrupts: one XHCI interrupt should be described here. - -Optional properties: - - clocks: reference to the clocks - - clock-names: mandatory if there is a second clock, in this case - the name must be "core" for the first clock and "reg" for the - second one - - usb2-lpm-disable: indicate if we don't want to enable USB2 HW LPM - - usb3-lpm-capable: determines if platform is USB3 LPM capable - - quirk-broken-port-ped: set if the controller has broken port disable mechanism - - imod-interval-ns: default interrupt moderation interval is 5000ns - - phys : see usb-hcd.yaml in the current directory - -additionally the properties from usb-hcd.yaml (in the current directory) are -supported. - - -Example: - usb@f0931000 { - compatible = "generic-xhci"; - reg = <0xf0931000 0x8c8>; - interrupts = <0x0 0x4e 0x0>; - }; diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.yaml b/Documentation/devicetree/bindings/usb/usb-xhci.yaml new file mode 100644 index 000000000000..c5c177f2e055 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/usb-xhci.yaml @@ -0,0 +1,40 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/usb-xhci.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Generic USB xHCI Controller Device Tree Bindings + +maintainers: + - Mathias Nyman + +allOf: + - $ref: "usb-hcd.yaml#" + +properties: + usb2-lpm-disable: + description: Indicates if we don't want to enable USB2 HW LPM + type: boolean + + usb3-lpm-capable: + description: Determines if platform is USB3 LPM capable + type: boolean + + quirk-broken-port-ped: + description: Set if the controller has broken port disable mechanism + type: boolean + + imod-interval-ns: + description: Interrupt moderation interval + default: 5000 + +examples: + - | + usb@f0930000 { + compatible = "generic-xhci"; + reg = <0xf0930000 0x8c8>; + interrupts = <0x0 0x4e 0x0>; + usb2-lpm-disable; + usb3-lpm-capable; + }; -- 2.27.0