Re: Recognize "/firmware" node usage

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



On Mon, Aug 20, 2018 at 8:38 AM Warner Losh <imp@xxxxxxxxxx> wrote:
>

I'll give my thoughts...

>
> On Mon, Aug 20, 2018 at 6:48 AM, Jens Wiklander <jens.wiklander@xxxxxxxxxx> wrote:
>>
>> Hi,
>>
>> In Linux many firmware drivers has nodes under the "/firmware" node.
>> However, the "/firmware" node isn't mentioned in the devicetree
>> specification and this causes uncertainties. As U-boot and Linux can
>> share the same DTB it is desirable to have a common view of the
>> purpose of the "/firmware" node. Can something be added about
>> "/firmware" in the devicetree specification?
>>
>>
>> Here's two mail threads as background to this:
>> https://lists.denx.de/pipermail/u-boot/2018-August/338182.html
>> https://lists.denx.de/pipermail/u-boot/2018-August/338048.html
>
>
> So the background is kinda thin. It just says there's device nodes there too. However, what's the difference between /chosen and /firmware?

/chosen is boot time parameters to client programs. /firmware is
firmware run-time interfaces provided by the platform. As much as we
dislike non-discoverable h/w, it seems firmware writers aren't any
better at making the firmware discoverable. For example, I would not
expect a u-boot /firmware node as it is not callable when the OS is
running (though with the UEFI support that is changing, but there's
already a defined way to discover that).

> How does one know where to put things?

Hopefully my answers for the other 2 questions answer this.

> When would something be under /firmware and not under a simplebus?

"simple-bus" is for things on a MMIO bus. If something firmware based
has a register interface to access it, then it would be under
simple-bus. Things accessed via secure calls, a mailbox, or IPC would
be under /firmware. The major thing not under either is PSCI only
because it predates putting things under /firmware, but we really
should support it being under /firmware (that may actually already
work in Linux).

Rob

> I can guess at many of these questions from the context, but guessing doesn't make for a good specification...
>
> Put more plainly, what details would you like to see in the specification?
>
> Warner



[Index of Archives]     [Device Tree]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Photos]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]

  Powered by Linux