Hi Prafulla, thanks for reviewing. On 05/12/2011 01:01 PM, Prafulla Wadaskar wrote: > > >> -----Original Message----- >> From: Valentin Longchamp [mailto:valentin.longch...@keymile.com] >> Sent: Wednesday, May 04, 2011 9:24 PM >> To: u-boot@lists.denx.de >> Cc: holger.bru...@keymile.com; Prafulla Wadaskar; Valentin Longchamp; >> Wolfgang Denk; Detlev Zundel >> Subject: [PATCH v3 8/8] arm/km: update mgcoge3un board support >> >> From: Holger Brunck <holger.bru...@keymile.com> > > This line should be removed or moved to cc/ack/test list, it will appear in > commit log >
this is only the indication that the patch is not from Valentin and is common practice or am I wrong? Patch 5/8 in the serie does exactly the same. >> >> We change default settings for egiga on mgcoge3un. >> The reason we need this is that we have the gig port on mgcoge3un >> connected using a back-to-back pair of PHYs. There are no magnetics and >> because of that the port has to be run with a fixd configuration and >> auto-negotiation must be disabled. In the default mode the egiga driver >> uses autoneg to determine port speed - which defaults to 1G (we need >> 100M full duplex). >> >> Add wait for the GPIO line connected to mgcoge3ne before >> starting mgcoge3un. A board specific ethernet present function >> was added, because on this board ethernet is always present. >> The BOCO FPGA access was enhanced and changed to use register >> definitions. >> >> Signed-off-by: Holger Brunck <holger.bru...@keymile.com> >> Signed-off-by: Valentin Longchamp <valentin.longch...@keymile.com> >> Acked-by: Heiko Schocher <h...@denx.de> >> cc: Wolfgang Denk <w...@denx.de> >> cc: Detlev Zundel <d...@denx.de> >> cc: Prafulla Wadaskar <prafu...@marvell.com> >> --- >> Changes for v2: >> - split up first large patch series to three independent smaller >> patch series >> Changes for v3: >> - taken Prafulla's comments into account, merged with previous 08/08 >> patch >> >> board/keymile/km_arm/km_arm.c | 80 +++++++++++++++++++++++++++++++++- >> ------ >> include/configs/mgcoge3un.h | 25 +++++++++++++ >> 2 files changed, 91 insertions(+), 14 deletions(-) >> >> diff --git a/board/keymile/km_arm/km_arm.c >> b/board/keymile/km_arm/km_arm.c >> index 4049a4e..d86acc9 100644 >> --- a/board/keymile/km_arm/km_arm.c >> +++ b/board/keymile/km_arm/km_arm.c >> @@ -41,6 +41,16 @@ >> >> DECLARE_GLOBAL_DATA_PTR; >> >> +/* >> + * BOCO FPGA definitions >> + */ >> +#define BOCO 0x10 >> +#define REG_CTRL_H 0x02 >> +#define MASK_WRL_UNITRUN 0x01 >> +#define MASK_RBX_PGY_PRESENT 0x40 >> +#define REG_IRQ_CIRQ2 0x2d >> +#define MASK_RBI_DEFECT_16 0x01 >> + >> /* Multi-Purpose Pins Functionality configuration */ >> u32 kwmpp_config[] = { >> MPP0_NF_IO2, >> @@ -102,43 +112,64 @@ u32 kwmpp_config[] = { >> 0 >> }; >> >> +#if defined(CONFIG_MGCOGE3UN) >> +/* >> + * Wait for startup OK from mgcoge3ne >> + */ >> +int startup_allowed(void) >> +{ >> + unsigned char buf; >> + >> + /* >> + * Read CIRQ16 bit (bit 0) >> + */ >> + if (i2c_read(BOCO, REG_IRQ_CIRQ2, 1, &buf, 1) != 0) >> + printf("%s: Error reading Boco\n", __func__); >> + else >> + if ((buf & MASK_RBI_DEFECT_16) == MASK_RBI_DEFECT_16) >> + return 1; >> + return 0; >> +} >> + >> +/* >> + * mgcoge3un has always ethernet present. Its connected to the 6061 >> switch >> + * and provides ICNev and piggy4 connections. >> + */ >> +int ethernet_present(void) >> +{ >> + return 1; >> +} >> +#else >> int ethernet_present(void) >> { >> uchar buf; >> int ret = 0; >> >> - if (i2c_read(0x10, 2, 1, &buf, 1) != 0) { >> + if (i2c_read(BOCO, REG_CTRL_H, 1, &buf, 1) != 0) { >> printf("%s: Error reading Boco\n", __func__); >> return -1; >> } >> - if ((buf & 0x40) == 0x40) >> + if ((buf & MASK_RBX_PGY_PRESENT) == MASK_RBX_PGY_PRESENT) > > You can #if here instead of as done above, it will help to reduce code size > and will be more readable. > I am sorry if I missed this in the earlier post. > hm, #if is evaluated during compile time and buf is a variable determined runtime. What do you mean exactly? Best regards Holger Brunck _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot