Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/include/linux/soc/ti/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 3 kB image not shown  

Quelle  omap1-soc.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * OMAP cpu type detection
 *
 * Copyright (C) 2004, 2008 Nokia Corporation
 *
 * Copyright (C) 2009-11 Texas Instruments.
 *
 * Written by Tony Lindgren <tony.lindgren@nokia.com>
 *
 * Added OMAP4/5 specific defines - Santosh Shilimkar<santosh.shilimkar@ti.com>
 */


#ifndef __ASM_ARCH_OMAP_CPU_H
#define __ASM_ARCH_OMAP_CPU_H

/*
 * Test if multicore OMAP support is needed
 */

#undef MULTI_OMAP1
#undef OMAP_NAME

#ifdef CONFIG_ARCH_OMAP15XX
ifdef OMAP_NAME
#  undef  MULTI_OMAP1
#  define MULTI_OMAP1
else
#  define OMAP_NAME omap1510
endif
#endif
#ifdef CONFIG_ARCH_OMAP16XX
ifdef OMAP_NAME
#  undef  MULTI_OMAP1
#  define MULTI_OMAP1
else
#  define OMAP_NAME omap16xx
endif
#endif

/*
 * omap_rev bits:
 * CPU id bits (0730, 1510, 1710, 2422...) [31:16]
 * CPU revision (See _REV_ defined in cpu.h) [15:08]
 * CPU class bits (15xx, 16xx, 24xx, 34xx...) [07:00]
 */

unsigned int omap_rev(void);

/*
 * Get the CPU revision for OMAP devices
 */

#define GET_OMAP_REVISION() ((omap_rev() >> 8) & 0xff)

/*
 * Macros to group OMAP into cpu classes.
 * These can be used in most places.
 * cpu_is_omap15xx(): True for OMAP1510, OMAP5910 and OMAP310
 * cpu_is_omap16xx(): True for OMAP1610, OMAP5912 and OMAP1710
 */

#define GET_OMAP_CLASS (omap_rev() & 0xff)

#define IS_OMAP_CLASS(class, id)   \
static inline int is_omap ##class (void)  \
{       \
 return (GET_OMAP_CLASS == (id)) ? 1 : 0; \
}

#define GET_OMAP_SUBCLASS ((omap_rev() >> 20) & 0x0fff)

#define IS_OMAP_SUBCLASS(subclass, id)   \
static inline int is_omap ##subclass (void)  \
{       \
 return (GET_OMAP_SUBCLASS == (id)) ? 1 : 0; \
}

IS_OMAP_CLASS(15xx, 0x15)
IS_OMAP_CLASS(16xx, 0x16)

#define cpu_is_omap15xx()  0
#define cpu_is_omap16xx()  0

#if defined(MULTI_OMAP1)
if defined(CONFIG_ARCH_OMAP15XX)
#  undef  cpu_is_omap15xx
#  define cpu_is_omap15xx()  is_omap15xx()
endif
if defined(CONFIG_ARCH_OMAP16XX)
#  undef  cpu_is_omap16xx
#  define cpu_is_omap16xx()  is_omap16xx()
endif
#else
if defined(CONFIG_ARCH_OMAP15XX)
#  undef  cpu_is_omap15xx
#  define cpu_is_omap15xx()  1
endif
if defined(CONFIG_ARCH_OMAP16XX)
#  undef  cpu_is_omap16xx
#  define cpu_is_omap16xx()  1
endif
#endif

/*
 * Macros to detect individual cpu types.
 * These are only rarely needed.
 * cpu_is_omap310(): True for OMAP310
 * cpu_is_omap1510(): True for OMAP1510
 * cpu_is_omap1610(): True for OMAP1610
 * cpu_is_omap1611(): True for OMAP1611
 * cpu_is_omap5912(): True for OMAP5912
 * cpu_is_omap1621(): True for OMAP1621
 * cpu_is_omap1710(): True for OMAP1710
 */

#define GET_OMAP_TYPE ((omap_rev() >> 16) & 0xffff)

#define IS_OMAP_TYPE(type, id)    \
static inline int is_omap ##type (void)   \
{       \
 return (GET_OMAP_TYPE == (id)) ? 1 : 0;  \
}

IS_OMAP_TYPE(310, 0x0310)
IS_OMAP_TYPE(1510, 0x1510)
IS_OMAP_TYPE(1610, 0x1610)
IS_OMAP_TYPE(1611, 0x1611)
IS_OMAP_TYPE(5912, 0x1611)
IS_OMAP_TYPE(1621, 0x1621)
IS_OMAP_TYPE(1710, 0x1710)

#define cpu_is_omap310()  0
#define cpu_is_omap1510()  0
#define cpu_is_omap1610()  0
#define cpu_is_omap5912()  0
#define cpu_is_omap1611()  0
#define cpu_is_omap1621()  0
#define cpu_is_omap1710()  0

#define cpu_class_is_omap1()  1

/*
 * Whether we have MULTI_OMAP1 or not, we still need to distinguish
 * between 310 vs. 1510 and 1611B/5912 vs. 1710.
 */


#if defined(CONFIG_ARCH_OMAP15XX)
undef  cpu_is_omap310
undef  cpu_is_omap1510
define cpu_is_omap310()  is_omap310()
define cpu_is_omap1510()  is_omap1510()
#endif

#if defined(CONFIG_ARCH_OMAP16XX)
undef  cpu_is_omap1610
undef  cpu_is_omap1611
undef  cpu_is_omap5912
undef  cpu_is_omap1621
undef  cpu_is_omap1710
define cpu_is_omap1610()  is_omap1610()
define cpu_is_omap1611()  is_omap1611()
define cpu_is_omap5912()  is_omap5912()
define cpu_is_omap1621()  is_omap1621()
define cpu_is_omap1710()  is_omap1710()
#endif

#endif

Messung V0.5
C=96 H=100 G=97

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.