Skip to contentSkip to conversation

AT91SAM/CAP patches for U-Boot 1.3.4

PATCH Superseded Stelian Pop 4 participants 54 messages May 8, 2008 – May 24, 2008

Subsystems (8)
lore
Share & tools
lore
#0 lore raw

v2 cover AT91SAM/CAP patches for U-Boot 1.3.4

Hi,

This is the second version of the AT91CAP9/AT91SAM9 patches, which hopefully addresses all the feedbacks I got on the first one.

The first patches: 01 to 04 fix the copyright notices of some already merged files. Those patches may be merged immediately since it would be good to have those in 1.3.3-final.

The patches 05 to 13 fix a number of things in the AT91CAP9 and AT91SAM9260 ports (NAND 8/16 bit support, dataflash offsets, SPI timings, consistent Linux bootargs).

The patches 14 to 17 add support for some new Atmel boards:
- AT91SAM9261
- AT91SAM9263
- AT91SAM9RL

The patches 18 to 25 add a driver for the LCD controller on the Atmel boards (except 9260). The driver could probably be adapted, with minimum efforts, to the AVR32 boards.

And finally, the last patch adds support for the revision 'C' of the AT91CAP9 silicon, which needs a special initialisation sequence to switch from the internal RC oscillator to the external 32k clock.

Thanks,

Stelian.

#1 lore raw

PATCH v2 1/26 Fix @ -> <at> substitution

When applying the AT91CAP9 patches upstream, something transformed the '@' character into the ' <at> ' sequence.

The patch below restores the original form in all the places where it has been modified (the AT91CAP9 files, the AT91SAM9260 files which were copied from AT91CAP9, and a couple of other files where the ' <at> ' sequence was present).

---
 CHANGELOG                                  |   12 ++++++------
 board/atmel/at91cap9adk/Makefile           |    2 +-
 board/atmel/at91cap9adk/at91cap9adk.c      |    2 +-
 board/atmel/at91cap9adk/led.c              |    2 +-
 board/atmel/at91cap9adk/nand.c             |    2 +-
 board/atmel/at91cap9adk/u-boot.lds         |    2 +-
 board/atmel/at91sam9260ek/Makefile         |    2 +-
 board/atmel/at91sam9260ek/at91sam9260ek.c  |    2 +-
 board/atmel/at91sam9260ek/led.c            |    2 +-
 board/atmel/at91sam9260ek/nand.c           |    2 +-
 board/atmel/at91sam9260ek/u-boot.lds       |    2 +-
 cpu/arm926ejs/at91sam9/Makefile            |    2 +-
 cpu/arm926ejs/at91sam9/ether.c             |    2 +-
 cpu/arm926ejs/at91sam9/lowlevel_init.S     |    2 +-
 cpu/arm926ejs/at91sam9/timer.c             |    2 +-
 cpu/arm926ejs/at91sam9/usb.c               |    2 +-
 drivers/net/smc911x.c                      |    2 +-
 include/asm-arm/arch-at91sam9/clk.h        |    2 +-
 include/asm-arm/arch-at91sam9/memory-map.h |    2 +-
 include/asm-arm/dma-mapping.h              |    2 +-
 include/configs/at91cap9adk.h              |    2 +-
 include/configs/at91sam9260ek.h            |    2 +-
 22 files changed, 27 insertions(+), 27 deletions(-)
CHANGELOG +6 -6
index 5d21db1..6aadcca 100644
@@ -6477,7 +6477,7 @@ Date:	Mon Mar 3 11:57:23 2008 +0000
     Originally pointed out by Laurent Pinchart <[email protected]>,
     see http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/22846
 
-    Signed-off-by: Bernhard Nemec <bnemec <at> ganssloser.com>
+    Signed-off-by: Bernhard Nemec <[email protected]>
 
 commit 84d0c2f1e39caff58bf765a7ab7c72da23c25ec8
 Author: Kim B. Heino <[email protected]>
@@ -7707,7 +7707,7 @@ Date:	Mon Feb 18 14:01:56 2008 -0600
     86xx: Convert sbc8641d to use libfdt.
 
     This is the proper fix for a missing closing brace in the function
-    ft_cpu_setup() noticed by joe.hamman <at> embeddedspecialties.com.
+    ft_cpu_setup() noticed by joe.hamman at embeddedspecialties.com.
     The ft_cpu_setup() function in mpc8641hpcn.c should have been
     removed earlier as it was under the obsolete CONFIG_OF_FLAT_TREE,
     but was missed.  Only, the sbc8641d was nominally still using it.
@@ -8102,7 +8102,7 @@ Date:	Fri Feb 22 11:40:50 2008 +0000
 
     We already have a vendor subdir for Atmel, so we should use it.
 
-    Signed-off-by: Haavard Skinnemoen <hskinnemoen <at> atmel.com>
+    Signed-off-by: Haavard Skinnemoen <[email protected]>
 
 commit 6d0943a6be99977d6d853d51749e9963d68eb192
 Author: Andreas Engel <[email protected]>
@@ -8152,8 +8152,8 @@ Date:	Thu Jan 3 21:15:56 2008 +0000
 
     AT91CAP9 support : MACB changes
 
-    Signed-off-by: Stelian Pop <stelian <at> popies.net>
-    Acked-by: Haavard Skinnemoen <hskinnemoen <at> atmel.com>
+    Signed-off-by: Stelian Pop <[email protected]>
+    Acked-by: Haavard Skinnemoen <[email protected]>
 
 commit 6afcabf11d7321850f4feaadfee841488ace54c5
 Author: Stelian Pop <[email protected]>
@@ -8169,7 +8169,7 @@ Date:	Wed Jan 30 21:15:54 2008 +0000
 
     AT91CAP9 support : cpu/ files
 
-    Signed-off-by: Stelian Pop <stelian <at> popies.net>
+    Signed-off-by: Stelian Pop <[email protected]>
 
 commit fa506a926cec348805143576c941f8e61b333cc0
 Author: Stelian Pop <[email protected]>
board/atmel/at91cap9adk/Makefile +1 -1
index 6b4b4b0..e33af76 100644
@@ -1,6 +1,6 @@
 #
 # (C) Copyright 2003-2008
-# Wolfgang Denk, DENX Software Engineering, wd <at> denx.de.
+# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
 #
 # See file CREDITS for list of people who contributed to this
 # project.
board/atmel/at91cap9adk/at91cap9adk.c +1 -1
index 24861ba..e6ae60c 100644
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <[email protected]>
  * Lead Tech Design <www.leadtechdesign.com>
  *
  * See file CREDITS for list of people who contributed to this
board/atmel/at91cap9adk/led.c +1 -1
index 04de139..a137c2a 100644
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <[email protected]>
  * Lead Tech Design <www.leadtechdesign.com>
  *
  * See file CREDITS for list of people who contributed to this
board/atmel/at91cap9adk/nand.c +1 -1
index c72b024..28091a4 100644
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <[email protected]>
  * Lead Tech Design <www.leadtechdesign.com>
  *
  * (C) Copyright 2006 ATMEL Rousset, Lacressonniere Nicolas
board/atmel/at91cap9adk/u-boot.lds +1 -1
index 05a6d83..996f401 100644
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <gj <at> denx.de>
+ * Gary Jennejohn, DENX Software Engineering, <[email protected]>
  *
  * See file CREDITS for list of people who contributed to this
  * project.
board/atmel/at91sam9260ek/Makefile +1 -1
index defc085..e6e4082 100644
@@ -1,6 +1,6 @@
 #
 # (C) Copyright 2003-2008
-# Wolfgang Denk, DENX Software Engineering, wd <at> denx.de.
+# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
 #
 # See file CREDITS for list of people who contributed to this
 # project.
board/atmel/at91sam9260ek/at91sam9260ek.c +1 -1
index a55468e..58d4945 100644
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <[email protected]>
  * Lead Tech Design <www.leadtechdesign.com>
  *
  * See file CREDITS for list of people who contributed to this
board/atmel/at91sam9260ek/led.c +1 -1
index 4c53742..ddc375f 100644
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <[email protected]>
  * Lead Tech Design <www.leadtechdesign.com>
  *
  * See file CREDITS for list of people who contributed to this
board/atmel/at91sam9260ek/nand.c +1 -1
index abb788a..7c1e6ab 100644
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <[email protected]>
  * Lead Tech Design <www.leadtechdesign.com>
  *
  * (C) Copyright 2006 ATMEL Rousset, Lacressonniere Nicolas
board/atmel/at91sam9260ek/u-boot.lds +1 -1
index 05a6d83..996f401 100644
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <gj <at> denx.de>
+ * Gary Jennejohn, DENX Software Engineering, <[email protected]>
  *
  * See file CREDITS for list of people who contributed to this
  * project.
cpu/arm926ejs/at91sam9/Makefile +1 -1
index 203abc2..44cde1a 100644
@@ -1,6 +1,6 @@
 #
 # (C) Copyright 2000-2008
-# Wolfgang Denk, DENX Software Engineering, wd <at> denx.de.
+# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
 #
 # See file CREDITS for list of people who contributed to this
 # project.
cpu/arm926ejs/at91sam9/ether.c +1 -1
index e4f5601..7e11fe4 100644
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <[email protected]>
  * Lead Tech Design <www.leadtechdesign.com>
  *
  * See file CREDITS for list of people who contributed to this
cpu/arm926ejs/at91sam9/lowlevel_init.S +1 -1
index 40a3f6a..ec6ad5d 100644
@@ -2,7 +2,7 @@
  * AT91CAP9/SAM9 setup stuff
  *
  * (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <[email protected]>
  * Lead Tech Design <www.leadtechdesign.com>
  *
  * See file CREDITS for list of people who contributed to this
cpu/arm926ejs/at91sam9/timer.c +1 -1
index 4e79466..c79ec7e 100644
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <[email protected]>
  * Lead Tech Design <www.leadtechdesign.com>
  *
  * See file CREDITS for list of people who contributed to this
cpu/arm926ejs/at91sam9/usb.c +1 -1
index d678897..441349d 100644
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2006
- * DENX Software Engineering <mk <at> denx.de>
+ * DENX Software Engineering <[email protected]>
  *
  * See file CREDITS for list of people who contributed to this
  * project.
drivers/net/smc911x.c +1 -1
index d22c889..c17dcf4 100644
@@ -1,7 +1,7 @@
 /*
  * SMSC LAN9[12]1[567] Network driver
  *
- * (c) 2007 Pengutronix, Sascha Hauer <s.hauer <at> pengutronix.de>
+ * (c) 2007 Pengutronix, Sascha Hauer <[email protected]>
  *
  * See file CREDITS for list of people who contributed to this
  * project.
include/asm-arm/arch-at91sam9/clk.h +1 -1
index 86da9a6..f67b435 100644
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2007
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <[email protected]>
  * Lead Tech Design <www.leadtechdesign.com>
  *
  * See file CREDITS for list of people who contributed to this
include/asm-arm/arch-at91sam9/memory-map.h +1 -1
index da98822..8015dad 100644
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <[email protected]>
  * Lead Tech Design <www.leadtechdesign.com>
  *
  * See file CREDITS for list of people who contributed to this
include/asm-arm/dma-mapping.h +1 -1
index 8054f62..501ce0e 100644
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2007
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <[email protected]>
  * Lead Tech Design <www.leadtechdesign.com>
  *
  * See file CREDITS for list of people who contributed to this
include/configs/at91cap9adk.h +1 -1
index dab21d0..c891fa8 100644
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <[email protected]>
  * Lead Tech Design <www.leadtechdesign.com>
  *
  * Configuation settings for the AT91CAP9ADK board.
include/configs/at91sam9260ek.h +1 -1
index 96d1b8d..41c418f 100644
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <[email protected]>
  * Lead Tech Design <www.leadtechdesign.com>
  *
  * Configuation settings for the AT91SAM9260EK board.
Signature · 1 line
1.5.3.3
#2 lore raw

PATCH 1/26 Fix @ -> <at> substitution

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

When applying the AT91CAP9 patches upstream, something transformed the '@' character into the ' <at> ' sequence.

The patch below restores the original form in all the places where it has been modified (the AT91CAP9 files, the AT91SAM9260 files which were copied from AT91CAP9, and a couple of other files where the ' <at> ' sequence was present).

---
 CHANGELOG                                  |   12 ++++++------
 board/atmel/at91cap9adk/Makefile           |    2 +-
 board/atmel/at91cap9adk/at91cap9adk.c      |    2 +-
 board/atmel/at91cap9adk/led.c              |    2 +-
 board/atmel/at91cap9adk/nand.c             |    2 +-
 board/atmel/at91cap9adk/u-boot.lds         |    2 +-
 board/atmel/at91sam9260ek/Makefile         |    2 +-
 board/atmel/at91sam9260ek/at91sam9260ek.c  |    2 +-
 board/atmel/at91sam9260ek/led.c            |    2 +-
 board/atmel/at91sam9260ek/nand.c           |    2 +-
 board/atmel/at91sam9260ek/u-boot.lds       |    2 +-
 cpu/arm926ejs/at91sam9/Makefile            |    2 +-
 cpu/arm926ejs/at91sam9/ether.c             |    2 +-
 cpu/arm926ejs/at91sam9/lowlevel_init.S     |    2 +-
 cpu/arm926ejs/at91sam9/timer.c             |    2 +-
Quoted 8 lines
 cpu/arm926ejs/at91sam9/usb.c               |    2 +-
 drivers/net/smc911x.c                      |    2 +-
 include/asm-arm/arch-at91sam9/clk.h        |    2 +-
 include/asm-arm/arch-at91sam9/memory-map.h |    2 +-
 include/asm-arm/dma-mapping.h              |    2 +-
 include/configs/at91cap9adk.h              |    2 +-
 include/configs/at91sam9260ek.h            |    2 +-
 22 files changed, 27 insertions(+), 27 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk

Signature · 5 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
Live long and prosper.
	-- Spock, "Amok Time", stardate 3372.7
#3 lore raw

PATCH v2 2/26 Update origin and copyright information in arch-at91sam9 header files

In reply to Stelian Pop

When doing the AT91CAP9/AT91SAM9 port, a number of header files were copied from the Linux kernel sources. This patch explicitly specifies this origin for all the copied headers, and for those missing copyright information, adds it.

Additionaly, the header file 'at91sam926x_mc.h' has been superceeded in the latest kernel sources by 'at91sam9_smc.h'.

The copyright information has been confirmed by the AT91 Linux kernel maintainer, Andrew Victor <[email protected]>.

---
 board/atmel/at91cap9adk/at91cap9adk.c              |    2 +-
 board/atmel/at91sam9260ek/at91sam9260ek.c          |    2 +-
 include/asm-arm/arch-at91sam9/at91_pio.h           |    2 +-
 include/asm-arm/arch-at91sam9/at91_pit.h           |    5 +-
 include/asm-arm/arch-at91sam9/at91_pmc.h           |    2 +-
 include/asm-arm/arch-at91sam9/at91_rstc.h          |    5 +-
 include/asm-arm/arch-at91sam9/at91_spi.h           |    2 +-
 include/asm-arm/arch-at91sam9/at91cap9.h           |    2 +-
 include/asm-arm/arch-at91sam9/at91cap9_matrix.h    |    2 +-
 include/asm-arm/arch-at91sam9/at91sam9260.h        |    2 +-
 include/asm-arm/arch-at91sam9/at91sam9260_matrix.h |    4 +-
 include/asm-arm/arch-at91sam9/at91sam926x_mc.h     |  140 --------------------
 include/asm-arm/arch-at91sam9/at91sam9_smc.h       |   76 +++++++++++
 include/asm-arm/arch-at91sam9/gpio.h               |    2 +-
 include/asm-arm/arch-at91sam9/hardware.h           |    2 +-
 include/asm-arm/arch-at91sam9/io.h                 |    2 +-
 16 files changed, 98 insertions(+), 154 deletions(-)
 delete mode 100644 include/asm-arm/arch-at91sam9/at91sam926x_mc.h
 create mode 100644 include/asm-arm/arch-at91sam9/at91sam9_smc.h
board/atmel/at91cap9adk/at91cap9adk.c +1 -1
index e6ae60c..310a3ef 100644
@@ -25,7 +25,7 @@
 #include <common.h>
 #include <asm/arch/at91cap9.h>
 #include <asm/arch/at91cap9_matrix.h>
-#include <asm/arch/at91sam926x_mc.h>
+#include <asm/arch/at91sam_smc.h>
 #include <asm/arch/at91_pmc.h>
 #include <asm/arch/at91_rstc.h>
 #include <asm/arch/gpio.h>
board/atmel/at91sam9260ek/at91sam9260ek.c +1 -1
index 58d4945..21479ac 100644
@@ -25,7 +25,7 @@
 #include <common.h>
 #include <asm/arch/at91sam9260.h>
 #include <asm/arch/at91sam9260_matrix.h>
-#include <asm/arch/at91sam926x_mc.h>
+#include <asm/arch/at91sam9_smc.h>
 #include <asm/arch/at91_pmc.h>
 #include <asm/arch/at91_rstc.h>
 #include <asm/arch/gpio.h>
include/asm-arm/arch-at91sam9/at91_pio.h +1 -1
index 84c3866..f6ce1f9 100644
@@ -1,5 +1,5 @@
 /*
- * include/asm-arm/arch-at91/at91_pio.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91_pio.h]
  *
  * Copyright (C) 2005 Ivan Kokshaysky
  * Copyright (C) SAN People
include/asm-arm/arch-at91sam9/at91_pit.h +4 -1
index 5026325..94dd242 100644
@@ -1,5 +1,8 @@
 /*
- * include/asm-arm/arch-at91/at91_pit.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91_pit.h]
+ *
+ * Copyright (C) 2007 Andrew Victor
+ * Copyright (C) 2007 Atmel Corporation.
  *
  * Periodic Interval Timer (PIT) - System peripherals regsters.
  * Based on AT91SAM9261 datasheet revision D.
include/asm-arm/arch-at91sam9/at91_pmc.h +1 -1
index 52cd8e5..103be86 100644
@@ -1,5 +1,5 @@
 /*
- * include/asm-arm/arch-at91/at91_pmc.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91_pmc.h]
  *
  * Copyright (C) 2005 Ivan Kokshaysky
  * Copyright (C) SAN People
include/asm-arm/arch-at91sam9/at91_rstc.h +4 -1
index fb8d161..e49caef 100644
@@ -1,5 +1,8 @@
 /*
- * include/asm-arm/arch-at91/at91_rstc.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91_rstc.h]
+ *
+ * Copyright (C) 2007 Andrew Victor
+ * Copyright (C) 2007 Atmel Corporation.
  *
  * Reset Controller (RSTC) - System peripherals regsters.
  * Based on AT91SAM9261 datasheet revision D.
include/asm-arm/arch-at91sam9/at91_spi.h +1 -1
index aaad926..30643c6 100644
@@ -1,5 +1,5 @@
 /*
- * include/asm-arm/arch-at91/at91_spi.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91_spi.h]
  *
  * Copyright (C) 2005 Ivan Kokshaysky
  * Copyright (C) SAN People
include/asm-arm/arch-at91sam9/at91cap9.h +1 -1
index e16909c..d1b33a0 100644
@@ -1,5 +1,5 @@
 /*
- * include/asm-arm/arch-at91/at91cap9.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91cap9.h]
  *
  *  Copyright (C) 2007 Stelian Pop <[email protected]>
  *  Copyright (C) 2007 Lead Tech Design <www.leadtechdesign.com>
include/asm-arm/arch-at91sam9/at91cap9_matrix.h +1 -1
index a641686..22b7e9b 100644
@@ -1,5 +1,5 @@
 /*
- * include/asm-arm/arch-at91/at91cap9_matrix.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91cap9_matrix.h]
  *
  *  Copyright (C) 2007 Stelian Pop <[email protected]>
  *  Copyright (C) 2007 Lead Tech Design <www.leadtechdesign.com>
include/asm-arm/arch-at91sam9/at91sam9260.h +1 -1
index 1bf4598..920a7f3 100644
@@ -1,5 +1,5 @@
 /*
- * include/asm-arm/arch-at91/at91sam9260.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91sam9260.h]
  *
  * (C) 2006 Andrew Victor
  *
include/asm-arm/arch-at91sam9/at91sam9260_matrix.h +3 -1
index a8e9fec..f8b023d 100644
@@ -1,5 +1,7 @@
 /*
- * include/asm-arm/arch-at91/at91sam9260_matrix.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91sam9260_matrix.h]
+ *
+ * Copyright (C) 2007 Atmel Corporation.
  *
  * Memory Controllers (MATRIX, EBI) - System peripherals registers.
  * Based on AT91SAM9260 datasheet revision B.
include/asm-arm/arch-at91sam9/at91sam926x_mc.h deleted +0 -140

140 lines not on this page · raw message

include/asm-arm/arch-at91sam9/at91sam9_smc.h new file +76 -0

76 lines not on this page · raw message

include/asm-arm/arch-at91sam9/gpio.h +1 -1
index 2500eae..c157e10 100644
@@ -1,5 +1,5 @@
 /*
- * include/asm-arm/arch-at91/gpio.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/gpio.h]
  *
  *  Copyright (C) 2005 HP Labs
  *
include/asm-arm/arch-at91sam9/hardware.h +1 -1
index 80b334f..d2fe453 100644
@@ -1,5 +1,5 @@
 /*
- * include/asm-arm/arch-at91/hardware.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/hardware.h]
  *
  *  Copyright (C) 2003 SAN People
  *  Copyright (C) 2003 ATMEL
include/asm-arm/arch-at91sam9/io.h +1 -1
index be9e9ab..f09b2df 100644
@@ -1,5 +1,5 @@
 /*
- * include/asm-arm/arch-at91/io.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/io.h]
  *
  *  Copyright (C) 2003 SAN People
  *
Signature · 1 line
1.5.3.3
#4 lore raw

PATCH v2 2/26 Update origin and copyright information in arch-at91sam9 header files

Quoted 38 lines · Stelian Pop

When doing the AT91CAP9/AT91SAM9 port, a number of header files were copied from the Linux kernel sources. This patch explicitly specifies this origin for all the copied headers, and for those missing copyright information, adds it.

Additionaly, the header file 'at91sam926x_mc.h' has been superceeded in the latest kernel sources by 'at91sam9_smc.h'.

The copyright information has been confirmed by the AT91 Linux kernel maintainer, Andrew Victor <[email protected]>.

---
 board/atmel/at91cap9adk/at91cap9adk.c              |    2 +-
 board/atmel/at91sam9260ek/at91sam9260ek.c          |    2 +-
 include/asm-arm/arch-at91sam9/at91_pio.h           |    2 +-
 include/asm-arm/arch-at91sam9/at91_pit.h           |    5 +-
 include/asm-arm/arch-at91sam9/at91_pmc.h           |    2 +-
 include/asm-arm/arch-at91sam9/at91_rstc.h          |    5 +-
 include/asm-arm/arch-at91sam9/at91_spi.h           |    2 +-
 include/asm-arm/arch-at91sam9/at91cap9.h           |    2 +-
 include/asm-arm/arch-at91sam9/at91cap9_matrix.h    |    2 +-
 include/asm-arm/arch-at91sam9/at91sam9260.h        |    2 +-
 include/asm-arm/arch-at91sam9/at91sam9260_matrix.h |    4 +-
 include/asm-arm/arch-at91sam9/at91sam926x_mc.h     |  140 --------------------
 include/asm-arm/arch-at91sam9/at91sam9_smc.h       |   76 +++++++++++
 include/asm-arm/arch-at91sam9/gpio.h               |    2 +-
 include/asm-arm/arch-at91sam9/hardware.h           |    2 +-
 include/asm-arm/arch-at91sam9/io.h                 |    2 +-
 16 files changed, 98 insertions(+), 154 deletions(-)
 delete mode 100644 include/asm-arm/arch-at91sam9/at91sam926x_mc.h
 create mode 100644 include/asm-arm/arch-at91sam9/at91sam9_smc.h
board/atmel/at91cap9adk/at91cap9adk.c +0 -0
index e6ae60c..310a3ef 100644

board/atmel/at91cap9adk/at91cap9adk.c line 28

Quoted 5 lines
board/atmel/at91cap9adk/at91cap9adk.c +1 -1
@@ -25,7 +25,7 @@
 #include <common.h>
 #include <asm/arch/at91cap9.h>
 #include <asm/arch/at91cap9_matrix.h>
-#include <asm/arch/at91sam926x_mc.h>
+#include <asm/arch/at91sam_smc.h>

Is not supposed to br
#include <asm/arch/at91sam9_smc.h>

board/atmel/at91cap9adk/at91cap9adk.c line 31

Quoted 3 lines
board/atmel/at91cap9adk/at91cap9adk.c +0 -0
 #include <asm/arch/at91_pmc.h>
 #include <asm/arch/at91_rstc.h>
 #include <asm/arch/gpio.h>

Best Regards,
J.

#5 lore raw

PATCH v2 2/26 Update origin and copyright information in arch-at91sam9 header files

Le jeudi 08 mai 2008 ? 23:26 +0200, Jean-Christophe PLAGNIOL-VILLARD a ?crit :

Quoted 3 lines
Quoted 1 line

+#include <asm/arch/at91sam_smc.h>

Is not supposed to br
#include <asm/arch/at91sam9_smc.h>

Argl, of course it is supposed to be at91sam9_smc. I seen this typo in the patch before sending it, corrected it, did a test build, and somehow managed to send the wrong version :(

Jean-Christophe, Wolfgang, do you prefer correcting this by yourselves, or do you want me to send an updated patch or an incremental one fixing just the typo ?

Thanks,

Signature · 1 line
Stelian Pop <[email protected]>
#6 lore raw

PATCH v2 2/26 Update origin and copyright information in arch-at91sam9 header files

Quoted 8 lines · Stelian Pop

Le jeudi 08 mai 2008 ? 23:26 +0200, Jean-Christophe PLAGNIOL-VILLARD a ?crit :

Quoted 3 lines
Quoted 1 line

+#include <asm/arch/at91sam_smc.h>

Is not supposed to br
#include <asm/arch/at91sam9_smc.h>

Quoted 7 lines

Argl, of course it is supposed to be at91sam9_smc. I seen this typo in the patch before sending it, corrected it, did a test build, and somehow managed to send the wrong version :(

Jean-Christophe, Wolfgang, do you prefer correcting this by yourselves, or do you want me to send an updated patch or an incremental one fixing just the typo ?

I will fix it

Best Regards,
J.

#7 lore raw

PATCH 2/26 Update origin and copyright information in arch-at91sam9 header files

In reply to Stelian Pop
Quoted 24 lines · In message <[email protected]> you wrote:

When doing the AT91CAP9/AT91SAM9 port, a number of header files were copied from the Linux kernel sources. This patch explicitly specifies this origin for all the copied headers, and for those missing copyright information, adds it.

Additionaly, the header file 'at91sam926x_mc.h' has been superceeded in the latest kernel sources by 'at91sam9_smc.h'.

The copyright information has been confirmed by the AT91 Linux kernel maintainer, Andrew Victor <[email protected]>.

---
 board/atmel/at91cap9adk/at91cap9adk.c              |    2 +-
 board/atmel/at91sam9260ek/at91sam9260ek.c          |    2 +-
 include/asm-arm/arch-at91sam9/at91_pio.h           |    2 +-
 include/asm-arm/arch-at91sam9/at91_pit.h           |    5 +-
 include/asm-arm/arch-at91sam9/at91_pmc.h           |    2 +-
 include/asm-arm/arch-at91sam9/at91_rstc.h          |    5 +-
 include/asm-arm/arch-at91sam9/at91_spi.h           |    2 +-
 include/asm-arm/arch-at91sam9/at91cap9.h           |    2 +-
 include/asm-arm/arch-at91sam9/at91cap9_matrix.h    |    2 +-
 include/asm-arm/arch-at91sam9/at91sam9260.h        |    2 +-
 include/asm-arm/arch-at91sam9/at91sam9260_matrix.h |    4 +-
Quoted 8 lines
 include/asm-arm/arch-at91sam9/at91sam926x_mc.h     |  140 --------------------
 include/asm-arm/arch-at91sam9/at91sam9_smc.h       |   76 +++++++++++
 include/asm-arm/arch-at91sam9/gpio.h               |    2 +-
 include/asm-arm/arch-at91sam9/hardware.h           |    2 +-
 include/asm-arm/arch-at91sam9/io.h                 |    2 +-
 16 files changed, 98 insertions(+), 154 deletions(-)
 delete mode 100644 include/asm-arm/arch-at91sam9/at91sam926x_mc.h
 create mode 100644 include/asm-arm/arch-at91sam9/at91sam9_smc.h

Applied, thanks.

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
I often quote myself; it adds spice to my conversation.  - G. B. Shaw
#8 lore raw

PATCH v2 3/26 Add copyright information in Atmel boards partition.c

In reply to Stelian Pop

When Ulf did the dataflash.c cleanup, he didn't add his copyright on the new created files. This patch fixes the problem.

---
 board/atmel/at91cap9adk/partition.c   |    2 ++
 board/atmel/at91rm9200dk/partition.c  |    2 ++
 board/atmel/at91sam9260ek/partition.c |    2 ++
 3 files changed, 6 insertions(+), 0 deletions(-)
board/atmel/at91cap9adk/partition.c +2 -0
index 3bffd71..eb1a724 100644
@@ -1,4 +1,6 @@
 /*
+ * (C) Copyright 2008
+ * Ulf Samuelsson <[email protected]>
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
board/atmel/at91rm9200dk/partition.c +2 -0
index a8a5fe6..975be17 100644
@@ -1,4 +1,6 @@
 /*
+ * (C) Copyright 2008
+ * Ulf Samuelsson <[email protected]>
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
board/atmel/at91sam9260ek/partition.c +2 -0
index 389fb2c..557d695 100644
@@ -1,4 +1,6 @@
 /*
+ * (C) Copyright 2008
+ * Ulf Samuelsson <[email protected]>
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
Signature · 1 line
1.5.3.3
#9 lore raw

PATCH 3/26 Add copyright information in Atmel boards partition.c

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

When Ulf did the dataflash.c cleanup, he didn't add his copyright on the new created files. This patch fixes the problem.

---
 board/atmel/at91cap9adk/partition.c   |    2 ++
 board/atmel/at91rm9200dk/partition.c  |    2 ++
 board/atmel/at91sam9260ek/partition.c |    2 ++

Applied, thanks.

Best regards,

Wolfgang Denk

Signature · 5 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
If there are self-made purgatories, then we all have to live in them.
	-- Spock, "This Side of Paradise", stardate 3417.7
#10 lore raw

PATCH v2 4/26 Add proper copyright notices in Atmel boards Makefiles

In reply to Stelian Pop

The Makefiles for the AT91CAP9/AT91SAM9 boards have an incomplete copyright notice. This patch adds the missing pieces.

---
 board/atmel/at91cap9adk/Makefile   |    4 ++++
 board/atmel/at91sam9260ek/Makefile |    4 ++++
 2 files changed, 8 insertions(+), 0 deletions(-)
board/atmel/at91cap9adk/Makefile +4 -0
index e33af76..f2b9c12 100644
@@ -2,6 +2,10 @@
 # (C) Copyright 2003-2008
 # Wolfgang Denk, DENX Software Engineering, wd at denx.de.
 #
+# (C) Copyright 2008
+# Stelian Pop <[email protected]>
+# Lead Tech Design <www.leadtechdesign.com>
+#
 # See file CREDITS for list of people who contributed to this
 # project.
 #
board/atmel/at91sam9260ek/Makefile +4 -0
index e6e4082..f93540a 100644
@@ -2,6 +2,10 @@
 # (C) Copyright 2003-2008
 # Wolfgang Denk, DENX Software Engineering, wd at denx.de.
 #
+# (C) Copyright 2008
+# Stelian Pop <[email protected]>
+# Lead Tech Design <www.leadtechdesign.com>
+#
 # See file CREDITS for list of people who contributed to this
 # project.
 #
Signature · 1 line
1.5.3.3
#11 lore raw

PATCH 4/26 Add proper copyright notices in Atmel boards Makefiles

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

The Makefiles for the AT91CAP9/AT91SAM9 boards have an incomplete copyright notice. This patch adds the missing pieces.

---
 board/atmel/at91cap9adk/Makefile   |    4 ++++
 board/atmel/at91sam9260ek/Makefile |    4 ++++
 2 files changed, 8 insertions(+), 0 deletions(-)

Does not apply to currnt tree:

Applying Add proper copyright notices in Atmel boards Makefiles
error: patch failed: board/atmel/at91cap9adk/Makefile:2
error: board/atmel/at91cap9adk/Makefile: patch does not apply
error: patch failed: board/atmel/at91sam9260ek/Makefile:2
error: board/atmel/at91sam9260ek/Makefile: patch does not apply
fatal: sha1 information is lacking or useless (board/atmel/at91cap9adk/Makefile).
Repository lacks necessary blobs to fall back on 3-way merge. Cannot fall back to three-way merge.
Patch failed at 0001.

Best regards,

Wolfgang Denk

Signature · 5 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
Always try to do things in chronological order; it's  less  confusing
that way.
#12 lore raw

PATCH v2 4/26 Add proper copyright notices in Atmel boards Makefiles

Le samedi 10 mai 2008 ? 00:25 +0200, Wolfgang Denk a ?crit :

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

The Makefiles for the AT91CAP9/AT91SAM9 boards have an incomplete copyright notice. This patch adds the missing pieces.

---
 board/atmel/at91cap9adk/Makefile   |    4 ++++
 board/atmel/at91sam9260ek/Makefile |    4 ++++
 2 files changed, 8 insertions(+), 0 deletions(-)

Does not apply to currnt tree:

I'm not sure why is that, it seems to apply just fine on top of current git HEAD. I'm sending it again.

Stelian.

Signature · 1 line
Stelian Pop <[email protected]>
#13 lore raw

PATCH v2 5/26 Use a common u-boot.lds file across all AT91CAP9/AT91SAM9 platforms

In reply to Stelian Pop

All the AT91CAP9/AT91SAM9 boards have the same linker script. The patch below avoids the duplication of u-boot.lds by putting the file in the cpu directory instead of the board one.

---
 board/atmel/at91cap9adk/u-boot.lds   |   57 ----------------------------------
 board/atmel/at91sam9260ek/u-boot.lds |   57 ----------------------------------
 cpu/arm926ejs/at91sam9/config.mk     |    1 +
 cpu/arm926ejs/at91sam9/u-boot.lds    |   57 ++++++++++++++++++++++++++++++++++
 4 files changed, 58 insertions(+), 114 deletions(-)
 delete mode 100644 board/atmel/at91cap9adk/u-boot.lds
 delete mode 100644 board/atmel/at91sam9260ek/u-boot.lds
 create mode 100644 cpu/arm926ejs/at91sam9/u-boot.lds
board/atmel/at91cap9adk/u-boot.lds deleted +0 -57
deleted file mode 100644
index 996f401..0000000
@@ -1,57 +0,0 @@
-/*
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <[email protected]>
- *
- * 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
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-/*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")*/
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text :
-	{
-	  cpu/arm926ejs/start.o	(.text)
-	  *(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(.rodata) }
-
-	. = ALIGN(4);
-	.data : { *(.data) }
-
-	. = ALIGN(4);
-	.got : { *(.got) }
-
-	. = .;
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-	__bss_start = .;
-	.bss : { *(.bss) }
-	_end = .;
-}
board/atmel/at91sam9260ek/u-boot.lds deleted +0 -57

57 lines not on this page · raw message

cpu/arm926ejs/at91sam9/config.mk +1 -0
index ca2cae1..83040eb 100644
@@ -1,2 +1,3 @@
 PLATFORM_CPPFLAGS += -march=armv5te
 PLATFORM_CPPFLAGS += $(call cc-option,-mtune=arm926ejs,)
+LDSCRIPT := $(SRCTREE)/cpu/arm926ejs/at91sam9/u-boot.lds
cpu/arm926ejs/at91sam9/u-boot.lds new file +57 -0

57 lines not on this page · raw message

Signature · 1 line
1.5.3.3
#14 lore raw

PATCH v2 6/26 AT91CAP9ADK: Handle 8 or 16 bit NAND

In reply to Stelian Pop

The Atmel boards can handle 8 or 16 bit NAND memories. This patch makes the support configurable in the board config header file (CFG_NAND_DBW_8 or CFG_NAND_DBW_16).

---
 board/atmel/at91cap9adk/at91cap9adk.c |   10 +++++++---
 board/atmel/at91cap9adk/nand.c        |    3 +++
 include/configs/at91cap9adk.h         |    1 +
 3 files changed, 11 insertions(+), 3 deletions(-)
board/atmel/at91cap9adk/at91cap9adk.c +7 -3
index 310a3ef..67e16bb 100644
@@ -25,7 +25,7 @@
 #include <common.h>
 #include <asm/arch/at91cap9.h>
 #include <asm/arch/at91cap9_matrix.h>
-#include <asm/arch/at91sam_smc.h>
+#include <asm/arch/at91sam9_smc.h>
 #include <asm/arch/at91_pmc.h>
 #include <asm/arch/at91_rstc.h>
 #include <asm/arch/gpio.h>
@@ -116,7 +116,12 @@ static void at91cap9_nand_hw_init(void)
 	at91_sys_write(AT91_SMC_MODE(3),
 		       AT91_SMC_READMODE | AT91_SMC_WRITEMODE |
 		       AT91_SMC_EXNWMODE_DISABLE |
-		       AT91_SMC_DBW_8 | AT91_SMC_TDF_(1));
+#ifdef CFG_NAND_DBW_16
+		       AT91_SMC_DBW_16 |
+#else /* CFG_NAND_DBW_8 */
+		       AT91_SMC_DBW_8 |
+#endif
+		       AT91_SMC_TDF_(1));
 
 	at91_sys_write(AT91_PMC_PCER, 1 << AT91CAP9_ID_PIOABCD);
 
@@ -252,7 +257,6 @@ int board_init(void)
 #ifdef CONFIG_USB_OHCI_NEW
 	at91cap9_uhp_hw_init();
 #endif
-
 	return 0;
 }
 
board/atmel/at91cap9adk/nand.c +3 -0
index 28091a4..0432ef1 100644
@@ -63,6 +63,9 @@ static void at91cap9adk_nand_hwcontrol(struct mtd_info *mtd, int cmd)
 int board_nand_init(struct nand_chip *nand)
 {
 	nand->eccmode = NAND_ECC_SOFT;
+#ifdef CFG_NAND_DBW_16
+	nand->options = NAND_BUSWIDTH_16;
+#endif
 	nand->hwcontrol = at91cap9adk_nand_hwcontrol;
 	nand->chip_delay = 20;
 
include/configs/at91cap9adk.h +1 -0
index c891fa8..7887b36 100644
@@ -110,6 +110,7 @@
 #define NAND_MAX_CHIPS			1
 #define CFG_MAX_NAND_DEVICE		1
 #define CFG_NAND_BASE			0x40000000
+#define CFG_NAND_DBW_8			1
 
 /* Ethernet */
 #define CONFIG_MACB			1
Signature · 1 line
1.5.3.3
#15 lore raw

PATCH v2 7/26 AT91CAP9ADK: Normalize SPI timings

In reply to Stelian Pop

This patch changes the SPI timings to closely match the ones used by the Linux kernel and the Atmel's own bootstrap project.

---
 include/configs/at91cap9adk.h |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
include/configs/at91cap9adk.h +3 -3
index 7887b36..588f45d 100644
@@ -94,9 +94,9 @@
 #define CFG_SPI_WRITE_TOUT		(5*CFG_HZ)
 #define CFG_MAX_DATAFLASH_BANKS		1
 #define CFG_DATAFLASH_LOGIC_ADDR_CS0	0xC0000000	/* CS0 */
-#define AT91_SPI_CLK			20000000
-#define DATAFLASH_TCSS			(0xFA << 16)
-#define DATAFLASH_TCHS			(0x8 << 24)
+#define AT91_SPI_CLK			15000000
+#define DATAFLASH_TCSS			(0x1a << 16)
+#define DATAFLASH_TCHS			(0x1 << 24)
 
 /* NOR flash */
 #define CFG_FLASH_CFI			1
Signature · 1 line
1.5.3.3
#16 lore raw

PATCH v2 8/26 AT91CAP9ADK: Normalize BOOTARGS

In reply to Stelian Pop

This patch adapts CONFIG_BOOTARGS to the chosen boot method (boot from DataFlash or from NAND), and gives to Linux a fully specified mtdparts variable.

---
 include/configs/at91cap9adk.h |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)
