All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] Using spi_alloc_slave() from SPL
Date: Fri, 7 Aug 2015 00:22:01 +0200	[thread overview]
Message-ID: <201508070022.01319.marex@denx.de> (raw)
In-Reply-To: <55C3935C.8020305@denx.de>

On Thursday, August 06, 2015 at 07:03:24 PM, Stefano Babic wrote:
> Hi Marek,
> 
> On 06/08/2015 16:28, Marek Vasut wrote:
> > On Thursday, August 06, 2015 at 04:14:34 PM, Fabio Estevam wrote:
> >> Hi Stefano and Marek,
> >> 
> >> Thanks for the suggestions.
> >> 
> >> On Thu, Aug 6, 2015 at 10:38 AM, Stefano Babic <sbabic@denx.de> wrote:
> >>> There is the possibility to set a malloc area inside SPL:
> >>> 
> >>> CONFIG_SYS_SPL_MALLOC_START
> >>> CONFIG_SYS_SPL_MALLOC_SIZE
> >>> you do not need a lot of space, and you can try to put it inside the
> >>> IRAM.
> >>> 
> >>> This should guarantee that spi_alloc_slave() works.
> >> 
> >> So I tried moving them to the internal RAM:
> >> 
> >> --- a/include/configs/imx6_spl.h
> >> +++ b/include/configs/imx6_spl.h
> >> @@ -70,8 +70,8 @@
> >> 
> >>  #else
> >>  #define CONFIG_SPL_BSS_START_ADDR      0x18200000
> >>  #define CONFIG_SPL_BSS_MAX_SIZE                0x100000        /* 1 MB
> >>  */
> >> 
> >> -#define CONFIG_SYS_SPL_MALLOC_START    0x18300000
> >> -#define CONFIG_SYS_SPL_MALLOC_SIZE     0x3200000       /* 50 MB */
> >> +#define CONFIG_SYS_SPL_MALLOC_START    0x900000
> >> +#define CONFIG_SYS_SPL_MALLOC_SIZE     0x8000
> >> 
> >>  #define CONFIG_SYS_TEXT_BASE           0x17800000
> >>  #endif
> >>  #endif
> >> 
> >> but still getting spi_alloc_slave() to fail.
> > 
> > You want to avoid this "CONFIG_SYS_SPL_MALLOC_*" stuff, as it increases
> > the SPL size by 3kiB compared to MALLOC_F . Also, MALLOC_F needs just
> > the base address of the malloc area to work (see my email).
> 
> It does not matter at the moment, because Fabio's issue is not yet
> solved. But is it not CONFIG_SYS_SPL_MALLOC the preferred way for SPL ?
> Setting the array with MALLOC_F looks like a hack. And
> CONFIG_SYS_SPL_MALLOC is *already* set for i.MX6, lool at
> include/configs/imx6_spl.h:
> 
> #define CONFIG_SYS_SPL_MALLOC_START     0x18300000
> #define CONFIG_SYS_SPL_MALLOC_SIZE      0x3200000       /* 50 MB */
> 
> This is in RAM, of course. Increasing the size by 3KiB is not IMHO for
> i.MX6 a problem, there is enough space in IRAM. But what is surprising
> is that Fabio gets a Null pointer by malloc().

The malloc is set up only at the beginning of board_init_r(), but Fabio
needs to use the SPI in board_init_f(), so of course he does not have the
malloc operational at that point.

The MALLOC_F if intended to be used before RAM is operational (ie. before
board_init_r() is invoked), so it looks like the correct tool to use here.
Setting up a full malloc() in your small OCRAM is on the other hand a really
bad idea.

Best regards,
Marek Vasut

      parent reply	other threads:[~2015-08-06 22:22 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-06 13:25 [U-Boot] Using spi_alloc_slave() from SPL Fabio Estevam
2015-08-06 13:33 ` Marek Vasut
2015-08-06 13:38 ` Stefano Babic
2015-08-06 14:14   ` Fabio Estevam
2015-08-06 14:28     ` Marek Vasut
2015-08-06 16:44       ` Fabio Estevam
2015-08-06 17:03       ` Stefano Babic
2015-08-06 18:24         ` Fabio Estevam
2015-08-06 19:29           ` Fabio Estevam
2015-08-06 19:31           ` Simon Glass
2015-08-06 22:13             ` Fabio Estevam
2015-08-13 12:37               ` Nikolay Dimitrov
2015-11-10  0:05                 ` Fabio Estevam
2015-11-10 14:41                   ` Fabio Estevam
2015-11-09 23:28               ` Fabio Estevam
2015-08-06 22:22         ` Marek Vasut [this message]

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=201508070022.01319.marex@denx.de \
    --to=marex@denx.de \
    --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.