Thank you for taking the time to prepare such a comprehensive and to-the-point presentation. This helped me a lot to learn about the DT concept from different angles!
Wow, Thomas, this is cool! Such a class on Device Tree. Could you add a video about boot modifiers we find on some embedded Linux distros on /boot in the form of *Env.txt files (like armbianEnv.txt)?
Very clear presentation. The only thing I miss, is some background information how the device tree relates to the actual hardware initialization) e.g. Is there any defined initialization order in case there are dependencies. Or is this always defined by the parent-child relationship.
what the different betwent unit address that looks like node number (simple number, ex. cpu core) and that looks like memory address (ex. i2c and usb controller)...?? are unit address always represented as hex number or only device that it's unit address that looks like memory address that is only represented in hex number...?? how to decide the unit address of the device when we want to write new dts file of a board...??
I've been banging my head against a wall trying to get a simple bluetooth device to talk with my IMX6. These device trees are giving me a headache. The documentation seems to be very flimsy. Lots of posts on the NXP forums showing different setups. There doesn't seem to be a good place where everything is explained variable by variable. If I call my device spidev@0 what does that mean to Linux? Have fun trying to google that. It's an endless pipeline. Why the hell didn't I just do a quick search on youtube? This explains it CRYSTAL clear.
Thanks for very interesting presentation. On slide 23 there is "No support in Linux for applying DT overlays however", however, I have been using configfs and /sys/kernel/config/device-tree/overlays/ with mkdir dt-overlay ; cat dtb > dt-overlay/dtbo to load device trees after booting kernel. Is this depreciated in recent kernels?
I would suspect you're not using the official Linux kernel. Several forks of the Linux kernel have extra patches to add a user-space interface to add overlays, but as far as I'm aware, this interface is not in the upstream kernel.
@@Bootlin Maybe stupid question, but what about this: www.kernel.org/doc/Documentation/devicetree/overlay-notes.txt There is some "Overlay in-kernel API". I also read somewhere that runtime overlay in kernel is possible (maybe not upstream), but not recommended - is it true? Great presenation btw.
Hi, My background: I have worked on linux with x86 CPU boards. I have seen that after you load the i2c drivers, they are discoverable. Quick question: As you are saying that i2c, spi,etc devices are not discoverable. So, is it that once we load the i2c, spi drivers, you do not see them on the procfs/sysfs on embedded platforms? If yes, then can you please explain why this happens that even after you load the drivers, the peripherals are not discoverable.
sir, I'm trying to build a nethunter kernel for K20 Pro. I managed to build kernel and got image file and image-dtb file, when i tried to flash using AIK, anykernel, I'm stuck at infinite loop. i have a separate dtbo partition. I'm not sure how to compile dtb.img and what it is completely. Any help...
Probably the most comprehensive and clear tutorial I have come across so far.
Thanks!
I'm at the beginning of the deep dive into embedded Linux development. This presentation was extremely helpful.
Thank you for taking the time to prepare such a comprehensive and to-the-point presentation. This helped me a lot to learn about the DT concept from different angles!
such a great presentation, very clear, learned a ton, thanks for sharing!
Thanks!
Thanks a lot! I have learned a lot from it. Very clean and intense with very brightening examples
Thank you for explaining dtb in detail. Really helped clear the confusion.
Great discussion on Linux device trees. Thanks for posting!
Crisp and Clear Presentation. Thank you
Excellent presentation. Very clear, with a great balance between theoretical details and concise (yet simple) examples.
Thank you for sharing this video. learned so many new things from this.
great presentation, that's help me a lot to understanding the grammer of the dts
Clear presentation and explanation of device tree, thank you for this tutorial
Thanks. the explanation is crystal clear.
Thank you! @37:50 the minute comment about comments helped my conditioned, confused eyes understand what was going on.
Thank you for this great presentation
Thanks for simplifying devicetrees!
Nice video, thanks for uploading!
Thank you for video.
This is the best presentation of DT. Hope I could get chance for direct course from Bootlin.
Great presentation! I would love to hear more!
Beautifully explained.
Although its not for complete Beginers. but still its very indepth.
Thanks for sharing this.
Awesome. Very well explained.
thanks a lot, thanks to such people, the life of an engineer is simple and the world is developing faster and faster
Great presentation. Thank you!
Excellent lesson. Thank you so much
Great clarity on concepts
Man, really appreciate it! Such a nice lecture.
Thank you, that was a great presentation !
For the first time, I understand why device tree is needed! Thanks
Great job with this presentation!
Thank you for making this video!!! very clear and concise. clarified a looott of details!
Just wowwwww......Fantastic and simplified
fantastic video, very clear and concise
Many many thanks for the presentation 👍👏👏
Thanks Sir for your presentation .
Best device tree tutorial 😊
This is really neat. Thank you.
Thank you bro..Very nice Presentation
Great presentation. Really neat!
Thank you. Great presentation and it is very useful.
Wow, Thomas, this is cool! Such a class on Device Tree. Could you add a video about boot modifiers we find on some embedded Linux distros on /boot in the form of *Env.txt files (like armbianEnv.txt)?
Great, worth my time!
Amazing video! Thank you very much
Great video, very clear simple precise explanation on DT which is very helpful for recent project I will be working on. Thanks Thomas.
Awesome presentation
Thanks. Better than the previous "for dummies" talks.
Great Explanation
Great. Thank you very much!
Yes, very helpful, thanks.
this video is awesome!
Very clear presentation. The only thing I miss, is some background information how the device tree relates to the actual hardware initialization)
e.g. Is there any defined initialization order in case there are dependencies. Or is this always defined by the parent-child relationship.
thank you,very informative
Excellent
THANK YOU
Great stuff !!
Very greate! Can we get step-by-step scheme how boot linux on board (SoC+MB)?
Can you do startup example from scratch I.e. start with the board layout, SoC and then start adding the peripherals to show how it all comes together?
It looks good but the fonts are small to watch it using smart phone. Thanks.
very nice
thank you. Now I get the concepts. But is there any resources that teach us how to write a device tree and compile it for our custom board in detail?
💚
This is the same for the zephyr OS. Am I right?
That was realy a nice learning and very helpful. Can you please point out me a link for MIPI bus dts tutorial
what the different betwent unit address that looks like node number (simple number, ex. cpu core) and that looks like memory address (ex. i2c and usb controller)...??
are unit address always represented as hex number or only device that it's unit address that looks like memory address that is only represented in hex number...??
how to decide the unit address of the device when we want to write new dts file of a board...??
Thankyou for the lecture . Could you point me to resources where I can learn more about writing Device Trees ?
I've been banging my head against a wall trying to get a simple bluetooth device to talk with my IMX6. These device trees are giving me a headache. The documentation seems to be very flimsy. Lots of posts on the NXP forums showing different setups. There doesn't seem to be a good place where everything is explained variable by variable. If I call my device spidev@0 what does that mean to Linux? Have fun trying to google that. It's an endless pipeline.
Why the hell didn't I just do a quick search on youtube? This explains it CRYSTAL clear.
Thanks for very interesting presentation. On slide 23 there is "No support in Linux for applying DT overlays however", however, I have been using configfs and /sys/kernel/config/device-tree/overlays/ with mkdir dt-overlay ; cat dtb > dt-overlay/dtbo to load device trees after booting kernel. Is this depreciated in recent kernels?
I would suspect you're not using the official Linux kernel. Several forks of the Linux kernel have extra patches to add a user-space interface to add overlays, but as far as I'm aware, this interface is not in the upstream kernel.
@@Bootlin Maybe stupid question, but what about this:
www.kernel.org/doc/Documentation/devicetree/overlay-notes.txt
There is some "Overlay in-kernel API". I also read somewhere that runtime overlay in kernel is possible (maybe not upstream), but not recommended - is it true?
Great presenation btw.
Hi,
My background:
I have worked on linux with x86 CPU boards. I have seen that after you load the i2c drivers, they are discoverable.
Quick question:
As you are saying that i2c, spi,etc devices are not discoverable. So, is it that once we load the i2c, spi drivers, you do not see them on the procfs/sysfs on embedded platforms? If yes, then can you please explain why this happens that even after you load the drivers, the peripherals are not discoverable.
gold
sir, I'm trying to build a nethunter kernel for K20 Pro. I managed to build kernel and got image file and image-dtb file, when i tried to flash using AIK, anykernel, I'm stuck at infinite loop. i have a separate dtbo partition. I'm not sure how to compile dtb.img and what it is completely. Any help...
What is the translation in french for ''device tree'' ?
Please Make a session on pin muxing
Is it the same as device tree for dummies?
No, it is a different presentation.
❤