All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Roese <sr@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 07/25] SPEAr: Add basic arch related support for SPEAr SoCs
Date: Wed, 7 Mar 2012 14:49:42 +0100	[thread overview]
Message-ID: <201203071449.42587.sr@denx.de> (raw)
In-Reply-To: <1331121854-20494-8-git-send-email-amit.virdi@st.com>

On Wednesday 07 March 2012 13:03:56 Amit Virdi wrote:
> From: Vipin KUMAR <vipin.kumar@st.com>
> 
> Earlier, architecture specific init code was mixed with board
> initialization code in board/spear/... This patch updates architecture
> support for SPEAr in latest u-boot.
> 
> It defines the following two flags for SPEAr3xx and SPEAr6xx SoCs
>  - CONFIG_DISPLAY_CPUINFO: Used to print the SoC information
>  - CONFIG_ARCH_CPU_INIT: compiles the architecture specific initialization
> code with arch/arm/spear/cpu.c
> 
> Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
> Signed-off-by: Amit Virdi <amit.virdi@st.com>
> ---
>  arch/arm/cpu/arm926ejs/spear/Makefile      |    3 +-
>  arch/arm/cpu/arm926ejs/spear/cpu.c         |   84
> ++++++++++++++++++++++++++++ arch/arm/include/asm/arch-spear/spr_misc.h | 
>   7 ++
>  include/configs/spear-common.h             |    2 +
>  4 files changed, 95 insertions(+), 1 deletions(-)
>  create mode 100644 arch/arm/cpu/arm926ejs/spear/cpu.c
> 
> diff --git a/arch/arm/cpu/arm926ejs/spear/Makefile
> b/arch/arm/cpu/arm926ejs/spear/Makefile index f32ec4c..46923a4 100644
> --- a/arch/arm/cpu/arm926ejs/spear/Makefile
> +++ b/arch/arm/cpu/arm926ejs/spear/Makefile
> @@ -25,7 +25,8 @@ include $(TOPDIR)/config.mk
> 
>  LIB	= $(obj)lib$(SOC).o
> 
> -COBJS	:= reset.o \
> +COBJS	:= cpu.o \
> +	   reset.o \
>  	   timer.o
>  SOBJS	:=
> 
> diff --git a/arch/arm/cpu/arm926ejs/spear/cpu.c
> b/arch/arm/cpu/arm926ejs/spear/cpu.c new file mode 100644
> index 0000000..4dc7d69
> --- /dev/null
> +++ b/arch/arm/cpu/arm926ejs/spear/cpu.c
> @@ -0,0 +1,84 @@
> +/*
> + * (C) Copyright 2010
> + * Vipin Kumar, ST Micoelectronics, vipin.kumar at st.com.
> + *
> + * 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 <asm/io.h>
> +#include <asm/arch/hardware.h>
> +#include <asm/arch/spr_misc.h>
> +
> +#ifdef CONFIG_ARCH_CPU_INIT

Why not remove this #ifdef here and make compile it in unconditionally? It is 
needed for each SPEAr board, right?

> +int arch_cpu_init(void)
> +{
> +	struct misc_regs *const misc_p =
> +	    (struct misc_regs *)CONFIG_SPEAR_MISCBASE;
> +	u32 periph1_clken;
> +
> +	periph1_clken = readl(&misc_p->periph1_clken);
> +
> +#if defined(CONFIG_SPEAR3XX)
> +	periph1_clken |= MISC_GPT2ENB;
> +#elif defined(CONFIG_SPEAR600)
> +	periph1_clken |= MISC_GPT3ENB;
> +#endif
> +
> +#if defined(CONFIG_PL011_SERIAL)
> +	periph1_clken |= MISC_UART0ENB;
> +#endif
> +#if defined(CONFIG_DESIGNWARE_ETH)
> +	periph1_clken |= MISC_ETHENB;
> +#endif
> +#if defined(CONFIG_DW_UDC)
> +	periph1_clken |= MISC_USBDENB;
> +#endif
> +#if defined(CONFIG_DW_I2C)
> +	periph1_clken |= MISC_I2CENB;
> +#endif
> +#if defined(CONFIG_ST_SMI)
> +	periph1_clken |= MISC_SMIENB;
> +#endif
> +#if defined(CONFIG_NAND_FSMC)
> +	periph1_clken |= MISC_FSMCENB;
> +#endif
> +
> +	writel(periph1_clken, &misc_p->periph1_clken);
> +	return 0;
> +}
> +#endif
> +
> +#ifdef CONFIG_DISPLAY_CPUINFO

Again, I would remove this #ifdef here. Make it unconditionally for all SPEAr 
boards. We have enough #ifdef's already. :)

> +int print_cpuinfo(void)
> +{
> +#ifdef CONFIG_SPEAR300
> +	printf("CPU:   SPEAr300\n");
> +#elif defined(CONFIG_SPEAR310)
> +	printf("CPU:   SPEAr310\n");
> +#elif defined(CONFIG_SPEAR320)
> +	printf("CPU:   SPEAr320\n");
> +#elif defined(CONFIG_SPEAR600)
> +	printf("CPU:   SPEAr600\n");
> +#else
> +#error CPU not supported in spear platform
> +#endif
> +	return 0;
> +}
> +#endif
> diff --git a/arch/arm/include/asm/arch-spear/spr_misc.h
> b/arch/arm/include/asm/arch-spear/spr_misc.h index 8b96d9b..b10c726 100644
> --- a/arch/arm/include/asm/arch-spear/spr_misc.h
> +++ b/arch/arm/include/asm/arch-spear/spr_misc.h
> @@ -126,5 +126,12 @@ struct misc_regs {
> 
>  /* PERIPH1_CLKEN, PERIPH1_RST value */
>  #define MISC_USBDENB			0x01000000
> +#define MISC_ETHENB			0x00800000
> +#define MISC_SMIENB			0x00200000
> +#define MISC_GPT3ENB			0x00010000
> +#define MISC_GPT2ENB			0x00000800
> +#define MISC_FSMCENB			0x00000200
> +#define MISC_I2CENB			0x00000080
> +#define MISC_UART0ENB			0x00000008
> 
>  #endif
> diff --git a/include/configs/spear-common.h
> b/include/configs/spear-common.h index 3f52442..5540630 100644
> --- a/include/configs/spear-common.h
> +++ b/include/configs/spear-common.h
> @@ -182,6 +182,8 @@
>  #define CONFIG_ENV_SIZE				0x02000
> 
>  /* Miscellaneous configurable options */
> +#define CONFIG_ARCH_CPU_INIT
> +#define CONFIG_DISPLAY_CPUINFO

