From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
To: "Pali Rohár" <pali@kernel.org>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Mauri Sandberg <maukka@ext.kapsi.fi>,
devicetree@vger.kernel.org, linux-pci@vger.kernel.org
Subject: Re: How to correctly define memory range of PCIe config space
Date: Sat, 6 Aug 2022 16:36:13 +0530 [thread overview]
Message-ID: <20220806110613.GB4516@thinkpad> (raw)
In-Reply-To: <20220710225108.bgedria6igtqpz5l@pali>
Hi Pali,
On Mon, Jul 11, 2022 at 12:51:08AM +0200, Pali Rohár wrote:
> Hello!
>
> Together with Mauri we are working on extending pci-mvebu.c driver to
> support Orion PCIe controllers as these controllers are same as mvebu
> controller.
>
> There is just one big difference: Config space access on Orion is
> different. mvebu uses classic Intel CFC/CF8 registers for indirect
> config space access but Orion has direct memory mapped config space.
> So Orion DTS files need to have this memory range for config space and
> pci-mvebu.c driver have to read this range from DTS and properly map it.
>
> So my question is: How to properly define config space range in device
> tree file? In which device tree property and in which format? Please
> note that this memory range of config space is PCIe root port specific
> and it requires its own MBUS_ID() like memory range of PCIe MEM and PCIe
> IO mapping. Please look e.g. at armada-385.dtsi how are MBUS_ID() used:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/armada-385.dtsi
>
On most of the platforms, the standard "reg" property is used to specify the
config space together with other device specific memory regions. For instance,
on the Qcom platforms based on Designware IP, we have below regions:
reg = <0xfc520000 0x2000>,
<0xff000000 0x1000>,
<0xff001000 0x1000>,
<0xff002000 0x2000>;
reg-names = "parf", "dbi", "elbi", "config";
Where "parf" and "elbi" are Qcom controller specific regions, while "dbi" and
"config" (config space) are common to all Designware IPs.
These properties are documented in: Documentation/devicetree/bindings/pci/qcom,pcie.yaml
Hope this helps!
Thanks,
Mani
> Krzysztof, would you be able to help with proper definition of this
> property, so it would be fine also for schema checkers or other
> automatic testing tools?
--
மணிவண்ணன் சதாசிவம்
next prev parent reply other threads:[~2022-08-06 11:06 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-10 22:51 How to correctly define memory range of PCIe config space Pali Rohár
2022-07-23 9:05 ` Pali Rohár
2022-08-05 12:45 ` Pali Rohár
2022-08-06 11:06 ` Manivannan Sadhasivam [this message]
2022-08-06 11:17 ` Pali Rohár
2022-08-06 12:16 ` Manivannan Sadhasivam
2022-08-06 12:23 ` Pali Rohár
2022-08-06 12:46 ` Manivannan Sadhasivam
2022-08-09 16:13 ` Rob Herring
2022-08-09 15:59 ` Rob Herring
2022-08-09 16:29 ` Pali Rohár
2022-08-09 17:06 ` Rob Herring
2022-08-09 17:47 ` Pali Rohár
2022-09-05 17:02 ` Pali Rohár
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=20220806110613.GB4516@thinkpad \
--to=manivannan.sadhasivam@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-pci@vger.kernel.org \
--cc=maukka@ext.kapsi.fi \
--cc=pali@kernel.org \
--cc=robh+dt@kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).