From: Michal Simek <monstr@monstr.eu>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 3/4] arm: Support new Xilinx Zynq platform
Date: Tue, 14 Aug 2012 18:28:09 +0200 [thread overview]
Message-ID: <502A7C99.40303@monstr.eu> (raw)
In-Reply-To: <CANr=Z=aGa8u34HzMioLUtRCsQw0nj_Tnt3tavJpU9C==E847CQ@mail.gmail.com>
On 08/14/2012 05:36 PM, Joe Hershberger wrote:
> Hi Michal,
>
> On Tue, Aug 14, 2012 at 6:42 AM, Michal Simek <monstr@monstr.eu> wrote:
>> Add timer driver.
>>
>> Signed-off-by: Michal Simek <monstr@monstr.eu>
>> ---
>> arch/arm/cpu/armv7/zynq/Makefile | 48 ++++++++++++
>> arch/arm/cpu/armv7/zynq/timer.c | 151 ++++++++++++++++++++++++++++++++++++++
>> 2 files changed, 199 insertions(+), 0 deletions(-)
>> create mode 100644 arch/arm/cpu/armv7/zynq/Makefile
>> create mode 100644 arch/arm/cpu/armv7/zynq/timer.c
>>
>> diff --git a/arch/arm/cpu/armv7/zynq/Makefile b/arch/arm/cpu/armv7/zynq/Makefile
>> new file mode 100644
>> index 0000000..814c1d4
>> --- /dev/null
>> +++ b/arch/arm/cpu/armv7/zynq/Makefile
>> @@ -0,0 +1,48 @@
>> +#
>> +# (C) Copyright 2000-2003
>> +# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
>> +#
>> +# (C) Copyright 2008
>> +# Guennadi Liakhovetki, DENX Software Engineering, <lg@denx.de>
>> +#
>> +# See file CREDITS for list of people who contributed to this
>> +# project.
>> +#
>> +# This program is free software; you can redistribute it and/or
>> +# modify it under the terms of the GNU General Public License as
>> +# published by the Free Software Foundation; either version 2 of
>> +# the License, or (at your option) any later version.
>> +#
>> +# This program is distributed in the hope that 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, write to the Free Software
>> +# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
>> +# MA 02111-1307 USA
>> +#
>> +
>> +include $(TOPDIR)/config.mk
>> +
>> +LIB = $(obj)lib$(SOC).o
>> +
>
> You should include the lowlevel_init.o here instead of in the board.
Probably make sense.
>
>> +COBJS = timer.o
>> +
>
> Preferably emulate the Makefile in arch/arm/cpu/armv7/tegra2/. By
> that I mean use COBJS-y instead of COBJS directly. This is more
> forward looking to allow for features to be disabled in the future.
no problem with that.
>
>> +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
>> +OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
>> +
>> +all: $(obj).depend $(LIB)
>> +
>> +$(LIB): $(OBJS)
>> + $(call cmd_link_o_target, $(OBJS))
>> +
>> +#########################################################################
>> +
>> +# defines $(obj).depend target
>> +include $(SRCTREE)/rules.mk
>> +
>> +sinclude $(obj).depend
>> +
>> +#########################################################################
>> diff --git a/arch/arm/cpu/armv7/zynq/timer.c b/arch/arm/cpu/armv7/zynq/timer.c
>> new file mode 100644
>> index 0000000..d79da97
>> --- /dev/null
>> +++ b/arch/arm/cpu/armv7/zynq/timer.c
>> @@ -0,0 +1,151 @@
>> +/*
>> + * Copyright (C) 2012 Michal Simek <monstr@monstr.eu>
>> + * Copyright (C) 2011-2012 Xilinx, Inc. All rights reserved.
>> + *
>> + * (C) Copyright 2008
>> + * Guennadi Liakhovetki, DENX Software Engineering, <lg@denx.de>
>> + *
>> + * (C) Copyright 2004
>> + * Philippe Robin, ARM Ltd. <philippe.robin@arm.com>
>> + *
>> + * (C) Copyright 2002-2004
>> + * Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
>> + *
>> + * (C) Copyright 2003
>> + * Texas Instruments <www.ti.com>
>> + *
>> + * (C) Copyright 2002
>> + * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
>> + * Marius Groeger <mgroeger@sysgo.de>
>> + *
>> + * (C) Copyright 2002
>> + * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
>> + * Alex Zuepke <azu@sysgo.de>
>> + *
>> + * See file CREDITS for list of people who contributed to this
>> + * project.
>> + *
>> + * This program is free software; you can redistribute it and/or
>> + * modify it under the terms of the GNU General Public License as
>> + * published by the Free Software Foundation; either version 2 of
>> + * the License, or (at your option) any later version.
>> + *
>> + * This program is distributed in the hope that 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, write to the Free Software
>> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
>> + * MA 02111-1307 USA
>> + */
>> +
>> +#include <common.h>
>> +#include <div64.h>
>> +#include <asm/io.h>
>> +
>> +DECLARE_GLOBAL_DATA_PTR;
>> +
>> +struct scu_timer {
>> + u32 load; /* Timer Load Register */
>> + u32 counter; /* Timer Counter Register */
>> + u32 control; /* Timer Control Register */
>> +};
>
> You are using the timer in the ARM Cortex A9 core. This is not
> Zynq-specific in any way. It should be made available in a different
> place. Probably in arch/arm/lib. It should be stripped on any "XSCU"
> references. Use ARM names instead.
Based on this I can't see the reason why XSCU should be stripped.
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0407f/BABDEAGJ.html
It is SCU private timer. Agree that we can remove X prefix.
I don't think that arch/arm/lib is the proper location for that.
I am not arm specialist to say that this timer is available in all arm families
to be in lib folder.
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
next prev parent reply other threads:[~2012-08-14 16:28 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-14 11:42 [U-Boot] Xilinx Zynq platform Michal Simek
2012-08-14 11:42 ` [U-Boot] [PATCH 1/4] serial: Add Dragonfire serial driver Michal Simek
2012-08-14 14:09 ` Joe Hershberger
2012-08-14 16:38 ` Michal Simek
2012-08-14 16:45 ` Joe Hershberger
2012-08-14 17:17 ` Michal Simek
2012-08-14 22:40 ` John Williams
2012-08-14 11:42 ` [U-Boot] [PATCH 2/4] net: Add driver for Zynq Gem IP Michal Simek
2012-08-14 14:59 ` Joe Hershberger
2012-08-14 17:04 ` Michal Simek
2012-08-14 11:42 ` [U-Boot] [PATCH 3/4] arm: Support new Xilinx Zynq platform Michal Simek
2012-08-14 15:36 ` Joe Hershberger
2012-08-14 16:28 ` Michal Simek [this message]
2012-08-14 16:41 ` Joe Hershberger
2012-08-14 17:11 ` Michal Simek
2012-08-14 17:15 ` Joe Hershberger
2012-08-14 17:39 ` Michal Simek
2012-08-14 18:19 ` Joe Hershberger
2012-08-14 18:39 ` Michal Simek
2012-08-14 20:18 ` Marek Vasut
2012-08-14 11:42 ` [U-Boot] [PATCH 4/4] xilinx: Add new Zynq board Michal Simek
2012-08-14 12:16 ` Michal Simek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=502A7C99.40303@monstr.eu \
--to=monstr@monstr.eu \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.