From: Vipin KUMAR vipin.ku...@st.com
SPEAr1300 SoC support contains basic spear1300 support along with the
usage of following drivers
- serial driver(UART)
- i2c driver
- smi driver
- nand driver(FSMC)
- usbd driver
Signed-off-by: Vipin Kumar vipin.ku...@st.com
---
MAINTAINERS|1 +
MAKEALL|1 +
Makefile |6 +
board/spear/common/Makefile| 12 ++-
board/spear/common/spr13xx_lowlevel_init.S | 38 +
board/spear/common/spr13xx_misc.c | 47 +++
board/spear/spear1300/Makefile | 51 +++
board/spear/spear1300/config.mk| 28
board/spear/spear1300/spear1300.c | 66 +
doc/README.spear | 11 ++-
include/configs/spear13xx_evb.h| 201
include/configs/spear3xx_evb.h |1 -
include/configs/spear6xx_evb.h |1 -
13 files changed, 458 insertions(+), 6 deletions(-)
create mode 100644 board/spear/common/spr13xx_lowlevel_init.S
create mode 100644 board/spear/common/spr13xx_misc.c
create mode 100644 board/spear/spear1300/Makefile
create mode 100644 board/spear/spear1300/config.mk
create mode 100644 board/spear/spear1300/spear1300.c
create mode 100644 include/configs/spear13xx_evb.h
diff --git a/MAINTAINERS b/MAINTAINERS
index 9485070..4f9ad7f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -669,6 +669,7 @@ Prakash Kumar prak...@embedx.com
Vipin Kumar vipin.ku...@st.com
+ spear1300 ARM CORTEX-A9 (spear1300 Soc)
spear300ARM926EJS (spear300 Soc)
spear310ARM926EJS (spear310 Soc)
spear320ARM926EJS (spear320 Soc)
diff --git a/MAKEALL b/MAKEALL
index 4637390..e77608a 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -659,6 +659,7 @@ LIST_ARM_CORTEX_A8=\
omap3_zoom2 \
s5p_goni\
smdkc100\
+ spear1300 \
#
diff --git a/Makefile b/Makefile
index e264c50..ffd4fc1 100644
--- a/Makefile
+++ b/Makefile
@@ -2107,6 +2107,12 @@ spear600_usbtty_config \
spear600_usbtty_nand_config : unconfig
@$(MKCONFIG) -n $@ -t $@ spear6xx_evb arm arm926ejs $(@:_config=) spear
spear
+spear1300_config \
+spear1300_nand_config \
+spear1300_usbtty_config \
+spear1300_usbtty_nand_config : unconfig
+ @$(MKCONFIG) -n $@ -t $(@:_config=) spear13xx_evb arm arm_cortexa8
spear1300 spear spear13xx
+
suen3_config: unconfig
@$(MKCONFIG) $(@:_config=) arm arm926ejs km_arm keymile kirkwood
diff --git a/board/spear/common/Makefile b/board/spear/common/Makefile
index 4f8959f..44c943e 100644
--- a/board/spear/common/Makefile
+++ b/board/spear/common/Makefile
@@ -29,8 +29,16 @@ endif
LIB= $(obj)lib$(VENDOR).a
-COBJS := spr_misc.o
-SOBJS := spr_lowlevel_init.o
+COBJS-$(CONFIG_SPEAR3XX) += spr_misc.o
+COBJS-$(CONFIG_SPEAR600) += spr_misc.o
+COBJS-$(CONFIG_SPEAR13XX) += spr13xx_misc.o
+
+SOBJS-$(CONFIG_SPEAR3XX) += spr_lowlevel_init.o
+SOBJS-$(CONFIG_SPEAR600) += spr_lowlevel_init.o
+SOBJS-$(CONFIG_SPEAR13XX) += spr13xx_lowlevel_init.o
+
+COBJS := $(COBJS-y)
+SOBJS := $(SOBJS-y)
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS))
diff --git a/board/spear/common/spr13xx_lowlevel_init.S
b/board/spear/common/spr13xx_lowlevel_init.S
new file mode 100644
index 000..13e0372
--- /dev/null
+++ b/board/spear/common/spr13xx_lowlevel_init.S
@@ -0,0 +1,38 @@
+/*
+ * (C) Copyright 2010
+ * Vipin Kumar, ST Micoelectronics, vipin.ku...@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 config.h
+
+/*
+ * platform specific initializations are already done in Xloader
+ * Initializations already done include
+ * DDR, PLLs, IP's clock enable and reset release etc
+ */
+.globl lowlevel_init
+lowlevel_init:
+ /* By default, U-Boot switches CPU to low-vector */
+ /* Revert this as we work in high vector even in U-Boot */
+ mrc p15, 0, r0, c1, c0, 0
+ orr r0, r0, #0x2000
+