Port-arm archive

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

Re: Arm drivers: are device tree descriptions required for every device?



Hello Brook,

I'm pretty new to this stuff too, so I apologise in advance if I steer you wrong.  I would let someone else answer you , but I hope that engaging in conversation furthers *my* understanding.

------- Original Message -------
On Monday, April 10th, 2023 at 10:46 PM, Brook Milligan <brook%nmsu.edu@localhost> wrote:

> I do not fully understand how the kernel attaches drivers for embedded boards. Clearly, the device tree guides this process and the device tree loaded by the boot loader needs to include the relevant information.
> 
> What I don’t understand is whether every driver must be described in the device tree or if the kernel probes for other devices at any point.

Yes, every device must exist in the device tree (and of course have a relevant point of connection).  The kernel must be configured for each device, also.

> I am mostly trying to figure out how USB devices are attached to embedded boards.
> 
> For example, the amd64 kernels include drivers for USB devices (e.g., disks, network adapters, wifi, etc.) and they are attached to a usbbus by the kernel probing. Those drivers can also be compiled into armv7hf kernels.
> 
> However, I am not sure if such a kernel is expected to attach those drivers if a corresponding USB device is present, even though it might not be in the device tree. Must devices be described in the device tree before the kernel will attach them, or can the kernel itself probe for connected USB devices as it does with amd64?

I don't know how amd64 works (presumably an all-inclusive generic "device tree" is assumed).  But in order for the kernel to use a device it must be in the device tree.  All devices that you anticipate using, and that NetBSD can work with should be in your kernel.

I hope this helps
Matt


Home | Main Index | Thread Index | Old Index