
Hi Fabio,
Sorry, kind of got side tracked a bit.
Tom, in response to SATA off a PCI bus, that was my main concern with just adding a SATA init. However after looking through the code I have noticed that there is a CONFIG_SYS_EARLY_PCI_INIT which if declared will call initr_pci before my initr_sata. Ho ever this got me to thinking, would it be better to have someting like CONFIG_SYS_EARLY_SATA_INIT and do
#if defined(CONFIG_CMD_SATA) && defined(CONFIG_SYS_EARLY_SATA_INIT) initr_sata, #endif
Or is this just being too complicated. Is there a file some place listing all of the various CONFIG_XXX and CONFIG_SYS_XXX ? I know the README file has many, but not all it seems.
regards Ben
On Tuesday 05 May 2015 11:17:55 Fabio Estevam wrote:
Hi Ben,
On Thu, Apr 30, 2015 at 9:57 AM, Ben Hewson ben@frazer-nash.com 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.
Could you please send a formal patch to the list?
Process is described here: http://www.denx.de/wiki/U-Boot/Patches
Thanks,
Fabio Estevam