All of lore.kernel.org
 help / color / mirror / Atom feed
From: Igor Grinberg <grinberg@compulab.co.il>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 06/11] MX6: add struct for sharing data between SPL and uboot
Date: Thu, 17 Apr 2014 14:22:03 +0300	[thread overview]
Message-ID: <534FB95B.3030206@compulab.co.il> (raw)
In-Reply-To: <534F9F1B.5080209@denx.de>

Hi Stefano, Tim,

On 04/17/14 12:30, Stefano Babic wrote:
> Hi Tim,
> 
> On 17/04/2014 08:07, Tim Harvey wrote:
>> On Mon, Apr 14, 2014 at 5:35 AM, Stefano Babic <sbabic@denx.de> wrote:
>>> Hi Tim,
>>>
>>> I see checking your patch that the MXS uses the same concept. And as far
>>> as I can see, boot_mode_idx is used only to print the boot devioce
>>
>> Stefano,
>>
>> yes, that is where I got the concept from.
> 
> Well, it slipped into mainline, but adding such a structure only to have
> a better print is not very useful...
> 
>> I've been told this before, but I've found that get_ram_size() will
>> hang on an i.MX6 if you pass it a maxsize larger than the memory in
>> your system. Perhaps you can verify you see the same behavior?
> 
> get_ram_size() works if the memory is accessible, that means that no
> exception is generated when it tries to access. If the RAM controller is
> programmed for a larger amount of memory, because you can have board
> with different capacity of RAM, get_ram_size() finds dynamically the
> soldered value.
> 
> However, if the RAM controller is programmed for an amount of RAM
> smaller as what get_ram_size() tries to identify, an exception is
> raised. In get_ram_size(start, size) we pass the maximum amount of
> memory that the function is allowed to check. I can imagine we are
> running in this case. Checking on i.MX6, we have both boards checking
> the size with get_ram_size() as mx6sabresd, as well as boards fixing at
> compile time the value of the RAM (nitrogen6x).

get_ram_size() works on cm-fx6 all DRAM configurations.

> 
>>> SPL is thought to generally load an image (of course, in most cases it
>>> is u-boot). In Falcon mode, the kernel is started without running
>>> u-boot, making this structure useless. Do we really need such a way (but
>>> then, it must be generalized as SPL API), or can we get rid of it ?
>>
>> As we have an EEPROM on the board that tells us the physical ram size,
>> I use that to avoid the lockup.
> 
> It seems weird. There is several boards in mainline (I am sure about
> Freescale's PowerPC) discovering the mounted RAM. Of course, this is
> simpler if many parameters (row/columns/...) are the same, I am not sure
> about this.

Even if the parameters are different, this should not result in lockup...
AFAICS, lockup of that type has nothing to do with the DRAM itself, but
the controller configuration.

> Are we sure it is not possible here ? What does it happen
> with an inconsistent value in EEprom ?
> 
>> Eventually I would like to read and
>> validate the entire EEPROM once in SPL and pass this to u-boot.img to
>> avoid reading and validating it again. I think this is a good example
>> of why sharing data between SPL and u-boot.img could be useful.
> 
> I am not sure, and I doubt it is a good idea to use persistent data to
> store that. It is potentially dangerous, and if some reasons the EEprom
> is changed, the board could not boot at all.

This is more a question of design and definition of what purpose the eeprom
should serve, so I would let the vendor decide if he wants to depend on eeprom
or not.

> 
> On the other side, I like the current concept that the SPL is simply a
> loader and can load images of different types, and fixing an API between
> SPL and U-Boot goes against this concept.

I agree on this one, there is no real need (at least currently) to
introduce such an API.

Also, there are cases (e.g. cm-fx6) where the DRAM size can be determined by
just reading the MMDC configuration and thus spare additional get_ram_size()
call from U-Boot.


-- 
Regards,
Igor.

  reply	other threads:[~2014-04-17 11:22 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
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 [this message]
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=534FB95B.3030206@compulab.co.il \
    --to=grinberg@compulab.co.il \
    --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.