Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/rust/icu_provider_macros/src/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 13 kB image not shown  

Quelle  omap1-soc.h   Sprache: unbekannt

 
/* 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

[ zur Elbe Produktseite wechseln0.9Quellennavigators  Analyse erneut starten  ]