From: Heiko Stuebner <heiko@sntech.de>
To: Shawn Lin <shawn.lin@rock-chips.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
Wenrui Li <wenrui.li@rock-chips.com>,
Rob Herring <robh+dt@kernel.org>,
devicetree@vger.kernel.org, Doug Anderson <dianders@chromium.org>,
linux-pci@vger.kernel.org, linux-rockchip@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] Documentation: add binding description of Rockchip PCIe controller
Date: Fri, 20 May 2016 13:20:06 +0200 [thread overview]
Message-ID: <3930626.4a3xBnzHhK@phil> (raw)
In-Reply-To: <1463740146-7106-1-git-send-email-shawn.lin@rock-chips.com>
Hi Shawn,
Am Freitag, 20. Mai 2016, 18:29:06 schrieb Shawn Lin:
> This patch add some required and optional properties for Rockchip
> PCIe controller. Also we add a example for how to use it.
>
> Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
>
> ---
>
> .../devicetree/bindings/pci/rockchip-pcie.txt | 93
> ++++++++++++++++++++++ 1 file changed, 93 insertions(+)
> create mode 100644
> Documentation/devicetree/bindings/pci/rockchip-pcie.txt
>
> diff --git a/Documentation/devicetree/bindings/pci/rockchip-pcie.txt
> b/Documentation/devicetree/bindings/pci/rockchip-pcie.txt new file mode
> 100644
> index 0000000..69a0804
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pci/rockchip-pcie.txt
> @@ -0,0 +1,93 @@
> +* Rockchip AXI PCIe Root Port Bridge DT description
> +
> +Required properties:
> +- #address-cells: Address representation for root ports, set to <3>
> +- #size-cells: Size representation for root ports, set to <2>
> +- #interrupt-cells: specifies the number of cells needed to encode an
> + interrupt source. The value must be 1.
> +- compatible: Should contain "rockchip,rk3399-pcie"
> +- reg: Two register ranges as listed in the reg-names property
> +- reg-names: The first entry must be "axi-base" for the core registers
> + The second entry must be "apb-base" for the client pcie registers
> +- clocks: Must contain an entry for each entry in clock-names.
> + See ../clocks/clock-bindings.txt for details.
> +- clock-names: Must include the following entries:
> + - "aclk_pcie"
> + - "aclk_perf_pcie"
> + - "hclk_pcie"
> + - "clk_pciephy_ref"
clock names are always in the scope of the node/driver, so the names could
easily be "aclk", "aclk-perf", "hclk", "phy".
Although from my cursory-glance at the phy-related code, it looks more like
it shouldn't be in the pcie-driver itself, but in a an actual phy-driver
(together with the phy reset and clock)?
> +- interrupts: Three interrupt entries must be specified.
> +- interrupt-names: Must include the following names
> + - "pcie-sys"
> + - "pcie-legacy"
> + - "pcie-client"
Same as above, names could simply be "sys", "legacy", "client"
> +- resets: Must contain five entries for each entry in reset-names.
> + See ../reset/reset.txt for details.
> +- reset-names: Must include the following names
> + - "phy-rst"
> + - "core-rst"
> + - "mgmt-rst"
> + - "mgmt-sticky-rst"
> + - "pipe-rst"
and again (= without the "-rst")
> +- rockchip,grf: phandle to the syscon managing the "general register
> files"
> +- pcie-conf: offset of pcie client block for configuration
> +- pcie-status: offset of pcie client block for status
> +- pcie-laneoff: offset of pcie client block for lane
These are GRF offsets (GRF_SOC_CON8, GRF_SOC_CON5_PCIE, GRF_SOC_STATUS1)
Those registers are generally prone to change (even their layout) for future
socs and I'd suggest instead of declaring them in the devicetree, move them
to the per-soc data in the rockchip_pcie_of_match struct.
But it looks as if they're pretty phy-specific, so see comment about possible
separate phy driver above.
> +- msi-parent: Link to the hardware entity that serves as the Message
> +- pinctrl-names : The pin control state names
> +- pinctrl-0: The "default" pinctrl state
I'm not sure if pinctrl-properties need to be described when you don't need
special handling in the form of additional pin states. The pcie part does
not do any pin-handling of its own.
> +- interrupt-map-mask and interrupt-map: standard PCI properties
> +- interrupt-controller: identifies the node as an interrupt controller
> +
> +Optional Property:
> +- ep-gpios: contain the entry for pre-reset gpio
> +- num-lanes: number of lanes to use
> +- assigned-clocks, assigned-clock-parents and assigned-clock-rates:
> standard + clock bindings. See ../clock/clock-bindings.txt
Again that (assigned-clocks handling) is not actual part of the pci-
controllers actions, but other parts and also described already elsewhere.
Heiko
next prev parent reply other threads:[~2016-05-20 11:20 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-20 10:28 [PATCH 0/2] Add Rockchip PCIe RC controller support Shawn Lin
2016-05-20 10:29 ` [PATCH 1/2] Documentation: add binding description of Rockchip PCIe controller Shawn Lin
2016-05-20 11:20 ` Heiko Stuebner [this message]
2016-05-21 3:55 ` Shawn Lin
2016-05-23 19:53 ` Heiko Stuebner
2016-05-24 1:42 ` Shawn Lin
2016-05-30 11:08 ` Marc Zyngier
2016-05-30 11:08 ` Marc Zyngier
[not found] ` <20160530120836.290f0d16-5wv7dgnIgG8@public.gmane.org>
2016-05-31 9:48 ` Shawn Lin
2016-05-31 10:09 ` Marc Zyngier
2016-05-31 10:09 ` Marc Zyngier
2016-05-20 10:29 ` [PATCH 2/2] pci: Add PCIe driver for Rockchip Soc Shawn Lin
2016-05-20 21:13 ` Heiko Stuebner
2016-05-23 0:48 ` Shawn Lin
2016-05-23 3:27 ` Shawn Lin
2016-05-23 15:15 ` Bharat Kumar Gogada
2016-05-24 1:28 ` Shawn Lin
2016-05-24 13:03 ` Arnd Bergmann
2016-05-24 13:03 ` Arnd Bergmann
2016-05-27 6:48 ` Wenrui Li
2016-05-27 7:13 ` Bharat Kumar Gogada
2016-05-27 7:13 ` Bharat Kumar Gogada
2016-05-27 10:31 ` Wenrui Li
2016-06-01 8:24 ` Arnd Bergmann
2016-06-01 8:24 ` Arnd Bergmann
2016-06-01 9:57 ` Shawn Lin
2016-06-01 9:57 ` Shawn Lin
2016-06-01 12:24 ` Arnd Bergmann
2016-06-01 12:24 ` Arnd Bergmann
2016-05-26 19:00 ` [2/2] " Rajat Jain
2016-05-27 12:25 ` [PATCH 2/2] " Marc Zyngier
2016-06-01 2:56 ` Wenrui Li
2016-06-01 2:56 ` Wenrui Li
2016-06-01 8:34 ` Marc Zyngier
[not found] ` <574E9E27.9070702-5wv7dgnIgG8@public.gmane.org>
2016-06-01 9:52 ` Wenrui Li
2016-06-03 8:55 ` Lorenzo Pieralisi
2016-06-03 8:55 ` Lorenzo Pieralisi
2016-06-03 9:01 ` Marc Zyngier
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=3930626.4a3xBnzHhK@phil \
--to=heiko@sntech.de \
--cc=bhelgaas@google.com \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=robh+dt@kernel.org \
--cc=shawn.lin@rock-chips.com \
--cc=wenrui.li@rock-chips.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 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.