All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tim Harvey <tharvey@gateworks.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 04/11] MX6: add common SPL configuration
Date: Wed, 9 Apr 2014 08:32:51 -0700	[thread overview]
Message-ID: <CAJ+vNU2vOzdu40Vo_CMQ_O2Q759_U1jYK66N6JFhMx+vUNMoFg@mail.gmail.com> (raw)
In-Reply-To: <53455F55.1090208@compulab.co.il>

On Wed, Apr 9, 2014 at 7:55 AM, Nikita Kiryanov <nikita@compulab.co.il> wrote:
> Hi Tim,
>
> On 04/03/2014 09:01 AM, Tim Harvey wrote:> Add a common header which can
> hopefully be shared among imx6 SPL users
>
>>
>> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
>> ---
>>   include/configs/imx6_spl.h | 64
>
> ++++++++++++++++++++++++++++++++++++++++++++++
>>
>>   1 file changed, 64 insertions(+)
>>   create mode 100644 include/configs/imx6_spl.h
>>
>> diff --git a/include/configs/imx6_spl.h b/include/configs/imx6_spl.h
>> new file mode 100644
>> index 0000000..f9bdf55
>> --- /dev/null
>> +++ b/include/configs/imx6_spl.h
>> @@ -0,0 +1,64 @@
>> +/*
>> + * Author: Tim Harvey <tharvey@gateworks.com>
>> + *
>> + * SPDX-License-Identifier:     GPL-2.0+
>> + */
>> +#ifndef __IMX6_SPL_CONFIG_H
>> +#define __IMX6_SPL_CONFIG_H
>> +
>> +#ifdef CONFIG_SPL
>> +
>> +#define CONFIG_SPL_FRAMEWORK
>> +
>> +/*
>> + * IMX6 OCRAM (IRAM) is from 0x00907000 to 0x0093FFFF
>
>
> That's not true for all IMX6 SoCs. On i.MX6 Solo and DualLite it's
> 0x00907000 to 0x0091FFFF.
>
>
>> + *  - we start at 0x00908000 so as to leave some room for IVT/DCD
>> + *  - recommended stack (from IMX6DQRM Figure 8-3) is at 0x0093FFB8
>> + *  - this leaves about 224K for SPL image and stack
>> + */
>> +#define CONFIG_SPL_LDSCRIPT
>> "arch/arm/cpu/armv7/mx6/u-boot-spl.lds"
>> +#define CONFIG_SPL_TEXT_BASE           0x00908000
>> +#define CONFIG_SPL_MAX_SIZE            (128 * 1024)
>
>
> This should be a smaller value if we want this config to apply for
> i.MX6 Solo and DualLite, which have a 68KB OCRAM free area.

Hi Nikita,

Agreed - I just discovered this yesterday. I had tested on an
IMX6DL/SOLO via boot from OTG, but I had not tested those combinations
when booting from flash and indeed they failed.

The 68KB OCRAM free area also assumes that you start at 0x00907000 and
as we start at 0x00908000 to leave room for the IVT+DCD this becomes
65KB

>
>
>> +#define CONFIG_SPL_START_S_PATH                "arch/arm/cpu/armv7"
>> +#define CONFIG_SPL_STACK               0x0093FFB8
>
>
> For i.MX6 Solo and DualLite this address should be lower (recommended
> address is 0x0091FFB8).

Agreed

>
>
>> +#define CONFIG_SPL_LIBCOMMON_SUPPORT
>> +#define CONFIG_SPL_LIBGENERIC_SUPPORT
>> +#define CONFIG_SPL_SERIAL_SUPPORT
>> +#define CONFIG_SPL_I2C_SUPPORT
>> +#define CONFIG_SPL_GPIO_SUPPORT
>> +
>> +/* NAND support */
>> +#if defined(CONFIG_SPL_NAND_SUPPORT)
>> +#define CONFIG_SPL_NAND_MXS
>> +#define CONFIG_SPL_NAND_BASE
>> +#define CONFIG_SPL_DMA_SUPPORT
>> +#endif
>
>
>
> --
> Regards,
> Nikita.

This presents another challenge for SPL NAND as currently my SPL is
~70K. There is a lot of unnecessary code in the mtd nand layer that
I'm including because that layer includes support for both read and
write (I don't need write for SPL) as well as various NAND types (and
I only need BCH).

I'm not sure yet what the best approach is to resolve that. I can either:
 a) add a lot of ifdef's around functions in
drivers/mtd/nand/{nand_base.c,nand_bbt.c} to remove NAND write and non
BCH support for CONFIG_SPL_BUILD
 b) re-write the necessary functionality (code duplication) into
