On Thu, Apr 30, 2015 at 01:57:58PM +0100, Ben Hewson wrote:

> booting from SATA works very well on my iMX6 based board, however if I do
> 
> 
> #define CONFIG_ENV_IS_IN_FAT 
> 
> #if defined(CONFIG_ENV_IS_IN_FAT)
>     #define CONFIG_FAT_WRITE
>     #define FAT_ENV_INTERFACE           "sata"
>     #define FAT_ENV_DEVICE_AND_PART     "0:1"
>     #define FAT_ENV_FILE                "u-boot.env"
> #endif
> 
> 
> nothing is loaded as the SATA has not been initialised.
> 
> Looking at board_r.c  I can see lots of inits, for mmc, nand and other stuff, 
> but not sata.
> 
> Following the format I have added a function
> 
> #ifdef CONFIG_CMD_SATA
> static int initr_sata(void)
> {
>       puts("SATA:   ");
>         sata_initialize();
>       return 0;
> }
> #endif
>         
> and inside init_fnc_t init_sequence_r[] = { after 
> 
> #ifdef CONFIG_GENERIC_MMC
>       initr_mmc,
> #endif
> 
> I have added 
> 
> #ifdef CONFIG_CMD_SATA
>         initr_sata,
> #endif
> 
> 
> So this compiled and booted and to my surprise worked.
> Is this the best way to achieve this. I can see potential problems if 
> sata_inialize() depends on other sub-systems being initialized first. I am 
> perhaps lucky that it works for me.

For today at least yes, this sounds about right.  I'm sure there's going
to be a case or two where it isn't enough (SATA off of PCI rather than
SoC bus?).  If you'd like to make and submit a patch that'd be great!

-- 
Tom

Attachment: signature.asc
Description: Digital signature

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to