Uboot / DTS / Kernel ... so many strange things for me

7 837

I thought I understood more or less what uboot is done for. But it's probably a mistake.

Could someone explain a bit why hardware and devices are defined at so many levels or point me to a good synthetic and newbie-level page explaining what-do-what )

I'm lacking some fondamentals here, and don't like not understanding !

Thanks ;)
yes, Chrisp.
you asked the question that I wanna say as well.
Could someone provide some basic introduction of hardware how it works. when it'll work... We newbies need a space to learn SBC
forgive me if these questions are too low to U ... I'm

@ChrisP & Jeff
There is a website may help you :http://www.denx.de/wiki/U-Boot/WebHome
If there is anything still unclear. Do not hesitate just try to list it. We'll try our best to explain them.
After that we could release a beginner documentation. it'll be good to the others.


Thanks Igor, your first link is very interesting. I will take some time to read it this week end

And thanks for the other link (MKT too).

Edited by ChrisP at Fri Oct 16, 2015 13:04

Ok, I'll try to rephrase my understanding of the basis, just to be sure not to misunderstand and it could be useful for other people too ^^
I still have to read deeply the provided documentation, had only a first quick reading.

U-boot isthe boot-loader, his job is to initialize everything that is needed in order to properly launch the kernel.
DeviceTree is a way to have hardware settings outside of uboot and kernel, giving abstraction layer. If you need to address hardware variation of the same board,editing the dts file and compiling it to the binary dtb should be sufficient,as soon as no additional driver is needed. Right ?

U-boot have his own set of driver and should have as minimum what is needed to launch the kernel (typically storage drivers, network, text interface to be able to have external interaction , like serial console for example).

Kernel have every driver of hardware components of the device, which can be included inside the kernel itself or loaded as external modules, and optionally additional system services. Kernel have his own dts, which can be different ofthe u-boot dts.

I presume kernel and uboot dts does not necessary have exactly same content, but that's a good practice to avoid additionnal issue. Am I right here again ?

However,what I don't get yet, is how I make the put together the device config definedin dts file and the driver files that are supposed to use it ?

The hdmi settings isdefined by:
hdcp_onoff= <0>;
channel_invert= <0>;
bit_invert= <0>;
bootable= <1>;
bootrotate= <0>;   
default_resolution= "1080P60HZ";

How to identify thedriver source that must use these settings ?

Interesting discussion ^^

igorpec replied at Wed Oct 14, 2015 23:14
https://events.linuxfoundation.org/sites/events/files/slides/petazzoni-device-tree-dummies. ...

Small addendum: http://events.linuxfoundation.or ... /dt_debugging_1.pdf

I just removed te Uboot button, Less is Better.
No one can explain what is does, so I just removed it from my board.

You have to log in before you can reply Login | Sign Up

Points Rules