From: Rob Herring <robh@kernel.org>
To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Cc: andrew.murray@arm.com, maz@kernel.org,
linux-kernel@vger.kernel.org, Eric Anholt <eric@anholt.net>,
Stefan Wahren <wahrenst@gmx.net>,
Florian Fainelli <f.fainelli@gmail.com>,
bcm-kernel-feedback-list@broadcom.com,
Bjorn Helgaas <bhelgaas@google.com>,
james.quinlan@broadcom.com, mbrugger@suse.com,
phil@raspberrypi.org, jeremy.linton@arm.com,
Mark Rutland <mark.rutland@arm.com>,
linux-arm-kernel@lists.infradead.org,
linux-rpi-kernel@lists.infradead.org, linux-pci@vger.kernel.org,
devicetree@vger.kernel.org
Subject: Re: [PATCH v2 2/6] dt-bindings: PCI: Add bindings for brcmstb's PCIe device
Date: Mon, 18 Nov 2019 15:23:12 -0600 [thread overview]
Message-ID: <20191118212312.GA24969@bogus> (raw)
In-Reply-To: <20191112155926.16476-3-nsaenzjulienne@suse.de>
On Tue, Nov 12, 2019 at 04:59:21PM +0100, Nicolas Saenz Julienne wrote:
> From: Jim Quinlan <james.quinlan@broadcom.com>
>
> The DT bindings description of the brcmstb PCIe device is described.
> This node can only be used for now on the Raspberry Pi 4.
>
> Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com>
> Co-developed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
> Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
>
> ---
>
> Changes since v1:
> - Fix commit Subject
> - Remove linux,pci-domain
>
> This was based on Jim's original submission[1], converted to yaml and
> adapted to the RPi4 case.
>
> [1] https://patchwork.kernel.org/patch/10605937/
>
> .../bindings/pci/brcm,stb-pcie.yaml | 110 ++++++++++++++++++
> 1 file changed, 110 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
>
> diff --git a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
> new file mode 100644
> index 000000000000..4cbb18821300
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
> @@ -0,0 +1,110 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Brcmstb PCIe Host Controller Device Tree Bindings
> +
> +maintainers:
> + - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
> +
I added a common PCI schema to dt-schema. You can reference it here:
allOf:
- $ref: /schemas/pci/pci-bus.yaml#
> +properties:
> + compatible:
> + const: brcm,bcm2711-pcie # The Raspberry Pi 4
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + minItems: 1
> + maxItems: 2
> + items:
> + - description: PCIe host controller
> + - description: builtin MSI controller
> +
> + interrupt-names:
> + minItems: 1
> + maxItems: 2
> + items:
> + - const: pcie
> + - const: msi
> +
> + "#address-cells":
> + const: 3
> +
> + "#size-cells":
> + const: 2
> +
> + "#interrupt-cells":
> + const: 1
> +
> + interrupt-map-mask: true
> +
> + interrupt-map: true
Drop all these as the pci-bus.yaml will cover them.
> +
> + ranges: true
Do you know many entries, if not, you can drop it too?
> +
> + dma-ranges: true
Do you know many entries, if not, you can drop it too?
> +
> + clocks:
> + maxItems: 1
> +
> + clock-names:
> + items:
> + - const: sw_pcie
> +
> + msi-controller:
> + description: Identifies the node as an MSI controller.
> + type: boolean
> +
> + msi-parent:
> + description: MSI controller the device is capable of using.
> + $ref: /schemas/types.yaml#/definitions/phandle
Assume these 2 have a type defined.
> +
> + brcm,enable-ssc:
> + description: Indicates usage of spread-spectrum clocking.
> + type: boolean
> +
> +required:
> + - compatible
> + - reg
> + - "#address-cells"
> + - "#size-cells"
> + - "#interrupt-cells"
> + - interrupt-map-mask
> + - interrupt-map
> + - ranges
> + - dma-ranges
You can drop ranges, #address-cells and #size-cells as they are required
in pci-bus.yaml.
Shouldn't interrupts, interrupt-names, and msi-controller all be
required?
> +
> +additionalProperties: false
This won't work having the commmon binding, but
'unevaluatedProperties: false' will (eventually when json-schema draft8
is supported).
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> + scb {
> + #address-cells = <2>;
> + #size-cells = <1>;
> + pcie0: pcie@7d500000 {
> + compatible = "brcm,bcm2711-pcie";
> + reg = <0x0 0x7d500000 0x9310>;
> + #address-cells = <3>;
> + #size-cells = <2>;
> + #interrupt-cells = <1>;
> + interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "pcie", "msi";
> + interrupt-map-mask = <0x0 0x0 0x0 0x7>;
> + interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH
> + 0 0 0 2 &gicv2 GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH
> + 0 0 0 3 &gicv2 GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH
> + 0 0 0 4 &gicv2 GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
Bracket each entry. The schema is making this stricter.
Rob
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Cc: Mark Rutland <mark.rutland@arm.com>,
devicetree@vger.kernel.org,
Florian Fainelli <f.fainelli@gmail.com>,
maz@kernel.org, phil@raspberrypi.org,
linux-kernel@vger.kernel.org, jeremy.linton@arm.com,
Eric Anholt <eric@anholt.net>,
mbrugger@suse.com, bcm-kernel-feedback-list@broadcom.com,
Stefan Wahren <wahrenst@gmx.net>,
james.quinlan@broadcom.com, linux-pci@vger.kernel.org,
Bjorn Helgaas <bhelgaas@google.com>,
andrew.murray@arm.com, linux-arm-kernel@lists.infradead.org,
linux-rpi-kernel@lists.infradead.org
Subject: Re: [PATCH v2 2/6] dt-bindings: PCI: Add bindings for brcmstb's PCIe device
Date: Mon, 18 Nov 2019 15:23:12 -0600 [thread overview]
Message-ID: <20191118212312.GA24969@bogus> (raw)
In-Reply-To: <20191112155926.16476-3-nsaenzjulienne@suse.de>
On Tue, Nov 12, 2019 at 04:59:21PM +0100, Nicolas Saenz Julienne wrote:
> From: Jim Quinlan <james.quinlan@broadcom.com>
>
> The DT bindings description of the brcmstb PCIe device is described.
> This node can only be used for now on the Raspberry Pi 4.
>
> Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com>
> Co-developed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
> Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
>
> ---
>
> Changes since v1:
> - Fix commit Subject
> - Remove linux,pci-domain
>
> This was based on Jim's original submission[1], converted to yaml and
> adapted to the RPi4 case.
>
> [1] https://patchwork.kernel.org/patch/10605937/
>
> .../bindings/pci/brcm,stb-pcie.yaml | 110 ++++++++++++++++++
> 1 file changed, 110 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
>
> diff --git a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
> new file mode 100644
> index 000000000000..4cbb18821300
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
> @@ -0,0 +1,110 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Brcmstb PCIe Host Controller Device Tree Bindings
> +
> +maintainers:
> + - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
> +
I added a common PCI schema to dt-schema. You can reference it here:
allOf:
- $ref: /schemas/pci/pci-bus.yaml#
> +properties:
> + compatible:
> + const: brcm,bcm2711-pcie # The Raspberry Pi 4
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + minItems: 1
> + maxItems: 2
> + items:
> + - description: PCIe host controller
> + - description: builtin MSI controller
> +
> + interrupt-names:
> + minItems: 1
> + maxItems: 2
> + items:
> + - const: pcie
> + - const: msi
> +
> + "#address-cells":
> + const: 3
> +
> + "#size-cells":
> + const: 2
> +
> + "#interrupt-cells":
> + const: 1
> +
> + interrupt-map-mask: true
> +
> + interrupt-map: true
Drop all these as the pci-bus.yaml will cover them.
> +
> + ranges: true
Do you know many entries, if not, you can drop it too?
> +
> + dma-ranges: true
Do you know many entries, if not, you can drop it too?
> +
> + clocks:
> + maxItems: 1
> +
> + clock-names:
> + items:
> + - const: sw_pcie
> +
> + msi-controller:
> + description: Identifies the node as an MSI controller.
> + type: boolean
> +
> + msi-parent:
> + description: MSI controller the device is capable of using.
> + $ref: /schemas/types.yaml#/definitions/phandle
Assume these 2 have a type defined.
> +
> + brcm,enable-ssc:
> + description: Indicates usage of spread-spectrum clocking.
> + type: boolean
> +
> +required:
> + - compatible
> + - reg
> + - "#address-cells"
> + - "#size-cells"
> + - "#interrupt-cells"
> + - interrupt-map-mask
> + - interrupt-map
> + - ranges
> + - dma-ranges
You can drop ranges, #address-cells and #size-cells as they are required
in pci-bus.yaml.
Shouldn't interrupts, interrupt-names, and msi-controller all be
required?
> +
> +additionalProperties: false
This won't work having the commmon binding, but
'unevaluatedProperties: false' will (eventually when json-schema draft8
is supported).
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> + scb {
> + #address-cells = <2>;
> + #size-cells = <1>;
> + pcie0: pcie@7d500000 {
> + compatible = "brcm,bcm2711-pcie";
> + reg = <0x0 0x7d500000 0x9310>;
> + #address-cells = <3>;
> + #size-cells = <2>;
> + #interrupt-cells = <1>;
> + interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "pcie", "msi";
> + interrupt-map-mask = <0x0 0x0 0x0 0x7>;
> + interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH
> + 0 0 0 2 &gicv2 GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH
> + 0 0 0 3 &gicv2 GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH
> + 0 0 0 4 &gicv2 GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
Bracket each entry. The schema is making this stricter.
Rob
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-11-18 21:23 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-12 15:59 [PATCH v2 0/6] Raspberry Pi 4 PCIe support Nicolas Saenz Julienne
2019-11-12 15:59 ` Nicolas Saenz Julienne
2019-11-12 15:59 ` Nicolas Saenz Julienne
2019-11-12 15:59 ` [PATCH v2 1/6] linux/log2.h: Add roundup/rounddown_pow_two64() family of functions Nicolas Saenz Julienne
2019-11-12 15:59 ` Nicolas Saenz Julienne
2019-11-12 15:59 ` Nicolas Saenz Julienne
2019-11-19 11:13 ` Andrew Murray
2019-11-19 11:13 ` Andrew Murray
2019-11-19 11:30 ` Nicolas Saenz Julienne
2019-11-19 11:30 ` Nicolas Saenz Julienne
2019-11-19 12:43 ` Nicolas Saenz Julienne
2019-11-19 12:43 ` Nicolas Saenz Julienne
2019-11-19 16:28 ` Andrew Murray
2019-11-19 16:28 ` Andrew Murray
2019-11-19 16:55 ` Jason Gunthorpe
2019-11-19 16:55 ` Jason Gunthorpe
2019-11-19 16:55 ` Jason Gunthorpe
2019-11-19 17:00 ` Andrew Murray
2019-11-19 17:00 ` Andrew Murray
2019-11-19 17:00 ` Andrew Murray
2019-11-12 15:59 ` [PATCH v2 2/6] dt-bindings: PCI: Add bindings for brcmstb's PCIe device Nicolas Saenz Julienne
2019-11-12 15:59 ` Nicolas Saenz Julienne
2019-11-18 21:23 ` Rob Herring [this message]
2019-11-18 21:23 ` Rob Herring
2019-11-19 9:35 ` Nicolas Saenz Julienne
2019-11-19 9:35 ` Nicolas Saenz Julienne
2019-11-19 11:17 ` Andrew Murray
2019-11-19 11:17 ` Andrew Murray
2019-11-19 11:28 ` Nicolas Saenz Julienne
2019-11-19 11:28 ` Nicolas Saenz Julienne
2019-11-12 15:59 ` [PATCH v2 3/6] ARM: dts: bcm2711: Enable PCIe controller Nicolas Saenz Julienne
2019-11-12 15:59 ` Nicolas Saenz Julienne
2019-11-12 15:59 ` [PATCH v2 4/6] PCI: brcmstb: add Broadcom STB PCIe host controller driver Nicolas Saenz Julienne
2019-11-12 15:59 ` Nicolas Saenz Julienne
2019-11-19 16:25 ` Andrew Murray
2019-11-19 16:25 ` Andrew Murray
2019-11-19 18:20 ` Jeremy Linton
2019-11-19 18:20 ` Jeremy Linton
2019-11-20 20:24 ` Nicolas Saenz Julienne
2019-11-20 20:24 ` Nicolas Saenz Julienne
2019-11-19 18:34 ` Florian Fainelli
2019-11-19 18:34 ` Florian Fainelli
2019-11-21 12:16 ` Andrew Murray
2019-11-21 12:16 ` Andrew Murray
2019-11-20 19:53 ` Nicolas Saenz Julienne
2019-11-20 19:53 ` Nicolas Saenz Julienne
2019-11-21 12:03 ` Andrew Murray
2019-11-21 12:03 ` Andrew Murray
2019-11-21 12:59 ` Nicolas Saenz Julienne
2019-11-21 12:59 ` Nicolas Saenz Julienne
2019-11-21 15:44 ` Andrew Murray
2019-11-21 15:44 ` Andrew Murray
2019-11-21 21:07 ` Jim Quinlan
2019-11-21 21:07 ` Jim Quinlan
2019-11-22 14:59 ` Robin Murphy
2019-11-22 14:59 ` Robin Murphy
2019-11-21 13:26 ` Nicolas Saenz Julienne
2019-11-21 13:26 ` Nicolas Saenz Julienne
2019-11-21 15:46 ` Andrew Murray
2019-11-21 15:46 ` Andrew Murray
2019-11-12 15:59 ` [PATCH v2 5/6] PCI: brcmstb: add MSI capability Nicolas Saenz Julienne
2019-11-12 15:59 ` Nicolas Saenz Julienne
2019-11-13 13:49 ` Marc Zyngier
2019-11-13 13:49 ` Marc Zyngier
2019-11-21 15:38 ` Andrew Murray
2019-11-21 15:38 ` Andrew Murray
2019-11-21 17:19 ` Nicolas Saenz Julienne
2019-11-21 17:19 ` Nicolas Saenz Julienne
2019-11-12 15:59 ` [PATCH v2 6/6] MAINTAINERS: Add brcmstb PCIe controller Nicolas Saenz Julienne
2019-11-19 11:18 ` [PATCH v2 0/6] Raspberry Pi 4 PCIe support Andrew Murray
2019-11-19 11:18 ` Andrew Murray
2019-11-19 11:49 ` Nicolas Saenz Julienne
2019-11-19 11:49 ` Nicolas Saenz Julienne
2019-11-21 12:18 ` Andrew Murray
2019-11-21 12:18 ` Andrew Murray
2019-11-21 12:18 ` Andrew Murray
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191118212312.GA24969@bogus \
--to=robh@kernel.org \
--cc=andrew.murray@arm.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=bhelgaas@google.com \
--cc=devicetree@vger.kernel.org \
--cc=eric@anholt.net \
--cc=f.fainelli@gmail.com \
--cc=james.quinlan@broadcom.com \
--cc=jeremy.linton@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=mbrugger@suse.com \
--cc=nsaenzjulienne@suse.de \
--cc=phil@raspberrypi.org \
--cc=wahrenst@gmx.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.