| From 983c8cb217db342c8a2a4fac3bf266baf29baced Mon Sep 17 00:00:00 2001 |
| From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> |
| Date: Sun, 2 Jun 2013 02:40:55 +0400 |
| Subject: ARM: shmobile: BOCK-W: add Ether support |
| |
| Register Ether device from bockw_init(), passing the platform data to it, adding |
| only the RMII pin group to bockw_pinctrl_map[]. Although the LINK signal exists |
| on the board, it's connected to the link/activity LED output of the PHY, thus |
| the link disappears and reappears after each packet. We'd be better off ignoring |
| such signal and getting the link state from the PHY indirectly. |
| |
| Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> |
| [horms+renesas@verge.net.au: manually applied] |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| |
| (cherry picked from commit 9aa3853a6f6652901f7ae42ed6bfd85a11bdc795) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| |
| Conflicts: |
| arch/arm/mach-shmobile/board-bockw.c |
| --- |
| arch/arm/mach-shmobile/board-bockw.c | 18 ++++++++++++++++++ |
| 1 file changed, 18 insertions(+) |
| |
| diff --git a/arch/arm/mach-shmobile/board-bockw.c b/arch/arm/mach-shmobile/board-bockw.c |
| index f6ca2ae2..ce0fa38e 100644 |
| --- a/arch/arm/mach-shmobile/board-bockw.c |
| +++ b/arch/arm/mach-shmobile/board-bockw.c |
| @@ -65,7 +65,24 @@ static struct sh_mobile_sdhi_info sdhi0_info = { |
| .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT, |
| }; |
| |
| +static struct sh_eth_plat_data ether_platform_data __initdata = { |
| + .phy = 0x01, |
| + .edmac_endian = EDMAC_LITTLE_ENDIAN, |
| + .register_type = SH_ETH_REG_FAST_RCAR, |
| + .phy_interface = PHY_INTERFACE_MODE_RMII, |
| + /* |
| + * Although the LINK signal is available on the board, it's connected to |
| + * the link/activity LED output of the PHY, thus the link disappears and |
| + * reappears after each packet. We'd be better off ignoring such signal |
| + * and getting the link state from the PHY indirectly. |
| + */ |
| + .no_ether_link = 1, |
| +}; |
| + |
| static const struct pinctrl_map bockw_pinctrl_map[] = { |
| + /* Ether */ |
| + PIN_MAP_MUX_GROUP_DEFAULT("sh-eth", "pfc-r8a7778", |
| + "ether_rmii", "ether"), |
| /* SCIF0 */ |
| PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.0", "pfc-r8a7778", |
| "scif0_data_a", "scif0"), |
| @@ -92,6 +109,7 @@ static void __init bockw_init(void) |
| r8a7778_init_irq_extpin(1); |
| r8a7778_add_standard_devices(); |
| r8a7778_add_usb_phy_device(&usb_phy_platform_data); |
| + r8a7778_add_ether_device(ðer_platform_data); |
| |
| pinctrl_register_mappings(bockw_pinctrl_map, |
| ARRAY_SIZE(bockw_pinctrl_map)); |
| -- |
| 1.8.4.3.gca3854a |
| |