All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] Board specific files
@ 2019-04-03  9:08 Linder Pascal
  2019-04-03 12:58 ` Alexander Dahl
  0 siblings, 1 reply; 3+ messages in thread
From: Linder Pascal @ 2019-04-03  9:08 UTC (permalink / raw)
  To: u-boot

Hello everyone,


I am new to U-Boot and I am trying to understand what I need to code for using my own board with the bootloader.


The device tree files I have already found under ./arch/arm/dts/. Can I just add my device tree under this directory?


Also, what is the difference between the configuration files under ./configs/ and ./include/configs/? Do I need to add a file in both of the named directories?


If someone knows a well documented guide to add a new board to the mainline, I would be very grateful.


Sincerely,


Pascal Linder

Student Telekommunikation Netzwerke und Sicherheit

Klasse T-3b

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] Board specific files
  2019-04-03  9:08 [U-Boot] Board specific files Linder Pascal
@ 2019-04-03 12:58 ` Alexander Dahl
  2019-04-16 10:20   ` Matthias Brugger
  0 siblings, 1 reply; 3+ messages in thread
From: Alexander Dahl @ 2019-04-03 12:58 UTC (permalink / raw)
  To: u-boot

Hello Pascal,

Am Mittwoch, 3. April 2019, 09:08:57 CEST schrieb Linder Pascal:
> I am new to U-Boot and I am trying to understand what I need to code for
> using my own board with the bootloader.

Welcome. :-)

I try to describe my view on this, anyone correct me, if something is wrong.

> The device tree files I have already found under ./arch/arm/dts/. Can I just
> add my device tree under this directory?

Yes. Note: you probably can not just copy a dts file from the Linux Kernel. 
From what I discovered when adding a new board lately, those files are 
slightly different.

> Also, what is the difference between the configuration files under
> ./configs/ and ./include/configs/? Do I need to add a file in both of the
> named directories?

For setting board options and more, U-Boot uses the Kconfig system from the 
Linux kernel (adapted to the needs of U-Boot). In the old days everything was 
set as preprocessor define in a board specific header in ./include/configs but 
more and more options have been converted over the years.

Today you still need that header in ./include/configs but fewer things are set 
there with each new U-Boot release.

The files in ./configs/ are default configs for a board to have an initial 
working ./.config configuration file for that Kconfig approach. Although these 
defconfigs are not strictly necessary, it's very convenient as a starting 
point when compiling an image for a board. Some embedded build systems use 
those defconfigs.

> If someone knows a well documented guide to add a new board to the mainline,
> I would be very grateful.

I see two steps here. Getting all the things in place for a new board to boot 
is one, the other one with a different set of challenges is getting that into 
mainline U-Boot. 

For the first I would advise to look into ./README and ./doc/ (keep in mind, 
information there might be outdated) and read lots of code of other boards, 
preferably boards with a similar SoC added lately. 

For getting your patches into mainline, the guide on submitting patches in the 
Linux kernel docs [1] mostly applies to U-Boot as well.

Greets
Alex

[1] https://www.kernel.org/doc/html/latest/process/submitting-patches.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] Board specific files
  2019-04-03 12:58 ` Alexander Dahl
@ 2019-04-16 10:20   ` Matthias Brugger
  0 siblings, 0 replies; 3+ messages in thread
From: Matthias Brugger @ 2019-04-16 10:20 UTC (permalink / raw)
  To: u-boot



On 03/04/2019 14:58, Alexander Dahl wrote:
> Hello Pascal,
> 
> Am Mittwoch, 3. April 2019, 09:08:57 CEST schrieb Linder Pascal:
>> I am new to U-Boot and I am trying to understand what I need to code for
>> using my own board with the bootloader.
> 
> Welcome. :-)
> 
> I try to describe my view on this, anyone correct me, if something is wrong.
> 
>> The device tree files I have already found under ./arch/arm/dts/. Can I just
>> add my device tree under this directory?
> 
> Yes. Note: you probably can not just copy a dts file from the Linux Kernel. 
> From what I discovered when adding a new board lately, those files are 
> slightly different.
> 
>> Also, what is the difference between the configuration files under
>> ./configs/ and ./include/configs/? Do I need to add a file in both of the
>> named directories?
> 
> For setting board options and more, U-Boot uses the Kconfig system from the 
> Linux kernel (adapted to the needs of U-Boot). In the old days everything was 
> set as preprocessor define in a board specific header in ./include/configs but 
> more and more options have been converted over the years.
> 
> Today you still need that header in ./include/configs but fewer things are set 
> there with each new U-Boot release.
> 

There is no documentation which config has to go into the include folder,
correct? I had a hard time to figure that out as well.

I suppose the situation here is the same as with DM, where we have boards and
drivers which are not yet converted. Do we have a roadmap to convert the legacy
configs to the new Kconfig system?

Regards,
Matthias

> The files in ./configs/ are default configs for a board to have an initial 
> working ./.config configuration file for that Kconfig approach. Although these 
> defconfigs are not strictly necessary, it's very convenient as a starting 
> point when compiling an image for a board. Some embedded build systems use 
> those defconfigs.
> 
>> If someone knows a well documented guide to add a new board to the mainline,
>> I would be very grateful.
> 
> I see two steps here. Getting all the things in place for a new board to boot 
> is one, the other one with a different set of challenges is getting that into 
> mainline U-Boot. 
> 
> For the first I would advise to look into ./README and ./doc/ (keep in mind, 
> information there might be outdated) and read lots of code of other boards, 
> preferably boards with a similar SoC added lately. 
> 
> For getting your patches into mainline, the guide on submitting patches in the 
> Linux kernel docs [1] mostly applies to U-Boot as well.
> 
> Greets
> Alex
> 
> [1] https://www.kernel.org/doc/html/latest/process/submitting-patches.html
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-04-16 10:20 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-03  9:08 [U-Boot] Board specific files Linder Pascal
2019-04-03 12:58 ` Alexander Dahl
2019-04-16 10:20   ` Matthias Brugger

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.