Re: [U-Boot] unassigned-patches/24: [PATCH] PHY: Add support for the M88E1121R Marvell chip.
Hi Ben, Hi Detlev, On Mon, Sep 1, 2008 at 3:48 PM, Detlev Zundel [EMAIL PROTECTED] wrote: Hi Ben, It looks like this one slipped through the cracks. I've looked through my e-mails and found one from Wolfgang on 6/8 where he said he'd apply it, so I acked the patch rather than pulling it myself. For whatever reason, it didn't make it in. I've rejigged the patch to apply to TOT, and have applied to the net repo. Please find the fixed-up patch attached, as applied to e99e9575bbeba1b7c48e046547cae065ec0071de Excellent. Any idea on when you will send a pull request? The only thing holding me back is that there are quite a few changes that were posted over the weekend or today (a statutory holiday in the U.S. and Canada) and would like to give people more time to review. If it's OK with you, I'll send a pull request tomorrow night so you guys have it first thing Wednesday morning. Thats fine. If you don't think this precaution is necessary, I can send a request tonight. Don't get me wrong, I did not want to push you. I only wanted to know at what time I'd need to send reminders again ;) Cheers Detlev -- 5.7: Practically speaking, what is the difference between arrays and pointers? About the difference between alcohol and marijuana; they have different characteristics, and that's not a problem if you don't mix them too carelessly. - Infrequently Asked Questions in comp.lang.c -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: [EMAIL PROTECTED] ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] unassigned-patches/24: [PATCH] PHY: Add support for the M88E1121R Marvell chip.
Hi Ben, Signed-off-by: Yuri Tikhonov [EMAIL PROTECTED] Signed-off-by: Sergei Poselenov [EMAIL PROTECTED] --- Added to GNATS database as unassigned-patches/24 Responsible:patch-coord Message-Id: [EMAIL PROTECTED] In-Reply-To: References: Patch-Date: Fri Aug 15 15:42:08 +0200 2008 --- drivers/net/tsec.c | 50 ++ drivers/net/tsec.h |7 +++ 2 files changed, 57 insertions(+), 0 deletions(-) Any comments on this patch? Thanks Detlev -- The limits of my language stand for the limits of my world. -- Ludwig Wittgenstein -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: [EMAIL PROTECTED] ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] unassigned-patches/24: [PATCH] PHY: Add support for the M88E1121R Marvell chip.
Hi Detlev, Detlev Zundel wrote: Hi Ben, Signed-off-by: Yuri Tikhonov [EMAIL PROTECTED] Signed-off-by: Sergei Poselenov [EMAIL PROTECTED] --- Added to GNATS database as unassigned-patches/24 Responsible:patch-coord Message-Id: [EMAIL PROTECTED] In-Reply-To: References: Patch-Date: Fri Aug 15 15:42:08 +0200 2008 --- drivers/net/tsec.c | 50 ++ drivers/net/tsec.h |7 +++ 2 files changed, 57 insertions(+), 0 deletions(-) Any comments on this patch? Thanks Detlev Hi Detlev, It looks like this one slipped through the cracks. I've looked through my e-mails and found one from Wolfgang on 6/8 where he said he'd apply it, so I acked the patch rather than pulling it myself. For whatever reason, it didn't make it in. I've rejigged the patch to apply to TOT, and have applied to the net repo. Please find the fixed-up patch attached, as applied to e99e9575bbeba1b7c48e046547cae065ec0071de [PATCH] PHY: Add support for the M88E1121R Marvell chip. 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 @@ -1157,6 +1157,54 @@ struct phy_info phy_info_M88E1118 = { }, }; +/* + * 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); @@ -1521,6 +1569,7 @@ struct phy_info *phy_info[] = { phy_info_BCM5464S, phy_info_M88E1011S, phy_info_M88ES, phy_info_M88E1118, + phy_info_M88E1121R, phy_info_M88E1145, phy_info_M88E1149S, 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_88E_PHY_LED_DIRECT0x4100 #define MIIM_88E_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 -- 1.5.4.2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] unassigned-patches/24: [PATCH] PHY: Add support for the M88E1121R Marvell chip.
Signed-off-by: Yuri Tikhonov [EMAIL PROTECTED] Signed-off-by: Sergei Poselenov [EMAIL PROTECTED] --- Added to GNATS database as unassigned-patches/24 Responsible:patch-coord Message-Id: [EMAIL PROTECTED] In-Reply-To: References: Patch-Date: Fri Aug 15 15:42:08 +0200 2008 --- drivers/net/tsec.c | 50 ++ drivers/net/tsec.h |7 +++ 2 files changed, 57 insertions(+), 0 deletions(-) diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c index 6e0f2c6..fb5002d 100644 --- a/drivers/net/tsec.c +++ b/drivers/net/tsec.c @@ -1157,6 +1157,55 @@ struct phy_info phy_info_M88E1118 = { }, }; +/* + * 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); @@ -1522,6 +1571,7 @@ struct phy_info *phy_info[] = { phy_info_M88E1011S, phy_info_M88ES, phy_info_M88E1118, + 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_88E_PHY_LED_DIRECT0x4100 #define MIIM_88E_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 -- 1.5.6.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot