Re: Device Tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 25 Oct 2016 11:51:38 +0530, Madhu K said:

> If in case Device tree is not there, where and how to pass the hardware
> information to the linux kernel.

For many types of hardware, the bus protocol provides a standard way to
find everything on the bus.  And that sort of bus scanning is how non-embedded
systems find all their devices.  If it's a laptop or a desktop or server,
there's always the possibility that the user has plugged in a new graphics
card or a different network card - so being able to scan and detect is
important there.

However, in an embedded system, the configuration is fixed - all the parts are
soldered in place, and there's no place to add new devices.  So the hardware
designers save the US$0.08 per chip by picking stripped down chips that don't
have full function (for instance, leave off the PCI config circuitry and just
provide a hardwired "this device will live at this address permanently")

And yes, if you're building microwave ovens, and selling 10 million of them,
suddenly saving 8 cents US per chip adds up to some major profits...

> Does all embedded systems contains Device tree?

No, only embedded systems that have I/O devices that cannot be
enumerated by the hardware.  So for instance, usually a PCI device
or a USB device can be detected by a bus scan.  So if that's all you
have, you don't need device tree - the system can find all the hardware
resources.

But if you have GPIO pins, or an audio or ethernet card that's hard-wired in
some non-scannable way, or weird clock chips, or anything like that, you'll
need device tree.

And it's certainly possible to do *both* - let the kernel scan for PCI and
USB devices, *and* provide a device tree for non-scannable resources.

Attachment: pgpHnrUImJuXa.pgp
Description: PGP signature

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux