Skip to contentSkip to conversation

Initial support for Nomadik 8815 development

PATCH Superseded Alessandro Rubini 3 participants 4 messages Nov 20, 2008 – Jan 24, 2009 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 Initial support for Nomadik 8815 development

From: Alessandro Rubini <[email protected]>
Subject: Initial support for Nomadik 8815 development board

The NMDK8815 board is distributed by ST Microelectornics. Other (proprietary) code must be run to unlock the CPU before U-Boot runs. doc/README.nmdk8815 outlines the boot sequence.

This is the initial port, with basic infrastructure and a working serial port.

---
changes since v2:
- added doc/README.nmdk8815 to explain the boot process
- moved code to a vendor dir
- fixed Makefiles as suggested (and removed unused CFLAGS)
- added copyright where missing (u-boot.lds is copied, so no new copyright)
- fixed remaining whitespace issues and comment style
- other detais JC noted

 MAINTAINERS                    |    5 +
 MAKEALL                        |    1 +
 Makefile                       |   11 ++
 board/st/nmdk8815/Makefile     |   55 +++++++
 board/st/nmdk8815/config.mk    |   26 +++
 board/st/nmdk8815/nmdk8815.c   |   73 +++++++++
 board/st/nmdk8815/platform.S   |  345 ++++++++++++++++++++++++++++++++++++++++
 board/st/nmdk8815/u-boot.lds   |   51 ++++++
 cpu/arm926ejs/nomadik/Makefile |   46 ++++++
 cpu/arm926ejs/nomadik/reset.S  |   27 +++
 cpu/arm926ejs/nomadik/timer.c  |  180 +++++++++++++++++++++
 doc/README.nmdk8815            |   22 +++
 include/configs/nmdk8815.h     |  188 ++++++++++++++++++++++
 13 files changed, 1030 insertions(+), 0 deletions(-)
 create mode 100644 board/st/nmdk8815/Makefile
 create mode 100644 board/st/nmdk8815/config.mk
 create mode 100644 board/st/nmdk8815/nmdk8815.c
 create mode 100644 board/st/nmdk8815/platform.S
 create mode 100644 board/st/nmdk8815/u-boot.lds
 create mode 100644 cpu/arm926ejs/nomadik/Makefile
 create mode 100644 cpu/arm926ejs/nomadik/reset.S
 create mode 100644 cpu/arm926ejs/nomadik/timer.c
 create mode 100644 doc/README.nmdk8815
 create mode 100644 include/configs/nmdk8815.h
MAINTAINERS +5 -0
index 127604b..e2a90d2 100644
@@ -581,6 +581,11 @@ Stefan Roese <[email protected]>
 	pdnb3		xscale
 	scpu		xscale
 
+Alessandro Rubini <[email protected]>
+Nomadik Linux Team <[email protected]>
+
+	nmdk8815	ARM926EJS (Nomadik 8815 Soc)
+
 Robert Schwebel <[email protected]>
 
 	csb226		xscale
MAKEALL +1 -0
index dbed268..a209a4d 100755
@@ -487,6 +487,7 @@ LIST_ARM9="			\
 	mx1ads			\
 	mx1fs2			\
 	netstar			\
+	nmdk8815		\
 	omap1510inn		\
 	omap1610h2		\
 	omap1610inn		\
Makefile +11 -0
index fd521b6..de6e6ab 100644
@@ -2644,6 +2644,17 @@ mx1fs2_config	:	unconfig
 netstar_config:		unconfig
 	@$(MKCONFIG) $(@:_config=) arm arm925t netstar
 
+nmdk8815_config \
+nmdk8815_onenand_config:	unconfig
+	@ > $(obj)include/config.h
+	@if [ "$(findstring _onenand, $@)" ] ; then \
+		echo "#define CONFIG_BOOT_ONENAND" >> $(obj)include/config.h; \
+		$(XECHO) "... configured for OneNand Flash"; \
+	else \
+		$(XECHO) "... configured for Nand Flash"; \
+	fi
+	@$(MKCONFIG) -a nmdk8815 arm arm926ejs nmdk8815 st nomadik
+
 omap1510inn_config :	unconfig
 	@$(MKCONFIG) $(@:_config=) arm arm925t omap1510inn
 
board/st/nmdk8815/Makefile new file +55 -0

55 lines not on this page · raw message

board/st/nmdk8815/config.mk new file +26 -0
new file mode 100644
index 0000000..590393b
@@ -0,0 +1,26 @@
+# (C) Copyright 2007
+# STMicroelectronics, <www.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
+#
+#
+# image should be loaded at 0x01000000
+#
+
+TEXT_BASE = 0x03F80000
board/st/nmdk8815/nmdk8815.c new file +73 -0

73 lines not on this page · raw message

board/st/nmdk8815/platform.S new file +345 -0

345 lines not on this page · raw message

board/st/nmdk8815/u-boot.lds new file +51 -0

51 lines not on this page · raw message

cpu/arm926ejs/nomadik/Makefile new file +46 -0

46 lines not on this page · raw message

