Roger On 02/07/2014 03:48 AM, Roger Quadros wrote: > Hi Dan, > > On 02/03/2014 02:59 PM, Dan Murphy wrote: >> Add spl_sata to read a fat partition from a bootable SATA >> drive. >> >> Signed-off-by: Dan Murphy <dmur...@ti.com> >> --- > I got some check-patch errors with this one. > Once that is fixed you can please add
Thanks for the review Checkpatch errors or warnings? When I ran checkpatch before submitting I did have 2 warnings but these should be acceptable. I will let the maintainer decide on the acceptability of the two warnings since these warnings are consistent with the spl_mmc and spl_usb files WARNING: suspect code indent for conditional statements (8, 8) #122: FILE: common/spl/spl_sata.c:39: + if (spl_start_uboot() || spl_load_image_fat_os(stor_dev, [...] + err = spl_load_image_fat(stor_dev, WARNING: line over 80 characters #123: FILE: common/spl/spl_sata.c:40: + CONFIG_SYS_SATA_FAT_BOOT_PARTITION)) total: 0 errors, 2 warnings, 99 lines checked > > Reviewed-by: Roger Quadros <rog...@ti.com> > > cheers, > -roger >> v2 - Removed debug print - http://patchwork.ozlabs.org/patch/314811/ >> >> common/Makefile | 3 +++ >> common/cmd_scsi.c | 2 ++ >> common/spl/Makefile | 1 + >> common/spl/spl.c | 5 +++++ >> common/spl/spl_sata.c | 49 >> +++++++++++++++++++++++++++++++++++++++++++++++++ >> include/spl.h | 3 +++ >> spl/Makefile | 1 + >> 7 files changed, 64 insertions(+) >> create mode 100644 common/spl/spl_sata.c >> >> diff --git a/common/Makefile b/common/Makefile >> index 4d99ecd..b0f5b62 100644 >> --- a/common/Makefile >> +++ b/common/Makefile >> @@ -201,6 +201,9 @@ ifdef CONFIG_SPL_USB_HOST_SUPPORT >> obj-$(CONFIG_SPL_USB_SUPPORT) += usb.o usb_hub.o >> obj-$(CONFIG_USB_STORAGE) += usb_storage.o >> endif >> +ifdef CONFIG_SPL_SATA_SUPPORT >> +obj-$(CONFIG_CMD_SCSI) += cmd_scsi.o >> +endif >> ifneq ($(CONFIG_SPL_NET_SUPPORT),y) >> obj-$(CONFIG_ENV_IS_NOWHERE) += env_nowhere.o >> obj-$(CONFIG_ENV_IS_IN_MMC) += env_mmc.o >> diff --git a/common/cmd_scsi.c b/common/cmd_scsi.c >> index 7b97dc9..b3f7687 100644 >> --- a/common/cmd_scsi.c >> +++ b/common/cmd_scsi.c >> @@ -168,7 +168,9 @@ removable: >> scsi_curr_dev = -1; >> >> printf("Found %d device(s).\n", scsi_max_devs); >> +#ifndef CONFIG_SPL_BUILD >> setenv_ulong("scsidevs", scsi_max_devs); >> +#endif >> } >> >> int scsi_get_disk_count(void) >> diff --git a/common/spl/Makefile b/common/spl/Makefile >> index 65a1484f..64569c2 100644 >> --- a/common/spl/Makefile >> +++ b/common/spl/Makefile >> @@ -18,4 +18,5 @@ obj-$(CONFIG_SPL_NET_SUPPORT) += spl_net.o >> obj-$(CONFIG_SPL_MMC_SUPPORT) += spl_mmc.o >> obj-$(CONFIG_SPL_USB_SUPPORT) += spl_usb.o >> obj-$(CONFIG_SPL_FAT_SUPPORT) += spl_fat.o >> +obj-$(CONFIG_SPL_SATA_SUPPORT) += spl_sata.o >> endif >> diff --git a/common/spl/spl.c b/common/spl/spl.c >> index 0645cee..774fdad 100644 >> --- a/common/spl/spl.c >> +++ b/common/spl/spl.c >> @@ -210,6 +210,11 @@ void board_init_r(gd_t *dummy1, ulong dummy2) >> spl_usb_load_image(); >> break; >> #endif >> +#ifdef CONFIG_SPL_SATA_SUPPORT >> + case BOOT_DEVICE_SATA: >> + spl_sata_load_image(); >> + break; >> +#endif >> default: >> debug("SPL: Un-supported Boot Device\n"); >> hang(); >> diff --git a/common/spl/spl_sata.c b/common/spl/spl_sata.c >> new file mode 100644 >> index 0000000..2e7adca >> --- /dev/null >> +++ b/common/spl/spl_sata.c >> @@ -0,0 +1,49 @@ >> +/* >> + * (C) Copyright 2013 >> + * Texas Instruments, <www.ti.com> >> + * >> + * Dan Murphy <dmur...@ti.com> >> + * >> + * SPDX-License-Identifier: GPL-2.0+ >> + * >> + * Derived work from spl_usb.c >> + */ >> + >> +#include <common.h> >> +#include <spl.h> >> +#include <asm/u-boot.h> >> +#include <sata.h> >> +#include <fat.h> >> +#include <version.h> >> +#include <image.h> >> + >> +DECLARE_GLOBAL_DATA_PTR; >> + >> +void spl_sata_load_image(void) >> +{ >> + int err; >> + block_dev_desc_t *stor_dev; >> + >> + err = init_sata(CONFIG_SPL_SATA_BOOT_DEVICE); >> + if (err) { >> +#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT >> + printf("spl: sata init failed: err - %d\n", err); >> +#endif >> + hang(); >> + } else { >> + /* try to recognize storage devices immediately */ >> + stor_dev = scsi_get_dev(0); >> + } >> + >> +#ifdef CONFIG_SPL_OS_BOOT >> + if (spl_start_uboot() || spl_load_image_fat_os(stor_dev, >> + >> CONFIG_SYS_SATA_FAT_BOOT_PARTITION)) >> +#endif >> + err = spl_load_image_fat(stor_dev, >> + CONFIG_SYS_SATA_FAT_BOOT_PARTITION, >> + CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME); >> + if (err) { >> + puts("Error loading sata device\n"); >> + hang(); >> + } >> +} >> diff --git a/include/spl.h b/include/spl.h >> index 5e24856..ee09fb6 100644 >> --- a/include/spl.h >> +++ b/include/spl.h >> @@ -64,6 +64,9 @@ void spl_net_load_image(const char *device); >> /* USB SPL functions */ >> void spl_usb_load_image(void); >> >> +/* SATA SPL functions */ >> +void spl_sata_load_image(void); >> + >> /* SPL FAT image functions */ >> int spl_load_image_fat(block_dev_desc_t *block_dev, int partition, const >> char *filename); >> int spl_load_image_fat_os(block_dev_desc_t *block_dev, int partition); >> diff --git a/spl/Makefile b/spl/Makefile >> index 4143e38..28fcfdd 100644 >> --- a/spl/Makefile >> +++ b/spl/Makefile >> @@ -85,6 +85,7 @@ LIBS-$(CONFIG_SPL_USBETH_SUPPORT) += drivers/usb/gadget/ >> LIBS-$(CONFIG_SPL_WATCHDOG_SUPPORT) += drivers/watchdog/ >> LIBS-$(CONFIG_SPL_USB_HOST_SUPPORT) += drivers/usb/host/ >> LIBS-$(CONFIG_OMAP_USB_PHY) += drivers/usb/phy/ >> +LIBS-$(CONFIG_SPL_SATA_SUPPORT) += drivers/block/ >> >> ifneq (,$(CONFIG_MX23)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 >> mx35)) >> LIBS-y += arch/$(ARCH)/imx-common/ >> -- ------------------ Dan Murphy _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot