On Fri, Sep 13, 2013 at 10:07:11PM +0100, Rob Herring wrote: > On 08/15/2013 04:42 AM, Lorenzo Pieralisi wrote: > > The advent of multi-cluster ARM systems requires a mechanism to describe > > how in hierarchical terms CPUs are connected in ARM SoCs so that the kernel > > can initialize and map resources like IRQs and memory space to specific > > group(s) of CPUs. > > > > The CPU topology is made up of multiple hierarchy levels whose bottom > > layers (aka leaf nodes in device tree syntax) contain links to the HW > > CPUs in the system. > > > > The topology bindings are generic for both 32-bit and 64-bit systems and > > lay the groundwork on top of which affinity schemes can be built. > > By affinity schemes, you mean further bindings? Do we need this binding > until that point? Well, further bindings (for HW like perf counters) will rely on these topology bindings to build IRQ affinity masks for instance. I think we should go on and publish these bindings asap so that we can rely on them to properly describe topologies for ARM from the beginning. Current reliance on MPIDR is a leap of faith. > As is, I don't have much comment. I take this as positive feedback, or put it another way, that you think bindings are sound. > > [snip] > > > +Example 3 (ARM 32-bit, cortex-a8 single core): > > + > > +cpus { > > + #size-cells = <0>; > > + #address-cells = <1>; > > + > > + cpu-map { > > + cluster0 { > > + core0 { > > + cpu = <&CPU0>; > > + }; > > + }; > > + }; > > This example seems utterly pointless. I think we should be specific that > single core does not contain a cpu-map. I suppose we could have a > threaded, single core case, but let's address that if we ever do. Ok right. We can have a multi cluster system where one cluster is made up of a single CPU, then a binding like the one above makes sense. I will rule cpu-map out for uniprocessor systems. Lorenzo > > Rob > > > + > > + CPU0: cpu@0 { > > + device_type = "cpu"; > > + compatible = "arm,cortex-a8"; > > + reg = <0x0>; > > + }; > > +}; > > + > > +=============================================================================== > > +[1] ARM Linux kernel documentation > > + Documentation/devicetree/bindings/arm/cpus.txt > > > > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html