include/configs/at91cap9adk.h +11 -2
index 588f45d..a8f8d7d 100644
@@ -56,8 +56,6 @@
 #define CONFIG_USART3		1	/* USART 3 is DBGU */
 
 #define CONFIG_BOOTDELAY	3
-#define CONFIG_BOOTARGS		"console=ttyS0,115200 " \
-				"root=/dev/mtdblock1 rw rootfstype=jffs2"
 
 /* #define CONFIG_ENV_OVERWRITE	1 */
 
@@ -145,6 +143,11 @@
 #define CFG_ENV_ADDR		(CFG_DATAFLASH_LOGIC_ADDR_CS0 + CFG_ENV_OFFSET)
 #define CFG_ENV_SIZE		0x4200
 #define CONFIG_BOOTCOMMAND	"cp.b 0xC003DE00 0x72000000 0x200040; bootm"
+#define CONFIG_BOOTARGS		"console=ttyS0,115200 "			\
+				"root=/dev/mtdblock1 "			\
+				"mtdparts=physmap-flash.0:-(nor);"	\
+				"at91_nand:-(root) "			\
+				"rw rootfstype=jffs2"
 
 #else
 
@@ -155,6 +158,12 @@
 #define CFG_ENV_ADDR		(PHYS_FLASH_1 + CFG_ENV_OFFSET)
 #define CFG_ENV_SIZE		0x4000
 #define CONFIG_BOOTCOMMAND	"cp.b 0x10040000 0x72000000 0x200000; bootm"
+#define CONFIG_BOOTARGS		"console=ttyS0,115200 "			\
+				"root=/dev/mtdblock4 "			\
+				"mtdparts=physmap-flash.0:16k(bootstrap)ro,"\
+				"16k(env),224k(uboot)ro,-(linux);"	\
+				"at91_nand:-(root) "			\
+				"rw rootfstype=jffs2"
 
 #endif
 
Signature · 1 line
1.5.3.3
#17 lore raw

PATCH v2 9/26 AT91CAP9ADK: Fix dataflash offsets in CONFIG_BOOTCOMMAND

In reply to Stelian Pop

This patch fixes the dataflash offsets used in CONFIG_BOOTCOMMAND in order to cope with the changes in DataFlash partitionning scheme (cset c3a60cb3).

---
 include/configs/at91cap9adk.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
include/configs/at91cap9adk.h +1 -1
index a8f8d7d..5e13309 100644
@@ -142,7 +142,7 @@
 #define CFG_ENV_OFFSET		0x4200
 #define CFG_ENV_ADDR		(CFG_DATAFLASH_LOGIC_ADDR_CS0 + CFG_ENV_OFFSET)
 #define CFG_ENV_SIZE		0x4200
-#define CONFIG_BOOTCOMMAND	"cp.b 0xC003DE00 0x72000000 0x200040; bootm"
+#define CONFIG_BOOTCOMMAND	"cp.b 0xC0042000 0x72000000 0x210000; bootm"
 #define CONFIG_BOOTARGS		"console=ttyS0,115200 "			\
 				"root=/dev/mtdblock1 "			\
 				"mtdparts=physmap-flash.0:-(nor);"	\
Signature · 1 line
1.5.3.3
#18 lore raw

PATCH v2 10/26 AT91SAM9260EK: Handle 8 or 16 bit NAND

In reply to Stelian Pop

The Atmel boards can handle 8 or 16 bit NAND memories. This patch makes the support configurable in the board config header file (CFG_NAND_DBW_8 or CFG_NAND_DBW_16).

---
 board/atmel/at91sam9260ek/at91sam9260ek.c |    7 ++++++-
 board/atmel/at91sam9260ek/nand.c          |    3 +++
 include/configs/at91sam9260ek.h           |    1 +
 3 files changed, 10 insertions(+), 1 deletions(-)
board/atmel/at91sam9260ek/at91sam9260ek.c +6 -1
index 21479ac..4635f0f 100644
@@ -90,7 +90,12 @@ static void at91sam9260ek_nand_hw_init(void)
 	at91_sys_write(AT91_SMC_MODE(3),
 		       AT91_SMC_READMODE | AT91_SMC_WRITEMODE |
 		       AT91_SMC_EXNWMODE_DISABLE |
-		       AT91_SMC_DBW_8 | AT91_SMC_TDF_(2));
+#ifdef CFG_NAND_DBW_16
+		       AT91_SMC_DBW_16 |
+#else /* CFG_NAND_DBW_8 */
+		       AT91_SMC_DBW_8 |
+#endif
+		       AT91_SMC_TDF_(2));
 
 	at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_PIOC);
 
board/atmel/at91sam9260ek/nand.c +3 -0
index 7c1e6ab..9738f0f 100644
@@ -68,6 +68,9 @@ static int at91sam9260ek_nand_ready(struct mtd_info *mtd)
 int board_nand_init(struct nand_chip *nand)
 {
 	nand->eccmode = NAND_ECC_SOFT;
+#ifdef CFG_NAND_DBW_16
+	nand->options = NAND_BUSWIDTH_16;
+#endif
 	nand->hwcontrol = at91sam9260ek_nand_hwcontrol;
 	nand->dev_ready = at91sam9260ek_nand_ready;
 	nand->chip_delay = 20;
include/configs/at91sam9260ek.h +1 -0
index 41c418f..784b9e5 100644
@@ -104,6 +104,7 @@
 #define NAND_MAX_CHIPS			1
 #define CFG_MAX_NAND_DEVICE		1
 #define CFG_NAND_BASE			0x40000000
+#define CFG_NAND_DBW_8			1
 
 /* NOR flash - no real flash on this board */
 #define CFG_NO_FLASH			1
Signature · 1 line
1.5.3.3
#19 lore raw

PATCH v2 11/26 AT91SAM9260EK: Normalize SPI timings

In reply to Stelian Pop

This patch changes the SPI timings to closely match the ones used by the Linux kernel and the Atmel's own bootstrap project.

---
 include/configs/at91sam9260ek.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
include/configs/at91sam9260ek.h +1 -1
index 784b9e5..1aa40ef 100644
@@ -96,7 +96,7 @@
 #define CFG_MAX_DATAFLASH_BANKS		2
 #define CFG_DATAFLASH_LOGIC_ADDR_CS0	0xC0000000	/* CS0 */
 #define CFG_DATAFLASH_LOGIC_ADDR_CS1	0xD0000000	/* CS1 */
-#define AT91_SPI_CLK			33000000
+#define AT91_SPI_CLK			15000000
 #define DATAFLASH_TCSS			(0x1a << 16)
 #define DATAFLASH_TCHS			(0x1 << 24)
 
Signature · 1 line
1.5.3.3
#20 lore raw

PATCH v2 12/26 AT91SAM9260EK: Normalize BOOTARGS

In reply to Stelian Pop

This patch adapts CONFIG_BOOTARGS to the chosen boot method (boot from DataFlash or from NAND), and gives to Linux a fully specified mtdparts variable.

---
 include/configs/at91sam9260ek.h |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)
include/configs/at91sam9260ek.h +14 -2
index 1aa40ef..cd5f161 100644
@@ -56,8 +56,6 @@
 #define CONFIG_USART3		1	/* USART 3 is DBGU */
 
 #define CONFIG_BOOTDELAY	3
-#define CONFIG_BOOTARGS		"console=ttyS0,115200 " \
-				"root=/dev/mtdblock0 rw rootfstype=jffs2"
 
 /* #define CONFIG_ENV_OVERWRITE	1 */
 
@@ -144,6 +142,10 @@
 #define CFG_ENV_ADDR		(CFG_DATAFLASH_LOGIC_ADDR_CS0 + CFG_ENV_OFFSET)
 #define CFG_ENV_SIZE		0x4200
 #define CONFIG_BOOTCOMMAND	"cp.b 0xC003DE00 0x22000000 0x200040; bootm"
+#define CONFIG_BOOTARGS		"console=ttyS0,115200 "			\
+				"root=/dev/mtdblock0 "			\
+				"mtdparts=at91_nand:-(root) "		\
+				"rw rootfstype=jffs2"
 
 #elif CFG_USE_DATAFLASH_CS1
 
@@ -154,6 +156,10 @@
 #define CFG_ENV_ADDR		(CFG_DATAFLASH_LOGIC_ADDR_CS1 + CFG_ENV_OFFSET)
 #define CFG_ENV_SIZE		0x4200
 #define CONFIG_BOOTCOMMAND	"cp.b 0xD003DE00 0x22000000 0x200040; bootm"
+#define CONFIG_BOOTARGS		"console=ttyS0,115200 "			\
+				"root=/dev/mtdblock0 "			\
+				"mtdparts=at91_nand:-(root) "		\
+				"rw rootfstype=jffs2"
 
 #else /* CFG_USE_NANDFLASH */
 
@@ -163,6 +169,12 @@
 #define CFG_ENV_OFFSET_REDUND	0x80000
 #define CFG_ENV_SIZE		0x20000		/* 1 sector = 128 kB */
 #define CONFIG_BOOTCOMMAND	"nand read 0x22000000 0xA0000 0x200000; bootm"
+#define CONFIG_BOOTARGS		"console=ttyS0,115200 "			\
+				"root=/dev/mtdblock5 "			\
+				"mtdparts=at91_nand:128k(bootstrap)ro,"	\
+				"256k(uboot)ro,128k(env1)ro,"		\
+				"128k(env2)ro,2M(linux),-(root) "	\
+				"rw rootfstype=jffs2"
 
 #endif
 
Signature · 1 line
1.5.3.3
#21 lore raw

PATCH v2 13/26 AT91SAM9260EK: Fix dataflash offsets in CONFIG_BOOTCOMMAND

In reply to Stelian Pop

This patch fixes the dataflash offsets used in CONFIG_BOOTCOMMAND in order to cope with the changes in DataFlash partitionning scheme (cset c3a60cb3).

---
 include/configs/at91sam9260ek.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
include/configs/at91sam9260ek.h +2 -2
index cd5f161..f68e055 100644
@@ -141,7 +141,7 @@
 #define CFG_ENV_OFFSET		0x4200
 #define CFG_ENV_ADDR		(CFG_DATAFLASH_LOGIC_ADDR_CS0 + CFG_ENV_OFFSET)
 #define CFG_ENV_SIZE		0x4200
-#define CONFIG_BOOTCOMMAND	"cp.b 0xC003DE00 0x22000000 0x200040; bootm"
+#define CONFIG_BOOTCOMMAND	"cp.b 0xC0042000 0x22000000 0x210000; bootm"
 #define CONFIG_BOOTARGS		"console=ttyS0,115200 "			\
 				"root=/dev/mtdblock0 "			\
 				"mtdparts=at91_nand:-(root) "		\
@@ -155,7 +155,7 @@
 #define CFG_ENV_OFFSET		0x4200
 #define CFG_ENV_ADDR		(CFG_DATAFLASH_LOGIC_ADDR_CS1 + CFG_ENV_OFFSET)
 #define CFG_ENV_SIZE		0x4200
-#define CONFIG_BOOTCOMMAND	"cp.b 0xD003DE00 0x22000000 0x200040; bootm"
+#define CONFIG_BOOTCOMMAND	"cp.b 0xD0042000 0x22000000 0x210000; bootm"
 #define CONFIG_BOOTARGS		"console=ttyS0,115200 "			\
 				"root=/dev/mtdblock0 "			\
 				"mtdparts=at91_nand:-(root) "		\
Signature · 1 line
1.5.3.3
#22 lore raw

PATCH v2 14/26 AT91SAM9261EK support

In reply to Stelian Pop

This patch adds support for the AT91SAM9261 chip and the AT91SAM9261EK board.

---
 MAINTAINERS                                        |    1 +
 MAKEALL                                            |    1 +
 Makefile                                           |    3 +
 board/atmel/at91sam9261ek/Makefile                 |   57 ++++++
 board/atmel/at91sam9261ek/at91sam9261ek.c          |  194 ++++++++++++++++++++
 board/atmel/at91sam9261ek/config.mk                |    1 +
 board/atmel/at91sam9261ek/led.c                    |   78 ++++++++
 board/atmel/at91sam9261ek/nand.c                   |   79 ++++++++
 board/atmel/at91sam9261ek/partition.c              |   40 ++++
 cpu/arm926ejs/at91sam9/usb.c                       |    8 +
 drivers/net/dm9000x.c                              |    2 +
 include/asm-arm/arch-at91sam9/at91sam9261.h        |  105 +++++++++++
 include/asm-arm/arch-at91sam9/at91sam9261_matrix.h |   64 +++++++
 include/asm-arm/arch-at91sam9/hardware.h           |    3 +
 include/configs/at91sam9261ek.h                    |  191 +++++++++++++++++++
 15 files changed, 827 insertions(+), 0 deletions(-)
 create mode 100644 board/atmel/at91sam9261ek/Makefile
 create mode 100644 board/atmel/at91sam9261ek/at91sam9261ek.c
 create mode 100644 board/atmel/at91sam9261ek/config.mk
 create mode 100644 board/atmel/at91sam9261ek/led.c
 create mode 100644 board/atmel/at91sam9261ek/nand.c
 create mode 100644 board/atmel/at91sam9261ek/partition.c
 create mode 100644 include/asm-arm/arch-at91sam9/at91sam9261.h
 create mode 100644 include/asm-arm/arch-at91sam9/at91sam9261_matrix.h
 create mode 100644 include/configs/at91sam9261ek.h
MAINTAINERS +1 -0
index 58f833c..26f31fd 100644
@@ -538,6 +538,7 @@ Stelian Pop <[email protected]>
 
 	at91cap9adk		ARM926EJS (AT91CAP9 SoC)
 	at91sam9260ek		ARM926EJS (AT91SAM9260 SoC)
+	at91sam9261ek		ARM926EJS (AT91SAM9261 SoC)
 
 Stefan Roese <[email protected]>
 
MAKEALL +1 -0
index 38911ed..251da90 100755
@@ -458,6 +458,7 @@ LIST_ARM9="			\
 	at91cap9adk		\
 	at91rm9200dk		\
 	at91sam9260ek		\
+	at91sam9261ek		\
 	cmc_pu2			\
 	ap920t			\
 	ap922_XA10		\
Makefile +3 -0
index 167a717..5e06ff5 100644
@@ -2326,6 +2326,9 @@ shannon_config	:	unconfig
 at91rm9200dk_config	:	unconfig
 	@$(MKCONFIG) $(@:_config=) arm arm920t at91rm9200dk atmel at91rm9200
 
+at91sam9261ek_config	:	unconfig
+	@$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9261ek atmel at91sam9
+
 cmc_pu2_config	:	unconfig
 	@$(MKCONFIG) $(@:_config=) arm arm920t cmc_pu2 NULL at91rm9200
 
board/atmel/at91sam9261ek/Makefile new file +57 -0

57 lines not on this page · raw message

board/atmel/at91sam9261ek/at91sam9261ek.c new file +194 -0

194 lines not on this page · raw message

board/atmel/at91sam9261ek/config.mk new file +1 -0
new file mode 100644
index 0000000..ff2cfd1
@@ -0,0 +1 @@
+TEXT_BASE = 0x23f00000
board/atmel/at91sam9261ek/led.c new file +78 -0

78 lines not on this page · raw message

board/atmel/at91sam9261ek/nand.c new file +79 -0

79 lines not on this page · raw message

board/atmel/at91sam9261ek/partition.c new file +40 -0
new file mode 100644
index 0000000..975be17
@@ -0,0 +1,40 @@
+/*
+ * (C) Copyright 2008
+ * Ulf Samuelsson <[email protected]>
+ *
+ * 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 <config.h>
+#include <asm/hardware.h>
+#include <dataflash.h>
+
+AT91S_DATAFLASH_INFO dataflash_info[CFG_MAX_DATAFLASH_BANKS];
+
+struct dataflash_addr cs[CFG_MAX_DATAFLASH_BANKS] = {
+	{CFG_DATAFLASH_LOGIC_ADDR_CS0, 0},	/* Logical adress, CS */
+	{CFG_DATAFLASH_LOGIC_ADDR_CS3, 3}
+};
+
+/*define the area offsets*/
+dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
+	{0x00000000, 0x000041FF, FLAG_PROTECT_SET,   0, "Bootstrap"},
+	{0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"},
+	{0x00008400, 0x00041FFF, FLAG_PROTECT_SET,   0, "U-Boot"},
+	{0x00042000, 0x00251FFF, FLAG_PROTECT_CLEAR, 0,	"Kernel"},
+	{0x00252000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR, 0,	"FS"},
+};
cpu/arm926ejs/at91sam9/usb.c +8 -0
index 441349d..2a92f73 100644
@@ -33,7 +33,11 @@ int usb_cpu_init(void)
 {
 	/* Enable USB host clock. */
 	at91_sys_write(AT91_PMC_PCER, 1 << AT91_ID_UHP);
+#ifdef CONFIG_AT91SAM9261
+	at91_sys_write(AT91_PMC_SCER, AT91_PMC_UHP | AT91_PMC_HCK0);
+#else
 	at91_sys_write(AT91_PMC_SCER, AT91_PMC_UHP);
+#endif
 
 	return 0;
 }
@@ -42,7 +46,11 @@ int usb_cpu_stop(void)
 {
 	/* Disable USB host clock. */
 	at91_sys_write(AT91_PMC_PCDR, 1 << AT91_ID_UHP);
+#ifdef CONFIG_AT91SAM9261
+	at91_sys_write(AT91_PMC_SCDR, AT91_PMC_UHP | AT91_PMC_HCK0);
+#else
 	at91_sys_write(AT91_PMC_SCDR, AT91_PMC_UHP);
+#endif
 	return 0;
 }
 
drivers/net/dm9000x.c +2 -0
index 6131b5c..db6d3bd 100644
@@ -300,8 +300,10 @@ eth_init(bd_t * bd)
 	DM9000_iow(DM9000_ISR, 0x0f);	/* Clear interrupt status */
 
 	/* Set Node address */
+#ifndef CONFIG_AT91SAM9261EK
 	for (i = 0; i < 6; i++)
 		((u16 *) bd->bi_enetaddr)[i] = read_srom_word(i);
