On Fri, Feb 08, 2013 at 10:28:44AM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote: > Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> > --- > arch/arm/boards/sama5d3xek/init.c | 31 +++++++++++++++++++++++++++++++ > 1 file changed, 31 insertions(+) > Applied, thanks. > +static int ksz9021rn_phy_fixup(struct phy_device *phy) > +{ > + int value; > + > +#define GMII_RCCPSR 260 > +#define GMII_RRDPSR 261 > +#define GMII_ERCR 11 > +#define GMII_ERDWR 12 > + > + /* Set delay values */ > + value = GMII_RCCPSR | 0x8000; > + phy_write(phy, GMII_ERCR, value); > + value = 0xF2F4; > + phy_write(phy, GMII_ERDWR, value); > + value = GMII_RRDPSR | 0x8000; > + phy_write(phy, GMII_ERCR, value); > + value = 0x2222; > + phy_write(phy, GMII_ERDWR, value); > + > + return 0; This delay line setup really needs some generic code. We have this on i.MX6 aswell. Currently this means that each board needs to know the phy it has, not a really good situation. Sascha > +} > + > static void ek_add_device_eth(void) > { > if (w1_local_mac_address_register(0, "tml", "w1-2d-0")) > @@ -147,6 +174,10 @@ static void ek_add_device_eth(void) > if (ek_register_mac_address_23(1)) > ek_register_mac_address_43(1); > > + phy_register_fixup_for_uid(PHY_ID_KSZ9021, MICREL_PHY_ID_MASK, > + ksz9021rn_phy_fixup); > + > + at91_add_device_eth(0, &gmac_pdata); > at91_add_device_eth(1, &macb_pdata); > } > #else > -- > 1.7.10.4 > > > _______________________________________________ > barebox mailing list > barebox@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/barebox > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox