<div dir="ltr">This is what I have understood till now, please correct me if I am wrong<div>All this explanation is in context with FreeBSD.</div><div>The drivers register themselves using<b> EARLY_DRIVER_MODULE</b>, this done with</div><div>the help of linker sets right? Where all the data structures for the drivers stored things like</div><div>compatible strings etc. Is it also in linkerset?</div><div>At some point during initialization, the <b>ofwbus(fdtbus) </b>is initialized, it is attached to some kind of</div><div>bus not sure which one, is it <b>nexus or newbus</b>? To which another abstract bus called <b>simplebus </b>is</div><div>attached, all peripherals are then attached to this bus.</div><div>I couldn't find anything called <b>fdtbus</b>, in the FreeBSD code, All I could find was <b>ofwbus</b>, but all reference</div><div>talk only about <b>fdtbus</b>, am I missing something?</div><div>After <b>simplebus</b> init is done, the <b>ofwbus_attach(ofwbus.c:137) </b>goes through all nodes and attaches</div><div>them to <b>simplebus</b>. But I am really sure of what happens after, it would be really helpful if someone could</div><div>explain it or at least provide some resources.</div><div><br></div><div>The resources that I used:</div><div><a href="https://www.bsdcan.org/2010/schedule/attachments/136_FreeBSD_FDT-slides.pdf">https://www.bsdcan.org/2010/schedule/attachments/136_FreeBSD_FDT-slides.pdf</a><br></div><div><a href="https://www.semihalf.com/pub/bsdcan/2010_FreeBSD_FDT-paper.pdf">https://www.semihalf.com/pub/bsdcan/2010_FreeBSD_FDT-paper.pdf</a><br></div><div>Man pages from FreeBSD.</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 20, 2020 at 10:30 PM Niteesh <<a href="mailto:gsnb.gn@gmail.com" target="_blank">gsnb.gn@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I interested in adding FDT infrastructure similar to FreeBSD and Linux to<div>RTEMS as a GSOC project. I have very little knowledge of how all this works,</div><div>but I have started learning by digging into FreeBSD code, using online</div><div>forums and also thanks to Christian for patiently answering all my questions.</div><div><br><div><div>My plan is to add a subsystem, which will parse the DTB file and initialize all active</div><div>devices present in the system. It will ask for drivers that can handle the devices and</div><div>the best driver is selected and attached to the driver.</div><div>As I told before, I have very little idea of the complexity, I have no idea of what problems</div><div>I would face?</div><div><br></div><div>I will discuss what I have learned till now in a following mail, please correct me if I </div><div>am wrong.</div><div><br></div><div>What do you guys think about this? what all should be implemented in a GSOC timeline?</div><div>I know this is not very detailed, but I will create a more detailed proposal based</div></div></div><div>on your comments soon.</div><div><br></div><div>Thank you,</div><div>Niteesh</div></div>
</blockquote></div>