+#endif
 
 	if (is_zero_ether_addr(bd->bi_enetaddr) ||
 	    is_multicast_ether_addr(bd->bi_enetaddr)) {
include/asm-arm/arch-at91sam9/at91sam9261.h new file +105 -0

105 lines not on this page · raw message

include/asm-arm/arch-at91sam9/at91sam9261_matrix.h new file +64 -0

64 lines not on this page · raw message

include/asm-arm/arch-at91sam9/hardware.h +3 -0
index d2fe453..06bab62 100644
@@ -26,6 +26,9 @@
 #define AT91_PMC_UHP	AT91SAM926x_PMC_UHP
 #elif defined(CONFIG_AT91SAM9261)
 #include <asm/arch/at91sam9261.h>
+#define AT91_BASE_SPI	AT91SAM9261_BASE_SPI0
+#define AT91_ID_UHP	AT91SAM9261_ID_UHP
+#define AT91_PMC_UHP	AT91SAM926x_PMC_UHP
 #elif defined(CONFIG_AT91SAM9263)
 #include <asm/arch/at91sam9263.h>
 #elif defined(CONFIG_AT91SAM9RL)
include/configs/at91sam9261ek.h new file +191 -0

191 lines not on this page · raw message

Signature · 1 line
1.5.3.3
#23 lore raw

PATCH v2 14/26 AT91SAM9261EK support

include/configs/at91sam9261ek.h line 60

Quoted 9 lines
include/configs/at91sam9261ek.h new file +9 -0
+#define CONFIG_ATMEL_USART	1
+#undef CONFIG_USART0
+#undef CONFIG_USART1
+#undef CONFIG_USART2
+#define CONFIG_USART3		1	/* USART 3 is DBGU */
+
+#define CONFIG_BOOTDELAY	3
+
+/* #define CONFIG_ENV_OVERWRITE	1 */

If no need please remove

include/configs/at91sam9261ek.h line 72

Quoted 12 lines
include/configs/at91sam9261ek.h new file +12 -0
+
+/*
+ * BOOTP options
+ */
+#define CONFIG_BOOTP_BOOTFILESIZE	1
+#define CONFIG_BOOTP_BOOTPATH		1
+#define CONFIG_BOOTP_GATEWAY		1
+#define CONFIG_BOOTP_HOSTNAME		1
+
+/*
+ * Command line configuration.
+ */

Best Regards,
J.

#24 lore raw

PATCH v2 14/26 AT91SAM9261EK support

Le vendredi 09 mai 2008 ? 12:41 +0200, Jean-Christophe PLAGNIOL-VILLARD a ?crit :

Quoted 2 lines
Quoted 1 line

+/* #define CONFIG_ENV_OVERWRITE 1 */

If no need please remove

Ok, here is an additional patch for this.

Stelian.

-----------------8<----------------8<-------------------

#25 lore raw

PATCH v2 15/26 AT91SAM9263EK support [part 1 of 2]

In reply to Stelian Pop

This patch adds support for the AT91SAM9263 chip and the AT91SAM9263EK board.

This patch has been splitted in two for mailing list pose limit reasons.

---
 include/asm-arm/arch-at91sam9/at91sam9263.h |  127 +++++++++++++++++++++++++++
 1 files changed, 127 insertions(+), 0 deletions(-)
 create mode 100644 include/asm-arm/arch-at91sam9/at91sam9263.h
include/asm-arm/arch-at91sam9/at91sam9263.h new file +127 -0
new file mode 100644
index 0000000..98251cb
@@ -0,0 +1,127 @@
+/*
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91sam9263.h]
+ *
+ * (C) 2007 Atmel Corporation.
+ *
+ * Common definitions.
+ * Based on AT91SAM9263 datasheet revision B (Preliminary).
+ *
+ * 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.
+ */
+
+#ifndef AT91SAM9263_H
+#define AT91SAM9263_H
+
+/*
+ * Peripheral identifiers/interrupts.
+ */
+#define AT91_ID_FIQ		0	/* Advanced Interrupt Controller (FIQ) */
+#define AT91_ID_SYS		1	/* System Peripherals */
+#define AT91SAM9263_ID_PIOA	2	/* Parallel IO Controller A */
+#define AT91SAM9263_ID_PIOB	3	/* Parallel IO Controller B */
+#define AT91SAM9263_ID_PIOCDE	4	/* Parallel IO Controller C, D and E */
+#define AT91SAM9263_ID_US0	7	/* USART 0 */
+#define AT91SAM9263_ID_US1	8	/* USART 1 */
+#define AT91SAM9263_ID_US2	9	/* USART 2 */
+#define AT91SAM9263_ID_MCI0	10	/* Multimedia Card Interface 0 */
+#define AT91SAM9263_ID_MCI1	11	/* Multimedia Card Interface 1 */
+#define AT91SAM9263_ID_CAN	12	/* CAN */
+#define AT91SAM9263_ID_TWI	13	/* Two-Wire Interface */
+#define AT91SAM9263_ID_SPI0	14	/* Serial Peripheral Interface 0 */
+#define AT91SAM9263_ID_SPI1	15	/* Serial Peripheral Interface 1 */
+#define AT91SAM9263_ID_SSC0	16	/* Serial Synchronous Controller 0 */
+#define AT91SAM9263_ID_SSC1	17	/* Serial Synchronous Controller 1 */
+#define AT91SAM9263_ID_AC97C	18	/* AC97 Controller */
+#define AT91SAM9263_ID_TCB	19	/* Timer Counter 0, 1 and 2 */
+#define AT91SAM9263_ID_PWMC	20	/* Pulse Width Modulation Controller */
+#define AT91SAM9263_ID_EMAC	21	/* Ethernet */
+#define AT91SAM9263_ID_2DGE	23	/* 2D Graphic Engine */
+#define AT91SAM9263_ID_UDP	24	/* USB Device Port */
+#define AT91SAM9263_ID_ISI	25	/* Image Sensor Interface */
+#define AT91SAM9263_ID_LCDC	26	/* LCD Controller */
+#define AT91SAM9263_ID_DMA	27	/* DMA Controller */
+#define AT91SAM9263_ID_UHP	29	/* USB Host port */
+#define AT91SAM9263_ID_IRQ0	30	/* Advanced Interrupt Controller (IRQ0) */
+#define AT91SAM9263_ID_IRQ1	31	/* Advanced Interrupt Controller (IRQ1) */
+
+
+/*
+ * User Peripheral physical base addresses.
+ */
+#define AT91SAM9263_BASE_UDP		0xfff78000
+#define AT91SAM9263_BASE_TCB0		0xfff7c000
+#define AT91SAM9263_BASE_TC0		0xfff7c000
+#define AT91SAM9263_BASE_TC1		0xfff7c040
+#define AT91SAM9263_BASE_TC2		0xfff7c080
+#define AT91SAM9263_BASE_MCI0		0xfff80000
+#define AT91SAM9263_BASE_MCI1		0xfff84000
+#define AT91SAM9263_BASE_TWI		0xfff88000
+#define AT91SAM9263_BASE_US0		0xfff8c000
+#define AT91SAM9263_BASE_US1		0xfff90000
+#define AT91SAM9263_BASE_US2		0xfff94000
+#define AT91SAM9263_BASE_SSC0		0xfff98000
+#define AT91SAM9263_BASE_SSC1		0xfff9c000
+#define AT91SAM9263_BASE_AC97C		0xfffa0000
+#define AT91SAM9263_BASE_SPI0		0xfffa4000
+#define AT91SAM9263_BASE_SPI1		0xfffa8000
+#define AT91SAM9263_BASE_CAN		0xfffac000
+#define AT91SAM9263_BASE_PWMC		0xfffb8000
+#define AT91SAM9263_BASE_EMAC		0xfffbc000
+#define AT91SAM9263_BASE_ISI		0xfffc4000
+#define AT91SAM9263_BASE_2DGE		0xfffc8000
+#define AT91_BASE_SYS			0xffffe000
+
+/*
+ * System Peripherals (offset from AT91_BASE_SYS)
+ */
+#define AT91_ECC0	(0xffffe000 - AT91_BASE_SYS)
+#define AT91_SDRAMC0	(0xffffe200 - AT91_BASE_SYS)
+#define AT91_SMC0	(0xffffe400 - AT91_BASE_SYS)
+#define AT91_ECC1	(0xffffe600 - AT91_BASE_SYS)
+#define AT91_SDRAMC1	(0xffffe800 - AT91_BASE_SYS)
+#define AT91_SMC1	(0xffffea00 - AT91_BASE_SYS)
+#define AT91_MATRIX	(0xffffec00 - AT91_BASE_SYS)
+#define AT91_CCFG	(0xffffed10 - AT91_BASE_SYS)
+#define AT91_DBGU	(0xffffee00 - AT91_BASE_SYS)
+#define AT91_AIC	(0xfffff000 - AT91_BASE_SYS)
+#define AT91_PIOA	(0xfffff200 - AT91_BASE_SYS)
+#define AT91_PIOB	(0xfffff400 - AT91_BASE_SYS)
+#define AT91_PIOC	(0xfffff600 - AT91_BASE_SYS)
+#define AT91_PIOD	(0xfffff800 - AT91_BASE_SYS)
+#define AT91_PIOE	(0xfffffa00 - AT91_BASE_SYS)
+#define AT91_PMC	(0xfffffc00 - AT91_BASE_SYS)
+#define AT91_RSTC	(0xfffffd00 - AT91_BASE_SYS)
+#define AT91_SHDWC	(0xfffffd10 - AT91_BASE_SYS)
+#define AT91_RTT0	(0xfffffd20 - AT91_BASE_SYS)
+#define AT91_PIT	(0xfffffd30 - AT91_BASE_SYS)
+#define AT91_WDT	(0xfffffd40 - AT91_BASE_SYS)
+#define AT91_RTT1	(0xfffffd50 - AT91_BASE_SYS)
+#define AT91_GPBR	(0xfffffd60 - AT91_BASE_SYS)
+
+#define AT91_USART0	AT91SAM9263_BASE_US0
+#define AT91_USART1	AT91SAM9263_BASE_US1
+#define AT91_USART2	AT91SAM9263_BASE_US2
+
+#define AT91_SMC	AT91_SMC0
+
+/*
+ * Internal Memory.
+ */
+#define AT91SAM9263_SRAM0_BASE	0x00300000	/* Internal SRAM 0 base address */
+#define AT91SAM9263_SRAM0_SIZE	(80 * SZ_1K)	/* Internal SRAM 0 size (80Kb) */
+
+#define AT91SAM9263_ROM_BASE	0x00400000	/* Internal ROM base address */
+#define AT91SAM9263_ROM_SIZE	SZ_128K		/* Internal ROM size (128Kb) */
+
+#define AT91SAM9263_SRAM1_BASE	0x00500000	/* Internal SRAM 1 base address */
+#define AT91SAM9263_SRAM1_SIZE	SZ_16K		/* Internal SRAM 1 size (16Kb) */
+
+#define AT91SAM9263_LCDC_BASE	0x00700000	/* LCD Controller */
+#define AT91SAM9263_DMAC_BASE	0x00800000	/* DMA Controller */
+#define AT91SAM9263_UHP_BASE	0x00a00000	/* USB Host controller */
+
+
+#endif
Signature · 1 line
1.5.3.3
#26 lore raw

PATCH v2 16/26 AT91SAM9263EK support [part 2 of 2]

In reply to Stelian Pop

This patch adds support for the AT91SAM9263 chip and the AT91SAM9263EK board.

This patch has been splitted in two for mailing list pose limit reasons.

---
 MAINTAINERS                                        |    1 +
 MAKEALL                                            |    1 +
 Makefile                                           |    3 +
 board/atmel/at91sam9263ek/Makefile                 |   57 +++++
 board/atmel/at91sam9263ek/at91sam9263ek.c          |  240 ++++++++++++++++++++
 board/atmel/at91sam9263ek/config.mk                |    1 +
 board/atmel/at91sam9263ek/led.c                    |   78 +++++++
 board/atmel/at91sam9263ek/nand.c                   |   79 +++++++
 board/atmel/at91sam9263ek/partition.c              |   39 ++++
 drivers/net/macb.c                                 |    6 +-
 include/asm-arm/arch-at91sam9/at91sam9263_matrix.h |  129 +++++++++++
 include/asm-arm/arch-at91sam9/hardware.h           |    4 +
 include/configs/at91sam9263ek.h                    |  195 ++++++++++++++++
 net/eth.c                                          |    3 +-
 14 files changed, 833 insertions(+), 3 deletions(-)
 create mode 100644 board/atmel/at91sam9263ek/Makefile
 create mode 100644 board/atmel/at91sam9263ek/at91sam9263ek.c
 create mode 100644 board/atmel/at91sam9263ek/config.mk
 create mode 100644 board/atmel/at91sam9263ek/led.c
 create mode 100644 board/atmel/at91sam9263ek/nand.c
 create mode 100644 board/atmel/at91sam9263ek/partition.c
 create mode 100644 include/asm-arm/arch-at91sam9/at91sam9263_matrix.h
 create mode 100644 include/configs/at91sam9263ek.h
MAINTAINERS +1 -0
index 26f31fd..84bf19f 100644
@@ -539,6 +539,7 @@ Stelian Pop <[email protected]>
 	at91cap9adk		ARM926EJS (AT91CAP9 SoC)
 	at91sam9260ek		ARM926EJS (AT91SAM9260 SoC)
 	at91sam9261ek		ARM926EJS (AT91SAM9261 SoC)
+	at91sam9263ek		ARM926EJS (AT91SAM9263 SoC)
 
 Stefan Roese <[email protected]>
 
MAKEALL +1 -0
index 251da90..29aa7fc 100755
@@ -459,6 +459,7 @@ LIST_ARM9="			\
 	at91rm9200dk		\
 	at91sam9260ek		\
 	at91sam9261ek		\
+	at91sam9263ek		\
 	cmc_pu2			\
 	ap920t			\
 	ap922_XA10		\
Makefile +3 -0
index 5e06ff5..65ef6c2 100644
@@ -2329,6 +2329,9 @@ at91rm9200dk_config	:	unconfig
 at91sam9261ek_config	:	unconfig
 	@$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9261ek atmel at91sam9
 
+at91sam9263ek_config	:	unconfig
+	@$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9263ek atmel at91sam9
+
 cmc_pu2_config	:	unconfig
 	@$(MKCONFIG) $(@:_config=) arm arm920t cmc_pu2 NULL at91rm9200
 
board/atmel/at91sam9263ek/Makefile new file +57 -0

57 lines not on this page · raw message

board/atmel/at91sam9263ek/at91sam9263ek.c new file +240 -0

240 lines not on this page · raw message

board/atmel/at91sam9263ek/config.mk new file +1 -0
new file mode 100644
index 0000000..ff2cfd1
@@ -0,0 +1 @@
+TEXT_BASE = 0x23f00000
board/atmel/at91sam9263ek/led.c new file +78 -0

78 lines not on this page · raw message

board/atmel/at91sam9263ek/nand.c new file +79 -0

79 lines not on this page · raw message

board/atmel/at91sam9263ek/partition.c new file +39 -0
new file mode 100644
index 0000000..eb1a724
@@ -0,0 +1,39 @@
+/*
+ * (C) Copyright 2008
+ * Ulf Samuelsson <[email protected]>
+ *
+ * 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 <config.h>
+#include <asm/hardware.h>
+#include <dataflash.h>
+
+AT91S_DATAFLASH_INFO dataflash_info[CFG_MAX_DATAFLASH_BANKS];
+
+struct dataflash_addr cs[CFG_MAX_DATAFLASH_BANKS] = {
+	{CFG_DATAFLASH_LOGIC_ADDR_CS0, 0},	/* Logical adress, CS */
+};
+
+/*define the area offsets*/
+dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
+	{0x00000000, 0x000041FF, FLAG_PROTECT_SET,   0, "Bootstrap"},
+	{0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"},
+	{0x00008400, 0x00041FFF, FLAG_PROTECT_SET,   0, "U-Boot"},
+	{0x00042000, 0x00251FFF, FLAG_PROTECT_CLEAR, 0,	"Kernel"},
+	{0x00252000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR, 0,	"FS"},
+};
drivers/net/macb.c +4 -2
index 703784e..e5733f6 100644
@@ -417,13 +417,15 @@ static int macb_init(struct eth_device *netdev, bd_t *bd)
 
 	/* choose RMII or MII mode. This depends on the board */
 #ifdef CONFIG_RMII
-#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260)
+#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \
+    defined(CONFIG_AT91SAM9263)
 	macb_writel(macb, USRIO, MACB_BIT(RMII) | MACB_BIT(CLKEN));
 #else
 	macb_writel(macb, USRIO, 0);
 #endif
 #else
-#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260)
+#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \
+    defined(CONFIG_AT91SAM9263)
 	macb_writel(macb, USRIO, MACB_BIT(CLKEN));
 #else
 	macb_writel(macb, USRIO, MACB_BIT(MII));
include/asm-arm/arch-at91sam9/at91sam9263_matrix.h new file +129 -0

129 lines not on this page · raw message

include/asm-arm/arch-at91sam9/hardware.h +4 -0
index 06bab62..13c85af 100644
@@ -31,6 +31,10 @@
 #define AT91_PMC_UHP	AT91SAM926x_PMC_UHP
 #elif defined(CONFIG_AT91SAM9263)
 #include <asm/arch/at91sam9263.h>
+#define AT91_BASE_EMAC	AT91SAM9263_BASE_EMAC
+#define AT91_BASE_SPI	AT91SAM9263_BASE_SPI0
+#define AT91_ID_UHP	AT91SAM9263_ID_UHP
+#define AT91_PMC_UHP	AT91SAM926x_PMC_UHP
 #elif defined(CONFIG_AT91SAM9RL)
 #include <asm/arch/at91sam9rl.h>
 #elif defined(CONFIG_AT91CAP9)
include/configs/at91sam9263ek.h new file +195 -0

195 lines not on this page · raw message

net/eth.c +2 -1
index c4f24c6..21d1496 100644
@@ -288,7 +288,8 @@ int eth_initialize(bd_t *bis)
 #if defined(CONFIG_FSLDMAFEC)
 	mcdmafec_initialize(bis);
 #endif
-#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260)
+#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \
+    defined(CONFIG_AT91SAM9263)
 	at91sam9_eth_initialize(bis);
 #endif
 
Signature · 1 line
1.5.3.3
#27 lore raw

PATCH v2 16/26 AT91SAM9263EK support [part 2 of 2]

drivers/net/macb.c static int macb_init(struct eth_device *netdev, bd_t *bd) · line 421

Quoted 11 lines
drivers/net/macb.c +2 -1
index 703784e..e5733f6 100644
@@ -417,13 +417,15 @@ static int macb_init(struct eth_device *netdev, bd_t *bd)
 
 	/* choose RMII or MII mode. This depends on the board */
 #ifdef CONFIG_RMII
-#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260)
+#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \
+    defined(CONFIG_AT91SAM9263)

Could we found a better CONFIG than add all board?

Quoted 49 lines
drivers/net/macb.c +2 -1
 	macb_writel(macb, USRIO, MACB_BIT(RMII) | MACB_BIT(CLKEN));
 #else
 	macb_writel(macb, USRIO, 0);
 #endif
 #else
-#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260)
+#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \
+    defined(CONFIG_AT91SAM9263)
 
 	macb_writel(macb, USRIO, MACB_BIT(CLKEN));
 #else
drivers/net/macb.c +0 -0
 	macb_writel(macb, USRIO, MACB_BIT(MII));
include/asm-arm/arch-at91sam9/at91sam9263_matrix.h +36 -0
+ *
+ * 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
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+/* ARM asynchronous clock */
+#define AT91_MAIN_CLOCK		199919000	/* from 16.367 MHz crystal */
+#define AT91_MASTER_CLOCK	99959500	/* peripheral = main / 2 */
+#define CFG_HZ			1000000		/* 1us resolution */
+
+#define AT91_SLOW_CLOCK		32768	/* slow clock */
+
+#define CONFIG_ARM926EJS	1	/* This is an ARM926EJS Core	*/
+#define CONFIG_AT91SAM9263	1	/* It's an Atmel AT91SAM9263 SoC*/
+#define CONFIG_AT91SAM9263EK	1	/* on an AT91SAM9263EK Board	*/
+#undef CONFIG_USE_IRQ			/* we don't need IRQ/FIQ stuff	*/
+
+#define CONFIG_CMDLINE_TAG	1	/* enable passing of ATAGs	*/
+#define CONFIG_SETUP_MEMORY_TAGS 1
+#define CONFIG_INITRD_TAG	1
+
+#define CONFIG_SKIP_LOWLEVEL_INIT
+#define CONFIG_SKIP_RELOCATE_UBOOT
+
+/*
+ * Hardware drivers

include/asm-arm/arch-at91sam9/at91sam9263_matrix.h

Quoted 10 lines
include/asm-arm/arch-at91sam9/at91sam9263_matrix.h +10 -0
+ */
+#define CONFIG_ATMEL_USART	1
+#undef CONFIG_USART0
+#undef CONFIG_USART1
+#undef CONFIG_USART2
+#define CONFIG_USART3		1	/* USART 3 is DBGU */
+
+#define CONFIG_BOOTDELAY	3
+
+/* #define CONFIG_ENV_OVERWRITE	1 */

Same as before if no need please remove

Best Regards,
J.

#28 lore raw

PATCH v2 17/26 AT91SAM9RLEK support

In reply to Stelian Pop

This patch adds support for the AT91SAM9RL chip and the AT91SAM9RLEK board.

---
 MAINTAINERS                                       |    1 +
 MAKEALL                                           |    1 +
 Makefile                                          |    3 +
 board/atmel/at91sam9rlek/Makefile                 |   57 +++++++
 board/atmel/at91sam9rlek/at91sam9rlek.c           |  152 +++++++++++++++++++
 board/atmel/at91sam9rlek/config.mk                |    1 +
 board/atmel/at91sam9rlek/led.c                    |   77 ++++++++++
 board/atmel/at91sam9rlek/nand.c                   |   79 ++++++++++
 board/atmel/at91sam9rlek/partition.c              |   39 +++++
 include/asm-arm/arch-at91sam9/at91sam9rl.h        |  115 ++++++++++++++
 include/asm-arm/arch-at91sam9/at91sam9rl_matrix.h |   96 ++++++++++++
 include/asm-arm/arch-at91sam9/hardware.h          |    2 +
 include/configs/at91sam9rlek.h                    |  164 +++++++++++++++++++++
 13 files changed, 787 insertions(+), 0 deletions(-)
 create mode 100644 board/atmel/at91sam9rlek/Makefile
 create mode 100644 board/atmel/at91sam9rlek/at91sam9rlek.c
 create mode 100644 board/atmel/at91sam9rlek/config.mk
 create mode 100644 board/atmel/at91sam9rlek/led.c
 create mode 100644 board/atmel/at91sam9rlek/nand.c
 create mode 100644 board/atmel/at91sam9rlek/partition.c
 create mode 100644 include/asm-arm/arch-at91sam9/at91sam9rl.h
 create mode 100644 include/asm-arm/arch-at91sam9/at91sam9rl_matrix.h
 create mode 100644 include/configs/at91sam9rlek.h
MAINTAINERS +1 -0
index 84bf19f..2047af0 100644
@@ -540,6 +540,7 @@ Stelian Pop <[email protected]>
 	at91sam9260ek		ARM926EJS (AT91SAM9260 SoC)
 	at91sam9261ek		ARM926EJS (AT91SAM9261 SoC)
 	at91sam9263ek		ARM926EJS (AT91SAM9263 SoC)
+	at91sam9rlek		ARM926EJS (AT91SAM9RL SoC)
 
 Stefan Roese <[email protected]>
 
MAKEALL +1 -0
index 29aa7fc..62ff019 100755
@@ -460,6 +460,7 @@ LIST_ARM9="			\
 	at91sam9260ek		\
 	at91sam9261ek		\
 	at91sam9263ek		\
+	at91sam9rlek		\
 	cmc_pu2			\
 	ap920t			\
 	ap922_XA10		\
Makefile +3 -0
index 65ef6c2..50f61c1 100644
@@ -2332,6 +2332,9 @@ at91sam9261ek_config	:	unconfig
 at91sam9263ek_config	:	unconfig
 	@$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9263ek atmel at91sam9
 
+at91sam9rlek_config	:	unconfig
+	@$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9rlek atmel at91sam9
+
 cmc_pu2_config	:	unconfig
 	@$(MKCONFIG) $(@:_config=) arm arm920t cmc_pu2 NULL at91rm9200
 
board/atmel/at91sam9rlek/Makefile new file +57 -0

57 lines not on this page · raw message

board/atmel/at91sam9rlek/at91sam9rlek.c new file +152 -0

152 lines not on this page · raw message

board/atmel/at91sam9rlek/config.mk new file +1 -0
new file mode 100644
index 0000000..ff2cfd1
@@ -0,0 +1 @@
+TEXT_BASE = 0x23f00000
board/atmel/at91sam9rlek/led.c new file +77 -0

77 lines not on this page · raw message

board/atmel/at91sam9rlek/nand.c new file +79 -0

79 lines not on this page · raw message

board/atmel/at91sam9rlek/partition.c new file +39 -0
new file mode 100644
index 0000000..eb1a724
@@ -0,0 +1,39 @@
+/*
+ * (C) Copyright 2008
+ * Ulf Samuelsson <[email protected]>
+ *
+ * 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 <config.h>
+#include <asm/hardware.h>
+#include <dataflash.h>
+
+AT91S_DATAFLASH_INFO dataflash_info[CFG_MAX_DATAFLASH_BANKS];
+
+struct dataflash_addr cs[CFG_MAX_DATAFLASH_BANKS] = {
+	{CFG_DATAFLASH_LOGIC_ADDR_CS0, 0},	/* Logical adress, CS */
+};
+
+/*define the area offsets*/
+dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
+	{0x00000000, 0x000041FF, FLAG_PROTECT_SET,   0, "Bootstrap"},
+	{0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"},
+	{0x00008400, 0x00041FFF, FLAG_PROTECT_SET,   0, "U-Boot"},
+	{0x00042000, 0x00251FFF, FLAG_PROTECT_CLEAR, 0,	"Kernel"},
+	{0x00252000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR, 0,	"FS"},
+};
include/asm-arm/arch-at91sam9/at91sam9rl.h new file +115 -0

115 lines not on this page · raw message

include/asm-arm/arch-at91sam9/at91sam9rl_matrix.h new file +96 -0

96 lines not on this page · raw message

include/asm-arm/arch-at91sam9/hardware.h +2 -0
index 13c85af..e7c572d 100644
@@ -37,6 +37,8 @@
 #define AT91_PMC_UHP	AT91SAM926x_PMC_UHP
 #elif defined(CONFIG_AT91SAM9RL)
 #include <asm/arch/at91sam9rl.h>
+#define AT91_BASE_SPI	AT91SAM9RL_BASE_SPI
+#define AT91_ID_UHP	AT91SAM9RL_ID_UHP
 #elif defined(CONFIG_AT91CAP9)
 #include <asm/arch/at91cap9.h>
 #define AT91_BASE_EMAC	AT91CAP9_BASE_EMAC
include/configs/at91sam9rlek.h new file +164 -0

164 lines not on this page · raw message

Signature · 1 line
1.5.3.3
#29 lore raw

PATCH v2 17/26 AT91SAM9RLEK support

include/configs/at91sam9rlek.h line 60

Quoted 10 lines

+ */

include/configs/at91sam9rlek.h new file +9 -0
+#define CONFIG_ATMEL_USART	1
+#undef CONFIG_USART0
+#undef CONFIG_USART1
+#undef CONFIG_USART2
+#define CONFIG_USART3		1	/* USART 3 is DBGU */
+
+#define CONFIG_BOOTDELAY	3
+
+/* #define CONFIG_ENV_OVERWRITE	1 */

If no need please remove

include/configs/at91sam9rlek.h line 73

Quoted 13 lines
include/configs/at91sam9rlek.h new file +13 -0
+
+/*
+ * Command line configuration.
+ */
+#include <config_cmd_default.h>
+#undef CONFIG_CMD_BDI
+#undef CONFIG_CMD_IMI
+#undef CONFIG_CMD_AUTOSCRIPT
+#undef CONFIG_CMD_FPGA
+#undef CONFIG_CMD_LOADS
+#undef CONFIG_CMD_IMLS
+#undef CONFIG_CMD_NET
+#undef CONFIG_CMD_USB

Best regards,
J.

#30 lore raw

PATCH v2 18/26 Make nand_init() return the detected NAND size

In reply to Stelian Pop

This patch modifies the nand_init() routine and makes it return the total detected NAND size, since this information can be useful to the caller.

---
 drivers/mtd/nand/nand.c |    3 ++-
 include/nand.h          |    2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
drivers/mtd/nand/nand.c +2 -1
index 27b5792..c5746fe 100644
@@ -60,7 +60,7 @@ static void nand_init_chip(struct mtd_info *mtd, struct nand_chip *nand,
 
 }
 
-void nand_init(void)
+ulong nand_init(void)
 {
 	int i;
 	unsigned int size = 0;
@@ -78,6 +78,7 @@ void nand_init(void)
 	 */
 	board_nand_select_device(nand_info[nand_curr_device].priv, nand_curr_device);
 #endif
+	return size;
 }
 
 #endif
include/nand.h +1 -1
index 247d346..8f388c4 100644
@@ -32,7 +32,7 @@ typedef struct mtd_info nand_info_t;
 
 extern int nand_curr_device;
 extern nand_info_t nand_info[];
-extern void nand_init(void);
+extern ulong nand_init(void);
 
 static inline int nand_read(nand_info_t *info, off_t ofs, size_t *len, u_char *buf)
 {
Signature · 1 line
1.5.3.3
#31 lore raw

PATCH 18/26 Make nand_init() return the detected NAND size

Quoted 3 lines · Stelian Pop

This patch modifies the nand_init() routine and makes it return the total detected NAND size, since this information can be useful to the caller.

Applied to u-boot-nand-flash.

-Scott

#32 lore raw

PATCH v2 18/26 Make nand_init() return the detected NAND size

Quoted 6 lines · Scott Wood
Quoted 3 lines · Stelian Pop

This patch modifies the nand_init() routine and makes it return the total detected NAND size, since this information can be useful to the caller.

Applied to u-boot-nand-flash.

If possible please do not apply any think of this patch set.

If each custodian can ack his part I'll send a pull request on the at91 which have the patch set apply actually

Best Regards,
J.

#33 lore raw

PATCH 18/26 Make nand_init() return the detected NAND size

Quoted 10 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 5 lines · Scott Wood
Quoted 3 lines · Stelian Pop

This patch modifies the nand_init() routine and makes it return the total detected NAND size, since this information can be useful to the caller.

Applied to u-boot-nand-flash.

If possible please do not apply any think of this patch set.

If each custodian can ack his part I'll send a pull request on the at91 which have the patch set apply actually

OK, reverted and Acked-by: Scott Wood <[email protected]>

-Scott

#34 lore raw

PATCH v2 19/26 Remember the detected NAND size for later display

In reply to Stelian Pop

This patch adds a field in 'struct bd_info' for saving the detected NAND size (result of nand_init() routine). This field can be used later (for example in the lcd driver) to print out detailed information about the board memories.

---
 include/asm-arm/u-boot.h |    3 +++
 lib_arm/board.c          |    6 +++---
 2 files changed, 6 insertions(+), 3 deletions(-)
include/asm-arm/u-boot.h +3 -0
index c120312..1a74b7a 100644
@@ -52,6 +52,9 @@ typedef struct bd_info {
     /* second onboard ethernet port */
     unsigned char   bi_enet1addr[6];
 #endif
+#ifdef CONFIG_CMD_NAND
+    ulong		bi_nand_size;
+#endif
 } bd_t;
 
 #define bi_env_data bi_env->data
lib_arm/board.c +3 -3
index 67506b3..5ee5bd4 100644
@@ -56,7 +56,7 @@
 DECLARE_GLOBAL_DATA_PTR;
 
 #if defined(CONFIG_CMD_NAND)
-void nand_init (void);
+ulong nand_init (void);
 #endif
 
 #if defined(CONFIG_CMD_ONENAND)
@@ -279,7 +279,7 @@ void start_armboot (void)
 {
 	init_fnc_t **init_fnc_ptr;
 	char *s;
-#ifndef CFG_NO_FLASH
+#if !defined(CFG_NO_FLASH) || defined (CONFIG_VFD) || defined(CONFIG_LCD)
 	ulong size;
 #endif
 #if defined(CONFIG_VFD) || defined(CONFIG_LCD)
@@ -340,7 +340,7 @@ void start_armboot (void)
 
 #if defined(CONFIG_CMD_NAND)
 	puts ("NAND:  ");
-	nand_init();		/* go init the NAND */
+	gd->bd->bi_nand_size = nand_init();	/* go init the NAND */
 #endif
 
 #if defined(CONFIG_CMD_ONENAND)
Signature · 1 line
1.5.3.3
#35 lore raw

PATCH 19/26 Remember the detected NAND size for later display

Quoted 4 lines · Stelian Pop

This patch adds a field in 'struct bd_info' for saving the detected NAND size (result of nand_init() routine). This field can be used later (for example in the lcd driver) to print out detailed information about the board memories.

Why would an LCD driver care about NAND? If we want to make the NAND size printable after boot, how about doing so in the nand info command?

include/asm-arm/u-boot.h typedef struct bd_info { · line 58

Quoted 8 lines
include/asm-arm/u-boot.h +3 -0
@@ -52,6 +52,9 @@ typedef struct bd_info {
     /* second onboard ethernet port */
     unsigned char   bi_enet1addr[6];
 #endif
+#ifdef CONFIG_CMD_NAND
+    ulong		bi_nand_size;
+#endif
 } bd_t;

#ifdefs in bd_t are a nightmare to synchronize between u-boot and the client; please don't add more.

Is the total size of NAND, rather than the size of any given NAND device, really useful for the u-boot client?

lib_arm/board.c line 60

Quoted 9 lines
lib_arm/board.c +1 -1
@@ -56,7 +56,7 @@
 DECLARE_GLOBAL_DATA_PTR;
 
 #if defined(CONFIG_CMD_NAND)
-void nand_init (void);
+ulong nand_init (void);
 #endif

Include nand.h rather than redeclaring this.

lib_arm/board.c void start_armboot (void) · line 284

Quoted 8 lines
lib_arm/board.c +1 -1
@@ -279,7 +279,7 @@ void start_armboot (void)
 {
 	init_fnc_t **init_fnc_ptr;
 	char *s;
-#ifndef CFG_NO_FLASH
+#if !defined(CFG_NO_FLASH) || defined (CONFIG_VFD) || defined(CONFIG_LCD)
 	ulong size;
 #endif

This patch doesn't seem to introduce new uses of "size" for CONFIG_VFD or CONFIG_LCD... perhaps this was meant to be in another patch?

-Scott

#36 lore raw

PATCH v2 19/26 Remember the detected NAND size for later display

Le vendredi 09 mai 2008 ? 10:00 -0500, Scott Wood a ?crit :

Quoted 8 lines · Stelian Pop
Quoted 4 lines

This patch adds a field in 'struct bd_info' for saving the detected NAND size (result of nand_init() routine). This field can be used later (for example in the lcd driver) to print out detailed information about the board memories.

Why would an LCD driver care about NAND? If we want to make the NAND size printable after boot, how about doing so in the nand info command?

Nevermind, I've reworked those patches.

Thanks,

Signature · 1 line
Stelian Pop <[email protected]>
#37 lore raw

PATCH v2 20/26 Add ATMEL LCD driver

In reply to Stelian Pop

This patch adds support for the ATMEL LCDC driver which is used on some AT91 and AVR platforms.

Is has been tested with the AT91CAP9ADK, AT91SAM9261EK, AT91SAM9263EK and AT91SAM9RLEK boards. Adaptation for AVR32 should probably be easy.

---
 README                              |    4 +
 common/lcd.c                        |   74 ++++++++++++++-
 drivers/video/Makefile              |    1 +
 drivers/video/atmel_lcdfb.c         |  160 +++++++++++++++++++++++++++++++
 include/asm-arm/arch-at91sam9/clk.h |    6 +
 include/atmel_lcdc.h                |  177 +++++++++++++++++++++++++++++++++++
 include/lcd.h                       |   30 ++++++-
 lib_arm/board.c                     |   37 ++++++--
 8 files changed, 477 insertions(+), 12 deletions(-)
 create mode 100644 drivers/video/atmel_lcdfb.c
 create mode 100644 include/atmel_lcdc.h
README +4 -0
index 5e2bca4..dca495d 100644
@@ -962,6 +962,10 @@ The following options need to be configured:
 		display); also select one of the supported displays
 		by defining one of these:
 
+		CONFIG_ATMEL_LCD:
+
+			HITACHI TX09D70VM1CCA, 3.5", 240x320.
+
 		CONFIG_NEC_NL6448AC33:
 
 			NEC NL6448AC33-18. Active, color, single scan.
common/lcd.c +73 -1

142 lines not on this page · raw message

drivers/video/Makefile +1 -0
index 0e40f2a..a07ee0e 100644
@@ -26,6 +26,7 @@ include $(TOPDIR)/config.mk
 LIB 	:= $(obj)libvideo.a
 
 COBJS-y += ati_radeon_fb.o
+COBJS-$(CONFIG_ATMEL_LCD) += atmel_lcdfb.o
 COBJS-y += cfb_console.o
 COBJS-y += ct69000.o
 COBJS-y += mb862xx.o
drivers/video/atmel_lcdfb.c new file +160 -0

160 lines not on this page · raw message

include/asm-arm/arch-at91sam9/clk.h +6 -0
index f67b435..1b502c8 100644
@@ -36,4 +36,10 @@ static inline unsigned long get_usart_clk_rate(unsigned int dev_id)
 	return AT91_MASTER_CLOCK;
 }
 
+static inline unsigned long get_lcdc_clk_rate(unsigned int dev_id)
+{
+	return AT91_MASTER_CLOCK;
+}
+
+
 #endif /* __ASM_ARM_ARCH_CLK_H__ */
include/atmel_lcdc.h new file +177 -0

177 lines not on this page · raw message

include/lcd.h +29 -1
index 8a4273c..44ac8ef 100644
@@ -155,7 +155,35 @@ typedef struct vidinfo {
 
 	u_char	vl_bpix;	/* Bits per pixel, 0 = 1 */
 } vidinfo_t;
-#endif /* CONFIG_MPC823, CONFIG_PXA250 or CONFIG_MCC200 */
+
+#elif defined(CONFIG_ATMEL_LCD)
+
+typedef struct vidinfo {
+	u_long vl_col;		/* Number of columns (i.e. 640) */
+	u_long vl_row;		/* Number of rows (i.e. 480) */
+	u_long vl_clk;	/* pixel clock in ps    */
+
+	/* LCD configuration register */
+	u_long vl_sync;		/* Horizontal / vertical sync */
+	u_long vl_bpix;		/* Bits per pixel, 0 = 1, 1 = 2, 2 = 4, 3 = 8, 4 = 16 */
+	u_long vl_tft;		/* 0 = passive, 1 = TFT */
+
+	/* Horizontal control register. */
+	u_long vl_hsync_len;	/* Length of horizontal sync */
+	u_long vl_left_margin;	/* Time from sync to picture */
+	u_long vl_right_margin;	/* Time from picture to sync */
+
+	/* Vertical control register. */
+	u_long vl_vsync_len;	/* Length of vertical sync */
+	u_long vl_upper_margin;	/* Time from sync to picture */
+	u_long vl_lower_margin;	/* Time from picture to sync */
+
+	u_long	mmio;		/* Memory mapped registers */
+} vidinfo_t;
+
+extern vidinfo_t panel_info;
+
+#endif /* CONFIG_MPC823, CONFIG_PXA250 or CONFIG_MCC200 or CONFIG_ATMEL_LCD */
 
 /* Video functions */
 
lib_arm/board.c +27 -10
index 5ee5bd4..0c0b589 100644
@@ -121,6 +121,20 @@ void *sbrk (ptrdiff_t increment)
 	return ((void *) old);
 }
 
+char *strmhz (char *buf, long hz)
+{
+	long l, n;
+	long m;
+
+	n = hz / 1000000L;
+	l = sprintf (buf, "%ld", n);
+	m = (hz % 1000000L) / 1000L;
+	if (m != 0)
+		sprintf (buf + l, ".%03ld", m);
+	return (buf);
+}
+
+
 /************************************************************************
  * Coloured LED functionality
  ************************************************************************
@@ -323,16 +337,19 @@ void start_armboot (void)
 #endif /* CONFIG_VFD */
 
 #ifdef CONFIG_LCD
-#	ifndef PAGE_SIZE
-#	  define PAGE_SIZE 4096
-#	endif
-	/*
-	 * reserve memory for LCD display (always full pages)
-	 */
-	/* bss_end is defined in the board-specific linker script */
-	addr = (_bss_end + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
-	size = lcd_setmem (addr);
-	gd->fb_base = addr;
+	/* board init may have inited fb_base */
+	if (!gd->fb_base) {
+#		ifndef PAGE_SIZE
+#		  define PAGE_SIZE 4096
+#		endif
+		/*
+		 * reserve memory for LCD display (always full pages)
+		 */
+		/* bss_end is defined in the board-specific linker script */
+		addr = (_bss_end + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
+		size = lcd_setmem (addr);
+		gd->fb_base = addr;
+	}
 #endif /* CONFIG_LCD */
 
 	/* armboot_start is defined in the board-specific linker script */
Signature · 1 line
1.5.3.3
#38 lore raw

PATCH v2 20/26 Add ATMEL LCD driver

Quoted 5 lines
drivers/video/atmel_lcdfb.c new file +5 -0
+
+/* configurable parameters */
+#define ATMEL_LCDC_CVAL_DEFAULT		0xc8
+#define ATMEL_LCDC_DMA_BURST_LEN	8
+

drivers/video/atmel_lcdfb.c line 56

Quoted 10 lines
drivers/video/atmel_lcdfb.c new file +10 -0
+#if defined(CONFIG_AT91SAM9263) || defined(CONFIG_AT91CAP9)
+#define ATMEL_LCDC_FIFO_SIZE		2048
+#else
+#define ATMEL_LCDC_FIFO_SIZE		512
+#endif
+
+#define lcdc_readl(mmio, reg)		__raw_readl((mmio)+(reg))
+#define lcdc_writel(mmio, reg, val)	__raw_writel((val), (mmio)+(reg))
+
+void lcd_setcolreg (ushort regno, ushort red, ushort green, ushort blue)
                     ^

Please choose one coding style please

Quoted 14 lines
drivers/video/atmel_lcdfb.c new file +14 -0
+{
+#if defined(CONFIG_ATMEL_LCD_BGR555)
+	lcdc_writel(panel_info.mmio, ATMEL_LCDC_LUT(regno),
+		    (red >> 3) | ((green & 0xf8) << 2) | ((blue & 0xf8) << 7));
+#else
+	lcdc_writel(panel_info.mmio, ATMEL_LCDC_LUT(regno),
+		    (blue >> 3) | ((green & 0xfc) << 3) | ((red & 0xf8) << 8));
+#endif
+}
+
+void lcd_ctrl_init(void *lcdbase)
+{
+	unsigned long value;
+

drivers/video/atmel_lcdfb.c

Quoted 10 lines
drivers/video/atmel_lcdfb.c new file +10 -0
+
+	/* Set framebuffer DMA base address and pixel offset */
+	lcdc_writel(panel_info.mmio, ATMEL_LCDC_DMABADDR1, (u_long)lcdbase);
+
+	lcdc_writel(panel_info.mmio, ATMEL_LCDC_DMACON, ATMEL_LCDC_DMAEN);
+	lcdc_writel(panel_info.mmio, ATMEL_LCDC_PWRCON,
+		    (1 << ATMEL_LCDC_GUARDT_OFFSET) | ATMEL_LCDC_PWR);
+}
+
+ulong calc_fbsize (void)
                    ^

Please choose one coding style please

drivers/video/atmel_lcdfb.c line 160

Quoted 4 lines
drivers/video/atmel_lcdfb.c new file +4 -0
+{
+	return ((panel_info.vl_col * panel_info.vl_row *
+		NBITS(panel_info.vl_bpix)) / 8) + PAGE_SIZE;
+}

Best Regards,
J.

#39 lore raw

PATCH v2 20/26 Add ATMEL LCD driver

Le vendredi 09 mai 2008 ? 12:57 +0200, Jean-Christophe PLAGNIOL-VILLARD a ?crit :

Quoted 3 lines
Quoted 1 line

+void lcd_setcolreg (ushort regno, ushort red, ushort green, ushort blue)

                     ^

Please choose one coding style please

Sure. Here is an updated patch. It replaces patches 18, 19 and 20.

Thanks,

Stelian.

-----------------8<------------------8<-----------------8<-------------

#40 lore raw

PATCH 20/26 Add ATMEL LCD driver

common/lcd.c line 55

Quoted 5 lines · Stelian Pop
common/lcd.c +5 -0
+#if defined(CONFIG_ATMEL_LCD)
+#include <atmel_lcdc.h>
+#include <nand.h>
+extern nand_info_t nand_info[];
+#endif

nand_info is declared in nand.h. No need to redeclare it.

-Scott

#41 lore raw

PATCH v2 20/26 Add ATMEL LCD driver

Le lundi 12 mai 2008 ? 11:30 -0500, Scott Wood a ?crit :

Quoted 8 lines · Stelian Pop

common/lcd.c line 55

Quoted 5 lines
common/lcd.c +5 -0
+#if defined(CONFIG_ATMEL_LCD)
+#include <atmel_lcdc.h>
+#include <nand.h>
+extern nand_info_t nand_info[];
+#endif

nand_info is declared in nand.h. No need to redeclare it.

Indeed. This is because I copy/pasted the same declaration from cmd_nand.c. I'll submit a patch cleaning up all the uses of nand_info[].

Thanks,

Signature · 1 line
Stelian Pop <[email protected]>
#42 lore raw

PATCH v2 21/26 AT91CAP9ADK: hook up the ATMEL LCD driver

In reply to Stelian Pop

This patch makes the necessary adaptations (PIO configurations and defines in config header file) to hook up the Atmel LCD driver to the AT91CAP9ADK board.

---
 board/atmel/at91cap9adk/at91cap9adk.c |   64 +++++++++++++++++++++++++++++++++
 include/configs/at91cap9adk.h         |   13 +++++++
 2 files changed, 77 insertions(+), 0 deletions(-)
board/atmel/at91cap9adk/at91cap9adk.c +64 -0
index 67e16bb..e353cea 100644
@@ -30,6 +30,8 @@
 #include <asm/arch/at91_rstc.h>
 #include <asm/arch/gpio.h>
 #include <asm/arch/io.h>
+#include <lcd.h>
+#include <atmel_lcdc.h>
 #if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_MACB)
 #include <net.h>
 #endif
@@ -233,6 +235,65 @@ static void at91cap9_uhp_hw_init(void)
 }
 #endif
 
+#ifdef CONFIG_LCD
+vidinfo_t panel_info = {
+	vl_col:		240,
+	vl_row:		320,
+	vl_clk:		4965000,
+	vl_sync:	ATMEL_LCDC_INVLINE_INVERTED |
+			ATMEL_LCDC_INVFRAME_INVERTED,
+	vl_bpix:	3,
+	vl_tft:		1,
+	vl_hsync_len:	5,
+	vl_left_margin:	1,
+	vl_right_margin:33,
+	vl_vsync_len:	1,
+	vl_upper_margin:1,
+	vl_lower_margin:0,
+	mmio:		AT91CAP9_LCDC_BASE,
+};
+
+void lcd_enable(void)
+{
+	at91_set_gpio_value(AT91_PIN_PC0, 0);  /* power up */
+}
+
+void lcd_disable(void)
+{
+	at91_set_gpio_value(AT91_PIN_PC0, 1);  /* power down */
+}
+
+static void at91cap9_lcd_hw_init(void)
+{
+	at91_set_A_periph(AT91_PIN_PC1, 0);	/* LCDHSYNC */
+	at91_set_A_periph(AT91_PIN_PC2, 0);	/* LCDDOTCK */
+	at91_set_A_periph(AT91_PIN_PC3, 0);	/* LCDDEN */
+	at91_set_B_periph(AT91_PIN_PB9, 0);	/* LCDCC */
+	at91_set_A_periph(AT91_PIN_PC6, 0);	/* LCDD2 */
+	at91_set_A_periph(AT91_PIN_PC7, 0);	/* LCDD3 */
+	at91_set_A_periph(AT91_PIN_PC8, 0);	/* LCDD4 */
+	at91_set_A_periph(AT91_PIN_PC9, 0);	/* LCDD5 */
+	at91_set_A_periph(AT91_PIN_PC10, 0);	/* LCDD6 */
+	at91_set_A_periph(AT91_PIN_PC11, 0);	/* LCDD7 */
+	at91_set_A_periph(AT91_PIN_PC14, 0);	/* LCDD10 */
+	at91_set_A_periph(AT91_PIN_PC15, 0);	/* LCDD11 */
+	at91_set_A_periph(AT91_PIN_PC16, 0);	/* LCDD12 */
+	at91_set_A_periph(AT91_PIN_PC17, 0);	/* LCDD13 */
+	at91_set_A_periph(AT91_PIN_PC18, 0);	/* LCDD14 */
+	at91_set_A_periph(AT91_PIN_PC19, 0);	/* LCDD15 */
+	at91_set_A_periph(AT91_PIN_PC22, 0);	/* LCDD18 */
+	at91_set_A_periph(AT91_PIN_PC23, 0);	/* LCDD19 */
+	at91_set_A_periph(AT91_PIN_PC24, 0);	/* LCDD20 */
+	at91_set_A_periph(AT91_PIN_PC25, 0);	/* LCDD21 */
+	at91_set_A_periph(AT91_PIN_PC26, 0);	/* LCDD22 */
+	at91_set_A_periph(AT91_PIN_PC27, 0);	/* LCDD23 */
+
+	at91_sys_write(AT91_PMC_PCER, 1 << AT91CAP9_ID_LCDC);
+
+	gd->fb_base = 0;
+}
+#endif
+
 int board_init(void)
 {
 	/* Enable Ctrlc */
@@ -257,6 +318,9 @@ int board_init(void)
 #ifdef CONFIG_USB_OHCI_NEW
 	at91cap9_uhp_hw_init();
 #endif
+#ifdef CONFIG_LCD
+	at91cap9_lcd_hw_init();
+#endif
 	return 0;
 }
 
include/configs/at91cap9adk.h +13 -0
index 5e13309..03c0e58 100644
@@ -28,6 +28,7 @@
 #define __CONFIG_H
 
 /* ARM asynchronous clock */
+#define AT91_CPU_NAME		"AT91CAP9"
 #define AT91_MAIN_CLOCK		200000000	/* from 12 MHz crystal */
 #define AT91_MASTER_CLOCK	100000000	/* peripheral = main / 2 */
 #define CFG_HZ			1000000		/* 1us resolution */
@@ -55,6 +56,18 @@
 #undef CONFIG_USART2
 #define CONFIG_USART3		1	/* USART 3 is DBGU */
 
+/* LCD */
+#define CONFIG_LCD			1
+#define LCD_BPP				LCD_COLOR8
+#define CONFIG_LCD_LOGO			1
+#undef LCD_TEST_PATTERN
+#define CONFIG_LCD_INFO			1
+#define CONFIG_LCD_INFO_BELOW_LOGO	1
+#define CFG_WHITE_ON_BLACK		1
+#define CONFIG_ATMEL_LCD		1
+#define CONFIG_ATMEL_LCD_BGR555		1
+#define CFG_CONSOLE_IS_IN_ENV		1
+
 #define CONFIG_BOOTDELAY	3
 
 /* #define CONFIG_ENV_OVERWRITE	1 */
Signature · 1 line
1.5.3.3
#43 lore raw

PATCH v2 22/26 AT91SAM9261EK: hook up the ATMEL LCD driver

In reply to Stelian Pop

This patch makes the necessary adaptations (PIO configurations and defines in config header file) to hook up the Atmel LCD driver to the AT91SAM9261EK board.

---
 board/atmel/at91sam9261ek/at91sam9261ek.c |   64 +++++++++++++++++++++++++++++
 include/configs/at91sam9261ek.h           |   13 ++++++
 2 files changed, 77 insertions(+), 0 deletions(-)
board/atmel/at91sam9261ek/at91sam9261ek.c +64 -0
index 96b4422..3de234c 100644
@@ -30,6 +30,8 @@
 #include <asm/arch/at91_rstc.h>
 #include <asm/arch/gpio.h>
 #include <asm/arch/io.h>
+#include <lcd.h>
+#include <atmel_lcdc.h>
 #if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_DRIVER_DM9000)
 #include <net.h>
 #endif
@@ -150,6 +152,65 @@ static void at91sam9261ek_dm9000_hw_init(void)
 }
 #endif
 
+#ifdef CONFIG_LCD
+vidinfo_t panel_info = {
+	vl_col:		240,
+	vl_row:		320,
+	vl_clk:		4965000,
+	vl_sync:	ATMEL_LCDC_INVLINE_INVERTED |
+			ATMEL_LCDC_INVFRAME_INVERTED,
+	vl_bpix:	3,
+	vl_tft:		1,
+	vl_hsync_len:	5,
+	vl_left_margin:	1,
+	vl_right_margin:33,
+	vl_vsync_len:	1,
+	vl_upper_margin:1,
+	vl_lower_margin:0,
+	mmio:		AT91SAM9261_LCDC_BASE,
+};
+
+void lcd_enable(void)
+{
+	at91_set_gpio_value(AT91_PIN_PA12, 0);  /* power up */
+}
+
+void lcd_disable(void)
+{
+	at91_set_gpio_value(AT91_PIN_PA12, 1);  /* power down */
+}
+
+static void at91sam9261ek_lcd_hw_init(void)
+{
+	at91_set_A_periph(AT91_PIN_PB1, 0);	/* LCDHSYNC */
+	at91_set_A_periph(AT91_PIN_PB2, 0);	/* LCDDOTCK */
+	at91_set_A_periph(AT91_PIN_PB3, 0);	/* LCDDEN */
+	at91_set_A_periph(AT91_PIN_PB4, 0);	/* LCDCC */
+	at91_set_A_periph(AT91_PIN_PB7, 0);	/* LCDD2 */
+	at91_set_A_periph(AT91_PIN_PB8, 0);	/* LCDD3 */
+	at91_set_A_periph(AT91_PIN_PB9, 0);	/* LCDD4 */
+	at91_set_A_periph(AT91_PIN_PB10, 0);	/* LCDD5 */
+	at91_set_A_periph(AT91_PIN_PB11, 0);	/* LCDD6 */
+	at91_set_A_periph(AT91_PIN_PB12, 0);	/* LCDD7 */
+	at91_set_A_periph(AT91_PIN_PB15, 0);	/* LCDD10 */
+	at91_set_A_periph(AT91_PIN_PB16, 0);	/* LCDD11 */
+	at91_set_A_periph(AT91_PIN_PB17, 0);	/* LCDD12 */
+	at91_set_A_periph(AT91_PIN_PB18, 0);	/* LCDD13 */
+	at91_set_A_periph(AT91_PIN_PB19, 0);	/* LCDD14 */
+	at91_set_A_periph(AT91_PIN_PB20, 0);	/* LCDD15 */
+	at91_set_B_periph(AT91_PIN_PB23, 0);	/* LCDD18 */
+	at91_set_B_periph(AT91_PIN_PB24, 0);	/* LCDD19 */
+	at91_set_B_periph(AT91_PIN_PB25, 0);	/* LCDD20 */
+	at91_set_B_periph(AT91_PIN_PB26, 0);	/* LCDD21 */
+	at91_set_B_periph(AT91_PIN_PB27, 0);	/* LCDD22 */
+	at91_set_B_periph(AT91_PIN_PB28, 0);	/* LCDD23 */
+
+	at91_sys_write(AT91_PMC_SCER, AT91_PMC_HCK1);
+
+	gd->fb_base = AT91SAM9261_SRAM_BASE;
+}
+#endif
+
 int board_init(void)
 {
 	/* Enable Ctrlc */
@@ -170,6 +231,9 @@ int board_init(void)
 #ifdef CONFIG_DRIVER_DM9000
 	at91sam9261ek_dm9000_hw_init();
 #endif
+#ifdef CONFIG_LCD
+	at91sam9261ek_lcd_hw_init();
+#endif
 	return 0;
 }
 
include/configs/at91sam9261ek.h +13 -0
index 96fc6af..df46268 100644
@@ -28,6 +28,7 @@
 #define __CONFIG_H
 
 /* ARM asynchronous clock */
+#define AT91_CPU_NAME		"AT91SAM9261"
 #define AT91_MAIN_CLOCK		198656000	/* from 18.432 MHz crystal */
 #define AT91_MASTER_CLOCK	99328000	/* peripheral = main / 2 */
 #define CFG_HZ			1000000		/* 1us resolution */
@@ -55,6 +56,18 @@
 #undef CONFIG_USART2
 #define CONFIG_USART3		1	/* USART 3 is DBGU */
 
+/* LCD */
+#define CONFIG_LCD			1
+#define LCD_BPP				LCD_COLOR8
+#define CONFIG_LCD_LOGO			1
+#undef LCD_TEST_PATTERN
+#define CONFIG_LCD_INFO			1
+#define CONFIG_LCD_INFO_BELOW_LOGO	1
+#define CFG_WHITE_ON_BLACK		1
+#define CONFIG_ATMEL_LCD		1
+#define CONFIG_ATMEL_LCD_BGR555		1
+#define CFG_CONSOLE_IS_IN_ENV		1
+
 #define CONFIG_BOOTDELAY	3
 
 /* #define CONFIG_ENV_OVERWRITE	1 */
Signature · 1 line
1.5.3.3
#44 lore raw

PATCH v2 23/26 AT91SAM9263EK: hook up the ATMEL LCD driver

In reply to Stelian Pop

This patch makes the necessary adaptations (PIO configurations and defines in config header file) to hook up the Atmel LCD driver to the AT91SAM9263EK board.

---
 board/atmel/at91sam9263ek/at91sam9263ek.c |   65 +++++++++++++++++++++++++++++
 include/configs/at91sam9263ek.h           |   13 ++++++
 2 files changed, 78 insertions(+), 0 deletions(-)
board/atmel/at91sam9263ek/at91sam9263ek.c +65 -0
index a6268a6..ba7fc71 100644
@@ -23,6 +23,7 @@
  */
 
 #include <common.h>
+#include <asm/sizes.h>
 #include <asm/arch/at91sam9263.h>
 #include <asm/arch/at91sam9263_matrix.h>
 #include <asm/arch/at91sam9_smc.h>
@@ -30,6 +31,8 @@
 #include <asm/arch/at91_rstc.h>
 #include <asm/arch/gpio.h>
 #include <asm/arch/io.h>
+#include <lcd.h>
+#include <atmel_lcdc.h>
 #if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_MACB)
 #include <net.h>
 #endif
@@ -193,6 +196,65 @@ static void at91sam9263ek_uhp_hw_init(void)
 }
 #endif
 
+#ifdef CONFIG_LCD
+vidinfo_t panel_info = {
+	vl_col:		240,
+	vl_row:		320,
+	vl_clk:		4965000,
+	vl_sync:	ATMEL_LCDC_INVLINE_INVERTED |
+			ATMEL_LCDC_INVFRAME_INVERTED,
+	vl_bpix:	3,
+	vl_tft:		1,
+	vl_hsync_len:	5,
+	vl_left_margin:	1,
+	vl_right_margin:33,
+	vl_vsync_len:	1,
+	vl_upper_margin:1,
+	vl_lower_margin:0,
+	mmio:		AT91SAM9263_LCDC_BASE,
+};
+
+void lcd_enable(void)
+{
+	at91_set_gpio_value(AT91_PIN_PA30, 1);  /* power up */
+}
+
+void lcd_disable(void)
+{
+	at91_set_gpio_value(AT91_PIN_PA30, 0);  /* power down */
+}
+
+static void at91sam9263ek_lcd_hw_init(void)
+{
+	at91_set_A_periph(AT91_PIN_PC1, 0);	/* LCDHSYNC */
+	at91_set_A_periph(AT91_PIN_PC2, 0);	/* LCDDOTCK */
+	at91_set_A_periph(AT91_PIN_PC3, 0);	/* LCDDEN */
+	at91_set_B_periph(AT91_PIN_PB9, 0);	/* LCDCC */
+	at91_set_A_periph(AT91_PIN_PC6, 0);	/* LCDD2 */
+	at91_set_A_periph(AT91_PIN_PC7, 0);	/* LCDD3 */
+	at91_set_A_periph(AT91_PIN_PC8, 0);	/* LCDD4 */
+	at91_set_A_periph(AT91_PIN_PC9, 0);	/* LCDD5 */
+	at91_set_A_periph(AT91_PIN_PC10, 0);	/* LCDD6 */
+	at91_set_A_periph(AT91_PIN_PC11, 0);	/* LCDD7 */
+	at91_set_A_periph(AT91_PIN_PC14, 0);	/* LCDD10 */
+	at91_set_A_periph(AT91_PIN_PC15, 0);	/* LCDD11 */
+	at91_set_A_periph(AT91_PIN_PC16, 0);	/* LCDD12 */
+	at91_set_B_periph(AT91_PIN_PC12, 0);	/* LCDD13 */
+	at91_set_A_periph(AT91_PIN_PC18, 0);	/* LCDD14 */
+	at91_set_A_periph(AT91_PIN_PC19, 0);	/* LCDD15 */
+	at91_set_A_periph(AT91_PIN_PC22, 0);	/* LCDD18 */
+	at91_set_A_periph(AT91_PIN_PC23, 0);	/* LCDD19 */
+	at91_set_A_periph(AT91_PIN_PC24, 0);	/* LCDD20 */
+	at91_set_B_periph(AT91_PIN_PC17, 0);	/* LCDD21 */
+	at91_set_A_periph(AT91_PIN_PC26, 0);	/* LCDD22 */
+	at91_set_A_periph(AT91_PIN_PC27, 0);	/* LCDD23 */
+
+	at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9263_ID_LCDC);
+
+	gd->fb_base = AT91SAM9263_SRAM0_BASE;
+}
+#endif
+
 int board_init(void)
 {
 	/* Enable Ctrlc */
@@ -216,6 +278,9 @@ int board_init(void)
 #ifdef CONFIG_USB_OHCI_NEW
 	at91sam9263ek_uhp_hw_init();
 #endif
+#ifdef CONFIG_LCD
+	at91sam9263ek_lcd_hw_init();
+#endif
 	return 0;
 }
 
include/configs/at91sam9263ek.h +13 -0
index d28f7d8..1c50134 100644
@@ -28,6 +28,7 @@
 #define __CONFIG_H
 
 /* ARM asynchronous clock */
+#define AT91_CPU_NAME		"AT91SAM9263"
 #define AT91_MAIN_CLOCK		199919000	/* from 16.367 MHz crystal */
 #define AT91_MASTER_CLOCK	99959500	/* peripheral = main / 2 */
 #define CFG_HZ			1000000		/* 1us resolution */
@@ -55,6 +56,18 @@
 #undef CONFIG_USART2
 #define CONFIG_USART3		1	/* USART 3 is DBGU */
 
+/* LCD */
+#define CONFIG_LCD			1
+#define LCD_BPP				LCD_COLOR8
+#define CONFIG_LCD_LOGO			1
+#undef LCD_TEST_PATTERN
+#define CONFIG_LCD_INFO			1
+#define CONFIG_LCD_INFO_BELOW_LOGO	1
+#define CFG_WHITE_ON_BLACK		1
+#define CONFIG_ATMEL_LCD		1
+#define CONFIG_ATMEL_LCD_BGR555		1
+#define CFG_CONSOLE_IS_IN_ENV		1
+
 #define CONFIG_BOOTDELAY	3
 
 /* #define CONFIG_ENV_OVERWRITE	1 */
Signature · 1 line
1.5.3.3
#45 lore raw

PATCH v2 24/26 AT91SAM9RLEK: hook up the ATMEL LCD driver

In reply to Stelian Pop

This patch makes the necessary adaptations (PIO configurations and defines in config header file) to hook up the Atmel LCD driver to the AT91SAM9RLEK board.

---
 board/atmel/at91sam9rlek/at91sam9rlek.c |   63 +++++++++++++++++++++++++++++++
 include/configs/at91sam9rlek.h          |   13 ++++++
 2 files changed, 76 insertions(+), 0 deletions(-)
board/atmel/at91sam9rlek/at91sam9rlek.c +63 -0
index 8deecfd..10423d2 100644
@@ -30,6 +30,8 @@
 #include <asm/arch/at91_rstc.h>
 #include <asm/arch/gpio.h>
 #include <asm/arch/io.h>
+#include <lcd.h>
+#include <atmel_lcdc.h>
 #if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_MACB)
 #include <net.h>
 #endif
@@ -124,6 +126,64 @@ static void at91sam9rlek_spi_hw_init(void)
 }
 #endif
 
+#ifdef CONFIG_LCD
+vidinfo_t panel_info = {
+	vl_col:		240,
+	vl_row:		320,
+	vl_clk:		4965000,
+	vl_sync:	ATMEL_LCDC_INVLINE_INVERTED |
+			ATMEL_LCDC_INVFRAME_INVERTED,
+	vl_bpix:	3,
+	vl_tft:		1,
+	vl_hsync_len:	5,
+	vl_left_margin:	1,
+	vl_right_margin:33,
+	vl_vsync_len:	1,
+	vl_upper_margin:1,
+	vl_lower_margin:0,
+	mmio:		AT91SAM9RL_LCDC_BASE,
+};
+
+void lcd_enable(void)
+{
+	at91_set_gpio_value(AT91_PIN_PA30, 0);  /* power up */
+}
+
+void lcd_disable(void)
+{
+	at91_set_gpio_value(AT91_PIN_PA30, 1);  /* power down */
+}
+static void at91sam9rlek_lcd_hw_init(void)
+{
+	at91_set_B_periph(AT91_PIN_PC1, 0);	/* LCDPWR */
+	at91_set_A_periph(AT91_PIN_PC5, 0);	/* LCDHSYNC */
+	at91_set_A_periph(AT91_PIN_PC6, 0);	/* LCDDOTCK */
+	at91_set_A_periph(AT91_PIN_PC7, 0);	/* LCDDEN */
+	at91_set_A_periph(AT91_PIN_PC3, 0);	/* LCDCC */
+	at91_set_B_periph(AT91_PIN_PC9, 0);	/* LCDD3 */
+	at91_set_B_periph(AT91_PIN_PC10, 0);	/* LCDD4 */
+	at91_set_B_periph(AT91_PIN_PC11, 0);	/* LCDD5 */
+	at91_set_B_periph(AT91_PIN_PC12, 0);	/* LCDD6 */
+	at91_set_B_periph(AT91_PIN_PC13, 0);	/* LCDD7 */
+	at91_set_B_periph(AT91_PIN_PC15, 0);	/* LCDD11 */
+	at91_set_B_periph(AT91_PIN_PC16, 0);	/* LCDD12 */
+	at91_set_B_periph(AT91_PIN_PC17, 0);	/* LCDD13 */
+	at91_set_B_periph(AT91_PIN_PC18, 0);	/* LCDD14 */
+	at91_set_B_periph(AT91_PIN_PC19, 0);	/* LCDD15 */
+	at91_set_B_periph(AT91_PIN_PC20, 0);	/* LCDD18 */
+	at91_set_B_periph(AT91_PIN_PC21, 0);	/* LCDD19 */
+	at91_set_B_periph(AT91_PIN_PC22, 0);	/* LCDD20 */
+	at91_set_B_periph(AT91_PIN_PC23, 0);	/* LCDD21 */
+	at91_set_B_periph(AT91_PIN_PC24, 0);	/* LCDD22 */
+	at91_set_B_periph(AT91_PIN_PC25, 0);	/* LCDD23 */
+
+	at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9RL_ID_LCDC);
+
+	gd->fb_base = 0;
+}
+#endif
+
+
 int board_init(void)
 {
 	/* Enable Ctrlc */
@@ -141,6 +201,9 @@ int board_init(void)
 #ifdef CONFIG_HAS_DATAFLASH
 	at91sam9rlek_spi_hw_init();
 #endif
+#ifdef CONFIG_LCD
+	at91sam9rlek_lcd_hw_init();
+#endif
 	return 0;
 }
 
include/configs/at91sam9rlek.h +13 -0
index 773f954..33d934f 100644
@@ -28,6 +28,7 @@
 #define __CONFIG_H
 
 /* ARM asynchronous clock */
+#define AT91_CPU_NAME		"AT91SAM9RL"
 #define AT91_MAIN_CLOCK		200000000	/* from 12.000 MHz crystal */
 #define AT91_MASTER_CLOCK	100000000	/* peripheral = main / 2 */
 #define CFG_HZ			1000000		/* 1us resolution */
@@ -55,6 +56,18 @@
 #undef CONFIG_USART2
 #define CONFIG_USART3		1	/* USART 3 is DBGU */
 
+/* LCD */
+#define CONFIG_LCD			1
+#define LCD_BPP				LCD_COLOR8
+#define CONFIG_LCD_LOGO			1
+#undef LCD_TEST_PATTERN
+#define CONFIG_LCD_INFO			1
+#define CONFIG_LCD_INFO_BELOW_LOGO	1
+#define CFG_WHITE_ON_BLACK		1
+#define CONFIG_ATMEL_LCD		1
+#define CONFIG_ATMEL_LCD_RGB565		1
+#define CFG_CONSOLE_IS_IN_ENV		1
+
 #define CONFIG_BOOTDELAY	3
 
 /* #define CONFIG_ENV_OVERWRITE	1 */
Signature · 1 line
1.5.3.3
#46 lore raw

PATCH v2 25/26 Use custom logo for Atmel boards

In reply to Stelian Pop

This patch adds a custom vendor logo for the Atmel AT91 boards.

---
 tools/Makefile        |    4 ++++
 tools/logos/atmel.bmp |  Bin 0 -> 26334 bytes
 2 files changed, 4 insertions(+), 0 deletions(-)
 create mode 100644 tools/logos/atmel.bmp
tools/Makefile +4 -0
index b897923..dc210e8 100644
@@ -44,6 +44,10 @@ LOGO_H	= $(OBJTREE)/include/bmp_logo.h
 ifeq ($(LOGO_BMP),)
 LOGO_BMP= logos/denx.bmp
 endif
+ifeq ($(VENDOR),atmel)
+LOGO_BMP= logos/atmel.bmp
+endif
+
 
 #-------------------------------------------------------------------------
 
tools/logos/atmel.bmp new file binary +0 -0
new file mode 100644
index 0000000000000000000000000000000000000000..3c445c9bc365aff31bf5f6c464ab2b1d7a99e99e
GIT binary patch

z&wsl7l(8TE-nW;}xc-dsfBTzHmmmJluPmQ_ at 0-g%{rMj(KVa;C|MOp#&wle4m%snx z-(CLaUw^{f&o6)d``=mq<L~}rR5<~$?}sw~LEfA|~AXW#qQ@>k#gwdJ$llaRH z|KTr}AOF#JmmmK2FE7WdEB?TJKx*qs+}W)ba(kVI=ee{2-?%h6%IL_<yWU59FGIj z)#);_8&iA)#N|60YiyEr74P8->e0DfudYOzat#uNnUXu}uohkpdtQfS*)K3q0lIrf z!-BUkMe;UblrV5~Ga8lX=E|8laa7G<WXgrL(rMKtfG$u$5zZh|BeSf9apDv=+KTQ z#O)|c(cQ&bVnX^k#1GOZQMei}>VsUNAUyJWnA^;q^-m16l2;Q*zG!thzbk4aDtNV zDe^NdQ{>Rqe)29v^$tyzX3-V|Wr|pER}6ot8t{dX=k$eAgn_g+#h3yp(+8-v$CZb} zet)Bmcoui>uZDliO1wl1dcY=8tjv|1z=~n31U7e=H}r=*Y<JSgewYBMw9$ZY!PI1e zWLYFVDQ7ju{^fU_FPCSg>wLpp=1<dI7g1~37eyi#H*@FcZY|U1Iw4?W91r0Z2J zmq8n#QAz=$o70;No;KI5&fA8mE1qLY!T6BH-UNxbTBin+tdiJ?F^yYR01^1;btVx! zp+6*dh7{U;hRnP=(rqrXt{^WA=NYa5Fx@eX~boO4;MkF9PymOOo}-{21n0TS>@A8 zcQbef%n#RMr4TSu~w{e+N7<oai!p=;&XTj0|>8aVkDtNX%6Ii at t}eo#_h!d^_q zjGp;afB(BD0N{%1py+Je$kJE!x53_&J3>nGlQc;*MTRGu{4X$ASp*hEO=y>nzqT{ z at Qg~Gd0_ at 8(!QSJyr)?0Q4sCPwUgmZy?V{jniscL!w!WIdraWt#j#)iiIyUek+z< zOf1y$+lnR8tXKo6L%y#d_PruZ62|fL%PZCpQ!z{e0 at Br1EMt|vRoVFE{psl%IiSMl zJN;XJ@-$ezOn>Um_0V125D4krCTf|cjl3+*S<X-Z28?472izoz941J_HP~w~7nZs2 zF{XJ+ABeJN!u)kQ6tY&Dux>(PypK at MFeY{74e9kY1ME&*49Pt;2s~Ivcq9xP(88m@ za+0+AwF~ODVrg?tl8P0?5f?7Y?s)+MvC#6?KY_fcSd^@YnTlmu(HgB-$`Wmd;G(o* z?RV6y-4UfvH#>aG4$OXpT$58-SyB?EP8ll<2T?ibF*j9xSjCFsdcdXFMLTRk0xO4% zM|OR#2 at pj0*^}q=g;24YQ#NKBR^7dKoYwK@(HBY|JVq{iFAWYZ%1S(eeP1)!smz<f z&gR+-)+@YX8}lg3Bu1+W41KIs2<es7_W{yi<tiCmL7+hDh|$$^jmDC2-JirEg~QLe zu^YPyzNNl9Yce4b$?<K@&yOJXceY?t}@2dh)qcK3$iw6%HDM}!zjvX>L66SV4gEL zjy;3qD64T|udJI)%U6!WmVpmw1%oh7-efQ$-&nn_-z9ys;YPL_Zq)XNBULQ&R~m#U z at JQj2*g9H0qk?+vuFqE*YslmB7<pW;8H_UVY+V{#4Jd36J+xqv4(oZ!*|$s<0u zH-ne4pO4nxo;To?HoA>Vba%#jDL)?r>HPX7$1{)QX6KkSKq~cS)$Wumyy|T&I z5WXf5={Um6PH=a}YgW0!w~@gG37z^$oXi$ED?wlZU4zLUuMq~2-0ZGmGH8>t%v$O| z7YzD1c)2>}*3dfTJwpby!2M0y(p=1EbK8vMo=ZBByffL%rF&<9(c5Iu#01pV00Vf z&b7kP#J-1kOcKF*@x;y2B$oc31>hVifP|L~^6k_<7s2pGY&(SoWOWa|V_jHm^|j}4 z-c;np4H|fbxH{iQ%6wE)A_WmLO!C3<cuG^)fp+%Lyz=zMGNJ@&%O#Rf%L_{XQs?o z_H)_r!@PXq=Usod*O4NUmXc0=%XlXyEOjB1}f<X7+S^2z(F6<IMBH)AM!{sj7K;0 zW2TGl6Pxu;o~O6~BLiY>QO-o|lt+)5e2>56n%P(S!ft}{q#+)Y|OkG%CUs_I<j^c zwgl3wq||cDItLlHc*}1qqy?KxVZ1G~x?29z^Da%0ff6Ln5rWVJq2{O5rsjsug(C1q zmnxKpHMs+5ZD!xdItl3Sc5e=WtDRAB_yh!D3PvAZE^^Z~YS^)|!!Yj*Q~*9a?jRd z>&}18dHnQTyHltaYI5I=R3CnaI)EiQ&gTH0|nvP%&vFOkIxNG>Z$8Bmj-pe?56JS zq@*6IAc#80r at L#JDvsh+#J>F8}Rm at dW@#Ma}Gmti8y?@^pFT3HJyoTFn3oe&n3C zwjjII9VTS!lm;rF1VS;G1?oN!CAPL?$1UG&m7r>#V|kFlTmkQ47R<~)lF^{KT#x{ z6USAMH&;Xy)+~xoD4lkv+C&fs*dMyHyj3C8qVlWuNjeI?D&QXZKrp~IZg*K$V)TC z>xE#EN#IgJ8XByx&hb_b9YzxXIaM(VF2^Q4Mng}@UCYn&^p9^@qvGM!#ZR*yYy^Z5 z<@k34n#WCu<;vnY1wYrH{VO}n!*Q&;FO$U^@Af-xY{e($lyy51x5}cODyEtP-f$ z*-WYdxjZ4WqtdEx$h3LxPmFXl0N}KHDh2FSI_<E0bYyM?W3_c7ZZ-;d2&ASRP&4?l znp?*w0WDMi0Ri>H<gbzK%3AegD*i0NnH<k+zuT!WJs2E!8wCfJoj&b)}>J~<|qiO zj2DiaZ|ejjY-&uXsjjjixw0Zu9)NheNQ;P2$hjX8HNtUia|)}kqINXzJonAX0vZE> zR!<u|Jbc)oj9IHF!m4RGuleR$v{1flbu at oz_$TT*QapQR@bQsNvW>-&c?@kz@$Va zo)zADk at WBcpb5NGUh9t$I)P#0cwpcC*T}Tboo}z&hea)P(odh4GKcEyb(KR<Ceg? z5rsk{2fS@?!%4l0xs at U|V7eKcKm+qV414x2${&_@k2l<HAgIb{Rb<i<4S~!!%9M)N ztov~2n~rm>Yaj}QZ?2)>CX$*l6FZ3YwRsZp;Dg>saRG6i;^q4t7_g6b18<K*I;G_ zlX^_-PB+vOuWuw8zLh#Ul_v7&+dL0gPnBSRH!>I+BGmeBi5e|7cid3KR_CUv&+#m_ zV3A+{vbUd68ifHFp*%8JCA2f6iP>DLyZ&vyF>aBHHMQtyR^8qE5Rp4mXHT$Cgpi5z zSw_6MZE20U7&N*XFGhm+3~Y3 at T*h?gCG^Uw@^(c$t+Ca21Cr=sbdQ+;k3>Ro5ZOJw z_J_PpWm8;;f`JuHKh#xYF<8lT8oo=Kg|crdUR~7LFlcGZCe0*|_G}SG5d<KARZ;x5 z2oR5HHYOTkssp@!k7|r+Cv?PUf<(Ltf|l;Tp0A|nKZVH>Q#RI7<2*p%fP+JPUNIZ8 ztHN0@R-E39>xO?xE_!di36W?(g2tz(CFVT8Wc5%&Nt)YXJ^3h~o*Wsu(U<dcZeO&0 z#dRU^gc;cDE>OfcTAy8?7Oxp}7y?g35?MLU%kaZE>kqyPmmKJ0R>+Q?DjQ_sFiP# zHCsQ;m^dJ=!lq2K~P)cSY685o$~%G at B&uW;W at GlkJfMC)BirjritT@?aD_eKSE! zB>kTIh49-0rB}%iQ-y($|piFay&jIRg7mNGEwO#&jAyvuCKVetB<1xs@Nz>YV|(4 zHg1#$<!-#&vZ^JSvb+Gz-<aVd8ZB{d%W~Z|_08>tVro?y%o1YlZm0vYU@^v^w;*R( zZ4|ZLrHyT9BDs;CXO7Tj3t}y??72xwu1+8H%n^Ozn>2Vj<6TPS=ocP1Z;a)#XBe4T zhhmP>dK2iCvhUDbn6eJSPfwyVX+gk3UmCq1z{@R=#ff2jfrbcNwUGULw(sfyYr#4 z{;dr&thL2g)eb;;)rZklSL1smcyEN3i!JsdHqwVg&PNYRjrCcQwIR9jyl3+dr?bBJ z7kwLbioz0J%@!5kfWRRjElgaLIND>|(B>i&Cuq?Z&zzaDd0cA*lb~@(Tw1>SU;EV zpDT<c>8X_2QOnTGdL{KYduKK<P%yyMwyEYh64?dk-<51cs9y@q>ASZ2Bjb&ClL*{ z0#w}j9#1qaS6EoPm2&&viPGXtU3#bO-_DuRh=Um)CWTZe9&^SPQHR0xi%e(l9Jf3 zejalT)MQLn*Fl-qkK^fpj$2zmqNl_}1>e6=id)Sws-|kERw*nmVNiKXd|rL-b^Zx# z5;Wt<5ys_f-gWI4tA#TVUX$doHrQ2Hfb73#S$JYIER>e4XGdk#Hk$6-G8;^3Swvh zV(k}!TO2vYJ*%+wtR at UDnbNo$a<IT#?ybi6_fgHVh<BqOoCv2YGFzZZgcy+{4%6p| zI@vhmHkGl2$kZ6QPC%5X$25La&b$88CpTucnpj$@<)QzNLY8c|$Af7?SqK4>!gK zH1GULrKtfRH~#X4^HsF;9pQ8bU<t*tXa*x<o^MDd#5sj6hS97Uj6})cY<AY?NIJ>@ zAZDAu{Clp-hE!S{(O|HidWMRx3oDV~Y+QRlcu-Rku~krH^s~|^Q^uWRCi)r*TvWS^ z$E>boY(rkop%9gS0bgV0D1nc^aF%JitO%&YA=)StE|N14pg9gv&!dn8A%44!aR7m z+eR8}CK!32h3LsYOFSQjmm=n6W at rUNEduw*Wr&~4D-dV$gfu8$9QhNQWnTM6%YZ# zs7h!;K_Y)p*<Y@%b%K7*GaOdztI_e0MqpXwLyKMTzq}k;izDtP{>4?o6o#i0;o}i zJdngShPf6Qe3+SAiB^d7tFii0uavT$Xh=lgobNT_kadFKP^aS9-X>@(bqcuh_zTfg zGRCKABR-THFTS|z-R_4;jFmgTwH3KX2=o&VhKgDrl##;WDb80|%q0nknZf3-^_jIv zG2M&1l4A~P9DW30NkJ+B!g#|AHE)z92sOB#%^BGPoxkW{5-DXYF|qk#B{ws#o4)Rn z3%_2$jJmW=idPbEns+qlbR^-WP1lNrS-n4^5$nRV)ui)EaMrOOc{5T7P*(ag2;LH& zHdwQ449pQr9y?%oLPu5u&Z>vhXJg~Ayxm+<-h{6aBA29&^-4taY5}5;EJ<ytQCIE} zQw19Bqh3WQ-^6ALGh}ZUd4f1skTN&nwVP4svKZs4a&uoS*;+$!hFoFxu$->JIRk4 zZ<==OyqJlFK^Z;STHpa1C5H6-%QiYBrEeIHJa_S6rE&$uI_U-pD47_=;L#2S~KV zaHvTeI%^~dJ%Wtr<Jk{h^1Q)7fA~Ox7if4fjJhm7yajt}5*ovb9wNvf((?{%{X2rJ zY}R^p-bz@m>Ep;8cncKTi~U>G?9c^>y^Je9Y(fJu|lls9dTl6ZDVVE&59-Qy(jJq zWyggn{1M;^pn*?r?}#+K6XJw7J4&CaLFjc6F;#m?Y(6Rkc7C=mG<ZUKp%MNVq) zIZ#>Vr~-yfpzTk|sPBf5@%Pf^!vbI0Sxp5Gkf30Y7{1jMg~hO7i43-3sqRRjr`TI zG=r4c)+ at huUaKO$p)^3~Fd_4q!Cv&AD-z-Oz4a=pN06uugN(maVYMJ3entr*l0bBU z3Qz+FzR@>wCQ+G>4$*hI)n$MTeSOl*RU$TeV+L>MLZJoVAP*L3G(K#b3=RuTpdCnI z6L!=qIbmc?8-BRw0jio!mNis<_gz@k2>_A8^4?}};#rEAp^Wg9M}@uH!D!5y!98!# zDK*o{wSYuJ-jp~T2S~P<&_fKOQL)Wnrd*Pe!%TPvRpva1x;Rk2O#2T%#OyBQHKhbz z29+66iRV!0#ZV&ANIe<aW(JpChSoRGvPU{l2v7w3Bn~7h9z3Ic^LJCysu~If_^y za^P3NLV+ZYQWuDikw*|jFya)0k6`L2DBOQFx<rY1MQA80swo_yGCJ=Uh9Ou6T#SZF zqWV%Fjdzac9XEvB7ciM!A^}i2aAj_dRo9JCIVy<6qi#F*kVgD{5Cqo7sL^L&Cb&Tv zTS-KbMI@S{#tt!q;#senzg%evYtWDhDYc6hP-ia&NDR%_3>bW_)fED#LV$%5e*AKm z4b%$R#{yVbEaT!KYOXXIEnn(Dyl8om!MZ#L6LcK*fCr3_I{E94FdMzoCVy3l1~Co- z#Jk5_@@7YIR}j&$gZ0v;FyvO(o3>}LCe8tX0S#Xc32g9N#}w*Wf!m!-Vk}#?l9R z0pt3~8wN9;o1=-dILC7rPlHIQab at s^NO);66fh2gM}!+4G52tSr+gJUs51*a%L+ zM at o-_Tq2=DRZP&>#U6Biu3Q7gCmlwU;Tr{_hY<xZeE8N!hh<QPEti#Ajc3I&e|vjT z%)U3rz)qM(TI=x{L|}NIuJ{_;J<Z<&C4GI~4z0~_&qMTk=wCRLW7hIUoQZl05q+lp z(37<~aKP_(frL=jtVF-{p<Q|z0!80VhOT7&48V--6W8FyWbDT#9;ZH2mb0FtoK2 z%3gq47!$rwxqBvh-{6;66t-cqsaObXy~;KKAE{{3-TjvelpCzrf;VO(tB+XIGNING zkDKVRIzZWf2Z&Jou@upHw;9N?qglLYtyt8tIOM)HcTv_6;6B!Db!y*}!3fpoIi$^C zqJ6OI;cT9neq+ZF@>QcB?6Ea!*?Yf{)uEx7KJrU7-EFVIBD^cV<Qe0#XyN+I(?G zV)Xsc$kX&aNsS<6HwOsSXxVFD at 6?0@i>?XX)5^4UEgR%Ur#YXKnu3rphX5rQL#L z^86+ at G#dk;^t*UiIP5bHh*9*#3SQ2pKARj*atmx;Dvh9g+JtNVhB*_MR}1 at uMxkuO z5R6{tZ>BtRh(VN_c+o^Np!o$zkk+ at D6~{85h2Rv)<6A}n;MPoEKPrFC&D4SqqJ$QU zB+(5#RPm at _C^|JWST$YP{Ef%7O|8R(W*^N_V-AIZh#3POt6hT3CHeH|6sB4@7;a5+ zY<WxubHK^7lbGURZ~5jGrGPJ1Dvzz7<)&GqZ)Rkog$;HCH=WE(4<i&N?9k?&2-@>o zC9snx1L6+IW<|OP1U>o^c<21B42T)uAc(2;uy&^W1{ERjMik7<U_Nlz>Qz)#!xHy zi(V3@(P;*2oOS=rl%Z=ZI%*iM8LS!_X9WrQj)s)2CEjYXkB8s&vTJ-zz;#-AN@| z4jtwtNu%87Fsraus+I%@nxP5KWZM@^smA1F1cx1LXc+>R2%ZjFNye41k?;~sL$Qz z59AH(Y~xBP)*0wqwlElV0yU*O-Q!0w at zLw;wZ}wZxjiu)z%3f0J(^$2!C_$FXg5 zhWvfT7_pgbDL5CmK(@;uj-ug;6?{gL{56HeL^h4lzCaFT;n?(Ms%GxGC1M^vkB0V z!O$hGCJ<r;1@t?-FemtI)}rv{IbMb9mO>HSo_SwO#Hni-u5-VYxsyhxFXY5k)Y%N zn5oCTy=M9v&>v%SjFt at Ilc3QRxXXj1TTh}qC5N7#OkBm@$pyYk#As8pqjsle?su7 zd#sEXpagTkj)~xdbR)jEOF}<bAuE&KkEKy4FaTm+dmXgFwv}7$u$)4SJldQu2{@j znNq|v$1HN^(8Ax^jG_6_vzsES8!DtQ@<A=X1eq)PX|~5Y+U7*|_V)`+DyAjRM?kUg zs>cI6xp8=+s(>ijTCvF9bwf?<aB7rA*{;n#TJvWU>(J;ZTtGd&@gu&hp5^F!0dlc4 z6)Th)3NiQ{R4ZgFmIaNoOeB1uo|DX7^YE6XuTG3iBaCpQ5{}l2m0O;<qpnlw5UX=w z{k*{j_(PacvD8=Qp55Z9mG*XrMX^>y9U%sddnabg7Xzmj5C0 at OQR^drzamsa2HARU zq=woy8EiZ!y0W0F;$SSlG0vFHGd6*BwARQUS3HyHEs(Kbe3-$FG?qn~nZNJ~4HAAy z|Ki~N8|$6FrnBbfe1(5w0%eWwhysrgJ{@IbHU#i*L=x|FY<}Y2Yh$Mxkm;w>GXN+J z0okC;75P*vvqUzKv;Q*EnQ7e=PK9|?tACf}>%#Dg*bxq)jJeU|=Vb1LI12J}PC4$_ zId at +Bf1KQE*U!6Z;O=(MDEdT*w-JJDQMOC12WT6vF^-3|5R42)M9&A0Zq_SbUwdk4 z at UW)ZG#~5x2XdPhXM5aP@~2zz>1O(cT at nItzNYbvC_cA<G%{Ya)URJrpIL)xR$1^f zeZQx)X<l6nZ00VzK4_z<_I5%1p!zm5I0nD&eK8h#oOL00TM4JKhnGW}kxQ{8W|AON zJ_2GR9kM}OxfNZiklu#4a~(QI#T6m^?KzV_%WT?=*z>^}<6Gu;Fz*=vYY}&N)Vac z->Ok0LYh at Ih*=zMBf7w%8H~p1{a~BXE)8E*OefRc0332R(r6>jIjMV6-WYlV^pdXP z4B-^mEP7e1T39#rdn-bV4!O>jX}S_euG&IV(8M58fejT&BZxsR60o{xqs$wtY}5 zyN!|s9hSeQ5{-*JUB&4J-;@(NVFMPXKrEX=3dUZ*iZ*-)d1dJ;wPZF!h@)PfepV zHSNS-SImhAeG(Vfz at HZZEy#JE{qRtC>!2i(Lt(7g5m9-Yr8PK_*3SWw%1MHO~&qh z(vg3dt4H%3v{J8ntzDhW>9G6%n0?uYxD@$wD+r_Kq1!!<p&U;b<(+WbkkZHP{4H$6 z%0}+S_K<*HBj9j&<9Qz)v_6UAKDV~OdIIq225)Hn@Kyt|c(#IkG0IcaK~EQ{8HqGn z?$7F)jJU&dkXv<mV249i(N$++f8{^1M1K0{<$<bNn3s3BoAIW_Zyvu|jldya9;&N! z*;YTyeJma&R!xpqqbV*wkMnPK)pwqFtIFTuZW8S)AI}l+@&0A=IxHWcsCVIRZ?8^k z20zljIVOIMZ_ZNYbDQ+aW$>f&*K-?ZvS;I- at M5q0%BOKM_;LQ_Xq$+B-v at V=t5+wS zE9oQa^Qh(C_*=2gd;2S)w;B96|E_!2d#O~fRN#L$L+tbt-kNP%Nd=A#$Wj&bs-=H z=gY<Op1)pUOL~>I-&tWEwI8kVygxj7!fnZrZC>luWDC49 at t@1dW+w$c$@pGwJ+;m izA4NR>mof~feTIyc>?!9zh02N;qm(wYwW<Q4*w6N*nmL*

literal 0
HcmV?d00001

Signature · 1 line
1.5.3.3
#47 lore raw

PATCH v2 26/26 Support AT91CAP9 revC CPUs

In reply to Stelian Pop

The AT91CAP9 revC CPU has a few differences over the previous, revB CPU which was distributed in small quantities only (revA was an internal Atmel product only).

The revC silicon needs a special initialisation sequence to switch from the internal (imprecise) RC oscillator to the external 32k clock.

---
 board/atmel/at91cap9adk/at91cap9adk.c    |   28 ++++++++++++++++++++++++++++
 include/asm-arm/arch-at91sam9/at91_pmc.h |    5 +++++
 include/asm-arm/arch-at91sam9/at91cap9.h |   14 +++++++++++++-
 3 files changed, 46 insertions(+), 1 deletions(-)
board/atmel/at91cap9adk/at91cap9adk.c +28 -0
index e353cea..a3eaf19 100644
@@ -72,6 +72,33 @@ static void at91cap9_serial_hw_init(void)
 #endif
 }
 
+static void at91cap9_slowclock_hw_init(void)
+{
+	/*
+	 * On AT91CAP9 revC CPUs, the slow clock can be based on an
+	 * internal impreciseRC oscillator or an external 32kHz oscillator.
+	 * Switch to the latter.
+	 */
+#define ARCH_ID_AT91CAP9_REVB	0x399
+#define ARCH_ID_AT91CAP9_REVC	0x601
+	if (at91_sys_read(AT91_PMC_VER) == ARCH_ID_AT91CAP9_REVC) {
+		unsigned i, tmp = at91_sys_read(AT91_SCKCR);
+		if ((tmp & AT91CAP9_SCKCR_OSCSEL) == AT91CAP9_SCKCR_OSCSEL_RC) {
+			extern void timer_init(void);
+			timer_init();
+			tmp |= AT91CAP9_SCKCR_OSC32EN;
+			at91_sys_write(AT91_SCKCR, tmp);
+			for (i = 0; i < 1200; i++)
+				udelay(1000);
+			tmp |= AT91CAP9_SCKCR_OSCSEL_32;
+			at91_sys_write(AT91_SCKCR, tmp);
+			udelay(200);
+			tmp &= ~AT91CAP9_SCKCR_RCEN;
+			at91_sys_write(AT91_SCKCR, tmp);
+		}
+	}
+}
+
 static void at91cap9_nor_hw_init(void)
 {
 	unsigned long csa;
@@ -305,6 +332,7 @@ int board_init(void)
 	gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
 
 	at91cap9_serial_hw_init();
+	at91cap9_slowclock_hw_init();
 	at91cap9_nor_hw_init();
 #ifdef CONFIG_CMD_NAND
 	at91cap9_nand_hw_init();
include/asm-arm/arch-at91sam9/at91_pmc.h +5 -0
index 103be86..b57875d 100644
@@ -96,4 +96,9 @@
 #define		AT91_PMC_PCK3RDY	(1 << 11)		/* Programmable Clock 3 */
 #define	AT91_PMC_IMR		(AT91_PMC + 0x6c)	/* Interrupt Mask Register */
 
+#define AT91_PMC_PROT		(AT91_PMC + 0xe4)	/* Protect Register [AT91CAP9 revC only] */
+#define		AT91_PMC_PROTKEY	0x504d4301		/* Activation Code */
+
+#define AT91_PMC_VER	(AT91_PMC + 0xfc)	/* PMC Module Version [AT91CAP9 only] */
+
 #endif
include/asm-arm/arch-at91sam9/at91cap9.h +13 -1
index d1b33a0..0b52228 100644
@@ -101,13 +101,25 @@
 #define AT91_RTT	(0xfffffd20 - AT91_BASE_SYS)
 #define AT91_PIT	(0xfffffd30 - AT91_BASE_SYS)
 #define AT91_WDT	(0xfffffd40 - AT91_BASE_SYS)
-#define AT91_GPBR	(0xfffffd50 - AT91_BASE_SYS)
+#define AT91_SCKCR	(0xfffffd50 - AT91_BASE_SYS)
+#define AT91_GPBR_REVB	(0xfffffd50 - AT91_BASE_SYS)
+#define AT91_GPBR_REVC	(0xfffffd60 - AT91_BASE_SYS)
 
 #define AT91_USART0	AT91CAP9_BASE_US0
 #define AT91_USART1	AT91CAP9_BASE_US1
 #define AT91_USART2	AT91CAP9_BASE_US2
 
 /*
+ * SCKCR flags
+ */
+#define AT91CAP9_SCKCR_RCEN	(1 << 0)	/* RC Oscillator Enable */
+#define AT91CAP9_SCKCR_OSC32EN	(1 << 1)	/* 32kHz Oscillator Enable */
+#define AT91CAP9_SCKCR_OSC32BYP	(1 << 2)	/* 32kHz Oscillator Bypass */
+#define AT91CAP9_SCKCR_OSCSEL	(1 << 3)	/* Slow Clock Selector */
+#define		AT91CAP9_SCKCR_OSCSEL_RC	(0 << 3)
+#define		AT91CAP9_SCKCR_OSCSEL_32	(1 << 3)
+
+/*
  * Internal Memory.
  */
 #define AT91CAP9_SRAM_BASE	0x00100000	/* Internal SRAM base address */
Signature · 1 line
1.5.3.3
#48 lore raw

v2 cover AT91SAM/CAP patches for U-Boot 1.3.4

In reply to Stelian Pop
Quoted 22 lines · Stelian Pop

Hi,

This is the second version of the AT91CAP9/AT91SAM9 patches, which hopefully addresses all the feedbacks I got on the first one.

The first patches: 01 to 04 fix the copyright notices of some already merged files. Those patches may be merged immediately since it would be good to have those in 1.3.3-final.

The patches 05 to 13 fix a number of things in the AT91CAP9 and AT91SAM9260 ports (NAND 8/16 bit support, dataflash offsets, SPI timings, consistent Linux bootargs).

The patches 14 to 17 add support for some new Atmel boards:
- AT91SAM9261
- AT91SAM9263
- AT91SAM9RL

The patches 18 to 25 add a driver for the LCD controller on the Atmel boards (except 9260). The driver could probably be adapted, with minimum efforts, to the AVR32 boards.

Quoted 7 lines

And finally, the last patch adds support for the revision 'C' of the AT91CAP9 silicon, which needs a special initialisation sequence to switch from the internal RC oscillator to the external 32k clock.

Thanks,

Stelian.

Could you use the --thread of git-format-patch that will help us when we apply the patch to keep sort?

Best Regards,
J.

#49 lore raw

v2 cover AT91SAM/CAP patches for U-Boot 1.3.4

Le jeudi 08 mai 2008 ? 23:29 +0200, Jean-Christophe PLAGNIOL-VILLARD a ?crit :

Quoted 6 lines · Stelian Pop
Quoted 5 lines

Hi,

This is the second version of the AT91CAP9/AT91SAM9 patches, which hopefully addresses all the feedbacks I got on the first one.

[...]

Quoted 2 lines

Could you use the --thread of git-format-patch that will help us when we apply the patch to keep sort?

Sure, I'll do.

Signature · 1 line
Stelian Pop <[email protected]>
#51 lore raw

v2 cover AT91SAM/CAP patches for U-Boot 1.3.4

Quoted 1 line · Jean-Christophe PLAGNIOL-VILLARD

Patch series apply in branch testing-V2 of u-boot-at91 tree

branch testing-V2 update with last patch

diff

Fix Update origin and copyright information in arch-at91sam9 header files

PATCH 18, 19 and 20 replace by last Add ATMEL LCD driver

PATCH AT91SAM9263EK support 1 & 2 Joined

add

AT91: Cleanup unused config header file definitions.

Stelian could test and check it please

Best Regards,
J.

#52 lore raw

v2 cover AT91SAM/CAP patches for U-Boot 1.3.4

Le samedi 10 mai 2008 ? 12:21 +0200, Jean-Christophe PLAGNIOL-VILLARD a ?crit :

Quoted 10 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 1 line

Patch series apply in branch testing-V2 of u-boot-at91 tree

branch testing-V2 update with last patch

diff

Fix Update origin and copyright information in arch-at91sam9 header files

PATCH 18, 19 and 20 replace by last Add ATMEL LCD driver

Quoted 7 lines

PATCH AT91SAM9263EK support 1 & 2 Joined

add

AT91: Cleanup unused config header file definitions.

Stelian could test and check it please

Everything is looking ok.

Thanks,

Signature · 1 line
Stelian Pop <[email protected]>
#53 lore raw

v2 cover AT91SAM/CAP patches for U-Boot 1.3.4

Quoted 15 lines · Stelian Pop

Le samedi 10 mai 2008 ? 12:21 +0200, Jean-Christophe PLAGNIOL-VILLARD a ?crit :

Quoted 12 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 1 line

Patch series apply in branch testing-V2 of u-boot-at91 tree

branch testing-V2 update with last patch

diff

Fix Update origin and copyright information in arch-at91sam9 header files

PATCH 18, 19 and 20 replace by last Add ATMEL LCD driver

PATCH AT91SAM9263EK support 1 & 2 Joined

Quoted 8 lines
Quoted 5 lines

add

AT91: Cleanup unused config header file definitions.

Stelian could test and check it please

Everything is looking ok.

Merge with current HEAD into for-1.3.4

Best Regards,
J.