Other than my comment above:

Acked-by: Stefan Roese <sr@denx.de>

Thanks,
Stefan

--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office at denx.de

  reply	other threads:[~2012-03-07 13:49 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-07 12:03 [U-Boot] [PATCH 00/25] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
2012-03-07 12:03 ` [U-Boot] [PATCH 01/25] SPEAr: Fix ARM relocation support Amit Virdi
2012-03-07 13:11   ` Stefan Roese
2012-03-07 12:03 ` [U-Boot] [PATCH 02/25] SPEAr: Eliminate dependency on Xloader table Amit Virdi
2012-03-07 13:16   ` Stefan Roese
2012-03-07 12:03 ` [U-Boot] [PATCH 03/25] SPEAr: Place ethaddr write and read within CONFIG_CMD_NET Amit Virdi
2012-03-07 13:21   ` Stefan Roese
2012-03-07 13:29     ` Mike Frysinger
2012-03-26 11:23     ` Amit Virdi
2012-03-26 13:15       ` Wolfgang Denk
2012-03-07 12:03 ` [U-Boot] [PATCH 04/25] SPEAr: Configure network support for spear SoCs Amit Virdi
2012-03-07 13:29   ` Stefan Roese
2012-03-26 11:41     ` Amit Virdi
2012-03-26 11:51       ` Stefan Roese
2012-03-07 12:03 ` [U-Boot] [PATCH 05/25] SPEAr: Add macb driver support for spear310 and spear320 Amit Virdi
2012-03-07 12:03 ` [U-Boot] [PATCH 06/25] SPEAr: Add interface information in initialization Amit Virdi
2012-03-07 12:03 ` [U-Boot] [PATCH 07/25] SPEAr: Add basic arch related support for SPEAr SoCs Amit Virdi
2012-03-07 13:49   ` Stefan Roese [this message]
2012-03-12 12:30     ` Amit Virdi
2012-03-07 12:03 ` [U-Boot] [PATCH 08/25] SPEAr: Add configuration options for spear3xx and spear6xx boards Amit Virdi
2012-03-07 13:54   ` Stefan Roese
2012-03-26 12:10     ` Amit Virdi
2012-03-26 12:30       ` Stefan Roese
2012-03-27  5:59         ` Amit Virdi
2012-03-07 12:03 ` [U-Boot] [PATCH 09/25] SPEAr: Remove unused flag (CONFIG_SYS_HZ_CLOCK) Amit Virdi
2012-03-07 13:56   ` Stefan Roese
2012-03-07 12:03 ` [U-Boot] [PATCH 10/25] SPEAr: Change the default environment variables Amit Virdi
2012-03-07 14:03   ` Stefan Roese
2012-03-12 12:38     ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 11/25] SPEAr: Initialize SNOR in early_board_init_f Amit Virdi
2012-03-07 14:06   ` Stefan Roese
2012-03-07 12:04 ` [U-Boot] [PATCH 12/25] SPEAr: Enable usb device high speed support Amit Virdi
2012-03-07 14:07   ` Stefan Roese
2012-03-12 12:39     ` Amit Virdi
2012-03-26 12:15       ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 13/25] SPEAr: spear usbtty configuration does not use ethernet device Amit Virdi
2012-03-07 14:14   ` Stefan Roese
2012-03-12 13:12     ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 14/25] SPEAr: Enable udc and usb-console support only for usbtty configuration Amit Virdi
2012-03-07 14:15   ` Stefan Roese
2012-03-07 12:04 ` [U-Boot] [PATCH 15/25] SPEAr: Enable autoneg for ethernet Amit Virdi
2012-03-07 14:18   ` Stefan Roese
2012-03-27  9:02     ` Amit Virdi
2012-03-27  9:20       ` Stefan Roese
2012-03-27  9:24         ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 16/25] SPEAr: Enable dcache for fast file transfer Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 17/25] SPEAr: Enable CONFIG_SYS_FLASH_PROTECTION Amit Virdi
2012-03-07 14:25   ` Stefan Roese
2012-03-27  6:39     ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 18/25] SPEAr: Correct the definition of CONFIG_SYS_MONITOR_BASE Amit Virdi
2012-03-07 14:31   ` Stefan Roese
2012-03-27  6:38     ` Amit Virdi
2012-03-27  7:05       ` Stefan Roese
2012-03-27  7:42         ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 19/25] SPEAr: Enable CONFIG_SYS_FLASH_EMPTY_INFO macro Amit Virdi
2012-03-07 14:32   ` Stefan Roese
2012-03-27  6:11     ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 20/25] SPEAr: Enable ONFI nand flash detection for spear3xx and 6xx and evb Amit Virdi
2012-03-07 14:34   ` Stefan Roese
2012-03-27  6:09     ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 21/25] SPEAr: explicitly select clk src for UART Amit Virdi
2012-03-07 14:36   ` Stefan Roese
2012-03-07 12:04 ` [U-Boot] [PATCH 22/25] SPEAr: Correct SoC ID offset in misc configuration space Amit Virdi
2012-03-07 14:36   ` Stefan Roese
2012-03-07 12:04 ` [U-Boot] [PATCH 23/25] SPEAr: Use separate config flags for 3xx and 6xx board files Amit Virdi
2012-03-07 14:38   ` Stefan Roese
2012-03-12 13:57     ` Amit Virdi
2012-03-12 14:17       ` Stefan Roese
2012-03-07 12:04 ` [U-Boot] [PATCH 24/25] cleanup/SPEAr: Remove unnecessary parenthesis Amit Virdi
2012-03-07 14:41   ` Stefan Roese
2012-03-07 14:46     ` Stefan Roese
2012-03-12 13:52       ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 25/25] cleanup/SPEAr: Define configuration flags more elegantly Amit Virdi
2012-03-07 14:42   ` Stefan Roese
2012-03-07 13:15 ` [U-Boot] [PATCH 00/25] SPEAr: Update platform support for SPEAr3xx/6xx Stefan Roese
2012-03-07 13:56   ` Amit Virdi
2012-03-09  7:29   ` Vipin Kumar
2012-03-09  7:47     ` Stefan Roese
2012-03-09  8:47       ` Vipin Kumar

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=201203071449.42587.sr@denx.de \
    --to=sr@denx.de \
    --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.