Skip to contentSkip to conversation

ARM: Add support for EP93xx SoCs

PATCH Applied Matthias Kaehlcke 1 participant 1 message Jan 12, 2010

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

PATCH 1/5 ARM: Add support for EP93xx SoCs

Add support for the Cirrus Logic EP93xx platform

---
 arch/arm/Kconfig                                |    5 +
 arch/arm/Makefile                               |    9 +
 arch/arm/lib/barebox.lds.S                      |    5 +
 arch/arm/mach-ep93xx/Kconfig                    |  438 +++++++++++++++++
 arch/arm/mach-ep93xx/Makefile                   |    3 +
 arch/arm/mach-ep93xx/clocksource.c              |   96 ++++
 arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h |  600 +++++++++++++++++++++++
 arch/arm/mach-ep93xx/led.c                      |   62 +++
 arch/arm/mach-ep93xx/led.h                      |   26 +
 arch/arm/mach-ep93xx/lowlevel_init.S            |   64 +++
 10 files changed, 1308 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-ep93xx/Kconfig
 create mode 100644 arch/arm/mach-ep93xx/Makefile
 create mode 100644 arch/arm/mach-ep93xx/clocksource.c
 create mode 100644 arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
 create mode 100644 arch/arm/mach-ep93xx/led.c
 create mode 100644 arch/arm/mach-ep93xx/led.h
 create mode 100644 arch/arm/mach-ep93xx/lowlevel_init.S
arch/arm/Kconfig +5 -0
index c091a99..414a013 100644
@@ -31,6 +31,10 @@ config ARCH_AT91RM9200
 	bool "Atmel AT91RM9200"
 	select CPU_ARM920T
 
+config ARCH_EP93XX
+	bool "Cirrus Logic EP93xx"
+	select CPU_ARM920T
+
 config ARCH_IMX
 	bool "Freescale iMX-based"
 	select GENERIC_GPIO
@@ -51,6 +55,7 @@ endchoice
 source arch/arm/cpu/Kconfig
 source arch/arm/mach-at91/Kconfig
 source arch/arm/mach-at91rm9200/Kconfig
+source arch/arm/mach-ep93xx/Kconfig
 source arch/arm/mach-imx/Kconfig
 source arch/arm/mach-netx/Kconfig
 source arch/arm/mach-omap/Kconfig
arch/arm/Makefile +9 -0
index 47b002f..ede2085 100644
@@ -39,6 +39,7 @@ CPPFLAGS += $(CFLAGS_ABI) $(arch-y) $(tune-y)
 # by CONFIG_* macro name.
 machine-$(CONFIG_ARCH_AT91)		:= at91
 machine-$(CONFIG_ARCH_AT91RM9200)	:= at91rm9200
+machine-$(CONFIG_ARCH_EP93XX)		:= ep93xx
 machine-$(CONFIG_ARCH_IMX)		:= imx
 machine-$(CONFIG_ARCH_NETX)		:= netx
 machine-$(CONFIG_ARCH_OMAP)		:= omap
@@ -51,6 +52,14 @@ board-$(CONFIG_MACH_A9M2440)			:= a9m2440
 board-$(CONFIG_MACH_AT91SAM9260EK)		:= at91sam9260ek
 board-$(CONFIG_MACH_AT91SAM9263EK)		:= at91sam9263ek
 board-$(CONFIG_MACH_ECO920)			:= eco920
+board-$(CONFIG_MACH_EDB9301)			:= edb93xx
+board-$(CONFIG_MACH_EDB9302)			:= edb93xx
+board-$(CONFIG_MACH_EDB9302A)			:= edb93xx
+board-$(CONFIG_MACH_EDB9307)			:= edb93xx
+board-$(CONFIG_MACH_EDB9307A)			:= edb93xx
+board-$(CONFIG_MACH_EDB93012)			:= edb93xx
+board-$(CONFIG_MACH_EDB9315)			:= edb93xx
+board-$(CONFIG_MACH_EDB9315A)			:= edb93xx
 board-$(CONFIG_MACH_EUKREA_CPUIMX27)		:= eukrea_cpuimx27
 board-$(CONFIG_MACH_FREESCALE_MX35_3STACK)	:= freescale-mx35-3-stack
 board-$(CONFIG_MACH_FREESCALE_MX25_3STACK)	:= freescale-mx25-3-stack
arch/arm/lib/barebox.lds.S +5 -0
index c8d1bb9..a5eaefa 100644
@@ -39,6 +39,11 @@ SECTIONS
 		_stext = .;
 		_text = .;
 		*(.text_entry*)
+#ifdef CONFIG_ARCH_EP93XX
+		/* the EP93xx expects to find the pattern 'CRUS' at 0x1000 */
+	  . = 0x1000;
+	  LONG(0x53555243) /* 'CRUS' */
+#endif
 		*(.text_bare_init*)
 		*(.text*)
 	}
arch/arm/mach-ep93xx/Kconfig new file +438 -0

438 lines not on this page · raw message

arch/arm/mach-ep93xx/Makefile new file +3 -0
new file mode 100644
index 0000000..d5786db
@@ -0,0 +1,3 @@
+obj-y += clocksource.o led.o
+
+obj-$(CONFIG_MACH_DO_LOWLEVEL_INIT) += lowlevel_init.o
arch/arm/mach-ep93xx/clocksource.c new file +96 -0

96 lines not on this page · raw message

arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h new file +600 -0

600 lines not on this page · raw message

arch/arm/mach-ep93xx/led.c new file +62 -0

62 lines not on this page · raw message

arch/arm/mach-ep93xx/led.h new file +26 -0
new file mode 100644
index 0000000..db9512f
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2009 Matthias Kaehlcke <[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
+ */
+
+extern void red_LED_on(void);
+extern void red_LED_off(void);
+extern void green_LED_on(void);
+extern void green_LED_off(void);
arch/arm/mach-ep93xx/lowlevel_init.S new file +64 -0

64 lines not on this page · raw message

Signature · 7 lines
1.6.3.1


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox