source: rtems/c/src/libchip/i2c/spi-memdrv.h @ 74172b7d

5
Last change on this file since 74172b7d was c499856, checked in by Chris Johns <chrisj@…>, on 03/20/14 at 21:10:47

Change all references of rtems.com to rtems.org.

  • Property mode set to 100644
File size: 4.5 KB
Line 
1/*===============================================================*\
2| Project: SPI driver for spi memory devices                      |
3+-----------------------------------------------------------------+
4|                    Copyright (c) 2008                           |
5|                    Embedded Brains GmbH                         |
6|                    Obere Lagerstr. 30                           |
7|                    D-82178 Puchheim                             |
8|                    Germany                                      |
9|                    rtems@embedded-brains.de                     |
10+-----------------------------------------------------------------+
11| The license and distribution terms for this file may be         |
12| found in the file LICENSE in this distribution or at            |
13|                                                                 |
14| http://www.rtems.org/license/LICENSE.                           |
15|                                                                 |
16+-----------------------------------------------------------------+
17\*===============================================================*/
18
19
20#ifndef _LIBCHIP_SPI_MEMDRV_H
21#define _LIBCHIP_SPI_MEMDRV_H
22
23#include <rtems/libi2c.h>
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29/*=========================================================================*\
30| Function:                                                                 |
31\*-------------------------------------------------------------------------*/
32rtems_status_code spi_memdrv_write
33(
34/*-------------------------------------------------------------------------*\
35| Purpose:                                                                  |
36|   write a block of data to memory                                         |
37+---------------------------------------------------------------------------+
38| Input Parameters:                                                         |
39\*-------------------------------------------------------------------------*/
40 rtems_device_major_number major,        /* major device number            */
41 rtems_device_major_number minor,        /* minor device number            */
42 void                      *arg          /* ptr to write argument struct   */
43 );
44/*-------------------------------------------------------------------------*\
45| Return Value:                                                             |
46|    o = ok or error code                                                   |
47\*=========================================================================*/
48
49/*=========================================================================*\
50| Function:                                                                 |
51\*-------------------------------------------------------------------------*/
52rtems_status_code spi_memdrv_read
53(
54/*-------------------------------------------------------------------------*\
55| Purpose:                                                                  |
56|   read a block of data from memory                                        |
57+---------------------------------------------------------------------------+
58| Input Parameters:                                                         |
59\*-------------------------------------------------------------------------*/
60 rtems_device_major_number major,        /* major device number            */
61 rtems_device_major_number minor,        /* minor device number            */
62 void                      *arg          /* ptr to read argument struct    */
63 );
64/*-------------------------------------------------------------------------*\
65| Return Value:                                                             |
66|    o = ok or error code                                                   |
67\*=========================================================================*/
68
69  typedef struct {
70    uint32_t baudrate;           /* tfr rate, bits per second     */
71    bool     erase_before_program;
72    uint32_t empty_state;        /* value of erased cells         */
73    uint32_t page_size;          /* programming page size in byte */
74    uint32_t sector_size;        /* erase sector size in byte     */
75    uint32_t mem_size;           /* total capacity in byte        */
76  } spi_memdrv_param_t;
77
78  typedef struct {
79    rtems_libi2c_drv_t  libi2c_drv_entry;  /* general i2c/spi params */
80    spi_memdrv_param_t  spi_memdrv_param;  /* private parameters     */
81  } spi_memdrv_t;
82
83  extern rtems_driver_address_table spi_memdrv_rw_ops;
84  extern rtems_driver_address_table spi_memdrv_ro_ops;
85
86#ifdef __cplusplus
87}
88#endif
89
90#endif /* _LIBCHIP_SPI_MEMDRV_H */
Note: See TracBrowser for help on using the repository browser.