<div dir="ltr">Hi Valdis,<div><br></div><div>You mean In non embedded system( laptop, desktop and server ) DT is not at all required?<br><div class="gmail_extra"><br></div><div class="gmail_extra">Regards,</div><div class="gmail_extra">Madhu</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 25, 2016 at 1:09 PM,  <span dir="ltr">&lt;<a href="mailto:Valdis.Kletnieks@vt.edu" target="_blank">Valdis.Kletnieks@vt.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On Tue, 25 Oct 2016 11:51:38 +0530, Madhu K said:<br>
<br>
&gt; If in case Device tree is not there, where and how to pass the hardware<br>
&gt; information to the linux kernel.<br>
<br>
</span>For many types of hardware, the bus protocol provides a standard way to<br>
find everything on the bus.  And that sort of bus scanning is how non-embedded<br>
systems find all their devices.  If it&#39;s a laptop or a desktop or server,<br>
there&#39;s always the possibility that the user has plugged in a new graphics<br>
card or a different network card - so being able to scan and detect is<br>
important there.<br>
<br>
However, in an embedded system, the configuration is fixed - all the parts are<br>
soldered in place, and there&#39;s no place to add new devices.  So the hardware<br>
designers save the US$0.08 per chip by picking stripped down chips that don&#39;t<br>
have full function (for instance, leave off the PCI config circuitry and just<br>
provide a hardwired &quot;this device will live at this address permanently&quot;)<br>
<br>
And yes, if you&#39;re building microwave ovens, and selling 10 million of them,<br>
suddenly saving 8 cents US per chip adds up to some major profits...<br>
<span><br>
&gt; Does all embedded systems contains Device tree?<br>
<br>
</span>No, only embedded systems that have I/O devices that cannot be<br>
enumerated by the hardware.  So for instance, usually a PCI device<br>
or a USB device can be detected by a bus scan.  So if that&#39;s all you<br>
have, you don&#39;t need device tree - the system can find all the hardware<br>
resources.<br>
<br>
But if you have GPIO pins, or an audio or ethernet card that&#39;s hard-wired in<br>
some non-scannable way, or weird clock chips, or anything like that, you&#39;ll<br>
need device tree.<br>
<br>
And it&#39;s certainly possible to do *both* - let the kernel scan for PCI and<br>
USB devices, *and* provide a device tree for non-scannable resources.<br>
</blockquote></div><br></div></div></div>