[PATCH 2/6] ibm_newemac: Add ET1011c PHY support
Stefan Roese
sr at denx.de
Thu Nov 8 19:41:46 EST 2007
On Thursday 08 November 2007, Benjamin Herrenschmidt wrote:
> This adds support for the ET1011c PHY as found on the taishan
> board.
>
> The code comes from the kernel distributed with the board by
> AMCC and developped by DENX.
>
> Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> ---
>
> And don't ask me about using phylib, it's in plan :-)
>
> drivers/net/ibm_newemac/phy.c | 37 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 37 insertions(+)
>
> Index: linux-work/drivers/net/ibm_newemac/phy.c
> ===================================================================
> --- linux-work.orig/drivers/net/ibm_newemac/phy.c 2007-11-08
> 15:11:30.000000000 +1100 +++
> linux-work/drivers/net/ibm_newemac/phy.c 2007-11-08 15:11:54.000000000
> +1100 @@ -327,6 +327,42 @@ static int m88e1111_init(struct mii_phy
> return 0;
> }
>
> +static int et1011c_init(struct mii_phy *phy)
> +{
> + u16 reg_short;
> +
> + reg_short = (u16)(phy_read(phy,0x16));
> + reg_short &= ~(0x7);
> + reg_short |= 0x6; /* RGMII Trace Delay*/
> + phy_write(phy, 0x16, reg_short);
> +
> + reg_short = (u16)(phy_read(phy, 0x17));
> + reg_short &= ~(0x40);
> + phy_write(phy, 0x17, reg_short);
> +
> + phy_write(phy,0x1c,0x74f0);
> + return 0;
> +}
> +
> +static struct mii_phy_ops et1011c_phy_ops = {
> + .init = et1011c_init,
> + .setup_aneg = genmii_setup_aneg,
> + .setup_forced = genmii_setup_forced,
> + .poll_link = genmii_poll_link,
> + .read_link = genmii_read_link
> +};
> +
> +static struct mii_phy_def et1011c_phy_def = {
> + .phy_id = 0x0282f000,
> + .phy_id_mask = 0x0fffff00,
> + .name = "ET1011C Gigabit Ethernet",
> + .ops = &et1011c_phy_ops
> +};
> +
> +
> +
> +
> +
Nitpicking: Too many empty lines for my taste.
Other then that:
Acked-by: Stefan Roese <sr at denx.de>
Thanks.
Best regards,
Stefan
More information about the Linuxppc-dev
mailing list