* zmc@xxxxxxxxxx <zmc@xxxxxxxxxx> [090308 11:12]: > On Wed, Mar 04, 2009 at 10:05:32AM -0800, Tony Lindgren wrote: > > * zmc@xxxxxxxxxx <zmc@xxxxxxxxxx> [090127 16:25]: > > > On Mon, Jan 26, 2009 at 08:48:38AM -0800, Tony Lindgren wrote: > > > > Hi, > > > > > > > > * Zebediah C. McClure <zmc@xxxxxxxxxx> [090124 11:27]: > > > > > --- > > > > > arch/arm/mach-omap1/id.c | 4 +- > > > > > arch/arm/plat-omap/include/mach/cpu.h | 35 +++++++++- > > > > > arch/arm/plat-omap/include/mach/hardware.h | 1 + > > > > > arch/arm/plat-omap/include/mach/omap850.h | 102 ++++++++++++++++++++++++++++ > > > > > 4 files changed, 137 insertions(+), 5 deletions(-) > > > > > create mode 100644 arch/arm/plat-omap/include/mach/omap850.h > > > > > > > > > > > > > <snip> > > > > > > > > > diff --git a/arch/arm/plat-omap/include/mach/hardware.h b/arch/arm/plat-omap/include/mach/hardware.h > > > > > index 6589ddb..8cffc07 100644 > > > > > --- a/arch/arm/plat-omap/include/mach/hardware.h > > > > > +++ b/arch/arm/plat-omap/include/mach/hardware.h > > > > > @@ -281,6 +281,7 @@ > > > > > */ > > > > > > > > > > #include "omap730.h" > > > > > +#include "omap850.h" > > > > > #include "omap1510.h" > > > > > #include "omap16xx.h" > > > > > #include "omap24xx.h" > > > > > > > > The patch looks good in general. However, can you please leave out the > > > > include "omap850.h" above, and include omap850.h directly where needed? > > > > > > > > I'm working on a set of patches to remove the inclusion of the > > > > processor headers in hardware.h. These include will unecessarily > > > > force recompile of everything when changing processor type as noted by > > > > Russell. > > > > Zebediah, could you please repost the following patches one more time > > with proper Signed-off-by? > > > > [PATCH] [OMAP850] Base support for omap850 cpu > > [PATCH] [OMAP850] Changes to base IO subsystems > > [PATCH] [OMAP850] Changes to memory subsystems > > [PATCH] [OMAP850] IRQ related changes > > > > Then I'll add these to my for-next branch to be merged. We still need > > to wait on the clock and PM changes, but at least that shrinks down your > > patchset quite a bit. > > > > Regards, > > > > Tony > > > > Here they are. I also have them available in git if you prefer. Thanks. I've added them to my for-next branch except for the clock patch [1]. So no git branch needed right now. Note that I've made some cosmetic changes and fixed few whitespace typos. Also changed the gpio.c void __iomem * casts into to use IO_ADDRESS(). I suggest you refresh your clock patch once all the other pending clock patches go into the mainline during the next merge window, and then repost that here with linux-omap@xxxxxxxxxxxxxxx Cc'd. Then if everything looks good, hopefully we'll have enough time to get that one in too during the merge window. Regards, Tony [1] http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=shortlog;h=for-next > Thanks again, > > Zeb > > > > > Regards, > > > > > > > > Tony > > > > > > Thanks, > > > > > > Removed include. > > > > > > zmc > > > > > From 434fd1dafe3bdcd28d524f14cc107a29c3332700 Mon Sep 17 00:00:00 2001 > > > From: Zebediah C. McClure <zmc@xxxxxxxxxx> > > > Date: Tue, 27 Jan 2009 20:16:26 -0400 > > > Subject: [PATCH] [OMAP850] Base support for omap850 cpu. > > > > > > --- > > > arch/arm/mach-omap1/id.c | 4 +- > > > arch/arm/plat-omap/include/mach/cpu.h | 35 +++++++++- > > > arch/arm/plat-omap/include/mach/omap850.h | 102 +++++++++++++++++++++++++++++ > > > 3 files changed, 136 insertions(+), 5 deletions(-) > > > create mode 100644 arch/arm/plat-omap/include/mach/omap850.h > > > > > > diff --git a/arch/arm/mach-omap1/id.c b/arch/arm/mach-omap1/id.c > > > index 89bb875..4ef26fa 100644 > > > --- a/arch/arm/mach-omap1/id.c > > > +++ b/arch/arm/mach-omap1/id.c > > > @@ -38,6 +38,7 @@ static struct omap_id omap_ids[] __initdata = { > > > { .jtag_id = 0xb574, .die_rev = 0x2, .omap_id = 0x03310315, .type = 0x03100000}, > > > { .jtag_id = 0x355f, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x07300100}, > > > { .jtag_id = 0xb55f, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x07300300}, > > > + { .jtag_id = 0xb55f, .die_rev = 0x0, .omap_id = 0x03320500, .type = 0x08500000}, > > > { .jtag_id = 0xb470, .die_rev = 0x0, .omap_id = 0x03310100, .type = 0x15100000}, > > > { .jtag_id = 0xb576, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x16100000}, > > > { .jtag_id = 0xb576, .die_rev = 0x2, .omap_id = 0x03320100, .type = 0x16110000}, > > > @@ -77,7 +78,7 @@ static u16 __init omap_get_jtag_id(void) > > > prod_id = omap_readl(OMAP_PRODUCTION_ID_1); > > > omap_id = omap_readl(OMAP32_ID_1); > > > > > > - /* Check for unusable OMAP_PRODUCTION_ID_1 on 1611B/5912 and 730 */ > > > + /* Check for unusable OMAP_PRODUCTION_ID_1 on 1611B/5912 and 730/850 */ > > > if (((prod_id >> 20) == 0) || (prod_id == omap_id)) > > > prod_id = 0; > > > else > > > @@ -178,6 +179,7 @@ void __init omap_check_revision(void) > > > > > > switch (cpu_type) { > > > case 0x07: > > > + case 0x08: > > > omap_revision |= 0x07; > > > break; > > > case 0x03: > > > diff --git a/arch/arm/plat-omap/include/mach/cpu.h b/arch/arm/plat-omap/include/mach/cpu.h > > > index b2062f1..ef399f4 100644 > > > --- a/arch/arm/plat-omap/include/mach/cpu.h > > > +++ b/arch/arm/plat-omap/include/mach/cpu.h > > > @@ -56,6 +56,14 @@ unsigned int omap_rev(void); > > > # define OMAP_NAME omap730 > > > # endif > > > #endif > > > +#ifdef CONFIG_ARCH_OMAP850 > > > +# ifdef OMAP_NAME > > > +# undef MULTI_OMAP1 > > > +# define MULTI_OMAP1 > > > +# else > > > +# define OMAP_NAME omap850 > > > +# endif > > > +#endif > > > #ifdef CONFIG_ARCH_OMAP15XX > > > # ifdef OMAP_NAME > > > # undef MULTI_OMAP1 > > > @@ -105,7 +113,7 @@ unsigned int omap_rev(void); > > > /* > > > * Macros to group OMAP into cpu classes. > > > * These can be used in most places. > > > - * cpu_is_omap7xx(): True for OMAP730 > > > + * cpu_is_omap7xx(): True for OMAP730, OMAP850 > > > * cpu_is_omap15xx(): True for OMAP1510, OMAP5910 and OMAP310 > > > * cpu_is_omap16xx(): True for OMAP1610, OMAP5912 and OMAP1710 > > > * cpu_is_omap24xx(): True for OMAP2420, OMAP2422, OMAP2423, OMAP2430 > > > @@ -153,6 +161,10 @@ IS_OMAP_SUBCLASS(343x, 0x343) > > > # undef cpu_is_omap7xx > > > # define cpu_is_omap7xx() is_omap7xx() > > > # endif > > > +# if defined(CONFIG_ARCH_OMAP850) > > > +# undef cpu_is_omap7xx > > > +# define cpu_is_omap7xx() is_omap7xx() > > > +# endif > > > # if defined(CONFIG_ARCH_OMAP15XX) > > > # undef cpu_is_omap15xx > > > # define cpu_is_omap15xx() is_omap15xx() > > > @@ -166,6 +178,10 @@ IS_OMAP_SUBCLASS(343x, 0x343) > > > # undef cpu_is_omap7xx > > > # define cpu_is_omap7xx() 1 > > > # endif > > > +# if defined(CONFIG_ARCH_OMAP850) > > > +# undef cpu_is_omap7xx > > > +# define cpu_is_omap7xx() 1 > > > +# endif > > > # if defined(CONFIG_ARCH_OMAP15XX) > > > # undef cpu_is_omap15xx > > > # define cpu_is_omap15xx() 1 > > > @@ -219,6 +235,7 @@ IS_OMAP_SUBCLASS(343x, 0x343) > > > * These are only rarely needed. > > > * cpu_is_omap330(): True for OMAP330 > > > * cpu_is_omap730(): True for OMAP730 > > > + * cpu_is_omap850(): True for OMAP850 > > > * cpu_is_omap1510(): True for OMAP1510 > > > * cpu_is_omap1610(): True for OMAP1610 > > > * cpu_is_omap1611(): True for OMAP1611 > > > @@ -241,6 +258,7 @@ static inline int is_omap ##type (void) \ > > > > > > IS_OMAP_TYPE(310, 0x0310) > > > IS_OMAP_TYPE(730, 0x0730) > > > +IS_OMAP_TYPE(850, 0x0850) > > > IS_OMAP_TYPE(1510, 0x1510) > > > IS_OMAP_TYPE(1610, 0x1610) > > > IS_OMAP_TYPE(1611, 0x1611) > > > @@ -255,6 +273,7 @@ IS_OMAP_TYPE(3430, 0x3430) > > > > > > #define cpu_is_omap310() 0 > > > #define cpu_is_omap730() 0 > > > +#define cpu_is_omap850() 0 > > > #define cpu_is_omap1510() 0 > > > #define cpu_is_omap1610() 0 > > > #define cpu_is_omap5912() 0 > > > @@ -272,12 +291,22 @@ IS_OMAP_TYPE(3430, 0x3430) > > > # undef cpu_is_omap730 > > > # define cpu_is_omap730() is_omap730() > > > # endif > > > +# if defined(CONFIG_ARCH_OMAP850) > > > +# undef cpu_is_omap850 > > > +# define cpu_is_omap850() is_omap850() > > > +# endif > > > #else > > > # if defined(CONFIG_ARCH_OMAP730) > > > # undef cpu_is_omap730 > > > # define cpu_is_omap730() 1 > > > # endif > > > #endif > > > +#else > > > +# if defined(CONFIG_ARCH_OMAP850) > > > +# undef cpu_is_omap850 > > > +# define cpu_is_omap850() 1 > > > +# endif > > > +#endif > > > > > > /* > > > * Whether we have MULTI_OMAP1 or not, we still need to distinguish > > > @@ -320,7 +349,7 @@ IS_OMAP_TYPE(3430, 0x3430) > > > #endif > > > > > > /* Macros to detect if we have OMAP1 or OMAP2 */ > > > -#define cpu_class_is_omap1() (cpu_is_omap730() || cpu_is_omap15xx() || \ > > > +#define cpu_class_is_omap1() (cpu_is_omap7xx() || cpu_is_omap15xx() || \ > > > cpu_is_omap16xx()) > > > #define cpu_class_is_omap2() (cpu_is_omap24xx() || cpu_is_omap34xx()) > > > > > > @@ -377,5 +406,3 @@ int omap_type(void); > > > void omap2_check_revision(void); > > > > > > #endif /* defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) */ > > > - > > > -#endif > > > diff --git a/arch/arm/plat-omap/include/mach/omap850.h b/arch/arm/plat-omap/include/mach/omap850.h > > > new file mode 100644 > > > index 0000000..c33f679 > > > --- /dev/null > > > +++ b/arch/arm/plat-omap/include/mach/omap850.h > > > @@ -0,0 +1,102 @@ > > > +/* arch/arm/plat-omap/include/mach/omap850.h > > > + * > > > + * Hardware definitions for TI OMAP850 processor. > > > + * > > > + * Derived from omap730.h by Zebediah C. McClure <zmc@xxxxxxxxxx> > > > + * > > > + * 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 SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED > > > + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF > > > + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN > > > + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, > > > + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT > > > + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF > > > + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON > > > + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > > > + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF > > > + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > > > + * > > > + * 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., > > > + * 675 Mass Ave, Cambridge, MA 02139, USA. > > > + */ > > > + > > > +#ifndef __ASM_ARCH_OMAP850_H > > > +#define __ASM_ARCH_OMAP850_H > > > + > > > +/* > > > + * ---------------------------------------------------------------------------- > > > + * Base addresses > > > + * ---------------------------------------------------------------------------- > > > + */ > > > + > > > +/* Syntax: XX_BASE = Virtual base address, XX_START = Physical base address */ > > > + > > > +#define OMAP850_DSP_BASE 0xE0000000 > > > +#define OMAP850_DSP_SIZE 0x50000 > > > +#define OMAP850_DSP_START 0xE0000000 > > > + > > > +#define OMAP850_DSPREG_BASE 0xE1000000 > > > +#define OMAP850_DSPREG_SIZE SZ_128K > > > +#define OMAP850_DSPREG_START 0xE1000000 > > > + > > > +/* > > > + * ---------------------------------------------------------------------------- > > > + * OMAP850 specific configuration registers > > > + * ---------------------------------------------------------------------------- > > > + */ > > > +#define OMAP850_CONFIG_BASE 0xfffe1000 > > > +#define OMAP850_IO_CONF_0 0xfffe1070 > > > +#define OMAP850_IO_CONF_1 0xfffe1074 > > > +#define OMAP850_IO_CONF_2 0xfffe1078 > > > +#define OMAP850_IO_CONF_3 0xfffe107c > > > +#define OMAP850_IO_CONF_4 0xfffe1080 > > > +#define OMAP850_IO_CONF_5 0xfffe1084 > > > +#define OMAP850_IO_CONF_6 0xfffe1088 > > > +#define OMAP850_IO_CONF_7 0xfffe108c > > > +#define OMAP850_IO_CONF_8 0xfffe1090 > > > +#define OMAP850_IO_CONF_9 0xfffe1094 > > > +#define OMAP850_IO_CONF_10 0xfffe1098 > > > +#define OMAP850_IO_CONF_11 0xfffe109c > > > +#define OMAP850_IO_CONF_12 0xfffe10a0 > > > +#define OMAP850_IO_CONF_13 0xfffe10a4 > > > + > > > +#define OMAP850_MODE_1 0xfffe1010 > > > +#define OMAP850_MODE_2 0xfffe1014 > > > + > > > +/* CSMI specials: in terms of base + offset */ > > > +#define OMAP850_MODE2_OFFSET 0x14 > > > + > > > +/* > > > + * ---------------------------------------------------------------------------- > > > + * OMAP850 traffic controller configuration registers > > > + * ---------------------------------------------------------------------------- > > > + */ > > > +#define OMAP850_FLASH_CFG_0 0xfffecc10 > > > +#define OMAP850_FLASH_ACFG_0 0xfffecc50 > > > +#define OMAP850_FLASH_CFG_1 0xfffecc14 > > > +#define OMAP850_FLASH_ACFG_1 0xfffecc54 > > > + > > > +/* > > > + * ---------------------------------------------------------------------------- > > > + * OMAP850 DSP control registers > > > + * ---------------------------------------------------------------------------- > > > + */ > > > +#define OMAP850_ICR_BASE 0xfffbb800 > > > +#define OMAP850_DSP_M_CTL 0xfffbb804 > > > +#define OMAP850_DSP_MMU_BASE 0xfffed200 > > > + > > > +/* > > > + * ---------------------------------------------------------------------------- > > > + * OMAP850 PCC_UPLD configuration registers > > > + * ---------------------------------------------------------------------------- > > > + */ > > > +#define OMAP850_PCC_UPLD_CTRL_BASE (0xfffe0900) > > > +#define OMAP850_PCC_UPLD_CTRL (OMAP850_PCC_UPLD_CTRL_BASE + 0x00) > > > + > > > +#endif /* __ASM_ARCH_OMAP850_H */ > > > + > > > -- > > > 1.6.0.6 > > > > > > > > From 58cb409cee3d727e3c1768775af3664c7d3c8ca0 Mon Sep 17 00:00:00 2001 > From: Zebediah C. McClure <zmc@xxxxxxxxxx> > Date: Tue, 27 Jan 2009 20:16:26 -0400 > Subject: [PATCH] [OMAP850] Base support for omap850 cpu. > > > Signed-off-by: Zebediah C. McClure <zmc@xxxxxxxxxx> > --- > arch/arm/mach-omap1/id.c | 4 +- > arch/arm/plat-omap/include/mach/cpu.h | 35 +++++++++- > arch/arm/plat-omap/include/mach/omap850.h | 102 +++++++++++++++++++++++++++++ > 3 files changed, 136 insertions(+), 5 deletions(-) > create mode 100644 arch/arm/plat-omap/include/mach/omap850.h > > diff --git a/arch/arm/mach-omap1/id.c b/arch/arm/mach-omap1/id.c > index 89bb875..4ef26fa 100644 > --- a/arch/arm/mach-omap1/id.c > +++ b/arch/arm/mach-omap1/id.c > @@ -38,6 +38,7 @@ static struct omap_id omap_ids[] __initdata = { > { .jtag_id = 0xb574, .die_rev = 0x2, .omap_id = 0x03310315, .type = 0x03100000}, > { .jtag_id = 0x355f, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x07300100}, > { .jtag_id = 0xb55f, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x07300300}, > + { .jtag_id = 0xb55f, .die_rev = 0x0, .omap_id = 0x03320500, .type = 0x08500000}, > { .jtag_id = 0xb470, .die_rev = 0x0, .omap_id = 0x03310100, .type = 0x15100000}, > { .jtag_id = 0xb576, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x16100000}, > { .jtag_id = 0xb576, .die_rev = 0x2, .omap_id = 0x03320100, .type = 0x16110000}, > @@ -77,7 +78,7 @@ static u16 __init omap_get_jtag_id(void) > prod_id = omap_readl(OMAP_PRODUCTION_ID_1); > omap_id = omap_readl(OMAP32_ID_1); > > - /* Check for unusable OMAP_PRODUCTION_ID_1 on 1611B/5912 and 730 */ > + /* Check for unusable OMAP_PRODUCTION_ID_1 on 1611B/5912 and 730/850 */ > if (((prod_id >> 20) == 0) || (prod_id == omap_id)) > prod_id = 0; > else > @@ -178,6 +179,7 @@ void __init omap_check_revision(void) > > switch (cpu_type) { > case 0x07: > + case 0x08: > omap_revision |= 0x07; > break; > case 0x03: > diff --git a/arch/arm/plat-omap/include/mach/cpu.h b/arch/arm/plat-omap/include/mach/cpu.h > index a8e1178..366f829 100644 > --- a/arch/arm/plat-omap/include/mach/cpu.h > +++ b/arch/arm/plat-omap/include/mach/cpu.h > @@ -56,6 +56,14 @@ unsigned int omap_rev(void); > # define OMAP_NAME omap730 > # endif > #endif > +#ifdef CONFIG_ARCH_OMAP850 > +# ifdef OMAP_NAME > +# undef MULTI_OMAP1 > +# define MULTI_OMAP1 > +# else > +# define OMAP_NAME omap850 > +# endif > +#endif > #ifdef CONFIG_ARCH_OMAP15XX > # ifdef OMAP_NAME > # undef MULTI_OMAP1 > @@ -105,7 +113,7 @@ unsigned int omap_rev(void); > /* > * Macros to group OMAP into cpu classes. > * These can be used in most places. > - * cpu_is_omap7xx(): True for OMAP730 > + * cpu_is_omap7xx(): True for OMAP730, OMAP850 > * cpu_is_omap15xx(): True for OMAP1510, OMAP5910 and OMAP310 > * cpu_is_omap16xx(): True for OMAP1610, OMAP5912 and OMAP1710 > * cpu_is_omap24xx(): True for OMAP2420, OMAP2422, OMAP2423, OMAP2430 > @@ -153,6 +161,10 @@ IS_OMAP_SUBCLASS(343x, 0x343) > # undef cpu_is_omap7xx > # define cpu_is_omap7xx() is_omap7xx() > # endif > +# if defined(CONFIG_ARCH_OMAP850) > +# undef cpu_is_omap7xx > +# define cpu_is_omap7xx() is_omap7xx() > +# endif > # if defined(CONFIG_ARCH_OMAP15XX) > # undef cpu_is_omap15xx > # define cpu_is_omap15xx() is_omap15xx() > @@ -166,6 +178,10 @@ IS_OMAP_SUBCLASS(343x, 0x343) > # undef cpu_is_omap7xx > # define cpu_is_omap7xx() 1 > # endif > +# if defined(CONFIG_ARCH_OMAP850) > +# undef cpu_is_omap7xx > +# define cpu_is_omap7xx() 1 > +# endif > # if defined(CONFIG_ARCH_OMAP15XX) > # undef cpu_is_omap15xx > # define cpu_is_omap15xx() 1 > @@ -219,6 +235,7 @@ IS_OMAP_SUBCLASS(343x, 0x343) > * These are only rarely needed. > * cpu_is_omap330(): True for OMAP330 > * cpu_is_omap730(): True for OMAP730 > + * cpu_is_omap850(): True for OMAP850 > * cpu_is_omap1510(): True for OMAP1510 > * cpu_is_omap1610(): True for OMAP1610 > * cpu_is_omap1611(): True for OMAP1611 > @@ -241,6 +258,7 @@ static inline int is_omap ##type (void) \ > > IS_OMAP_TYPE(310, 0x0310) > IS_OMAP_TYPE(730, 0x0730) > +IS_OMAP_TYPE(850, 0x0850) > IS_OMAP_TYPE(1510, 0x1510) > IS_OMAP_TYPE(1610, 0x1610) > IS_OMAP_TYPE(1611, 0x1611) > @@ -255,6 +273,7 @@ IS_OMAP_TYPE(3430, 0x3430) > > #define cpu_is_omap310() 0 > #define cpu_is_omap730() 0 > +#define cpu_is_omap850() 0 > #define cpu_is_omap1510() 0 > #define cpu_is_omap1610() 0 > #define cpu_is_omap5912() 0 > @@ -272,12 +291,22 @@ IS_OMAP_TYPE(3430, 0x3430) > # undef cpu_is_omap730 > # define cpu_is_omap730() is_omap730() > # endif > +# if defined(CONFIG_ARCH_OMAP850) > +# undef cpu_is_omap850 > +# define cpu_is_omap850() is_omap850() > +# endif > #else > # if defined(CONFIG_ARCH_OMAP730) > # undef cpu_is_omap730 > # define cpu_is_omap730() 1 > # endif > #endif > +#else > +# if defined(CONFIG_ARCH_OMAP850) > +# undef cpu_is_omap850 > +# define cpu_is_omap850() 1 > +# endif > +#endif > > /* > * Whether we have MULTI_OMAP1 or not, we still need to distinguish > @@ -320,7 +349,7 @@ IS_OMAP_TYPE(3430, 0x3430) > #endif > > /* Macros to detect if we have OMAP1 or OMAP2 */ > -#define cpu_class_is_omap1() (cpu_is_omap730() || cpu_is_omap15xx() || \ > +#define cpu_class_is_omap1() (cpu_is_omap7xx() || cpu_is_omap15xx() || \ > cpu_is_omap16xx()) > #define cpu_class_is_omap2() (cpu_is_omap24xx() || cpu_is_omap34xx()) > > @@ -378,5 +407,3 @@ int omap_type(void); > void omap2_check_revision(void); > > #endif /* defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) */ > - > -#endif > diff --git a/arch/arm/plat-omap/include/mach/omap850.h b/arch/arm/plat-omap/include/mach/omap850.h > new file mode 100644 > index 0000000..c33f679 > --- /dev/null > +++ b/arch/arm/plat-omap/include/mach/omap850.h > @@ -0,0 +1,102 @@ > +/* arch/arm/plat-omap/include/mach/omap850.h > + * > + * Hardware definitions for TI OMAP850 processor. > + * > + * Derived from omap730.h by Zebediah C. McClure <zmc@xxxxxxxxxx> > + * > + * 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 SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED > + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF > + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN > + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, > + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT > + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF > + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON > + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF > + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > + * > + * 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., > + * 675 Mass Ave, Cambridge, MA 02139, USA. > + */ > + > +#ifndef __ASM_ARCH_OMAP850_H > +#define __ASM_ARCH_OMAP850_H > + > +/* > + * ---------------------------------------------------------------------------- > + * Base addresses > + * ---------------------------------------------------------------------------- > + */ > + > +/* Syntax: XX_BASE = Virtual base address, XX_START = Physical base address */ > + > +#define OMAP850_DSP_BASE 0xE0000000 > +#define OMAP850_DSP_SIZE 0x50000 > +#define OMAP850_DSP_START 0xE0000000 > + > +#define OMAP850_DSPREG_BASE 0xE1000000 > +#define OMAP850_DSPREG_SIZE SZ_128K > +#define OMAP850_DSPREG_START 0xE1000000 > + > +/* > + * ---------------------------------------------------------------------------- > + * OMAP850 specific configuration registers > + * ---------------------------------------------------------------------------- > + */ > +#define OMAP850_CONFIG_BASE 0xfffe1000 > +#define OMAP850_IO_CONF_0 0xfffe1070 > +#define OMAP850_IO_CONF_1 0xfffe1074 > +#define OMAP850_IO_CONF_2 0xfffe1078 > +#define OMAP850_IO_CONF_3 0xfffe107c > +#define OMAP850_IO_CONF_4 0xfffe1080 > +#define OMAP850_IO_CONF_5 0xfffe1084 > +#define OMAP850_IO_CONF_6 0xfffe1088 > +#define OMAP850_IO_CONF_7 0xfffe108c > +#define OMAP850_IO_CONF_8 0xfffe1090 > +#define OMAP850_IO_CONF_9 0xfffe1094 > +#define OMAP850_IO_CONF_10 0xfffe1098 > +#define OMAP850_IO_CONF_11 0xfffe109c > +#define OMAP850_IO_CONF_12 0xfffe10a0 > +#define OMAP850_IO_CONF_13 0xfffe10a4 > + > +#define OMAP850_MODE_1 0xfffe1010 > +#define OMAP850_MODE_2 0xfffe1014 > + > +/* CSMI specials: in terms of base + offset */ > +#define OMAP850_MODE2_OFFSET 0x14 > + > +/* > + * ---------------------------------------------------------------------------- > + * OMAP850 traffic controller configuration registers > + * ---------------------------------------------------------------------------- > + */ > +#define OMAP850_FLASH_CFG_0 0xfffecc10 > +#define OMAP850_FLASH_ACFG_0 0xfffecc50 > +#define OMAP850_FLASH_CFG_1 0xfffecc14 > +#define OMAP850_FLASH_ACFG_1 0xfffecc54 > + > +/* > + * ---------------------------------------------------------------------------- > + * OMAP850 DSP control registers > + * ---------------------------------------------------------------------------- > + */ > +#define OMAP850_ICR_BASE 0xfffbb800 > +#define OMAP850_DSP_M_CTL 0xfffbb804 > +#define OMAP850_DSP_MMU_BASE 0xfffed200 > + > +/* > + * ---------------------------------------------------------------------------- > + * OMAP850 PCC_UPLD configuration registers > + * ---------------------------------------------------------------------------- > + */ > +#define OMAP850_PCC_UPLD_CTRL_BASE (0xfffe0900) > +#define OMAP850_PCC_UPLD_CTRL (OMAP850_PCC_UPLD_CTRL_BASE + 0x00) > + > +#endif /* __ASM_ARCH_OMAP850_H */ > + > -- > 1.6.0.6 > > From 431adabb83526da0d3e3e8e7a9ddf8a59209851b Mon Sep 17 00:00:00 2001 > From: Zebediah C. McClure <zmc@xxxxxxxxxx> > Date: Sat, 24 Jan 2009 14:25:11 -0400 > Subject: [PATCH] [OMAP850] Changes to clock framework. > > > Signed-off-by: Zebediah C. McClure <zmc@xxxxxxxxxx> > --- > arch/arm/mach-omap1/clock.c | 17 +++++++++++------ > arch/arm/mach-omap1/clock.h | 18 +++++++++++------- > arch/arm/plat-omap/common.c | 2 +- > arch/arm/plat-omap/include/mach/clock.h | 1 + > 4 files changed, 24 insertions(+), 14 deletions(-) > > diff --git a/arch/arm/mach-omap1/clock.c b/arch/arm/mach-omap1/clock.c > index 5fba207..f2e1ee5 100644 > --- a/arch/arm/mach-omap1/clock.c > +++ b/arch/arm/mach-omap1/clock.c > @@ -281,9 +281,9 @@ static int omap1_select_table_rate(struct clk * clk, unsigned long rate) > /* > * In most cases we should not need to reprogram DPLL. > * Reprogramming the DPLL is tricky, it must be done from SRAM. > - * (on 730, bit 13 must always be 1) > + * (on 730 and 850, bit 13 must always be 1) > */ > - if (cpu_is_omap730()) > + if (cpu_is_omap7xx()) > omap_sram_reprogram_clock(ptr->dpllctl_val, ptr->ckctl_val | 0x2000); > else > omap_sram_reprogram_clock(ptr->dpllctl_val, ptr->ckctl_val); > @@ -716,6 +716,11 @@ int __init omap1_clk_init(void) > continue; > } > > + if (((*clkp)->flags &CLOCK_IN_OMAP850) && cpu_is_omap850()) { > + clk_register(*clkp); > + continue; > + } > + > if (((*clkp)->flags &CLOCK_IN_OMAP310) && cpu_is_omap310()) { > clk_register(*clkp); > continue; > @@ -728,7 +733,7 @@ int __init omap1_clk_init(void) > crystal_type = info->system_clock_type; > } > > -#if defined(CONFIG_ARCH_OMAP730) > +#if (defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)) > ck_ref.rate = 13000000; > #elif defined(CONFIG_ARCH_OMAP16XX) > if (crystal_type == 2) > @@ -776,7 +781,7 @@ int __init omap1_clk_init(void) > printk(KERN_ERR "System frequencies not set. Check your config.\n"); > /* Guess sane values (60MHz) */ > omap_writew(0x2290, DPLL_CTL); > - omap_writew(cpu_is_omap730() ? 0x3005 : 0x1005, ARM_CKCTL); > + omap_writew((cpu_is_omap7xx()) ? 0x3005 : 0x1005, ARM_CKCTL); > ck_dpll1.rate = 60000000; > propagate_rate(&ck_dpll1); > } > @@ -801,8 +806,8 @@ int __init omap1_clk_init(void) > ULPD_CLOCK_CTRL); > > /* Turn off DSP and ARM_TIMXO. Make sure ARM_INTHCK is not divided */ > - /* (on 730, bit 13 must not be cleared) */ > - if (cpu_is_omap730()) > + /* (on 730/850, bit 13 must not be cleared) */ > + if (cpu_is_omap7xx()) > omap_writew(omap_readw(ARM_CKCTL) & 0x2fff, ARM_CKCTL); > else > omap_writew(omap_readw(ARM_CKCTL) & 0x0fff, ARM_CKCTL); > diff --git a/arch/arm/mach-omap1/clock.h b/arch/arm/mach-omap1/clock.h > index c1dcdf1..4da9b8e 100644 > --- a/arch/arm/mach-omap1/clock.h > +++ b/arch/arm/mach-omap1/clock.h > @@ -154,7 +154,7 @@ static struct clk ck_ref = { > .name = "ck_ref", > .rate = 12000000, > .flags = CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX | > - CLOCK_IN_OMAP310 | ALWAYS_ENABLED, > + CLOCK_IN_OMAP310 | CLOCK_IN_OMAP850 | ALWAYS_ENABLED, > .enable = &omap1_clk_enable_generic, > .disable = &omap1_clk_disable_generic, > }; > @@ -241,7 +241,8 @@ static struct arm_idlect1_clk armxor_ck = { > .name = "armxor_ck", > .parent = &ck_ref, > .flags = CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX | > - CLOCK_IN_OMAP310 | CLOCK_IDLE_CONTROL, > + CLOCK_IN_OMAP310 | CLOCK_IN_OMAP850 | > + CLOCK_IDLE_CONTROL, > .enable_reg = (void __iomem *)ARM_IDLECT2, > .enable_bit = EN_XORPCK, > .recalc = &followparent_recalc, > @@ -363,9 +364,10 @@ static struct arm_idlect1_clk tc_ck = { > .name = "tc_ck", > .parent = &ck_dpll1, > .flags = CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX | > - CLOCK_IN_OMAP730 | CLOCK_IN_OMAP310 | > - RATE_CKCTL | RATE_PROPAGATES | > - ALWAYS_ENABLED | CLOCK_IDLE_CONTROL, > + CLOCK_IN_OMAP730 | CLOCK_IN_OMAP850 | > + CLOCK_IN_OMAP310 | RATE_CKCTL | > + RATE_PROPAGATES | ALWAYS_ENABLED | > + CLOCK_IDLE_CONTROL, > .rate_offset = CKCTL_TCDIV_OFFSET, > .recalc = &omap1_ckctl_recalc, > .enable = &omap1_clk_enable_generic, > @@ -504,7 +506,8 @@ static struct clk rhea2_ck = { > static struct clk lcd_ck_16xx = { > .name = "lcd_ck", > .parent = &ck_dpll1, > - .flags = CLOCK_IN_OMAP16XX | CLOCK_IN_OMAP730 | RATE_CKCTL, > + .flags = CLOCK_IN_OMAP16XX | CLOCK_IN_OMAP730 | > + CLOCK_IN_OMAP850 | RATE_CKCTL, > .enable_reg = (void __iomem *)ARM_IDLECT2, > .enable_bit = EN_LCDCK, > .rate_offset = CKCTL_LCDDIV_OFFSET, > @@ -734,7 +737,8 @@ static struct clk mmc2_ck = { > static struct clk virtual_ck_mpu = { > .name = "mpu", > .flags = CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX | > - CLOCK_IN_OMAP310 | VIRTUAL_CLOCK | ALWAYS_ENABLED, > + CLOCK_IN_OMAP850 | CLOCK_IN_OMAP310 | > + VIRTUAL_CLOCK | ALWAYS_ENABLED, > .parent = &arm_ck, /* Is smarter alias for */ > .recalc = &followparent_recalc, > .set_rate = &omap1_select_table_rate, > diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c > index 0843b88..39921d2 100644 > --- a/arch/arm/plat-omap/common.c > +++ b/arch/arm/plat-omap/common.c > @@ -170,7 +170,7 @@ console_initcall(omap_add_serial_console); > > /* > * 32KHz clocksource ... always available, on pretty most chips except > - * OMAP 730 and 1510. Other timers could be used as clocksources, with > + * OMAP 730, 850 and 1510. Other timers could be used as clocksources, with > * higher resolution in free-running counter modes (e.g. 12 MHz xtal), > * but systems won't necessarily want to spend resources that way. > */ > diff --git a/arch/arm/plat-omap/include/mach/clock.h b/arch/arm/plat-omap/include/mach/clock.h > index 7192985..4fde485 100644 > --- a/arch/arm/plat-omap/include/mach/clock.h > +++ b/arch/arm/plat-omap/include/mach/clock.h > @@ -138,6 +138,7 @@ extern void clk_enable_init_clocks(void); > /* bits 13-20 are currently free */ > #define CLOCK_IN_OMAP310 (1 << 21) > #define CLOCK_IN_OMAP730 (1 << 22) > +#define CLOCK_IN_OMAP850 (1 << 22) > #define CLOCK_IN_OMAP1510 (1 << 23) > #define CLOCK_IN_OMAP16XX (1 << 24) > #define CLOCK_IN_OMAP242X (1 << 25) > -- > 1.6.0.6 > > From a56a3f605e35d05f139be1940f6d22ecc46765e6 Mon Sep 17 00:00:00 2001 > From: Zebediah C. McClure <zmc@xxxxxxxxxx> > Date: Sat, 24 Jan 2009 14:26:01 -0400 > Subject: [PATCH] [OMAP850] Changes to base IO subsystems. > > > Signed-off-by: Zebediah C. McClure <zmc@xxxxxxxxxx> > --- > arch/arm/mach-omap1/io.c | 23 +++++++ > arch/arm/mach-omap1/mux.c | 24 +++++++ > arch/arm/mach-omap1/serial.c | 7 ++ > arch/arm/plat-omap/gpio.c | 109 ++++++++++++++++++++++++++++++-- > arch/arm/plat-omap/include/mach/gpio.h | 3 +- > arch/arm/plat-omap/include/mach/mux.h | 52 +++++++++++++++- > 6 files changed, 211 insertions(+), 7 deletions(-) > > diff --git a/arch/arm/mach-omap1/io.c b/arch/arm/mach-omap1/io.c > index 4c3e582..3afe540 100644 > --- a/arch/arm/mach-omap1/io.c > +++ b/arch/arm/mach-omap1/io.c > @@ -52,6 +52,22 @@ static struct map_desc omap730_io_desc[] __initdata = { > }; > #endif > > +#ifdef CONFIG_ARCH_OMAP850 > +static struct map_desc omap850_io_desc[] __initdata = { > + { > + .virtual = OMAP850_DSP_BASE, > + .pfn = __phys_to_pfn(OMAP850_DSP_START), > + .length = OMAP850_DSP_SIZE, > + .type = MT_DEVICE > + }, { > + .virtual = OMAP850_DSPREG_BASE, > + .pfn = __phys_to_pfn(OMAP850_DSPREG_START), > + .length = OMAP850_DSPREG_SIZE, > + .type = MT_DEVICE > + } > +}; > +#endif > + > #ifdef CONFIG_ARCH_OMAP15XX > static struct map_desc omap1510_io_desc[] __initdata = { > { > @@ -109,6 +125,13 @@ void __init omap1_map_common_io(void) > iotable_init(omap730_io_desc, ARRAY_SIZE(omap730_io_desc)); > } > #endif > + > +#ifdef CONFIG_ARCH_OMAP850 > + if (cpu_is_omap850()) { > + iotable_init(omap850_io_desc, ARRAY_SIZE(omap850_io_desc)); > + } > +#endif > + > #ifdef CONFIG_ARCH_OMAP15XX > if (cpu_is_omap15xx()) { > iotable_init(omap1510_io_desc, ARRAY_SIZE(omap1510_io_desc)); > diff --git a/arch/arm/mach-omap1/mux.c b/arch/arm/mach-omap1/mux.c > index 062c905..721e0d9 100644 > --- a/arch/arm/mach-omap1/mux.c > +++ b/arch/arm/mach-omap1/mux.c > @@ -58,6 +58,25 @@ MUX_CFG_730("W17_730_USB_VBUSI", 2, 29, 0, 28, 0, 0) > #define OMAP730_PINS_SZ 0 > #endif /* CONFIG_ARCH_OMAP730 */ > > +#ifdef CONFIG_ARCH_OMAP850 > +struct pin_config __initdata_or_module omap850_pins[] = { > +MUX_CFG_850("E2_850_KBR0", 12, 21, 0, 20, 1, 0) > +MUX_CFG_850("J7_850_KBR1", 12, 25, 0, 24, 1, 0) > +MUX_CFG_850("E1_850_KBR2", 12, 29, 0, 28, 1, 0) > +MUX_CFG_850("F3_850_KBR3", 13, 1, 0, 0, 1, 0) > +MUX_CFG_850("D2_850_KBR4", 13, 5, 0, 4, 1, 0) > +MUX_CFG_850("C2_850_KBC0", 13, 9, 0, 8, 1, 0) > +MUX_CFG_850("D3_850_KBC1", 13, 13, 0, 12, 1, 0) > +MUX_CFG_850("E4_850_KBC2", 13, 17, 0, 16, 1, 0) > +MUX_CFG_850("F4_850_KBC3", 13, 21, 0, 20, 1, 0) > +MUX_CFG_850("E3_850_KBC4", 13, 25, 0, 24, 1, 0) > + > +MUX_CFG_850("AA17_850_USB_DM", 2, 21, 0, 20, 0, 0) > +MUX_CFG_850("W16_850_USB_PU_EN", 2, 25, 0, 24, 0, 0) > +MUX_CFG_850("W17_850_USB_VBUSI", 2, 29, 0, 28, 0, 0) > +}; > +#endif > + > #if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX) > static struct pin_config __initdata_or_module omap1xxx_pins[] = { > /* > @@ -419,6 +438,11 @@ int __init_or_module omap1_cfg_reg(const struct pin_config *cfg) > printk(" %s (0x%08x) = 0x%08x -> 0x%08x\n", > cfg->pull_name, cfg->pull_reg, pull_orig, pull); > } > + > +#ifdef CONFIG_ARCH_OMAP850 > + omap_mux_register(omap850_pins, ARRAY_SIZE(omap850_pins)); > +#endif > + > #endif > > #ifdef CONFIG_OMAP_MUX_ERRORS > diff --git a/arch/arm/mach-omap1/serial.c b/arch/arm/mach-omap1/serial.c > index 0002084..842090b 100644 > --- a/arch/arm/mach-omap1/serial.c > +++ b/arch/arm/mach-omap1/serial.c > @@ -121,6 +121,13 @@ void __init omap_serial_init(void) > serial_platform_data[1].irq = INT_730_UART_MODEM_IRDA_2; > } > > + if (cpu_is_omap850()) { > + serial_platform_data[0].regshift = 0; > + serial_platform_data[1].regshift = 0; > + serial_platform_data[0].irq = INT_850_UART_MODEM_1; > + serial_platform_data[1].irq = INT_850_UART_MODEM_IRDA_2; > + } > + > if (cpu_is_omap15xx()) { > serial_platform_data[0].uartclk = OMAP1510_BASE_BAUD * 16; > serial_platform_data[1].uartclk = OMAP1510_BASE_BAUD * 16; > diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c > index f856a90..8bb9c8d 100644 > --- a/arch/arm/plat-omap/gpio.c > +++ b/arch/arm/plat-omap/gpio.c > @@ -81,6 +81,22 @@ > #define OMAP730_GPIO_INT_STATUS 0x14 > > /* > + * OMAP850 specific GPIO registers > + */ > +#define OMAP850_GPIO1_BASE (void __iomem *)0xfffbc000 > +#define OMAP850_GPIO2_BASE (void __iomem *)0xfffbc800 > +#define OMAP850_GPIO3_BASE (void __iomem *)0xfffbd000 > +#define OMAP850_GPIO4_BASE (void __iomem *)0xfffbd800 > +#define OMAP850_GPIO5_BASE (void __iomem *)0xfffbe000 > +#define OMAP850_GPIO6_BASE (void __iomem *)0xfffbe800 > +#define OMAP850_GPIO_DATA_INPUT 0x00 > +#define OMAP850_GPIO_DATA_OUTPUT 0x04 > +#define OMAP850_GPIO_DIR_CONTROL 0x08 > +#define OMAP850_GPIO_INT_CONTROL 0x0c > +#define OMAP850_GPIO_INT_MASK 0x10 > +#define OMAP850_GPIO_INT_STATUS 0x14 > + > +/* > * omap24xx specific GPIO registers > */ > #define OMAP242X_GPIO1_BASE IO_ADDRESS(0x48018000) > @@ -159,6 +175,7 @@ struct gpio_bank { > #define METHOD_GPIO_1510 1 > #define METHOD_GPIO_1610 2 > #define METHOD_GPIO_730 3 > +#define METHOD_GPIO_850 3 > #define METHOD_GPIO_24XX 4 > > #ifdef CONFIG_ARCH_OMAP16XX > @@ -190,6 +207,19 @@ static struct gpio_bank gpio_bank_730[7] = { > }; > #endif > > +#ifdef CONFIG_ARCH_OMAP850 > +static struct gpio_bank gpio_bank_850[7] = { > + { OMAP_MPUIO_BASE, INT_850_MPUIO, IH_MPUIO_BASE, METHOD_MPUIO }, > + { OMAP850_GPIO1_BASE, INT_850_GPIO_BANK1, IH_GPIO_BASE, METHOD_GPIO_850 }, > + { OMAP850_GPIO2_BASE, INT_850_GPIO_BANK2, IH_GPIO_BASE + 32, METHOD_GPIO_850 }, > + { OMAP850_GPIO3_BASE, INT_850_GPIO_BANK3, IH_GPIO_BASE + 64, METHOD_GPIO_850 }, > + { OMAP850_GPIO4_BASE, INT_850_GPIO_BANK4, IH_GPIO_BASE + 96, METHOD_GPIO_850 }, > + { OMAP850_GPIO5_BASE, INT_850_GPIO_BANK5, IH_GPIO_BASE + 128, METHOD_GPIO_850 }, > + { OMAP850_GPIO6_BASE, INT_850_GPIO_BANK6, IH_GPIO_BASE + 160, METHOD_GPIO_850 }, > +}; > +#endif > + > + > #ifdef CONFIG_ARCH_OMAP24XX > > static struct gpio_bank gpio_bank_242x[4] = { > @@ -236,7 +266,7 @@ static inline struct gpio_bank *get_gpio_bank(int gpio) > return &gpio_bank[0]; > return &gpio_bank[1 + (gpio >> 4)]; > } > - if (cpu_is_omap730()) { > + if (cpu_is_omap7xx()) { > if (OMAP_GPIO_IS_MPUIO(gpio)) > return &gpio_bank[0]; > return &gpio_bank[1 + (gpio >> 5)]; > @@ -251,7 +281,7 @@ static inline struct gpio_bank *get_gpio_bank(int gpio) > > static inline int get_gpio_index(int gpio) > { > - if (cpu_is_omap730()) > + if (cpu_is_omap7xx()) > return gpio & 0x1f; > if (cpu_is_omap24xx()) > return gpio & 0x1f; > @@ -273,7 +303,7 @@ static inline int gpio_valid(int gpio) > return 0; > if ((cpu_is_omap16xx()) && gpio < 64) > return 0; > - if (cpu_is_omap730() && gpio < 192) > + if (cpu_is_omap7xx() && gpio < 192) > return 0; > if (cpu_is_omap24xx() && gpio < 128) > return 0; > @@ -318,6 +348,11 @@ static void _set_gpio_direction(struct gpio_bank *bank, int gpio, int is_input) > reg += OMAP730_GPIO_DIR_CONTROL; > break; > #endif > +#ifdef CONFIG_ARCH_OMAP850 > + case METHOD_GPIO_850: > + reg += OMAP850_GPIO_DIR_CONTROL; > + break; > +#endif > #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) > case METHOD_GPIO_24XX: > reg += OMAP24XX_GPIO_OE; > @@ -380,6 +415,16 @@ static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable) > l &= ~(1 << gpio); > break; > #endif > +#ifdef CONFIG_ARCH_OMAP850 > + case METHOD_GPIO_850: > + reg += OMAP850_GPIO_DATA_OUTPUT; > + l = __raw_readl(reg); > + if (enable) > + l |= 1 << gpio; > + else > + l &= ~(1 << gpio); > + break; > +#endif > #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) > case METHOD_GPIO_24XX: > if (enable) > @@ -426,6 +471,11 @@ static int __omap_get_gpio_datain(int gpio) > reg += OMAP730_GPIO_DATA_INPUT; > break; > #endif > +#ifdef CONFIG_ARCH_OMAP850 > + case METHOD_GPIO_850: > + reg += OMAP850_GPIO_DATA_INPUT; > + break; > +#endif > #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) > case METHOD_GPIO_24XX: > reg += OMAP24XX_GPIO_DATAIN; > @@ -598,6 +648,18 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger) > goto bad; > break; > #endif > +#ifdef CONFIG_ARCH_OMAP850 > + case METHOD_GPIO_850: > + reg += OMAP850_GPIO_INT_CONTROL; > + l = __raw_readl(reg); > + if (trigger & IRQ_TYPE_EDGE_RISING) > + l |= 1 << gpio; > + else if (trigger & IRQ_TYPE_EDGE_FALLING) > + l &= ~(1 << gpio); > + else > + goto bad; > + break; > +#endif > #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) > case METHOD_GPIO_24XX: > set_24xx_gpio_triggering(bank, gpio, trigger); > @@ -678,6 +740,11 @@ static void _clear_gpio_irqbank(struct gpio_bank *bank, int gpio_mask) > reg += OMAP730_GPIO_INT_STATUS; > break; > #endif > +#ifdef CONFIG_ARCH_OMAP850 > + case METHOD_GPIO_850: > + reg += OMAP850_GPIO_INT_STATUS; > + break; > +#endif > #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) > case METHOD_GPIO_24XX: > reg += OMAP24XX_GPIO_IRQSTATUS1; > @@ -736,6 +803,13 @@ static u32 _get_gpio_irqbank_mask(struct gpio_bank *bank) > inv = 1; > break; > #endif > +#ifdef CONFIG_ARCH_OMAP850 > + case METHOD_GPIO_850: > + reg += OMAP850_GPIO_INT_MASK; > + mask = 0xffffffff; > + inv = 1; > + break; > +#endif > #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) > case METHOD_GPIO_24XX: > reg += OMAP24XX_GPIO_IRQENABLE1; > @@ -799,6 +873,16 @@ static void _enable_gpio_irqbank(struct gpio_bank *bank, int gpio_mask, int enab > l |= gpio_mask; > break; > #endif > +#ifdef CONFIG_ARCH_OMAP850 > + case METHOD_GPIO_850: > + reg += OMAP850_GPIO_INT_MASK; > + l = __raw_readl(reg); > + if (enable) > + l &= ~(gpio_mask); > + else > + l |= gpio_mask; > + break; > +#endif > #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) > case METHOD_GPIO_24XX: > if (enable) > @@ -983,6 +1067,10 @@ static void gpio_irq_handler(unsigned int irq, struct irq_desc *desc) > if (bank->method == METHOD_GPIO_730) > isr_reg = bank->base + OMAP730_GPIO_INT_STATUS; > #endif > +#ifdef CONFIG_ARCH_OMAP850 > + if (bank->method == METHOD_GPIO_850) > + isr_reg = bank->base + OMAP850_GPIO_INT_STATUS; > +#endif > #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) > if (bank->method == METHOD_GPIO_24XX) > isr_reg = bank->base + OMAP24XX_GPIO_IRQSTATUS1; > @@ -1372,6 +1460,13 @@ static int __init _omap_gpio_init(void) > gpio_bank = gpio_bank_730; > } > #endif > +#ifdef CONFIG_ARCH_OMAP850 > + if (cpu_is_omap850()) { > + printk(KERN_INFO "OMAP850 GPIO hardware\n"); > + gpio_bank_count = 7; > + gpio_bank = gpio_bank_850; > + } > +#endif > > #ifdef CONFIG_ARCH_OMAP24XX > if (cpu_is_omap242x()) { > @@ -1420,7 +1515,7 @@ static int __init _omap_gpio_init(void) > __raw_writew(0xffff, bank->base + OMAP1610_GPIO_IRQSTATUS1); > __raw_writew(0x0014, bank->base + OMAP1610_GPIO_SYSCONFIG); > } > - if (cpu_is_omap730() && bank->method == METHOD_GPIO_730) { > + if (cpu_is_omap7xx() && bank->method == METHOD_GPIO_730) { > __raw_writel(0xffffffff, bank->base + OMAP730_GPIO_INT_MASK); > __raw_writel(0x00000000, bank->base + OMAP730_GPIO_INT_STATUS); > > @@ -1743,6 +1838,9 @@ static int gpio_is_input(struct gpio_bank *bank, int mask) > case METHOD_GPIO_730: > reg += OMAP730_GPIO_DIR_CONTROL; > break; > + case METHOD_GPIO_850: > + reg += OMAP850_GPIO_DIR_CONTROL; > + break; > case METHOD_GPIO_24XX: > reg += OMAP24XX_GPIO_OE; > break; > @@ -1762,7 +1860,8 @@ static int dbg_gpio_show(struct seq_file *s, void *unused) > > if (bank_is_mpuio(bank)) > gpio = OMAP_MPUIO(0); > - else if (cpu_class_is_omap2() || cpu_is_omap730()) > + else if (cpu_class_is_omap2() || cpu_is_omap730() ||\ > + cpu_is_omap850 ()) > bankwidth = 32; > > for (j = 0; j < bankwidth; j++, gpio++, mask <<= 1) { > diff --git a/arch/arm/plat-omap/include/mach/gpio.h b/arch/arm/plat-omap/include/mach/gpio.h > index 8d9dfe3..2b22a87 100644 > --- a/arch/arm/plat-omap/include/mach/gpio.h > +++ b/arch/arm/plat-omap/include/mach/gpio.h > @@ -31,7 +31,8 @@ > > #define OMAP_MPUIO_BASE 0xfffb5000 > > -#ifdef CONFIG_ARCH_OMAP730 > +#if (defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)) > + > #define OMAP_MPUIO_INPUT_LATCH 0x00 > #define OMAP_MPUIO_OUTPUT 0x02 > #define OMAP_MPUIO_IO_CNTL 0x04 > diff --git a/arch/arm/plat-omap/include/mach/mux.h b/arch/arm/plat-omap/include/mach/mux.h > index f4362b8..6a02f8f 100644 > --- a/arch/arm/plat-omap/include/mach/mux.h > +++ b/arch/arm/plat-omap/include/mach/mux.h > @@ -61,6 +61,16 @@ > .pull_bit = bit, \ > .pull_val = status, > > +#define MUX_REG_850(reg, mode_offset, mode) .mux_reg_name = "OMAP850_IO_CONF_"#reg, \ > + .mux_reg = OMAP850_IO_CONF_##reg, \ > + .mask_offset = mode_offset, \ > + .mask = mode, > + > +#define PULL_REG_850(reg, bit, status) .pull_name = "OMAP850_IO_CONF_"#reg, \ > + .pull_reg = OMAP850_IO_CONF_##reg, \ > + .pull_bit = bit, \ > + .pull_val = status, > + > #else > > #define MUX_REG(reg, mode_offset, mode) .mux_reg = FUNC_MUX_CTRL_##reg, \ > @@ -83,6 +93,15 @@ > .pull_bit = bit, \ > .pull_val = status, > > +#define MUX_REG_850(reg, mode_offset, mode) \ > + .mux_reg = OMAP850_IO_CONF_##reg, \ > + .mask_offset = mode_offset, \ > + .mask = mode, > + > +#define PULL_REG_850(reg, bit, status) .pull_reg = OMAP850_IO_CONF_##reg, \ > + .pull_bit = bit, \ > + .pull_val = status, > + > #endif /* CONFIG_OMAP_MUX_DEBUG */ > > #define MUX_CFG(desc, mux_reg, mode_offset, mode, \ > @@ -98,7 +117,7 @@ > > > /* > - * OMAP730 has a slightly different config for the pin mux. > + * OMAP730/850 has a slightly different config for the pin mux. > * - config regs are the OMAP730_IO_CONF_x regs (see omap730.h) regs and > * not the FUNC_MUX_CTRL_x regs from hardware.h > * - for pull-up/down, only has one enable bit which is is in the same register > @@ -114,6 +133,17 @@ > PU_PD_REG(NA, 0) \ > }, > > +#define MUX_CFG_850(desc, mux_reg, mode_offset, mode, \ > + pull_bit, pull_status, debug_status)\ > +{ \ > + .name = desc, \ > + .debug = debug_status, \ > + MUX_REG_850(mux_reg, mode_offset, mode) \ > + PULL_REG_850(mux_reg, pull_bit, pull_status) \ > + PU_PD_REG(NA, 0) \ > +}, > + > + > #define MUX_CFG_24XX(desc, reg_offset, mode, \ > pull_en, pull_mode, dbg) \ > { \ > @@ -221,6 +251,26 @@ enum omap730_index { > W17_730_USB_VBUSI, > }; > > +enum omap850_index { > + /* OMAP 850 keyboard */ > + E2_850_KBR0, > + J7_850_KBR1, > + E1_850_KBR2, > + F3_850_KBR3, > + D2_850_KBR4, > + C2_850_KBC0, > + D3_850_KBC1, > + E4_850_KBC2, > + F4_850_KBC3, > + E3_850_KBC4, > + > + /* USB */ > + AA17_850_USB_DM, > + W16_850_USB_PU_EN, > + W17_850_USB_VBUSI, > +}; > + > + > enum omap1xxx_index { > /* UART1 (BT_UART_GATING)*/ > UART1_TX = 0, > -- > 1.6.0.6 > > From 6b60e815d887367d47c66d9e31ed92fbaf007833 Mon Sep 17 00:00:00 2001 > From: Zebediah C. McClure <zmc@xxxxxxxxxx> > Date: Sat, 24 Jan 2009 14:27:33 -0400 > Subject: [PATCH] [OMAP850] Changes to memory subsystems. > > > Signed-off-by: Zebediah C. McClure <zmc@xxxxxxxxxx> > --- > arch/arm/plat-omap/dma.c | 4 ++-- > arch/arm/plat-omap/sram.c | 2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c > index 47ec77a..dcc9e83 100644 > --- a/arch/arm/plat-omap/dma.c > +++ b/arch/arm/plat-omap/dma.c > @@ -737,7 +737,7 @@ int omap_request_dma(int dev_id, const char *dev_name, > * id. > */ > dma_write(dev_id | (1 << 10), CCR(free_ch)); > - } else if (cpu_is_omap730() || cpu_is_omap15xx()) { > + } else if (cpu_is_omap7xx() || cpu_is_omap15xx()) { > dma_write(dev_id, CCR(free_ch)); > } > > @@ -2339,7 +2339,7 @@ static int __init omap_init_dma(void) > printk(KERN_INFO "DMA support for OMAP15xx initialized\n"); > dma_chan_count = 9; > enable_1510_mode = 1; > - } else if (cpu_is_omap16xx() || cpu_is_omap730()) { > + } else if (cpu_is_omap16xx() || cpu_is_omap7xx()) { > printk(KERN_INFO "OMAP DMA hardware version %d\n", > dma_read(HW_ID)); > printk(KERN_INFO "DMA capabilities: %08x:%08x:%04x:%04x:%04x\n", > diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c > index be7bcaf..fa5297d 100644 > --- a/arch/arm/plat-omap/sram.c > +++ b/arch/arm/plat-omap/sram.c > @@ -148,7 +148,7 @@ void __init omap_detect_sram(void) > omap_sram_base = OMAP1_SRAM_VA; > omap_sram_start = OMAP1_SRAM_PA; > > - if (cpu_is_omap730()) > + if (cpu_is_omap7xx()) > omap_sram_size = 0x32000; /* 200K */ > else if (cpu_is_omap15xx()) > omap_sram_size = 0x30000; /* 192K */ > -- > 1.6.0.6 > > From 990b098dde0e3fbd0df5acacb3f4859f602f72ba Mon Sep 17 00:00:00 2001 > From: Zebediah C. McClure <zmc@xxxxxxxxxx> > Date: Sat, 24 Jan 2009 14:28:53 -0400 > Subject: [PATCH] [OMAP850] IRQ related changes. > > > Signed-off-by: Zebediah C. McClure <zmc@xxxxxxxxxx> > --- > arch/arm/mach-omap1/irq.c | 18 +++++++- > arch/arm/plat-omap/include/mach/irqs.h | 83 +++++++++++++++++++++++++++++++- > 2 files changed, 99 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/mach-omap1/irq.c b/arch/arm/mach-omap1/irq.c > index 9ad5197..b21e186 100644 > --- a/arch/arm/mach-omap1/irq.c > +++ b/arch/arm/mach-omap1/irq.c > @@ -145,6 +145,14 @@ static struct omap_irq_bank omap730_irq_banks[] = { > }; > #endif > > +#ifdef CONFIG_ARCH_OMAP850 > +static struct omap_irq_bank omap850_irq_banks[] = { > + { .base_reg = OMAP_IH1_BASE, .trigger_map = 0xb3f8e22f }, > + { .base_reg = OMAP_IH2_BASE, .trigger_map = 0xfdb9c1f2 }, > + { .base_reg = OMAP_IH2_BASE + 0x100, .trigger_map = 0x800040f3 }, > +}; > +#endif > + > #ifdef CONFIG_ARCH_OMAP15XX > static struct omap_irq_bank omap1510_irq_banks[] = { > { .base_reg = OMAP_IH1_BASE, .trigger_map = 0xb3febfff }, > @@ -184,6 +192,12 @@ void __init omap_init_irq(void) > irq_bank_count = ARRAY_SIZE(omap730_irq_banks); > } > #endif > +#ifdef CONFIG_ARCH_OMAP850 > + if (cpu_is_omap850()) { > + irq_banks = omap850_irq_banks; > + irq_bank_count = ARRAY_SIZE(omap850_irq_banks); > + } > +#endif > #ifdef CONFIG_ARCH_OMAP15XX > if (cpu_is_omap1510()) { > irq_banks = omap1510_irq_banks; > @@ -214,7 +228,7 @@ void __init omap_init_irq(void) > irq_bank_writel(0x03, 1, IRQ_CONTROL_REG_OFFSET); > > /* Enable interrupts in global mask */ > - if (cpu_is_omap730()) { > + if (cpu_is_omap7xx()) { > irq_bank_writel(0x0, 0, IRQ_GMR_REG_OFFSET); > } > > @@ -236,6 +250,8 @@ void __init omap_init_irq(void) > > if (cpu_is_omap730()) > omap_unmask_irq(INT_730_IH2_IRQ); > + else if (cpu_is_omap850()) > + omap_unmask_irq(INT_850_IH2_IRQ); > else if (cpu_is_omap15xx()) > omap_unmask_irq(INT_1510_IH2_IRQ); > else if (cpu_is_omap16xx()) > diff --git a/arch/arm/plat-omap/include/mach/irqs.h b/arch/arm/plat-omap/include/mach/irqs.h > index bed5274..7f57ee6 100644 > --- a/arch/arm/plat-omap/include/mach/irqs.h > +++ b/arch/arm/plat-omap/include/mach/irqs.h > @@ -105,6 +105,29 @@ > #define INT_730_SPGIO_WR 29 > > /* > + * OMAP-850 specific IRQ numbers for interrupt handler 1 > + */ > +#define INT_850_IH2_FIQ 0 > +#define INT_850_IH2_IRQ 1 > +#define INT_850_USB_NON_ISO 2 > +#define INT_850_USB_ISO 3 > +#define INT_850_ICR 4 > +#define INT_850_EAC 5 > +#define INT_850_GPIO_BANK1 6 > +#define INT_850_GPIO_BANK2 7 > +#define INT_850_GPIO_BANK3 8 > +#define INT_850_McBSP2TX 10 > +#define INT_850_McBSP2RX 11 > +#define INT_850_McBSP2RX_OVF 12 > +#define INT_850_LCD_LINE 14 > +#define INT_850_GSM_PROTECT 15 > +#define INT_850_TIMER3 16 > +#define INT_850_GPIO_BANK5 17 > +#define INT_850_GPIO_BANK6 18 > +#define INT_850_SPGIO_WR 29 > + > + > +/* > * IRQ numbers for interrupt handler 2 > * > * NOTE: See also the OMAP-1510 and 1610 specific IRQ numbers below > @@ -237,6 +260,64 @@ > #define INT_730_DMA_CH15 (62 + IH2_BASE) > #define INT_730_NAND (63 + IH2_BASE) > > +/* > + * OMAP-850 specific IRQ numbers for interrupt handler 2 > + */ > +#define INT_850_HW_ERRORS (0 + IH2_BASE) > +#define INT_850_NFIQ_PWR_FAIL (1 + IH2_BASE) > +#define INT_850_CFCD (2 + IH2_BASE) > +#define INT_850_CFIREQ (3 + IH2_BASE) > +#define INT_850_I2C (4 + IH2_BASE) > +#define INT_850_PCC (5 + IH2_BASE) > +#define INT_850_MPU_EXT_NIRQ (6 + IH2_BASE) > +#define INT_850_SPI_100K_1 (7 + IH2_BASE) > +#define INT_850_SYREN_SPI (8 + IH2_BASE) > +#define INT_850_VLYNQ (9 + IH2_BASE) > +#define INT_850_GPIO_BANK4 (10 + IH2_BASE) > +#define INT_850_McBSP1TX (11 + IH2_BASE) > +#define INT_850_McBSP1RX (12 + IH2_BASE) > +#define INT_850_McBSP1RX_OF (13 + IH2_BASE) > +#define INT_850_UART_MODEM_IRDA_2 (14 + IH2_BASE) > +#define INT_850_UART_MODEM_1 (15 + IH2_BASE) > +#define INT_850_MCSI (16 + IH2_BASE) > +#define INT_850_uWireTX (17 + IH2_BASE) > +#define INT_850_uWireRX (18 + IH2_BASE) > +#define INT_850_SMC_CD (19 + IH2_BASE) > +#define INT_850_SMC_IREQ (20 + IH2_BASE) > +#define INT_850_HDQ_1WIRE (21 + IH2_BASE) > +#define INT_850_TIMER32K (22 + IH2_BASE) > +#define INT_850_MMC_SDIO (23 + IH2_BASE) > +#define INT_850_UPLD (24 + IH2_BASE) > +#define INT_850_USB_HHC_1 (27 + IH2_BASE) > +#define INT_850_USB_HHC_2 (28 + IH2_BASE) > +#define INT_850_USB_GENI (29 + IH2_BASE) > +#define INT_850_USB_OTG (30 + IH2_BASE) > +#define INT_850_CAMERA_IF (31 + IH2_BASE) > +#define INT_850_RNG (32 + IH2_BASE) > +#define INT_850_DUAL_MODE_TIMER (33 + IH2_BASE) > +#define INT_850_DBB_RF_EN (34 + IH2_BASE) > +#define INT_850_MPUIO_KEYPAD (35 + IH2_BASE) > +#define INT_850_SHA1_MD5 (36 + IH2_BASE) > +#define INT_850_SPI_100K_2 (37 + IH2_BASE) > +#define INT_850_RNG_IDLE (38 + IH2_BASE) > +#define INT_850_MPUIO (39 + IH2_BASE) > +#define INT_850_LLPC_LCD_CTRL_CAN_BE_OFF (40 + IH2_BASE) > +#define INT_850_LLPC_OE_FALLING (41 + IH2_BASE) > +#define INT_850_LLPC_OE_RISING (42 + IH2_BASE) > +#define INT_850_LLPC_VSYNC (43 + IH2_BASE) > +#define INT_850_WAKE_UP_REQ (46 + IH2_BASE) > +#define INT_850_DMA_CH6 (53 + IH2_BASE) > +#define INT_850_DMA_CH7 (54 + IH2_BASE) > +#define INT_850_DMA_CH8 (55 + IH2_BASE) > +#define INT_850_DMA_CH9 (56 + IH2_BASE) > +#define INT_850_DMA_CH10 (57 + IH2_BASE) > +#define INT_850_DMA_CH11 (58 + IH2_BASE) > +#define INT_850_DMA_CH12 (59 + IH2_BASE) > +#define INT_850_DMA_CH13 (60 + IH2_BASE) > +#define INT_850_DMA_CH14 (61 + IH2_BASE) > +#define INT_850_DMA_CH15 (62 + IH2_BASE) > +#define INT_850_NAND (63 + IH2_BASE) > + > #define INT_24XX_SYS_NIRQ 7 > #define INT_24XX_SDMA_IRQ0 12 > #define INT_24XX_SDMA_IRQ1 13 > @@ -341,7 +422,7 @@ > > #define INT_34XX_BENCH_MPU_EMUL 3 > > -/* Max. 128 level 2 IRQs (OMAP1610), 192 GPIOs (OMAP730) and > +/* Max. 128 level 2 IRQs (OMAP1610), 192 GPIOs (OMAP730/850) and > * 16 MPUIO lines */ > #define OMAP_MAX_GPIO_LINES 192 > #define IH_GPIO_BASE (128 + IH2_BASE) > -- > 1.6.0.6 > > From 846a949b0ac9153e9b03e4b7c2513ee98f2ab3f5 Mon Sep 17 00:00:00 2001 > From: Zebediah C. McClure <zmc@xxxxxxxxxx> > Date: Sat, 24 Jan 2009 16:59:43 -0400 > Subject: [PATCH] [OMAP850] Build system changes. > > > Signed-off-by: Zebediah C. McClure <zmc@xxxxxxxxxx> > --- > arch/arm/mach-omap1/Kconfig | 23 +++++++++++++++++------ > 1 files changed, 17 insertions(+), 6 deletions(-) > > diff --git a/arch/arm/mach-omap1/Kconfig b/arch/arm/mach-omap1/Kconfig > index 10a301e..4842a3a 100644 > --- a/arch/arm/mach-omap1/Kconfig > +++ b/arch/arm/mach-omap1/Kconfig > @@ -7,6 +7,11 @@ config ARCH_OMAP730 > select CPU_ARM926T > select ARCH_OMAP_OTG > > +config ARCH_OMAP850 > + depends on ARCH_OMAP1 > + bool "OMAP850 Based System" > + select CPU_ARM926T > + > config ARCH_OMAP15XX > depends on ARCH_OMAP1 > default y > @@ -46,6 +51,12 @@ config MACH_OMAP_H3 > TI OMAP 1710 H3 board support. Say Y here if you have such > a board. > > +config MACH_OMAP_HTCWIZARD > + bool "HTC Wizard" > + depends on ARCH_OMAP850 > + help > + HTC Wizard smartphone support (AKA QTEK 9100, ...) > + > config MACH_OMAP_OSK > bool "TI OSK Support" > depends on ARCH_OMAP1 && ARCH_OMAP16XX > @@ -163,7 +174,7 @@ config OMAP_ARM_216MHZ > > config OMAP_ARM_195MHZ > bool "OMAP ARM 195 MHz CPU" > - depends on ARCH_OMAP1 && ARCH_OMAP730 > + depends on ARCH_OMAP1 && (ARCH_OMAP730 || ARCH_OMAP850) > help > Enable 195MHz clock for OMAP CPU. If unsure, say N. > > @@ -175,13 +186,13 @@ config OMAP_ARM_192MHZ > > config OMAP_ARM_182MHZ > bool "OMAP ARM 182 MHz CPU" > - depends on ARCH_OMAP1 && ARCH_OMAP730 > + depends on ARCH_OMAP1 && (ARCH_OMAP730 || ARCH_OMAP850) > help > Enable 182MHz clock for OMAP CPU. If unsure, say N. > > config OMAP_ARM_168MHZ > bool "OMAP ARM 168 MHz CPU" > - depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730) > + depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730 || ARCH_OMAP850) > help > Enable 168MHz clock for OMAP CPU. If unsure, say N. > > @@ -193,20 +204,20 @@ config OMAP_ARM_150MHZ > > config OMAP_ARM_120MHZ > bool "OMAP ARM 120 MHz CPU" > - depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730) > + depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730 || ARCH_OMAP850) > help > Enable 120MHz clock for OMAP CPU. If unsure, say N. > > config OMAP_ARM_60MHZ > bool "OMAP ARM 60 MHz CPU" > - depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730) > + depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730 || ARCH_OMAP850) > default y > help > Enable 60MHz clock for OMAP CPU. If unsure, say Y. > > config OMAP_ARM_30MHZ > bool "OMAP ARM 30 MHz CPU" > - depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730) > + depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730 || ARCH_OMAP850) > help > Enable 30MHz clock for OMAP CPU. If unsure, say N. > > -- > 1.6.0.6 > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html