public inbox for u-boot@lists.denx.de
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox