mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH 1/3] arm: omap: clocks: move CM_REG and PRM_REG macros
@ 2012-12-11 10:59 Jan Luebbe
  2012-12-11 10:59 ` [PATCH 2/3] arm: omap: timers: split omap3/4 timer into a separate header Jan Luebbe
  2012-12-11 10:59 ` [PATCH 3/3] ARM OMAP AM33XX: create new ARCH for AM33xx Jan Luebbe
  0 siblings, 2 replies; 6+ messages in thread
From: Jan Luebbe @ 2012-12-11 10:59 UTC (permalink / raw)
  To: barebox

These macros will be used by AM33xx as well, so move them to clocks.h.

Based on a patch by Teresa Gámez <t.gamez@phytec.de>.

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
---
 arch/arm/mach-omap/include/mach/clocks.h      |    3 +++
 arch/arm/mach-omap/include/mach/omap3-clock.h |    3 ---
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-omap/include/mach/clocks.h b/arch/arm/mach-omap/include/mach/clocks.h
index b2b0c99..9e47a9e 100644
--- a/arch/arm/mach-omap/include/mach/clocks.h
+++ b/arch/arm/mach-omap/include/mach/clocks.h
@@ -37,6 +37,9 @@
 #define S26M		26000000
 #define S38_4M		38400000
 
+#define CM_REG(REGNAME)		(OMAP_CM_BASE + CM_##REGNAME)
+#define PRM_REG(REGNAME)	(OMAP_PRM_BASE + PRM_##REGNAME)
+
 #ifdef CONFIG_ARCH_OMAP3
 #include <mach/omap3-clock.h>
 #endif
diff --git a/arch/arm/mach-omap/include/mach/omap3-clock.h b/arch/arm/mach-omap/include/mach/omap3-clock.h
index 4f5a1d1..c36489c 100644
--- a/arch/arm/mach-omap/include/mach/omap3-clock.h
+++ b/arch/arm/mach-omap/include/mach/omap3-clock.h
@@ -27,8 +27,6 @@
 #define _OMAP343X_CLOCKS_H_
 
 /** CM Clock Regs Wrapper */
-#define CM_REG(REGNAME)	(OMAP_CM_BASE + CM_##REGNAME)
-
 #define CM_FCLKEN_IVA2		0X0000
 #define CM_CLKEN_PLL_IVA2	0X0004
 #define CM_IDLEST_PLL_IVA2	0X0024
@@ -77,7 +75,6 @@
 #define CM_CLKSTCTRL_USBH	0x1448
 
 /** PRM Clock Regs */
-#define PRM_REG(REGNAME)	(OMAP_PRM_BASE + PRM_##REGNAME)
 #define PRM_CLKSEL		0x0D40
 #define PRM_RSTCTRL		0x1250
 #define PRM_CLKSRC_CTRL		0x1270
-- 
1.7.10.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 2/3] arm: omap: timers: split omap3/4 timer into a separate header
  2012-12-11 10:59 [PATCH 1/3] arm: omap: clocks: move CM_REG and PRM_REG macros Jan Luebbe
@ 2012-12-11 10:59 ` Jan Luebbe
  2012-12-12  9:32   ` Teresa Gamez
  2012-12-12 18:39   ` Sascha Hauer
  2012-12-11 10:59 ` [PATCH 3/3] ARM OMAP AM33XX: create new ARCH for AM33xx Jan Luebbe
  1 sibling, 2 replies; 6+ messages in thread
From: Jan Luebbe @ 2012-12-11 10:59 UTC (permalink / raw)
  To: barebox

This prepares for adding the AM33xx timer.

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
---
 arch/arm/mach-omap/include/mach/omap3-timer.h |   56 +++++++++++++++++++++++++
 arch/arm/mach-omap/include/mach/timers.h      |   56 +++++--------------------
 2 files changed, 67 insertions(+), 45 deletions(-)
 create mode 100644 arch/arm/mach-omap/include/mach/omap3-timer.h

