> -----Original Message----- > From: Ajay Bhargav [mailto:ajay.bhar...@einfochips.com] > Sent: Monday, July 18, 2011 3:12 PM > To: Prafulla Wadaskar > Cc: u-boot@lists.denx.de; Ajay Bhargav > Subject: [PATCH 3/4] Armada100: Enable 88E3015 PHY support for GplugD > > This patch adds support for 88E3015 PHY for Marvell GplugD board. > > Signed-off-by: Ajay Bhargav <ajay.bhar...@einfochips.com> > --- > board/Marvell/gplugd/gplugd.c | 35 > +++++++++++++++++++++++++++++++++++ > include/configs/gplugd.h | 14 ++++++++++++++ > 2 files changed, 49 insertions(+), 0 deletions(-) > > diff --git a/board/Marvell/gplugd/gplugd.c > b/board/Marvell/gplugd/gplugd.c > index dc7d89d..347a689 100644 > --- a/board/Marvell/gplugd/gplugd.c > +++ b/board/Marvell/gplugd/gplugd.c > @@ -32,6 +32,8 @@ > #include <mvmfp.h> > #include <asm/arch/mfp.h> > #include <asm/arch/armada100.h> > +#include <asm/gpio.h> > +#include <miiphy.h> > > DECLARE_GLOBAL_DATA_PTR; > > @@ -49,6 +51,7 @@ int board_early_init_f(void) > }; > /* configure MFP's */ > mfp_config(mfp_cfg); > +
Remove this unwanted commit line > return 0; > } > > @@ -58,5 +61,37 @@ 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_CLR); > + udelay(10); > + /* Deassert PHY_RST# */ > + gpio_set_value(CONFIG_SYS_GPIO_PHY_RST, GPIO_SET); May you please comment why do you need to set this GPIO? > return 0; > } > + > +#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, (u16 *) &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); > + printf("88E3015 Initialized on %s\n", name); > +} > +#endif /* CONFIG_RESET_PHY_R */ > diff --git a/include/configs/gplugd.h b/include/configs/gplugd.h > index cc14f49..412c959 100644 > --- a/include/configs/gplugd.h > +++ b/include/configs/gplugd.h > @@ -65,6 +65,20 @@ > #undef CONFIG_CMD_NET > #undef CONFIG_CMD_NFS > > +/* GPIO Support */ > +#define CONFIG_ARMADA100_GPIO > + > +/* PHY configuration */ This below configuration should be within #ifdef CONFIG_CMD_NET Or more it to asm/arch/config.h (recommended) > +#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 Regards.. Prafulla . . > -- > 1.7.0.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot