Armada100: Enable 88E3015 PHY support for GplugD
PATCH v5 3/3 Armada100: Enable 88E3015 PHY support for GplugD
This patch adds support for 88E3015 PHY for Marvell GplugD board. This patch depends on series of patch which adds support for Marvell GuruPlug-Display.
Signed-off-by Ajay Bhargav <[email protected]>
---
Changes for v2:
- Not changed
Changes for v3:
- code cleanup; removed unwated cast
Changes for v4:
- Not changed
Changes for v5:
- Coding style cleanup
board/Marvell/gplugd/gplugd.c | 33 +++++++++++++++++++++++++++++++++ include/configs/gplugd.h | 14 ++++++++++++++ 2 files changed, 47 insertions(+), 0 deletions(-)
board/Marvell/gplugd/gplugd.c +33 -0
@@ -32,6 +32,8 @@#include <mvmfp.h> #include <asm/arch/mfp.h> #include <asm/arch/armada100.h> +#include <asm/gpio.h> +#include <miiphy.h> #ifdef CONFIG_ARMADA100_FEC #include <net.h>
@@ -83,6 +85,11 @@ int board_init(void) gd->bd->bi_arch_number =MACH_TYPE_SHEEVAD ;/* adress of boot parameters */ gd->bd->bi_boot_params =armd1_sdram_base (0 ) +0x100 ; +/* Assert PHY_RST# */ +gpio_direction_output (CONFIG_SYS_GPIO_PHY_RST ,GPIO_LOW ); +udelay (10 ); +/* Deassert PHY_RST# */ +gpio_set_value (CONFIG_SYS_GPIO_PHY_RST ,GPIO_HIGH );return 0 ; }
@@ -97,4 +104,30 @@ int board_eth_init(bd_t *bis) return armada100_fec_register(ARMD1_FEC_BASE); } + +#ifdef CONFIG_RESET_PHY_R +/* Configure and initialize PHY chip 88E3015 */ +void reset_phy (void ) +{ +u16 phy_adr; +const char *name ="armd-fec0" ; + +if (miiphy_set_current_dev (name)) +return ; + +/* command to read PHY dev address */ +if (miiphy_read (name,0xff ,0xff , &phy_adr)) { +printf ("Err..%s could not read PHY dev address\n" , __func__); +return ; + } + +/* Set Ethernet LED in TX blink mode */ +miiphy_write (name, phy_adr,PHY_LED_MAN_REG ,0x00 ); +miiphy_write (name, phy_adr,PHY_LED_PAR_SEL_REG ,PHY_LED_VAL ); + +/* reset the phy */ +miiphy_reset (name, phy_adr); +debug ("88E3015 Initialized on %s\n" , name); +} +#endif /* CONFIG_RESET_PHY_R */ #endif /* CONFIG_ARMADA100_FEC */
include/configs/gplugd.h +14 -0
@@ -80,6 +80,20 @@#define CONFIG_ROOTPATH "/tftpboot"#define CONFIG_SYS_IMG_NAME "uImage" +/* GPIO Support */ +#define CONFIG_MARVELL_GPIO + +/* PHY configuration */ +#define CONFIG_MII +#define CONFIG_CMD_MII +#define CONFIG_RESET_PHY_R +/* 88E3015 register definition */ +#define PHY_LED_PAR_SEL_REG 22 +#define PHY_LED_MAN_REG 25 +#define PHY_LED_VAL 0x5b/* LINK LED1, ACT LED2 */ +/* GPIO Configuration for PHY */ +#define CONFIG_SYS_GPIO_PHY_RST 104/* GPIO104 */ +/* * mv-common.h should be defined after CMD configs since it used them * to enable certain macros
Signature · 1 line
1.7.0.4
PATCH v5 3/3 Armada100: Enable 88E3015 PHY support for GplugD
Quoted 15 lines · Ajay Bhargav
This patch adds support for 88E3015 PHY for Marvell GplugD board. This patch depends on series of patch which adds support for Marvell GuruPlug-Display.
Signed-off-by Ajay Bhargav <[email protected]>---
Changes for v2:
- Not changed
Changes for v3:
- code cleanup; removed unwated cast
Changes for v4:
- Not changed
Changes for v5:
- Coding style cleanup
Quoted 4 lines
board/Marvell/gplugd/gplugd.c | 33 +++++++++++++++++++++++++++++++++ include/configs/gplugd.h | 14 ++++++++++++++ 2 files changed, 47 insertions(+), 0 deletions(-)
Acked-by Marek Vasut <[email protected]>