[PATCH 1/6] ARM: highbank: add devicetree source

Shawn Guo shawn.guo at freescale.com
Wed Aug 17 10:51:56 EDT 2011


On Wed, Aug 17, 2011 at 08:49:41AM -0500, Rob Herring wrote:
> Shawn,
> 
> On 08/17/2011 02:27 AM, Shawn Guo wrote:
> > Hi Rob,
> > 
> > On Tue, Aug 16, 2011 at 03:34:53PM -0500, Rob Herring wrote:
> >> From: Rob Herring <rob.herring at calxeda.com>
> >>
> >> This adds the devicetree source and documentation for the Calxeda highbank
> >> platform.
> >>
> >> Signed-off-by: Rob Herring <rob.herring at calxeda.com>
> >> ---
> >>  Documentation/devicetree/bindings/arm/calxeda.txt |    8 +
> >>  arch/arm/boot/dts/highbank.dts                    |  212 +++++++++++++++++++++
> >>  2 files changed, 220 insertions(+), 0 deletions(-)
> >>  create mode 100644 Documentation/devicetree/bindings/arm/calxeda.txt
> >>  create mode 100644 arch/arm/boot/dts/highbank.dts
> >>
> >> diff --git a/Documentation/devicetree/bindings/arm/calxeda.txt b/Documentation/devicetree/bindings/arm/calxeda.txt
> >> new file mode 100644
> >> index 0000000..4755caa
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/arm/calxeda.txt
> >> @@ -0,0 +1,8 @@
> >> +Calxeda Highbank Platforms Device Tree Bindings
> >> +-----------------------------------------------
> >> +
> >> +Boards with Calxeda Cortex-A9 based Highbank SOC shall have the following
> >> +properties.
> >> +
> >> +Required root node properties:
> >> +    - compatible = "calxeda,highbank";
> >> diff --git a/arch/arm/boot/dts/highbank.dts b/arch/arm/boot/dts/highbank.dts
> >> new file mode 100644
> >> index 0000000..2dd3b7b
> >> --- /dev/null
> >> +++ b/arch/arm/boot/dts/highbank.dts
> >> @@ -0,0 +1,212 @@
> >> +/*
> >> + * Copyright 2011 Calxeda, Inc.
> >> + *
> >> + * This program is free software; you can redistribute it and/or modify it
> >> + * under the terms and conditions of the GNU General Public License,
> >> + * version 2, as published by the Free Software Foundation.
> >> + *
> >> + * This program is distributed in the hope it will be useful, but WITHOUT
> >> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> >> + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> >> + * more details.
> >> + *
> >> + * You should have received a copy of the GNU General Public License along with
> >> + * this program.  If not, see <http://www.gnu.org/licenses/>.
> >> + */
> >> +
> >> +/dts-v1/;
> >> +
> >> +/* First 4KB has pen for secondary cores. */
> >> +/memreserve/ 0x00000000 0x0001000;
> >> +
> > I failed to find the "pen" handling in the whole patch series.  Am I
> > missing anything?
> > 
> 
> In highbank.c:
> 
> +#define HB_JUMP_TABLE_PHYS(cpu)		(0x40 + (0x10 * (cpu)))
> +#define HB_JUMP_TABLE_VIRT(cpu)		phys_to_virt(HB_JUMP_TABLE_PHYS(cpu))
> +
> +void highbank_set_cpu_jump(int cpu, void *jump_addr)
> +{
> +	writel(BSYM(virt_to_phys(jump_addr)), HB_JUMP_TABLE_VIRT(cpu));
> +	__cpuc_flush_dcache_area(HB_JUMP_TABLE_VIRT(cpu), 16);
> +	outer_clean_range(HB_JUMP_TABLE_PHYS(cpu),
> +			  HB_JUMP_TABLE_PHYS(cpu) + 15);
> +}
> 
Ah, ok, the 'pen' you meant is the entry address of secondary cores.
I thought of something like 'pen_release' in plat-versatile/platsmp.c.
So you do not need 'boot_lock' and 'pen_release' stuff to sync secondary
cores with the primary one (like all other smp platforms do)?

-- 
Regards,
Shawn




More information about the linux-arm-kernel mailing list