All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] net: davinci_mdio: reuse for keystone2 arch
@ 2014-07-09 13:10 ` Grygorii Strashko
  0 siblings, 0 replies; 27+ messages in thread
From: Grygorii Strashko @ 2014-07-09 13:10 UTC (permalink / raw)
  To: David S. Miller, Florian Fainelli, santosh.shilimkar, netdev
  Cc: prabhakar.csengg, Sekhar Nori, Rob Herring, linux-kernel,
	devicetree, davinci-linux-open-source, Grygorii Strashko

The similar MDIO HW blocks is used by keystone 2 SoCs as
in Davinci SoCs:
- one in Gigabit Ethernet (GbE) Switch Subsystem
  See http://www.ti.com/lit/ug/sprugv9d/sprugv9d.pdf
- one in 10 Gigabit Ethernet Subsystem
  See http://www.ti.com/lit/ug/spruhj5/spruhj5.pdf

Hence, reuse Davinci MDIO driver for Keystone 2 and
enable TI networking for Keystone 2 devices.

Also, as part of this series, enable PHY's creation from DT, because
Keystone 2 supports DT boot mode only.

Grygorii Strashko (2):
  net: davinci_mdio: reuse for keystone2 arch
  net: davinci_mdio: allow to create phys from dt

 .../devicetree/bindings/net/davinci-mdio.txt       |    8 ++++----
 drivers/net/ethernet/ti/Kconfig                    |    4 ++--
 drivers/net/ethernet/ti/davinci_mdio.c             |   18 ++++++++++++++++--
 3 files changed, 22 insertions(+), 8 deletions(-)

-- 
1.7.9.5


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH 0/2] net: davinci_mdio: reuse for keystone2 arch
@ 2014-07-09 13:10 ` Grygorii Strashko
  0 siblings, 0 replies; 27+ messages in thread
From: Grygorii Strashko @ 2014-07-09 13:10 UTC (permalink / raw)
  To: David S. Miller, Florian Fainelli, santosh.shilimkar, netdev
  Cc: prabhakar.csengg, Sekhar Nori, Rob Herring, linux-kernel,
	devicetree, davinci-linux-open-source, Grygorii Strashko

The similar MDIO HW blocks is used by keystone 2 SoCs as
in Davinci SoCs:
- one in Gigabit Ethernet (GbE) Switch Subsystem
  See http://www.ti.com/lit/ug/sprugv9d/sprugv9d.pdf
- one in 10 Gigabit Ethernet Subsystem
  See http://www.ti.com/lit/ug/spruhj5/spruhj5.pdf

Hence, reuse Davinci MDIO driver for Keystone 2 and
enable TI networking for Keystone 2 devices.

Also, as part of this series, enable PHY's creation from DT, because
Keystone 2 supports DT boot mode only.

Grygorii Strashko (2):
  net: davinci_mdio: reuse for keystone2 arch
  net: davinci_mdio: allow to create phys from dt

 .../devicetree/bindings/net/davinci-mdio.txt       |    8 ++++----
 drivers/net/ethernet/ti/Kconfig                    |    4 ++--
 drivers/net/ethernet/ti/davinci_mdio.c             |   18 ++++++++++++++++--
 3 files changed, 22 insertions(+), 8 deletions(-)

-- 
1.7.9.5

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH 1/2] net: davinci_mdio: reuse for keystone2 arch
  2014-07-09 13:10 ` Grygorii Strashko
@ 2014-07-09 13:10   ` Grygorii Strashko
  -1 siblings, 0 replies; 27+ messages in thread
From: Grygorii Strashko @ 2014-07-09 13:10 UTC (permalink / raw)
  To: David S. Miller, Florian Fainelli, santosh.shilimkar, netdev
  Cc: prabhakar.csengg, Sekhar Nori, Rob Herring, linux-kernel,
	devicetree, davinci-linux-open-source, Grygorii Strashko

The similar MDIO HW blocks is used by keystone 2 SoCs as
in Davinci SoCs:
- one in Gigabit Ethernet (GbE) Switch Subsystem
  See http://www.ti.com/lit/ug/sprugv9d/sprugv9d.pdf
- one in 10 Gigabit Ethernet Subsystem
  See http://www.ti.com/lit/ug/spruhj5/spruhj5.pdf

Hence, reuse Davinci MDIO driver for Keystone 2 and
enable TI networking for Keystone 2 devices

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
---
 .../devicetree/bindings/net/davinci-mdio.txt       |    8 ++++----
 drivers/net/ethernet/ti/Kconfig                    |    4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/davinci-mdio.txt b/Documentation/devicetree/bindings/net/davinci-mdio.txt
index 72efaaf..d2e68e7 100644
--- a/Documentation/devicetree/bindings/net/davinci-mdio.txt
+++ b/Documentation/devicetree/bindings/net/davinci-mdio.txt
@@ -1,8 +1,8 @@
-TI SoC Davinci MDIO Controller Device Tree Bindings
+TI SoC Davinci/Keystone2 MDIO Controller Device Tree Bindings
 ---------------------------------------------------
 
 Required properties:
-- compatible		: Should be "ti,davinci_mdio"
+- compatible		: Should be "ti,davinci_mdio" or "ti,keystone-mdio"
 - reg			: physical base address and size of the davinci mdio
 			  registers map
 - bus_freq		: Mdio Bus frequency
@@ -19,7 +19,7 @@ file.
 Examples:
 
 	mdio: davinci_mdio@4A101000 {
-		compatible = "ti,cpsw";
+		compatible = "ti,davinci_mdio";
 		reg = <0x4A101000 0x1000>;
 		bus_freq = <1000000>;
 	};
@@ -27,7 +27,7 @@ Examples:
 (or)
 
 	mdio: davinci_mdio@4A101000 {
-		compatible = "ti,cpsw";
+		compatible = "ti,davinci_mdio";
 		ti,hwmods = "davinci_mdio";
 		bus_freq = <1000000>;
 	};
diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
index 53150c2..1769700 100644
--- a/drivers/net/ethernet/ti/Kconfig
+++ b/drivers/net/ethernet/ti/Kconfig
@@ -5,7 +5,7 @@
 config NET_VENDOR_TI
 	bool "Texas Instruments (TI) devices"
 	default y
-	depends on PCI || EISA || AR7 || (ARM && (ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX))
+	depends on PCI || EISA || AR7 || (ARM && (ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX || ARCH_KEYSTONE))
 	---help---
 	  If you have a network (Ethernet) card belonging to this class, say Y
 	  and read the Ethernet-HOWTO, available from
@@ -32,7 +32,7 @@ config TI_DAVINCI_EMAC
 
 config TI_DAVINCI_MDIO
 	tristate "TI DaVinci MDIO Support"
