From: Tapani Utriainen <tapani@technexion.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 05/12] MX6: add boot device support for SPL
Date: Tue, 6 May 2014 14:36:52 +0800 [thread overview]
Message-ID: <20140506143652.503a727e@triceratops> (raw)
In-Reply-To: <CAJ+vNU2fBAsSf=1vOk4HAGP5iiVVk7hW6+kEyXbe7TP4jM8cNg@mail.gmail.com>
On Mon, 5 May 2014 08:46:24 -0700
Tim Harvey <tharvey@gateworks.com> wrote:
> +cc Edward Lin
>
> On Mon, May 5, 2014 at 2:14 AM, Stefano Babic <sbabic@denx.de> wrote:
> > Hi Tim,
> >
...
> >> --- /dev/null
> >> +++ b/arch/arm/imx-common/spl.c
> >> @@ -0,0 +1,79 @@
> >> +/*
> >> + * Copyright (C) 2014 Gateworks Corporation
> >> + * Author: Tim Harvey <tharvey@gateworks.com>
> >> + *
> >> + * SPDX-License-Identifier: GPL-2.0+
> >> + */
> >> +
> >
> > Just a little remark. Do you have written the function on your own or
> > have you ported it from Freescale's 2009.08 ? Apart names, it looks similar.
> >
> > If this is the case, you should also add Freescale's Copyright to the
> > header.
>
> Hi Stefano,
>
> I've never looked at Freescales 2009.08 code myself (I have an
> aversion to vendor specific forks of u-boot almost 5 years old heh),
> but its likely bits of the function came from there originally but my
> inspiration likely came from Edward Lin's patch a while back. A
> switch/case seems the logical approach given the bitfield from the
> IMX6 reference manual with several don't-cares spread around and I
> felt that was much easier to read than trying to convert it all the
> shifts and masks.
>
> I can add additional copyright's if anyone feels its necessary - I've
> added Edward to the cc to see if he feels its necessary.
>
> Tim
>
> >
> >> +#include <common.h>
> >> +#include <asm/io.h>
> >> +#include <asm/arch/imx-regs.h>
> >> +#include <asm/spl.h>
> >> +#include <spl.h>
> >> +
> >> +#if defined(CONFIG_MX6)
> >> +/* determine boot device from SRC_SBMR1 register (BOOT_CFG[4:1]) */
> >> +u32 spl_boot_device(void)
> >> +{
> >> + struct src *psrc = (struct src *)SRC_BASE_ADDR;
> >> + unsigned reg = readl(&psrc->sbmr1);
> >> +
> >> + /* BOOT_CFG1[7:4] - see IMX6DQRM Table 8-8 */
> >> + switch ((reg & 0x000000FF) >> 4) {
> >> + /* EIM: See 8.5.1, Table 8-9 */
> >> + case 0x0:
> >> + /* BOOT_CFG1[3]: NOR/OneNAND Selection */
> >> + if ((reg & 0x00000008) >> 3)
> >> + return BOOT_DEVICE_ONENAND;
> >> + else
> >> + return BOOT_DEVICE_NOR;
> >> + break;
> >> + /* SATA: See 8.5.4, Table 8-20 */
> >> + case 0x2:
> >> + return BOOT_DEVICE_SATA;
> >> + /* Serial ROM: See 8.5.5.1, Table 8-22 */
> >> + case 0x3:
> >> + /* BOOT_CFG4[2:0] */
> >> + switch ((reg & 0x07000000) >> 24) {
> >> + case 0x0 ... 0x4:
> >> + return BOOT_DEVICE_SPI;
> >> + case 0x5 ... 0x7:
> >> + return BOOT_DEVICE_I2C;
> >> + }
> >> + break;
> >> + /* SD/eSD: 8.5.3, Table 8-15 */
> >> + case 0x4:
> >> + case 0x5:
> >> + return BOOT_DEVICE_MMC1;
> >> + /* MMC/eMMC: 8.5.3 */
> >> + case 0x6:
> >> + case 0x7:
> >> + return BOOT_DEVICE_MMC1;
> >> + /* NAND Flash: 8.5.2 */
> >> + case 0x8 ... 0xf:
> >> + return BOOT_DEVICE_NAND;
> >> + }
> >> + return BOOT_DEVICE_NONE;
> >> +}
> >> +#endif
> >> +
> >> +#if defined(CONFIG_SPL_MMC_SUPPORT)
> >> +/* called from spl_mmc to see type of boot mode for storage (RAW or FAT) */
> >> +u32 spl_boot_mode(void)
> >> +{
> >> + switch (spl_boot_device()) {
> >> + /* for MMC return either RAW or FAT mode */
> >> + case BOOT_DEVICE_MMC1:
> >> + case BOOT_DEVICE_MMC2:
> >> +#ifdef CONFIG_SPL_FAT_SUPPORT
> >> + return MMCSD_MODE_FAT;
> >> +#else
> >> + return MMCSD_MODE_RAW;
> >> +#endif
> >> + break;
> >> + default:
> >> + puts("spl: ERROR: unsupported device\n");
> >> + hang();
> >> + }
> >> +}
> >> +#endif
> >>
Tim, Stefano,
that piece of code indeed originates from Freescale's 2009.08 u-boot.
(Edward has changed jobs, so the CC:d address is of no use.)
regards,
//Tapani
ps: Tim, thanks for getting the SPL framework mainlined!
next prev parent reply other threads:[~2014-05-06 6:36 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-28 20:17 [U-Boot] [PATCH 00/12] MX6: SPL NAND support Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 01/12] SPL: NAND: remove CONFIG_SYS_NAND_PAGE_SIZE Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 02/12] SPL: NAND: add support for mxs nand Tim Harvey
2014-05-02 20:56 ` Scott Wood
2014-05-06 4:08 ` Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 03/12] MX6: add common SPL configuration Tim Harvey
2014-04-29 4:14 ` Eric Nelson
2014-04-29 6:37 ` Igor Grinberg
2014-04-29 11:55 ` Tim Harvey
2014-05-05 9:05 ` Stefano Babic
2014-05-07 17:01 ` Nikita Kiryanov
2014-04-28 20:17 ` [U-Boot] [PATCH 04/12] spl: consolidate arch/arm/include/asm/arch-*/spl.h Tim Harvey
2014-04-30 5:39 ` Masahiro Yamada
2014-05-05 9:08 ` Stefano Babic
2014-04-28 20:17 ` [U-Boot] [PATCH 05/12] MX6: add boot device support for SPL Tim Harvey
2014-04-29 4:28 ` Eric Nelson
2014-05-05 9:14 ` Stefano Babic
2014-05-05 15:46 ` Tim Harvey
2014-05-05 18:30 ` Stefano Babic
2014-05-06 6:36 ` Tapani Utriainen [this message]
2014-05-06 7:55 ` Stefano Babic
2014-05-06 15:42 ` Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 06/12] IMX: add comments and remove unused struct fields Tim Harvey
2014-05-05 10:28 ` Stefano Babic
2014-04-28 20:17 ` [U-Boot] [PATCH 07/12] MX6: add structs for mmdc and ddr iomux registers Tim Harvey
2014-04-29 14:20 ` Eric Nelson
2014-05-05 10:34 ` Stefano Babic
2014-05-05 15:52 ` Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 08/12] MX6: add mmdc configuration for MX6Q/MX6DL Tim Harvey
2014-04-29 15:15 ` Eric Nelson
2014-04-29 18:19 ` Tim Harvey
2014-04-29 18:26 ` Eric Nelson
2014-04-29 18:35 ` Otavio Salvador
2014-04-28 20:17 ` [U-Boot] [PATCH 09/12] IMX: add additional function for pinmux using an array Tim Harvey
2014-04-29 15:22 ` Eric Nelson
2014-05-06 4:35 ` Tim Harvey
2014-05-07 16:59 ` Nikita Kiryanov
2014-05-08 4:11 ` Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 10/12] imx: ventana: split read_eeprom into standalone file Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 11/12] imx: ventana: auto-configure for IMX6Q vs IMX6DL Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 12/12] imx: ventana: switch to SPL Tim Harvey
2014-05-06 18:18 ` Tim Harvey
2014-05-06 18:45 ` York Sun
2014-05-06 19:11 ` Jeroen Hofstee
2014-05-06 23:35 ` Tim Harvey
2014-05-07 16:14 ` York Sun
2014-05-07 18:43 ` Jeroen Hofstee
2014-05-07 20:27 ` Tim Harvey
2014-05-07 20:29 ` York Sun
2014-05-07 20:35 ` Tim Harvey
2014-05-07 20:36 ` York Sun
2014-05-07 9:29 ` Stefano Babic
2014-05-14 4:58 ` Tim Harvey
2014-05-14 5:03 ` Tim Harvey
2014-05-14 22:32 ` Tim Harvey
2014-05-15 9:20 ` Stefano Babic
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140506143652.503a727e@triceratops \
--to=tapani@technexion.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.