summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/gen83xx/spi/spi_init.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/lib/libbsp/powerpc/gen83xx/spi/spi_init.c
parent2008-05-14 Till Straumann <strauman@slac.stanford.edu> (diff)
downloadrtems-42bf1b9f13d9269d9a98de4bdc1a11365865ef42.tar.bz2
adapted gen83xx to new board
Diffstat (limited to '')
-rw-r--r--c/src/lib/libbsp/powerpc/gen83xx/spi/spi_init.c27
1 files changed, 23 insertions, 4 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen83xx/spi/spi_init.c b/c/src/lib/libbsp/powerpc/gen83xx/spi/spi_init.c
index f49ae95b6b..8fddc2b680 100644
--- a/c/src/lib/libbsp/powerpc/gen83xx/spi/spi_init.c
+++ b/c/src/lib/libbsp/powerpc/gen83xx/spi/spi_init.c
@@ -21,9 +21,11 @@
#include <bsp/irq.h>
#include <bsp.h>
#if defined(MPC8349EAMDS)
-#include <libchip/i2c-2b-eeprom.h>
#include <libchip/spi-flash-m25p40.h>
#endif
+#if defined(HSC_CM01)
+#include <libchip/spi-fram-fm25l256.h>
+#endif
/*=========================================================================*\
| Board-specific adaptation functions |
@@ -189,7 +191,8 @@ static mpc83xx_spi_desc_t bsp_spi_bus_desc = {
{ /* our private fields */
reg_ptr: &mpc83xx.spi,
initialized: FALSE,
- irq_number: BSP_IPIC_IRQ_SPI
+ irq_number: BSP_IPIC_IRQ_SPI,
+ base_frq : 0 /* filled in during init */
}
};
@@ -248,6 +251,11 @@ rtems_status_code bsp_register_spi
mpc83xx.gpio[0].gpdr &= ~(0xf << (31-27));
#endif
/*
+ * update base frequency in spi descriptor
+ */
+ bsp_spi_bus_desc.softc.base_frq = BSP_bus_frequency;
+
+ /*
* register SPI bus
*/
ret_code = rtems_libi2c_register_bus("/dev/spi",
@@ -256,10 +264,10 @@ rtems_status_code bsp_register_spi
return -ret_code;
}
spi_busno = ret_code;
+#if defined(MPC8349EAMDS)
/*
- * register M25P40 Flash, when available
+ * register M25P40 Flash
*/
-#if defined(MPC8349EAMDS)
ret_code = rtems_libi2c_register_drv(RTEMS_BSP_SPI_FLASH_DEVICE_NAME,
spi_flash_m25p40_rw_driver_descriptor,
spi_busno,0x00);
@@ -267,6 +275,17 @@ rtems_status_code bsp_register_spi
return -ret_code;
}
#endif
+#if defined(HSC_CM01)
+ /*
+ * register FM25L256 FRAM
+ */
+ ret_code = rtems_libi2c_register_drv(RTEMS_BSP_SPI_FRAM_DEVICE_NAME,
+ spi_fram_fm25l256_rw_driver_descriptor,
+ spi_busno,0x02);
+ if (ret_code < 0) {
+ return -ret_code;
+ }
+#endif
/*
* FIXME: further drivers, when available
*/