Hi Matthew, > -----Original Message----- > From: Matthew Fortune > Sent: 27 February 2015 20:46 > To: Andrew Bresticker; Daniel Schwierzeck > Cc: Paul Burton; u-boot@xxxxxxxxxxxxx; Ezequiel Garcia; James Hartley; > James Hogan; John Crispin; Jonas Gorski; Ralf Baechle; Linux-MIPS; > cernekee@xxxxxxxxxxxx > Subject: RE: [U-Boot] MIPS UHI spec > > Andrew Bresticker <abrestic@xxxxxxxxxxxx> writes: > > On Fri, Feb 27, 2015 at 2:44 AM, Daniel Schwierzeck > > <daniel.schwierzeck@xxxxxxxxx> wrote: > > > 2015-02-26 19:23 GMT+01:00 Andrew Bresticker > <abrestic@xxxxxxxxxxxx>: > > >> Hi, > > >> > > >> On Thu, Feb 26, 2015 at 4:37 AM, Daniel Schwierzeck > > >> <daniel.schwierzeck@xxxxxxxxx> wrote: > > >>> 2015-02-26 11:17 GMT+01:00 Paul Burton <paul.burton@xxxxxxxxxx>: > > >>>> On Thu, Feb 19, 2015 at 01:50:23PM +0000, Matthew Fortune wrote: > > >>>>> Hi Daniel, > > >>>>> > > >>>>> The spec for MIPS Unified Hosting Interface is available here: > > >>>>> > > >>>>> http://prplfoundation.org/wiki/MIPS_documentation > > >>>>> > > >>>>> As we have previously discussed, this is an ideal place to > > >>>>> define the handover of device tree data from bootloader to > > >>>>> kernel. Using > > >>>>> a0 == -2 and defining which register(s) you need for the actual > > >>>>> data will fit nicely. I'll happily include whatever is decided > > >>>>> into the next version of the spec. > > >>> > > >>> this originates from an off-list discussion some months ago > > >>> started by John Crispin. > > >>> > > >>> (CC +John, Ralf, Jonas, linux-mips) > > >>> > > >>>> > > >>>> (CC +Andrew, Ezequiel, James, James) > > >>>> > > >>>> On the talk of DT handover, this recent patchset adding support > > >>>> for a system doing so to Linux is relevant: > > >>>> > > >>>> > > >>>> http://www.linux-mips.org/archives/linux-mips/2015- > 02/msg00312.ht > > >>>> ml > > >>>> > > >>>> I'm also working on a system for which I'll need to implement DT > > >>>> handover very soon. It would be very nice if we could agree on > > >>>> some standard way of doing so (and eventually if the code on the > > >>>> Linux side can be generic enough to allow a multiplatform kernel). > > >> > > >> +1. I would like to see this happen as well. > > >> > > >>> to be conformant with UHI I propose $a0 == -2 and $a1 == address > > >>> of DT blob. It is a simple extension and should not interfere with > > >>> the various legacy boot interfaces. > > >>> > > >>> U-Boot mainline code is almost ready for DT handover. I have > > >>> prepared a patch [1] which completes it by implementing my proposal. > > >> > > >> Hmm... we decided to follow the ARM convention here ($a0 = 0, $a1 = > > >> -1, $a2 = physical address of DTB), which is also what the BMIPS > > >> platform (submitted by Kevin) is using for DT handover. Is there > > >> already a platform using the protocol you described? > > > > > > no, but with its publication the MIPS UHI spec is kind of official. > > > AFAIK patches to support UHI in gcc, gdb, U-Boot etc. are already > > > submitted or prepared. Matthew suggested that new boot protocols > > > should be compliant with UHI. I think the ARM convention does not > > > fit to UHI. > > > > Ok, I think we can change the boot protocol on Pistachio to match UHI > > then. > > If that is possible then it would be good. The UHI spec is intended to involve > the various communities in further changes but the initial version had to > make some tradeoffs and define some rules. > > FWIW I was trying to keep the overall control of the handover protocol ultra > simple by having a0 dictate the meaning of all other registers. > The ARM protocol has ended up with two registers to indicate DTB handover > making the a0==0 case have sub-categories. > > Let me know if this doesn't end up possible and we can figure out how to > cope with that in the spec. FYI: We've updated Pistachio to use: $a0 == -2 and $a1 == address of DT blob. This will filter up into a V2 of the patches submitted upstream. Thanks, James.