From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lorenzo Pieralisi Subject: Re: [PATCH v2 2/5] ARM: kernel: add device tree init map function Date: Mon, 12 Nov 2012 11:51:35 +0000 Message-ID: <20121112115135.GA12287@e102568-lin.cambridge.arm.com> References: <1352471654-20207-1-git-send-email-lorenzo.pieralisi@arm.com> <1352471654-20207-3-git-send-email-lorenzo.pieralisi@arm.com> <20121112103713.GA7982@e106331-lin.cambridge.arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20121112103713.GA7982@e106331-lin.cambridge.arm.com> Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Mark Rutland Cc: Nicolas Pitre , Dave Martin , Kukjin Kim , Russell King , Pawel Moll , Stephen Warren , Tony Lindgren , Catalin Marinas , "devicetree-discuss@lists.ozlabs.org" , Will Deacon , Amit Kucheria , Grant Likely , "rob.herring@calxeda.com" , Benjamin Herrenschmidt , David Brown , Magnus Damm , "linux-arm-kernel@lists.infradead.org" List-Id: devicetree@vger.kernel.org Hi Mark, On Mon, Nov 12, 2012 at 10:38:09AM +0000, Mark Rutland wrote: > On Fri, Nov 09, 2012 at 02:34:11PM +0000, Lorenzo Pieralisi wrote: > > When booting through a device tree, the kernel cpu logical id map can be > > initialized using device tree data passed by FW or through an embedded blob. > > > > This patch adds a function that parses device tree "cpu" nodes and > > retrieves the corresponding CPUs hardware identifiers (MPIDR). > > It sets the possible cpus and the cpu logical map values according to > > the number of CPUs defined in the device tree and respective properties. > > > > The device tree HW identifiers are considered valid if all CPU nodes contain > > a "reg" property and the DT defines a CPU node that matches the MPIDR[23:0] > > of the boot CPU. > > > > The primary CPU is assigned cpu logical number 0 to keep the current convention > > valid. > > > > Current bindings documentation is included in the patch: > > > > Documentation/devicetree/bindings/arm/cpus.txt > > > > Signed-off-by: Lorenzo Pieralisi > > --- > > Documentation/devicetree/bindings/arm/cpus.txt | 84 ++++++++++++++++++++++++++ > > arch/arm/include/asm/prom.h | 2 + > > arch/arm/kernel/devtree.c | 76 +++++++++++++++++++++++ > > 3 files changed, 162 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/arm/cpus.txt > > > > diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt > > new file mode 100644 > > index 0000000..83cd98a > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/arm/cpus.txt > > @@ -0,0 +1,84 @@ > > +* ARM CPUs binding description > > + > > +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. > > + > > +Bindings for CPU nodes follow the ePAPR standard, available from: > > + > > +http://devicetree.org > > + > > +For the ARM architecture every CPU node must contain the following properties: > > + > > +- reg : property matching the CPU MPIDR[23:0] register bits > > +- compatible: must be set to "arm, " > > + where is the full processor name as used in the > > + processor Technical Reference Manual, eg: > > + - for a Cortex A9 processor > > + compatible = ; > > + - for a Cortex A15 processor > > + compatible = ; > > + > > +List of possible "compatible" string ids: > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > Is there any reason for the spaces in the compatible string? No other binding > seems to do this. > > Is a valid dts format? Should these not be "STRING" instead? > > For consistency, it would be nice to have the compatible strings tab-indented > as in Documentation/devicetree/bindings/arm/pmu.txt. You are absolutely right on all points, I will update the description. Thanks, Lorenzo