[U-Boot] [PATCH v7] kirkwood: add NAS62x0 board support

Prafulla Wadaskar prafulla at marvell.com
Tue Apr 17 11:14:23 CEST 2012



> -----Original Message-----
> From: u-boot-bounces at lists.denx.de [mailto:u-boot-
> bounces at lists.denx.de] On Behalf Of Simon Baatz
> Sent: 17 April 2012 04:34
> To: u-boot at lists.denx.de; dreagle at doukki.net; Luka Perkov
> Subject: Re: [U-Boot] [PATCH v7] kirkwood: add NAS62x0 board support
> 
> Hi,
> 
> Am 14.04.2012 19:25, schrieb Luka Perkov:
> > NAS6210 eSATA port is not working from uboot... That is why there
> are
> > CONFIG_BOARD_IS_IB_NAS6210 and CONFIG_BOARD_IS_IB_NAS6220 in
> ib62x0.h
> > config file.
> >
> >
> I think I have found the reason why the eSATA port is not working on
> the
> 6210. I think the second port on the 6220 does not work either.
> Surprisingly, the reason is completely unrelated to this board and has
> also been described before (see for example
> http://www.varkey.in/2011/06/boot-debian-from-sata-seagate-goflex-net/
> which states:
> 
> Shutdown the GoFlex Net, connect the hard disk to the **right** side
> SATA port. There seems to be a bug in Jeff's uBoot for GoFlex Net, so
> within uBoot only the right port works.
> )
> 
> If you compile the patch for the 6220 and use it on the 6210, the
> first
> hard disk is detected twice and the second one is not detected at all.
> The problem is a mismatch in "include/ide.h" and "common/cmd_ide.c".
> ide.h defines:
> 
> #define IDE_BUS(dev) (dev >> 1)
> 
> However, cmd_ide.c uses the following in ide_init():
> 
> for (bus = 0; bus < CONFIG_SYS_IDE_MAXBUS; ++bus) {
> int dev =
> bus * (CONFIG_SYS_IDE_MAXDEVICE /
> CONFIG_SYS_IDE_MAXBUS);
> 
> In this case CONFIG_SYS_IDE_MAXDEVICE and CONFIG_SYS_IDE_MAXDEVICE are
> both 2 since there are two SATA ports with max one device each.
> 
> However, IDE_BUS seems to assume that each bus has two devices and
> thus
> returns the first bus even when the second one should be probed. I
> don't
> know whether it is the proper fix for this, but
> 
> #define IDE_BUS(dev) (dev / (CONFIG_SYS_IDE_MAXDEVICE /
> CONFIG_SYS_IDE_MAXBUS))
> 
> in ide.h fixes the problem for me and detects both the internal hard
> disk and the hard disk at the eSATA port.
> 
> This also means that the 6210/6220 patch should not make a difference
> between the two boards.

Hi Simon

This is a good findings indeed.

Hi Luka
May you please check the same and resubmit the clean patch, you may keep ide patch separate mentioning dependency.

Regards..
Prafulla . . .


More information about the U-Boot mailing list