summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/powerpc/mpc55xx/include/mpc55xx.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libcpu/powerpc/mpc55xx/include/mpc55xx.h')
-rw-r--r--c/src/lib/libcpu/powerpc/mpc55xx/include/mpc55xx.h155
1 files changed, 0 insertions, 155 deletions
diff --git a/c/src/lib/libcpu/powerpc/mpc55xx/include/mpc55xx.h b/c/src/lib/libcpu/powerpc/mpc55xx/include/mpc55xx.h
deleted file mode 100644
index 634be30e18..0000000000
--- a/c/src/lib/libcpu/powerpc/mpc55xx/include/mpc55xx.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief Documentation for this file
- */
-
-/*
- * Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-/**
- * @defgroup mpc55xx BSP for MPC55xx boards
- */
-
-/**
- * @defgroup mpc55xx_config Configuration files
- *
- * @ingroup mpc55xx
- *
- * Makefiles, configure scripts etc.
- */
-
-/**
- * @page mpc55xx_ext_doc External Documentation
- *
- * @section mpc55xx_ext_doc_mpc5567rm_1 MPC5567 Microcontroller Reference Manual (Rev. 1, January 2007, Volume 1 of 2)
- * @section mpc55xx_ext_doc_mpc5567rm_2 MPC5567 Microcontroller Reference Manual (Rev. 1, January 2007, Volume 2 of 2)
- */
-
-#ifndef LIBCPU_POWERPC_MPC55XX_H
-#define LIBCPU_POWERPC_MPC55XX_H
-
-#include <mpc55xx/regs.h>
-#include <mpc55xx/regs-mmu.h>
-
-#include <libcpu/powerpc-utility.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-int mpc55xx_flash_copy(void *dest, const void *src, size_t nbytes);
-int mpc55xx_flash_copy_op(void *rdest, const void *src, size_t nbytes,
- uint32_t opmask, uint32_t *p_fail_addr);
-int mpc55xx_flash_size(uint32_t *p_size);
-int mpc55xx_flash_writable(void);
-uint32_t mpc55xx_flash_address(void);
-void mpc55xx_flash_set_read_only(void);
-void mpc55xx_flash_set_read_write(void);
-
-int mpc55xx_physical_address(const void *addr, uint32_t *p_result);
-int mpc55xx_mapped_address(const void *addr, uint32_t *p_result);
-
-/* Bits for opmask. */
-#define MPC55XX_FLASH_BLANK_CHECK 0x01
-#define MPC55XX_FLASH_UNLOCK 0x02
-#define MPC55XX_FLASH_ERASE 0x04
-#define MPC55XX_FLASH_PROGRAM 0x08
-#define MPC55XX_FLASH_VERIFY 0x10
-
-/* Error returns. CONFIG or SIZE might mean you just
- * need to check for new configuration bits.
- * SIZE and RANGE mean you are outside of a known flash region.
- * ERASE means the erase failed,
- * PROGRAM means the program failed,
- * BLANK means it wasn't blank and BLANK_CHECK was specified,
- * VERIFY means VERIFY was set and it didn't match the source,
- * and LOCK means either the locking failed or you needed to
- * specify MPC55XX_FLASH_UNLOCK and didn't.
- */
-#define MPC55XX_FLASH_CONFIG_ERR (-1)
-#define MPC55XX_FLASH_SIZE_ERR (-2)
-#define MPC55XX_FLASH_RANGE_ERR (-3)
-#define MPC55XX_FLASH_ERASE_ERR (-4)
-#define MPC55XX_FLASH_PROGRAM_ERR (-5)
-#define MPC55XX_FLASH_NOT_BLANK_ERR (-6)
-#define MPC55XX_FLASH_VERIFY_ERR (-7)
-#define MPC55XX_FLASH_LOCK_ERR (-8)
-
-#define MPC55XX_CACHE_ALIGNED_MASK ((uintptr_t) 0x1f)
-
-#define MPC55XX_CACHE_LINE_SIZE 32
-
-/**
- * @brief Returns true if the buffer starting at @a s of size @a n is cache aligned.
- */
-static inline int mpc55xx_is_cache_aligned( const void *s, size_t n)
-{
- return !(((uintptr_t) s & MPC55XX_CACHE_ALIGNED_MASK) || (n & MPC55XX_CACHE_ALIGNED_MASK));
-}
-
-static inline uintptr_t mpc55xx_cache_aligned_start( const void *s)
-{
- return ((uintptr_t) s & MPC55XX_CACHE_ALIGNED_MASK) ? (((uintptr_t) s & ~MPC55XX_CACHE_ALIGNED_MASK) + MPC55XX_CACHE_LINE_SIZE) : (uintptr_t)s;
-}
-
-static inline size_t mpc55xx_non_cache_aligned_size( const void *s)
-{
- return (uintptr_t) mpc55xx_cache_aligned_start( s) - (uintptr_t) s;
-}
-
-static inline size_t mpc55xx_cache_aligned_size( const void *s, size_t n)
-{
- return (n - mpc55xx_non_cache_aligned_size( s)) & ~MPC55XX_CACHE_ALIGNED_MASK;
-}
-
-/**
- * @brief Returns the number of leading zeros.
- */
-static inline uint32_t mpc55xx_count_leading_zeros( uint32_t value)
-{
- uint32_t count;
- __asm__ (
- "cntlzw %0, %1;"
- : "=r" (count)
- : "r" (value)
- );
- return count;
-}
-
-static inline void mpc55xx_wait_for_interrupt(void)
-{
- #ifdef MPC55XX_HAS_WAIT_INSTRUCTION
- __asm__ volatile ("wait");
- #else
- __asm__ volatile ("");
- #endif
-}
-
-static inline void mpc55xx_mmu_apply_config(const struct MMU_tag *config)
-{
- PPC_SET_SPECIAL_PURPOSE_REGISTER(FSL_EIS_MAS0, config->MAS0.R);
- PPC_SET_SPECIAL_PURPOSE_REGISTER(FSL_EIS_MAS1, config->MAS1.R);
- PPC_SET_SPECIAL_PURPOSE_REGISTER(FSL_EIS_MAS2, config->MAS2.R);
- PPC_SET_SPECIAL_PURPOSE_REGISTER(FSL_EIS_MAS3, config->MAS3.R);
- __asm__ volatile ("tlbwe");
-}
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* LIBCPU_POWERPC_MPC55XX_H */