drivers/mtd/nand/mxs_nand_spl.c

Thanks for the review!

Tim

  reply	other threads:[~2014-04-09 15:32 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-03  6:01 [U-Boot] [PATCH 00/11] MX6: SPL NAND support Tim Harvey
2014-04-03  6:01 ` [U-Boot] [PATCH 01/11] SPL: NAND: remove CONFIG_SYS_NAND_PAGE_SIZE Tim Harvey
2014-04-04  2:33   ` Masahiro Yamada
2014-04-09 14:55   ` Nikita Kiryanov
2014-04-14 11:38   ` Stefano Babic
2014-04-17 14:18     ` Tim Harvey
2014-04-18 22:23       ` Scott Wood
2014-04-03  6:01 ` [U-Boot] [PATCH 02/11] SPL: NAND: add support for mxs nand Tim Harvey
2014-04-14 11:38   ` Stefano Babic
2014-04-03  6:01 ` [U-Boot] [PATCH 03/11] MX6: provide linker script for SPL Tim Harvey
2014-04-09 14:55   ` Nikita Kiryanov
2014-04-14 12:02   ` Stefano Babic
2014-04-17  6:27     ` Tim Harvey
2014-04-18 21:10       ` Otavio Salvador
2014-04-03  6:01 ` [U-Boot] [PATCH 04/11] MX6: add common SPL configuration Tim Harvey
2014-04-09 14:55   ` Nikita Kiryanov
2014-04-09 15:32     ` Tim Harvey [this message]
2014-04-10 14:37       ` Nikita Kiryanov
2014-04-10 21:04         ` Scott Wood
2014-04-03  6:01 ` [U-Boot] [PATCH 05/11] MX6: add boot device support SPL Tim Harvey
2014-04-14 12:27   ` Stefano Babic
2014-04-17  6:16     ` Tim Harvey
2014-04-17  8:59       ` Stefano Babic
2014-04-03  6:01 ` [U-Boot] [PATCH 06/11] MX6: add struct for sharing data between SPL and uboot Tim Harvey
2014-04-09 14:55   ` Nikita Kiryanov
2014-04-14 12:35   ` Stefano Babic
2014-04-17  6:07     ` Tim Harvey
2014-04-17  9:30       ` Stefano Babic
2014-04-17 11:22         ` Igor Grinberg
2014-04-17 11:44           ` Stefano Babic
2014-04-18  6:35             ` Tim Harvey
2014-04-20  7:52               ` Igor Grinberg
2014-04-21 18:28                 ` Tim Harvey
2014-04-22  7:44                   ` Igor Grinberg
2014-04-03  6:01 ` [U-Boot] [PATCH 07/11] MX6: use macro building for MX6Q/MX6DL iomux regs Tim Harvey
2014-04-09 14:57   ` Nikita Kiryanov
2014-04-09 15:46     ` Tim Harvey
2014-04-10 14:08       ` Nikita Kiryanov
2014-04-10 14:51         ` Nikita Kiryanov
2014-04-11  5:23           ` Tim Harvey
2014-04-23 17:07         ` Stefano Babic
2014-04-23 19:00           ` Eric Nelson
2014-04-24  7:07             ` Igor Grinberg
2014-04-24  5:21           ` Tim Harvey
2014-04-23 15:30       ` Stefano Babic
2014-04-03  6:01 ` [U-Boot] [PATCH 08/11] MX6: add mmdc configuration for MX6Q/MX6DL Tim Harvey
2014-04-03  6:01 ` [U-Boot] [PATCH 09/11] IMX: add additional function for pinmux using an array Tim Harvey
2014-04-09 14:56   ` Nikita Kiryanov
2014-04-09 15:40     ` Tim Harvey
2014-04-10 14:41       ` Nikita Kiryanov
2014-04-23  5:03         ` Tim Harvey
2014-04-03  6:01 ` [U-Boot] [PATCH 10/11] ventana: auto-configure for IMX6Q vs IMX6DL Tim Harvey
2014-04-23 17:31   ` Stefano Babic
2014-04-24  5:04     ` Tim Harvey
2014-04-03  6:01 ` [U-Boot] [PATCH 11/11] ventana: switch to SPL Tim Harvey
2014-04-03 18:52   ` Tim Harvey
2014-04-23 18:03   ` Stefano Babic
2014-04-24  8:06     ` Tim Harvey
2014-04-24  8:18       ` Stefano Babic
2014-04-24  8:22       ` Stefan Roese

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=CAJ+vNU2vOzdu40Vo_CMQ_O2Q759_U1jYK66N6JFhMx+vUNMoFg@mail.gmail.com \
    --to=tharvey@gateworks.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.