LKML Archive on lore.kernel.org
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&data=04%
> 7C01%7Chongxing.zhu%40nxp.com%7C6171b22cdb104315be0d08d94d1e36
> 3f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6376256144309
> 20703%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2l
> uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=4Mu4S%2B6
> KeTg4gaCCL2Q%2ByjO7FbENp5LGHVRPuBhtvCc%3D&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&data=04%
> 7C01%7Chongxing.zhu%40nxp.com%7C6171b22cdb104315be0d08d94d1e36
> 3f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6376256144309
> 20703%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2l
> uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=4Mu4S%2B6
> KeTg4gaCCL2Q%2ByjO7FbENp5LGHVRPuBhtvCc%3D&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&data=04%
> 7C01%7Chongxing.zhu%40nxp.com%7C6171b22cdb104315be0d08d94d1e36
> 3f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6376256144309
> 20703%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2l
> uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=4Mu4S%2B6
> KeTg4gaCCL2Q%2ByjO7FbENp5LGHVRPuBhtvCc%3D&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&data=04%7C01%7Chongxing.zhu
> %40nxp.com%7C6171b22cdb104315be0d08d94d1e363f%7C686ea1d3bc2b4
> c6fa92cd99c5c301635%7C0%7C0%7C637625614430920703%7CUnknown%
> 7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haW
> wiLCJXVCI6Mn0%3D%7C1000&sdata=1x%2BNE6KyvoYSRAPFxPVXKYu4
> Md59o%2F9CtEKqaCsOwuU%3D&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).