From: Arnd Bergmann <arnd@arndb.de>
To: linux-arm-kernel@lists.infradead.org
Cc: Tanmay Inamdar <tinamdar@apm.com>,
Bjorn Helgaas <bhelgaas@google.com>,
Grant Likely <grant.likely@linaro.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Rob Landley <rob@landley.net>,
devicetree@vger.kernel.org, linux-doc@vger.kernel.org,
linux-pci@vger.kernel.org, patches@apm.com,
linux-kernel@vger.kernel.org, jcm@redhat.com
Subject: Re: [RFC PATCH 3/3] dt-bindings: pci: xgene pcie device tree bindings
Date: Fri, 3 Jan 2014 10:49:20 +0100 [thread overview]
Message-ID: <201401031049.20932.arnd@arndb.de> (raw)
In-Reply-To: <1387785725-24262-4-git-send-email-tinamdar@apm.com>
On Monday 23 December 2013, Tanmay Inamdar wrote:
> This patch adds the bindings for X-Gene PCIe driver. The driver resides
> under 'drivers/pci/host/pcie-xgene.c' file.
>
> Signed-off-by: Tanmay Inamdar <tinamdar@apm.com>
> ---
> .../devicetree/bindings/pci/xgene-pcie.txt | 43 ++++++++++++++++++++
> 1 file changed, 43 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pci/xgene-pcie.txt
>
> diff --git a/Documentation/devicetree/bindings/pci/xgene-pcie.txt b/Documentation/devicetree/bindings/pci/xgene-pcie.txt
> new file mode 100644
> index 0000000..d92da4f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pci/xgene-pcie.txt
> @@ -0,0 +1,43 @@
> +* AppliedMicro X-Gene PCIe interface
> +
> +Required properties:
> +- status: Either "ok" or "disabled".
> +- device_type: set to "pci"
> +- compatible: should contain "xgene,pcie" to identify the core.
> +- reg: base addresses and lengths of the pcie controller configuration
> + space register.
> +- #address-cells: set to <3>
> +- #size-cells: set to <2>
> +- ranges: ranges for the PCI memory, I/O regions, config and MSI regions
> +- #interrupt-cells: set to <1>
> +- interrupt-map-mask and interrupt-map: standard PCI properties
> + to define the mapping of the PCIe interface to interrupt
> + numbers.
> +- clocks: from common clock binding: handle to pci clock.
> +- clock-names: from common clock binding. Should be "pcieclk".
> +
Better use an anonymous clock?
The driver also seems to use a phy that is not defined here.
> +Example:
> +
> +SoC specific DT Entry:
> + pcie0: pcie@1f2b0000 {
> + status = "disabled";
> + device_type = "pci";
> + compatible = "xgene,pcie";
> + #interrupt-cells = <1>;
> + #size-cells = <2>;
> + #address-cells = <3>;
> + reg = < 0x00 0x1f2b0000 0x0 0x00010000>;
> + ranges = <0x02000000 0x0 0x00000000 0xe0 0x00000000 0x0 0x10000000 /* mem*/
This is an awfully small memory space for a 64 bit machine. Is that a hardware bug you
are working around? If not, please make it as large as you can to allow for arbitrary
extension cards with large BARs, at least 4GB.
Also, do you support no prefetchable memory?
> + 0x01000000 0x0 0x80000000 0xe0 0x80000000 0x0 0x00010000 /* io */
I/O space at 0x80000000? That won't work with a lot of devices. Can you make it start
at bus address 0?
> + 0x00000000 0x0 0xd0000000 0xe0 0xd0000000 0x0 0x00200000 /* cfg */
config space is not normally in the ranges property, and I think you will need
it in the pcie node itself as a 'reg' property so the code can access it.
> + 0x00000000 0x0 0x79000000 0x00 0x79000000 0x0 0x00800000>; /* msi */
Same here. Also I suspect this is a separate irqchip that isn't actually part
of the PCIe host. If they are separate devices, I'd strongly recommend modeling
them as separate device-nodes in DT to make reuse easier.
> + interrupt-map-mask = <0x0 0x0 0x0 0x7>;
> + interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1>;
Only one IRQ for all devices?
> + clocks = <&pcie0clk 0>;
> + clock-names = "pcieclk"
> + };
> +
> +Board specific DT Entry:
> + &pcie0 {
> + status = "ok";
> + };
Arnd
next prev parent reply other threads:[~2014-01-03 9:49 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-23 8:02 [RFC PATCH 0/3] APM X-Gene PCIe driver Tanmay Inamdar
2013-12-23 8:02 ` [RFC PATCH 1/3] pci: APM X-Gene PCIe controller driver Tanmay Inamdar
2014-01-02 21:08 ` Bjorn Helgaas
2014-01-03 12:07 ` Arnd Bergmann
2014-01-07 2:41 ` Tanmay Inamdar
2014-01-07 9:27 ` Arnd Bergmann
2014-01-10 1:20 ` Tanmay Inamdar
2014-01-06 1:47 ` Jingoo Han
2014-01-07 2:45 ` Tanmay Inamdar
2014-01-07 3:31 ` Jingoo Han
2013-12-23 8:02 ` [RFC PATCH 2/3] arm64: dts: APM X-Gene PCIe device tree nodes Tanmay Inamdar
2013-12-23 17:46 ` Jason Gunthorpe
2014-01-02 21:56 ` Tanmay Inamdar
2014-01-03 0:52 ` Jason Gunthorpe
2014-01-07 2:56 ` Tanmay Inamdar
2014-01-07 17:27 ` Jason Gunthorpe
2014-01-10 1:30 ` Tanmay Inamdar
2013-12-23 8:02 ` [RFC PATCH 3/3] dt-bindings: pci: xgene pcie device tree bindings Tanmay Inamdar
2014-01-03 9:49 ` Arnd Bergmann [this message]
2014-01-07 3:04 ` Tanmay Inamdar
2014-01-07 15:35 ` Arnd Bergmann
2014-01-07 15:44 ` Arnd Bergmann
2014-01-07 18:31 ` Jason Gunthorpe
2014-01-10 1:32 ` Tanmay Inamdar
2014-01-11 0:12 ` Tanmay Inamdar
2014-01-11 13:06 ` Arnd Bergmann
2013-12-23 8:56 ` [RFC PATCH 0/3] APM X-Gene PCIe driver Tanmay Inamdar
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=201401031049.20932.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=catalin.marinas@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=grant.likely@linaro.org \
--cc=jcm@redhat.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=patches@apm.com \
--cc=rob@landley.net \
--cc=tinamdar@apm.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox