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