Devicetree spec: Specifying /cpus/cpu@* unit address format?

Rob Herring robh at kernel.org
Mon Apr 6 05:48:51 PDT 2026


On Sat, Apr 4, 2026 at 11:43 PM David Gibson
<david at gibson.dropbear.id.au> wrote:
>
> On Fri, Apr 03, 2026 at 06:06:17PM +0800, Vivian Wang wrote:
> > (Also posted at: https://github.com/devicetree-org/devicetree-specification/issues/86 )
> >
> > Hi all,
> >
> > Presently, there seems to be some confusion in the community about the
> > format of unit addresses for "/cpus/cpu@*" nodes for a CPU with ID > 9, e.g.
> >
> >     cpu@??? {
> >         reg = <10>;
> >         /* reg = <0xa>; */ /* This should be equivalent */
> >     }
> >
> >
> > Should this be a decimal "cpu at 10", or hexadecimal "cpu at a"? I can't find
> > any explicit specification.
>
> It should be hex.  That's a general convention for unit addresses.
> Before flattened trees, OF essentially never used decimal
> representations of things.

The only decimal usage in FDT were mistakes.

Rather than worrying about what the spec says, please worry about what
the tools check. Unfortunately, this is still only checked for
specific bus types and the default is not checked.

Rob



More information about the linux-riscv mailing list