diff --git a/arch/arm/mach-omap/include/mach/omap3-timer.h b/arch/arm/mach-omap/include/mach/omap3-timer.h
new file mode 100644
index 0000000..e8dad9a
--- /dev/null
+++ b/arch/arm/mach-omap/include/mach/omap3-timer.h
@@ -0,0 +1,56 @@
+/**
+ * @file
+ * @brief This defines the Register defines for OMAP GPTimers and Sync32 timers.
+ *
+ * FileName: include/asm-arm/arch-omap/timers.h
+ *
+ * Originally from Linux kernel:
+ * http://linux.omap.com/pub/kernel/3430zoom/linux-ldp-v1.0b.tar.gz
+ *
+ */
+/*
+ * (C) Copyright 2008
+ * Texas Instruments, <www.ti.com>
+ * Nishanth Menon <x0nishan@ti.com>
+ *
+ * Copyright (C) 2007 Texas Instruments, <www.ti.com>
+ * Copyright (C) 2007 Nokia Corporation.
+ *
+ * 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.
+ *
+ */
+#ifndef __ASM_ARCH_GPT_H
+#define __ASM_ARCH_GPT_H
+
+/** General Purpose timer regs offsets (32 bit regs) */
+#define TIDR			0x0      /* r */
+#define TIOCP_CFG		0x10     /* rw */
+#define TISTAT			0x14     /* r */
+#define TISR			0x18     /* rw */
+#define TIER			0x1C     /* rw */
+#define TWER			0x20     /* rw */
+#define TCLR			0x24     /* rw */
+#define TCRR			0x28     /* rw */
+#define TLDR			0x2C     /* rw */
+#define TTGR			0x30     /* rw */
+#define TWPS			0x34     /* r */
+#define TMAR			0x38     /* rw */
+#define TCAR1			0x3c     /* r */
+#define TSICR			0x40     /* rw */
+#define TCAR2			0x44     /* r */
+/* Enable sys_clk NO-prescale /1 */
+#define GPT_EN			((0 << 2) | (0x1 << 1) | (0x1 << 0))
+
+/** Sync 32Khz Timer registers */
+#define S32K_CR			(OMAP_32KTIMER_BASE + 0x10)
+#define S32K_FREQUENCY		32768
+
+#endif /*__ASM_ARCH_GPT_H */
diff --git a/arch/arm/mach-omap/include/mach/timers.h b/arch/arm/mach-omap/include/mach/timers.h
index e8dad9a..b7242d1 100644
--- a/arch/arm/mach-omap/include/mach/timers.h
+++ b/arch/arm/mach-omap/include/mach/timers.h
@@ -1,25 +1,10 @@
-/**
- * @file
- * @brief This defines the Register defines for OMAP GPTimers and Sync32 timers.
- *
- * FileName: include/asm-arm/arch-omap/timers.h
- *
- * Originally from Linux kernel:
- * http://linux.omap.com/pub/kernel/3430zoom/linux-ldp-v1.0b.tar.gz
- *
- */
 /*
- * (C) Copyright 2008
- * Texas Instruments, <www.ti.com>
- * Nishanth Menon <x0nishan@ti.com>
- *
- * Copyright (C) 2007 Texas Instruments, <www.ti.com>
- * Copyright (C) 2007 Nokia Corporation.
+ * Copyright (C) 2012 Jan Luebbe <j.luebbe@pengutronix.de>
  *
- * 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 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
@@ -27,30 +12,11 @@
  * GNU General Public License for more details.
  *
  */
-#ifndef __ASM_ARCH_GPT_H
-#define __ASM_ARCH_GPT_H
-
-/** General Purpose timer regs offsets (32 bit regs) */
-#define TIDR			0x0      /* r */
-#define TIOCP_CFG		0x10     /* rw */
-#define TISTAT			0x14     /* r */
-#define TISR			0x18     /* rw */
-#define TIER			0x1C     /* rw */
-#define TWER			0x20     /* rw */
-#define TCLR			0x24     /* rw */
-#define TCRR			0x28     /* rw */
-#define TLDR			0x2C     /* rw */
-#define TTGR			0x30     /* rw */
-#define TWPS			0x34     /* r */
-#define TMAR			0x38     /* rw */
-#define TCAR1			0x3c     /* r */
-#define TSICR			0x40     /* rw */
-#define TCAR2			0x44     /* r */
-/* Enable sys_clk NO-prescale /1 */
-#define GPT_EN			((0 << 2) | (0x1 << 1) | (0x1 << 0))
+#ifndef __OMAP_TIMERS_H_
+#define __OMAP_TIMERS_H_
 
-/** Sync 32Khz Timer registers */
-#define S32K_CR			(OMAP_32KTIMER_BASE + 0x10)
-#define S32K_FREQUENCY		32768
+#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4)
+#include <mach/omap3-timer.h>
+#endif
 
-#endif /*__ASM_ARCH_GPT_H */
+#endif /* __OMAP_TIMERS_H_ */
-- 
1.7.10.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 3/3] ARM OMAP AM33XX: create new ARCH for AM33xx
  2012-12-11 10:59 [PATCH 1/3] arm: omap: clocks: move CM_REG and PRM_REG macros Jan Luebbe
  2012-12-11 10:59 ` [PATCH 2/3] arm: omap: timers: split omap3/4 timer into a separate header Jan Luebbe
@ 2012-12-11 10:59 ` Jan Luebbe
  2012-12-12 18:58   ` Sascha Hauer
  1 sibling, 1 reply; 6+ messages in thread
From: Jan Luebbe @ 2012-12-11 10:59 UTC (permalink / raw)
  To: barebox

From: Teresa Gámez <t.gamez@phytec.de>

Created ARCH for AM33xx boards as second stage bootloader.
This includes:
- Added dmtimer0
- Created basic header files
- Added MMC support for ARCH_AM33XX
- Added reset function

Signed-off-by: Teresa Gámez <t.gamez@phytec.de>

Some header file cleanup by:
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
---
 arch/arm/mach-omap/Kconfig                       |   11 ++++
 arch/arm/mach-omap/Makefile                      |    2 +
 arch/arm/mach-omap/am33xx_generic.c              |   29 +++++++++
 arch/arm/mach-omap/dmtimer0.c                    |   72 ++++++++++++++++++++++
 arch/arm/mach-omap/include/mach/am33xx-clock.h   |   25 ++++++++
 arch/arm/mach-omap/include/mach/am33xx-silicon.h |   51 +++++++++++++++
 arch/arm/mach-omap/include/mach/am33xx-timer.h   |   35 +++++++++++
 arch/arm/mach-omap/include/mach/clocks.h         |    3 +
 arch/arm/mach-omap/include/mach/silicon.h        |    3 +
 arch/arm/mach-omap/include/mach/timers.h         |    3 +
 drivers/mci/Kconfig                              |    2 +-
 11 files changed, 235 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/mach-omap/am33xx_generic.c
 create mode 100644 arch/arm/mach-omap/dmtimer0.c
 create mode 100644 arch/arm/mach-omap/include/mach/am33xx-clock.h
 create mode 100644 arch/arm/mach-omap/include/mach/am33xx-silicon.h
 create mode 100644 arch/arm/mach-omap/include/mach/am33xx-timer.h

diff --git a/arch/arm/mach-omap/Kconfig b/arch/arm/mach-omap/Kconfig
index 81f6127..5ccf7ae 100644
--- a/arch/arm/mach-omap/Kconfig
+++ b/arch/arm/mach-omap/Kconfig
@@ -42,12 +42,23 @@ config ARCH_OMAP4
 	help
 	  Say Y here if you are using Texas Instrument's OMAP4 based platform
 
+config ARCH_AM33XX
+	bool "AM33xx"
+	select CPU_V7
+	select GENERIC_GPIO
+	select OMAP_CLOCK_SOURCE_DMTIMER0
+	help
+	  Say Y here if you are using Texas Instrument's AM33xx based platform
+
 endchoice
 
 # Blind enable all possible clocks.. think twice before you do this.
 config OMAP_CLOCK_SOURCE_S32K
 	bool
 
+config OMAP_CLOCK_SOURCE_DMTIMER0
+	bool
+
 config OMAP3_CLOCK_CONFIG
 	prompt "Clock Configuration"
 	bool
diff --git a/arch/arm/mach-omap/Makefile b/arch/arm/mach-omap/Makefile
index 2ac7fb2..290034e 100644
--- a/arch/arm/mach-omap/Makefile
+++ b/arch/arm/mach-omap/Makefile
@@ -18,10 +18,12 @@
 obj-$(CONFIG_ARCH_OMAP) += syslib.o
 pbl-$(CONFIG_ARCH_OMAP) += syslib.o
 obj-$(CONFIG_OMAP_CLOCK_SOURCE_S32K) += s32k_clksource.o
+obj-$(CONFIG_OMAP_CLOCK_SOURCE_DMTIMER0) += dmtimer0.o
 obj-$(CONFIG_ARCH_OMAP3) += omap3_core.o omap3_generic.o auxcr.o
 pbl-$(CONFIG_ARCH_OMAP3) += omap3_core.o omap3_generic.o auxcr.o
 obj-$(CONFIG_ARCH_OMAP4) += omap4_generic.o omap4_clock.o
 pbl-$(CONFIG_ARCH_OMAP4) += omap4_generic.o omap4_clock.o
+obj-$(CONFIG_ARCH_AM33XX) += am33xx_generic.o
 obj-$(CONFIG_OMAP3_CLOCK_CONFIG) += omap3_clock.o
 pbl-$(CONFIG_OMAP3_CLOCK_CONFIG) += omap3_clock.o
 obj-$(CONFIG_OMAP_GPMC) += gpmc.o devices-gpmc-nand.o
diff --git a/arch/arm/mach-omap/am33xx_generic.c b/arch/arm/mach-omap/am33xx_generic.c
new file mode 100644
index 0000000..ba08773
--- /dev/null
+++ b/arch/arm/mach-omap/am33xx_generic.c
@@ -0,0 +1,29 @@
+/*
+ * (C) Copyright 2012 Teresa Gámez, Phytec Messtechnik GmbH
+ *
+ * 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 <io.h>
+#include <mach/silicon.h>
+#include <mach/clocks.h>
+
+void __noreturn reset_cpu(unsigned long addr)
+{
+	writel(PRM_RSTCTRL_RESET, PRM_REG(RSTCTRL));
+
+	while (1);
+}
diff --git a/arch/arm/mach-omap/dmtimer0.c b/arch/arm/mach-omap/dmtimer0.c
new file mode 100644
index 0000000..b8ec43f
--- /dev/null
+++ b/arch/arm/mach-omap/dmtimer0.c
@@ -0,0 +1,72 @@
+/**
+ * @file
+ * @brief Support DMTimer0 counter
+ *
+ * FileName: arch/arm/mach-omap/dmtimer0.c
+ */
+/*
+ * This File is based on arch/arm/mach-omap/s32k_clksource.c
+ * (C) Copyright 2008
+ * Texas Instruments, <www.ti.com>
+ * Nishanth Menon <x0nishan@ti.com>
+ *
+ * (C) Copyright 2012 Teresa Gámez, Phytec Messtechnik GmbH
+ *
+ * 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 <clock.h>
+#include <init.h>
+#include <io.h>
+#include <mach/silicon.h>
+#include <mach/timers.h>
+
+#define CLK_RC32K	32768
+
+/**
+ * @brief Provide a simple counter read
+ *
+ * @return DMTimer0 counter
+ */
+static uint64_t dmtimer0_read(void)
+{
+	return readl(AM33XX_DMTIMER0_BASE + TCRR);
+}
+
+static struct clocksource dmtimer0_cs = {
+	.read	= dmtimer0_read,
+	.mask	= CLOCKSOURCE_MASK(32),
+	.shift	= 10,
+};
+
+/**
+ * @brief Initialize the Clock
+ *
+ * Enable dmtimer0.
+ *
+ * @return result of @ref init_clock
+ */
+static int dmtimer0_init(void)
+{
+	dmtimer0_cs.mult = clocksource_hz2mult(CLK_RC32K, dmtimer0_cs.shift);
+	/* Enable counter */
+	writel(0x3, AM33XX_DMTIMER0_BASE + TCLR);
+
+	return init_clock(&dmtimer0_cs);
+}
+
+/* Run me at boot time */
+core_initcall(dmtimer0_init);
diff --git a/arch/arm/mach-omap/include/mach/am33xx-clock.h b/arch/arm/mach-omap/include/mach/am33xx-clock.h
new file mode 100644
index 0000000..654c104
--- /dev/null
+++ b/arch/arm/mach-omap/include/mach/am33xx-clock.h
@@ -0,0 +1,25 @@
+/*
+ * (C) Copyright 2012 Teresa Gámez, Phytec Messtechnik GmbH
+ *
+ * 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
+ */
+#ifndef _AM33XX_CLOCKS_H_
+#define _AM33XX_CLOCKS_H_
+
+/** PRM Clock Regs */
+#define PRM_RSTCTRL		0x0f00
+
+#endif  /* endif _AM33XX_CLOCKS_H_ */
diff --git a/arch/arm/mach-omap/include/mach/am33xx-silicon.h b/arch/arm/mach-omap/include/mach/am33xx-silicon.h
new file mode 100644
index 0000000..7b13991
--- /dev/null
+++ b/arch/arm/mach-omap/include/mach/am33xx-silicon.h
@@ -0,0 +1,51 @@
+/*
+ * This file contains the address info for various AM33XX modules.
+ *
+ * Copyright (C) 2012 Teresa Gámez <t.gamez@phytec.de>,
+ *		 Phytec Messtechnik GmbH
+ *
+ * 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 version 2.
+ *
+ * This program is distributed "as is" WITHOUT ANY WARRANTY of any
+ * kind, whether express or implied; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __ASM_ARCH_AM33XX_H
+#define __ASM_ARCH_AM33XX_H
+
+/** AM335x Internal Bus Base addresses */
+#define AM33XX_L4_WKUP_BASE		0x44C00000
+#define AM33XX_L4_PER_BASE		0x48000000
+#define AM33XX_L4_FAST_BASE		0x4A000000
+
+/* UART */
+#define AM33XX_UART0_BASE		(AM33XX_L4_WKUP_BASE + 0x209000)
+#define AM33XX_UART1_BASE		(AM33XX_L4_PER_BASE + 0x22000)
+#define AM33XX_UART2_BASE		(AM33XX_L4_PER_BASE + 0x24000)
+
+
+/* EMFI Registers */
+#define AM33XX_EMFI0_BASE		0x4C000000
+
+#define AM33XX_DRAM_ADDR_SPACE_START	0x80000000
+#define AM33XX_DRAM_ADDR_SPACE_END	0xC0000000
+
+/* GPMC */
+#define OMAP_GPMC_BASE			0x50000000
+
+/* MMC */
+#define AM33XX_MMCHS0_BASE		(AM33XX_L4_PER_BASE + 0x60000)
+
+/* DTMTimer0 */
+#define AM33XX_DMTIMER0_BASE		(AM33XX_L4_WKUP_BASE + 0x205000)
+
+/* PRM */
+#define OMAP_PRM_BASE			(AM33XX_L4_WKUP_BASE + 0x200000)
+
+#define PRM_RSTCTRL_RESET		0x1
+
+#endif
diff --git a/arch/arm/mach-omap/include/mach/am33xx-timer.h b/arch/arm/mach-omap/include/mach/am33xx-timer.h
new file mode 100644
index 0000000..ce33851
--- /dev/null
+++ b/arch/arm/mach-omap/include/mach/am33xx-timer.h
@@ -0,0 +1,35 @@
+/*
+ * (C) Copyright 2012 Teresa Gámez, Phytec Messtechnik GmbH
+ *
+ * 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.
+ */
+#ifndef _AM33XX_TIMER_H_
+#define _AM33XX_TIMER_H_
+
+#define TIDR			0x0
+#define TIOCP_CFG		0x10
+#define IRQ_EOI			0x20
+#define IRQSTATUS_RAW		0x24
+#define IRQSTATUS		0x28
+#define IRQSTATUS_SET		0x2c
+#define IRQSTATUS_CLR		0x30
+#define IRQWAKEEN		0x34
+#define TCLR			0x38
+#define TCRR			0x3C
+#define TLDR			0x40
+#define TTGR			0x44
+#define TWPS			0x48
+#define TMAR			0x4C
+#define TCAR1			0x50
+#define TSICR			0x54
+#define TCAR2			0x58
+
+#endif  /* endif _AM33XX_TIMER_H_ */
diff --git a/arch/arm/mach-omap/include/mach/clocks.h b/arch/arm/mach-omap/include/mach/clocks.h
index 9e47a9e..ed1b368 100644
--- a/arch/arm/mach-omap/include/mach/clocks.h
+++ b/arch/arm/mach-omap/include/mach/clocks.h
@@ -46,5 +46,8 @@
 #ifdef CONFIG_ARCH_OMAP4
 #include <mach/omap4-clock.h>
 #endif
+#ifdef CONFIG_ARCH_AM33XX
+#include <mach/am33xx-clock.h>
+#endif
 
 #endif /* __OMAP_CLOCKS_H_ */
diff --git a/arch/arm/mach-omap/include/mach/silicon.h b/arch/arm/mach-omap/include/mach/silicon.h
index 5ee1931..ff30ad9 100644
--- a/arch/arm/mach-omap/include/mach/silicon.h
+++ b/arch/arm/mach-omap/include/mach/silicon.h
@@ -24,6 +24,9 @@
 #ifdef CONFIG_ARCH_OMAP4
 #include <mach/omap4-silicon.h>
 #endif
+#ifdef CONFIG_ARCH_AM33XX
+#include <mach/am33xx-silicon.h>
+#endif
 
 /* If Architecture specific init functions are present */
 #ifndef __ASSEMBLY__
diff --git a/arch/arm/mach-omap/include/mach/timers.h b/arch/arm/mach-omap/include/mach/timers.h
index b7242d1..a4d4cee 100644
--- a/arch/arm/mach-omap/include/mach/timers.h
+++ b/arch/arm/mach-omap/include/mach/timers.h
@@ -18,5 +18,8 @@
 #if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4)
 #include <mach/omap3-timer.h>
 #endif
+#if defined(CONFIG_ARCH_AM33XX)
+#include <mach/am33xx-timer.h>
+#endif
 
 #endif /* __OMAP_TIMERS_H_ */
diff --git a/drivers/mci/Kconfig b/drivers/mci/Kconfig
index 5c0ca4d..e09fa12 100644
--- a/drivers/mci/Kconfig
+++ b/drivers/mci/Kconfig
@@ -67,7 +67,7 @@ config MCI_IMX_ESDHC_PIO
 
 config MCI_OMAP_HSMMC
 	bool "OMAP HSMMC"
-	depends on ARCH_OMAP4 || ARCH_OMAP3
+	depends on ARCH_OMAP4 || ARCH_OMAP3 || ARCH_AM33XX
 	help
 	  Enable this entry to add support to read and write SD cards on
 	  both OMAP3 and OMAP4 based systems.
-- 
1.7.10.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/3] arm: omap: timers: split omap3/4 timer into a separate header
  2012-12-11 10:59 ` [PATCH 2/3] arm: omap: timers: split omap3/4 timer into a separate header Jan Luebbe
@ 2012-12-12  9:32   ` Teresa Gamez
  2012-12-12 18:39   ` Sascha Hauer
  1 sibling, 0 replies; 6+ messages in thread
From: Teresa Gamez @ 2012-12-12  9:32 UTC (permalink / raw)
  To: Jan Luebbe; +Cc: barebox

Hello Jan,

I tried to apply this one on master for testing.
But it got rejected.  
Can you check it?

Regards,
Teresa

On Tue, 11. Dec 11:59, Jan Luebbe wrote:
> This prepares for adding the AM33xx timer.
> 
> Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
> ---
>  arch/arm/mach-omap/include/mach/omap3-timer.h |   56 +++++++++++++++++++++++++
>  arch/arm/mach-omap/include/mach/timers.h      |   56 +++++--------------------
>  2 files changed, 67 insertions(+), 45 deletions(-)
>  create mode 100644 arch/arm/mach-omap/include/mach/omap3-timer.h
> 
> diff --git a/arch/arm/mach-omap/include/mach/omap3-timer.h b/arch/arm/mach-omap/include/mach/omap3-timer.h
> new file mode 100644
> index 0000000..e8dad9a
> --- /dev/null
> +++ b/arch/arm/mach-omap/include/mach/omap3-timer.h
> @@ -0,0 +1,56 @@
> +/**
> + * @file
> + * @brief This defines the Register defines for OMAP GPTimers and Sync32 timers.
> + *
> + * FileName: include/asm-arm/arch-omap/timers.h
> + *
> + * Originally from Linux kernel:
> + * http://linux.omap.com/pub/kernel/3430zoom/linux-ldp-v1.0b.tar.gz
> + *
> + */
> +/*
> + * (C) Copyright 2008
> + * Texas Instruments, <www.ti.com>
> + * Nishanth Menon <x0nishan@ti.com>
> + *
> + * Copyright (C) 2007 Texas Instruments, <www.ti.com>
> + * Copyright (C) 2007 Nokia Corporation.
> + *
> + * 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.
> + *
> + */
> +#ifndef __ASM_ARCH_GPT_H
> +#define __ASM_ARCH_GPT_H
> +
> +/** General Purpose timer regs offsets (32 bit regs) */
> +#define TIDR			0x0      /* r */
> +#define TIOCP_CFG		0x10     /* rw */
> +#define TISTAT			0x14     /* r */
> +#define TISR			0x18     /* rw */
> +#define TIER			0x1C     /* rw */
> +#define TWER			0x20     /* rw */
> +#define TCLR			0x24     /* rw */
> +#define TCRR			0x28     /* rw */
> +#define TLDR			0x2C     /* rw */
> +#define TTGR			0x30     /* rw */
> +#define TWPS			0x34     /* r */
> +#define TMAR			0x38     /* rw */
> +#define TCAR1			0x3c     /* r */
> +#define TSICR			0x40     /* rw */
> +#define TCAR2			0x44     /* r */
> +/* Enable sys_clk NO-prescale /1 */
> +#define GPT_EN			((0 << 2) | (0x1 << 1) | (0x1 << 0))
> +
> +/** Sync 32Khz Timer registers */
> +#define S32K_CR			(OMAP_32KTIMER_BASE + 0x10)
> +#define S32K_FREQUENCY		32768
> +
> +#endif /*__ASM_ARCH_GPT_H */
> diff --git a/arch/arm/mach-omap/include/mach/timers.h b/arch/arm/mach-omap/include/mach/timers.h
> index e8dad9a..b7242d1 100644
> --- a/arch/arm/mach-omap/include/mach/timers.h
> +++ b/arch/arm/mach-omap/include/mach/timers.h
> @@ -1,25 +1,10 @@
> -/**
> - * @file
> - * @brief This defines the Register defines for OMAP GPTimers and Sync32 timers.
> - *
> - * FileName: include/asm-arm/arch-omap/timers.h
> - *
> - * Originally from Linux kernel:
> - * http://linux.omap.com/pub/kernel/3430zoom/linux-ldp-v1.0b.tar.gz
> - *
> - */
>  /*
> - * (C) Copyright 2008
> - * Texas Instruments, <www.ti.com>
> - * Nishanth Menon <x0nishan@ti.com>
> - *
> - * Copyright (C) 2007 Texas Instruments, <www.ti.com>
> - * Copyright (C) 2007 Nokia Corporation.
> + * Copyright (C) 2012 Jan Luebbe <j.luebbe@pengutronix.de>
>   *
> - * 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 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
> @@ -27,30 +12,11 @@
>   * GNU General Public License for more details.
>   *
>   */
> -#ifndef __ASM_ARCH_GPT_H
> -#define __ASM_ARCH_GPT_H
> -
> -/** General Purpose timer regs offsets (32 bit regs) */
> -#define TIDR			0x0      /* r */
> -#define TIOCP_CFG		0x10     /* rw */
> -#define TISTAT			0x14     /* r */
> -#define TISR			0x18     /* rw */
> -#define TIER			0x1C     /* rw */
> -#define TWER			0x20     /* rw */
> -#define TCLR			0x24     /* rw */
> -#define TCRR			0x28     /* rw */
> -#define TLDR			0x2C     /* rw */
> -#define TTGR			0x30     /* rw */
> -#define TWPS			0x34     /* r */
> -#define TMAR			0x38     /* rw */
> -#define TCAR1			0x3c     /* r */
> -#define TSICR			0x40     /* rw */
> -#define TCAR2			0x44     /* r */
> -/* Enable sys_clk NO-prescale /1 */
> -#define GPT_EN			((0 << 2) | (0x1 << 1) | (0x1 << 0))
> +#ifndef __OMAP_TIMERS_H_
> +#define __OMAP_TIMERS_H_
>  
> -/** Sync 32Khz Timer registers */
> -#define S32K_CR			(OMAP_32KTIMER_BASE + 0x10)
> -#define S32K_FREQUENCY		32768
> +#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4)
> +#include <mach/omap3-timer.h>
> +#endif
>  
> -#endif /*__ASM_ARCH_GPT_H */
> +#endif /* __OMAP_TIMERS_H_ */
> -- 
> 1.7.10.4
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/3] arm: omap: timers: split omap3/4 timer into a separate header
  2012-12-11 10:59 ` [PATCH 2/3] arm: omap: timers: split omap3/4 timer into a separate header Jan Luebbe
  2012-12-12  9:32   ` Teresa Gamez
@ 2012-12-12 18:39   ` Sascha Hauer
  1 sibling, 0 replies; 6+ messages in thread
From: Sascha Hauer @ 2012-12-12 18:39 UTC (permalink / raw)
  To: Jan Luebbe; +Cc: barebox

On Tue, Dec 11, 2012 at 11:59:26AM +0100, Jan Luebbe wrote:
> This prepares for adding the AM33xx timer.
> 
> Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
> ---
>  arch/arm/mach-omap/include/mach/omap3-timer.h |   56 +++++++++++++++++++++++++
>  arch/arm/mach-omap/include/mach/timers.h      |   56 +++++--------------------
>  2 files changed, 67 insertions(+), 45 deletions(-)
>  create mode 100644 arch/arm/mach-omap/include/mach/omap3-timer.h
> 
> diff --git a/arch/arm/mach-omap/include/mach/omap3-timer.h b/arch/arm/mach-omap/include/mach/omap3-timer.h
> new file mode 100644
> index 0000000..e8dad9a
> --- /dev/null
> +++ b/arch/arm/mach-omap/include/mach/omap3-timer.h
> +
> +/** General Purpose timer regs offsets (32 bit regs) */
> +#define TIDR			0x0      /* r */

Defines without namespace become very painful sooner or later. You won't
be able to compile multiple versions of the timer. There is a high risk
that they conflict with other defines.

Please move these defines into the C file using it. They are used in a
single file only.

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 3/3] ARM OMAP AM33XX: create new ARCH for AM33xx
  2012-12-11 10:59 ` [PATCH 3/3] ARM OMAP AM33XX: create new ARCH for AM33xx Jan Luebbe
@ 2012-12-12 18:58   ` Sascha Hauer
  0 siblings, 0 replies; 6+ messages in thread
From: Sascha Hauer @ 2012-12-12 18:58 UTC (permalink / raw)
  To: Jan Luebbe; +Cc: barebox

On Tue, Dec 11, 2012 at 11:59:27AM +0100, Jan Luebbe wrote:
> From: Teresa Gámez <t.gamez@phytec.de>
> 
> Created ARCH for AM33xx boards as second stage bootloader.
> This includes:
> - Added dmtimer0
> - Created basic header files
> - Added MMC support for ARCH_AM33XX
> - Added reset function
> 
> Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
> 

[...]

> diff --git a/arch/arm/mach-omap/include/mach/clocks.h b/arch/arm/mach-omap/include/mach/clocks.h
> index 9e47a9e..ed1b368 100644
> --- a/arch/arm/mach-omap/include/mach/clocks.h
> +++ b/arch/arm/mach-omap/include/mach/clocks.h
> @@ -46,5 +46,8 @@
>  #ifdef CONFIG_ARCH_OMAP4
>  #include <mach/omap4-clock.h>
>  #endif
> +#ifdef CONFIG_ARCH_AM33XX
> +#include <mach/am33xx-clock.h>
> +#endif

We should really get rid of such things. Compiling for different SoCs by
creating conflicting defines is easy first and very painful later.
Please clean this up before more SoCs are added.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-12-12 18:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-11 10:59 [PATCH 1/3] arm: omap: clocks: move CM_REG and PRM_REG macros Jan Luebbe
2012-12-11 10:59 ` [PATCH 2/3] arm: omap: timers: split omap3/4 timer into a separate header Jan Luebbe
2012-12-12  9:32   ` Teresa Gamez
2012-12-12 18:39   ` Sascha Hauer
2012-12-11 10:59 ` [PATCH 3/3] ARM OMAP AM33XX: create new ARCH for AM33xx Jan Luebbe
2012-12-12 18:58   ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox