forked from Imagelibrary/rtems
159 lines
8.0 KiB
C
159 lines
8.0 KiB
C
/*===============================================================*\
|
||
| Project: RTEMS generic MPC5200 BSP |
|
||
+-----------------------------------------------------------------+
|
||
| File: nvram.h
|
||
+-----------------------------------------------------------------+
|
||
| Partially based on the code references which are named below. |
|
||
| Adaptions, modifications, enhancements and any recent parts of |
|
||
| the code are: |
|
||
| Copyright (c) 2005 |
|
||
| Embedded Brains GmbH |
|
||
| Obere Lagerstr. 30 |
|
||
| D-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.com/license/LICENSE. |
|
||
| |
|
||
+-----------------------------------------------------------------+
|
||
| this file contains the nvram declarations |
|
||
+-----------------------------------------------------------------+
|
||
| date history ID |
|
||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
||
| 01.12.05 creation doe |
|
||
|*****************************************************************|
|
||
|*CVS information: |
|
||
|*(the following information is created automatically, |
|
||
|*do not edit here) |
|
||
|*****************************************************************|
|
||
|* $Log$
|
||
|* Revision 1.3 2005/12/09 08:57:03 thomas
|
||
|* added/modifed file headers
|
||
|*
|
||
*
|
||
|*****************************************************************|
|
||
\*===============================================================*/
|
||
/***********************************************************************/
|
||
/* */
|
||
/* Module: nvram.h */
|
||
/* Date: 07/17/2003 */
|
||
/* Purpose: RTEMS M93C64-based header file */
|
||
/* */
|
||
/*---------------------------------------------------------------------*/
|
||
/* */
|
||
/* Description: M93C46 is a serial microwire EEPROM which contains */
|
||
/* 1Kbit (128 bytes/64 words) of non-volatile memory. */
|
||
/* The device can be configured for byte- or word- */
|
||
/* access. The driver provides a file-like interface */
|
||
/* to this memory. */
|
||
/* */
|
||
/* MPC5x00 PIN settings: */
|
||
/* */
|
||
/* PSC3_6 (output) -> MC93C46 serial data in (D) */
|
||
/* PSC3_7 (input) -> MC93C46 serial data out (Q) */
|
||
/* PSC3_8 (output) -> MC93C46 chip select input (S) */
|
||
/* PSC3_9 (output) -> MC93C46 serial clock (C) */
|
||
/* */
|
||
/*---------------------------------------------------------------------*/
|
||
/* */
|
||
/* Code */
|
||
/* References: DS1307-based Non-Volatile memory device driver */
|
||
/* Module: nvram.h */
|
||
/* Project: RTEMS 4.6.0pre1 / MCF5206Elite BSP */
|
||
/* Version 1.1 */
|
||
/* Date: 10/26/2001 */
|
||
/* Author: Victor V. Vengerov */
|
||
/* Copyright: Copyright (C) 2000 OKTET Ltd.,St.-Petersburg,Russia */
|
||
/* */
|
||
/* The license and distribution terms for this file may be */
|
||
/* found in the file LICENSE in this distribution or at */
|
||
/* http://www.OARcorp.com/rtems/license.html. */
|
||
/* */
|
||
/*---------------------------------------------------------------------*/
|
||
/* */
|
||
/* Partially based on the code references which are named above. */
|
||
/* Adaptions, modifications, enhancements and any recent parts of */
|
||
/* the code are under the right of */
|
||
/* */
|
||
/* IPR Engineering, Dachauer Stra<72>e 38, D-80335 M<>nchen */
|
||
/* Copyright(C) 2003 */
|
||
/* */
|
||
/*---------------------------------------------------------------------*/
|
||
/* */
|
||
/* IPR Engineering makes no representation or warranties with */
|
||
/* respect to the performance of this computer program, and */
|
||
/* specifically disclaims any responsibility for any damages, */
|
||
/* special or consequential, connected with the use of this program. */
|
||
/* */
|
||
/*---------------------------------------------------------------------*/
|
||
/* */
|
||
/* Version history: 1.0 */
|
||
/* */
|
||
/***********************************************************************/
|
||
|
||
#ifndef __NVRAM_H__
|
||
#define __NVRAM_H__
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
/* include "../include/bsp.h" */
|
||
#include "../include/bsp.h"
|
||
|
||
/* Macros for TBL read access */
|
||
#define TBL_READ(count) __asm__ volatile ("mftb %0\n" : "=r" (count) : "0" (count))
|
||
#define TMBASE_CLOCK (G2_CLOCK/4)
|
||
|
||
/* Simple usec delay function prototype */
|
||
void wait_usec(unsigned long);
|
||
|
||
/* nvram_driver_initialize --
|
||
* Non-volatile memory device driver initialization.
|
||
*/
|
||
rtems_device_driver
|
||
nvram_driver_initialize(rtems_device_major_number major,
|
||
rtems_device_minor_number minor,
|
||
void *arg);
|
||
|
||
/* nvram_driver_open --
|
||
* Non-volatile memory device driver open primitive.
|
||
*/
|
||
rtems_device_driver
|
||
nvram_driver_open(rtems_device_major_number major,
|
||
rtems_device_minor_number minor,
|
||
void *arg);
|
||
|
||
/* nvram_driver_close --
|
||
* Non-volatile memory device driver close primitive.
|
||
*/
|
||
rtems_device_driver
|
||
nvram_driver_close(rtems_device_major_number major,
|
||
rtems_device_minor_number minor,
|
||
void *arg);
|
||
|
||
/* nvram_driver_read --
|
||
* Non-volatile memory device driver read primitive.
|
||
*/
|
||
rtems_device_driver
|
||
nvram_driver_read(rtems_device_major_number major,
|
||
rtems_device_minor_number minor,
|
||
void *arg);
|
||
|
||
/* nvram_driver_write --
|
||
* Non-volatile memory device driver write primitive.
|
||
*/
|
||
rtems_device_driver
|
||
nvram_driver_write(rtems_device_major_number major,
|
||
rtems_device_minor_number minor,
|
||
void *arg);
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif /* __NVRAM_H__ */
|