All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefano Babic <sbabic@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 7/9] mx53loco: Add support to dynamically choose between ftd use or not
Date: Thu, 27 Dec 2012 10:44:36 +0100	[thread overview]
Message-ID: <50DC1884.4030307@denx.de> (raw)
In-Reply-To: <CAP9ODKqMgSrcRfmqoBgN8ChxcKC+USOo4KM=wAARqqzyq+NQCg@mail.gmail.com>

On 26/12/2012 19:23, Otavio Salvador wrote:
> On Wed, Dec 26, 2012 at 10:14 AM, Fabio Estevam <festevam@gmail.com> wrote:
>> On Wed, Dec 26, 2012 at 9:31 AM, Stefano Babic <sbabic@denx.de> wrote:
>>
>>> Only to remark that this is the correct behavior. The kernel with fdt is
>>> booted independently if this is wanted or not, but if the fdt file is
>>> loaded successfully from MMC or network. This can have some drawback
>>> effects if, for example, the fdt is simply stored on the TFTP server,
>>> but we want to boot a kernel without DT. For example, when someone wants
>>> to test both kernels or there are multiple instances of the same board
>>> type (mx53loco in this case) loading from the same TFTP server.
>>>
>>> In your patch, the behavior depends if the fdt is simply present on the
>>> media, but this does not always mean that the file must be loaded.
>>> Should be not better to set variable as flag to force the desired
>>> behavior and to be sure that the system does not boot in a different way
>>> as the user thinks ?
>>>
>>> In other words, something like :
>>>
>>>         "if boot_fdt; then " \
>>>                 "if dhcp ${ftd_addr} ${ftd_file}; then " \
>>>                         "bootm ${loadaddr} - ${ftd_addr}; " \
>>>                 "else " \
>>>                         "echo Error: I cannot boot a DT kernel; \"
>>>                 "fi; \"
>>>         " else bootm; fi;\0"
>>
>>
>> Yes, I think this is a good idea and would allow us to easily switch
>> from dt to non-dt kernel during tests.
> 
> I like the idea but maybe we could have three states?
> 
> boot_fdt=yes
> 
> It'd imply force fdt and would behave as you said above;
> 
> boot_fdt=no
> 
> Would ignore the fdt completely
> 
> boot_fdt=auto
> 
> The current code, which try to load fdt and do not fail otherwise.
> 
> Comments?

Reading again your environment, it seems to me that you strictly bind
the network configuration with fdt. But they are two distinct setup.
Let's say, if I desire to start a fdt kernel but I have a static ip
address. In this case, I should load with "tftp" instead using "dhcp".
So the necessity to have a three state is due to the fact you are
setting more as one state in one shot: fdt or not, and dhcp or not. IMHO
you need two variables to manage them independently. I think I did
something like this in another board, but I do not remember which one ;-(.

So you can have:
	boot_fdt
	ip_dyn

to discriminate what the script should do.

         "if boot_fdt; then " \
		"if ip_dyn;then" \
	           "if dhcp ${ftd_addr} ${ftd_file}; then " \
        	       "bootm ${loadaddr} - ${ftd_addr}; " \
                    "else " \
                       "echo Error: I cannot boot a DT kernel; \"
		    "fi;" \
		"else tftp ${ftd_addr} ${ftd_file}
			.....

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-12-27  9:44 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-21 16:59 [U-Boot] [PATCH 0/9] Improve default environment for easy use Otavio Salvador
2012-12-21 16:59 ` [U-Boot] [PATCH 1/9] mx28evk: We shouldn't hardcode a rootfs filesystem type Otavio Salvador
2012-12-26 11:02   ` Stefano Babic
2012-12-26 18:17     ` Otavio Salvador
2012-12-27  9:33       ` Stefano Babic
2012-12-27 10:29         ` Wolfgang Denk
2012-12-27 20:37           ` Otavio Salvador
2012-12-21 16:59 ` [U-Boot] [PATCH 2/9] mx53loco: " Otavio Salvador
2012-12-26 11:07   ` Stefano Babic
2012-12-21 16:59 ` [U-Boot] [PATCH 3/9] mx53loco: Change default loadaddr to 0x72000000 Otavio Salvador
2012-12-26 11:10   ` Stefano Babic
2012-12-21 16:59 ` [U-Boot] [PATCH 4/9] mx6qsabrelite: Change default loadaddr to 0x12000000 Otavio Salvador
2012-12-26 11:12   ` Stefano Babic
2012-12-21 16:59 ` [U-Boot] [PATCH 5/9] mx6qsabre_common: " Otavio Salvador
2012-12-26 11:14   ` Stefano Babic
2012-12-21 16:59 ` [U-Boot] [PATCH 6/9] mx28evk: Add support to dynamically choose between ftd use or not Otavio Salvador
2012-12-26 11:15   ` Stefano Babic
2012-12-26 18:19     ` Otavio Salvador
2012-12-21 16:59 ` [U-Boot] [PATCH 7/9] mx53loco: " Otavio Salvador
2012-12-26 11:31   ` Stefano Babic
2012-12-26 12:14     ` Fabio Estevam
2012-12-26 18:23       ` Otavio Salvador
2012-12-27  9:44         ` Stefano Babic [this message]
2012-12-27 21:22           ` Otavio Salvador
2012-12-28  8:52             ` Stefano Babic
2012-12-28 17:47               ` Otavio Salvador
2012-12-21 16:59 ` [U-Boot] [PATCH 8/9] mx6qsabrelite: " Otavio Salvador
2012-12-21 16:59 ` [U-Boot] [PATCH 9/9] mx6qsabre{auto, sd}: " Otavio Salvador

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=50DC1884.4030307@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 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.