Loading arch/arm/mach-omap1/id.c +3 −1 Original line number Diff line number Diff line Loading @@ -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}, Loading Loading @@ -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 Loading Loading @@ -178,6 +179,7 @@ void __init omap_check_revision(void) switch (cpu_type) { case 0x07: case 0x08: omap_revision |= 0x07; break; case 0x03: Loading arch/arm/plat-omap/include/mach/cpu.h +31 −4 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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() Loading @@ -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 Loading Loading @@ -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 Loading @@ -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) Loading @@ -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 Loading @@ -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 Loading Loading @@ -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()) Loading Loading @@ -378,5 +407,3 @@ int omap_type(void); void omap2_check_revision(void); #endif /* defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) */ #endif arch/arm/plat-omap/include/mach/omap850.h 0 → 100644 +102 −0 Original line number Diff line number Diff line /* arch/arm/plat-omap/include/mach/omap850.h * * Hardware definitions for TI OMAP850 processor. * * Derived from omap730.h by Zebediah C. McClure <zmc@lurian.net> * * 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 */ Loading
arch/arm/mach-omap1/id.c +3 −1 Original line number Diff line number Diff line Loading @@ -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}, Loading Loading @@ -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 Loading Loading @@ -178,6 +179,7 @@ void __init omap_check_revision(void) switch (cpu_type) { case 0x07: case 0x08: omap_revision |= 0x07; break; case 0x03: Loading
arch/arm/plat-omap/include/mach/cpu.h +31 −4 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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() Loading @@ -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 Loading Loading @@ -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 Loading @@ -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) Loading @@ -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 Loading @@ -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 Loading Loading @@ -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()) Loading Loading @@ -378,5 +407,3 @@ int omap_type(void); void omap2_check_revision(void); #endif /* defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) */ #endif
arch/arm/plat-omap/include/mach/omap850.h 0 → 100644 +102 −0 Original line number Diff line number Diff line /* arch/arm/plat-omap/include/mach/omap850.h * * Hardware definitions for TI OMAP850 processor. * * Derived from omap730.h by Zebediah C. McClure <zmc@lurian.net> * * 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 */