mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Lior Amsalem <alior@marvell.com>,
	barebox@lists.infradead.org, Willy Tarreau <w@1wt.eu>,
	Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Subject: Re: [PATCH 0/7] Basic support for Marvell Armada 370/XP SoC
Date: Mon, 6 May 2013 22:32:52 +0200	[thread overview]
Message-ID: <20130506223252.63ca0ae8@skate> (raw)
In-Reply-To: <20130506192826.GP20989@pengutronix.de>

Dear Sascha Hauer,

On Mon, 6 May 2013 21:28:26 +0200, Sascha Hauer wrote:

> So now I have the DDR3 training blob and the payload. I would then
> replace the payload with barebox and call kwbimage again to generate
> a new image, right?

Exact, that's what I'm doing for the moment: retrieve a u-boot.bin that
is provided by the board vendor, or dump it somehow from the NAND or
SPI flash of the board. In fact, this u-boot.bin is not just U-Boot,
but it contains the header + the DDR3 training code. Once I have this
image, I use the 'kwbimage -x' option to separate the configuration,
the DDR3 binary blob and the payload. I just trash the payload, and
using the configuration, the DDR3 binary blob, barebox.bin and
'kwbimage -c', I create a new bootable image.

I am interested in writing documentation that explains how to do this,
because this is not trivial, and I want Barebox users to be able to do
this on their own. But I haven't really figured out where is the good
place to document that: the Doxygen documentation has some
board-specific documentation, but this problem is mostly SoC-family
related. Just let me know where I can insert a documentation blurb
about this, and I'll do it.

> Just to understand what the problem here is: Am I right that we do not
> have the source code for the DDR3 training code and that the code is not
> GPL so that we can't distribute it with barebox?

No, I don't have the source code for the DDR3 training code. Or more
precisely, I have access to a very small part of it, but the largest
part of it is just a binary .a library for which I don't have access to
the source code, and even if I had, I doubt it would be licensed under
the GPL.

So, for now, this code is not available, and in any case not under a
license that allows it to be distributed with Barebox. Long term, I'd
like this to be possible, but it will require quite some work.

In the mean time, I think the reason Marvell invented this "binary
header" thing is precisely to avoid linking the DDR3 training code with
the bootloader, so that the DDR3 training code can remain proprietary,
while allowing users to use an GPL-licensed bootloader. I believe that
what kwbimage does is just a mere aggregation of components, and not
linking, and distributing the mere aggregation of a proprietary binary
and GPL-licensed binary is allowed by the GPL license. Of course, IANAL.

> Independently of this I repeat that adding a tool for the job of
> generating images is the right way to go, at least when the images are
> of a certain complexity which is the case here.

Good to hear this confirmation, thanks.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  reply	other threads:[~2013-05-06 20:33 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-03 16:51 Thomas Petazzoni
2013-05-03 16:51 ` [PATCH 1/7] scripts: allow lines longer than 80 cols with printf() in checkpatch Thomas Petazzoni
2013-05-06  7:23   ` Sascha Hauer
2013-05-06  7:27     ` Thomas Petazzoni
2013-05-03 16:51 ` [PATCH 2/7] scripts: new kwbimage manipulation tool for Marvell SoC boot images Thomas Petazzoni
2013-05-04 19:51   ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-04 20:32     ` Jason Cooper
2013-05-05  6:40       ` Sascha Hauer
2013-05-05 11:19       ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-05 11:40         ` Willy Tarreau
2013-05-06 13:53         ` Thomas Petazzoni
2013-05-06 13:54           ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-06 14:06             ` Thomas Petazzoni
2013-05-06 14:04               ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-06 14:13                 ` Thomas Petazzoni
2013-05-06 14:14                   ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-06 14:31                     ` Willy Tarreau
2013-05-06 19:34                       ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-06 19:53                         ` Willy Tarreau
2013-05-06 20:21                           ` Thomas Petazzoni
2013-05-06 20:35                             ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-06 20:44                               ` Thomas Petazzoni
2013-05-06 20:56                                 ` Sascha Hauer
2013-05-06 21:03                                   ` Thomas Petazzoni
2013-05-07  6:31                                     ` Sascha Hauer
2013-05-07  9:33                                     ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-07  9:46                                       ` Willy Tarreau
2013-05-07  9:47                                       ` Sascha Hauer
2013-05-07  9:57                                         ` Thomas Petazzoni
2013-05-06 20:48                               ` Sascha Hauer
2013-05-06 14:21                 ` Jason Cooper
2013-05-06 19:39                   ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-07  6:44         ` Sascha Hauer
2013-05-06 19:41     ` Sascha Hauer
2013-05-06 19:16   ` Sascha Hauer
2013-05-06 20:22     ` Thomas Petazzoni
2013-05-07 23:30   ` Gregory CLEMENT
2013-05-03 16:51 ` [PATCH 3/7] scripts: add kwboot tool Thomas Petazzoni
2013-05-03 16:51 ` [PATCH 4/7] arm: initial support for Marvell Armada 370/XP SoCs Thomas Petazzoni
2013-05-06 14:09   ` Thomas Petazzoni
2013-05-06 14:07     ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-06 14:30     ` Sascha Hauer
2013-05-06 14:34       ` Thomas Petazzoni
2013-05-06 14:46         ` Sascha Hauer
2013-05-06 14:48           ` Thomas Petazzoni
2013-05-03 16:51 ` [PATCH 5/7] arm: add basic support for Armada XP OpenBlocks AX3 platform Thomas Petazzoni
2013-05-05  6:59   ` Sascha Hauer
2013-05-03 16:51 ` [PATCH 6/7] arm: add basic support for the Armada 370 Mirabox platform Thomas Petazzoni
2013-05-03 16:51 ` [PATCH 7/7] arm: add basic support for the Armada XP GP platform Thomas Petazzoni
2013-05-04 17:15 ` [PATCH 0/7] Basic support for Marvell Armada 370/XP SoC Jason Cooper
2013-05-04 17:23   ` Re[2]: " Alexander Shiyan
2013-05-04 17:49     ` Thomas Petazzoni
2013-05-04 17:52       ` Re[2]: " Alexander Shiyan
2013-05-04 17:52   ` Thomas Petazzoni
2013-05-04 18:34     ` Jason Cooper
2013-05-05  6:33     ` Sascha Hauer
2013-05-06 13:54       ` Thomas Petazzoni
2013-05-06 19:28 ` Sascha Hauer
2013-05-06 20:32   ` Thomas Petazzoni [this message]
2013-05-07 23:28 ` Gregory CLEMENT
2013-05-07 23:46   ` Gregory CLEMENT
2013-05-08 10:46   ` Thomas Petazzoni
2013-05-08 21:02     ` Gregory CLEMENT

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=20130506223252.63ca0ae8@skate \
    --to=thomas.petazzoni@free-electrons.com \
    --cc=alior@marvell.com \
    --cc=barebox@lists.infradead.org \
    --cc=ezequiel.garcia@free-electrons.com \
    --cc=s.hauer@pengutronix.de \
    --cc=w@1wt.eu \
    /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