From: Ben Warren <bwarren@qstreams.com>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] [PATCH] PHY: Add support for the M88E1121R Marvell chip.
Date: Sun, 08 Jun 2008 22:10:48 -0700 [thread overview]
Message-ID: <484CBB58.90903@qstreams.com> (raw)
In-Reply-To: <1212760364-11761-1-git-send-email-wd@denx.de>
Hi,
Wolfgang Denk wrote:
> From: Sergei Poselenov <sposelenov@emcraft.com>
>
> Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
> Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
> ---
> 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
next prev parent reply other threads:[~2008-06-09 5:10 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-06 13:52 [U-Boot-Users] [PATCH] PHY: Add support for the M88E1121R Marvell chip Wolfgang Denk
2008-06-09 5:10 ` Ben Warren [this message]
2008-06-09 6:09 ` Wolfgang Denk
2008-06-09 6:31 ` Ben Warren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=484CBB58.90903@qstreams.com \
--to=bwarren@qstreams.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.