-	depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX )
+	depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX || ARCH_KEYSTONE )
 	select PHYLIB
 	---help---
 	  This driver supports TI's DaVinci MDIO module.
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 1/2] net: davinci_mdio: reuse for keystone2 arch
@ 2014-07-09 13:10   ` Grygorii Strashko
  0 siblings, 0 replies; 27+ messages in thread
From: Grygorii Strashko @ 2014-07-09 13:10 UTC (permalink / raw)
  To: David S. Miller, Florian Fainelli, santosh.shilimkar, netdev
  Cc: prabhakar.csengg, Sekhar Nori, Rob Herring, linux-kernel,
	devicetree, davinci-linux-open-source, Grygorii Strashko

The similar MDIO HW blocks is used by keystone 2 SoCs as
in Davinci SoCs:
- one in Gigabit Ethernet (GbE) Switch Subsystem
  See http://www.ti.com/lit/ug/sprugv9d/sprugv9d.pdf
- one in 10 Gigabit Ethernet Subsystem
  See http://www.ti.com/lit/ug/spruhj5/spruhj5.pdf

Hence, reuse Davinci MDIO driver for Keystone 2 and
enable TI networking for Keystone 2 devices

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
---
 .../devicetree/bindings/net/davinci-mdio.txt       |    8 ++++----
 drivers/net/ethernet/ti/Kconfig                    |    4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/davinci-mdio.txt b/Documentation/devicetree/bindings/net/davinci-mdio.txt
index 72efaaf..d2e68e7 100644
--- a/Documentation/devicetree/bindings/net/davinci-mdio.txt
+++ b/Documentation/devicetree/bindings/net/davinci-mdio.txt
@@ -1,8 +1,8 @@
-TI SoC Davinci MDIO Controller Device Tree Bindings
+TI SoC Davinci/Keystone2 MDIO Controller Device Tree Bindings
 ---------------------------------------------------
 
 Required properties:
-- compatible		: Should be "ti,davinci_mdio"
+- compatible		: Should be "ti,davinci_mdio" or "ti,keystone-mdio"
 - reg			: physical base address and size of the davinci mdio
 			  registers map
 - bus_freq		: Mdio Bus frequency
@@ -19,7 +19,7 @@ file.
 Examples:
 
 	mdio: davinci_mdio@4A101000 {
-		compatible = "ti,cpsw";
+		compatible = "ti,davinci_mdio";
 		reg = <0x4A101000 0x1000>;
 		bus_freq = <1000000>;
 	};
@@ -27,7 +27,7 @@ Examples:
 (or)
 
 	mdio: davinci_mdio@4A101000 {
-		compatible = "ti,cpsw";
+		compatible = "ti,davinci_mdio";
 		ti,hwmods = "davinci_mdio";
 		bus_freq = <1000000>;
 	};
diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
index 53150c2..1769700 100644
--- a/drivers/net/ethernet/ti/Kconfig
+++ b/drivers/net/ethernet/ti/Kconfig
@@ -5,7 +5,7 @@
 config NET_VENDOR_TI
 	bool "Texas Instruments (TI) devices"
 	default y
-	depends on PCI || EISA || AR7 || (ARM && (ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX))
+	depends on PCI || EISA || AR7 || (ARM && (ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX || ARCH_KEYSTONE))
 	---help---
 	  If you have a network (Ethernet) card belonging to this class, say Y
 	  and read the Ethernet-HOWTO, available from
@@ -32,7 +32,7 @@ config TI_DAVINCI_EMAC
 
 config TI_DAVINCI_MDIO
 	tristate "TI DaVinci MDIO Support"
-	depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX )
+	depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX || ARCH_KEYSTONE )
 	select PHYLIB
 	---help---
 	  This driver supports TI's DaVinci MDIO module.
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 2/2] net: davinci_mdio: allow to create phys from dt
  2014-07-09 13:10 ` Grygorii Strashko
@ 2014-07-09 13:10   ` Grygorii Strashko
  -1 siblings, 0 replies; 27+ messages in thread
From: Grygorii Strashko @ 2014-07-09 13:10 UTC (permalink / raw)
  To: David S. Miller, Florian Fainelli, santosh.shilimkar, netdev
  Cc: prabhakar.csengg, Sekhar Nori, Rob Herring, linux-kernel,
	devicetree, davinci-linux-open-source, Grygorii Strashko

This patch allows to create PHYs from DT in case
if they are explicitly defined. The of_mdiobus_register() is
used for such purposes.

For backward compatibility, call  of_mdiobus_register() only in case
if at least one PHY's child is defined in DT, otherwise rollback to
mdiobus_register().

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
---
 drivers/net/ethernet/ti/davinci_mdio.c |   18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/ti/davinci_mdio.c b/drivers/net/ethernet/ti/davinci_mdio.c
index 735dc53..22d3dab 100644
--- a/drivers/net/ethernet/ti/davinci_mdio.c
+++ b/drivers/net/ethernet/ti/davinci_mdio.c
@@ -38,6 +38,7 @@
 #include <linux/davinci_emac.h>
 #include <linux/of.h>
 #include <linux/of_device.h>
+#include <linux/of_mdio.h>
 #include <linux/pinctrl/consumer.h>
 
 /*
@@ -95,6 +96,7 @@ struct davinci_mdio_data {
 	struct mii_bus	*bus;
 	bool		suspended;
 	unsigned long	access_time; /* jiffies */
+	bool		skip_scan;
 };
 
 static void __davinci_mdio_reset(struct davinci_mdio_data *data)
@@ -144,6 +146,9 @@ static int davinci_mdio_reset(struct mii_bus *bus)
 	dev_info(data->dev, "davinci mdio revision %d.%d\n",
 		 (ver >> 8) & 0xff, ver & 0xff);
 
+	if (data->skip_scan)
+		return 0;
+
 	/* get phy mask from the alive register */
 	phy_mask = __raw_readl(&data->regs->alive);
 	if (phy_mask) {
@@ -369,8 +374,17 @@ static int davinci_mdio_probe(struct platform_device *pdev)
 		goto bail_out;
 	}
 
-	/* register the mii bus */
-	ret = mdiobus_register(data->bus);
+	/* register the mii bus
+	 * Create PHYs from DT only in case if PHY child nodes are explicitly
+	 * defined to support backward compatibility with DTs which assume that
+	 * Davinci MDIO will always scan the bus for PHYs detection.
+	 */
+	if (dev->of_node && of_get_child_count(dev->of_node)) {
+		data->skip_scan = true;
+		ret = of_mdiobus_register(data->bus, dev->of_node);
+	} else {
+		ret = mdiobus_register(data->bus);
+	}
 	if (ret)
 		goto bail_out;
 
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 2/2] net: davinci_mdio: allow to create phys from dt
@ 2014-07-09 13:10   ` Grygorii Strashko
  0 siblings, 0 replies; 27+ messages in thread
From: Grygorii Strashko @ 2014-07-09 13:10 UTC (permalink / raw)
  To: David S. Miller, Florian Fainelli, santosh.shilimkar, netdev
  Cc: prabhakar.csengg, Sekhar Nori, Rob Herring, linux-kernel,
	devicetree, davinci-linux-open-source, Grygorii Strashko

This patch allows to create PHYs from DT in case
if they are explicitly defined. The of_mdiobus_register() is
used for such purposes.

For backward compatibility, call  of_mdiobus_register() only in case
if at least one PHY's child is defined in DT, otherwise rollback to
mdiobus_register().

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
---
 drivers/net/ethernet/ti/davinci_mdio.c |   18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/ti/davinci_mdio.c b/drivers/net/ethernet/ti/davinci_mdio.c
index 735dc53..22d3dab 100644
--- a/drivers/net/ethernet/ti/davinci_mdio.c
+++ b/drivers/net/ethernet/ti/davinci_mdio.c
@@ -38,6 +38,7 @@
 #include <linux/davinci_emac.h>
 #include <linux/of.h>
 #include <linux/of_device.h>
+#include <linux/of_mdio.h>
 #include <linux/pinctrl/consumer.h>
 
 /*
@@ -95,6 +96,7 @@ struct davinci_mdio_data {
 	struct mii_bus	*bus;
 	bool		suspended;
 	unsigned long	access_time; /* jiffies */
+	bool		skip_scan;
 };
 
 static void __davinci_mdio_reset(struct davinci_mdio_data *data)
@@ -144,6 +146,9 @@ static int davinci_mdio_reset(struct mii_bus *bus)
 	dev_info(data->dev, "davinci mdio revision %d.%d\n",
 		 (ver >> 8) & 0xff, ver & 0xff);
 
+	if (data->skip_scan)
+		return 0;
+
 	/* get phy mask from the alive register */
 	phy_mask = __raw_readl(&data->regs->alive);
 	if (phy_mask) {
@@ -369,8 +374,17 @@ static int davinci_mdio_probe(struct platform_device *pdev)
 		goto bail_out;
 	}
 
-	/* register the mii bus */
-	ret = mdiobus_register(data->bus);
+	/* register the mii bus
+	 * Create PHYs from DT only in case if PHY child nodes are explicitly
+	 * defined to support backward compatibility with DTs which assume that
+	 * Davinci MDIO will always scan the bus for PHYs detection.
+	 */
+	if (dev->of_node && of_get_child_count(dev->of_node)) {
+		data->skip_scan = true;
+		ret = of_mdiobus_register(data->bus, dev->of_node);
+	} else {
+		ret = mdiobus_register(data->bus);
+	}
 	if (ret)
 		goto bail_out;
 
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/2] net: davinci_mdio: reuse for keystone2 arch
  2014-07-09 13:10   ` Grygorii Strashko
@ 2014-07-09 14:20     ` Santosh Shilimkar
  -1 siblings, 0 replies; 27+ messages in thread
From: Santosh Shilimkar @ 2014-07-09 14:20 UTC (permalink / raw)
  To: Grygorii Strashko, David S. Miller, Florian Fainelli, netdev
  Cc: prabhakar.csengg, Sekhar Nori, Rob Herring, linux-kernel,
	devicetree, davinci-linux-open-source

On Wednesday 09 July 2014 09:10 AM, Grygorii Strashko wrote:
> The similar MDIO HW blocks is used by keystone 2 SoCs as
> in Davinci SoCs:
> - one in Gigabit Ethernet (GbE) Switch Subsystem
>   See http://www.ti.com/lit/ug/sprugv9d/sprugv9d.pdf
> - one in 10 Gigabit Ethernet Subsystem
>   See http://www.ti.com/lit/ug/spruhj5/spruhj5.pdf
> 
> Hence, reuse Davinci MDIO driver for Keystone 2 and
> enable TI networking for Keystone 2 devices
> 
> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
> ---
Looks good to me.
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>

>  .../devicetree/bindings/net/davinci-mdio.txt       |    8 ++++----
>  drivers/net/ethernet/ti/Kconfig                    |    4 ++--
>  2 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/net/davinci-mdio.txt b/Documentation/devicetree/bindings/net/davinci-mdio.txt
> index 72efaaf..d2e68e7 100644
> --- a/Documentation/devicetree/bindings/net/davinci-mdio.txt
> +++ b/Documentation/devicetree/bindings/net/davinci-mdio.txt
> @@ -1,8 +1,8 @@
> -TI SoC Davinci MDIO Controller Device Tree Bindings
> +TI SoC Davinci/Keystone2 MDIO Controller Device Tree Bindings
>  ---------------------------------------------------
>  
>  Required properties:
> -- compatible		: Should be "ti,davinci_mdio"
> +- compatible		: Should be "ti,davinci_mdio" or "ti,keystone-mdio"
>  - reg			: physical base address and size of the davinci mdio
>  			  registers map
>  - bus_freq		: Mdio Bus frequency
> @@ -19,7 +19,7 @@ file.
>  Examples:
>  
>  	mdio: davinci_mdio@4A101000 {
> -		compatible = "ti,cpsw";
> +		compatible = "ti,davinci_mdio";
>  		reg = <0x4A101000 0x1000>;
>  		bus_freq = <1000000>;
>  	};
> @@ -27,7 +27,7 @@ Examples:
>  (or)
>  
>  	mdio: davinci_mdio@4A101000 {
> -		compatible = "ti,cpsw";
> +		compatible = "ti,davinci_mdio";
>  		ti,hwmods = "davinci_mdio";
>  		bus_freq = <1000000>;
>  	};
> diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
> index 53150c2..1769700 100644
> --- a/drivers/net/ethernet/ti/Kconfig
> +++ b/drivers/net/ethernet/ti/Kconfig
> @@ -5,7 +5,7 @@
>  config NET_VENDOR_TI
>  	bool "Texas Instruments (TI) devices"
>  	default y
> -	depends on PCI || EISA || AR7 || (ARM && (ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX))
> +	depends on PCI || EISA || AR7 || (ARM && (ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX || ARCH_KEYSTONE))
>  	---help---
>  	  If you have a network (Ethernet) card belonging to this class, say Y
>  	  and read the Ethernet-HOWTO, available from
> @@ -32,7 +32,7 @@ config TI_DAVINCI_EMAC
>  
>  config TI_DAVINCI_MDIO
>  	tristate "TI DaVinci MDIO Support"
> -	depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX )
> +	depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX || ARCH_KEYSTONE )
>  	select PHYLIB
>  	---help---
>  	  This driver supports TI's DaVinci MDIO module.
> 


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/2] net: davinci_mdio: reuse for keystone2 arch
@ 2014-07-09 14:20     ` Santosh Shilimkar
  0 siblings, 0 replies; 27+ messages in thread
From: Santosh Shilimkar @ 2014-07-09 14:20 UTC (permalink / raw)
  To: Grygorii Strashko, David S. Miller, Florian Fainelli, netdev
  Cc: prabhakar.csengg, Sekhar Nori, Rob Herring, linux-kernel,
	devicetree, davinci-linux-open-source

On Wednesday 09 July 2014 09:10 AM, Grygorii Strashko wrote:
> The similar MDIO HW blocks is used by keystone 2 SoCs as
> in Davinci SoCs:
> - one in Gigabit Ethernet (GbE) Switch Subsystem
>   See http://www.ti.com/lit/ug/sprugv9d/sprugv9d.pdf
> - one in 10 Gigabit Ethernet Subsystem
>   See http://www.ti.com/lit/ug/spruhj5/spruhj5.pdf
> 
> Hence, reuse Davinci MDIO driver for Keystone 2 and
> enable TI networking for Keystone 2 devices
> 
> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
> ---
Looks good to me.
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>

>  .../devicetree/bindings/net/davinci-mdio.txt       |    8 ++++----
>  drivers/net/ethernet/ti/Kconfig                    |    4 ++--
>  2 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/net/davinci-mdio.txt b/Documentation/devicetree/bindings/net/davinci-mdio.txt
> index 72efaaf..d2e68e7 100644
> --- a/Documentation/devicetree/bindings/net/davinci-mdio.txt
> +++ b/Documentation/devicetree/bindings/net/davinci-mdio.txt
> @@ -1,8 +1,8 @@
> -TI SoC Davinci MDIO Controller Device Tree Bindings
> +TI SoC Davinci/Keystone2 MDIO Controller Device Tree Bindings
>  ---------------------------------------------------
>  
>  Required properties:
> -- compatible		: Should be "ti,davinci_mdio"
> +- compatible		: Should be "ti,davinci_mdio" or "ti,keystone-mdio"
>  - reg			: physical base address and size of the davinci mdio
>  			  registers map
>  - bus_freq		: Mdio Bus frequency
> @@ -19,7 +19,7 @@ file.
>  Examples:
>  
>  	mdio: davinci_mdio@4A101000 {
> -		compatible = "ti,cpsw";
> +		compatible = "ti,davinci_mdio";
>  		reg = <0x4A101000 0x1000>;
>  		bus_freq = <1000000>;
>  	};
> @@ -27,7 +27,7 @@ Examples:
>  (or)
>  
>  	mdio: davinci_mdio@4A101000 {
> -		compatible = "ti,cpsw";
> +		compatible = "ti,davinci_mdio";
>  		ti,hwmods = "davinci_mdio";
>  		bus_freq = <1000000>;
>  	};
> diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
> index 53150c2..1769700 100644
> --- a/drivers/net/ethernet/ti/Kconfig
> +++ b/drivers/net/ethernet/ti/Kconfig
> @@ -5,7 +5,7 @@
>  config NET_VENDOR_TI
>  	bool "Texas Instruments (TI) devices"
>  	default y
> -	depends on PCI || EISA || AR7 || (ARM && (ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX))
> +	depends on PCI || EISA || AR7 || (ARM && (ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX || ARCH_KEYSTONE))
>  	---help---
>  	  If you have a network (Ethernet) card belonging to this class, say Y
>  	  and read the Ethernet-HOWTO, available from
> @@ -32,7 +32,7 @@ config TI_DAVINCI_EMAC
>  
>  config TI_DAVINCI_MDIO
>  	tristate "TI DaVinci MDIO Support"
> -	depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX )
> +	depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX || ARCH_KEYSTONE )
>  	select PHYLIB
>  	---help---
>  	  This driver supports TI's DaVinci MDIO module.
> 

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 2/2] net: davinci_mdio: allow to create phys from dt
@ 2014-07-09 14:23     ` Santosh Shilimkar
  0 siblings, 0 replies; 27+ messages in thread
From: Santosh Shilimkar @ 2014-07-09 14:23 UTC (permalink / raw)
  To: Grygorii Strashko, David S. Miller, Florian Fainelli, netdev
  Cc: prabhakar.csengg, Sekhar Nori, Rob Herring, linux-kernel,
	devicetree, davinci-linux-open-source

On Wednesday 09 July 2014 09:10 AM, Grygorii Strashko wrote:
> This patch allows to create PHYs from DT in case
> if they are explicitly defined. The of_mdiobus_register() is
> used for such purposes.
> 
> For backward compatibility, call  of_mdiobus_register() only in case
> if at least one PHY's child is defined in DT, otherwise rollback to
> mdiobus_register().
> 
> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
> ---
>  drivers/net/ethernet/ti/davinci_mdio.c |   18 ++++++++++++++++--
>  1 file changed, 16 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/ti/davinci_mdio.c b/drivers/net/ethernet/ti/davinci_mdio.c
> index 735dc53..22d3dab 100644
> --- a/drivers/net/ethernet/ti/davinci_mdio.c
> +++ b/drivers/net/ethernet/ti/davinci_mdio.c
> @@ -38,6 +38,7 @@
>  #include <linux/davinci_emac.h>
>  #include <linux/of.h>
>  #include <linux/of_device.h>
> +#include <linux/of_mdio.h>
>  #include <linux/pinctrl/consumer.h>
>  
>  /*
> @@ -95,6 +96,7 @@ struct davinci_mdio_data {
>  	struct mii_bus	*bus;
>  	bool		suspended;
>  	unsigned long	access_time; /* jiffies */
> +	bool		skip_scan;
The vairiable name is not too intutive so probably add a little
bit description on what are you skipping with it.

>  };
>  
>  static void __davinci_mdio_reset(struct davinci_mdio_data *data)
> @@ -144,6 +146,9 @@ static int davinci_mdio_reset(struct mii_bus *bus)
>  	dev_info(data->dev, "davinci mdio revision %d.%d\n",
>  		 (ver >> 8) & 0xff, ver & 0xff);
>  
> +	if (data->skip_scan)
> +		return 0;
> +
>  	/* get phy mask from the alive register */
>  	phy_mask = __raw_readl(&data->regs->alive);
>  	if (phy_mask) {
> @@ -369,8 +374,17 @@ static int davinci_mdio_probe(struct platform_device *pdev)
>  		goto bail_out;
>  	}
>  
> -	/* register the mii bus */
> -	ret = mdiobus_register(data->bus);
> +	/* register the mii bus
> +	 * Create PHYs from DT only in case if PHY child nodes are explicitly
> +	 * defined to support backward compatibility with DTs which assume that
> +	 * Davinci MDIO will always scan the bus for PHYs detection.
> +	 */
multi line comment is not as per coding style. Please fix that.
Patch as such looks good to me so with those minor fixes, feel
free to append my review tag.

Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>

> +	if (dev->of_node && of_get_child_count(dev->of_node)) {
> +		data->skip_scan = true;
> +		ret = of_mdiobus_register(data->bus, dev->of_node);
> +	} else {
> +		ret = mdiobus_register(data->bus);
> +	}
>  	if (ret)
>  		goto bail_out;
>  
> 


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 2/2] net: davinci_mdio: allow to create phys from dt
@ 2014-07-09 14:23     ` Santosh Shilimkar
  0 siblings, 0 replies; 27+ messages in thread
From: Santosh Shilimkar @ 2014-07-09 14:23 UTC (permalink / raw)
  To: Grygorii Strashko, David S. Miller, Florian Fainelli,
	netdev-u79uwXL29TY76Z2rM5mHXA
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
	davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Rob Herring

On Wednesday 09 July 2014 09:10 AM, Grygorii Strashko wrote:
> This patch allows to create PHYs from DT in case
> if they are explicitly defined. The of_mdiobus_register() is
> used for such purposes.
> 
> For backward compatibility, call  of_mdiobus_register() only in case
> if at least one PHY's child is defined in DT, otherwise rollback to
> mdiobus_register().
> 
> Signed-off-by: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org>
> ---
>  drivers/net/ethernet/ti/davinci_mdio.c |   18 ++++++++++++++++--
>  1 file changed, 16 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/ti/davinci_mdio.c b/drivers/net/ethernet/ti/davinci_mdio.c
> index 735dc53..22d3dab 100644
> --- a/drivers/net/ethernet/ti/davinci_mdio.c
> +++ b/drivers/net/ethernet/ti/davinci_mdio.c
> @@ -38,6 +38,7 @@
>  #include <linux/davinci_emac.h>
>  #include <linux/of.h>
>  #include <linux/of_device.h>
> +#include <linux/of_mdio.h>
>  #include <linux/pinctrl/consumer.h>
>  
>  /*
> @@ -95,6 +96,7 @@ struct davinci_mdio_data {
>  	struct mii_bus	*bus;
>  	bool		suspended;
>  	unsigned long	access_time; /* jiffies */
> +	bool		skip_scan;
The vairiable name is not too intutive so probably add a little
bit description on what are you skipping with it.

>  };
>  
>  static void __davinci_mdio_reset(struct davinci_mdio_data *data)
> @@ -144,6 +146,9 @@ static int davinci_mdio_reset(struct mii_bus *bus)
>  	dev_info(data->dev, "davinci mdio revision %d.%d\n",
>  		 (ver >> 8) & 0xff, ver & 0xff);
>  
> +	if (data->skip_scan)
> +		return 0;
> +
>  	/* get phy mask from the alive register */
>  	phy_mask = __raw_readl(&data->regs->alive);
>  	if (phy_mask) {
> @@ -369,8 +374,17 @@ static int davinci_mdio_probe(struct platform_device *pdev)
>  		goto bail_out;
>  	}
>  
> -	/* register the mii bus */
> -	ret = mdiobus_register(data->bus);
> +	/* register the mii bus
> +	 * Create PHYs from DT only in case if PHY child nodes are explicitly
> +	 * defined to support backward compatibility with DTs which assume that
> +	 * Davinci MDIO will always scan the bus for PHYs detection.
> +	 */
multi line comment is not as per coding style. Please fix that.
Patch as such looks good to me so with those minor fixes, feel
free to append my review tag.

Reviewed-by: Santosh Shilimkar <santosh.shilimkar-l0cyMroinI0@public.gmane.org>

> +	if (dev->of_node && of_get_child_count(dev->of_node)) {
> +		data->skip_scan = true;
> +		ret = of_mdiobus_register(data->bus, dev->of_node);
> +	} else {
> +		ret = mdiobus_register(data->bus);
> +	}
>  	if (ret)
>  		goto bail_out;
>  
> 

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 2/2] net: davinci_mdio: allow to create phys from dt
@ 2014-07-09 14:23     ` Santosh Shilimkar
  0 siblings, 0 replies; 27+ messages in thread
From: Santosh Shilimkar @ 2014-07-09 14:23 UTC (permalink / raw)
  To: Grygorii Strashko, David S. Miller, Florian Fainelli,
	netdev-u79uwXL29TY76Z2rM5mHXA
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
	davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Rob Herring

On Wednesday 09 July 2014 09:10 AM, Grygorii Strashko wrote:
> This patch allows to create PHYs from DT in case
> if they are explicitly defined. The of_mdiobus_register() is
> used for such purposes.
> 
> For backward compatibility, call  of_mdiobus_register() only in case
> if at least one PHY's child is defined in DT, otherwise rollback to
> mdiobus_register().
> 
> Signed-off-by: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org>
> ---
>  drivers/net/ethernet/ti/davinci_mdio.c |   18 ++++++++++++++++--
>  1 file changed, 16 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/ti/davinci_mdio.c b/drivers/net/ethernet/ti/davinci_mdio.c
> index 735dc53..22d3dab 100644
> --- a/drivers/net/ethernet/ti/davinci_mdio.c
> +++ b/drivers/net/ethernet/ti/davinci_mdio.c
> @@ -38,6 +38,7 @@
>  #include <linux/davinci_emac.h>
>  #include <linux/of.h>
>  #include <linux/of_device.h>
> +#include <linux/of_mdio.h>
>  #include <linux/pinctrl/consumer.h>
>  
>  /*
> @@ -95,6 +96,7 @@ struct davinci_mdio_data {
>  	struct mii_bus	*bus;
>  	bool		suspended;
>  	unsigned long	access_time; /* jiffies */
> +	bool		skip_scan;
The vairiable name is not too intutive so probably add a little
bit description on what are you skipping with it.

>  };
>  
>  static void __davinci_mdio_reset(struct davinci_mdio_data *data)
> @@ -144,6 +146,9 @@ static int davinci_mdio_reset(struct mii_bus *bus)
>  	dev_info(data->dev, "davinci mdio revision %d.%d\n",
>  		 (ver >> 8) & 0xff, ver & 0xff);
>  
> +	if (data->skip_scan)
> +		return 0;
> +
>  	/* get phy mask from the alive register */
>  	phy_mask = __raw_readl(&data->regs->alive);
>  	if (phy_mask) {
> @@ -369,8 +374,17 @@ static int davinci_mdio_probe(struct platform_device *pdev)
>  		goto bail_out;
>  	}
>  
> -	/* register the mii bus */
> -	ret = mdiobus_register(data->bus);
> +	/* register the mii bus
> +	 * Create PHYs from DT only in case if PHY child nodes are explicitly
> +	 * defined to support backward compatibility with DTs which assume that
> +	 * Davinci MDIO will always scan the bus for PHYs detection.
> +	 */
multi line comment is not as per coding style. Please fix that.
Patch as such looks good to me so with those minor fixes, feel
free to append my review tag.

Reviewed-by: Santosh Shilimkar <santosh.shilimkar-l0cyMroinI0@public.gmane.org>

> +	if (dev->of_node && of_get_child_count(dev->of_node)) {
> +		data->skip_scan = true;
> +		ret = of_mdiobus_register(data->bus, dev->of_node);
> +	} else {
> +		ret = mdiobus_register(data->bus);
> +	}
>  	if (ret)
>  		goto bail_out;
>  
> 

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/2] net: davinci_mdio: reuse for keystone2 arch
  2014-07-09 13:10   ` Grygorii Strashko
  (?)
  (?)
@ 2014-07-09 23:52   ` David Miller
  2014-07-10 12:58       ` Grygorii Strashko
  -1 siblings, 1 reply; 27+ messages in thread
From: David Miller @ 2014-07-09 23:52 UTC (permalink / raw)
  To: grygorii.strashko
  Cc: f.fainelli, santosh.shilimkar, netdev, prabhakar.csengg, nsekhar,
	robh+dt, linux-kernel, devicetree, davinci-linux-open-source

From: Grygorii Strashko <grygorii.strashko@ti.com>
Date: Wed, 9 Jul 2014 16:10:50 +0300

>  Required properties:
> -- compatible		: Should be "ti,davinci_mdio"
> +- compatible		: Should be "ti,davinci_mdio" or "ti,keystone-mdio"

Why the inconsistency in naming schemes?  I don't see any reason
to be different wrt. "_" vs. "-" in the name string.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/2] net: davinci_mdio: reuse for keystone2 arch
  2014-07-09 23:52   ` David Miller
@ 2014-07-10 12:58       ` Grygorii Strashko
  0 siblings, 0 replies; 27+ messages in thread
From: Grygorii Strashko @ 2014-07-10 12:58 UTC (permalink / raw)
  To: David Miller
  Cc: f.fainelli, santosh.shilimkar, netdev, prabhakar.csengg, nsekhar,
	robh+dt, linux-kernel, devicetree, davinci-linux-open-source

Hi David,

On 07/10/2014 02:52 AM, David Miller wrote:
> From: Grygorii Strashko <grygorii.strashko@ti.com>
> Date: Wed, 9 Jul 2014 16:10:50 +0300
> 
>>   Required properties:
>> -- compatible		: Should be "ti,davinci_mdio"
>> +- compatible		: Should be "ti,davinci_mdio" or "ti,keystone-mdio"
> 
> Why the inconsistency in naming schemes?  I don't see any reason
> to be different wrt. "_" vs. "-" in the name string.
> 

Hm. Looks like the common way is to use "-", but I can rename it if you insist.

Regards,
-grygorii

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/2] net: davinci_mdio: reuse for keystone2 arch
@ 2014-07-10 12:58       ` Grygorii Strashko
  0 siblings, 0 replies; 27+ messages in thread
From: Grygorii Strashko @ 2014-07-10 12:58 UTC (permalink / raw)
  To: David Miller
  Cc: f.fainelli, santosh.shilimkar, netdev, prabhakar.csengg, nsekhar,
	robh+dt, linux-kernel, devicetree, davinci-linux-open-source

Hi David,

On 07/10/2014 02:52 AM, David Miller wrote:
> From: Grygorii Strashko <grygorii.strashko@ti.com>
> Date: Wed, 9 Jul 2014 16:10:50 +0300
> 
>>   Required properties:
>> -- compatible		: Should be "ti,davinci_mdio"
>> +- compatible		: Should be "ti,davinci_mdio" or "ti,keystone-mdio"
> 
> Why the inconsistency in naming schemes?  I don't see any reason
> to be different wrt. "_" vs. "-" in the name string.
> 

Hm. Looks like the common way is to use "-", but I can rename it if you insist.

Regards,
-grygorii

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 2/2] net: davinci_mdio: allow to create phys from dt
  2014-07-09 14:23     ` Santosh Shilimkar
@ 2014-07-10 13:15       ` Grygorii Strashko
  -1 siblings, 0 replies; 27+ messages in thread
From: Grygorii Strashko @ 2014-07-10 13:15 UTC (permalink / raw)
  To: Santosh Shilimkar, David S. Miller, Florian Fainelli, netdev
  Cc: prabhakar.csengg, Sekhar Nori, Rob Herring, linux-kernel,
	devicetree, davinci-linux-open-source

On 07/09/2014 05:23 PM, Santosh Shilimkar wrote:
> On Wednesday 09 July 2014 09:10 AM, Grygorii Strashko wrote:
>> This patch allows to create PHYs from DT in case
>> if they are explicitly defined. The of_mdiobus_register() is
>> used for such purposes.
>>
>> For backward compatibility, call  of_mdiobus_register() only in case
>> if at least one PHY's child is defined in DT, otherwise rollback to
>> mdiobus_register().
>>
>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
>> ---
>>   drivers/net/ethernet/ti/davinci_mdio.c |   18 ++++++++++++++++--
>>   1 file changed, 16 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/ti/davinci_mdio.c b/drivers/net/ethernet/ti/davinci_mdio.c
>> index 735dc53..22d3dab 100644
>> --- a/drivers/net/ethernet/ti/davinci_mdio.c
>> +++ b/drivers/net/ethernet/ti/davinci_mdio.c
>> @@ -38,6 +38,7 @@
>>   #include <linux/davinci_emac.h>
>>   #include <linux/of.h>
>>   #include <linux/of_device.h>
>> +#include <linux/of_mdio.h>
>>   #include <linux/pinctrl/consumer.h>
>>   
>>   /*
>> @@ -95,6 +96,7 @@ struct davinci_mdio_data {
>>   	struct mii_bus	*bus;
>>   	bool		suspended;
>>   	unsigned long	access_time; /* jiffies */

	/*
	 * Indicates that driver shouldn't modify phy_mask in case
	 * if MDIO bus is registered from DT.
	 */

