]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm920t/at91: use new clock.c features
authorAndreas Bießmann <andreas.devel@googlemail.com>
Sun, 12 Jun 2011 01:49:12 +0000 (01:49 +0000)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Mon, 4 Jul 2011 08:55:27 +0000 (10:55 +0200)
This patch enables the new clock features from arm920t/at91/clock.c. This
is an required step to get at91rm9200_usart replaced by atmel_usart driver.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Cc: Jens Scharsig <js_at_ng@scharsoft.de>
Cc: Eric Bénard <eric@eukrea.com>
arch/arm/cpu/arm920t/at91/Makefile
arch/arm/cpu/arm920t/at91/cpu.c [new file with mode: 0644]
arch/arm/include/asm/arch-at91/at91rm9200.h
include/configs/at91rm9200ek.h
include/configs/cpuat91.h
include/configs/eb_cpux9k2.h

index 8258ecd66431daa539cbeedffdd2f4f56d16232f..4417dfef7cb9a925e2629aef3aa639b1919fdad3 100644 (file)
@@ -29,6 +29,7 @@ SOBJS += lowlevel_init.o
 COBJS  += reset.o
 COBJS  += timer.o
 COBJS  += clock.o
+COBJS  += cpu.o
 
 SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
diff --git a/arch/arm/cpu/arm920t/at91/cpu.c b/arch/arm/cpu/arm920t/at91/cpu.c
new file mode 100644 (file)
index 0000000..74a1158
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * [origin: arch/arm/cpu/arm926ejs/at91/cpu.c]
+ *
+ * (C) Copyright 2011
+ * Andreas Bießmann, andreas.devel@googlemail.com
+ * (C) Copyright 2010
+ * Reinhard Meyer, reinhard.meyer@emk-elektronik.de
+ * (C) Copyright 2009
+ * Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/arch/hardware.h>
+#include <asm/arch/clk.h>
+
+#ifndef CONFIG_SYS_AT91_MAIN_CLOCK
+#define CONFIG_SYS_AT91_MAIN_CLOCK 0
+#endif
+
+int arch_cpu_init(void)
+{
+       return at91_clock_init(CONFIG_SYS_AT91_MAIN_CLOCK);
+}
+
index f1912e2dc3859f8602a7a25ec59eb39ee420e768..fd774b4f33f620c65958551983faa98023e56b57 100644 (file)
@@ -22,6 +22,7 @@
 #define __AT91RM9200_H__
 
 #define CONFIG_AT91FAMILY      /* it's a member of AT91 */
+#define CONFIG_ARCH_CPU_INIT   /* we need arch_cpu_init() for hw timers */
 #define CONFIG_ARM920T         /* This is an ARM920T Core      */
 
 /* Periperial Identifiers */
index 16cd214f7f2445ab5fabb856b4f98fa175589094..ee199ab014b78f04490d8f3cbc5c9c381305d648 100644 (file)
@@ -55,6 +55,7 @@
  * CONFIG_SYS_HZ is the tick rate for timer tc0
  */
 #define AT91C_XTAL_CLOCK               18432000
+#define CONFIG_SYS_AT91_SLOW_CLOCK     32768
 #define AT91C_MAIN_CLOCK               ((AT91C_XTAL_CLOCK / 4) * 39)
 #define AT91C_MASTER_CLOCK             (AT91C_MAIN_CLOCK / 3 )
 #define CONFIG_SYS_HZ_CLOCK            (AT91C_MASTER_CLOCK / 2)
@@ -66,6 +67,8 @@
 #define CONFIG_CPUAT91
 #define USE_920T_MMU
 
+#include <asm/hardware.h>      /* needed for port definitions */
+
 #define CONFIG_CMDLINE_TAG
 #define CONFIG_SETUP_MEMORY_TAGS
 #define CONFIG_INITRD_TAG
index cfaef15cbd6ebb850de378cb8df61d692add5c15..2bda72bec8466f80e99261a2a0a3018f81b5f4e2 100644 (file)
@@ -37,6 +37,7 @@
 #endif
 
 #define AT91C_XTAL_CLOCK               18432000
+#define CONFIG_SYS_AT91_SLOW_CLOCK     32768
 #define AT91C_MAIN_CLOCK               ((AT91C_XTAL_CLOCK / 4) * 39)
 #define AT91C_MASTER_CLOCK             (AT91C_MAIN_CLOCK / 3)
 #define CONFIG_SYS_HZ_CLOCK            (AT91C_MASTER_CLOCK / 2)
 #define CONFIG_ARM920T
 #define CONFIG_AT91RM9200
 #define CONFIG_CPUAT91
-#define CONFIG_AT91FAMILY
-
 #undef CONFIG_USE_IRQ
 #define USE_920T_MMU
 
+#include <asm/hardware.h>      /* needed for port definitions */
+
 #define CONFIG_CMDLINE_TAG
 #define CONFIG_SETUP_MEMORY_TAGS
 #define CONFIG_INITRD_TAG
index e12770a1961d0df57c28aea2cea10e4621588b92..25b28f510987e6bd9b64fef3c883291ba7ed3d9d 100644 (file)
@@ -36,7 +36,7 @@
 #define CONFIG_VERSION_VARIABLE
 #define CONFIG_IDENT_STRING    " on EB+CPUx9K2"
 
-#include <asm/arch/hardware.h> /* needed for port definitions */
+#include <asm/hardware.h>      /* needed for port definitions */
 
 #define CONFIG_MISC_INIT_R
 
@@ -69,7 +69,7 @@
 #define CONFIG_SYS_HZ          1000
 #define CONFIG_SYS_HZ_CLOCK    (AT91C_MASTER_CLOCK / 2)
 
-#define AT91_SLOW_CLOCK                        32768           /* slow clock */
+#define CONFIG_SYS_AT91_SLOW_CLOCK     32768           /* slow clock */
 
 #define CONFIG_CMDLINE_TAG             1
 #define CONFIG_SETUP_MEMORY_TAGS       1