linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/2] convert fsl,imx6q-pcie.txt to yaml
@ 2021-07-22  8:22 Richard Zhu
  2021-07-22  8:22 ` [RFC 1/2] dt-bindings: PCI: imx6: add fsl,imx6q-pcie.yaml Richard Zhu
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Richard Zhu @ 2021-07-22  8:22 UTC (permalink / raw)
  To: robh, galak, shawnguo, devicetree
  Cc: l.stach, linux-imx, linux-arm-kernel, linux-kernel

[RFC 1/2] dt-bindings: PCI: imx6: add fsl,imx6q-pcie.yaml
[RFC 2/2] dt-bindings: PCI: imx6: remove fsl,imx6q-pcie.txt

.../devicetree/bindings/pci/fsl,imx6q-pcie.txt     | 102 ----------
.../devicetree/bindings/pci/fsl,imx6q-pcie.yaml    | 212 +++++++++++++++++++++
MAINTAINERS                                        |   2 +-
3 files changed, 213 insertions(+), 103 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
create mode 100644 Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [RFC 1/2] dt-bindings: PCI: imx6: add fsl,imx6q-pcie.yaml
  2021-07-22  8:22 [RFC 0/2] convert fsl,imx6q-pcie.txt to yaml Richard Zhu
@ 2021-07-22  8:22 ` Richard Zhu
  2021-07-22 14:37   ` Rob Herring
  2021-07-22  8:22 ` [RFC 2/2] dt-bindings: PCI: imx6: remove fsl,imx6q-pcie.txt Richard Zhu
  2021-07-23 19:56 ` [RFC 0/2] convert fsl,imx6q-pcie.txt to yaml Rob Herring
  2 siblings, 1 reply; 6+ messages in thread
From: Richard Zhu @ 2021-07-22  8:22 UTC (permalink / raw)
  To: robh, galak, shawnguo, devicetree
  Cc: l.stach, linux-imx, linux-arm-kernel, linux-kernel, Richard Zhu

Convert the fsl,imx6q-pcie.txt into a schema.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
---
 .../bindings/pci/fsl,imx6q-pcie.yaml          | 212 ++++++++++++++++++
 MAINTAINERS                                   |   1 +
 2 files changed, 213 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml

diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
new file mode 100644
index 000000000000..b66b681d7ad7
--- /dev/null
+++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
@@ -0,0 +1,212 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pci/fsl,imx6q-pcie.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale i.MX6 PCIe host controller
+
+maintainers:
+  - Lucas Stach <l.stach@pengutronix.de>
+  - Richard Zhu <hongxing.zhu@nxp.com>
+
+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/pci-bus.yaml#
+
+properties:
+  compatible:
+    const: fsl,imx6q-pcie
+    const: fsl,imx6sx-pcie
+    const: fsl,imx6qp-pcie
+    const: fsl,imx7d-pcie
+    const: fsl,imx8mq-pcie
+
+  reg:
+    items:
+      - description: Data Bus Interface (DBI) registers.
+      - description: PCIe configuration space region.
+
+  reg-names:
+    items:
+      - const: dbi
+      - const: config
+
+  interrupts:
+    minItems: 1
+    items:
+      - description: builtin MSI controller.
+
+  interrupt-names:
+    minItems: 1
+    items:
+      - const: msi
+
+  clocks:
+    minItems: 3
+    maxItems: 4
+    items:
+      - description: PCIe bridge clock.
+      - description: PCIe bus clock.
+      - description: PCIe PHY clock.
+      - description: Additional required clock entry for imx6sx-pcie,
+          imx8mq-pcie.
+
+  clock-names:
+    minItems: 3
+    maxItems: 4
+    items:
+      - const: pcie
+      - const: pcie_bus
+      - const: pcie_phy
+      - const: pcie_inbound_axi for imx6sx-pcie, pcie_aux for imx8mq-pcie
+
+  num-lanes:
+    const: 1
+
+  num-viewport:
+    const: 4
+
+  fsl,imx7d-pcie-phy:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: A phandle to an fsl,imx7d-pcie-phy node. Additional
+      required properties for imx7d-pcie and imx8mq-pcie.
+
+  power-domains:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    minItems: 1
+    maxItems: 2
+    items:
+      - description: Phandle pointing to the DISPLAY domain for imx6sx-pcie,
+          to PCIE_PHY power domain for imx7d-pcie and imx8mq-pcie.
+      - description: Phandle pointing to the PCIE_PHY power domains for
+          imx6sx-pcie.
+
+  power-domain-names:
+    minItems: 1
+    maxItems: 2
+    items:
+      - const: pcie
+      - const: pcie_phy
+
+  resets:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    items:
+      - description: Phandles to PCIe-related reset lines exposed by SRC
+          IP block. Additional required by imx7d-pcie and imx8mq-pcie.
+
+  reset-names:
+    items:
+      - const: pciephy
+      - const: apps
+      - const: turnoff
+
+  fsl,tx-deemph-gen1:
+    description: Gen1 De-emphasis value (optional required).
+    $ref: /schemas/types.yaml#/definitions/uint32
+    default: 0
+
+  fsl,tx-deemph-gen2-3p5db:
+    description: Gen2 (3.5db) De-emphasis value (optional required).
+    $ref: /schemas/types.yaml#/definitions/uint32
+    default: 0
+
+  fsl,tx-deemph-gen2-6db:
+    description: Gen2 (6db) De-emphasis value (optional required).
+    $ref: /schemas/types.yaml#/definitions/uint32
+    default: 20
+
+  fsl,tx-swing-full:
+    description: Gen2 TX SWING FULL value (optional required).
+    $ref: /schemas/types.yaml#/definitions/uint32
+    default: 127
+
+  fsl,tx-swing-low:
+    description: TX launch amplitude swing_low value (optional required).
+    $ref: /schemas/types.yaml#/definitions/uint32
+    default: 127
+
+  fsl,max-link-speed:
+    description: Specify PCI Gen for link capability (optional required).
+      Note that the IMX6 LVDS clock outputs do not meet gen2 jitter
+      requirements and thus for gen2 capability a gen2 compliant clock
+      generator should be used and configured.
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [1, 2, 3, 4]
+    default: 1
+
+  reset-gpio:
+    description: Should specify the GPIO for controlling the PCI bus device
+      reset signal. It's not polarity aware and defaults to active-low reset
+      sequence (L=reset state, H=operation state) (optional required).
+
+  reset-gpio-active-high:
+    description: If present then the reset sequence using the GPIO
+      specified in the "reset-gpio" property is reversed (H=reset state,
+      L=operation state) (optional required).
+
+  vpcie-supply:
+    description: Should specify the regulator in charge of PCIe port power.
+      The regulator will be enabled when initializing the PCIe host and
+      disabled either as part of the init process or when shutting down
+      the host (optional required).
+
+  vph-supply:
+    description: Should specify the regulator in charge of VPH one of
+      the three PCIe PHY powers. This regulator can be supplied by both
+      1.8v and 3.3v voltage supplies (optional required).
+
+required:
+  - compatible
+  - reg
+  - reg-names
+  - "#address-cells"
+  - "#size-cells"
+  - device_type
+  - bus-range
+  - ranges
+  - num-lanes
+  - num-viewport
+  - interrupts
+  - interrupt-names
+  - "#interrupt-cells"
+  - interrupt-map-mask
+  - interrupt-map
+  - clocks
+  - clock-names
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    pcie: pcie@1ffc000 {
+        compatible = "fsl,imx6q-pcie", "snps,dw-pcie";
+        reg = <0x01ffc000 0x04000>,
+              <0x01f00000 0x80000>;
+        reg-names = "dbi", "config";
+        #address-cells = <3>;
+        #size-cells = <2>;
+        device_type = "pci";
+        bus-range = <0x00 0xff>;
+        ranges = <0x81000000 0 0          0x01f80000 0 0x00010000 /* downstream I/O */
+                  0x82000000 0 0x01000000 0x01000000 0 0x00f00000>; /* non-prefetchable memory */
+        num-lanes = <1>;
+        num-viewport = <4>;
+        interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
+        interrupt-names = "msi";
+        #interrupt-cells = <1>;
+        interrupt-map-mask = <0 0 0 0x7>;
+        interrupt-map = <0 0 0 1 &gpc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
+                        <0 0 0 2 &gpc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
+                        <0 0 0 3 &gpc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
+                        <0 0 0 4 &gpc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
+        clocks = <&clks IMX6QDL_CLK_PCIE_AXI>,
+                <&clks IMX6QDL_CLK_LVDS1_GATE>,
+                <&clks IMX6QDL_CLK_PCIE_REF_125M>;
+        clock-names = "pcie", "pcie_bus", "pcie_phy";
+        status = "disabled";
+    };
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 2c5dc7d20d81..a616e250d846 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -14186,6 +14186,7 @@ L:	linux-pci@vger.kernel.org
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 F:	Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
+F:	Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
 F:	drivers/pci/controller/dwc/*imx6*
 
 PCI DRIVER FOR FU740
-- 
2.17.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [RFC 2/2] dt-bindings: PCI: imx6: remove fsl,imx6q-pcie.txt
  2021-07-22  8:22 [RFC 0/2] convert fsl,imx6q-pcie.txt to yaml Richard Zhu
  2021-07-22  8:22 ` [RFC 1/2] dt-bindings: PCI: imx6: add fsl,imx6q-pcie.yaml Richard Zhu
