summaryrefslogtreecommitdiffstats
path: root/c/src/libchip/i2c/spi-fram-fm25l256.c
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2008-05-15 15:10:38 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2008-05-15 15:10:38 +0000
commit42bf1b9f13d9269d9a98de4bdc1a11365865ef42 (patch)
treeb0ea837f63ea5ac5d6d04473f492d6329a3ee450 /c/src/libchip/i2c/spi-fram-fm25l256.c
parent2008-05-14 Till Straumann <strauman@slac.stanford.edu> (diff)
downloadrtems-42bf1b9f13d9269d9a98de4bdc1a11365865ef42.tar.bz2
adapted gen83xx to new board
Diffstat (limited to 'c/src/libchip/i2c/spi-fram-fm25l256.c')
-rw-r--r--c/src/libchip/i2c/spi-fram-fm25l256.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/c/src/libchip/i2c/spi-fram-fm25l256.c b/c/src/libchip/i2c/spi-fram-fm25l256.c
new file mode 100644
index 0000000000..b09e97154b
--- /dev/null
+++ b/c/src/libchip/i2c/spi-fram-fm25l256.c
@@ -0,0 +1,60 @@
+/*===============================================================*\
+| Project: SPI driver for FM25L256 like spi fram device |
++-----------------------------------------------------------------+
+| Copyright (c) 2008 |
+| 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. |
+| |
++-----------------------------------------------------------------+
+\*===============================================================*/
+
+#include <rtems.h>
+#include <rtems/libi2c.h>
+
+#include <libchip/spi-fram-fm25l256.h>
+#include <rtems/libio.h>
+
+
+static spi_memdrv_t spi_fram_fm25l256_rw_drv_t = {
+ {/* public fields */
+ ops: &spi_memdrv_rw_ops, /* operations of general memdrv */
+ size: sizeof (spi_fram_fm25l256_rw_drv_t),
+ },
+ { /* our private fields */
+ baudrate: 2000000,
+ erase_before_program: FALSE,
+ empty_state: 0xff,
+ page_size: 32*1024, /* programming page size in byte */
+ sector_size: 1, /* erase sector size in byte */
+ mem_size: 32*1024 /* total capacity in byte */
+ }
+};
+
+rtems_libi2c_drv_t *spi_fram_fm25l256_rw_driver_descriptor =
+&spi_fram_fm25l256_rw_drv_t.libi2c_drv_entry;
+
+static spi_memdrv_t spi_fram_fm25l256_ro_drv_t = {
+ {/* public fields */
+ ops: &spi_memdrv_ro_ops, /* operations of general memdrv */
+ size: sizeof (spi_fram_fm25l256_ro_drv_t),
+ },
+ { /* our private fields */
+ baudrate: 2000000,
+ erase_before_program: FALSE,
+ empty_state: 0xff,
+ page_size: 32*1024, /* programming page size in byte */
+ sector_size: 1, /* erase sector size in byte */
+ mem_size: 32*1024 /* total capacity in byte */
+ }
+};
+
+rtems_libi2c_drv_t *spi_fram_fm25l256_ro_driver_descriptor =
+&spi_fram_fm25l256_ro_drv_t.libi2c_drv_entry;