Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp402197ybb; Wed, 25 Mar 2020 02:01:16 -0700 (PDT) X-Google-Smtp-Source: ADFU+vu0RmFAL0KUqXBd5s6i2TKd5Xl85JNpYchq+CDqnbZPUOzFQ+Mies+wUWwXxRETxJSxqsIL X-Received: by 2002:aca:f582:: with SMTP id t124mr1749527oih.17.1585126875851; Wed, 25 Mar 2020 02:01:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585126875; cv=none; d=google.com; s=arc-20160816; b=QyUpSHGiW7eflDHz3D1SAXEx8b4EienOIS9RSJbgj7LyoaWZFnoOKWN5oSCzBDTFZ6 dt3X4H2dKucr8Di+nuFLNv1wWfaqKxgDmrLNNOBAc97ZUqG8B3/xhFsExzsdgHqBdDPn 8QA4MrQeZx0LR8zz2JRH2soC6eKcnUh9plHBxQxUI2vU1+EI70ra9bwzgA1ZHe3vurvs 5yLzTEt2MXZSE5T9JLs2TLyB8qVZ0W8CxOE/NHoQrMpMHjPezAQlgtTXzDeHVs0pVMJ6 Dn3Q4CWeXtj9n7e2xoki7ZRNUhrhVhMFAy+xY7iUrWZRRDc8MiOJ52C8Nrf1lEyqYYQR kjow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:ironport-sdr :ironport-sdr; bh=nZkRKFo7FbhwOUAENg7AFUEryxxm9pUppijxrhJlHts=; b=VAsoT7/hP+/SXRaMt6yfMwIcsuUF5e2voztncH9q/t3XsDsXQtzN2+GKA1ZtDIEIqO 6n7fg2iAurDq6iF9duPZ9nm8F7iRxKy0fk47L6mbA2T5lRvXyzyYEhwxrmyPEwPW/yqM dWlSByvDJW4SeGBDB2oSdkT0X+DwFQqR9ZQgsQlR3TrF0zJ5C5T2TuJc/gq94pdRxK95 ZrDHzVbo1/FNfzOgPAFTc45Z5DLEOEojrx4YjwHOVmU4p0te8/ixLVMQjW+36Ww3U3gX 7FNsGqocZWepkaIAFdz7ArpQxW18cV5c17EUMkGYVLQKhx1V87BLkODBAjOs47Mg75NO nz3A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y5si10306273oiy.150.2020.03.25.02.01.02; Wed, 25 Mar 2020 02:01:15 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727570AbgCYJAT (ORCPT + 99 others); Wed, 25 Mar 2020 05:00:19 -0400 Received: from mga12.intel.com ([192.55.52.136]:22860 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726105AbgCYJAS (ORCPT ); Wed, 25 Mar 2020 05:00:18 -0400 IronPort-SDR: prBX+35nIk69NscLkZpRSQT12Qk/dVHJ3gLGey2IecwPMsuZfIdjJzuFg6gcL5PSnRnUTX2vsc MNNsmlPOY0VQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2020 02:00:17 -0700 IronPort-SDR: 7EdnUyqNw5x84c9Tr+J7teD2J/PX64ML1cBiYLs+X00Ym05Xj2vm3HYrVEqoqYPNnXwtlTZzWb IqQRp76h2UIA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,303,1580803200"; d="scan'208";a="240341304" Received: from sgsxdev004.isng.intel.com (HELO localhost) ([10.226.88.13]) by fmsmga008.fm.intel.com with ESMTP; 25 Mar 2020 02:00:15 -0700 From: Dilip Kota To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: kishon@ti.com, robh@kernel.org, andriy.shevchenko@intel.com, cheol.yong.kim@intel.com, chuanhua.lei@linux.intel.com, qi-ming.wu@intel.com, yixin.zhu@intel.com, Dilip Kota Subject: [PATCH v5 3/4] dt-bindings: phy: Add YAML schemas for Intel ComboPhy Date: Wed, 25 Mar 2020 16:59:39 +0800 Message-Id: <3278d5601ace94c91ff97adadab3ae67a0e3f010.1585103753.git.eswara.kota@linux.intel.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: References: In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ComboPhy subsystem provides PHY support to various controllers, viz. PCIe, SATA and EMAC. Adding YAML schemas for the same. Signed-off-by: Dilip Kota --- Changes on v5: Add changes as per Rob Herring inputs: Use include/dt-bindings/phy/phy.h values to set intel,phy-mode. Move children node properties to parent node and remove children node completely. Changes on v4: No Change. Changes on v3: Add include/dt-bindings/phy/phy-intel-combphy.h for phy modes. Add SoC specific compatible "intel,combophy-lgm". Correct the nodename pattern. clocks description removed and add maxItems entry. Remove "simple-bus" as it expects minimum one address cell and size cell in the children node. Call devm_of_platform_populate() in the driver to perform "simple-bus" functionality. Changes on v2: Add custom 'select' Pass hardware instance entries with phandles and remove cell-index and bid entries Clock, register address space, are same for the children. So move them to parent node. Two PHY instances cannot run in different modes, so move the phy-mode entry to parent node. Add second child entry in the DT example. .../devicetree/bindings/phy/intel,combo-phy.yaml | 101 +++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/intel,combo-phy.yaml diff --git a/Documentation/devicetree/bindings/phy/intel,combo-phy.yaml b/Documentation/devicetree/bindings/phy/intel,combo-phy.yaml new file mode 100644 index 000000000000..347d0cdfb80d --- /dev/null +++ b/Documentation/devicetree/bindings/phy/intel,combo-phy.yaml @@ -0,0 +1,101 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/intel,combo-phy.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Intel ComboPhy Subsystem + +maintainers: + - Dilip Kota + +description: | + Intel Combophy subsystem supports PHYs for PCIe, EMAC and SATA + controllers. A single Combophy provides two PHY instances. + +properties: + $nodename: + pattern: "combophy(@.*|-[0-9a-f])*$" + + compatible: + items: + - const: intel,combophy-lgm + - const: intel,combo-phy + + clocks: + maxItems: 1 + + reg: + items: + - description: ComboPhy core registers + - description: PCIe app core control registers + + reg-names: + items: + - const: core + - const: app + + resets: + maxItems: 4 + + reset-names: + items: + - const: phy + - const: core + - const: iphy0 + - const: iphy1 + + intel,syscfg: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: Chip configuration registers handle and ComboPhy instance id + + intel,hsio: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: HSIO registers handle and ComboPhy instance id on NOC + + intel,aggregation: + type: boolean + description: | + Specify the flag to configure ComboPHY in dual lane mode. + + intel,phy-mode: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + Mode of the two phys in ComboPhy. + See dt-bindings/phy/phy.h for values. + + "#phy-cells": + const: 1 + +required: + - compatible + - clocks + - reg + - reg-names + - intel,syscfg + - intel,hsio + - intel,phy-mode + - "#phy-cells" + +additionalProperties: false + +examples: + - | + #include + combophy@d0a00000 { + compatible = "intel,combophy-lgm", "intel,combo-phy"; + clocks = <&cgu0 1>; + #phy-cells = <1>; + reg = <0xd0a00000 0x40000>, + <0xd0a40000 0x1000>; + reg-names = "core", "app"; + resets = <&rcu0 0x50 6>, + <&rcu0 0x50 17>, + <&rcu0 0x50 23>, + <&rcu0 0x50 24>; + reset-names = "phy", "core", "iphy0", "iphy1"; + intel,syscfg = <&sysconf 0>; + intel,hsio = <&hsiol 0>; + intel,phy-mode = ; + intel,aggregation; + }; -- 2.11.0