devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Giuseppe CAVALLARO <peppe.cavallaro@st.com>
To: Srinivas KANDAGATLA <srinivas.kandagatla@st.com>
Cc: netdev@vger.kernel.org, Grant Likely <grant.likely@linaro.org>,
	Rob Herring <rob.herring@calxeda.com>,
	Rob Landley <rob@landley.net>,
	devicetree-discuss@lists.ozlabs.org, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH RFC 2/3] dt:net:stmmac: Add support to dwmac version 3.610 and 3.710
Date: Mon, 01 Jul 2013 19:20:18 +0200	[thread overview]
Message-ID: <51D1BA52.3030201@st.com> (raw)
In-Reply-To: <1372679034-13139-1-git-send-email-srinivas.kandagatla@st.com>

On 7/1/2013 1:43 PM, Srinivas KANDAGATLA wrote:
> From: Srinivas Kandagatla <srinivas.kandagatla@st.com>
>
> This patch adds dt support to dwmac version 3.610 and 3.710 these
> versions are integrated in STiH415 and STiH416 ARM A9 SOCs.
> To support these IP version, some of the device tree properties are
> extended.
>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com>
> ---
>   Documentation/devicetree/bindings/net/stmmac.txt   |    4 +++
>   .../net/ethernet/stmicro/stmmac/stmmac_platform.c  |   25 ++++++++++++++++++++
>   2 files changed, 29 insertions(+), 0 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/net/stmmac.txt b/Documentation/devicetree/bindings/net/stmmac.txt
> index 060bbf0..e1ddfcc 100644
> --- a/Documentation/devicetree/bindings/net/stmmac.txt
> +++ b/Documentation/devicetree/bindings/net/stmmac.txt
> @@ -12,6 +12,10 @@ Required properties:
>     property
>   - phy-mode: String, operation mode of the PHY interface.
>     Supported values are: "mii", "rmii", "gmii", "rgmii".
> +- snps,phy-addr		phy address to connect to.
> +- snps,pbl		Programmable Burst Length
> +- snps,fixed-burst	Program the DMA to use the fixed burst mode
> +- snps,mixed-burst	Program the DMA to use the mixed burst mode
>
>   Optional properties:
>   - mac-address: 6 bytes, mac address
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> index 5907920..060758d 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> @@ -29,17 +29,26 @@
>   #include "stmmac.h"
>
>   #ifdef CONFIG_OF
> +
>   static int stmmac_probe_config_dt(struct platform_device *pdev,
>   				  struct plat_stmmacenet_data *plat,
>   				  const char **mac)
>   {
>   	struct device_node *np = pdev->dev.of_node;
> +	struct stmmac_dma_cfg *dma_cfg;
>
>   	if (!np)
>   		return -ENODEV;
>
>   	*mac = of_get_mac_address(np);
>   	plat->interface = of_get_phy_mode(np);
> +
> +	plat->bus_id = of_alias_get_id(np, "ethernet");
> +	if (plat->bus_id < 0)
> +		plat->bus_id = 0;
> +
> +	of_property_read_u32(np, "snps,phy-addr", &plat->phy_addr);
> +
>   	plat->mdio_bus_data = devm_kzalloc(&pdev->dev,
>   					   sizeof(struct stmmac_mdio_bus_data),
>   					   GFP_KERNEL);
> @@ -51,11 +60,25 @@ static int stmmac_probe_config_dt(struct platform_device *pdev,
>   	 */
>   	if (of_device_is_compatible(np, "st,spear600-gmac") ||
>   		of_device_is_compatible(np, "snps,dwmac-3.70a") ||
> +		of_device_is_compatible(np, "snps,dwmac-3.610") ||
>   		of_device_is_compatible(np, "snps,dwmac")) {
>   		plat->has_gmac = 1;
>   		plat->pmt = 1;
>   	}
>
> +	if (of_device_is_compatible(np, "snps,dwmac-3.610") ||
> +		of_device_is_compatible(np, "snps,dwmac-3.710")) {
> +		plat->enh_desc = 1;
> +		plat->bugged_jumbo = 1;
> +		plat->force_sf_dma_mode = 1;
> +	}

I think some these shouldn't be forced here. Maybe plat->enh_desc could
be set because for new syn mac cores.

Also pmt could not be forced because it is an extra module so it could
happen that a new chip has no PMT block.

> +
> +	dma_cfg = devm_kzalloc(&pdev->dev, sizeof(*dma_cfg), GFP_KERNEL);
> +	plat->dma_cfg = dma_cfg;
> +	of_property_read_u32(np, "snps,pbl", &dma_cfg->pbl);
> +	dma_cfg->fixed_burst = of_property_read_bool(np, "snps,fixed-burst");
> +	dma_cfg->mixed_burst = of_property_read_bool(np, "snps,mixed-burst");
> +
>   	return 0;
>   }
>   #else
> @@ -230,7 +253,9 @@ static const struct dev_pm_ops stmmac_pltfr_pm_ops;
>
>   static const struct of_device_id stmmac_dt_ids[] = {
>   	{ .compatible = "st,spear600-gmac"},
> +	{ .compatible = "snps,dwmac-3.610"},
>   	{ .compatible = "snps,dwmac-3.70a"},
> +	{ .compatible = "snps,dwmac-3.710"},
>   	{ .compatible = "snps,dwmac"},
>   	{ /* sentinel */ }
>   };
>


  reply	other threads:[~2013-07-01 17:20 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-01 11:42 [PATCH RFC 0/3] extend stmmac DT support Srinivas KANDAGATLA
2013-07-01 11:43 ` [PATCH RFC 1/3] dt:net:stmmac: Allocate platform data only if its NULL Srinivas KANDAGATLA
2013-07-01 17:20   ` Giuseppe CAVALLARO
2013-07-01 17:20   ` Giuseppe CAVALLARO
2013-07-01 11:43 ` [PATCH RFC 2/3] dt:net:stmmac: Add support to dwmac version 3.610 and 3.710 Srinivas KANDAGATLA
2013-07-01 17:20   ` Giuseppe CAVALLARO [this message]
2013-07-02  6:42     ` Srinivas KANDAGATLA
     [not found]       ` <51D27658.1060806-qxv4g6HH51o@public.gmane.org>
2013-07-02  8:04         ` Giuseppe CAVALLARO
2013-07-01 11:44 ` [PATCH RFC 3/3] dt:net:stmmac: Add dt specific phy reset callback support Srinivas KANDAGATLA

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=51D1BA52.3030201@st.com \
    --to=peppe.cavallaro@st.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@linaro.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=rob.herring@calxeda.com \
    --cc=rob@landley.net \
    --cc=srinivas.kandagatla@st.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;
as well as URLs for NNTP newsgroup(s).