[U-Boot] [PATCH 2/2] mx6cuboxi: Add support for sata
Jonathan Gray
jsg at jsg.id.au
Tue May 16 05:50:38 UTC 2017
On Mon, May 15, 2017 at 06:24:46PM +0100, Peter Robinson wrote:
> The Cubox-i and Hummingboard series of devices have an option of
> SATA on board, and depending on how the fuses are blown even the
> option to boot SPL from SATA. So enable support for it so it can
> be used to boot the OS from if people desire.
>
> Signed-off-by: Peter Robinson <pbrobinson at gmail.com>
> ---
> board/solidrun/mx6cuboxi/mx6cuboxi.c | 7 +++++++
> configs/mx6cuboxi_defconfig | 23 ++++++++++++-----------
> include/configs/mx6cuboxi.h | 11 +++++++++++
> 3 files changed, 30 insertions(+), 11 deletions(-)
>
> diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c
> index 285588d80a..59a78dfa6a 100644
> --- a/board/solidrun/mx6cuboxi/mx6cuboxi.c
> +++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c
> @@ -22,6 +22,7 @@
> #include <linux/errno.h>
> #include <asm/gpio.h>
> #include <asm/imx-common/iomux-v3.h>
> +#include <asm/imx-common/sata.h>
> #include <asm/imx-common/video.h>
> #include <mmc.h>
> #include <fsl_esdhc.h>
> @@ -314,6 +315,12 @@ int board_early_init_f(void)
> ret = setup_display();
> #endif
>
> +#ifdef CONFIG_CMD_SATA
> + /* Only mx6q/mx6q has SATA */
> + if (is_mx6dq())
> + setup_sata();
Comment was intended to be mx6d/mx6q?
Though the test here may not be needed as setup_sata() returns early if
not available. And mx6cuboxi.c wouldn't need to be updated here if a
i.MX 6DualPlus or i.MX 6QuadPlus board from SolidRun shows up at some
point in the future.
u-boot/arch/arm/imx-common/sata.c
int setup_sata(void)
{
struct iomuxc *const iomuxc_regs = (struct iomuxc *)IOMUXC_BASE_ADDR;
int ret;
if (!is_mx6dq() && !is_mx6dqp())
return 1;
> +#endif
> +
> #ifdef CONFIG_USB_EHCI_MX6
> setup_usb();
> #endif
> diff --git a/configs/mx6cuboxi_defconfig b/configs/mx6cuboxi_defconfig
> index c34beb74e2..ca5f5189f6 100644
> --- a/configs/mx6cuboxi_defconfig
> +++ b/configs/mx6cuboxi_defconfig
> @@ -1,30 +1,31 @@
> CONFIG_ARM=y
> CONFIG_ARCH_MX6=y
> +CONFIG_TARGET_MX6CUBOXI=y
> +CONFIG_SPL=y
> +CONFIG_SPL_EXT_SUPPORT=y
> CONFIG_SPL_GPIO_SUPPORT=y
> +CONFIG_SPL_I2C_SUPPORT=y
> CONFIG_SPL_LIBCOMMON_SUPPORT=y
> +CONFIG_SPL_LIBDISK_SUPPORT=y
> CONFIG_SPL_LIBGENERIC_SUPPORT=y
> -CONFIG_TARGET_MX6CUBOXI=y
> CONFIG_SPL_MMC_SUPPORT=y
> +# CONFIG_SPL_PARTITION_UUIDS is not set
> CONFIG_SPL_SERIAL_SUPPORT=y
> -CONFIG_SPL_LIBDISK_SUPPORT=y
> CONFIG_SPL_WATCHDOG_SUPPORT=y
> -# CONFIG_CMD_BMODE is not set
> CONFIG_VIDEO=y
> CONFIG_DISTRO_DEFAULTS=y
> CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6QDL"
> # CONFIG_SYS_STDIO_DEREGISTER is not set
> CONFIG_BOARD_EARLY_INIT_F=y
> -CONFIG_SPL=y
> -CONFIG_SPL_EXT_SUPPORT=y
> -CONFIG_SPL_I2C_SUPPORT=y
> -# CONFIG_CMD_IMLS is not set
> +# CONFIG_CMD_BMODE is not set
> +CONFIG_CMD_CACHE=y
> +CONFIG_CMD_EXT4_WRITE=y
> # CONFIG_CMD_FLASH is not set
> +CONFIG_CMD_GPIO=y
> +# CONFIG_CMD_IMLS is not set
> CONFIG_CMD_MMC=y
> +CONFIG_CMD_SATA=y
> CONFIG_CMD_USB=y
> -CONFIG_CMD_GPIO=y
> -CONFIG_CMD_CACHE=y
> -CONFIG_CMD_EXT4_WRITE=y
> -# CONFIG_SPL_PARTITION_UUIDS is not set
> CONFIG_DM=y
> CONFIG_DM_THERMAL=y
> CONFIG_USB=y
> diff --git a/include/configs/mx6cuboxi.h b/include/configs/mx6cuboxi.h
> index 84fdf656cd..be071769fc 100644
> --- a/include/configs/mx6cuboxi.h
> +++ b/include/configs/mx6cuboxi.h
> @@ -21,6 +21,16 @@
> /* MMC Configs */
> #define CONFIG_SYS_FSL_ESDHC_ADDR USDHC2_BASE_ADDR
>
> +/* SATA Configuration */
> +#ifdef CONFIG_CMD_SATA
> +#define CONFIG_DWC_AHSATA
> +#define CONFIG_SYS_SATA_MAX_DEVICE 1
> +#define CONFIG_DWC_AHSATA_PORT_ID 0
> +#define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR
> +#define CONFIG_LBA48
> +#define CONFIG_LIBATA
> +#endif
> +
> /* Ethernet Configuration */
> #define CONFIG_FEC_MXC
> #define CONFIG_MII
> @@ -119,6 +129,7 @@
>
> #define BOOT_TARGET_DEVICES(func) \
> func(MMC, mmc, 0) \
> + func(SATA, sata, 0) \
> func(USB, usb, 0) \
> func(PXE, pxe, na) \
> func(DHCP, dhcp, na)
> --
> 2.13.0
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
More information about the U-Boot
mailing list