>> +	bool		skip_scan;
> The vairiable name is not too intutive so probably add a little
> bit description on what are you skipping with it.


Now the Davinci MDIO driver updates mii_bus->phy_mask from
its reset routine to limit number of phy addresses to be scanned.

The MDIO bus scanning has to be skipped at all in case of DT MDIO registration.
And of_mdiobus_register() maintain mii_bus->phy_mask by itself,
thus driver shouldn't touch it.

I'll add above comment. Is it ok?


> 
>>   };
>>   
>>   static void __davinci_mdio_reset(struct davinci_mdio_data *data)
>> @@ -144,6 +146,9 @@ static int davinci_mdio_reset(struct mii_bus *bus)
>>   	dev_info(data->dev, "davinci mdio revision %d.%d\n",
>>   		 (ver >> 8) & 0xff, ver & 0xff);
>>   
>> +	if (data->skip_scan)
>> +		return 0;
>> +
>>   	/* get phy mask from the alive register */
>>   	phy_mask = __raw_readl(&data->regs->alive);
>>   	if (phy_mask) {
>> @@ -369,8 +374,17 @@ static int davinci_mdio_probe(struct platform_device *pdev)
>>   		goto bail_out;
>>   	}
>>   
>> -	/* register the mii bus */
>> -	ret = mdiobus_register(data->bus);
>> +	/* register the mii bus
>> +	 * Create PHYs from DT only in case if PHY child nodes are explicitly
>> +	 * defined to support backward compatibility with DTs which assume that
>> +	 * Davinci MDIO will always scan the bus for PHYs detection.
>> +	 */
> multi line comment is not as per coding style. Please fix that.
> Patch as such looks good to me so with those minor fixes, feel
> free to append my review tag.

will fix it.

> 
> Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
> 
>> +	if (dev->of_node && of_get_child_count(dev->of_node)) {
>> +		data->skip_scan = true;
>> +		ret = of_mdiobus_register(data->bus, dev->of_node);
>> +	} else {
>> +		ret = mdiobus_register(data->bus);
>> +	}
>>   	if (ret)
>>   		goto bail_out;
>>   
>>
> 


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 2/2] net: davinci_mdio: allow to create phys from dt
@ 2014-07-10 13:15       ` Grygorii Strashko
  0 siblings, 0 replies; 27+ messages in thread
From: Grygorii Strashko @ 2014-07-10 13:15 UTC (permalink / raw)
  To: Santosh Shilimkar, David S. Miller, Florian Fainelli, netdev
  Cc: prabhakar.csengg, Sekhar Nori, Rob Herring, linux-kernel,
	devicetree, davinci-linux-open-source

On 07/09/2014 05:23 PM, Santosh Shilimkar wrote:
> On Wednesday 09 July 2014 09:10 AM, Grygorii Strashko wrote:
>> This patch allows to create PHYs from DT in case
>> if they are explicitly defined. The of_mdiobus_register() is
>> used for such purposes.
>>
>> For backward compatibility, call  of_mdiobus_register() only in case
>> if at least one PHY's child is defined in DT, otherwise rollback to
>> mdiobus_register().
>>
>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
>> ---
>>   drivers/net/ethernet/ti/davinci_mdio.c |   18 ++++++++++++++++--
>>   1 file changed, 16 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/ti/davinci_mdio.c b/drivers/net/ethernet/ti/davinci_mdio.c
>> index 735dc53..22d3dab 100644
>> --- a/drivers/net/ethernet/ti/davinci_mdio.c
>> +++ b/drivers/net/ethernet/ti/davinci_mdio.c
>> @@ -38,6 +38,7 @@
>>   #include <linux/davinci_emac.h>
>>   #include <linux/of.h>
>>   #include <linux/of_device.h>
>> +#include <linux/of_mdio.h>
>>   #include <linux/pinctrl/consumer.h>
>>   
>>   /*
>> @@ -95,6 +96,7 @@ struct davinci_mdio_data {
>>   	struct mii_bus	*bus;
>>   	bool		suspended;
>>   	unsigned long	access_time; /* jiffies */

	/*
	 * Indicates that driver shouldn't modify phy_mask in case
	 * if MDIO bus is registered from DT.
	 */

>> +	bool		skip_scan;
> The vairiable name is not too intutive so probably add a little
> bit description on what are you skipping with it.


Now the Davinci MDIO driver updates mii_bus->phy_mask from
its reset routine to limit number of phy addresses to be scanned.

The MDIO bus scanning has to be skipped at all in case of DT MDIO registration.
And of_mdiobus_register() maintain mii_bus->phy_mask by itself,
thus driver shouldn't touch it.

I'll add above comment. Is it ok?


> 
>>   };
>>   
>>   static void __davinci_mdio_reset(struct davinci_mdio_data *data)
>> @@ -144,6 +146,9 @@ static int davinci_mdio_reset(struct mii_bus *bus)
>>   	dev_info(data->dev, "davinci mdio revision %d.%d\n",
>>   		 (ver >> 8) & 0xff, ver & 0xff);
>>   
>> +	if (data->skip_scan)
>> +		return 0;
>> +
>>   	/* get phy mask from the alive register */
>>   	phy_mask = __raw_readl(&data->regs->alive);
>>   	if (phy_mask) {
>> @@ -369,8 +374,17 @@ static int davinci_mdio_probe(struct platform_device *pdev)
>>   		goto bail_out;
>>   	}
>>   
>> -	/* register the mii bus */
>> -	ret = mdiobus_register(data->bus);
>> +	/* register the mii bus
>> +	 * Create PHYs from DT only in case if PHY child nodes are explicitly
>> +	 * defined to support backward compatibility with DTs which assume that
>> +	 * Davinci MDIO will always scan the bus for PHYs detection.
>> +	 */
> multi line comment is not as per coding style. Please fix that.
> Patch as such looks good to me so with those minor fixes, feel
> free to append my review tag.

will fix it.

> 
> Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
> 
>> +	if (dev->of_node && of_get_child_count(dev->of_node)) {
>> +		data->skip_scan = true;
>> +		ret = of_mdiobus_register(data->bus, dev->of_node);
>> +	} else {
>> +		ret = mdiobus_register(data->bus);
>> +	}
>>   	if (ret)
>>   		goto bail_out;
>>   
>>
> 

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/2] net: davinci_mdio: reuse for keystone2 arch
@ 2014-07-10 19:39         ` David Miller
  0 siblings, 0 replies; 27+ messages in thread
From: David Miller @ 2014-07-10 19:39 UTC (permalink / raw)
  To: grygorii.strashko
  Cc: f.fainelli, santosh.shilimkar, netdev, prabhakar.csengg, nsekhar,
	robh+dt, linux-kernel, devicetree, davinci-linux-open-source

From: Grygorii Strashko <grygorii.strashko@ti.com>
Date: Thu, 10 Jul 2014 15:58:31 +0300

> Hi David,
> 
> On 07/10/2014 02:52 AM, David Miller wrote:
>> From: Grygorii Strashko <grygorii.strashko@ti.com>
>> Date: Wed, 9 Jul 2014 16:10:50 +0300
>> 
>>>   Required properties:
>>> -- compatible		: Should be "ti,davinci_mdio"
>>> +- compatible		: Should be "ti,davinci_mdio" or "ti,keystone-mdio"
>> 
>> Why the inconsistency in naming schemes?  I don't see any reason
>> to be different wrt. "_" vs. "-" in the name string.
>> 
> 
> Hm. Looks like the common way is to use "-", but I can rename it if you insist.

I'm just saying, is there a strong reason to be inconsistent?

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/2] net: davinci_mdio: reuse for keystone2 arch
@ 2014-07-10 19:39         ` David Miller
  0 siblings, 0 replies; 27+ messages in thread
From: David Miller @ 2014-07-10 19:39 UTC (permalink / raw)
  To: grygorii.strashko-l0cyMroinI0
  Cc: f.fainelli-Re5JQEeQqe8AvxtiuMwx3w, santosh.shilimkar-l0cyMroinI0,
	netdev-u79uwXL29TY76Z2rM5mHXA,
	prabhakar.csengg-Re5JQEeQqe8AvxtiuMwx3w, nsekhar-l0cyMroinI0,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/

From: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org>
Date: Thu, 10 Jul 2014 15:58:31 +0300

> Hi David,
> 
> On 07/10/2014 02:52 AM, David Miller wrote:
>> From: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org>
>> Date: Wed, 9 Jul 2014 16:10:50 +0300
>> 
>>>   Required properties:
>>> -- compatible		: Should be "ti,davinci_mdio"
>>> +- compatible		: Should be "ti,davinci_mdio" or "ti,keystone-mdio"
>> 
>> Why the inconsistency in naming schemes?  I don't see any reason
>> to be different wrt. "_" vs. "-" in the name string.
>> 
> 
> Hm. Looks like the common way is to use "-", but I can rename it if you insist.

I'm just saying, is there a strong reason to be inconsistent?
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/2] net: davinci_mdio: reuse for keystone2 arch
@ 2014-07-11  5:03     ` Mugunthan V N
  0 siblings, 0 replies; 27+ messages in thread
From: Mugunthan V N @ 2014-07-11  5:03 UTC (permalink / raw)
  To: Grygorii Strashko, David S. Miller, Florian Fainelli,
	santosh.shilimkar, netdev
  Cc: prabhakar.csengg, Sekhar Nori, Rob Herring, linux-kernel,
	devicetree, davinci-linux-open-source

On Wednesday 09 July 2014 06:40 PM, Grygorii Strashko wrote:
> The similar MDIO HW blocks is used by keystone 2 SoCs as
> in Davinci SoCs:
> - one in Gigabit Ethernet (GbE) Switch Subsystem
>   See http://www.ti.com/lit/ug/sprugv9d/sprugv9d.pdf
> - one in 10 Gigabit Ethernet Subsystem
>   See http://www.ti.com/lit/ug/spruhj5/spruhj5.pdf
>
> Hence, reuse Davinci MDIO driver for Keystone 2 and
> enable TI networking for Keystone 2 devices
>
> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>

Acked-by: Mugunthan V N <mugunthanvnm@ti.com>

Regards
Mugunthan V N

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/2] net: davinci_mdio: reuse for keystone2 arch
@ 2014-07-11  5:03     ` Mugunthan V N
  0 siblings, 0 replies; 27+ messages in thread
From: Mugunthan V N @ 2014-07-11  5:03 UTC (permalink / raw)
  To: Grygorii Strashko, David S. Miller, Florian Fainelli,
	santosh.shilimkar-l0cyMroinI0, netdev-u79uwXL29TY76Z2rM5mHXA
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
	davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Rob Herring

On Wednesday 09 July 2014 06:40 PM, Grygorii Strashko wrote:
> The similar MDIO HW blocks is used by keystone 2 SoCs as
> in Davinci SoCs:
> - one in Gigabit Ethernet (GbE) Switch Subsystem
>   See http://www.ti.com/lit/ug/sprugv9d/sprugv9d.pdf
> - one in 10 Gigabit Ethernet Subsystem
>   See http://www.ti.com/lit/ug/spruhj5/spruhj5.pdf
>
> Hence, reuse Davinci MDIO driver for Keystone 2 and
> enable TI networking for Keystone 2 devices
>
> Signed-off-by: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org>

Acked-by: Mugunthan V N <mugunthanvnm-l0cyMroinI0@public.gmane.org>

Regards
Mugunthan V N

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/2] net: davinci_mdio: reuse for keystone2 arch
@ 2014-07-11  5:03     ` Mugunthan V N
  0 siblings, 0 replies; 27+ messages in thread
From: Mugunthan V N @ 2014-07-11  5:03 UTC (permalink / raw)
  To: Grygorii Strashko, David S. Miller, Florian Fainelli,
	santosh.shilimkar-l0cyMroinI0, netdev-u79uwXL29TY76Z2rM5mHXA
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
	davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Rob Herring

On Wednesday 09 July 2014 06:40 PM, Grygorii Strashko wrote:
> The similar MDIO HW blocks is used by keystone 2 SoCs as
> in Davinci SoCs:
> - one in Gigabit Ethernet (GbE) Switch Subsystem
>   See http://www.ti.com/lit/ug/sprugv9d/sprugv9d.pdf
> - one in 10 Gigabit Ethernet Subsystem
>   See http://www.ti.com/lit/ug/spruhj5/spruhj5.pdf
>
> Hence, reuse Davinci MDIO driver for Keystone 2 and
> enable TI networking for Keystone 2 devices
>
> Signed-off-by: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org>

Acked-by: Mugunthan V N <mugunthanvnm-l0cyMroinI0@public.gmane.org>

Regards
Mugunthan V N

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 2/2] net: davinci_mdio: allow to create phys from dt
@ 2014-07-11  5:05     ` Mugunthan V N
  0 siblings, 0 replies; 27+ messages in thread
From: Mugunthan V N @ 2014-07-11  5:05 UTC (permalink / raw)
  To: Grygorii Strashko, David S. Miller, Florian Fainelli,
	santosh.shilimkar, netdev
  Cc: prabhakar.csengg, Sekhar Nori, Rob Herring, linux-kernel,
	devicetree, davinci-linux-open-source

On Wednesday 09 July 2014 06:40 PM, Grygorii Strashko wrote:
> This patch allows to create PHYs from DT in case
> if they are explicitly defined. The of_mdiobus_register() is
> used for such purposes.
>
> For backward compatibility, call  of_mdiobus_register() only in case
> if at least one PHY's child is defined in DT, otherwise rollback to
> mdiobus_register().
>
> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>

Except Santhosh comment patch looks good to me.

Acked-by: Mugunthan V N <mugunthanvnm@ti.com>

Regards
Mugunthan V N

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 2/2] net: davinci_mdio: allow to create phys from dt
@ 2014-07-11  5:05     ` Mugunthan V N
  0 siblings, 0 replies; 27+ messages in thread
From: Mugunthan V N @ 2014-07-11  5:05 UTC (permalink / raw)
  To: Grygorii Strashko, David S. Miller, Florian Fainelli,
	santosh.shilimkar-l0cyMroinI0, netdev-u79uwXL29TY76Z2rM5mHXA
  Cc: prabhakar.csengg-Re5JQEeQqe8AvxtiuMwx3w, Sekhar Nori,
	Rob Herring, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/

On Wednesday 09 July 2014 06:40 PM, Grygorii Strashko wrote:
> This patch allows to create PHYs from DT in case
> if they are explicitly defined. The of_mdiobus_register() is
> used for such purposes.
>
> For backward compatibility, call  of_mdiobus_register() only in case
> if at least one PHY's child is defined in DT, otherwise rollback to
> mdiobus_register().
>
> Signed-off-by: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org>

Except Santhosh comment patch looks good to me.

Acked-by: Mugunthan V N <mugunthanvnm-l0cyMroinI0@public.gmane.org>

Regards
Mugunthan V N
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 2/2] net: davinci_mdio: allow to create phys from dt
@ 2014-07-11  5:05     ` Mugunthan V N
  0 siblings, 0 replies; 27+ messages in thread
From: Mugunthan V N @ 2014-07-11  5:05 UTC (permalink / raw)
  To: Grygorii Strashko, David S. Miller, Florian Fainelli,
	santosh.shilimkar-l0cyMroinI0, netdev-u79uwXL29TY76Z2rM5mHXA
  Cc: prabhakar.csengg-Re5JQEeQqe8AvxtiuMwx3w, Sekhar Nori,
	Rob Herring, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/

On Wednesday 09 July 2014 06:40 PM, Grygorii Strashko wrote:
> This patch allows to create PHYs from DT in case
> if they are explicitly defined. The of_mdiobus_register() is
> used for such purposes.
>
> For backward compatibility, call  of_mdiobus_register() only in case
> if at least one PHY's child is defined in DT, otherwise rollback to
> mdiobus_register().
>
> Signed-off-by: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org>

Except Santhosh comment patch looks good to me.

Acked-by: Mugunthan V N <mugunthanvnm-l0cyMroinI0@public.gmane.org>

Regards
Mugunthan V N
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/2] net: davinci_mdio: reuse for keystone2 arch
@ 2014-07-11 10:24           ` Grygorii Strashko
  0 siblings, 0 replies; 27+ messages in thread
From: Grygorii Strashko @ 2014-07-11 10:24 UTC (permalink / raw)
  To: David Miller, devicetree
  Cc: f.fainelli, santosh.shilimkar, netdev, prabhakar.csengg, nsekhar,
	robh+dt, linux-kernel, davinci-linux-open-source

On 07/10/2014 10:39 PM, David Miller wrote:
> From: Grygorii Strashko <grygorii.strashko@ti.com>
> Date: Thu, 10 Jul 2014 15:58:31 +0300
>
>> Hi David,
>>
>> On 07/10/2014 02:52 AM, David Miller wrote:
>>> From: Grygorii Strashko <grygorii.strashko@ti.com>
>>> Date: Wed, 9 Jul 2014 16:10:50 +0300
>>>
>>>>    Required properties:
>>>> -- compatible		: Should be "ti,davinci_mdio"
>>>> +- compatible		: Should be "ti,davinci_mdio" or "ti,keystone-mdio"
>>>
>>> Why the inconsistency in naming schemes?  I don't see any reason
>>> to be different wrt. "_" vs. "-" in the name string.
>>>
>>
>> Hm. Looks like the common way is to use "-", but I can rename it if you insist.
>
> I'm just saying, is there a strong reason to be inconsistent?
>

I've followed the same format as for all latest compatibility strings in 
Kernel. Also I've checked ePAPR and dash is used for all examples there.

"ti,davinci_mdio" was added 2 years ago, so possibly no strict 
convention or review were done then. Now, I can't change 
"ti,davinci_mdio" -> "ti,davinci-mdio" to be consistent with Kernel due 
to compatibility issues.

May be DT Gurus can say more?


Regards,
-grygorii

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/2] net: davinci_mdio: reuse for keystone2 arch
@ 2014-07-11 10:24           ` Grygorii Strashko
  0 siblings, 0 replies; 27+ messages in thread
From: Grygorii Strashko @ 2014-07-11 10:24 UTC (permalink / raw)
  To: David Miller, devicetree-u79uwXL29TY76Z2rM5mHXA
  Cc: davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/,
	f.fainelli-Re5JQEeQqe8AvxtiuMwx3w, netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A, santosh.shilimkar-l0cyMroinI0

On 07/10/2014 10:39 PM, David Miller wrote:
> From: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org>
> Date: Thu, 10 Jul 2014 15:58:31 +0300
>
>> Hi David,
>>
>> On 07/10/2014 02:52 AM, David Miller wrote:
>>> From: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org>
>>> Date: Wed, 9 Jul 2014 16:10:50 +0300
>>>
>>>>    Required properties:
>>>> -- compatible		: Should be "ti,davinci_mdio"
>>>> +- compatible		: Should be "ti,davinci_mdio" or "ti,keystone-mdio"
>>>
>>> Why the inconsistency in naming schemes?  I don't see any reason
>>> to be different wrt. "_" vs. "-" in the name string.
>>>
>>
>> Hm. Looks like the common way is to use "-", but I can rename it if you insist.
>
> I'm just saying, is there a strong reason to be inconsistent?
>

I've followed the same format as for all latest compatibility strings in 
Kernel. Also I've checked ePAPR and dash is used for all examples there.

"ti,davinci_mdio" was added 2 years ago, so possibly no strict 
convention or review were done then. Now, I can't change 
"ti,davinci_mdio" -> "ti,davinci-mdio" to be consistent with Kernel due 
to compatibility issues.

May be DT Gurus can say more?


Regards,
-grygorii

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 1/2] net: davinci_mdio: reuse for keystone2 arch
@ 2014-07-11 10:24           ` Grygorii Strashko
  0 siblings, 0 replies; 27+ messages in thread
From: Grygorii Strashko @ 2014-07-11 10:24 UTC (permalink / raw)
  To: David Miller, devicetree-u79uwXL29TY76Z2rM5mHXA
  Cc: davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/,
	f.fainelli-Re5JQEeQqe8AvxtiuMwx3w, netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A, santosh.shilimkar-l0cyMroinI0

On 07/10/2014 10:39 PM, David Miller wrote:
> From: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org>
> Date: Thu, 10 Jul 2014 15:58:31 +0300
>
>> Hi David,
>>
>> On 07/10/2014 02:52 AM, David Miller wrote:
>>> From: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org>
>>> Date: Wed, 9 Jul 2014 16:10:50 +0300
>>>
>>>>    Required properties:
>>>> -- compatible		: Should be "ti,davinci_mdio"
>>>> +- compatible		: Should be "ti,davinci_mdio" or "ti,keystone-mdio"
>>>
>>> Why the inconsistency in naming schemes?  I don't see any reason
>>> to be different wrt. "_" vs. "-" in the name string.
>>>
>>
>> Hm. Looks like the common way is to use "-", but I can rename it if you insist.
>
> I'm just saying, is there a strong reason to be inconsistent?
>

I've followed the same format as for all latest compatibility strings in 
Kernel. Also I've checked ePAPR and dash is used for all examples there.

"ti,davinci_mdio" was added 2 years ago, so possibly no strict 
convention or review were done then. Now, I can't change 
"ti,davinci_mdio" -> "ti,davinci-mdio" to be consistent with Kernel due 
to compatibility issues.

May be DT Gurus can say more?


Regards,
-grygorii

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2014-07-11 10:24 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-09 13:10 [PATCH 0/2] net: davinci_mdio: reuse for keystone2 arch Grygorii Strashko
2014-07-09 13:10 ` Grygorii Strashko
2014-07-09 13:10 ` [PATCH 1/2] " Grygorii Strashko
2014-07-09 13:10   ` Grygorii Strashko
2014-07-09 14:20   ` Santosh Shilimkar
2014-07-09 14:20     ` Santosh Shilimkar
2014-07-09 23:52   ` David Miller
2014-07-10 12:58     ` Grygorii Strashko
2014-07-10 12:58       ` Grygorii Strashko
2014-07-10 19:39       ` David Miller
2014-07-10 19:39         ` David Miller
2014-07-11 10:24         ` Grygorii Strashko
2014-07-11 10:24           ` Grygorii Strashko
2014-07-11 10:24           ` Grygorii Strashko
2014-07-11  5:03   ` Mugunthan V N
2014-07-11  5:03     ` Mugunthan V N
2014-07-11  5:03     ` Mugunthan V N
2014-07-09 13:10 ` [PATCH 2/2] net: davinci_mdio: allow to create phys from dt Grygorii Strashko
2014-07-09 13:10   ` Grygorii Strashko
2014-07-09 14:23   ` Santosh Shilimkar
2014-07-09 14:23     ` Santosh Shilimkar
2014-07-09 14:23     ` Santosh Shilimkar
2014-07-10 13:15     ` Grygorii Strashko
2014-07-10 13:15       ` Grygorii Strashko
2014-07-11  5:05   ` Mugunthan V N
2014-07-11  5:05     ` Mugunthan V N
2014-07-11  5:05     ` Mugunthan V N

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.