All of lore.kernel.org
 help / color / mirror / Atom feed
From: Siarhei Siamashka <siarhei.siamashka@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 3/6] sunxi: add Cubieboard2 support
Date: Fri, 25 Jul 2014 00:40:04 +0300	[thread overview]
Message-ID: <20140725004004.1e8eafb9@i7> (raw)
In-Reply-To: <20140724150031.GJ1847@bill-the-cat>

On Thu, 24 Jul 2014 11:00:31 -0400
Tom Rini <trini@ti.com> wrote:

> On Thu, Jul 24, 2014 at 03:47:53PM +0300, Siarhei Siamashka wrote:
> > On Thu, 24 Jul 2014 11:18:15 +0800
> > Chen-Yu Tsai <wens@csie.org> wrote:
> > 
> > > On Thu, Jul 24, 2014 at 11:12 AM, Siarhei Siamashka
> > > <siarhei.siamashka@gmail.com> wrote:
> > > > On Thu,  5 Jun 2014 19:00:14 +0100
> > > > Ian Campbell <ijc@hellion.org.uk> wrote:
> > > >
> > > >> This is a sun7i (A20) based followup to the sun4i (A10)
> > > >> Cubieboard. It has GMAC using MII mode.
> > > >>
> > > >> Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
> > > >> Acked-by: Hans de Goede <hdegoede@redhat.com>
> > > >
> > > > This board is using exactly the same PCB as the Cubieboard1. And only
> > > > the SoC is different (Allwinner A20 instead of the pin-compatible
> > > > Allwinner A10).
> > > >
> > > > Before piling up more board configurations, we might want to consider
> > > > supporting both Cubieboard1 and Cubieboard2 with a single u-boot binary
> > > > (and perhaps keep Cubieboard1 and Cubieboard2 as aliases in boards.cfg).
> > > > The Allwinner SoCs have support for runtime identification of the SoC
> > > > type (sun4i/sun5i/sun7i) via the VER_REG (Version Register) located at
> > > > the address 0x01C00024 as explained in the Allwinner A20 user manual.
> > > > This requires replacing all the CONFIG_SUN4I/CONFIG_SUN5I/CONFIG_SUN7I
> > > > ifdefs in the u-boot code with a runtime SoC type checks, but there
> > > > are not too many places affected (mostly just the DRAM code).
> > > 
> > > A20 will need PSCI for SMP and virtualization support.
> > > (I know the related code isn't in there yet.)
> > > Won't this be slightly hard to do if you mix them together?
> > 
> > Thanks, that's a good point. Do you expect any special challenges other
> > than just having to handle runtime SoC detection in more places and
> > deal with larger final binaries on the hardware, which does not need
> > PSCI itself?
> 
> We have similar issues to deal with on most TI SoCs as well.  We want to
> share code as much as possible to avoid duplication, etc.  As for
> run-time sharing, that's where it gets trickier.  You're going to have
> some sort of size constraint on your binary so just how close are you to
> hitting it today on the smaller of the parts that you would run this on?

As far as I know, the most SRAM space constrained case on Allwinner
hardware used to be the FEL boot mode, where we only had roughly ~15K
for the SPL (code, data, stack). This can be improved though:

    http://lists.denx.de/pipermail/u-boot/2014-July/183985.html

But I need to verify the SRAM size constraints again and come up with
the detailed numbers. And also have a closer look at how this all
interacts with the PSCI support.

> In some cases, for the first part of the problem, we may want to do "if
> (is_sun4i()) { ... }" code that boils down to a compile-time check
> anyhow.

Right, if the 'is_sun4i()' is a macro (should it be lower or upper
case?), which expands to a compile time constant 0 or 1 in some
configurations instead of the runtime checks, then the compiler is
normally able to remove the unreachable parts of code and save space.
This is a more flexible approach than using ifdefs.

> I expect Simon to possibly chime in here as he's done some work
> in the past on this concept, for all CONFIG options (but I'm not sold on
> the idea for use everywhere, just yet anyhow).


-- 
Best regards,
Siarhei Siamashka

  reply	other threads:[~2014-07-24 21:40 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-05 17:59 [U-Boot] [PATCH v2 0/6] sunxi: GPIO, AHCI and Cubieboard 2 support Ian Campbell
2014-06-05 18:00 ` [U-Boot] [PATCH 1/6] AHCI: Increase link timeout to 200ms Ian Campbell
2014-06-05 18:00 ` [U-Boot] [PATCH 2/6] board_r: run scsi init() on ARM too Ian Campbell
2014-06-05 18:00 ` [U-Boot] [PATCH 3/6] sunxi: add Cubieboard2 support Ian Campbell
2014-07-24  3:12   ` Siarhei Siamashka
2014-07-24  3:18     ` Chen-Yu Tsai
2014-07-24 12:47       ` Siarhei Siamashka
2014-07-24 15:00         ` Tom Rini
2014-07-24 21:40           ` Siarhei Siamashka [this message]
2014-07-25 13:39             ` Tom Rini
2014-07-24  6:45     ` Ian Campbell
2014-07-24 21:12       ` Siarhei Siamashka
2014-07-25  6:52         ` Ian Campbell
2014-07-25 13:46           ` Tom Rini
2014-07-26 12:15           ` Siarhei Siamashka
2014-06-05 18:00 ` [U-Boot] [PATCH 4/6] sunxi: add gpio driver Ian Campbell
2014-06-08 12:19   ` Hans de Goede
2014-06-05 18:00 ` [U-Boot] [PATCH 5/6] sunxi: use setbits_le32 to enable the DMA clock Ian Campbell
2014-06-08 12:19   ` Hans de Goede
2014-06-05 18:00 ` [U-Boot] [PATCH 6/6] ahci: provide sunxi SATA driver using AHCI platform framework Ian Campbell

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=20140725004004.1e8eafb9@i7 \
    --to=siarhei.siamashka@gmail.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.