linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: andrew@lunn.ch (Andrew Lunn)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv3 09/16] ARM: mvebu: implement suspend/resume support for Armada XP
Date: Sun, 23 Nov 2014 04:36:03 +0100	[thread overview]
Message-ID: <20141123033603.GA9801@lunn.ch> (raw)
In-Reply-To: <20141122215648.771225f2@free-electrons.com>

On Sat, Nov 22, 2014 at 09:56:48PM +0100, Thomas Petazzoni wrote:
> Dear Andrew Lunn,
> 
> On Fri, 21 Nov 2014 18:20:31 +0100, Andrew Lunn wrote:
> > > > Hi Thomas
> > > > 
> > > > Is this a well defined mechanism supported by mainline uboot, barebox
> > > > etc. Or is it some Marvell extension to their uboot?
> > > 
> > > As far as I know, it is a Marvell extension to their "binary header",
> > > so it's done even before U-Boot starts.
> > 
> > Ah, O.K. So i miss understood what you meant by bootloader. It is the
> > first stage boot loader as part of the BootROM that does this.
> > 
> > If i've got this wrong, probably others will as well. So could you
> > make the comments talk about BootROM bootloader?
> 
> No, it is not the BootROM that does this. It is the binary header,
> which is something different.

O.K, so this definitely needs documenting somewhere, since it is not
obvious. I'm not sure if it is sufficient to make this part of the
commit log, or if it should be documented in Documentation/power.
 
> Essentially, the boot process is the following:
> 
>  * BootROM runs. This one cannot be changed, it is set in stone in the
>    chip.
> 
>  * It locates a bootable image from some media, and looks at its
>    header. Its header can contain several sections, some describing
>    some (address, value) pairs to write some values to some registers
>    (this was used on Kirkwood to configure the memory controller, for
>    example). Some other sections can contain binary code that will get
>    executed on the SoC, this is what is called a "binary header". It
>    gets executed before U-Boot starts, but it's really a piece of
>    software that can be changed.
> 
>  * Then it loads and runs U-Boot.
>
> 
> The "binary header" is currently the piece of code that we extract
> using the kwbimage tool from existing U-Boot images to build working
> Barebox images, since we haven't yet written the equivalent code in
> Barebox land.

Is it a binary blob in the uboot source tree?
 
> So, the specification of where the "resume informations" is located and
> how this information is organized is purely defined by software that
> can potentially be changed, not by the BootROM. Though that if we
> decided to use a different protocol, we would basically have a
> suspend/resume in the kernel that would not work with any Marvell
> platform  that uses the default bootloader.

It also makes mainline suspend/resume dependent on Marvell not
changing the bootloader.

	 Andrew

  reply	other threads:[~2014-11-23  3:36 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-21 15:59 [PATCHv3 00/16] Suspend to RAM support for Armada XP Thomas Petazzoni
2014-11-21 15:59 ` [PATCHv3 01/16] Documentation: dt-bindings: minimal documentation for MVEBU SDRAM controller Thomas Petazzoni
2014-11-21 15:59 ` [PATCHv3 02/16] ARM: mvebu: enable strex backoff delay Thomas Petazzoni
2014-11-22  0:53   ` Jason Cooper
2014-11-25 17:44     ` Thomas Petazzoni
2014-11-21 16:00 ` [PATCHv3 03/16] irqchip: irq-armada-370-xp: suspend/resume support Thomas Petazzoni
2014-11-21 16:00 ` [PATCHv3 04/16] clocksource: time-armada-370-xp: add " Thomas Petazzoni
2014-11-21 16:00 ` [PATCHv3 05/16] gpio: mvebu: " Thomas Petazzoni
2014-11-28 11:55   ` Linus Walleij
2014-11-21 16:00 ` [PATCHv3 06/16] bus: mvebu-mbus: " Thomas Petazzoni
2014-11-21 16:00 ` [PATCHv3 07/16] bus: mvebu-mbus: provide a mechanism to save SDRAM window configuration Thomas Petazzoni
2014-11-21 16:00 ` [PATCHv3 08/16] clk: mvebu: add suspend/resume for gatable clocks Thomas Petazzoni
2014-11-25  6:07   ` Mike Turquette
2014-11-25  6:48     ` Thomas Petazzoni
2014-11-26  4:03       ` Jason Cooper
2014-11-21 16:00 ` [PATCHv3 09/16] ARM: mvebu: implement suspend/resume support for Armada XP Thomas Petazzoni
2014-11-21 16:41   ` Andrew Lunn
2014-11-21 16:59     ` Thomas Petazzoni
2014-11-21 17:20       ` Andrew Lunn
2014-11-22  0:50         ` Jason Cooper
2014-11-22 20:56         ` Thomas Petazzoni
2014-11-23  3:36           ` Andrew Lunn [this message]
2014-11-25  6:51             ` Thomas Petazzoni
2014-11-21 16:00 ` [PATCHv3 10/16] ARM: mvebu: reserve the first 10 KB of each memory bank for suspend/resume Thomas Petazzoni
2014-11-21 16:00 ` [PATCHv3 11/16] ARM: mvebu: Armada XP GP specific suspend/resume code Thomas Petazzoni
2014-11-21 16:00 ` [PATCHv3 12/16] ARM: mvebu: make sure MMU is disabled in armada_370_xp_cpu_resume Thomas Petazzoni
2014-11-21 16:00 ` [PATCHv3 13/16] ARM: mvebu: synchronize secondary CPU clocks on resume Thomas Petazzoni
2014-11-21 16:00 ` [PATCHv3 14/16] ARM: mvebu: add suspend/resume DT information for Armada XP GP Thomas Petazzoni
2014-11-21 16:00 ` [PATCHv3 15/16] ARM: mvebu: adjust mbus controller description on Armada 370/XP Thomas Petazzoni
2014-11-21 16:00 ` [PATCHv3 16/16] ARM: mvebu: add SDRAM controller description for Armada XP Thomas Petazzoni
2014-11-22  1:44 ` [PATCHv3 00/16] Suspend to RAM support " Jason Cooper

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=20141123033603.GA9801@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).