@ 2021-07-22  8:22 ` Richard Zhu
  2021-07-23 19:56 ` [RFC 0/2] convert fsl,imx6q-pcie.txt to yaml Rob Herring
  2 siblings, 0 replies; 6+ messages in thread
From: Richard Zhu @ 2021-07-22  8:22 UTC (permalink / raw)
  To: robh, galak, shawnguo, devicetree
  Cc: l.stach, linux-imx, linux-arm-kernel, linux-kernel, Richard Zhu

Convert the fsl,imx6q-pcie.txt to yaml. The properties defined
in fsl,imx6q-pcie.txt were converted to DT schema.
Remove fsl,imx6q-pcie.txt.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
---
 .../bindings/pci/fsl,imx6q-pcie.txt           | 102 ------------------
 MAINTAINERS                                   |   1 -
 2 files changed, 103 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt

diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
deleted file mode 100644
index 9acd92c1ff5f..000000000000
--- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
+++ /dev/null
@@ -1,102 +0,0 @@
-* Freescale i.MX6 PCIe interface
-
-This PCIe host controller is based on the Synopsys DesignWare PCIe IP
-and thus inherits all the common properties defined in designware-pcie.txt.
-
-Required properties:
-- compatible:
-	- "fsl,imx6q-pcie"
-	- "fsl,imx6sx-pcie",
-	- "fsl,imx6qp-pcie"
-	- "fsl,imx7d-pcie"
-	- "fsl,imx8mq-pcie"
-- reg: base address and length of the PCIe controller
-- interrupts: A list of interrupt outputs of the controller. Must contain an
-  entry for each entry in the interrupt-names property.
-- interrupt-names: Must include the following entries:
-	- "msi": The interrupt that is asserted when an MSI is received
-- clock-names: Must include the following additional entries:
-	- "pcie_phy"
-
-Optional properties:
-- fsl,tx-deemph-gen1: Gen1 De-emphasis value. Default: 0
-- fsl,tx-deemph-gen2-3p5db: Gen2 (3.5db) De-emphasis value. Default: 0
-- fsl,tx-deemph-gen2-6db: Gen2 (6db) De-emphasis value. Default: 20
-- fsl,tx-swing-full: Gen2 TX SWING FULL value. Default: 127
-- fsl,tx-swing-low: TX launch amplitude swing_low value. Default: 127
-- fsl,max-link-speed: Specify PCI gen for link capability. Must be '2' for
-  gen2, otherwise will default to gen1. Note that the IMX6 LVDS clock outputs
-  do not meet gen2 jitter requirements and thus for gen2 capability a gen2
-  compliant clock generator should be used and configured.
-- phys: Phandle of the Generic PHY to the PCIe PHY.
-- phy-names:  MUST be "pcie-phy".
-- reset-gpio: Should specify the GPIO for controlling the PCI bus device reset
-  signal. It's not polarity aware and defaults to active-low reset sequence
-  (L=reset state, H=operation state).
-- reset-gpio-active-high: If present then the reset sequence using the GPIO
-  specified in the "reset-gpio" property is reversed (H=reset state,
-  L=operation state).
-- vpcie-supply: Should specify the regulator in charge of PCIe port power.
-  The regulator will be enabled when initializing the PCIe host and
-  disabled either as part of the init process or when shutting down the
-  host.
-- vph-supply: Should specify the regulator in charge of VPH one of the three
-  PCIe PHY powers. This regulator can be supplied by both 1.8v and 3.3v voltage
-  supplies.
-
-Additional required properties for imx6sx-pcie:
-- clock names: Must include the following additional entries:
-	- "pcie_inbound_axi"
-- power-domains: Must be set to phandles pointing to the DISPLAY and
-  PCIE_PHY power domains
-- power-domain-names: Must be "pcie", "pcie_phy"
-
-Additional required properties for imx7d-pcie and imx8mq-pcie:
-- power-domains: Must be set to a phandle pointing to PCIE_PHY power domain
-- resets: Must contain phandles to PCIe-related reset lines exposed by SRC
-  IP block
-- reset-names: Must contain the following entries:
-	       - "pciephy"
-	       - "apps"
-	       - "turnoff"
-- fsl,imx7d-pcie-phy: A phandle to an fsl,imx7d-pcie-phy node.
-
-Additional required properties for imx8mq-pcie:
-- clock-names: Must include the following additional entries:
-	- "pcie_aux"
-
-Example:
-
-	pcie@01000000 {
-		compatible = "fsl,imx6q-pcie", "snps,dw-pcie";
-		reg = <0x01ffc000 0x04000>,
-		      <0x01f00000 0x80000>;
-		reg-names = "dbi", "config";
-		#address-cells = <3>;
-		#size-cells = <2>;
-		device_type = "pci";
-		ranges = <0x00000800 0 0x01f00000 0x01f00000 0 0x00080000
-			  0x81000000 0 0          0x01f80000 0 0x00010000
-			  0x82000000 0 0x01000000 0x01000000 0 0x00f00000>;
-		num-lanes = <1>;
-		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
-		interrupt-names = "msi";
-		#interrupt-cells = <1>;
-		interrupt-map-mask = <0 0 0 0x7>;
-		interrupt-map = <0 0 0 1 &intc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
-		                <0 0 0 2 &intc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
-		                <0 0 0 3 &intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
-		                <0 0 0 4 &intc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
-		clocks = <&clks 144>, <&clks 206>, <&clks 189>;
-		clock-names = "pcie", "pcie_bus", "pcie_phy";
-	};
-
-* Freescale i.MX7d PCIe PHY
-
-This is the PHY associated with the IMX7d PCIe controller.  It's used by the
-PCI-e controller via the fsl,imx7d-pcie-phy phandle.
-
-Required properties:
-- compatible:
-	- "fsl,imx7d-pcie-phy"
-- reg: base address and length of the PCIe PHY controller
diff --git a/MAINTAINERS b/MAINTAINERS
index a616e250d846..3cfa77b7ce6b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -14185,7 +14185,6 @@ M:	Lucas Stach <l.stach@pengutronix.de>
 L:	linux-pci@vger.kernel.org
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
-F:	Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
 F:	Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
 F:	drivers/pci/controller/dwc/*imx6*
 
-- 
2.17.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC 1/2] dt-bindings: PCI: imx6: add fsl,imx6q-pcie.yaml
  2021-07-22  8:22 ` [RFC 1/2] dt-bindings: PCI: imx6: add fsl,imx6q-pcie.yaml Richard Zhu
@ 2021-07-22 14:37   ` Rob Herring
  2021-07-23  3:11     ` Richard Zhu
  0 siblings, 1 reply; 6+ messages in thread
From: Rob Herring @ 2021-07-22 14:37 UTC (permalink / raw)
  To: Richard Zhu
  Cc: linux-imx, linux-arm-kernel, l.stach, galak, shawnguo,
	linux-kernel, devicetree

On Thu, 22 Jul 2021 16:22:34 +0800, Richard Zhu wrote:
> Convert the fsl,imx6q-pcie.txt into a schema.
> 
> Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
> ---
>  .../bindings/pci/fsl,imx6q-pcie.yaml          | 212 ++++++++++++++++++
>  MAINTAINERS                                   |   1 +
>  2 files changed, 213 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
make[1]: *** Deleting file 'Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.example.dts'
Traceback (most recent call last):
  File "/usr/local/bin/dt-extract-example", line 45, in <module>
    binding = yaml.load(open(args.yamlfile, encoding='utf-8').read())
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", line 434, in load
    return constructor.get_single_data()
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 122, in get_single_data
    return self.construct_document(node)
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 132, in construct_document
    for _dummy in generator:
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 722, in construct_yaml_map
    value = self.construct_mapping(node)
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 446, in construct_mapping
    return BaseConstructor.construct_mapping(self, node, deep=deep)
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 264, in construct_mapping
    if self.check_mapping_key(node, key_node, mapping, key, value):
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 295, in check_mapping_key
    raise DuplicateKeyError(*args)
ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping
  in "<unicode string>", line 22, column 5
found duplicate key "const" with value "fsl,imx6sx-pcie" (original value: "fsl,imx6q-pcie")
  in "<unicode string>", line 23, column 5

To suppress this check see:
    http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys

Duplicate keys will become an error in future releases, and are errors
by default when using the new API.

make[1]: *** [Documentation/devicetree/bindings/Makefile:20: Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.example.dts] Error 1
make[1]: *** Waiting for unfinished jobs....
Traceback (most recent call last):
  File "/usr/local/bin/dt-doc-validate", line 67, in <module>
    ret = check_doc(f)
  File "/usr/local/bin/dt-doc-validate", line 25, in check_doc
    testtree = dtschema.load(filename, line_number=line_number)
  File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 623, in load
    return yaml.load(f.read())
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", line 434, in load
    return constructor.get_single_data()
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 122, in get_single_data
    return self.construct_document(node)
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 132, in construct_document
    for _dummy in generator:
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 722, in construct_yaml_map
    value = self.construct_mapping(node)
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 446, in construct_mapping
    return BaseConstructor.construct_mapping(self, node, deep=deep)
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 264, in construct_mapping
    if self.check_mapping_key(node, key_node, mapping, key, value):
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 295, in check_mapping_key
    raise DuplicateKeyError(*args)
ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping
  in "<unicode string>", line 22, column 5
found duplicate key "const" with value "fsl,imx6sx-pcie" (original value: "fsl,imx6q-pcie")
  in "<unicode string>", line 23, column 5

To suppress this check see:
    http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys

Duplicate keys will become an error in future releases, and are errors
by default when using the new API.

make[1]: *** Deleting file 'Documentation/devicetree/bindings/processed-schema-examples.json'
Traceback (most recent call last):
  File "/usr/local/bin/dt-mk-schema", line 38, in <module>
    schemas = dtschema.process_schemas(args.schemas, core_schema=(not args.useronly))
  File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 585, in process_schemas
    sch = process_schema(os.path.abspath(filename))
  File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 558, in process_schema
    schema = load_schema(filename)
  File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 125, in load_schema
    return do_load(os.path.join(schema_basedir, schema))
  File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 111, in do_load
    return yaml.load(f.read())
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", line 434, in load
    return constructor.get_single_data()
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 122, in get_single_data
    return self.construct_document(node)
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 132, in construct_document
    for _dummy in generator:
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 722, in construct_yaml_map
    value = self.construct_mapping(node)
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 446, in construct_mapping
    return BaseConstructor.construct_mapping(self, node, deep=deep)
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 264, in construct_mapping
    if self.check_mapping_key(node, key_node, mapping, key, value):
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 295, in check_mapping_key
    raise DuplicateKeyError(*args)
ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping
  in "<unicode string>", line 22, column 5
found duplicate key "const" with value "fsl,imx6sx-pcie" (original value: "fsl,imx6q-pcie")
  in "<unicode string>", line 23, column 5

To suppress this check see:
    http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys

Duplicate keys will become an error in future releases, and are errors
by default when using the new API.

make[1]: *** [Documentation/devicetree/bindings/Makefile:62: Documentation/devicetree/bindings/processed-schema-examples.json] Error 1
make: *** [Makefile:1418: dt_binding_check] Error 2
\ndoc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1508586

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [RFC 1/2] dt-bindings: PCI: imx6: add fsl,imx6q-pcie.yaml
  2021-07-22 14:37   ` Rob Herring
@ 2021-07-23  3:11     ` Richard Zhu
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Zhu @ 2021-07-23  3:11 UTC (permalink / raw)
  To: Rob Herring
  Cc: dl-linux-imx, linux-arm-kernel, l.stach, galak, shawnguo,
	linux-kernel, devicetree


> -----Original Message-----
> From: Rob Herring <robh@kernel.org>
> Sent: Thursday, July 22, 2021 10:37 PM
> To: Richard Zhu <hongxing.zhu@nxp.com>
> Cc: dl-linux-imx <linux-imx@nxp.com>; linux-arm-kernel@lists.infradead.org;
> l.stach@pengutronix.de; galak@kernel.crashing.org; shawnguo@kernel.org;
> linux-kernel@vger.kernel.org; devicetree@vger.kernel.org
> Subject: Re: [RFC 1/2] dt-bindings: PCI: imx6: add fsl,imx6q-pcie.yaml
> 
> On Thu, 22 Jul 2021 16:22:34 +0800, Richard Zhu wrote:
> > Convert the fsl,imx6q-pcie.txt into a schema.
> >
> > Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
> > ---
> >  .../bindings/pci/fsl,imx6q-pcie.yaml          | 212
> ++++++++++++++++++
> >  MAINTAINERS                                   |   1 +
> >  2 files changed, 213 insertions(+)
> >  create mode 100644
> > Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
> >
> 
> My bot found errors running 'make DT_CHECKER_FLAGS=-m
> dt_binding_check'
> on your patch (DT_CHECKER_FLAGS is new in v5.13):
> 
> yamllint warnings/errors:
> 
> dtschema/dtc warnings/errors:
> make[1]: *** Deleting file
> 'Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.example.dts'
> Traceback (most recent call last):
>   File "/usr/local/bin/dt-extract-example", line 45, in <module>
>     binding = yaml.load(open(args.yamlfile, encoding='utf-8').read())
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", line
> 434, in load
>     return constructor.get_single_data()
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 122, in get_single_data
>     return self.construct_document(node)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 132, in construct_document
>     for _dummy in generator:
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 722, in construct_yaml_map
>     value = self.construct_mapping(node)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 446, in construct_mapping
>     return BaseConstructor.construct_mapping(self, node, deep=deep)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 264, in construct_mapping
>     if self.check_mapping_key(node, key_node, mapping, key, value):
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 295, in check_mapping_key
>     raise DuplicateKeyError(*args)
> ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping
>   in "<unicode string>", line 22, column 5 found duplicate key "const" with
> value "fsl,imx6sx-pcie" (original value: "fsl,imx6q-pcie")
>   in "<unicode string>", line 23, column 5
> 
> To suppress this check see:
> 
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fyaml.re
> adthedocs.io%2Fen%2Flatest%2Fapi.html%23duplicate-keys&amp;data=04%
> 7C01%7Chongxing.zhu%40nxp.com%7C6171b22cdb104315be0d08d94d1e36
> 3f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6376256144309
> 20703%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2l
> uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=4Mu4S%2B6
> KeTg4gaCCL2Q%2ByjO7FbENp5LGHVRPuBhtvCc%3D&amp;reserved=0
> 
> Duplicate keys will become an error in future releases, and are errors by
> default when using the new API.
> 
> make[1]: *** [Documentation/devicetree/bindings/Makefile:20:
> Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.example.dts] Error 1
> make[1]: *** Waiting for unfinished jobs....
> Traceback (most recent call last):
>   File "/usr/local/bin/dt-doc-validate", line 67, in <module>
>     ret = check_doc(f)
>   File "/usr/local/bin/dt-doc-validate", line 25, in check_doc
>     testtree = dtschema.load(filename, line_number=line_number)
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 623, in
> load
>     return yaml.load(f.read())
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", line
> 434, in load
>     return constructor.get_single_data()
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 122, in get_single_data
>     return self.construct_document(node)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 132, in construct_document
>     for _dummy in generator:
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 722, in construct_yaml_map
>     value = self.construct_mapping(node)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 446, in construct_mapping
>     return BaseConstructor.construct_mapping(self, node, deep=deep)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 264, in construct_mapping
>     if self.check_mapping_key(node, key_node, mapping, key, value):
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 295, in check_mapping_key
>     raise DuplicateKeyError(*args)
> ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping
>   in "<unicode string>", line 22, column 5 found duplicate key "const" with
> value "fsl,imx6sx-pcie" (original value: "fsl,imx6q-pcie")
>   in "<unicode string>", line 23, column 5
> 
> To suppress this check see:
> 
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fyaml.re
> adthedocs.io%2Fen%2Flatest%2Fapi.html%23duplicate-keys&amp;data=04%
> 7C01%7Chongxing.zhu%40nxp.com%7C6171b22cdb104315be0d08d94d1e36
> 3f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6376256144309
> 20703%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2l
> uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=4Mu4S%2B6
> KeTg4gaCCL2Q%2ByjO7FbENp5LGHVRPuBhtvCc%3D&amp;reserved=0
> 
> Duplicate keys will become an error in future releases, and are errors by
> default when using the new API.
> 
> make[1]: *** Deleting file
> 'Documentation/devicetree/bindings/processed-schema-examples.json'
> Traceback (most recent call last):
>   File "/usr/local/bin/dt-mk-schema", line 38, in <module>
>     schemas = dtschema.process_schemas(args.schemas,
> core_schema=(not args.useronly))
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 585, in
> process_schemas
>     sch = process_schema(os.path.abspath(filename))
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 558, in
> process_schema
>     schema = load_schema(filename)
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 125, in
> load_schema
>     return do_load(os.path.join(schema_basedir, schema))
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 111, in
> do_load
>     return yaml.load(f.read())
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", line
> 434, in load
>     return constructor.get_single_data()
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 122, in get_single_data
>     return self.construct_document(node)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 132, in construct_document
>     for _dummy in generator:
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 722, in construct_yaml_map
>     value = self.construct_mapping(node)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 446, in construct_mapping
>     return BaseConstructor.construct_mapping(self, node, deep=deep)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 264, in construct_mapping
>     if self.check_mapping_key(node, key_node, mapping, key, value):
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 295, in check_mapping_key
>     raise DuplicateKeyError(*args)
> ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping
>   in "<unicode string>", line 22, column 5 found duplicate key "const" with
> value "fsl,imx6sx-pcie" (original value: "fsl,imx6q-pcie")
>   in "<unicode string>", line 23, column 5
> 
> To suppress this check see:
> 
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fyaml.re
> adthedocs.io%2Fen%2Flatest%2Fapi.html%23duplicate-keys&amp;data=04%
> 7C01%7Chongxing.zhu%40nxp.com%7C6171b22cdb104315be0d08d94d1e36
> 3f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6376256144309
> 20703%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2l
> uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=4Mu4S%2B6
> KeTg4gaCCL2Q%2ByjO7FbENp5LGHVRPuBhtvCc%3D&amp;reserved=0
> 
> Duplicate keys will become an error in future releases, and are errors by
> default when using the new API.
> 
> make[1]: *** [Documentation/devicetree/bindings/Makefile:62:
> Documentation/devicetree/bindings/processed-schema-examples.json] Error
> 1
> make: *** [Makefile:1418: dt_binding_check] Error 2 \ndoc reference errors
> (make refcheckdocs):
> 
> See
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatch
> work.ozlabs.org%2Fpatch%2F1508586&amp;data=04%7C01%7Chongxing.zhu
> %40nxp.com%7C6171b22cdb104315be0d08d94d1e363f%7C686ea1d3bc2b4
> c6fa92cd99c5c301635%7C0%7C0%7C637625614430920703%7CUnknown%
> 7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haW
> wiLCJXVCI6Mn0%3D%7C1000&amp;sdata=1x%2BNE6KyvoYSRAPFxPVXKYu4
> Md59o%2F9CtEKqaCsOwuU%3D&amp;reserved=0
> 
> This check can fail if there are any dependencies. The base for a patch series
> is generally the most recent rc1.
> 
> If you already ran 'make dt_binding_check' and didn't see the above error(s),
> then make sure 'yamllint' is installed and dt-schema is up to
> date:
> 
> pip3 install dtschema --upgrade
> 
> Please check and re-submit.
[Richard Zhu] Got that. Thanks for your help. Will submit the patch-set after the errors are fixed.

Best Regards
Richard Zhu


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC 0/2] convert fsl,imx6q-pcie.txt to yaml
  2021-07-22  8:22 [RFC 0/2] convert fsl,imx6q-pcie.txt to yaml Richard Zhu
  2021-07-22  8:22 ` [RFC 1/2] dt-bindings: PCI: imx6: add fsl,imx6q-pcie.yaml Richard Zhu
  2021-07-22  8:22 ` [RFC 2/2] dt-bindings: PCI: imx6: remove fsl,imx6q-pcie.txt Richard Zhu
@ 2021-07-23 19:56 ` Rob Herring
  2 siblings, 0 replies; 6+ messages in thread
From: Rob Herring @ 2021-07-23 19:56 UTC (permalink / raw)
  To: Richard Zhu
  Cc: galak, shawnguo, devicetree, l.stach, linux-imx,
	linux-arm-kernel, linux-kernel

On Thu, Jul 22, 2021 at 04:22:33PM +0800, Richard Zhu wrote:
> [RFC 1/2] dt-bindings: PCI: imx6: add fsl,imx6q-pcie.yaml
> [RFC 2/2] dt-bindings: PCI: imx6: remove fsl,imx6q-pcie.txt

One patch for this please.

Also, there's now a schema for DW PCI in my tree, so this should be 
based on that.

> 
> .../devicetree/bindings/pci/fsl,imx6q-pcie.txt     | 102 ----------
> .../devicetree/bindings/pci/fsl,imx6q-pcie.yaml    | 212 +++++++++++++++++++++
> MAINTAINERS                                        |   2 +-
> 3 files changed, 213 insertions(+), 103 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
> create mode 100644 Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
> 
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-07-23 19:56 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-22  8:22 [RFC 0/2] convert fsl,imx6q-pcie.txt to yaml Richard Zhu
2021-07-22  8:22 ` [RFC 1/2] dt-bindings: PCI: imx6: add fsl,imx6q-pcie.yaml Richard Zhu
2021-07-22 14:37   ` Rob Herring
2021-07-23  3:11     ` Richard Zhu
2021-07-22  8:22 ` [RFC 2/2] dt-bindings: PCI: imx6: remove fsl,imx6q-pcie.txt Richard Zhu
2021-07-23 19:56 ` [RFC 0/2] convert fsl,imx6q-pcie.txt to yaml Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).