public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stefano Babic <sbabic@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH V2 08/21] mx6: add plugin file for use with imximage.cfg
Date: Mon, 24 Sep 2012 09:22:59 +0200	[thread overview]
Message-ID: <50600A53.6010706@denx.de> (raw)
In-Reply-To: <505F9B4E.7080800@boundarydevices.com>

On 24/09/2012 01:29, Eric Nelson wrote:
> 
> This is the part that gets interesting.
> 
> You're right that SPL **can** do the job, but only if it supports
> the boot media. For the most part, it's reasonable to expect the
> code to be written in U-Boot for that, since the boot media may
> also be used to load kernels, RAM disks and the like.
> 
> But what about the serial boot modes (especially USB)? We likely
> wouldn't implement them (we haven't yet pulled in USB slave support)
> and to paraphrase US bumper stickers:
> 
>     You can take imx_usb away from me when you pry it
>     from my cold dead hands ;)
> 
> If you're not aware of imx_usb, it's a utility that Troy wrote
> to allow download over the boot ROM's USB protocol.
> 
> Some commentary is here:
>     http://boundarydevices.com/unbricking-nitrogen6x-sabre-lite-i-mx6-board/
> 
> 
> The sources are here (requires libusb):
>     https://github.com/boundarydevices/imx_usb_loader
> 

Nice job ! This is very valuable tool !

But I do not get the connection with the imximage and the need for the
plugin. If the SOC boots with "Serial Downloader", it polls the USB OTG
waiting for command as specified in the protocol. With your tool you set
the registers you need and you can download the file you want,
independently from the structure of the imxImage.

By the way, I have missed that Troy had implemented this tool - thanks
for the tipp and to share it !

>> I think the goal to have the same U-Boot binary can be reached using the
>> SPL framework. As you are running U-Boot code, you have the possibility
>> to do whatever you want.
>>
>> So my question is: if the main reason is to have a single image for all
>> your iMX6 boards, why cannot we do it in a standard way using SPL ?
>>
> 
> The related question is whether or not the benefits of a single
> image is worth the carrying cost.

I have interpreted from your answers that it was a goal for you. I think
the costs are higher than the benefits.

> 
> This is probably more useful for those who boot directly to
> SD card, where the cost of creation or modification of the SD
> card is high.
> 
> Since our boards are booting to SPI-NOR, I'm not completely
> convinced.
> 
> It seems that simply creating three targets for each is okay, since
> we know what processor we placed on the board and our boot mode
> switches make it relatively easy to recover from a screw-up.

Fully agree.

> 
>>>
>>> The other key change for these processors is the location of
>>> the iomux controller (moved on 6Solo/Duallite from 6Quad).
>>>
>>>      6Solo has 32-bit DDR and iomux controller moved from 6Q
>>>      6Duallite has 64-bit DDR but same iomux location as 6Q
>>>
>>> Note that this highlights a slight down side to the plugin approach.
>>>
>>> Because of the movement of the iomux controller, we can't use
>>> a universal i.MX6 image header to write any IOMUX registers
>>> through imximage.cfg.
>>
>> However, you can do it with this approach:
>>
>> - you have a general imx header, that does not write into IOMUX
>> It is your choice if this should set the DDR or not. You could also
>> decide to have an empty DCD table.
>> - your imx Header is generated for your SPL code, and the destination
>> address for the SPL code is put into internal RAM
>> - the bootROM will start reading the iMX header and DCD data and copies
>> data from media (NAND, SPI, ..) into iRAM. There is no need for any
>> special setup because the iRAM is always available. Then it gives the
>> control to the SPL.
>> - the SPL starts and performs the setup of the DDR, checking the SOC if
>> it is required. The usual SOC initialization is done here.
>> - At the end, the SPL loads from media the U-Boot or directly the kernel
>> and starts it. Or whatever image you want.
>>
>> The further advantage we can have with this approach is that we can
>> profit for further development in u-boot. What I mean really is using
>> TPL, that means putting u-boot into a UBL volume, see:
>>
>> http://lists.celinuxforum.org/pipermail/celinux-dev/2012-April/000543.html
>>
>>
>> I know there is not yet activity on this topic, but it does not mean we
>> have not in future.
>>
> 
> This is a good conversation to have.

Best regards,
Stefano



