[U-Boot] [PATCH 05/11] MX6: add boot device support SPL

Stefano Babic sbabic at denx.de
Thu Apr 17 10:59:04 CEST 2014


Hi Tim,

On 17/04/2014 08:16, Tim Harvey wrote:

>>> +             boot_dev = MX6_SATA_BOOT;
>>> +             break;
>>> +     /* Serial ROM: See 8.5.5.1, Table 8-22 */
>>> +     case 0x3:
>>> +             /* BOOT_CFG4[2:0] */
>>> +             switch ((soc_sbmr & 0x07000000) >> 24) {
>>> +             case 0x0 ... 0x4:
>>> +                     boot_dev = MX6_SPI_NOR_BOOT;
>>> +                     break;
>>> +             case 0x5 ... 0x7:
>>> +                     boot_dev = MX6_I2C_BOOT;
>>> +                     break;
>>> +             }
>>> +             break;
>>> +     /* SD/eSD: 8.5.3, Table 8-15  */
>>> +     case 0x4:
>>> +     case 0x5:
>>> +             boot_dev = MX6_SD_BOOT;
>>> +             break;
>>> +     /* MMC/eMMC: 8.5.3 */
>>> +     case 0x6:
>>> +     case 0x7:
>>> +             boot_dev = MX6_MMC_BOOT;
>>> +             break;
>>> +     /* NAND Flash: 8.5.2 */
>>> +     case 0x8 ... 0xf:
>>> +             boot_dev = MX6_NAND_BOOT;
>>> +             break;
>>> +     default:
>>> +             boot_dev = MX6_UNKNOWN_BOOT;
>>> +             break;
>>> +     }
>>> +
>>
>> The function can be used as well for MX5 SOCs. Move it into imx-common,
>> and use constants without SOC names. Instead of MX6_NAND_BOOT,
>> IMX_NAND_BOOT (or whatever you find makes sense..)
> 
> Are you saying the i.MX5's have the same register and meaning?  I
> figured the sbmr is different.

The register is the same, and mostly with the same meaning. You do not
need to care about it. Just put it into imx-common, and when someone
will add support for MX5, this function will be analyzed and modified
instead of adding a new one.

> 
>>
>>> +     return boot_dev;
>>> +}
>>> +
>>> +
>>>  void s_init(void)
>>>  {
>>>       struct anatop_regs *anatop = (struct anatop_regs *)ANATOP_BASE_ADDR;
>>> diff --git a/arch/arm/include/asm/arch-mx6/spl.h b/arch/arm/include/asm/arch-mx6/spl.h
>>> new file mode 100644
>>> index 0000000..5611c71
>>> --- /dev/null
>>> +++ b/arch/arm/include/asm/arch-mx6/spl.h
>>> @@ -0,0 +1,26 @@
>>> +/*
>>> + * Copyright (C) 2013 TechNexion Ltd.
>>> + *
>>> + * Author: Richard Hu <linuxfae at technexion.com>
>>> + *
>>> + * See file CREDITS for list of people who contributed to this
>>> + * project.
>>> + *
>>> + * This program is free software; you can redistribute it and/or
>>> + * modify it under the terms of the GNU General Public License as
>>> + * published by the Free Software Foundation; either version 2 of
>>> + * the License, or (at your option) any later version.
>>> + */
>>> +
>>> +#ifndef __ASM_ARCH_SPL_H__
>>> +#define __ASM_ARCH_SPL_H__
>>> +
>>> +#define BOOT_DEVICE_MMC1     0
>>> +#define BOOT_DEVICE_MMC2     1
>>> +#define BOOT_DEVICE_MMC2_2   2
>>> +#define BOOT_DEVICE_NAND     3
>>> +#define BOOT_DEVICE_SATA     4
>>> +#define BOOT_DEVICE_USBETH   5
>>> +#define BOOT_DEVICE_NONE     6
>>> +
>>
>> They are only defines and are not yet related to i.MX6 anymnore, because
>> you have already mapped them. What about to move this defines into
>> imx-common ?
> 
> ok
> 

Masahiro has sent this week a patch to consolidate names, that are
duplicated for all architecture:
	http://patchwork.ozlabs.org/patch/339438/

I think it is a very good idea to follow his approach.

> 
> I hope to have a v2 posted soon.

Please only wait until I send my remark regarding the patches with pinmux.

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list