Hi,

Wolfgang Denk wrote:
> From: Sergei Poselenov <[EMAIL PROTECTED]>
>
> Signed-off-by: Yuri Tikhonov <[EMAIL PROTECTED]>
> Signed-off-by: Sergei Poselenov <[EMAIL PROTECTED]>
> ---
>  drivers/net/tsec.c |   49 +++++++++++++++++++++++++++++++++++++++++++++++++
>  drivers/net/tsec.h |    7 +++++++
>  2 files changed, 56 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c
> index c7af930..565da5c 100644
> --- a/drivers/net/tsec.c
> +++ b/drivers/net/tsec.c
> @@ -1128,6 +1128,54 @@ struct phy_info phy_info_M88E1111S = {
>                          },
>  };
>  
> +/*
> + *  Since to access LED register we need do switch the page, we
> + * do LED configuring in the miim_read-like function as follows
> + */
> +uint mii_88E1121_set_led (uint mii_reg, struct tsec_private *priv)
> +{
> +     uint pg;
> +
> +     /* Switch the page to access the led register */
> +     pg = read_phy_reg(priv, MIIM_88E1121_PHY_PAGE);
> +     write_phy_reg(priv, MIIM_88E1121_PHY_PAGE, MIIM_88E1121_PHY_LED_PAGE);
> +
> +     /* Configure leds */
> +     write_phy_reg(priv, MIIM_88E1121_PHY_LED_CTRL,
> +                   MIIM_88E1121_PHY_LED_DEF);
> +
> +     /* Restore the page pointer */
> +     write_phy_reg(priv, MIIM_88E1121_PHY_PAGE, pg);
> +     return 0;
> +}
> +
> +struct phy_info phy_info_M88E1121R = {
> +     0x01410cb,
> +     "Marvell 88E1121R",
> +     4,
> +     (struct phy_cmd[]){     /* config */
> +                        /* Reset and configure the PHY */
> +                        {MIIM_CONTROL, MIIM_CONTROL_RESET, NULL},
> +                        {MIIM_GBIT_CONTROL, MIIM_GBIT_CONTROL_INIT, NULL},
> +                        {MIIM_ANAR, MIIM_ANAR_INIT, NULL},
> +                        /* Configure leds */
> +                        {MIIM_88E1121_PHY_LED_CTRL, miim_read,
> +                         &mii_88E1121_set_led},
> +                        {MIIM_CONTROL, MIIM_CONTROL_INIT, &mii_cr_init},
> +                        {miim_end,}
> +                        },
> +     (struct phy_cmd[]){     /* startup */
> +                        /* Status is read once to clear old link state */
> +                        {MIIM_STATUS, miim_read, NULL},
> +                        {MIIM_STATUS, miim_read, &mii_parse_sr},
> +                        {MIIM_STATUS, miim_read, &mii_parse_link},
> +                        {miim_end,}
> +                        },
> +     (struct phy_cmd[]){     /* shutdown */
> +                        {miim_end,}
> +                        },
> +};
> +
>  static unsigned int m88e1145_setmode(uint mii_reg, struct tsec_private *priv)
>  {
>       uint mii_data = read_phy_reg(priv, mii_reg);
> @@ -1492,6 +1540,7 @@ struct phy_info *phy_info[] = {
>       &phy_info_BCM5464S,
>       &phy_info_M88E1011S,
>       &phy_info_M88E1111S,
> +     &phy_info_M88E1121R,
>       &phy_info_M88E1145,
>       &phy_info_M88E1149S,
>       &phy_info_dm9161,
> diff --git a/drivers/net/tsec.h b/drivers/net/tsec.h
> index 6a2338b..fee5934 100644
> --- a/drivers/net/tsec.h
> +++ b/drivers/net/tsec.h
> @@ -184,6 +184,13 @@
>  #define MIIM_88E1111_PHY_LED_DIRECT  0x4100
>  #define MIIM_88E1111_PHY_LED_COMBINE 0x411C
>  
> +/* 88E1121 PHY LED Control Register */
> +#define MIIM_88E1121_PHY_LED_CTRL    16
> +#define MIIM_88E1121_PHY_LED_PAGE    3
> +#define MIIM_88E1121_PHY_LED_DEF     0x0030
> +
> +#define MIIM_88E1121_PHY_PAGE                22
> +
>  /* 88E1145 Extended PHY Specific Control Register */
>  #define MIIM_88E1145_PHY_EXT_CR 20
>  #define MIIM_M88E1145_RGMII_RX_DELAY 0x0080
>   
This won't apply because to the net repo, I'm guessing because I've 
already applied another patch to driver/net/tsec.c for another Marvell 
PHY (commit 290ef6436838b1cc013bd67e0e0495c9eb3e23c0) and it hasn't made 
it into the main line yet. I see two options:

1. Somebody who knows more about git please tell me how to merge this.
2. Rebase the patch vs. the current net tree.

regards,
Ben

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users

Reply via email to