Device Tree: hardware description for everybody !

  Переглядів 76,934

Bootlin

Bootlin

День тому

The Device Tree has been adopted for the ARM 32-bit Linux kernel support almost a decade ago, and since then, its usage has expanded to many other CPU architectures in Linux, as well as bootloaders such as U-Boot and Barebox. Even though Device Tree is no longer a new thing, developers coming into the embedded Linux world often struggle to understand what Device Trees are, what is their syntax, how they interact with the Linux kernel device drivers, what Device Tree bindings are, and more. This talk will provide an introduction to the Device Tree, to jump start new developers in using this description language that is now ubiquitous in the vast majority of embedded Linux projects.
Slides at bootlin.com/pub/conferences/2...
Bootlin's embedded Linux system development training course: bootlin.com/training/embedded...
Bootlin's Linux kernel driver development training course: bootlin.com/training/kernel/
Bootlin's Yocto Project and OpenEmbedded system development training course: bootlin.com/training/yocto/
Bootlin's Buildroot system development training course: bootlin.com/training/buildroot/
Bootlin's Linux graphics stack training course: bootlin.com/training/graphics/

КОМЕНТАРІ: 64
@magicandmagik
@magicandmagik 2 роки тому
such a great presentation, very clear, learned a ton, thanks for sharing!
@ViniciusAngiolucci
@ViniciusAngiolucci Рік тому
Excellent presentation. Very clear, with a great balance between theoretical details and concise (yet simple) examples.
@ArtemGodlevskyi
@ArtemGodlevskyi 5 місяців тому
I'm at the beginning of the deep dive into embedded Linux development. This presentation was extremely helpful.
@DipThummar
@DipThummar 7 місяців тому
Thank you for sharing this video. learned so many new things from this.
@jasonz3345
@jasonz3345 Місяць тому
For the first time, I understand why device tree is needed! Thanks
@bhupiistersingh4097
@bhupiistersingh4097 2 місяці тому
Thank you for explaining dtb in detail. Really helped clear the confusion.
@ajithpeter3040
@ajithpeter3040 6 місяців тому
Crisp and Clear Presentation. Thank you
@amoghjain
@amoghjain 2 роки тому
Thank you for making this video!!! very clear and concise. clarified a looott of details!
@embeddedtutorials7653
@embeddedtutorials7653 Рік тому
Clear presentation and explanation of device tree, thank you for this tutorial
@ayoubsoussi2015
@ayoubsoussi2015 3 роки тому
Thank you, that was a great presentation !
@fernandoi8958
@fernandoi8958 Рік тому
Great presentation! I would love to hear more!
@AjayKumar-ds7zb
@AjayKumar-ds7zb 14 днів тому
Great Explanation
@saptarshi7587
@saptarshi7587 3 роки тому
Many many thanks for the presentation 👍👏👏
@jcholsap
@jcholsap Рік тому
Thanks for simplifying devicetrees!
@MrSchattka
@MrSchattka Місяць тому
Great discussion on Linux device trees. Thanks for posting!
@nanthakumarp4692
@nanthakumarp4692 2 роки тому
Thank you. Great presentation and it is very useful.
@kumartceice
@kumartceice 2 роки тому
Great clarity on concepts
@oscardavilaramirez9999
@oscardavilaramirez9999 Рік тому
Great job with this presentation!
@jasongodmere9882
@jasongodmere9882 Рік тому
fantastic video, very clear and concise
@hidroklorotiazid
@hidroklorotiazid 3 роки тому
This is really neat. Thank you.
@piotrlenarczyk5803
@piotrlenarczyk5803 2 роки тому
Thank you for video. This is the best presentation of DT. Hope I could get chance for direct course from Bootlin.
@rajcodes100
@rajcodes100 2 роки тому
Thanks Sir for your presentation .
@lukaszkrapowice
@lukaszkrapowice 2 роки тому
thanks a lot, thanks to such people, the life of an engineer is simple and the world is developing faster and faster
@Rizwan-fn5hi
@Rizwan-fn5hi 2 роки тому
Great presentation. Really neat!
@user-cp5hn4ff9f
@user-cp5hn4ff9f 2 місяці тому
Thank you bro..Very nice Presentation
@elsanjopucela
@elsanjopucela 3 роки тому
Amazing video! Thank you very much
@praveensomesh2551
@praveensomesh2551 3 роки тому
Awesome presentation
@nakulchauhan6713
@nakulchauhan6713 8 місяців тому
Beautifully explained. Although its not for complete Beginers. but still its very indepth. Thanks for sharing this.
@rabiraju9414
@rabiraju9414 Місяць тому
Great, worth my time!
@elijahwilt
@elijahwilt Рік тому
Thank you! @37:50 the minute comment about comments helped my conditioned, confused eyes understand what was going on.
@raghumgh
@raghumgh 2 роки тому
Just wowwwww......Fantastic and simplified
@santoshsco
@santoshsco 2 роки тому
Best device tree tutorial 😊
@pkl2000us
@pkl2000us 3 роки тому
Great stuff !!
@prutser67
@prutser67 2 роки тому
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.
@yuri.frolov
@yuri.frolov 2 роки тому
Great. Thank you very much!
@JohnKha
@JohnKha 2 роки тому
Yes, very helpful, thanks.
@easycruel
@easycruel 2 роки тому
thank you,very informative
@sandeepr5007
@sandeepr5007 2 роки тому
Great video, very clear simple precise explanation on DT which is very helpful for recent project I will be working on. Thanks Thomas.
@Jennn
@Jennn Рік тому
THANK YOU
@justinwu644
@justinwu644 Рік тому
this video is awesome!
@MrDoctorrLove
@MrDoctorrLove Рік тому
Excellent
@saexpat
@saexpat 7 місяців тому
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?
@user-xm1ts5dt9v
@user-xm1ts5dt9v Рік тому
Man, really appreciate it! Such a nice lecture.
@cesargroh5326
@cesargroh5326 6 місяців тому
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)?
@vernekarakshay
@vernekarakshay 3 роки тому
Thankyou for the lecture . Could you point me to resources where I can learn more about writing Device Trees ?
@VincentZhouPlus
@VincentZhouPlus 2 роки тому
Thanks. Better than the previous "for dummies" talks.
@ferircharles4107
@ferircharles4107 Рік тому
very nice
@Dreddwinner
@Dreddwinner Рік тому
💚
@user-bl5ec7xl1w
@user-bl5ec7xl1w Місяць тому
Very greate! Can we get step-by-step scheme how boot linux on board (SoC+MB)?
@kalidsherefuddin
@kalidsherefuddin 11 місяців тому
Thanks everyone
@cipherswami
@cipherswami 3 роки тому
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...
@bernardoaraujor
@bernardoaraujor 3 роки тому
gold
@arifraja9921
@arifraja9921 9 місяців тому
That was realy a nice learning and very helpful. Can you please point out me a link for MIPI bus dts tutorial
@flyxtop
@flyxtop 2 роки тому
It looks good but the fonts are small to watch it using smart phone. Thanks.
@dpavlin
@dpavlin 3 роки тому
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?
@Bootlin
@Bootlin 3 роки тому
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.
@havranj
@havranj 3 роки тому
@@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.
@sameersondur9030
@sameersondur9030 Рік тому
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.
@hudabert4074
@hudabert4074 Рік тому
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...??
@Lingatsu
@Lingatsu Рік тому
What is the translation in french for ''device tree'' ?
@mithrandirthegrey7644
@mithrandirthegrey7644 Рік тому
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.
@abdallahrashed1947
@abdallahrashed1947 3 роки тому
Is it the same as device tree for dummies?
@Bootlin
@Bootlin 3 роки тому
No, it is a different presentation.
@harihaarry2334
@harihaarry2334 Рік тому
Please Make a session on pin muxing
Embedded Linux "from scratch" in 45 minutes...on RISC-V
1:06:09
Bootlin
Переглядів 8 тис.
Device Tree 101 10:00 AM UTC+1 session
1:54:59
Bootlin
Переглядів 16 тис.
I PUT MY ARMOR ON (Creeper) (PG Version)
00:19
Sam Green
Переглядів 5 млн
ДРУГА РЕПЕТИЦІЯ alyona alyona та Jerry Heil на сцені Євробачення-2024
00:34
Євробачення Україна | Eurovision Ukraine official
Переглядів 111 тис.
Їжа Закарпаття. Великий Гід.
1:00:29
Мiша Кацурiн
Переглядів 615 тис.
A tour of the ARM architecture and its Linux support
46:34
linux conf au 2017 - Hobart, Australia
Переглядів 123 тис.
Embedded Linux Booting Process (Multi-Stage Bootloaders, Kernel, Filesystem)
33:13
Pentester Academy TV
Переглядів 180 тис.
Я.Железо: Embedded Linux для чайников и умных колонок
2:07:11
How does an OS boot? //Source Dive// 001
50:22
Low Byte Productions
Переглядів 358 тис.
How to Avoid Writing Device Drivers for Embedded Linux - Chris Simmonds, 2net
41:19
Kernel Recipes 2016 - The Linux Driver Model - Greg KH
43:21
Kernel Recipes
Переглядів 49 тис.
Fundamentals of Embedded Linux - Chris Simmons - NDC TechTown 2022
1:04:15
NDC Conferences
Переглядів 32 тис.
How Do Linux Kernel Drivers Work? - Learning Resource
17:02
LiveOverflow
Переглядів 524 тис.
Adding a LED to the Device Tree & Pin multiplexing
14:12
Johannes 4GNU_Linux
Переглядів 2,5 тис.
Vortex Cannon vs Drone
20:44
Mark Rober
Переглядів 12 млн
Result of the portable iPhone electrical machine #hacks
1:01
KevKevKiwi
Переглядів 7 млн
RTX 4070 Super слишком хороша. Меня это бесит
15:22
Рома, Просто Рома
Переглядів 85 тис.