cpu/arm926ejs/nomadik/reset.S new file +27 -0
new file mode 100644
index 0000000..522a817
@@ -0,0 +1,27 @@
+#include <config.h>
+/*
+ * Processor reset for Nomadik
+ */
+
+        .align  5
+.globl reset_cpu
+reset_cpu:
+#if defined CONFIG_NOMADIK_8815
+        ldr r0, =NOMADIK_SRC_BASE
+        ldr r1, =0x1
+        str r1, [r0, #0x18]
+#else
+        ldr     r1, rstctl1     /* get clkm1 reset ctl */
+        mov     r3, #0x0
+        strh    r3, [r1]        /* clear it */
+        mov     r3, #0x8
+        strh    r3, [r1]        /* force dsp+arm reset */
+#endif
+_loop_forever:
+        b       _loop_forever
+
+
+rstctl1:
+        .word   0xfffece10
+
+
cpu/arm926ejs/nomadik/timer.c new file +180 -0

180 lines not on this page · raw message

doc/README.nmdk8815 new file +22 -0
new file mode 100644
index 0000000..453cfae
@@ -0,0 +1,22 @@
+
+The Nomadik 8815 CPU has a "secure" boot mode where no external access
+(not even JTAG) is allowed.  The "remap" bits in the evaluation board
+are configured in order to boot from the internal ROM memory (in
+secure mode).
+
+The boot process as defined by the manufacturer executes external code
+(loaded from NAND or OneNAND) that that disables such "security" in
+order to run u-boot and later the kernel without constraints. Such
+code is a proprietary initial boot loader, called "X-Loader" (in case
+anyone wonders, it has no relations with other loaders with the same
+name and there is no GPL code inside the ST X-Loader).
+
+SDRAM configuration, PLL setup and initial loading from NAND is
+implemented in the X-Loader, so U-Boot is already running in SDRAM
+when control is handed over to it.
+
+
+On www.st.com/nomadik and on www.stnwireless.com there are documents,
+summary data and white papers on Nomadik. The full datasheet for
+STn8815 is not currently available on line but under specific request
+to the local ST sales offices.
include/configs/nmdk8815.h new file +188 -0

188 lines not on this page · raw message

Signature · 1 line
1.6.0.2
#1 lore raw

PATCH v3 1/1 Initial support for Nomadik 8815 development

Quoted 37 lines · Alessandro Rubini

From: Alessandro Rubini <[email protected]>
Subject: Initial support for Nomadik 8815 development board

The NMDK8815 board is distributed by ST Microelectornics. Other (proprietary) code must be run to unlock the CPU before U-Boot runs. doc/README.nmdk8815 outlines the boot sequence.

This is the initial port, with basic infrastructure and a working serial port.

---
changes since v2:
- added doc/README.nmdk8815 to explain the boot process
- moved code to a vendor dir
- fixed Makefiles as suggested (and removed unused CFLAGS)
- added copyright where missing (u-boot.lds is copied, so no new copyright)
- fixed remaining whitespace issues and comment style
- other detais JC noted

 MAINTAINERS                    |    5 +
 MAKEALL                        |    1 +
 Makefile                       |   11 ++
 board/st/nmdk8815/Makefile     |   55 +++++++
 board/st/nmdk8815/config.mk    |   26 +++
 board/st/nmdk8815/nmdk8815.c   |   73 +++++++++
 board/st/nmdk8815/platform.S   |  345 ++++++++++++++++++++++++++++++++++++++++
 board/st/nmdk8815/u-boot.lds   |   51 ++++++
 cpu/arm926ejs/nomadik/Makefile |   46 ++++++
 cpu/arm926ejs/nomadik/reset.S  |   27 +++
 cpu/arm926ejs/nomadik/timer.c  |  180 +++++++++++++++++++++
 doc/README.nmdk8815            |   22 +++
 include/configs/nmdk8815.h     |  188 ++++++++++++++++++++++
 13 files changed, 1030 insertions(+), 0 deletions(-)
 create mode 100644 board/st/nmdk8815/Makefile
 create mode 100644 board/st/nmdk8815/config.mk
Quoted 9 lines
 create mode 100644 board/st/nmdk8815/nmdk8815.c
 create mode 100644 board/st/nmdk8815/platform.S
 create mode 100644 board/st/nmdk8815/u-boot.lds
 create mode 100644 cpu/arm926ejs/nomadik/Makefile
 create mode 100644 cpu/arm926ejs/nomadik/reset.S
 create mode 100644 cpu/arm926ejs/nomadik/timer.c
 create mode 100644 doc/README.nmdk8815
 create mode 100644 include/configs/nmdk8815.h

I'm in a good moon toady I've finished the coding style fix myself

please take a look

applied to u-boot-arm/next

Best Regards,
J.

#2 lore raw

PATCH v3 1/1 Initial support for Nomadik 8815 development

Dear Jean-Christophe PLAGNIOL-VILLARD,

Quoted 3 lines · In message <[email protected]> you wrote:
Quoted 3 lines

From: Alessandro Rubini <[email protected]>
Subject: Initial support for Nomadik 8815 development board

...

Quoted 1 line

applied to u-boot-arm/next

Will I see a pull request for that any time soon?

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
panic: can't find /
#3 lore raw

PATCH v3 1/1 Initial support for Nomadik 8815 development

Quoted 6 lines
Quoted 2 lines
Quoted 2 lines

From: Alessandro Rubini <[email protected]>
Subject: Initial support for Nomadik 8815 development board

...

Quoted 1 line

applied to u-boot-arm/next

Will I see a pull request for that any time soon?

Actually, this is only "initial support" and I have to add ethernet and NAND. I plan to send a patch during this merge window.

/alessandro