From: Maxime Ripard <maxime.ripard@free-electrons.com>
To: srinivas.kandagatla@st.com
Cc: linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org,
Rob Herring <rob.herring@calxeda.com>,
Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Stephen Warren <swarren@wwwdotorg.org>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Rob Landley <rob@landley.net>,
Russell King <linux@arm.linux.org.uk>,
Stuart Menefy <stuart.menefy@st.com>, Pavel Machek <pavel@ucw.cz>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Len Brown <len.brown@intel.com>,
stephen.gallimore@st.com,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Giuseppe Cavallaro <peppe.cavallaro@st.com>,
Grant Likely <grant.likely@linaro.org>,
devicetree@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, kernel@stlinux.com,
linux-pm@vger.kernel.org
Subject: Re: [PATCH RFC 08/10] net: stmmac:sti: Add STi SOC glue driver.
Date: Fri, 29 Nov 2013 20:37:15 +0100 [thread overview]
Message-ID: <20131129193715.GA3441@lukather> (raw)
In-Reply-To: <1384264383-7653-1-git-send-email-srinivas.kandagatla@st.com>
[-- Attachment #1: Type: text/plain, Size: 4005 bytes --]
Hi Srinivas,
On Tue, Nov 12, 2013 at 01:53:03PM +0000, srinivas.kandagatla@st.com wrote:
> From: Srinivas Kandagatla <srinivas.kandagatla@st.com>
>
> STi series SOCs have a glue layer on top of the synopsis gmac IP, this
> glue layer needs to be configured before the gmac driver starts using
> the IP.
>
> This patch adds a platform driver for the glue layer which configures
> the IP before stmmac driver takes over.
>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com>
> ---
> .../devicetree/bindings/net/sti-dwmac.txt | 45 +++
> drivers/net/ethernet/stmicro/stmmac/Makefile | 1 +
> drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c | 294 ++++++++++++++++++++
> 3 files changed, 340 insertions(+), 0 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/net/sti-dwmac.txt
> create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c
>
> diff --git a/Documentation/devicetree/bindings/net/sti-dwmac.txt b/Documentation/devicetree/bindings/net/sti-dwmac.txt
> new file mode 100644
> index 0000000..5431d9d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/sti-dwmac.txt
> @@ -0,0 +1,45 @@
> +STMicroelectronics SoC DWMAC controller
> +
> +The device node has following properties.
> +
> +Required properties:
> + - compatible : Can be "st,stih415-dwmac", "st,stih416-dwmac" or
> + "st,stid127-dwmac".
> + - reg : Offset of the glue configuration register map in system
> + configuration regmap pointed by st,syscon property and size.
> + - st,syscon : Should be phandle to system configuration node which
> + encompases this glue registers.
> + - st,tx-retime-src: This specifies which clk is wired up to the mac for
> + retimeing tx lines. This is totally board dependent and can take one of the
> + posssible values from "txclk", "clk_125", "phyclk" or "clkgen".
> +
> +Optional properties:
> + - resets : phandle pointing to the system reset controller with correct
> + reset line index for ethernet reset.
> +
> +Sub-nodes:
> +The dwmac core should be added as subnode to STMicroelectronics dwmac glue.
> +- dwmac : The binding details of dwmac can be found in
> + Documentation/devicetree/bindings/net/stmmac.txt
> +
> +Example:
> +
> +ethernet0: ethernet0{
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "st,stih415-dwmac";
> + reg = <0x148 0x4>;
> + resets = <&softreset STIH415_ETH0_SOFTRESET>;
> + st,syscon = <&syscfg_rear>;
> + st,tx-retime-src = "clk_125";
> + ranges;
> +
> + dwmac0:dwmac@fe810000 {
> + device_type = "network";
> + compatible = "snps,dwmac", "snps,dwmac-3.610";
> + reg = <0xfe810000 0x8000>;
> + interrupts = <0 147 0>;
> + interrupt-names = "macirq";
> + ...
> + };
> +};
Sorry for stepping up so late, but I dont' think this is the right way
to do it.
DT is to describe how the hardware is laid out in a system agnostic
way, hence, it should not be impacted by the implementation details.
The fact that you use a glue to the dwmac driver *is* an
implementation detail.
I think you'd rather have something like:
dwmac0: ethernet@fe810000 {
compatible = "st,stih415-dwmac";
reg = <0xfe810000 0x8000 0x148 0x4>;
resets = <&softreset STIH415_ETH0_SOFTRESET>;
st,syscon = <&syscfg_rear>;
st,tx-retime-src = "clk_125";
interrupts = <0 147 0>;
interrupt-names = "macirq";
...
};
Then, the driver can have its init functions associated to the
compatible you're using, through the .data field of the of_device_id
structure, and you just call it in the generic driver at probe's time.
I don't really know what this syscon thing is either, but I think the
reg <0x148 0x4> is related to that.
Why don't you pass it directly in the st,syscon property, to have
something like <&syscfg_rear 0x148>?
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: maxime.ripard@free-electrons.com (Maxime Ripard)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RFC 08/10] net: stmmac:sti: Add STi SOC glue driver.
Date: Fri, 29 Nov 2013 20:37:15 +0100 [thread overview]
Message-ID: <20131129193715.GA3441@lukather> (raw)
In-Reply-To: <1384264383-7653-1-git-send-email-srinivas.kandagatla@st.com>
Hi Srinivas,
On Tue, Nov 12, 2013 at 01:53:03PM +0000, srinivas.kandagatla at st.com wrote:
> From: Srinivas Kandagatla <srinivas.kandagatla@st.com>
>
> STi series SOCs have a glue layer on top of the synopsis gmac IP, this
> glue layer needs to be configured before the gmac driver starts using
> the IP.
>
> This patch adds a platform driver for the glue layer which configures
> the IP before stmmac driver takes over.
>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com>
> ---
> .../devicetree/bindings/net/sti-dwmac.txt | 45 +++
> drivers/net/ethernet/stmicro/stmmac/Makefile | 1 +
> drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c | 294 ++++++++++++++++++++
> 3 files changed, 340 insertions(+), 0 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/net/sti-dwmac.txt
> create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c
>
> diff --git a/Documentation/devicetree/bindings/net/sti-dwmac.txt b/Documentation/devicetree/bindings/net/sti-dwmac.txt
> new file mode 100644
> index 0000000..5431d9d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/sti-dwmac.txt
> @@ -0,0 +1,45 @@
> +STMicroelectronics SoC DWMAC controller
> +
> +The device node has following properties.
> +
> +Required properties:
> + - compatible : Can be "st,stih415-dwmac", "st,stih416-dwmac" or
> + "st,stid127-dwmac".
> + - reg : Offset of the glue configuration register map in system
> + configuration regmap pointed by st,syscon property and size.
> + - st,syscon : Should be phandle to system configuration node which
> + encompases this glue registers.
> + - st,tx-retime-src: This specifies which clk is wired up to the mac for
> + retimeing tx lines. This is totally board dependent and can take one of the
> + posssible values from "txclk", "clk_125", "phyclk" or "clkgen".
> +
> +Optional properties:
> + - resets : phandle pointing to the system reset controller with correct
> + reset line index for ethernet reset.
> +
> +Sub-nodes:
> +The dwmac core should be added as subnode to STMicroelectronics dwmac glue.
> +- dwmac : The binding details of dwmac can be found in
> + Documentation/devicetree/bindings/net/stmmac.txt
> +
> +Example:
> +
> +ethernet0: ethernet0{
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "st,stih415-dwmac";
> + reg = <0x148 0x4>;
> + resets = <&softreset STIH415_ETH0_SOFTRESET>;
> + st,syscon = <&syscfg_rear>;
> + st,tx-retime-src = "clk_125";
> + ranges;
> +
> + dwmac0:dwmac at fe810000 {
> + device_type = "network";
> + compatible = "snps,dwmac", "snps,dwmac-3.610";
> + reg = <0xfe810000 0x8000>;
> + interrupts = <0 147 0>;
> + interrupt-names = "macirq";
> + ...
> + };
> +};
Sorry for stepping up so late, but I dont' think this is the right way
to do it.
DT is to describe how the hardware is laid out in a system agnostic
way, hence, it should not be impacted by the implementation details.
The fact that you use a glue to the dwmac driver *is* an
implementation detail.
I think you'd rather have something like:
dwmac0: ethernet at fe810000 {
compatible = "st,stih415-dwmac";
reg = <0xfe810000 0x8000 0x148 0x4>;
resets = <&softreset STIH415_ETH0_SOFTRESET>;
st,syscon = <&syscfg_rear>;
st,tx-retime-src = "clk_125";
interrupts = <0 147 0>;
interrupt-names = "macirq";
...
};
Then, the driver can have its init functions associated to the
compatible you're using, through the .data field of the of_device_id
structure, and you just call it in the generic driver at probe's time.
I don't really know what this syscon thing is either, but I think the
reg <0x148 0x4> is related to that.
Why don't you pass it directly in the st,syscon property, to have
something like <&syscfg_rear 0x148>?
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20131129/d5c007b0/attachment.sig>
next prev parent reply other threads:[~2013-11-29 19:40 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-12 13:51 [PATCH RFC 00/10] ARM: STi: Add dwmac glue and reset controller srinivas.kandagatla
2013-11-12 13:51 ` srinivas.kandagatla
2013-11-12 13:51 ` srinivas.kandagatla at st.com
2013-11-12 13:52 ` [PATCH RFC 01/10] drivers: reset: STi SoC system configuration reset controller support srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla at st.com
2013-11-12 13:52 ` [PATCH RFC 02/10] drivers: reset: Reset controller driver for STiH415 srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla at st.com
2013-11-12 13:52 ` [PATCH RFC 03/10] drivers: reset: Reset controller driver for STiH416 srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla at st.com
2013-11-12 13:52 ` [PATCH RFC 04/10] drivers: reset: stih415: add softreset controller srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla at st.com
2013-11-12 13:52 ` [PATCH RFC 05/10] drivers: reset: stih416: " srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla at st.com
2013-11-12 13:52 ` [PATCH RFC 06/10] ARM: STi: Add reset controller support to mach-sti Kconfig srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla at st.com
2013-11-12 13:52 ` [PATCH RFC 07/10] PM / wakeup : Introduce device_child_may_wakeup srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla
2013-11-12 13:52 ` srinivas.kandagatla at st.com
2013-11-12 14:20 ` Rafael J. Wysocki
2013-11-12 14:20 ` Rafael J. Wysocki
2013-11-12 14:09 ` srinivas kandagatla
2013-11-12 14:09 ` srinivas kandagatla
2013-11-12 14:09 ` srinivas kandagatla
2013-11-12 13:53 ` [PATCH RFC 08/10] net: stmmac:sti: Add STi SOC glue driver srinivas.kandagatla
2013-11-12 13:53 ` srinivas.kandagatla
2013-11-12 13:53 ` srinivas.kandagatla at st.com
2013-11-29 19:37 ` Maxime Ripard [this message]
2013-11-29 19:37 ` Maxime Ripard
2013-12-02 12:48 ` srinivas kandagatla
2013-12-02 12:48 ` srinivas kandagatla
2013-12-02 12:48 ` srinivas kandagatla
2013-12-06 18:37 ` Maxime Ripard
2013-12-06 18:37 ` Maxime Ripard
2013-11-12 13:53 ` [PATCH RFC 09/10] ARM: STi: Add STiH415 ethernet support srinivas.kandagatla
2013-11-12 13:53 ` srinivas.kandagatla
2013-11-12 13:53 ` srinivas.kandagatla at st.com
2013-11-12 13:53 ` [PATCH RFC 10/10] ARM: STi: Add STiH416 " srinivas.kandagatla
2013-11-12 13:53 ` srinivas.kandagatla
2013-11-12 13:53 ` srinivas.kandagatla at st.com
2013-11-19 5:28 ` [PATCH RFC 00/10] ARM: STi: Add dwmac glue and reset controller Giuseppe CAVALLARO
2013-11-19 5:28 ` Giuseppe CAVALLARO
2013-11-19 5:28 ` Giuseppe CAVALLARO
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=20131129193715.GA3441@lukather \
--to=maxime.ripard@free-electrons.com \
--cc=devicetree@vger.kernel.org \
--cc=grant.likely@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=kernel@stlinux.com \
--cc=len.brown@intel.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=netdev@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=pawel.moll@arm.com \
--cc=peppe.cavallaro@st.com \
--cc=rjw@rjwysocki.net \
--cc=rob.herring@calxeda.com \
--cc=rob@landley.net \
--cc=srinivas.kandagatla@st.com \
--cc=stephen.gallimore@st.com \
--cc=stuart.menefy@st.com \
--cc=swarren@wwwdotorg.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 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.