All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Simek <monstr@monstr.eu>
To: u-boot@lists.denx.de
Subject: [U-Boot] FDT driver initialization function declaration
Date: Wed, 11 Jul 2012 11:52:13 +0200	[thread overview]
Message-ID: <4FFD4CCD.2080204@monstr.eu> (raw)
In-Reply-To: <201207101512.30389.marex@denx.de>

On 07/10/2012 03:12 PM, Marek Vasut wrote:
> Dear Wolfgang Denk,
>
>> Dear Michal Simek,
>>
>> In message<4FFC1EF8.9060705@monstr.eu>  you wrote:
>>> The hardest part I have identify on microblaze was about u-boot
>>> variables. Because based on information from device-tree you can choose
>>> where variables should be stored and also this memory should be
>>> accessible before u-boot try to read variables. It mean in very early
>>> state.
>>
>> Device initialization before relocation is already hard enough;
>
> +1
>
>> resources are very limited then.
>
> And we'll be introducing the early mallocator. This is where MPC85x will blow my
> mind :) (I'm repeating myself here, but it might help getting others unaware of
> the DM work better in line).
>
>> You will add the additional need to
>> have the FDT library available then, too.   Not to mention that you
>> need to load the DT blob, too.
>
> DT blob can be read from ROM if that was the problem. The DT library and parser
> might be an issue.
>
>> This will be a lot of added complexity.
>
> And therefore slowing down the boot. But I believe it can be optimized to
> leverage this to some point. Though I'm not quite sure how much. This is worthy
> investigation.
>
> Michal, can you try investigating how will the DT probing intertwine with the
> DM?

I have read your documentation and there are some things I would like to discuss.

UDM-design.txt

How do you want to distinguish between early drivers(console/memory) and common drivers?


struct driver:
- for device-tree support there must be any pointer to matching table
defined in every device driver.

- struct driver *cores[array] - can you please clear this usage?
For example for any device on spi/i2c bus. What cores will depends on it?
All SPI/I2C devices/device-drivers, just one, which one?
Isn't it better to do it by priorities I mentioned above?

struct driver_info - Where do you want to fill the platform_data?
Because for current u-boot configuration style this will be setup statically
and for device-tree dynamically.

probe function require struct instance as parameter
and how is it passed that platform data from struct driver_info which probably
contains information required for probing - like address and other parameters
required for configuration.

For device-tree all these options should be selected at run time. It means
remove all ifdefs from drivers which of course increase u-boot binary size.

UDM-cores.txt
about driver cores initialization at runtime. Do you need to initialized all driver
cores at early-init stage? Or just that crucial one?


I am missing how you want to pass driver configuration data(addresses, settings) to the driver.
I expect that this must be done out of device drivers.

Thanks,
Michal









-- 
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian

  parent reply	other threads:[~2012-07-11  9:52 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-10 10:23 [U-Boot] FDT driver initialization function declaration Michal Simek
2012-07-10 11:54 ` Wolfgang Denk
2012-07-10 12:24   ` Michal Simek
2012-07-10 13:00     ` Marek Vasut
2012-07-10 13:35       ` Michal Simek
2012-07-10 13:03     ` Wolfgang Denk
2012-07-10 13:12       ` Marek Vasut
2012-07-10 13:42         ` Michal Simek
2012-07-10 15:08           ` Marek Vasut
2012-07-11  6:16             ` Michal Simek
2012-07-11  9:52         ` Michal Simek [this message]
2012-07-12  7:10           ` [U-Boot] [U-Boot-DM] " Pavel Herrmann
2012-07-12  8:22             ` Michal Simek
2012-07-13 10:39               ` Tomas Hlavacek
2012-07-13 10:53                 ` Marek Vasut
2012-07-10 13:47       ` [U-Boot] " Michal Simek
2012-07-10 15:11         ` Marek Vasut
2012-07-11  6:11           ` Michal Simek
2012-07-13 10:32             ` Marek Vasut
2012-07-10 13:05 ` Marek Vasut
2012-07-10 13:12   ` Simon Glass
2012-07-10 15:06     ` [U-Boot] [U-Boot-DM] " Marek Vasut
2012-07-10 13:46   ` [U-Boot] " Wolfgang Denk
2012-07-10 13:18 ` Simon Glass
2012-07-10 13:49   ` Michal Simek
2012-07-14  6:49     ` Simon Glass

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=4FFD4CCD.2080204@monstr.eu \
    --to=monstr@monstr.eu \
    --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.