Patchwork [RFC,3/3,RFC] ARM: shmobile: genmai: Enable r7s72100-gether

login
register
mail settings
Submitter Simon Horman
Date Dec. 15, 2013, 8:24 a.m.
Message ID <1387095886-15163-4-git-send-email-horms+renesas@verge.net.au>
Download mbox | patch
Permalink /patch/301320/
State RFC
Delegated to: David Miller
Headers show

Comments

Simon Horman - Dec. 15, 2013, 8:24 a.m.
---
 arch/arm/mach-shmobile/board-genmai.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
Sergei Shtylyov - Dec. 15, 2013, 8:31 p.m.
Hello.

On 12/15/2013 11:24 AM, Simon Horman wrote:

    You forgot to sign off.

[...]

> diff --git a/arch/arm/mach-shmobile/board-genmai.c b/arch/arm/mach-shmobile/board-genmai.c
> index 3e92e3c..838325b 100644
> --- a/arch/arm/mach-shmobile/board-genmai.c
> +++ b/arch/arm/mach-shmobile/board-genmai.c
> @@ -20,15 +20,35 @@
>
>   #include <linux/kernel.h>
>   #include <linux/platform_device.h>
> +#include <linux/sh_eth.h>
>   #include <mach/common.h>
> +#include <mach/irqs.h>
>   #include <mach/r7s72100.h>
>   #include <asm/mach-types.h>
>   #include <asm/mach/arch.h>
>
> +/* GEther */
> +static const struct sh_eth_plat_data gether_pdata __initconst = {
> +	.phy			= 0x00, /* PD60610 */
> +	.edmac_endian		= EDMAC_LITTLE_ENDIAN,
> +	.phy_interface		= PHY_INTERFACE_MODE_MII,

    Does MII work for Gigabit Ethernet?

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Simon Horman - Dec. 16, 2013, 1:30 a.m.
On Sun, Dec 15, 2013 at 11:31:35PM +0300, Sergei Shtylyov wrote:
> Hello.
> 
> On 12/15/2013 11:24 AM, Simon Horman wrote:
> 
>    You forgot to sign off.
> 
> [...]
> 
> >diff --git a/arch/arm/mach-shmobile/board-genmai.c b/arch/arm/mach-shmobile/board-genmai.c
> >index 3e92e3c..838325b 100644
> >--- a/arch/arm/mach-shmobile/board-genmai.c
> >+++ b/arch/arm/mach-shmobile/board-genmai.c
> >@@ -20,15 +20,35 @@
> >
> >  #include <linux/kernel.h>
> >  #include <linux/platform_device.h>
> >+#include <linux/sh_eth.h>
> >  #include <mach/common.h>
> >+#include <mach/irqs.h>
> >  #include <mach/r7s72100.h>
> >  #include <asm/mach-types.h>
> >  #include <asm/mach/arch.h>
> >
> >+/* GEther */
> >+static const struct sh_eth_plat_data gether_pdata __initconst = {
> >+	.phy			= 0x00, /* PD60610 */
> >+	.edmac_endian		= EDMAC_LITTLE_ENDIAN,
> >+	.phy_interface		= PHY_INTERFACE_MODE_MII,
> 
>    Does MII work for Gigabit Ethernet?

My understanding is that although the SH ethernet block on
the SoC supports Gigabit it is only wired up to allow 100Mbit
access on the board and that MII is the interface used.

I believe this is the same situation as the Armadillo 800 EVA board.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sergei Shtylyov - Dec. 24, 2013, 9:43 p.m.
On 12/16/2013 04:30 AM, Simon Horman wrote:

>>     You forgot to sign off.

>> [...]

>>> diff --git a/arch/arm/mach-shmobile/board-genmai.c b/arch/arm/mach-shmobile/board-genmai.c
>>> index 3e92e3c..838325b 100644
>>> --- a/arch/arm/mach-shmobile/board-genmai.c
>>> +++ b/arch/arm/mach-shmobile/board-genmai.c
>>> @@ -20,15 +20,35 @@
>>>
>>>   #include <linux/kernel.h>
>>>   #include <linux/platform_device.h>
>>> +#include <linux/sh_eth.h>
>>>   #include <mach/common.h>
>>> +#include <mach/irqs.h>
>>>   #include <mach/r7s72100.h>
>>>   #include <asm/mach-types.h>
>>>   #include <asm/mach/arch.h>
>>>
>>> +/* GEther */
>>> +static const struct sh_eth_plat_data gether_pdata __initconst = {
>>> +	.phy			= 0x00, /* PD60610 */
>>> +	.edmac_endian		= EDMAC_LITTLE_ENDIAN,
>>> +	.phy_interface		= PHY_INTERFACE_MODE_MII,

>>     Does MII work for Gigabit Ethernet?

> My understanding is that although the SH ethernet block on
> the SoC supports Gigabit it is only wired up to allow 100Mbit
> access on the board and that MII is the interface used.

    No, it's the SoC manual that limits the Ethernet speed to 100 Mbps.

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sergei Shtylyov - Dec. 24, 2013, 9:45 p.m.
Hello.

On 12/15/2013 11:24 AM, Simon Horman wrote:

> ---
>   arch/arm/mach-shmobile/board-genmai.c | 20 ++++++++++++++++++++
>   1 file changed, 20 insertions(+)

> diff --git a/arch/arm/mach-shmobile/board-genmai.c b/arch/arm/mach-shmobile/board-genmai.c
> index 3e92e3c..838325b 100644
> --- a/arch/arm/mach-shmobile/board-genmai.c
> +++ b/arch/arm/mach-shmobile/board-genmai.c
> @@ -20,15 +20,35 @@
>
>   #include <linux/kernel.h>
>   #include <linux/platform_device.h>
> +#include <linux/sh_eth.h>
>   #include <mach/common.h>
> +#include <mach/irqs.h>
>   #include <mach/r7s72100.h>
>   #include <asm/mach-types.h>
>   #include <asm/mach/arch.h>
>
> +/* GEther */

    Just Ether.

> +static const struct sh_eth_plat_data gether_pdata __initconst = {
> +	.phy			= 0x00, /* PD60610 */
> +	.edmac_endian		= EDMAC_LITTLE_ENDIAN,
> +	.phy_interface		= PHY_INTERFACE_MODE_MII,

    I think .no_ether_link should be set to 1 -- I don't see the LINK signal 
in the manual.

> +};
> +
> +static const struct resource gether_resources[] __initconst = {
> +	DEFINE_RES_MEM(0xe8203000, 0x800),
> +	DEFINE_RES_MEM(0xe8204800, 0x200),
> +	DEFINE_RES_IRQ(gic_iid(359)),
> +};
> +
>   static void __init genmai_add_standard_devices(void)
>   {
>   	r7s72100_clock_init();
>   	r7s72100_add_dt_devices();
> +
> +	platform_device_register_resndata(&platform_bus, "r7s72100-gether", -1,

    We can't call it "-gether" if it lacks 1000 Mbps support. And the manual 
explicitly calls it ETHER.

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/arch/arm/mach-shmobile/board-genmai.c b/arch/arm/mach-shmobile/board-genmai.c
index 3e92e3c..838325b 100644
--- a/arch/arm/mach-shmobile/board-genmai.c
+++ b/arch/arm/mach-shmobile/board-genmai.c
@@ -20,15 +20,35 @@ 
 
 #include <linux/kernel.h>
 #include <linux/platform_device.h>
+#include <linux/sh_eth.h>
 #include <mach/common.h>
+#include <mach/irqs.h>
 #include <mach/r7s72100.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
+/* GEther */
+static const struct sh_eth_plat_data gether_pdata __initconst = {
+	.phy			= 0x00, /* PD60610 */
+	.edmac_endian		= EDMAC_LITTLE_ENDIAN,
+	.phy_interface		= PHY_INTERFACE_MODE_MII,
+};
+
+static const struct resource gether_resources[] __initconst = {
+	DEFINE_RES_MEM(0xe8203000, 0x800),
+	DEFINE_RES_MEM(0xe8204800, 0x200),
+	DEFINE_RES_IRQ(gic_iid(359)),
+};
+
 static void __init genmai_add_standard_devices(void)
 {
 	r7s72100_clock_init();
 	r7s72100_add_dt_devices();
+
+	platform_device_register_resndata(&platform_bus, "r7s72100-gether", -1,
+					  gether_resources,
+					  ARRAY_SIZE(gether_resources),
+					  &gether_pdata, sizeof(gether_pdata));
 }
 
 static const char * const genmai_boards_compat_dt[] __initconst = {