-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

  reply	other threads:[~2012-09-24  7:22 UTC|newest]

Thread overview: 202+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-19  0:02 [U-Boot] (no subject) Troy Kisky
2012-09-19  0:02 ` [U-Boot] [PATCH 01/11] imximage: make header variable length Troy Kisky
2012-09-19  0:03 ` [U-Boot] [PATCH 02/11] imximage: check dcd_len as entries added Troy Kisky
2012-09-19  0:03 ` [U-Boot] [PATCH 03/11] imximage: enable word writes for version2 header Troy Kisky
2012-09-19  0:03 ` [U-Boot] [PATCH 04/11] imximage: cleanup parsing Troy Kisky
2012-09-19  0:03 ` [U-Boot] [PATCH 05/11] imximage: add expression evaluation Troy Kisky
2012-09-19  0:03 ` [U-Boot] [PATCH 06/11] imximage: add plugin commands Troy Kisky
2012-09-19  0:03 ` [U-Boot] [PATCH 07/11] imximage.cfg: run files through C preprocessor Troy Kisky
2012-09-19  0:03 ` [U-Boot] [PATCH 08/11] mx6: add plugin file for use with imximage.cfg Troy Kisky
2012-09-19  1:40   ` Troy Kisky
2012-09-19  0:03 ` [U-Boot] [PATCH 09/11] mx6qsabrelite: imximage.cfg: use symbols instead of hardcoded constants Troy Kisky
2012-09-19  0:03 ` [U-Boot] [PATCH 10/11] mx6qsabrelite: imximage.cfg: allow plugin to work Troy Kisky
2012-09-19  0:03 ` [U-Boot] [PATCH 11/11] RFC mx6qsabrelite: imximage.cfg: enable plugin mode Troy Kisky
2012-09-19  1:52   ` Troy Kisky
2012-09-22  2:38 ` [U-Boot] [PATCH V2 00/21] Add mx6solo/mx6duallite support Troy Kisky
2012-09-22  2:38   ` [U-Boot] [PATCH V2 01/21] imximage: make header variable length Troy Kisky
2012-09-23 10:57     ` Stefano Babic
2012-09-24 20:30       ` Troy Kisky
2012-09-25 11:08         ` Stefano Babic
2012-09-22  2:38   ` [U-Boot] [PATCH V2 02/21] imximage: check dcd_len as entries added Troy Kisky
2012-09-23 11:05     ` Stefano Babic
2012-09-24 20:54       ` Troy Kisky
2012-09-25 11:12         ` Stefano Babic
2012-09-22  2:39   ` [U-Boot] [PATCH V2 03/21] imximage: enable word writes for version2 header Troy Kisky
2012-09-22  2:39   ` [U-Boot] [PATCH V2 04/21] imximage: cleanup parsing Troy Kisky
2012-09-23 11:08     ` Stefano Babic
2012-09-24 20:59       ` Troy Kisky
2012-09-22  2:39   ` [U-Boot] [PATCH V2 05/21] imximage: add expression evaluation Troy Kisky
2012-09-23 14:56     ` Stefano Babic
2012-09-24 21:18       ` Troy Kisky
2012-09-22  2:39   ` [U-Boot] [PATCH V2 06/21] imximage: add plugin commands Troy Kisky
2012-09-23 15:38     ` Stefano Babic
2012-09-24 21:46       ` Troy Kisky
2012-09-22  2:39   ` [U-Boot] [PATCH V2 07/21] imximage.cfg: run files through C preprocessor Troy Kisky
2012-09-22  2:39   ` [U-Boot] [PATCH V2 08/21] mx6: add plugin file for use with imximage.cfg Troy Kisky
2012-09-22  4:06     ` Vikram Narayanan
2012-09-23 10:17     ` Stefano Babic
2012-09-23 16:23       ` Eric Nelson
2012-09-23 17:08         ` Stefano Babic
2012-09-23 23:29           ` Eric Nelson
2012-09-24  7:22             ` Stefano Babic [this message]
2012-09-24 13:48               ` Eric Nelson
2012-09-24 15:17                 ` Stefano Babic
2012-09-24 22:23           ` Troy Kisky
2012-09-25 12:13             ` Stefano Babic
2012-09-24 20:46       ` Troy Kisky
2012-09-25 11:57         ` Stefano Babic
2012-09-22  2:39   ` [U-Boot] [PATCH V2 09/21] mx6q_4x_mt41j128.cfg: use symbols instead of hardcoded constants Troy Kisky
2012-09-22  2:39   ` [U-Boot] [PATCH V2 10/21] mx6q_4x_mt41j128.cfg: allow plugin to work Troy Kisky
2012-09-22  2:39   ` [U-Boot] [PATCH V2 11/21] mx6q_4x_mt41j128.cfg: enable plugin mode Troy Kisky
2012-09-22  2:39   ` [U-Boot] [PATCH V2 12/21] mx6q_4x_mt41j128.cfg: add comments Troy Kisky
2012-09-22  2:39   ` [U-Boot] [PATCH V2 13/21] mx6q_4x_mt41j128.cfg: use ddr3 mode for reset Troy Kisky
2012-09-22  2:39   ` [U-Boot] [PATCH V2 14/21] mx6q_4x_mt41j128.cfg: skip initiailizing non-existent memory Troy Kisky
2012-09-22  2:39   ` [U-Boot] [PATCH V2 15/21] mx6q_4x_mt41j128.cfg: reorder for more efficient storage Troy Kisky
2012-09-22 17:27     ` Fabio Estevam
2012-09-22 17:34       ` Troy Kisky
2012-09-22  2:39   ` [U-Boot] [PATCH V2 16/21] mx6q_4x_mt41j128.cfg: force ZQ calibration Troy Kisky
2012-09-22  2:39   ` [U-Boot] [PATCH V2 17/21] mx6: soc: add get_cpu_type Troy Kisky
2012-09-22  2:50     ` Fabio Estevam
2012-09-22 17:07       ` Troy Kisky
2012-09-23 14:59         ` Stefano Babic
2012-09-22  2:39   ` [U-Boot] [PATCH V2 18/21] arch-mx6: add mx6dl_pins.h Troy Kisky
2012-09-22  4:10     ` Vikram Narayanan
2012-09-22 17:17       ` Troy Kisky
2012-09-22  2:39   ` [U-Boot] [PATCH V2 19/21] mx6qsabrelite: add support for mx6 solo/duallite Troy Kisky
2012-09-22  4:12     ` Vikram Narayanan
2012-09-22 17:24       ` Troy Kisky
2012-09-22  2:39   ` [U-Boot] [PATCH V2 20/21] mx6q_4x_mt41j128.cfg: add mx6 solo/duallite support Troy Kisky
2012-09-22  2:39   ` [U-Boot] [PATCH V2 21/21] mx6qsabrelite: change CONFIG_SYS_PROMPT Troy Kisky
2012-09-22  6:21   ` [U-Boot] [PATCH V2 00/21] Add mx6solo/mx6duallite support Dirk Behme
2012-09-22 16:53     ` Troy Kisky
2012-10-04  1:47   ` [U-Boot] [PATCH V3 00/32] " Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 01/32] imximage: check dcd_len as entries added Troy Kisky
2012-10-20 15:45       ` Stefano Babic
2012-10-04  1:47     ` [U-Boot] [PATCH V3 02/32] imximage: remove redundant setting of app_dest_ptr Troy Kisky
2012-10-08 13:17       ` Stefano Babic
2012-10-20 15:46       ` Stefano Babic
2012-10-04  1:47     ` [U-Boot] [PATCH V3 03/32] imximage: move flash_offset check to common location Troy Kisky
2012-10-08 13:19       ` Stefano Babic
2012-10-18 18:40         ` Troy Kisky
2012-10-19  8:01           ` Stefano Babic
2012-10-20 15:46       ` Stefano Babic
2012-10-04  1:47     ` [U-Boot] [PATCH V3 04/32] imximage: fix size of image to load Troy Kisky
2012-10-20 15:47       ` Stefano Babic
2012-10-04  1:47     ` [U-Boot] [PATCH V3 05/32] imximage: delay setting of image size Troy Kisky
2012-10-20 15:47       ` Stefano Babic
2012-10-04  1:47     ` [U-Boot] [PATCH V3 06/32] imximage: change parameters to set_imx_hdr Troy Kisky
2012-10-20 15:48       ` Stefano Babic
2012-10-04  1:47     ` [U-Boot] [PATCH V3 07/32] imximage: make set_imx_hdr_v1/v2 easier to read Troy Kisky
2012-10-20 15:48       ` Stefano Babic
2012-10-04  1:47     ` [U-Boot] [PATCH V3 08/32] imximage: make header variable length Troy Kisky
2012-10-20 15:52       ` Stefano Babic
2012-10-21  1:31         ` Troy Kisky
2012-10-21  8:35           ` Stefano Babic
2012-10-22 21:03             ` Troy Kisky
2012-11-28  1:31       ` [U-Boot] [PATCH V4 00/11] imximage series Troy Kisky
2012-11-28  1:31         ` [U-Boot] [PATCH V4 01/11] imximage: mx53 needs transfer length a multiple of 512 Troy Kisky
2012-11-28  9:27           ` Wolfgang Denk
2012-11-28 18:18             ` Troy Kisky
2012-11-28 20:25               ` Wolfgang Denk
2012-11-28 21:05                 ` Troy Kisky
2012-11-28 21:35                   ` Wolfgang Denk
2012-11-29  2:42                     ` Troy Kisky
2012-11-29  5:28                       ` Wolfgang Denk
2012-12-03  9:23                         ` Stefano Babic
2012-12-03  9:12                     ` Stefano Babic
2012-11-28 18:26             ` Troy Kisky
2012-11-28 10:34           ` Liu Hui-R64343
2012-11-28  1:31         ` [U-Boot] [PATCH V4 02/11] imximage: make header variable length Troy Kisky
2012-11-28 10:42           ` Liu Hui-R64343
2012-11-28  1:31         ` [U-Boot] [PATCH V4 03/11] imximage: remove static imximage_version Troy Kisky
2012-11-28 10:43           ` Liu Hui-R64343
2012-11-28  1:31         ` [U-Boot] [PATCH V4 04/11] imximage: prepare to move static variables to struct data_src Troy Kisky
2012-11-28  9:38           ` Wolfgang Denk
2012-11-28 18:36             ` Troy Kisky
2012-11-28 20:30               ` Wolfgang Denk
2012-11-28  1:31         ` [U-Boot] [PATCH V4 05/11] imximage: change parameters for set_dcd_val/set_imx_hdr Troy Kisky
2012-11-28 10:43           ` Liu Hui-R64343
2012-11-28  1:31         ` [U-Boot] [PATCH V4 06/11] imximage: move set_imx_hdr to struct data_src Troy Kisky
2012-11-28 10:45           ` Liu Hui-R64343
2012-11-28  1:31         ` [U-Boot] [PATCH V4 07/11] imximage: move set_dcd_val " Troy Kisky
2012-11-28 10:47           ` Liu Hui-R64343
2012-11-28  1:31         ` [U-Boot] [PATCH V4 08/11] imximage: enable word writes for version2 header Troy Kisky
2012-11-28  9:39           ` Wolfgang Denk
2012-11-28 20:40             ` Troy Kisky
2012-12-04  8:23               ` Stefano Babic
2012-11-28 10:47           ` Liu Hui-R64343
2012-11-28  1:31         ` [U-Boot] [PATCH V4 09/11] tools: add parse_helper file Troy Kisky
2012-11-28  9:41           ` Wolfgang Denk
2012-11-28 10:48           ` Liu Hui-R64343
2012-11-28  1:31         ` [U-Boot] [PATCH V4 10/11] imximage: use parse_helper functions Troy Kisky
2012-11-28 10:48           ` Liu Hui-R64343
2012-11-28  1:31         ` [U-Boot] [PATCH V4 11/11] parse_helper: add expression evaluation Troy Kisky
2012-11-28 10:49           ` Liu Hui-R64343
2012-11-28  9:30         ` [U-Boot] [PATCH V4 00/11] imximage series Wolfgang Denk
2012-11-28 18:29           ` Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 09/32] imximage: remove static imximage_version Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 10/32] imximage: prepare to move static variables to struct data_src Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 11/32] imximage: change parameters for set_dcd_val/set_imx_hdr Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 12/32] imximage: move set_imx_hdr to struct data_src Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 13/32] imximage: move set_dcd_val " Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 14/32] imximage: enable word writes for version2 header Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 15/32] tools: add parse_helper file Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 16/32] imximage: use parse_helper functions Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 17/32] imximage.cfg: run files through C preprocessor Troy Kisky
2012-10-07 18:19       ` Eric Nelson
2012-10-08 19:11         ` Troy Kisky
2012-10-08 13:38       ` Stefano Babic
2012-10-08 21:48         ` Troy Kisky
2012-10-10  2:03         ` Troy Kisky
2012-10-11 11:11           ` Stefano Babic
2012-10-11 20:33             ` Troy Kisky
2012-10-11 22:27               ` stefano babic
2012-10-11 23:15                 ` Tom Rini
2012-10-13 10:11                   ` [U-Boot] File placement in Soc / board dirs and make issues (was: [PATCH V3 17/32] imximage.cfg: run files through C preprocessor) Albert ARIBAUD
2012-10-13 15:17                     ` Tom Rini
2012-10-14  8:37                       ` [U-Boot] File placement in Soc / board dirs and make issues Albert ARIBAUD
2012-10-15  1:24                         ` Tom Rini
2012-10-23  6:30                           ` Albert ARIBAUD
2012-10-17 20:32                   ` [U-Boot] [PATCH V3 17/32] imximage.cfg: run files through C preprocessor Troy Kisky
2012-10-17 21:05                     ` Tom Rini
2012-10-17 21:38                       ` Troy Kisky
2012-10-17 22:29                         ` Tom Rini
2012-10-04  1:47     ` [U-Boot] [PATCH V3 18/32] mx6q_4x_mt41j128.cfg: use symbols instead of hardcoded constants Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 19/32] mx6q_4x_mt41j128.cfg: add comments Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 20/32] mx6q_4x_mt41j128.cfg: use ddr3 mode for reset Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 21/32] mx6q_4x_mt41j128.cfg: skip initiailizing non-existent memory Troy Kisky
2012-10-07 21:01       ` Eric Nelson
2012-10-04  1:47     ` [U-Boot] [PATCH V3 22/32] mx6q_4x_mt41j128.cfg: force ZQ calibration Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 23/32] mx6: soc: update get_cpu_rev and get_imx_type for mx6solo/sololite Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 24/32] mx6: use CONFIG_MX6 instead of CONFIG_MX6Q Troy Kisky
2012-10-08 13:41       ` Stefano Babic
2012-10-08 21:49         ` Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 25/32] imx-common: cpu: add imx_ddr_size Troy Kisky
2012-10-08 13:06       ` Stefano Babic
2012-10-08 21:35         ` Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 26/32] arch-mx6: add mx6dl_pins.h Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 27/32] mx6qsabrelite: add support for mx6 solo/duallite Troy Kisky
2012-10-04  3:23       ` Otavio Salvador
2012-10-04 23:34         ` Troy Kisky
2012-10-08 13:47           ` Stefano Babic
2012-10-04  1:47     ` [U-Boot] [PATCH V3 28/32] mx6q_4x_mt41j128.cfg: add mx6 solo/duallite support Troy Kisky
2012-10-08 18:46       ` Eric Nelson
2012-10-08 21:08         ` Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 29/32] Add boards for sabrelite variants mx6s(solo) and mx6dl(duallite) Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 30/32] mx6qsabrelite: change CONFIG_SYS_PROMPT Troy Kisky
2012-10-04  3:00       ` Otavio Salvador
2012-10-04 23:28         ` Troy Kisky
2012-10-08 13:54           ` Stefano Babic
2012-10-08 21:58             ` Troy Kisky
2012-10-08 22:05               ` Fabio Estevam
2012-10-08 22:18               ` stefano babic
2012-10-08 22:22                 ` Eric Nelson
2012-10-08 22:21               ` Eric Nelson
2012-10-04  1:47     ` [U-Boot] [PATCH V3 31/32] parse_helper: add expression evaluation Troy Kisky
2012-10-04  1:47     ` [U-Boot] [PATCH V3 32/32] imx-mkimage.h: use base + offset syntax Troy Kisky
2012-10-04 10:18     ` [U-Boot] [PATCH V3 00/32] Add mx6solo/mx6duallite support Albert ARIBAUD
2012-10-04 14:36       ` Eric Nelson
2012-10-04 19:51         ` Albert ARIBAUD
2012-10-04 14:52     ` Eric Nelson
2012-10-08 13:15     ` Stefano Babic
2012-10-08 23:58       ` Troy Kisky

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=50600A53.6010706@denx.de \
    --to=sbabic@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox