Re: [PATCH V5 18/30] dt-bindings: csky CPU Bindings

From: Guo Ren
Date: Fri Sep 28 2018 - 07:42:44 EST


On Fri, Sep 28, 2018 at 06:32:34AM -0500, Rob Herring wrote:
> On Thu, Sep 27, 2018 at 8:03 PM Guo Ren <ren_guo@xxxxxxxxx> wrote:
> >
> > On Thu, Sep 27, 2018 at 11:43:17AM -0500, Rob Herring wrote:
> > > On Tue, Sep 25, 2018 at 07:39:21AM +0800, Guo Ren wrote:
> > > > This patch adds the documentation to describe that how to add cpu nodes in
> > > > dts for SMP.
> > > >
> > > > Signed-off-by: Guo Ren <ren_guo@xxxxxxxxx>
> > > > ---
> > > > Documentation/devicetree/bindings/csky/cpus.txt | 70 +++++++++++++++++++++++++
> > > > 1 file changed, 70 insertions(+)
> > > > create mode 100644 Documentation/devicetree/bindings/csky/cpus.txt
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/csky/cpus.txt b/Documentation/devicetree/bindings/csky/cpus.txt
> > > > new file mode 100644
> > > > index 0000000..ee3901d
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/csky/cpus.txt
> > > > @@ -0,0 +1,70 @@
> > > > +==================
> > > > +C-SKY CPU Bindings
> > > > +==================
> > > > +
> > > > +The device tree allows to describe the layout of CPUs in a system through
> > > > +the "cpus" node, which in turn contains a number of subnodes (ie "cpu")
> > > > +defining properties for every cpu.
> > > > +
> > > > +Only SMP system need to care about the cpus node and single processor
> > > > +needn't define cpus node at all.
> > >
> > > We've generally found this is not true. Even for single core, you can
> > > have power domains, clocks for DVFS, etc.
> > Ok, I'll remove it.
> >
> > >
> > > > +
> > > > +=====================================
> > > > +cpus and cpu node bindings definition
> > > > +=====================================
> > > > +
> > > > +- cpus node
> > > > +
> > > > + Description: Container of cpu nodes
> > > > +
> > > > + The node name must be "cpus".
> > > > +
> > > > + A cpus node must define the following properties:
> > > > +
> > > > + - #address-cells
> > > > + Usage: required
> > > > + Value type: <u32>
> > > > + Definition: must be set to 1
> > > > + - #size-cells
> > > > + Usage: required
> > > > + Value type: <u32>
> > > > + Definition: must be set to 0
> > > > +
> > > > +- cpu node
> > > > +
> > > > + Description: Describes one of SMP cores
> > > > +
> > > > + PROPERTIES
> > > > +
> > >
> > > You need a compatible property for cpu nodes.
> > Our cpu is defined in defconfig, not in dts. I could put a comatible
> > property in here, but it's no use in code.
>
> It doesn't matter as that could change. Most arches do run-time
> selection of cpus within a range of compatible cores.
>
> And read the DT spec (devicetree.org) which says compatible is
> required for cpu nodes.
Ok, follow the rules. Here is my design..

- compatible:
Usage: required
Value type: <string>
Definition: csky,<cpu-type>:
"csky,610"
"csky,807"
"csky,810"
"csky,860"

Best Regards
Guo Ren